Commit Graph
220 Commits
Author SHA1 Message Date
moandGitHub 2188f49a08 feat: templated tracer loading and dumping for IW4 and IW5 (#921)
Relates to https://github.com/Laupetin/OpenAssetTools/issues/626
2026-07-20 23:36:40 +02:00
Jan LaupetinandGitHub fadcd74182 fix: menu rect optimization not setting global values (#920)
* fix: menu rect optimization not setting global values

* fix: relative item rects not considering optimized parent rect
2026-07-20 19:24:58 +02:00
3fb8b2bb17 feat: font loading and dumping (#866)
* feat: font loading and dumping

* chore: make font properties unsigned if possible

* chore: use merge_patch to dump json font

* chore: font material is required

* chore: move static methods from font loader and dumper to anonymous namespace

* chore: make sure loaded fonts have their glyphs sorted

* chore: add macros for json NLOHMANN_TO_JSON_METHOD and NLOHMANN_FROM_JSON_METHOD

* feat: encode printable letters as string in json

Co-authored-by: hindercanrun <[email protected]>

* chore: omit redundant glyph count from jsons

---------

Co-authored-by: Jan Laupetin <[email protected]>
Co-authored-by: hindercanrun <[email protected]>
Co-authored-by: MrIkso <[email protected]>
2026-07-03 19:26:12 +02:00
JanandGitHub b4477ac1a9 refactor: accuracy graph subassets (#847)
* refactor: use subassets to load accuracy graphs for iw4,iw5,t5,t6

* fix: not dumping anim names for t5 weapons and t6 attachment unique

* refactor: dump accuracy graphs like a subasset

* refactor: use shared method for accuracy graph filenames
2026-06-20 17:16:37 +02:00
JanandGitHub 85aa7417c4 feat: xmodel preview in ModMan (#835)
* chore: upgrade webwindowed for dynamic assets

* chore: make enums in ModMan lowercase

* chore: add missing platform wiiu in ModMan

* fix: register asset handler on all windows

* chore: properly localize game and platform

* chore: render example cube as xmodel preview

* chore: allow origin * in debug

* feat: show preview of xmodels with ModMan

* feat: show images in xmodel preview

* feat: auto load search paths in ModMan

* chore: load objcontainer of loaded zones in ModMan

* chore: add iw4x specific recognized zone dirs

* chore: show when models are loading

* fix: make sure webwindowed handles window and app destruction in correct order

* chore: track and properly free threejs resources

* chore: add skybox for 3d preview

* chore: add small border radius to preview

* fix: linting

* fix: linux compilation

* chore: update package lock
2026-06-18 18:52:52 +02:00
JanandGitHub 0d0f928267 feat: add binary xanim support for remaining games (#818)
* refactor: use generic loader for iw3 xanims

* refactor: use generic dumper for iw3 xanims

* chore: use templating on XAnimDumper

* chore: use templating on XAnimLoader

* feat: dump xanims for T5

* feat: load binary t5 xanims

* feat: load and dump t6 xanims

* feat: load and dump iw4,iw5 xanims

* chore: make sure iw3 and t5 notify about unsupported delta3D

* chore: also use CommonVec3U8 and CommonVec3U16 for non delta trans track
2026-06-06 14:47:51 +00:00
Jan Laupetin 015544eb79 chore: reorder assignment of light def members slightly 2026-05-16 10:45:26 +02:00
njohnsonandJan Laupetin 336c9d8d86 Fix LMAP parsing and don't resolve till after ptr is ready. 2026-05-16 09:54:26 +02:00
njohnsonandJan Laupetin 4208bab758 Remove un-needed constants and switch to parsing name by null character. 2026-05-16 09:54:25 +02:00
njohnsonandJan Laupetin efbbc05626 Clang format. 2026-05-16 09:54:25 +02:00
njohnsonandJan Laupetin e92681914f Add CreationState to fill in lightdef lookup start. 2026-05-16 09:54:24 +02:00
njohnsonandJan Laupetin 531b4811ca Fill in lookup start. 2026-05-16 09:54:24 +02:00
Jan Laupetin a31d3c4b88 fix: iw4 physpreset uses FLT_MAX as infinite friction 2026-05-03 15:56:09 +02:00
Jan Laupetin 67bdb79654 fix: do not clamp iw4 physpreset mass 2026-05-03 15:46:52 +02:00
Paging RedGitHubnjohnson <gitea.nicholasjohnson.info>Jan Laupetin
010ac3ad3e Add IW3 PhysPreset dump logic (#744)
* Copied template from font.

* Create PhysPreset writer from Font dumper template.

* Completely refactor to match previous implementation.

* Remove files from previous implementation.

* Fix PhysPresetFields.

* Add missing fields and correct order.

* Add static infinity check as builtin does not work.

* Wasn't clang formatted.

* Remove unused 'perSurfaceSndAlias' field.

* Removed unsupported vals (tracer & vehicle) and un-needed vals (material).

* Make order match struct and mark 'tempDefaultToCylinder' as QBOOLEAN.

* Make order match struct and clamp vals for 'mass' and 'tempDefaultToCylinder'.

* Remove un-needed includes and add limits for float max.

* Remove clamping of mass.

* Use float max to determine if friction is infinite.

* Clang format.

* chore: formatting

* chore: do not use classes for obj constants

---------

Co-authored-by: njohnson <gitea.nicholasjohnson.info>
Co-authored-by: Jan Laupetin <[email protected]>
2026-04-23 23:27:34 +02:00
Jan Laupetin 6e19b94b9b chore: use templated loaders for shaders in IW4,T6 2026-03-14 09:09:57 +01:00
Jan Laupetin 90d7f92ddd chore: replace all usages of removed ClassUtils macros 2026-03-06 00:13:04 +01:00
Jan Laupetin 4cdccba016 feat: add embedded image loader for every supported game 2026-01-05 09:50:21 +00:00
Jan Laupetin 33584f6f7b feat: add external image loader for every supported game 2026-01-05 09:50:20 +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 02f20f09b6 chore: update all logging to use centralized logging component 2025-09-11 20:25:51 +02:00
Jan Laupetin 46fb919a52 refactor: do not nest asset namespaces in game namespaces
* Duplicated namespace names are kind of annoying
2025-08-06 00:50:35 +02:00
Jan Laupetin 6806337f46 refactor: streamline IW4 asset loading 2025-08-05 01:14:20 +02:00
Jan Laupetin e9a7f43348 fix: formatting 2025-08-03 21:35:44 +02:00
Jan Laupetin 250556ab61 refactor: streamline namespaces of xmodel dumping and loading 2025-08-03 17:47:21 +02:00
Jan Laupetin 24c9e08046 refactor: streamline phys preset dumping 2025-07-30 18:52:10 +01:00
Jan Laupetin 9a6f0c8919 refactor: restructure light def dumper 2025-07-28 21:51:12 +01:00
Jan Laupetin ce1f0d23c9 refactor: merge leaderboard dumpers into a single file 2025-07-27 22:40:07 +01:00
Jan 3daa8b0412 refactor: use templated xmodel loading and dumping code for iw4 2025-07-09 23:23:16 +01:00
Jan f07202d449 fix: show asset that failed when not being able to parse jsons 2025-07-09 16:53:53 +01:00
Jan 28a82818de refactor: move iw4 techset and vertexdecl compiling to ObjCompiling 2025-06-28 19:16:13 +01:00
Jan f23b47ca13 chore: move material compilation behind compiler flag 2025-06-28 16:10:03 +01:00
Jan 2073265a86 feat: add templated iw4 material loading 2025-06-26 22:40:30 +01:00
Jan 03ccede91c refactor: implement base x64 fastfile loading for iw4 2025-06-19 18:59:20 +01:00
Jan 8b85cadb77 refactor: make memory from zone a reference instead of ptr 2025-05-02 22:08:06 +01:00
Jan 5d0c94e430 refactor: fix x64 compilation for ObjLoading 2025-04-26 19:48:03 +02:00
Jan 6f31e8cc29 chore: fix compilation issues with x64 2025-04-06 18:02:47 +01:00
Jan 56c4eeb5cd fix: set clipmap asset name of non-pvs clipmap to clipmap_unused in IW3,IW4,T5 2025-03-27 17:16:28 +01:00
Jan 4c09e94220 refactor: remove MemoryManager create method usages 2025-01-13 22:03:20 +00:00
Jan 2313da1c12 chore: inject ZoneAssetCreationStateCollection to states 2025-01-03 14:55:19 +01:00
Jan 416823c6cd chore: rename ZoneAssetLoaderState to ZoneAssetCreationState 2025-01-03 11:01:44 +01:00
Jan 9068e96dfa chore: make IZoneLoadingState return reference 2025-01-03 10:42:37 +01:00
Jan aa212e0958 chore: parse includes and assetlists while parsing zone definition 2025-01-01 18:14:43 +01:00
Jan 9852f52a15 chore: get rid of now unused AssetLoading classes 2025-01-01 18:14:43 +01:00
Jan b7c8c70f2a fix: compilation 2025-01-01 18:14:42 +01:00
Jan 9ae5aaa1db chore: fix loading and writing code for IW4 2025-01-01 18:14:41 +01:00
Jan 7ef944ebd4 chore: refactor IW4 asset loaders 2025-01-01 18:14:41 +01:00
Jan 4f585c6aa7 chore: add generic default asset constructors for all games 2025-01-01 18:14:40 +01:00
Jan c524cb007a chore: implement obj loading skeleton with localize asset 2025-01-01 18:14:40 +01:00
Jan 4f0a405bdc chore: adjust asset creation process to use separated AssetCreators 2025-01-01 18:14:40 +01:00