1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-05-03 17:27:46 +00:00
Commit graph

556 commits

Author SHA1 Message Date
5efa3c9663 Add EXD::get_row function 2025-04-28 23:36:51 -04:00
257f286990 Reduce fluff in README even more 2025-04-28 23:16:27 -04:00
8f7a6cc546 Simplify supported game versions in README 2025-04-28 23:11:22 -04:00
a6afff0d7a Give patch_testing the same treatment as retail_testing 2025-04-28 23:05:20 -04:00
4725da2f3e Remove unused hmac-sha512 dev-dependency 2025-04-28 23:03:03 -04:00
cf25a7f91f Remove more launcher-only functions from Physis
These are now being moved to the separate Miscel library that can be
used standalone with Astra.
2025-04-28 22:58:51 -04:00
75a3eafaf2 Remove non-applicable comment on Language::None 2025-04-28 22:49:39 -04:00
6f0e85e143 Move dat to save data module 2025-04-28 22:48:45 -04:00
60493f8234 Remove custom string map functions in fiin parser 2025-04-28 22:46:11 -04:00
b7ab90e811 Fix Index2 parsing
This was a mess-up from a previous refactor, reading files from Index2
should work again!
2025-04-28 22:33:52 -04:00
475fa3b9aa Add retail test for parsing Havok skeletons 2025-04-28 22:13:06 -04:00
a277131752 Allow skipping certain retail tests with FFXIV_IS_BENCHMARK env var
Benchmarks don't have item names, so there's no point in testing that
because it will always fail.
2025-04-28 22:05:15 -04:00
ebbb4c27d1 Add retail game test to find an item from the EXD sheet 2025-04-28 22:02:01 -04:00
e29e1bfde9 Revert some of the EXD reading changes to fix Item sheet parsing 2025-04-28 21:59:07 -04:00
3049014247 Rename integration_test to retail_test
Also make it use required-features instead of cfg attr'ing everything.
2025-04-28 21:49:41 -04:00
48a91b8418 Remove duplicate or not needed integration testing 2025-04-28 21:44:29 -04:00
6a09348af3 Update dependencies 2025-04-28 17:23:09 -04:00
fa2c2205da Gloat about platform support in the README 2025-04-28 17:20:09 -04:00
e055bcce9b Fix model test due to moved path 2025-04-28 17:18:45 -04:00
1e28c05f3a Move log to save data module 2025-04-28 17:09:25 -04:00
da8bcf13c1 Move save data formats to their own module
I was struggling to think of a way to categorize these for a while, but
I believe these are referred to as "SaveData" internally. Anyway, that's
a good name!
2025-04-28 17:07:35 -04:00
61a24971c2 Move model stuff to it's own module 2025-04-28 16:57:02 -04:00
aae0055966 Add missing REUSE metadata 2025-04-28 16:54:02 -04:00
053cae89a2 Remove fluff from the README 2025-04-28 16:50:24 -04:00
26c4041b68 Refactor EXD parsing, begin adding write support 2025-04-28 16:42:32 -04:00
cdc39ad4b6
Partial map write support (#9)
This adds initial support for writing new/modified maps, which are made up of layer groups (LGB) and terrain (TERA). Neither one is really tested yet, but I started checking some simple examples and it seems to work.
2025-04-13 18:34:18 -04:00
d2e724227b Add missing REUSe metadata 2025-03-31 16:11:23 -04:00
99238d9b5a Add TryFrom implementations for Race, Tribe, Gender 2025-03-31 16:04:28 -04:00
06e1bb0ead Improve race documentation a bit 2025-03-31 15:46:19 -04:00
49698c7f21 Check for invalid race/tribe combinations in get_race_id 2025-03-31 15:42:56 -04:00
baf0df4858 Rename "Subrace" to "Tribe"
Everything uses this terminology, from other projects to the game itself
(internally and in the UI.)
2025-03-31 15:38:42 -04:00
50ea4dde40 Begin Race and Subrace enums at 1
This simplifies charsave parsing and will be useful in other projects
like Kawari.
2025-03-31 15:33:57 -04:00
a34361b956 Try to reject erreonous planner.lgb files 2025-03-28 22:09:39 -04:00
eee7d5867f Add some derives for ColumnDataType 2025-03-23 19:41:19 -04:00
8c7ba051ed Add repr(C) to ColumnDataType 2025-03-23 19:38:03 -04:00
c6baabd404 Remove repr(C) from CharacterData 2025-03-23 19:28:14 -04:00
9fb0655ac5 Expose Hash struct 2025-03-23 19:21:03 -04:00
2db0717141 Fix EXD test 2025-03-23 18:40:44 -04:00
020480e82c Make unknown_a & unknown_b fields of PatchEntry public 2025-03-17 17:36:12 -04:00
d3918c1382 Actually use row ids in EXD files
I'm an idiot, these row ids are here for a reason and are important for actually
reading Excel sheets. The API has changed to a read_row() function that takes a
row id, and I'll improve it before release.
2025-03-15 21:40:34 -04:00
3273070cef Make more layer-related types public 2025-03-15 17:47:29 -04:00
bf0fb97d7c Add missing REUSE metadata to new files 2025-03-15 17:40:25 -04:00
f8db40d74d Improve layer group parsing (lgb files)
I guessed the name, it's more like a collection of layers. This actually fixes a
bunch of mistakes (on my part) as I copied the layout from Lumina, but added a
few changes to make it work with modern zones. There's a whole lot more work
here to do, but now it works to parse New & Old Gridania.
2025-03-15 17:38:54 -04:00
4269d41179 Implement Default for CustomizeData 2025-03-13 00:08:03 -04:00
0f631ca749 Derive Clone in CustomizeData 2025-03-13 00:05:14 -04:00
b61c3383b3 Add DatHeader so we can read gear sets without libxivdat
This is limited to just that one dat type for now, but we can expand it as we
add more parsers.
2025-03-11 17:45:00 -04:00
ed7618a5fa Remove installer.rs that was supposed to be removed 2025-03-11 17:18:26 -04:00
87e3423e40 Move blowfish stuff into it's own module
This cleans up the big src folder we have, this doesn't have any API changes
though.
2025-03-11 17:17:31 -04:00
b54ee74802 Re-arrange SqPack-related formats into their own submodule
This is to make way for another dat module (for the stuff under the user
folder.) This kind of re-organization was inevitable anyway, and I gave the
structs new SqPack-y names to fit their new home.
2025-03-11 17:15:10 -04:00
591c5f55ed Add zlib license to deny.toml 2025-03-11 16:51:53 -04:00