Commit Graph
100 Commits
Author SHA1 Message Date
Jan c4aec3e147 Preserve zone definition meta data order 2021-03-21 10:19:27 +01:00
Jan 1d33cf2adf Save offset for reusing for any type that has a reusable reference 2021-03-20 16:04:17 +01:00
Jan 5cd5ae5533 Add metadata from zone definition as keyvaluepairs to zone for T6 2021-03-20 14:08:22 +01:00
Jan 5e08469635 Use custom parser values instead of simple parser values for parsing Zone definitions 2021-03-20 14:07:48 +01:00
Jan ef36d6cdc5 Use _strdup instead of strdup when using msvc 2021-03-19 16:41:18 +01:00
Jan 29e5898c2b Get rid of implicit size conversion warnings in ipak entry read stream 2021-03-19 16:41:04 +01:00
Jan dfaf5eba6b Define _CRT_SECURE_NO_WARNINGS to get rid of warnings for using functions like strcpy 2021-03-19 16:40:39 +01:00
Jan 2f700a48a9 Make sure fastfile offset is taken after alignment, marking following is done on the originally written data and writing partially uses the original data when writing dynamic sized data
too lazy to split into single commits
2021-03-19 15:09:44 +01:00
Jan 5443ed4261 Add scriptstrings from loaded zones to newly linked zone 2021-03-18 20:03:00 +01:00
Jan 2a6d7c84c2 Add ZoneScriptString class to store zone script strings 2021-03-18 16:55:30 +01:00
Jan 8736280ea8 Fix zone writing code not setting ptr following 2021-03-18 13:02:31 +01:00
Jan 0a4886e7ab Make sure zone memory can allocate blocks that are larger than its default maximum size and throw an error if allocation failed 2021-03-18 11:48:41 +01:00
Jan 50808bfad7 Fix xchunk processor not resetting input buffer size 2021-03-18 11:47:55 +01:00
Jan 2add1ba22d Make sure xchunk write size can specified to be smaller than xchunk size to respect zlib to add size instead of removing size due to not being able to compress 2021-03-18 11:47:41 +01:00
Jan 7c0504603e Basic write template based on load template 2021-03-18 10:58:07 +01:00
Jan 58eb64114c Add missing headers for gcc 2021-03-17 23:32:42 +01:00
Jan 1c35f43c25 Add noexcept specifier to XChunkException and WritingException 2021-03-17 23:25:58 +01:00
Jan 0bd4160956 Use static variable for void* PTR_INSERT and PTR_FOLLOWING instead of constexpr because thats incompatible with g++ 2021-03-17 23:16:09 +01:00
Jan 724e221ba4 Write XChunks in fastfiles 2021-03-17 22:25:47 +01:00
Jan f22012d282 Move XChunk processors to ZoneCommon 2021-03-16 20:42:48 +01:00
Jan ca1329323b Add header writing to IW4 ZoneWriterFactory 2021-03-16 13:30:36 +01:00
Jan c9f88e5e93 Use ZoneConstants class for IW4 2021-03-16 13:19:56 +01:00
Jan 03775944ce Add skeleton for IW4 writing 2021-03-16 12:52:26 +01:00
Jan 4feea62280 ZoneWriting stuff 2021-03-16 12:37:15 +01:00
Jan 9d26c9c927 Add ZoneWriting basis 2021-03-15 22:36:07 +01:00
Jan 301f6e3e7a Use unique_ptr for ZoneLoading 2021-03-14 12:34:50 +01:00
Jan 94230cefb0 Make empty linking asset if asset is ignored 2021-03-13 19:32:51 +01:00
Jan d65f906ecb Remove FxImpactTable asset name 2021-03-13 15:48:55 +01:00
Jan b8cfdba5ec Make ZoneDefinition parser recognize strings as asset names 2021-03-13 15:48:26 +01:00
Jan cff70daccb Make comment removing preprocessor not recognize comments when inside a string 2021-03-13 15:48:04 +01:00
Jan 8a227d1171 Fix SimpleLexer not initializing read numbers property 2021-03-13 15:47:42 +01:00
Jan a84a4051f9 Write ZoneDefinition entry in parenthesis if there are unparsable character sequences 2021-03-13 15:10:03 +01:00
Jan 0db526d1c8 Check for already loaded assets when loading asset dependencies 2021-03-13 14:54:56 +01:00
Jan 5f6d976748 Fix ZoneDefinition parser condition for leaving out slashes 2021-03-13 14:54:36 +01:00
Jan a7860c7c76 Add AssetLoader basis 2021-03-13 14:27:20 +01:00
Jan 83080db991 Include filesize when opening a file with searchpaths 2021-03-13 10:27:18 +01:00
Jan 62247cecda Create directories for output fastfile for linker 2021-03-13 10:25:37 +01:00
Jan a57201d78d Rename AssetLoading from Linker to ZoneCreation 2021-03-12 11:20:02 +01:00
Jan 43966e8e00 Remove unused xblocks vector in Zone 2021-03-12 10:57:31 +01:00
Jan b360816190 Add AssetLoaders for linker that handle asset types for their specific game 2021-03-12 10:55:55 +01:00
Jan 792509d11d Read assetlists for ignoring assets 2021-03-11 14:04:53 +01:00
Jan 88b5eefe24 Create CsvStream class to replace CsvWriter 2021-03-11 12:43:33 +01:00
Jan 9b15afa70e Make ZoneDefinition sequences also accept eof instead of new line 2021-03-10 15:17:36 +01:00
Jan 8798779b39 Add ZoneDefinition Lexer 2021-03-10 14:58:02 +01:00
Jan c47ea48b6b Open search paths for assets, gdts and source in Linker 2021-03-10 12:26:09 +01:00
Jan 8c7926e745 Add document describing folder structure 2021-03-09 14:30:58 +01:00
Jan 6b80a1f951 Add sequences for ZoneDefinition includes and ignores 2021-03-09 11:20:05 +01:00
Jan 00462b9228 Include parsing when include ZoneCommon 2021-03-09 11:19:49 +01:00
Jan f3e8100526 Add ZoneDefinition Parsing 2021-03-09 11:04:34 +01:00
Jan 88ff98f334 Add Simple Parsing implementations for basic parsers 2021-03-09 11:04:04 +01:00
Jan 8d9080066f Extract commonly used Parser code to new Parser component 2021-03-08 20:06:34 +01:00
Jan d96f813e73 Restructure ZoneDefinitionWriting 2021-03-08 17:28:24 +01:00
Jan e6a91c0305 add linker basis 2021-03-08 12:46:27 +01:00
Jan 39a1485be6 Add T6 attachment unique dumper 2021-03-07 17:51:02 +01:00
Jan 7e9dfe9127 move iw4 string arrays to commoniw4 header 2021-03-07 15:33:21 +01:00
Jan ba1bca775b Move T6 string arrays to CommonT6 header 2021-03-07 15:30:48 +01:00
Jan 5db7eaeec3 Add T6 Attachment dumper 2021-03-07 15:25:58 +01:00
Jan b891f9527e Change the condition under which assets are dumped inside a gdt:
Make the parameter --gdt to manually make the tool dump as a gdt
2021-03-07 15:25:47 +01:00
Jan 313e9e9f1a Remove reference asset names from info strings 2021-03-06 21:20:13 +01:00
Jan 78107b74e0 add newline to gdt unit tests prints 2021-03-06 14:24:16 +01:00
Jan 603994ce61 Make sure gdt values are escaped 2021-03-06 14:13:46 +01:00
Jan ea7b1eadae Make dumpers works as gdt dumpers and raw dumpers 2021-03-06 13:25:08 +01:00
Jan fc59a09d02 Make unlinker open a gdt file if not raw specified 2021-03-06 12:09:00 +01:00
Jan aa972614e5 Extract Gdt reading and writing classes to GdtStream file 2021-03-06 10:47:25 +01:00
Jan defc388210 Rename GDT to Gdt to keep naming schema 2021-03-06 00:57:09 -08:00
Jan 82a08d0850 Add unit tests for writing gdts 2021-03-06 09:40:05 +01:00
Jan 78ebeaaa7b Add Gdt parsing 2021-03-06 09:28:14 +01:00
Jan abb268a819 Add AssetDumperContext to bundle context fields for dumping
(cherry picked from commit ed8331280392ef3a2b4657c5dbd0880463d85f2c)
2021-03-05 18:11:56 +01:00
Jan 88c48e8107 Add dynamic allocation alignment to be able to load T6 MemoryBlock asset which isnt used at all so why am i doing this again 2021-03-05 09:23:37 +01:00
Jan 286eaadd1c Update changelog for 0.0.2 2021-03-04 19:17:47 +01:00
Jan bedd44eb6b Move scripts to scripts folder and remove unused docker image stuff 2021-03-04 08:46:18 -08:00
Jan ba699d36df Add docker based gitlab ci config 2021-03-04 07:45:29 -08:00
Jan 6937e7441c also specify image for test stage 2021-03-04 13:16:45 +01:00
Jan f9d515f141 reenable gitlab buildpipeline for gcc linux builds 2021-03-04 13:15:57 +01:00
Jan 159414d39c Fix type alignment macro inconsistencies 2021-03-04 13:06:36 +01:00
Jan 9ed749c9d2 Get rid of inheritence on Vector4 struct to prevent offsetof macro giving out a warning on gcc 2021-03-04 03:45:14 -08:00
Jan 35d9110783 Add alignment specifiers for gcc specifically to match MSVC alignments 2021-03-04 03:29:16 -08:00
Jan 3c9a9c038d Add alignment macros for asset definition that make use of parameter values 2021-03-04 11:41:09 +01:00
Jan 5f3aa2a460 Implement defines with parameters to ZoneCodeGenerator 2021-03-04 11:37:06 +01:00
Jan 29b962e949 Add offset of members to assetstructtests 2021-03-04 09:04:25 +01:00
Jan a10b3b7d3c Change ZoneLoad alloc method getting alignment via alignof to alignment value being specified directly via number 2021-03-04 08:44:23 +01:00
Jan 9d05282ffb replace alignas with macros per compiler in asset headers 2021-03-03 13:49:58 -08:00
Jan 8dfd91e71e add linux build script 2021-03-03 13:30:24 -08:00
Jan 01fb7984db do not link ZoneWriting for now because it has no content 2021-03-03 22:17:20 +01:00
Jan 7b99d6b7dd only add pthreads linking when on linux 2021-03-03 22:17:05 +01:00
Jan 12461d27e7 move parts to new common component to avoid circular dependency of zonecommon and objcommon 2021-03-03 12:56:15 -08:00
Jan d616738be4 Use premake error function to display errors 2021-03-03 11:59:54 -08:00
Jan 7e7889f103 Make sure circular dependencies are an error 2021-03-03 11:57:16 -08:00
Jan dc3fef5b0f Rework depedency management in premake lua scripts 2021-03-03 11:55:37 -08:00
Jan 1a45cf2107 Fix more gcc compilation issues 2021-03-03 09:12:27 -08:00
Jan a15fd17dfe Change alignment specifier to __attribute__((align(x)) for non VC++ 2021-03-03 15:58:55 +01:00
Jan b4d8e9c17b Make compilation process compatible to linux on gcc 2021-03-03 06:21:25 -08:00
Jan 1cd06668e0 Replace FileAPI with c++ streams and std::filesystem 2021-03-03 14:04:35 +01:00
Jan b6b0a57232 Refactor Crypto/Utils lib to make it Linux compatible 2021-03-01 08:17:18 -08:00
Jan 22402766af Make linux script and premake executable 2021-03-01 07:35:36 -08:00
Jan 2b9f3b52c4 Add linux premake 2021-03-01 16:26:54 +01:00
Jan 0975b1baa2 disable gitlab pipeline for now 2021-03-01 14:44:03 +01:00
Jan 1a09ad4396 Rename ZoneCodeGeneratorNew to ZoneCodeGenerator.
Cleaning build folder might be required to prevent errors due to previous c# project
2021-03-01 14:39:29 +01:00
Jan f85c82f487 Remove old ZoneCodeGenerator implementation in c# 2021-03-01 14:30:10 +01:00
Jan 5290d3a768 Update ZCG new console output 2021-03-01 14:12:36 +01:00