Jan Laupetin
f7f4deeecc
chore: choose appropriate extension for ipak file
2026-05-15 13:02:49 +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
Jan Laupetin
52bd60a799
chore: refuse to use npm version that does not support min-release-age
2026-04-05 09:42:06 +02:00
Jan Laupetin
514700a41f
chore: update package-lock deps
2026-04-05 09:42:02 +02:00
Jan Laupetin
6ef0cd8266
chore: add min-release-age setting in npmrc
2026-04-05 09:39:45 +02:00