Commit Graph
100 Commits
Author SHA1 Message Date
Jan db08cf5ebc ZoneLoading: Fix InsertPointer not increasing the buffer position by the size of the pointer 2019-12-23 17:02:22 +01:00
Jan 236108e5fb ZoneCodeGenerator: Add ability to split loading of a structure due to a dynamic member 2019-12-22 23:33:00 +01:00
Jan 0db6f90980 ZoneCodeGenerator: Add computations to check for dynamic array sizes and partially loaded structures 2019-12-22 16:16:21 +01:00
Jan ec8c00a4b9 ZoneCodeGenerator: Make setting a dynamic array size only possible if the targeted member is the last entry of its structure 2019-12-22 16:15:45 +01:00
Jan 57ef79692a ZoneCodeGenerator: Add precompiler support for ifdef so a namespace can be defined in the t6_assets header for compiling in ZoneCommon without display errors 2019-12-21 16:37:57 +01:00
Jan c8a2bec12b ZoneCodeGenerator: Fix commands for GfxImage 2019-12-21 13:16:17 +01:00
Jan f3c9e6053f ZoneCodeGenerator: Fix not finalizing DataTypes of typedefs when calculating sizes 2019-12-21 12:04:35 +01:00
Jan 295d9543f7 ZoneCodeGenerator: Take account of temp blocks when loading single pointers 2019-12-18 15:31:59 +01:00
Jan 4d611f9770 ZoneCode: Add commands for clipMap 2019-12-18 15:31:10 +01:00
Jan be17ae6a48 ZoneCodeGenerator: Make pointer counts be able to differ by array index 2019-12-18 15:30:47 +01:00
Jan a7936c9eaa ZoneCodeGenerator: Fix LoadTempPtr method doing insertpointer and allocating in the wrong order 2019-12-18 15:26:12 +01:00
Jan 92e84e69f9 ZoneCodeGenerator: Remove spaces between array indices 2019-12-18 15:22:16 +01:00
Jan 5b8cd9cbc6 ZoneCode: Fix and enable menuDef and WeaponVariantDef 2019-12-07 13:40:27 +01:00
Jan 3e108c98b4 ZoneCodeGenerator: Fix TestReorder not being able to reorder members that came before a specified first entry 2019-12-07 13:39:30 +01:00
Jan 0f349e24c3 ZoneCodeGenerator: Improve toString debug output for memberinformation 2019-12-07 13:38:57 +01:00
Jan e7725f6a9c ZoneLoading: Fix and enable xmodel, destructibledef, gameworldsp/mp, attachment_unique, weaponcamo, fx, vehicledef 2019-12-07 03:49:32 +01:00
Jan 739c2ff61d ZoneCodeGenerator: Fix PointerArrays not respecting that they might need to alloc space in the block 2019-12-07 03:48:49 +01:00
Jan a7857172d7 ZoneLoading: Enable assets menuList, impactfx and footsteptablefx due to now working properly 2019-12-06 16:33:36 +01:00
Jan 9253ac14fa ZoneCodeGenerator: Make unions work with conditions and only load one union member at a time consistently 2019-12-06 16:33:05 +01:00
Jan f4a2639e30 ZoneCodeGenerator: Make members have a block they are being loaded into instead of structures 2019-12-06 16:31:20 +01:00
Jan 8a99a49486 ZoneCodeGenerator: Implement template code for pointer array methods 2019-12-06 16:14:27 +01:00
Jan 406cfae0f5 ZoneCode: Fix Commands for FxEffectDef GameWorldSp and MaterialTechniqueSet 2019-12-06 15:41:44 +01:00
Jan c386231576 ZoneCode: Fix and enable all already working assets 2019-12-05 04:05:44 +01:00
Jan 10334266b3 ZoneLoading: Enable mapents assets 2019-12-05 02:59:04 +01:00
Jan 5853950888 ZoneCodeGenerator: Fixup templates and structs to be able to generate code for AddonMapEnts 2019-12-05 02:56:35 +01:00
Jan 42e571427b ZoneCodeGenerator: Fix forward declarations not being resolved for typedefs 2019-12-05 02:54:56 +01:00
Jan ffda895f95 ZoneCodeGenerator: Fix being able to load strings for non const char pointers 2019-12-04 13:48:15 +01:00
Jan a1546f3080 ZoneCodeGenerator: Fix generating code for arrays of scriptstrings 2019-12-04 13:47:24 +01:00
Jan d5e52e5df8 ZoneCode: Extend command file 2019-12-03 23:55:19 +01:00
Jan 964b2c782c ZoneCommon: Add enums related to menu asset 2019-12-03 23:55:03 +01:00
Jan 96ceb76e46 ZoneCode: Change WeaponDef asset to have normal members instead of arrays for graph knots since the ordering of loading needs the array entries separated and the current code generation doesn't allow for that 2019-12-03 23:54:02 +01:00
Jan c05f04e28a ZoneCodeGenerator: Add expression to apply a certain fastfile block to a structure 2019-12-03 23:40:22 +01:00
Jan 799a999a66 ZoneCodeGenerator: Extend reorder test to be able to specify first member and skip any members before to start reordering from a certain point 2019-12-03 23:39:09 +01:00
Jan ce9d0d37de ZoneCodeGenerator: Add "." to be recognized as a single token by the lexer 2019-12-03 23:26:56 +01:00
Jan 3276050e45 ZoneCodeGenerator: Remove test comment from template 2019-11-24 02:47:10 +01:00
Jan b8bd20f693 ZoneCodeGenerator: Add support for scriptstring array pointers 2019-11-24 02:46:40 +01:00
Jan 1606f62ee7 ZoneCode: Fix DestructibleDef commands to include all strings 2019-11-24 02:45:58 +01:00
Jan 8355ad4b76 ZoneCodeGenerator: Fix const char strings not being registered as strings yet in the commands file 2019-11-24 01:58:27 +01:00
Jan 5d3c13e833 ZoneCodeGenerator: Add computations for single references to be able to correctly handle arrays 2019-11-24 01:58:01 +01:00
Jan 6d1359c3d9 ZoneCodeGenerator: Extend count statement without being able to specify * to more precisely state which count should be set 2019-11-24 01:56:57 +01:00
Jan 032eb997ca ZoneCodeGenerator: Add renderer for DataType to be able to safely display typenames without spaces 2019-11-24 01:55:19 +01:00
Jan 377dc5c99b ZoneCodeGenerator: Set conditions on structs that make the build fail right now 2019-11-21 21:47:56 +01:00
Jan 27f92e6c33 ZoneCodeGenerator: Add Computations class for StructureInformation including IsUsed to check whether a structure has at least 1 usage 2019-11-21 21:46:03 +01:00
Jan b79f237014 ZoneCodeGenerator: Make Usages PostProcessor only add usages when a member is used and not ignored 2019-11-21 21:42:07 +01:00
Jan c547520ae8 ZoneCodeGenerator: Remove PostProcessor for asset names and instead add a statement for command files due to different member names for names 2019-11-21 13:35:38 +01:00
Jan 9b9256d2cb ZoneCommon: Fix EmblemSet asset struct 2019-11-21 01:46:58 +01:00
Jan 4f78570023 ZoneCodeGenerator: Add embedded reference handling to templates 2019-11-21 01:46:41 +01:00
Jan b0780ca565 ZoneCodeGenerator: Add a preprocessor extracting a member chain to get the name of the asset in the template 2019-11-21 01:44:04 +01:00
Jan 5f0f73838f ZoneCodeGenerator: Make static operands able to have the value of an enum entry 2019-11-21 01:29:24 +01:00
Jan 31b279c1e6 ZoneCodeGenerator: Fix operationType tokens not being sorted by length so shorter tokens can be matched before longer ones 2019-11-19 12:55:04 +01:00
Jan 8d4e4c0025 ZoneCodeGenerator: Fix | not being a recognized token of the lexer 2019-11-19 12:54:13 +01:00
Jan 2215fef883 ZoneLoading: Dump localized strings as str files 2019-11-19 02:30:27 +01:00
Jan 11168c782f ZoneLoading: Make AssetDumpers get the zone via their args 2019-11-19 02:30:04 +01:00
Jan 7077ba8ce3 Unlinker: Fix not creating a folder for zone file when dumping 2019-11-19 02:27:18 +01:00
Jan 2f108d533c ZoneLoading: Save which language a zone has when loading 2019-11-19 00:43:46 +01:00
Jan 81255695a7 ZoneLoading: Remove KeyValuePair Dumper because keyvaluepairs will be part of the zone file 2019-11-18 21:45:16 +01:00
Jan 97590148ad ZoneLoading: Add dumper for Stringtable assets 2019-11-18 21:44:51 +01:00
Jan 1d609cc2d2 Unlinker: Move zone file into zone_source folder 2019-11-18 21:44:20 +01:00
Jan d220aa8fde ZoneLoading: Make ZoneDumper also generate a game specific zone file 2019-11-18 21:42:02 +01:00
Jan 73489ee455 ZoneLoading: Add dumping for Rawfile based assets 2019-11-16 01:24:09 +01:00
Jan 16a6da932f ZoneCommon: Fix AssetPoolStatic not initializing InfoPool in every case 2019-11-16 01:19:32 +01:00
Jan 0e91dfc339 Unlinker: Fix wrong name for DirectoryCreate method 2019-11-16 01:18:51 +01:00
Jan 508e308bfc Utils: Fix GetDirectory not returning correct result 2019-11-16 01:18:16 +01:00
Jan 0c60c28a36 Utils: Use const pointers when only read access to memory 2019-11-16 01:17:57 +01:00
Jan 2fe3954da8 Unlinker: Add skeleton for Dumping and listing of assets 2019-11-15 18:17:08 +01:00
Jan d176e137a5 Utils: Change FileAPI and PathUtils to make use std::filesystem 2019-11-15 18:16:11 +01:00
Jan 4a616b6c24 Change C++ projects to use C++17 2019-11-15 18:13:38 +01:00
Jan caa01a4864 ZoneCodeGenerator: Add commands for ddlDef and a bit of other stuff to not break from errors 2019-11-15 14:56:11 +01:00
Jan ee2653657e ZoneCodeGenerator: Add template code and separate into different template files for a better overview and less cluttered template code 2019-11-15 14:55:35 +01:00
Jan 3bf0334c59 ZoneCodeGenerator: Add and rename member computations to make more sense 2019-11-15 14:54:29 +01:00
Jan 08d0dda4f6 ZoneCodeGenerator: Make scriptstringprovider available to child classes of asset loader to be able to instantiate other loaders 2019-11-15 14:53:43 +01:00
Jan cd93106c19 ZoneCodeGenerator: Fix fastfile offsets being wrong by 1 due to not respecting that all offsets are moved by 1 2019-11-15 14:52:53 +01:00
Jan 51862d8596 ZoneCodeGenerator: Fix throwing overflow exceptions too early due to wrong limit testing 2019-11-15 14:52:10 +01:00
Jan ec9be6e1fd ZoneCodeGenerator: Fix XStringArrays being loaded twice 2019-11-15 14:51:17 +01:00
Jan 765b0d9e32 ZoneCodeGenerator: Fix XAssetList of T6 being loaded into block memory and therefore causing overflows 2019-11-15 14:50:23 +01:00
Jan b15ce90fbb ZoneCodeGenerator: Add reusable statement for commands to be able to tell the generator that a member can be a fastfile offset and not nessecarly a following pointer 2019-11-15 14:47:45 +01:00
Jan 271c819e97 ZoneLoading: Enable further easy assets like qdb, slug, localize, scriptparsetree 2019-11-14 15:35:19 +01:00
Jan dda9cc0700 ZoneCodeGenerator: Change code templates to support loading of simple assets like rawfile 2019-11-14 14:59:48 +01:00
Jan f80d661c1b ZoneCodeGenerator: Add helper methods to Operation for the template engine to know whether parenthesis are required or not 2019-11-14 14:59:21 +01:00
Jan 8c303d394d ZoneCodeGenerator: Add all used membertypes to a list in context 2019-11-14 14:58:50 +01:00
Jan d7f05b97c9 ZoneCodeGenerator: Add skeleton for all commands for all assets and add commands for rawfile based structs and material/materialtechniqueset 2019-11-14 14:58:18 +01:00
Jan 63722e220d ZoneCodeGenerator: Move computed conditions to sub class for MemberInformation since the template engine does not support computations and there will be a decent amount probably. So they are now moved to a different class to not cludder the main class too much 2019-11-14 14:57:21 +01:00
Jan 60565da607 ZoneCommon: Minor fixes to T6 structures 2019-11-14 14:55:18 +01:00
Jan b59ca3b261 ZoneCodeGenerator: Save whether a structure is anonymous and therefore a name has been generated or not. 2019-11-14 14:54:36 +01:00
Jan f777c049c6 ZoneCodeGenerator: Add postprocessor to inspect whether a structure is a leaf (No complex tasks for loading/writing required, like pointers, strings, scriptstrings) 2019-11-14 14:53:12 +01:00
Jan ef8a040db4 ZoneCodeGenerator: Add toString methods for Domain objects for better readability when debugging 2019-11-14 14:50:53 +01:00
Jan b7ab2a1aa6 ZoneCodeGenerator: Change ContentLoader to use vars for fastfile pointer transfer and change ZoneInputStream API to be able to specify load location to better reflect the way the games do it. 2019-11-14 14:48:40 +01:00
Jan 3839b22f71 ZoneCodeGenerator: Fix invalid string commands for PhysConstraints and DestructibleDef 2019-11-10 22:14:36 +01:00
Jan 73424c9bc1 ZoneCodeGenerator: Add tests for reordering, scriptstring, string 2019-11-10 22:14:01 +01:00
Jan 6ca7f18f9f ZoneCodeGenerator: Add arraysize test to explicitly override the size of an array with a dynamic one 2019-11-10 18:07:28 +01:00
Jan 76cae3a948 ZoneCodeGenerator: Fix LoadArray template to reference array elements correctly 2019-11-10 18:06:08 +01:00
Jan 746dd825bf ZoneCodeGenerator: Add tests for TestCount 2019-11-10 18:04:23 +01:00
Jan f2cc95ee32 ZoneCodeGenerator: Make use of the parsed tokens in TestCount and TestCondition 2019-11-10 18:04:00 +01:00
Jan 2bcb776bbf ZoneCodeGenerator: Add toString methods for operands and operations for debugging purposes 2019-11-08 03:00:43 +01:00
Jan 6c1404116c ZoneCodeGenerator: When parsing Evaluation nest operations so the operator precendence is evaluated as specified 2019-11-08 03:00:20 +01:00
Jan 0a8d5246b2 ZoneCodeGenerator: Add unit tests for Structs, Unions and variables 2019-11-06 18:46:16 +01:00
Jan 82604038c7 ZoneCodeGenerator: Fix recognizing but not doing anything with const tokens in variables 2019-11-06 18:41:21 +01:00
Jan 70a5763d4f ZoneCodeGenerator: Add unit tests for typedef test 2019-11-01 15:14:29 +01:00
Jan f71ae1bcf5 ZoneCodeGenerator: Remove the const keyword from typename but instead save whether a reference is cosnt in the typedeclaration 2019-11-01 01:46:40 +01:00
Jan 3d30915308 ZoneCodeGenerator: Remove align statement. Alignments will be defined via types created by a typedef that have a __declspec(align(X)) part 2019-10-31 15:41:35 +01:00