Commit Graph
208 Commits
Author SHA1 Message Date
Jan Laupetin 0df7f16158 fix: zone pointer offset bit count may be independent from platform pointer size 2026-10-22 20:01:06 +02:00
Jan Laupetin 49cebf0f0e feat: make base content loader for iw4 and iw5 support both 32 and 64 zones 2026-10-22 20:01:06 +02:00
Jan Laupetin 89a6172acf fix: refuse to load x64 zones in x86 2026-10-22 20:01:06 +02:00
Jan Laupetinandwroy ca890bc236 refactor: inspect iw4 and iw5 XAssetList to determine word size
* Inspired by how IW4x identifies x64 zones

Co-authored-by: William Roy <[email protected]>
2026-10-22 20:01:06 +02:00
Jan Laupetin 3eca9b2606 refactor: decouple zone loader and LoadingStep/LoadingProcessors 2026-10-22 20:01:06 +02:00
Jan Laupetin 594bf41eaf refactor: use variants in zone instead of only game 2026-10-22 20:01:05 +02:00
Jan Laupetin c24d1f0cd8 chore: rename generated loader/writer/marker aggregated headers 2026-10-22 20:01:05 +02:00
Jan Laupetin 8490c09fad refactor: generate combined asset loader/writer/marker headers per variant 2026-10-22 20:01:05 +02:00
moandJan Laupetin 9f49e0e31c feat: QOS (007: Quantum of Solace) support (#894)
* feat: QOS (007: Quantum of Solace) support

* feat: add qos localize loader

* feat: add qos stringtable loader

* chore: comment about official zones

* fix: add qos gfximage runtime fields

* chore: remove useless dev time comments

* fix: remove all `static_asserts`s from asset headers causing build fail on x64

* chore: change union ordering of qos `entryInternalData`

* chore: move qos asset type enum to qos.h

* fix: qos and t4 xsurface index buffer

* chore: implement qos MaterialInfo struct

* chore: adjust some gfxworld struct members

* chore: implement qos PhysPreset and PhysConstraints

* chore: fix and adjust slight inconsistencies with qos zone code

* chore: reorder qos ZoneCode.lua entries in order of asset type enum

* chore: remove asset types that are not actual asset types in zones

* chore: check common asset arrays with static_assert

* chore: rename qos assets

* chore: reorder qos in templates to be in alphabetical order

* chore: use function for CopyMipLevel in Dx9TextureLoader

* chore: use templates for qos MapEntsDumper

* chore: add missing braces in XModelToCommonConverter

* chore: add generic way to peek at zone data

* Qos does not use a classic ZoneHeader so code needs to be more generic

* fix: do not use raw_byte and raw_uint typedefs for qos

* fix: not being able to write clipmapmp

* chore: additional research on qos vertex property and stuff

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-08-05 00:32:23 +02:00
Ashandhindercanrun 040826b1f3 Add dumping support for PS3, Wii U and Xenon server fast files (#826)
Co-authored-by: hindercanrun <[email protected]>
2026-06-16 10:45:03 +02:00
moandJan Laupetin 44d6710991 feat: initial T4 support (#807)
* feat: initial T4 support

* chore: adjust t4 symbols a bit for accuracy

* chore: add PackIndex asset to T4

* chore: remove unused AssetXModelPieces

* chore: add default and global asset pools loader for T4

* chore: use separate defines for T4 in ImageDumper

* chore: remove unnecessary namespaces in gfximage_actions

* chore: small things

* chore: fix T4 PhysPreset type

* chore: use proper XQuat2 type for T4 xanims

* chore: fix errors on T4 types

* chore: use iw3 like struct for XModelStreamInfo

* docs: add basic docs for T4

* chore: add basic ObjCompiler setup for T4

* chore: adjust loaded sound definition

* chore: make sure t4 material has the correct alignment

* chore: make sure t4 uses similar names for assets as other games

* fix: asset references should not be reusable

* chore: add content writer for t4

* feat: add t4 localize loader

* chore: reorder game ids to be alphabetically ordered

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-06-07 14:06:33 +02:00
Jan Laupetin 4242c4a325 refactor: use std::expected instead of custom implementation 2026-04-04 14:47:10 +02:00
Jan Laupetin 90d7f92ddd chore: replace all usages of removed ClassUtils macros 2026-03-06 00:13:04 +01:00
Jan Laupetin aa47ffa629 refactor: introduce subasset loading 2026-02-05 18:17:15 +01:00
Jan Laupetin 51300bb47c chore: const params in InvalidLookupPositionException 2026-01-17 00:45:20 +00:00
Jan Laupetin 2a1f6158e4 fix: writing bad zone sizes with x64 hosts 2026-01-17 00:45:19 +00:00
Jan Laupetin 2b2590b8fb fix: not correctly returning bad result for failed zone loading 2026-01-17 00:45:18 +00:00
Jan Laupetin ac9bdd21da chore: use vector for ZoneInputStream block offsets 2026-01-17 00:45:17 +00:00
Jan Laupetin 86b7e55e5b refactor: add game name to generated load and write files 2026-01-17 00:45:17 +00:00
Jan Laupetin 793d7ad5dc fix: do not try to add indirect asset references without name 2026-01-03 18:23:55 +00:00
Jan Laupetin 8eb79da8a2 chore: adjust asset data when taking from global asset pools 2025-12-23 15:40:52 +01:00
Jan Laupetin 0ef4979873 chore: make marker reusable with visitor pattern 2025-12-23 15:40:51 +01:00
Jan Laupetin c73b2ed838 chore: move asset marker to ZoneCommon 2025-12-23 15:40:48 +01:00
Michael Oliver 00ffc7717b feat: dump iw4 alpha 482 xbox fastfile data 2025-12-23 09:57:13 +00:00
Jan Laupetin 26d922410b chore: small adjustments to iw4 zone loading 2025-12-23 01:09:33 +01:00
Jan Laupetin 8b1afcafaa chore: rename iw4 zone constants for zone version 2025-12-23 00:41:09 +01:00
Michael Oliver 5a0b255d92 tidy 2025-12-21 21:35:20 +00:00
Michael Oliver 47bb1493ed add a step to skip xasset stream files 2025-12-21 20:59:38 +00:00
Michael Oliver e1e4846386 update comment 2025-12-17 13:48:46 +00:00
Michael Oliver 541e16391e formatting 2025-12-17 13:48:17 +00:00
Michael Oliver b19d7bfc75 cleanup 2025-12-17 13:42:01 +00:00
Michael Oliver 38953d1daa feat: dump iw4 xbox fastfile data 2025-12-17 13:35:58 +00:00
Jan Laupetin a8fb5053dd fix: make sure to stop inflating when Z_STREAM_END is encountered 2025-12-16 01:01:32 +00:00
Michael Oliver 67372025b4 feat: dump iw3 xbox signed fastfile data 2025-12-15 22:27:40 +00:00
Michael Oliver cc7a68de56 feat: dump iw3 xbox unsigned fastfile data 2025-12-14 01:27:24 +00:00
Jan Laupetin c9e6a1fc64 feat: show zone and asset statistics in modman 2025-10-27 21:01:04 +01:00
Jan Laupetin b35973db8a fix: not being able to load zones without progress 2025-10-15 23:03:44 +02:00
Jan Laupetin 9fa41ca0d3 feat: show loading progress in modman 2025-10-14 17:59:34 +01:00
Jan Laupetin 5b3664ad8c chore: add possibility to provide loading progress callback when loading zones 2025-10-14 16:48:20 +01:00
Jan Laupetin b27b7e77bd chore: pass ZoneLoading error as result 2025-10-11 19:04:47 +01:00
Jan Laupetin 02f20f09b6 chore: update all logging to use centralized logging component 2025-09-11 20:25:51 +02:00
Jan Laupetin 07189ed58a chore: add define for not loading xchunks async 2025-09-01 22:17:05 +01:00
Jan Laupetin 75d579b5e3 feat: dump t6 xbox fastfile data 2025-09-01 22:17:05 +01:00
Jan Laupetin 763d280805 chore: recognize when xenon fastfile use lzx compression 2025-09-01 00:05:36 +02:00
Jan Laupetin 802b0f244a chore: dump fastfile data when xenon t6 fastfile is detected 2025-09-01 00:05:33 +02:00
Jan Laupetin 734173066b refactor: only refer to game id in zone 2025-08-31 18:00:27 +01:00
Jan 79b4313384 refactor: update T6 loading code for x64 support 2025-06-24 17:08:45 +01:00
Jan a9a8597323 refactor: update IW3 loading code for x64 support 2025-06-24 17:08:45 +01:00
Jan 37e5e940b0 refactor: update IW5 loading code for x64 support 2025-06-24 17:08:45 +01:00
Jan 1736f38d78 refactor: update T5 loading code for x64 support 2025-06-23 18:29:04 +01:00