Commit Graph

291 Commits

Author SHA1 Message Date
Aruki 9928a599be Initial work towards making the World Editor the main application window 2017-02-11 18:35:33 -07:00
Aruki 568cd67994 Node rotation/scale now transforms correctly around the pivot point 2017-02-10 23:55:07 -07:00
Aruki 882973d9d5 Improved error handling and reporting when loading/saving project files; added file lock class to prevent the same project from being opened in multiple PWE instances 2017-02-10 14:52:47 -07:00
Aruki 6d77604667 Added shader sharing mechanism; added "cook all dirty packages" button; other various tweaks and fixes 2017-02-09 10:54:38 -07:00
Aruki 9b6376af68 Fixed asset name map conflict checks to be case-insensitive, new icons for export dialog disc filesystem tree, regenerated asset names 2017-02-08 12:40:09 -07:00
Aruki a7b0a2480c Reimplemented save & repack button to work in the project system 2017-02-08 11:20:33 -07:00
Aruki 1b97cd459a Reworked area saving to work with the project system; lots of bug fixes 2017-02-08 00:05:59 -07:00
Aruki b3a0e52b6f Fixed crash after generating asset names, added MP2 auto-generated names to the map 2017-02-06 15:10:54 -07:00
Aruki eca833cf89 Changed game exporter to export from a full disc image using nod instead of a pre-extracted disc filesystem; also fixed issue with tabbing in/out with a file dialog open, and fixed a memory leak in CAnimSet 2017-02-06 09:20:18 -07:00
Aruki fbdf9023d1 Upgraded to VS2015 64-bit compiler 2017-02-04 09:36:37 -07:00
Aruki 7f9bed653b Added type filtering to the resource browser 2017-02-02 21:20:54 -07:00
Aruki c53352c290 Implemented "find" button on resource selector widget 2017-02-01 21:01:14 -07:00
Aruki 548fcb2f8e Modified resource browser to use a filesystem browser view 2017-02-01 20:23:51 -07:00
Aruki c51d79cc42 Added "edit" button to resource selector context menu 2017-02-01 10:54:53 -07:00
Aruki 4e8ecdb79c Created new resource selector widget class 2017-02-01 08:43:42 -07:00
Aruki 8a66e393e7 Added CResTypeInfo class 2017-01-31 21:56:53 -07:00
Aruki 4f03c2431e Added editor game info system, exporter now fetches game build version, merged asset name maps for all games, resource browser can now import/export names to/from a map XML, reworked asset name generation to more closely match Retro's organization scheme, bug fixes 2017-01-31 11:23:28 -07:00
Aruki 5ac292ebc5 Made search bar in resource browser feel more responsive 2017-01-29 08:01:33 -07:00
parax0 678ca01fb1 Merge branch 'master' into ContentExporting 2017-01-29 07:33:14 -07:00
parax0 57c2830b04 Fixes for standable collision tris visualization in Metroid Prime 3 2017-01-29 05:01:41 -07:00
parax0 9654cf1428 Merge branches 'CollisionRendering' and 'release' 2017-01-16 01:31:25 -07:00
parax0 7cc8e2a0c9 Updated version number for public release 2017-01-16 01:02:03 -07:00
parax0 c62a01e4d9 Added a couple more collision view features; set up a proper UI for changing collision render settings 2017-01-14 10:32:41 -07:00
parax0 a2762e034e Lots of collision surface color tweaking 2017-01-11 08:30:40 -07:00
parax0 08dee84367 Set up game-neutral collision materials; Jump Not Allowed flag now flags that surface as unstandable; other minor fixes 2017-01-11 06:29:30 -07:00
parax0 be40dfdf02 Added a basic UI to change collision render settings, added the ability to color collision based on the surface type 2016-12-26 23:02:32 -07:00
parax0 78baa42bce Added fog to the collision shader, made changes to enable rendering different collision materials separately (also, murry crimmas) 2016-12-25 14:47:59 -07:00
parax0 c0fb54888d Rewrote collision shader to use generated normals with fake lighting instead of generated UV coords 2016-12-24 03:05:51 -07:00
parax0 712e545c7b Fixed editor viewport rendering black when opening multiple editor windows at the same time 2016-12-24 02:11:25 -07:00
parax0 d96a3c2af7 Added functionality to import filenames from .pak.contents.txt files 2016-12-24 00:47:45 -07:00
parax0 ed446ccbec Removed audio groups array from CWorld 2016-12-12 01:45:19 -07:00
parax0 2e44e5b119 Added functionality to generate asset names 2016-12-12 01:33:46 -07:00
parax0 efa85036c2 Added basic support for tracking DUMB dependencies 2016-12-03 14:32:41 -07:00
parax0 f6fd78af14 Lots of work to get MP2 repacking functional 2016-11-07 03:07:00 -07:00
parax0 040caca896 Added support for loading meta-animations and meta-transitions (yay! animation exclusion doesn't crash anymore!) 2016-10-27 07:18:59 -06:00
parax0 595e4b931e Moved animation-related classes to their own subfolder 2016-10-26 18:12:08 -06:00
parax0 3942c09e89 Added support for omitting unused animations from paks (needs work to not crash) 2016-10-26 06:15:08 -06:00
parax0 a18655da00 Added support for tracking event character indices in the dependency tree 2016-10-21 18:16:57 -06:00
parax0 10c87779b3 Added support for tracking AGSC dependencies 2016-09-16 02:47:46 -06:00
parax0 2e1add84be Added support for sound properties, labelled most MP1 sound properties 2016-09-01 18:02:26 -06:00
parax0 0929b20ba1 Renamed file properties to asset properties and modified asset properties to store a CAssetID instead of a CResourceInfo 2016-09-01 00:24:46 -06:00
parax0 f6ae1376ac Added functionality to determine what AGSC a sound ID belongs to 2016-08-31 19:42:12 -06:00
parax0 1f357b4250 Fixed crash occurring when closing the world editor 2016-08-31 02:53:48 -06:00
parax0 a7b381f301 Made a bunch of changes to make the resource store system more friendly to multiple stores instead of just a single active one, and set up a resource database for editor assets 2016-08-31 02:09:13 -06:00
parax0 1de2691f33 Enabled MSAA 2016-08-30 19:05:28 -06:00
parax0 4fd3e9c437 Skip viewport render if editor window is minimized (probably more fixes that can be applied similar to this) 2016-08-30 01:09:54 -06:00
parax0 3f3735ac7a Created application class to manage editor windows, improved camera AABox orbit 2016-08-30 00:47:02 -06:00
parax0 d263610d43 Added ability to double click a resource in the resource browser to open it for editing 2016-08-28 04:07:17 -06:00
parax0 20bddd5ed7 Modified all editor file formats to use the serialization system; changed dependency caching so all resource cache data is in one file 2016-08-26 19:33:33 -06:00
parax0 3dc0d71403 Implemented binary serializer classes 2016-08-23 20:42:05 -06:00
parax0 9a243f94ac Heavily modified the dependency tree system and applied other various fixes and updates to work towards supporting Echoes package cooking 2016-08-19 02:13:02 -06:00
parax0 881bb28d84 Added support for loading all dependencies of MP2 ANCS, FRME, and SCAN 2016-08-16 03:00:31 -06:00
parax0 bc35e15a6a Added support for parsing MP2 particles 2016-08-15 00:40:13 -06:00
parax0 8f2b39469a Added versioning support to the serializer; began restructuring CWorld and getting world cooking/serialization working for other games; gave CAssetID an alternate input stream constructor that takes an EGame instead of an EIDLength 2016-08-14 04:56:51 -06:00
parax0 a914736172 Added rel/rso module dependencies to the script template format 2016-08-13 23:57:41 -06:00
parax0 74574c318e Moved EGame to Common 2016-08-13 01:43:55 -06:00
parax0 de18044ae0 Fixed some missed dependencies in a few formats and implemented support for building file lists for paks and MLVLs, and implemented support for package cooking for MP1 2016-08-12 04:27:19 -06:00
parax0 0f2c0d5b39 Implemented serialization support and initial support for raw resource formats 2016-08-09 21:58:27 -06:00
parax0 b582e7208e Finished dependency gathering support for MREA and MLVL 2016-08-09 21:36:41 -06:00
parax0 3bca8410b0 Added support for gathering dependencies of ANCS and FRME; changed CDependencyGroup to use a vector instead of a set 2016-08-03 13:01:48 -06:00
parax0 11a7b86120 Added support for loading dependencies of EVNT and STRG 2016-07-27 03:24:15 -06:00
parax0 7f2cac6216 Added support for loading dependencies of CSNG, HINT, MAPW, and MAPU 2016-07-27 01:47:47 -06:00
parax0 1a0aed95ec Added unsupported format loader with support for particle formats and RULE; overhauled CFourCC implementation 2016-07-26 16:12:07 -06:00
parax0 5f1b5da430 Renamed CUniqueID to CAssetID and heavily modified the implementation to drop 128-bit support and use a u64 internally instead of a u8[16] 2016-07-25 03:25:22 -06:00
parax0 9341c11ac8 Added dependency tree system, methods for generating dependency trees from resources, and saving/loading dependency trees to the project cache folder 2016-07-25 02:12:30 -06:00
parax0 c1405bfac1 Applied some minor optimizations to the resource browser and right-aligned the file size column 2016-07-12 04:49:56 -06:00
parax0 6f98ae5bb8 Implemented initial version of resource browser 2016-07-10 06:58:23 -06:00
parax0 08dcfe5e5a Added project overview dialog with placeholder UI to allow loading worlds through a game project 2016-07-08 01:10:07 -06:00
parax0 12bd4eff90 Added support for saving/loading game projects 2016-07-05 20:09:21 -06:00
parax0 f55b3666a0 Added support for saving/loading package definitions 2016-07-05 01:45:42 -06:00
parax0 24c5ad5cd7 Applied a bunch of fixes to get the current game exporter functionality working with the resource store system 2016-07-04 20:28:17 -06:00
parax0 2f2ec13ced Fixed CHAR files failing to load 2016-06-29 23:23:49 -06:00
parax0 f967519a77 Fixed unnecessary ray tests being performed 2016-06-29 23:20:34 -06:00
parax0 2d6dfad2d3 Completely overhauled resource loading in preparation for projects 2016-06-29 17:18:31 -06:00
parax0 8293f1d206 Initial implementation of world/area exports, added support for asset lists to specify a path/name for resources 2016-06-05 01:57:31 -06:00
parax0 f15aca3f99 Initial implementation of resource database (mainly creation and read/write), and added resource registration system with a registrant for every format from every game 2016-05-31 00:45:30 -06:00
parax0 5f2064178c Began initial implementation of the game exporter and game project classes 2016-05-22 00:58:52 -06:00
parax0 3009f06d11 Implemented filesystem handling functions in Common 2016-05-18 20:59:01 -06:00
parax0 da5676d25b Enable public release mode for release branch 2016-05-03 14:26:14 -06:00
parax0 b362a23e4b Added button icons to the character editor 2016-05-03 14:23:55 -06:00
parax0 7423cdce42 Fixed edit link line being drawn at the wrong depth 2016-05-03 05:15:47 -06:00
parax0 f64ee6b3b7 A model's surfaces are now depth sorted together (except on world geometry) 2016-05-03 05:05:10 -06:00
parax0 af59009b56 Minor bugfixes in world/character editors 2016-05-03 03:18:42 -06:00
parax0 57451e231d Fixed damageable triggers rendering the wrong side in rotated areas 2016-05-03 03:13:21 -06:00
parax0 ab38205611 Added some application-wide macros, set up various parts of the editor to reference the application name via macro instead of hardcoded to a specific string 2016-05-03 00:42:55 -06:00
parax0 2db740e572 Added a bunch of new options and tools to the character editor 2016-05-02 05:23:16 -06:00
parax0 7880dd34f4 Added keyboard shortcuts for play/prev anim/next anim to character editor 2016-05-02 00:36:11 -06:00
parax0 709087d2fe Added support for bone selection in the character editor 2016-05-01 21:01:15 -06:00
parax0 ed16d05136 Added skeleton hierarchy tree view to the character editor 2016-05-01 20:00:35 -06:00
parax0 ce688fcb8e Applied various fixes to the attachment system, made skeleton rendering more flexible, added the ability for attachments to specify an attach type 2016-05-01 17:32:55 -06:00
parax0 07609cfa14 Made a fix to CQuaternion::Slerp to fix animation jitteriness 2016-05-01 05:02:36 -06:00
parax0 cf84f9909a Added support for attaching assets from properties to locator bones in the World Editor 2016-04-30 06:17:02 -06:00
parax0 2655f9d3fd Read in bone rotation on Echoes CINFs 2016-04-29 23:52:51 -06:00
parax0 18e9eebb8d Fixed crash when loading uncompressed MP2 animations 2016-04-29 23:17:52 -06:00
parax0 3a5b63c484 Fixed incorrect scale decoding on compressed animations 2016-04-29 19:08:32 -06:00
parax0 420f483b56 Cache shader uniform locations instead of looking them up every frame (1-2 fps boost yay?) 2016-04-29 15:59:26 -06:00
parax0 e781908205 Fixed child bones inheriting scale from their parent, fixed null weights on CSkin being incorrect, fixed uncompressed animations being read incorrectly 2016-04-29 15:58:50 -06:00
parax0 82f037c69e Added support for Echoes animation formats 2016-04-28 05:10:49 -06:00
parax0 7f3929d4ca Fixed grid drawing at incorrect depth, fixed MP2 areas not loading correctly with the AnimSet loader changes 2016-04-28 00:44:50 -06:00
parax0 c4268746f2 Fixed skeleton raycasting using the incorrect bone position + renamed a variable 2016-04-27 23:55:41 -06:00