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
c4549a413f
Remove duplicated dat/index filename calculations from patch routine
...
This also removes the hardcoded ffxiv repository in the path, so now it
should properly calculate the correct expansion folder.
2022-07-20 15:04:55 -04:00
d6c85ab6a6
Add match for unhandled operation
2022-07-20 11:42:31 -04:00
115733d0b6
Add missing DeleteFile operation, fix-up wipe buffer handling
...
This makes game patching fully functional now!
2022-07-20 11:00:21 -04:00
2feddfbe98
Add build manifest
2022-07-19 20:08:14 -04:00
389c3fe00b
Add initial files
2022-07-19 19:29:41 -04:00