1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-22 12:47:45 +00:00
Commit graph

70 commits

Author SHA1 Message Date
01717456d1 Add material file parsing 2022-08-11 15:40:14 -04:00
6554dee2f1 Decompress and return rgba data for textures 2022-08-11 15:03:12 -04:00
0210479fd3 Parse texture attribute and formats 2022-08-11 09:23:15 -04:00
214e5495fe Properly set bone parenting Skeleton::from_skel, export bone transforms 2022-08-10 14:52:11 -04:00
5ca60cb95d Export affected bone names 2022-08-10 14:51:50 -04:00
5d8e8e23e5 Add some new equipment functions needed for VARC tool
* Added deconstruct_equipment_path to grab the model id and slot from
an already made equipment filename.
* Added get_slot_from_abbreviation to be the reverse of
get_slot_abbreviation.
2022-08-10 14:51:36 -04:00
715ec49252 Add documentation link 2022-08-10 00:02:04 -04:00
723700dfcf Automatically update crate docs on push 2022-08-09 23:55:05 -04:00
c609974fe2 Fix warning in doctest 2022-08-09 23:44:11 -04:00
642cb94896 Make install_game no longer unsafe, propagates errors 2022-08-09 23:39:31 -04:00
6f9b5c59d7 Fix misc warnings 2022-08-09 23:39:15 -04:00
59913434e6 Read boot version 2022-08-09 23:17:19 -04:00
e094742690 Properly propagate errors up the stack for game_data::extract 2022-08-09 22:43:04 -04:00
22569cf09d Oops, apparently index and patch platform id sizes are different! 2022-08-09 22:37:40 -04:00
2784935409 Actually extract expansion number 2022-08-09 22:31:48 -04:00
2a723f459f Make RepositoryType copyable 2022-08-09 22:07:17 -04:00
e172433b00 Propagate patch errors for BootData too 2022-08-09 21:53:20 -04:00
8c3f848918 Make RepositoryType repr(C) 2022-08-09 21:52:07 -04:00
18322a13d2 Handle patching error handling better
* Move PlatformId to common module.
* Platform id is no longer hardcoded to win32.
* Parse apply options correctly.
* Parse target info better, use more native structures.
* All errors are now handled properly, and propagated up.
* Added a new Region enum.
* Added todo!() to all unhandled patching branches.
* Paths are now built using PathBuf instead of format!().
* process_patch function is no longer accessible, now you have to use
the function found in GameData and BootData.
2022-08-09 21:51:52 -04:00
03e3d3ca21 Simplify index file return 2022-08-09 20:05:11 -04:00
ba5d8bc628 Create get_dat_file function 2022-08-09 20:03:18 -04:00
d318dcb788 Use PathBuf in get_index_file 2022-08-09 20:00:02 -04:00
99fc3165e5 Document FileType enum 2022-08-09 19:53:17 -04:00
a471ce1080 Separate standard, model, etc. reading into their own methods 2022-08-09 19:50:37 -04:00
6173ce422f Oops, forgot to fix string_to_category 2022-08-09 19:39:31 -04:00
e1b3c78e0d Fix typo in enum comments 2022-08-09 19:38:53 -04:00
4541a1d033 Expand repository enum variant names, to match with the other ones 2022-08-09 19:38:39 -04:00
a262591057 Can't do math, fix index hash table entry size 2022-08-09 19:35:14 -04:00
7292ad930a Add Texture structure, begin reading header 2022-08-09 19:31:32 -04:00
42ec97d70c Add chat log parser 2022-08-07 16:19:04 -04:00
753091f86f Document the two FileInfo functions 2022-08-06 21:21:55 -04:00
03f9df66d3 Hardcode index entry size as 24 bytes, since the Rust size doesn't match 2022-08-06 21:19:31 -04:00
3bd6fbf9c3 Enable support for writing the file info format
This is the first step in enabling write support for a format! I wanted
to see how binwrite works with one of the game's simplest formats.
2022-08-06 21:16:09 -04:00
5b7cf1d6a3 Add support for reading the file info format
I revisited this format, and discovered a lot of stuff I did wrong the
first time around when writing libxiv. Now that's fixed!
2022-08-06 20:38:15 -04:00
7b2751f57e Expand README 2022-08-06 18:40:16 -04:00
c02a2243be Update dependencies 2022-08-06 18:30:00 -04:00
2a1638e6da Explicitly use half 1.0, since that's what criterion uses too
It's not that big of a deal, we just use one small part of the half
library. This is to appease cargo deny of course :-)
2022-08-06 18:22:27 -04:00
66f1702b83 Install unshield on CI 2022-08-06 18:19:01 -04:00
1c72bc6da5 Add beginnings of skeleton parsing support
Now we support TexTools skel files, alongside the usual Havok packfiles.
Neither one has complete support (yet) but I'm exploring libraries to
accomplish them.

The dependencies are now commented to describe their usage and future
plans.
2022-08-06 18:15:33 -04:00
8b6b6b036c More small changes to the model module
* Removed unused import
* Used more result checks
* Removed unnecessary mutable variable
2022-08-06 18:07:42 -04:00
c03c6495fc Combine the AddDirectoryChunk and DeleteDirectoryChunk patch structs
They are actually the same structure, so now they are combined into
one (similar to DeleteData and ExpandData, I should rename those too)
2022-08-06 18:07:06 -04:00
911f8b25c8 Remove unused import in benchmark code 2022-08-06 18:06:18 -04:00
6f12fec62f Make sqpack module public again, as I forgot it's used for benchmarks. 2022-08-06 18:06:06 -04:00
4d86af88c1 Fix another typo 2022-08-06 18:05:16 -04:00
1028c935d2 Move deny-check CI task as the last one, to help real unit tests run
Previously, if deny-check failed - unit tests wouldn't run which is
weird. Sourcehut CI currently doesn't allow later tasks to run despite
a previous failure, so let's try shuffling them around instead.
2022-08-06 18:05:01 -04:00
184e794e26 Fix EXL doc test failures, and one typo 2022-08-06 18:03:00 -04:00
287d807f01 Normals are typically three half-width floats, not three full floats 2022-08-05 18:23:52 -04:00
195726b1d0 Make vertex members public, and repr(C) 2022-07-28 15:20:47 -04:00
ddda9bc598 Remove other debug message when loading a mdl 2022-07-28 14:17:50 -04:00
aeed62fb4c Implement MDL parsing
The actual vertex output is untested, but the headers parse fine it
seems. A lot of this is ported straight from C++, so more refactoring
is expected.
2022-07-28 14:11:02 -04:00