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

305 commits

Author SHA1 Message Date
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
c36c4b7470 Document more public APIs in preparation for docs release 2022-07-27 21:41:05 -04:00
be9c850fc1 Remove some warnings 2022-07-27 21:21:50 -04:00
0a99c6f7a7 Fix EXL unit test due to API change 2022-07-27 20:58:51 -04:00
e9263767c4 Add unit tests to CI 2022-07-27 20:58:21 -04:00
92be18da39 Move integration tests behind a feature flag in preparation for CI 2022-07-27 20:58:12 -04:00
7486c558ce Remove repr(C) from ColumnData 2022-07-21 21:01:48 -04:00
036a37c839 Make ColumnData repr(C), make EXH members public outside of crate 2022-07-21 20:25:37 -04:00
4ac3fc378d Define enum size for Language 2022-07-21 20:08:14 -04:00
ca4962c876 Add EXH and EXD parsers 2022-07-21 19:58:58 -04:00
da673cbadf Language now derives BinRead 2022-07-21 19:58:07 -04:00
343e972b7d Remove build.rs, move linker step to installer file 2022-07-21 18:57:57 -04:00
e8183b3af6 Add game installation functionality 2022-07-20 19:07:36 -04:00
db2ea22201 Create directories if needed for AddData, ExpandData, etc 2022-07-20 17:25:10 -04:00
f340319a9e Stub out SqpkFileOperation::RemoveAll 2022-07-20 16:30:17 -04:00
70a92594a2 Re-add support for FDHR version 2, used for boot patches still 2022-07-20 15:45:22 -04:00