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

339 commits

Author SHA1 Message Date
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
eeebc3e0f0 Fix benchmark compilation due to recent API changes 2024-04-16 21:26:01 -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
eeb877288f Bump version to 0.3.0 2024-04-15 21:35:29 -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