Commit Graph

318 Commits

Author SHA1 Message Date
Aruki e112c93498 Switch to using forward slashes in file paths 2017-05-05 14:06:42 -06:00
Aruki fc29370427 Switch CStringTable over to using UTF-8 internally 2017-05-04 15:58:06 -06:00
Aruki e950634db2 Switch over to using TString to represent filesystem paths instead of TWideString. Fixed FileUtil not handling UTF-8 paths with Unicode characters correctly. 2017-05-04 15:43:25 -06:00
Aruki bdf0d188c3 Integrated FileIO as part of Common instead of a separate subproject 2017-05-04 12:18:52 -06:00
Aruki 336744ed49 Split asset name map into separate 32-bit and 64-bit files (necessary to avoid name conflict errors) 2017-05-04 01:14:51 -06:00
Aruki 9d6798b7ae Fixed up MP3 asset name generation, implemented a bunch of extra checks and safeguards to ensure asset names/directories are valid 2017-05-03 03:07:34 -06:00
Aruki 3fc35b7c09 Fixed log spam while exporting MP3 + fixed world asset name being generated incorrectly 2017-04-30 23:45:56 -06:00
Aruki 88c11555c0 Added support for CHAR, SAND, and SCAN dependencies in MP3 2017-04-30 22:28:37 -06:00
Aruki 11ccd23baf Removed zlib and LZO from the Common/Math pro files 2017-03-31 23:49:40 -06:00
Aruki 15f0b9338c Moved CompressionUtil to Core (to keep zlib/LZO dependencies out of Common and Math) 2017-03-31 23:42:41 -06:00
Aruki e138cd7035 Removed dependencies on GLM 2017-03-31 23:33:11 -06:00
Aruki cd8f4147c2 Added a couple new utility/convenience functions in FileIO and Math 2017-03-30 01:25:50 -06:00
Aruki 98cd617b3e Added support for loading Corruption particle dependencies 2017-03-01 00:52:25 -07:00
Aruki ac2430e61c Minor fixes/adjustments 2017-02-21 00:09:03 -07:00
Aruki d350e983d9 Updated POI map sidebar icon, fixed minor spacing issue in the world info sidebar 2017-02-20 23:40:19 -07:00
Aruki e89d44f7a7 Moved POI mapping dialog to be a sidebar instead, fixed standable collision visualization in MP2/3 2017-02-20 16:02:05 -07:00
Aruki a88afe31e3 Added support for CAUD dependencies, dropped redundant asset ID in dependency trees, various MP3 fixes 2017-02-20 03:42:04 -07:00
Aruki 5485d42b56 Bunch of fixes to get MP3 exports working on a basic level; lots of fixes still needed 2017-02-18 19:41:39 -07:00
Aruki 68840e69f9 Changed over to new FOURCC macro 2017-02-17 22:38:25 -07:00
Aruki 423613c1c1 Added 16x16 World icon, remove recent projects that no longer exist 2017-02-17 18:04:06 -07:00
Aruki bdb753dca2 Added project settings dialog; added build name lookup functionality 2017-02-15 01:00:48 -07:00
Aruki 3697401ebb Dropped support for resource collections in package definitions 2017-02-14 19:20:22 -07:00
Aruki c5de322ac7 Fixed various bugs and crashes and moved more functionality into the world editor 2017-02-13 13:44:02 -07:00
Aruki 00a48e69f8 Added world/area info sections to the world info sidebar 2017-02-12 23:46:22 -07:00
Aruki 009c42f281 Moved edit mode buttons onto a toolbar, fixed a couple bugs 2017-02-12 14:19:51 -07:00
Aruki 4d87ef0312 Added functionality to change edit mode, made resource browser accessible from the world editor 2017-02-12 10:41:13 -07:00
Aruki ce0c544168 Added new WIP UI to the world editor for loading worlds/areas 2017-02-12 00:34:04 -07:00
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