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

289 commits

Author SHA1 Message Date
b4fe74cf7d Add a new module to extract strings from executables 2024-04-18 22:53:53 -04:00
5574e75325 Add support for reading dictionary files
This is the format used for such things as the vulgar word list. Credit
goes to Jim Kirisame who developed an existing tool to read this format!
2024-04-18 22:09:26 -04:00
b9110b58ec Some code cleanup in texture 2024-04-18 22:07:57 -04:00
99f79ddb6b Fix model submesh bone map size for Shadowbringers
Not entirely sure if this is correct yet, I need to test this more.
2024-04-17 21:59:23 -04:00
b1d0ccc90e Fix ps3/ps4 repository tests 2024-04-17 21:46:44 -04:00
370b6ac009 Remove the padding "fixes" for Dawntrail materials
According to https://github.com/TexTools/xivModdingFramework/pull/60 the
amount of color sets changed in Dawntrail.
2024-04-17 21:40:32 -04:00
774740c470 Remove temporary padding "fixes" for Dawntrail models
According to https://github.com/TexTools/xivModdingFramework/pull/60 the
bone table structure changed. Now the correct bone table is loaded for
Dawntrail.
2024-04-17 21:26:50 -04:00
2e27a999d6 Add types for short2/short4 vertex formats
As seen in 16d32cf5a8
2024-04-17 20:44:12 -04:00
7cf6ab8f60 Simplify texture code for now, add actual BC5 support 2024-04-17 20:43:11 -04:00
58f411005d Fix Dawntrail materials not loading
They changed the color set structures of course, so make sure not to
completely crash and burn on newer material versions.
2024-04-17 20:23:44 -04:00
b86eb29d81 Temporarily fix loading blend weights from Dawntrail 2024-04-17 20:22:50 -04:00
dff1a83809 Fix Dawntrail model loading
I figured out some crappy padding I need to add, not sure what these
exactly are yet!
2024-04-17 17:47:03 -04:00
2af1543c9b Fix index2 files never being added to GameData 2024-04-17 17:21:52 -04:00
140067c876 Fix the wrong underlying representation for Platform
I forgot that for index files, it's supposed to be u8 while for patch
files it's u16 (why??) This is now fixed.
2024-04-17 17:21:43 -04:00
33e9be8af1 Fix wrong platform strings
I personally confirmed this for PS3, unknown about PS4. Add TODOs about
other platforms.
2024-04-16 22:16:42 -04:00
58cec6c91f Remove some unused imports 2024-04-16 22:08:46 -04:00
4b6166f8d0 Add invalid data test for Texture 2024-04-16 22:08:22 -04:00
17ba7f2389 Add invalid data test for Terrain 2024-04-16 22:07:50 -04:00
7414d19b57 Add invalid data test for Skeleton 2024-04-16 22:07:30 -04:00
4a882d529d Add invalid data test for ShaderPackage 2024-04-16 22:06:59 -04:00
54c08dbdcb Add invalid data test for PreBoneDeformer 2024-04-16 22:06:27 -04:00
11b554ef80 Add invalid data test for Material 2024-04-16 22:05:59 -04:00
a7a9a7855e Add invalid data test for MDL 2024-04-16 22:05:39 -04:00
087deb2bc8 Add invalid data test for ChatLog, add a simple check for invalid data 2024-04-16 22:04:02 -04:00
170a1d27a7 Add invalid data test for Lgb, add a simple check for invalid data 2024-04-16 21:57:30 -04:00
f460f5b944 Add invalid data test for Index/Index2 2024-04-16 21:54:56 -04:00
cfe08de0d7 Add invalid data test for FileInfo 2024-04-16 21:53:32 -04:00
890c228c85 Add invalid data test for EXL 2024-04-16 21:53:10 -04:00
e51b1024df Add invalid data test for EXH 2024-04-16 21:52:36 -04:00
d9bf25cb0e Add invalid data test for EXD 2024-04-16 21:52:14 -04:00
3b6c4e83df Remove panic in DAT file reading, and add invalid data test 2024-04-16 21:49:26 -04:00
cc10ec7bac Add invalid data test to CMP 2024-04-16 21:43:52 -04:00
363abc67da Add invalid data test to CharacterData 2024-04-16 21:43:15 -04:00
170c61b556 Add a test to CFG, to see if it panics on clearly invalid garbage data 2024-04-16 21:40:30 -04:00
74940c0436 Don't call unwrap() nearly as much in reading DAT files 2024-04-16 21:33:09 -04:00
a0a57df348 Don't call unwrap() in writing CMP files 2024-04-16 21:28:53 -04:00
e5bbde95fd Don't call unwrap() in writing CharDat files 2024-04-16 21:28:33 -04:00
aa62b70498 Don't call unwrap() when reading Index2File 2024-04-16 21:27:41 -04:00
d3970754f1 Support filenames without directories in IndexFile
This can't happen I don't think, but we should definitely not panic when
it does.
2024-04-16 21:25:53 -04:00
26e89e8873 Remove more dead code 2024-04-16 21:19:08 -04:00
da774529da Remove overcomplicated internal race macro to a big match statement
There's really no reason to use macros for this, let's rewrite it in a
big match statement.
2024-04-16 21:14:59 -04:00
f067b653b1 Add common functions for converting bool back and forth from u8/16
Sort of unnecessary, but these are also tested.
2024-04-16 21:03:26 -04:00
fa4cc1efaa Add tests for filenames on each platform 2024-04-15 19:49:57 -04:00
57d13f0b21 Remove hardcoded "win32" string in repository filename functions
Second part to that recent refactor, so eventually it might be possible
to read DATs from other platforms.
2024-04-15 19:43:16 -04:00
e146b31bd4 Unify Platform enums, use it in GameData API and yet more simplifying
So we had a couple copies of a Platform enum, so now there's a public
one in the common module. It wasn't possible to specify what platform
the GameData is, so now it's part of initialization. While I'm at it,
remove the stupid reload_repositories() requirement and make that a
private part of the API.
2024-04-15 19:40:55 -04:00
5c66c51713 Simplify and change Repository API, test it as well
We can simplify some of the repository code since there's now two
separate functions for base/expansion repositories. Added tests to make
sure reading doesn't regress like it did before.
2024-04-15 19:25:31 -04:00
7a496f7f3c Test writing FIIN files, only use filename
FIIN files only store the filenames of files, not their absolute path.
This adds tests which test regressions in this behavior.
2024-04-15 19:03:02 -04:00
840682e1d0 Simplify some EXL parsing code 2024-04-15 18:50:01 -04:00
f80b290c4e Jamcrc should be crate level public
This doesn't make any functional difference (because the module isn't
public) but whatever, still want to do it
2024-04-15 18:38:22 -04:00
1c3c75a144 Remove unused import in BootData 2024-04-15 18:24:49 -04:00