3389f62340
Implement shape reading/writing, fix runtime size calculation
2024-02-25 09:35:18 -05:00
36027c9a9f
Write out a proper end of stream vertex element
2024-02-25 09:01:59 -05:00
f43812fa55
Fix up padding/unknowns in ModelHeader
2024-02-25 08:54:27 -05:00
4194ec4432
Rename Uint4 to Byte4 so it's clearer
2024-02-25 08:54:16 -05:00
ecc872ead1
Use better constant values for model file header and vertex element
2024-02-25 08:41:03 -05:00
256b3f9305
Add basic support for LGB and TERA files
...
This is for the Novus map editor, although TERA is much more complete
than LGB right now.
2024-02-02 14:20:53 -05:00
872cabb2fa
Support terrain shadow meshes and submesh meshes
...
This should fix most terrain models which has this data filled.
2024-02-02 14:19:36 -05:00
47649dfff5
Support half2 reading/writing
2024-02-02 14:18:58 -05:00
fd43401eae
Protect model file i/o, decls behind visual_data feature
2024-01-31 16:33:53 -05:00
e26c70221e
Oops, half4 positions should not be written as single4
2024-01-29 17:18:13 -05:00
5629cc5551
When writing half4 normals, fill it with 0.0 instead of 1.0
2024-01-29 17:06:24 -05:00
afe809f33c
Store the unknown padding
...
Don't know what it's used for yet still.
2024-01-29 17:05:57 -05:00
f2475c99ce
Remove unused imports in SHPK
2024-01-29 16:22:45 -05:00
c7c9c38980
Move comment to it's right place in ModelData::calculate_runtime_size
2024-01-29 16:02:56 -05:00
1810821fd7
Implement Default trait for Vertex
2024-01-29 16:01:58 -05:00
eb08d9f142
Move calculating runtime size to it's own function
2024-01-29 15:57:00 -05:00
d925bf6e95
Add more unknown event filters and channels
2024-01-29 15:49:16 -05:00
8b1be6306c
The single Blowfish test is for encryption and decryption
2024-01-29 15:10:38 -05:00
189c891b07
Support shader keys better in MTRL
2024-01-29 15:07:59 -05:00
a18602e3d5
Rewrite SHPK reading
2024-01-29 15:07:35 -05:00
6000720658
Fix tangent reading/writing
2023-12-17 18:58:48 -05:00
3721644340
Separate vertex declaration/element code into its own file
...
This is around 100 LoC by itself, so it's nice to separate that
2023-12-13 17:23:56 -05:00
0b0850c574
Use custom binrw parsers/writers for VertexDeclarations
...
Eventually I want to consolidate the model headers, and this makes it,
so we only need a ModelFileHeader::read or write call without a separate
step.
2023-12-13 17:19:06 -05:00
835b48ff5b
Add explicit calculate_stack_size function and test it
2023-12-13 16:51:40 -05:00
1902dadbec
Add cmake to ci
2023-12-12 22:22:21 -05:00
6b240a804b
Shut up Clippy about the code I didn't write
2023-12-12 22:16:19 -05:00
fadf811505
Move the model file operations to their own file
...
It helps declutter the already huge model file a bit.
2023-12-12 22:13:15 -05:00
60f4d49a0c
Remove more magic constant numbers with std::mem::size_of
2023-12-12 22:08:19 -05:00
5cce23bd3c
Finish model writing support
...
It now handles writing a model of a higher vertex count (which is
unfortunately really common in round trips, for example in Blender.)
Some of the code is still WIP, but it works!
2023-12-12 21:43:04 -05:00
5f1721fe14
Begin work on supporting writing different vertex counts
2023-12-10 14:52:49 -05:00
fc2d2f73cf
Begin support for importing models of different vertex/index counts
2023-12-09 17:18:02 -05:00
c2426193ca
Add MDL::replace_vertices function
...
Will be used for model writing in the future
2023-12-09 14:45:00 -05:00
8efbe484a5
Fix other misc warnings
2023-12-02 20:33:08 -05:00
609284ce8f
Improve FIIN documentation
2023-12-02 20:28:28 -05:00
7b739f655b
Don't expose ChatLogHeader publicly
2023-12-02 20:27:02 -05:00
61e6d2d5db
Improve race documentation
2023-12-02 20:26:38 -05:00
c79cfc3df6
Improve log documentation
2023-12-02 20:26:34 -05:00
67eab58c24
Fix some clippy warnings
2023-12-02 20:17:05 -05:00
06c13853c3
Improve gamedata documentation
2023-12-02 20:12:12 -05:00
2c5491f82c
Improve patch documentation
2023-12-02 20:12:09 -05:00
2f29b8eeae
Improve CFG documentation
2023-12-02 20:01:39 -05:00
2ded1ac2a0
Improve PBD documentation
2023-12-02 19:59:41 -05:00
88562f4dc6
Improve SHPK documentation
2023-12-02 19:58:22 -05:00
a2db761e18
Improve SKLB documentation
2023-12-02 19:57:04 -05:00
7eb11e412f
Improve TEX documentation
2023-12-02 19:55:50 -05:00
76b1f1e352
Improve CMP documentation
2023-12-02 19:55:13 -05:00
55957cb3e0
Add license to README, other improvements
2023-12-02 19:49:06 -05:00
4157eb0a67
Update binrw and tracing dependencies
2023-12-02 19:45:46 -05:00
e23383f439
Remove for loop in writing MDL indices
2023-11-24 08:29:32 -05:00
7b162f6644
Replace some magic numbers with more readable constants
2023-11-24 08:25:45 -05:00