Commit Graph
37 Commits
Author SHA1 Message Date
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
Jan Laupetin aa47ffa629 refactor: introduce subasset loading 2026-02-05 18:17:15 +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 c9e6a1fc64 feat: show zone and asset statistics in modman 2025-10-27 21:01:04 +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 02f20f09b6 chore: update all logging to use centralized logging component 2025-09-11 20:25:51 +02:00
Jan Laupetin 734173066b refactor: only refer to game id in zone 2025-08-31 18:00:27 +01:00
Jan 03ccede91c refactor: implement base x64 fastfile loading for iw4 2025-06-19 18:59:20 +01:00
Jan Laupetin f6d7831e6e chore: implement base skeleton for architecture independent zone loading 2025-06-14 00:39:55 +01:00
Jan b92e85dc14 refactor: hide implementation of loading steps inside file 2025-05-02 22:08:08 +01:00
Jan 955df98279 refactor: hide implementation details of zone loading processors 2025-05-02 22:08:07 +01:00
Jan 9e940a6f53 refactor: use zone reference in AssetLoader 2025-05-02 22:08:06 +01:00
Jan 3b00c1d45b refactor: fix x64 compilation for ZoneLoading 2025-04-26 19:48:03 +02:00
Jan 5635470b6e refactor: cryptography component 2025-04-26 19:08:15 +02:00
Jan a1851b0ea0 chore: use method static array for zoneloaderfactory 2024-10-19 20:05:08 +01:00
Jan 1b13f1f1b4 refactor: only use sizeof with parenthesis 2024-03-24 19:56:06 +01:00
Jan 4f0ee35740 refactor: use std::extent_v instead of std::extent 2024-03-24 19:46:43 +01:00
Clang Format 6b4f5d94a8 Reformat code with clang format 2023-11-19 21:07:21 +00:00
Jan 1cc5be2f64 Load iw4x zones for iw4 2021-04-01 20:29:42 +02:00
Jan 590a108a1b Fix IW4 zone loading 2021-03-30 11:19:56 +02:00
Jan 4f995751ce Add load argument to unlinker to load zones before trying to unlink specified zones
this allows to make sure certain ipaks are loaded before dumping
2021-03-27 16:45:30 +01:00
Jan f22012d282 Move XChunk processors to ZoneCommon 2021-03-16 20:42:48 +01:00
Jan c9f88e5e93 Use ZoneConstants class for IW4 2021-03-16 13:19:56 +01:00
Jan 301f6e3e7a Use unique_ptr for ZoneLoading 2021-03-14 12:34:50 +01:00
Jan 1a45cf2107 Fix more gcc compilation issues 2021-03-03 09:12:27 -08:00
Jan eed7164b5b Save scriptstrings per zone and not per asset since that solves all problems with multiple assets of the same zone referencing the same struct in memory that has scriptstring indices 2020-10-23 15:54:27 +02:00
Jan f3afaf3110 move zoneloaderfactories in their respective game namespaces 2020-10-17 16:04:26 +02:00
Jan d7096c9137 Add AuthedBlocks processor for IW4 fastfiles 2020-09-06 18:18:30 +02:00
Jan 060e5678b5 Read IW4 signed headers 2020-09-06 14:39:19 +02:00