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

497 commits

Author SHA1 Message Date
ad700b661a Mark extern block as unsafe 2025-03-10 15:51:11 -04:00
7720da9b5e Remove funding information 2025-03-10 15:50:00 -04:00
af0d34c011 Extract max comment length into a constant 2025-03-08 13:14:14 -05:00
f89eed5dc6 Calculate the correct checksum when writing character saved data 2025-03-08 13:12:08 -05:00
445a90a0fa Fix write support for character appearance data, add test 2025-03-08 11:34:16 -05:00
b8cc68eb30 Fixup various issues with the character appearance data reading, add tests
I had multiple fields on this wrong, add comment support and tests to ensure
everything is still ship shape.
2025-03-08 11:27:22 -05:00
105c4dbb41 Clarify support for each patch series 2025-03-08 11:07:01 -05:00
f307e48a0c Add support for reading SQDB files 2025-03-08 09:56:43 -05:00
4291d0ae06 Credit FFXIVTools for the Havok parser 2025-03-08 09:22:52 -05:00
9ad81876b2 Fix the abbrevation and prefix for Ear models
Credit to LouisBrunner for pointing this out.
2025-03-08 09:19:32 -05:00
8d6f3a45b3 Differentiate between left and right ring slots
Credit to LouisBrunner for pointing this out.
2025-03-08 09:13:34 -05:00
c9018336c8 Remove leftover println 2025-03-08 09:02:49 -05:00
805a0a7d2c Remove no longer needed comment in Repository tests 2025-03-08 09:01:00 -05:00
bd111b6d53 Remove manual Eq implementation for Repository 2025-03-08 08:57:41 -05:00
0b339886c9 Move SqPack headers to sqpack module 2025-03-08 08:52:23 -05:00
0479dac52d Add basic write support for Index1 file entries 2025-03-06 19:31:18 -05:00
fe6712b5bf Prepare for file entry writing, add test for index1 entries 2025-03-06 19:09:25 -05:00
bb7c74fec8 Redesign how IndexFile parsing works, again
Now it reads much more of the index file format, and tries to handle
index1/index2 differences more opaquely. I'm not yet happy with the API, it
needs a bit more work.
2025-03-06 18:52:26 -05:00
f0554c8c27 Use binrw padding instead of creating a temporary u32 2025-03-06 16:42:19 -05:00
81ffadd870 self_hash in the index header is SHA1 too 2025-03-06 16:38:44 -05:00
385d63491e Note the SHA1 checksum in the sqpack header 2025-03-06 16:37:10 -05:00
7b39492612 Fill out missing sqpack header fields 2025-03-06 16:35:01 -05:00
0d1f61f020 Note that there only seems to be version 1 SqPacks 2025-03-06 16:27:30 -05:00
c9230530a1 Add XBox/PS5 platform ids 2025-03-06 16:26:22 -05:00
1c04657822 Add SqPackFileType enum 2025-03-06 16:20:29 -05:00
75aee9e9d8 Use split_once in parse_repository_category 2025-03-06 16:03:20 -05:00
5c291a4844 Use Rust 2024 edition 2025-03-06 15:57:10 -05:00
75443bf7be Fix some bad patch tests 2025-03-06 15:56:46 -05:00
18de50f365 Fix vertex declaration repr 2024-11-03 11:27:57 -05:00
cbd47e2fe9 Update deny.toml to version 2 2024-11-03 11:14:47 -05:00
0d1c7e9281 Change Dawntrail support in README
Reading stuff will work, writing is WIP.
2024-11-03 11:08:51 -05:00
1234e111c0 Model: Expose vertex streams
This is needed in Novus to properly emulate the game's rendering system.
Later on I'll revamp the Model to only include streams.
2024-11-03 11:02:36 -05:00
f6c2b98b80 Model: Make vertex declarations and enums public 2024-11-03 11:00:33 -05:00
16e4db2a00 ShaderPackage: Begin reading additional data
We do not yet act on it, but this can be used in the future.
2024-11-03 11:00:07 -05:00
d75cbfb0e4 ShaderPackage: Make system_keys and scene_keys public 2024-11-02 21:53:18 -04:00
ceb107cf29 Fix support for retail version Dawntrail materials
The old benchmark-based code no longer works, and now Dawntrail
materials at least don't fail parsing. Thanks to Penumbra for the layout
of the Dawntrail color table rows.
2024-11-02 19:30:31 -04:00
f83b2013fa Support WebAssembly 2024-11-01 16:50:37 -04:00
6e6124a278 Fix even more Clippy and other compiler warnings 2024-09-13 21:47:02 -04:00
e1a9be2756 Test for size_on_disk in patchlist 2024-08-22 20:52:18 -04:00
979b8df45d Add PatchList parsing from Kawari
This was originally from my Kawari project, but this belongs in here, so
we can share it between Kawari and Astra.
2024-08-22 20:38:50 -04:00
7b8c4c9c5f Add tests for the string file operations, fix nul terminator handling
Since this recently had a hand in patch regression, let's start adding
some basic tests for this function.

I realized the writing functions did not take into account the nul
terminator, which is not correct and has been fixed.
2024-07-18 14:17:24 -04:00
66034b6e8d Patch fixing redux: Trim trailing null characters
This fixes broken file operations
2024-07-18 14:08:10 -04:00
4d23bf9f08 Fix path calculation in SqpkFileOperationData, again
This should make retail patches work correctly
2024-07-18 13:57:12 -04:00
d8fae2f822 The frontier URL formats need to be switched around
Otherwise, it will always pick up the old version
2024-06-29 20:03:59 -04:00
2a429c45c9 Meh, fix typo in README 2024-06-29 15:25:11 -04:00
267b880886 Mark Dawntrail as mostly compatible 2024-06-29 15:23:56 -04:00
f52a4b68fc Fix adding multiple files in the same patch, add tests for this
Also fixes patching_test, and makes file paths written in ZiPatches
relative to it's base directory.
2024-06-29 13:25:24 -04:00
657005ad53 Begin writing ZiPatch unit tests
Right now it's only the usual invalid data test we have elsewhere, but
this lays the groundwork to add more!
2024-06-29 12:53:37 -04:00
4357e382ab Move ZiPatch functions under its own struct
For code organization reasons
2024-06-29 12:47:00 -04:00
36d09195fa Mention more NOPs when reading ZiPatch 2024-06-29 12:43:55 -04:00