2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-05-16 23:11:42 +00:00
Commit Graph

2000 Commits

Author SHA1 Message Date
Jan 6012b79cdc Merge pull request #801 from michaeloliverx/cli-minimal-zone
fix(unlinker): respect `--minimal-zone` CLI arg
2026-05-15 17:22:39 +02:00
Jan Laupetin e824e9a9de chore: make DependencyAssetLookup a separate class 2026-05-15 15:35:23 +01:00
Jan Laupetin f7f4deeecc chore: choose appropriate extension for ipak file 2026-05-15 13:02:49 +01:00
Michael Oliver 9ecc3d06e8 fix(unlinker): respect minimal zone definition output 2026-05-15 11:48:33 +01:00
Jan Laupetin 71ca182524 feat: properly parse data from xenon ipaks 2026-05-12 23:44:53 +02:00
Jan Laupetin e1bb8ae4d2 chore: enable reading of big endian ipaks 2026-05-11 23:54:25 +02:00
Jan Laupetin 7ae7cf85ff fix: make sure ipak reading stops in time 2026-05-11 22:20:57 +02:00
Jan Laupetin b2c271956a chore: reorder methods of ipak entry read stream 2026-05-11 22:16:56 +02:00
Jan Laupetin 36b4ec7781 feat: add support for extracting ipaks to ImageConverter 2026-05-11 21:58:25 +02:00
Jan Laupetin 582d8abbbf feat: reorder bones when their order is not corresponding to xmodel constraints 2026-05-03 21:01:38 +02:00
Jan Laupetin 92e236b1fe chore: only allocate 3 floats per bone for applicable games 2026-05-03 17:19:48 +02:00
Jan Laupetin 875e1fb360 fix: properly load all root bones from gltf 2026-05-03 16:35:15 +02:00
Jan Laupetin ff7b940e86 fix: properly dump gltf with root node in models with more than one root bone 2026-05-03 16:35:06 +02:00
Jan Laupetin 2d2ea30b45 fix: iw5 uses isFrictionInfinity as well 2026-05-03 16:00:30 +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
Jan Laupetin 0c1bc747dc chore: update default root bone name to empty string and do not specify if matching default name 2026-05-03 13:51:56 +02:00
Jan Laupetin ed1ed73c73 chore: warn about mismatching root bone name between model and xmodel json 2026-05-03 13:40:31 +02:00
Jan Laupetin 989d29b359 feat: support root bone name from xmodel json 2026-05-03 13:27:35 +02:00
Jan Laupetin b7a22973e6 chore: make sure xmodel flags are unsigned 2026-05-03 13:09:03 +02:00
Jan Laupetin 4886767e67 chore: get rid of unnecessary class in XModelDumper 2026-05-03 13:09:03 +02:00
Jan Laupetin 2527f23c10 chore: use references when possible in xmodel dumper 2026-05-03 13:09:02 +02:00
Jan Laupetin d6a736eb5d feat: preserve root bone name when dumping xmodels with omitted default armature 2026-05-03 13:09:02 +02:00
Michael Oliver 618592e411 fix: only omit default armature if it can be omitted for all lods 2026-05-03 13:09:02 +02:00
Jan Laupetin f3859e6952 fix: iw3 vert lists are sometimes not complete 2026-05-03 13:09:02 +02:00
Jan Laupetin 08c128addd feat: accept aliases for asset type names 2026-05-02 18:08:12 +02:00
Jan Laupetin 0cbe0c2891 chore: adjust asset type names for light def 2026-05-02 16:01:11 +02:00
njohnson 1d6c028454 Clang format. 2026-05-02 12:04:51 +02:00
njohnson 0eb1f9f978 Add IW5 SndCurve dumper. 2026-05-02 12:04:51 +02:00
njohnson 6400b57caf Add dumper logic from IW4. 2026-05-02 12:04:51 +02:00
njohnson dec2ae96cb Add loader logic from IW4. 2026-05-02 12:04:50 +02:00
njohnson 3136a03754 Add dumper and loader call to parents. 2026-05-02 12:04:45 +02:00
Paging Red 759a3ccf0e Merge pull request #753 from pagingred/iw5_physpreset_dumper
feat: phys presets dumping and loading for IW3, IW5, T5
2026-05-02 12:01:59 +02:00
Jan 6b7752376a Merge pull request #780 from Laupetin/fix/iw3-part-classification
fix: incomplete iw3 part classification
2026-05-01 22:37:59 +02:00
Jan 8eb76070a2 Merge pull request #769 from michaeloliverx/refactor-arch-wordsize
refactor(zcg): use wordsize instead of architecture
2026-05-01 22:33:14 +02:00
Jan 51b741e16c Merge pull request #760 from michaeloliverx/xmodel-glTF-dump-bug
fix: xmodel glTF dumps dropping `COLOR_0` vertex attributes
2026-05-01 22:20:39 +02:00
Jan 3dbc70755c Merge pull request #759 from michaeloliverx/asset-source-log
feat: add asset source description to loading logs
2026-05-01 22:04:36 +02:00
Jan Laupetin 4d66911203 fix: incomplete iw3 part classification 2026-05-01 21:52:10 +02:00
Jan Laupetin 1d6a9d6df1 chore: only dump gltf color when there is non-default data 2026-05-01 21:48:41 +02:00
Michael Oliver 98d8ea9005 fix: xmodel glTF dumps dropping COLOR_0 vertex attributes 2026-05-01 21:48:28 +02:00
Michael Oliver 97591f59f4 refactor(zcg): use wordsize instead of architecture 2026-04-30 13:50:11 +01:00
Jan Laupetin 3063550931 chore: adjust asset source description a bit 2026-04-27 21:29:14 +02:00
Michael Oliver 3aa28a0ded fix: IW3 ensure XModel::surfs is set in loader 2026-04-27 18:24:02 +01:00
Michael Oliver a3e6529925 feat: add asset source description to loading logs 2026-04-27 10:07:11 +01:00
Paging Red 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 <jan@laupetin.net>
2026-04-23 23:27:34 +02:00
Jan Laupetin 778f238779 chore: update npm dependencies 2026-04-20 21:46:36 +01:00
Jan Laupetin eee44b5860 chore: use ordered_json for gltf
order is based on what blender does
https://github.com/KhronosGroup/glTF-Blender-IO/blob/7bea3666f8b5043292e578501a779f244d8e8f06/addons/io_scene_gltf2/io/exp/export.py#L48
2026-04-20 20:08:46 +01:00
Jan Laupetin 0ae7186409 chore: allow arbitary type conversions for ordered_json 2026-04-20 20:08:46 +01:00
Jan Laupetin 535f0e299c chore: use libtomcrypt rsa_verify_hash_v2 as old method was deprecated 2026-04-19 21:26:34 +01:00
Jan Laupetin f9f93b33ec fix: bad image external loading condition for t6
* change picked from edd6aef2c578b65c3718dc55a2f366bc488f5243 by hc20k
2026-04-17 22:31:05 +02:00