1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-21 20:27:46 +00:00
Commit graph

305 commits

Author SHA1 Message Date
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
49a8752462 Remove unused round function in MDL 2023-11-24 08:18:46 -05:00
108d33f166 Add MDL::pad_slice test 2023-11-24 08:18:15 -05:00
cf79810dc9 Fix rounding errors
Now model files can be read and written and are (almost) identical!
There's some mysterious padding issues yet to solve, but that's only at
the end of the file.
2023-11-24 08:16:03 -05:00
5f7dd355cf Add support for UV1 reading/writing, tangent and color 2023-11-24 08:07:30 -05:00
18bb4ac54c Add fill argument for MDL::pad_slice 2023-11-24 08:07:10 -05:00
280ba9b292 Add tests for MDL component reading and writing 2023-11-24 08:06:57 -05:00
b99599867a Fix up more model writing woes 2023-11-22 21:21:01 -05:00
b210782af0 Don't use println 2023-11-10 17:25:53 -05:00
b147027e58 Allow exists() to return false if all index files are invalid 2023-11-10 17:20:12 -05:00
63cfa56074 Check if index file is valid before caching 2023-11-10 17:17:34 -05:00
1869c31268 Fix some warnings 2023-10-13 16:59:39 -04:00
b180adeb44 Improve performance when extracting files by caching open index files
In Hotspot it was revealed that a huge chunk of performance is lost due
to repeated IndexFile::from_existing calls, which may be on the same
index file. Now GameData transparently keeps a cache of these in memory
which speeds up the slowest link here.
2023-10-13 16:58:08 -04:00
7a75c170cc Make a semantic difference between owned and non-owned byte data 2023-10-13 16:16:04 -04:00