89d026bf63
Remove usage of crc crate as a main dependency
...
This was temporarily used for shader key hashing, but now an original
implementation using zlib's crc32 function from crcracker
(https://github.com/NotNite/crcracker/ ) is used instead. Tests are added
and existing ones are used to ensure it's the same.
2024-04-29 18:57:15 -04:00
6f5831e60d
Swap BGRA to RGBA
2024-04-27 21:16:01 -04:00
fdfbfc2c6d
Allow for multi-value float material constants
2024-04-27 18:43:49 -04:00
1823b1f084
Fix the shapes crashing on certain models
...
This is a hack to get things working for now
2024-04-27 18:43:32 -04:00
808b383949
Expose material constant data
2024-04-27 12:58:36 -04:00
f54e128bba
Expose the default subview keys
2024-04-27 12:36:31 -04:00
499081beb2
Actually expose those new material parameters
2024-04-27 12:15:54 -04:00
6995392b5b
Fix loading shader packages for Dawntrail
2024-04-27 11:55:16 -04:00
545888638e
Expose shader keys, constants, samplers and shader values
2024-04-27 11:53:37 -04:00
b4a9c48823
Make ShaderKey Cloneable and Copyable
2024-04-26 22:40:42 -04:00
f2c360f7ea
Set repr(C) on ShaderKey
2024-04-26 22:36:40 -04:00
cc729e38d8
Add crc method to SHPK for calculating it's value, add test for selector
2024-04-21 10:04:40 -04:00
58c3e15e2c
Remove some more debug messages
2024-04-20 15:12:40 -04:00
d5b3b8a468
Run cargo fmt
2024-04-20 13:18:03 -04:00
6e50f03cd9
Fix yet more clippy warnings
2024-04-20 13:17:11 -04:00
79e6f20d86
Oops, remove accidental unwrap commit in Texture
2024-04-20 13:00:07 -04:00
3e00c35bd8
Switch to texture2ddecoder
...
This crate supports more BCn decoders which texpresso doesn't (like
BC7.)
2024-04-20 10:47:43 -04:00
1b055b3f7a
Switch to libz-ng-sys
...
This is supposedly faster, and more importantly has less build
dependencies.
2024-04-20 10:12:24 -04:00
04eecd5030
Add basic support for B4G4R4A4 textures
...
Not sure if it's actually correct, but it works without crashing now.
2024-04-20 10:00:13 -04:00
ed9d7936e1
Improve the docs for model file ops and vertex declarations
2024-04-20 09:03:16 -04:00
60d6382fbf
Fix compilation for execlookup
2024-04-19 19:14:07 -04:00
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