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
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
237dd27bd2
Fix mtrl unwrap due to accidental commit
2024-06-29 09:33:48 -04:00
926e7e2c78
Add another unknown new-from-Dawntrail texture usage magic
...
Saw in bg/ffxiv/fst_f1/fld/f1f3/material/f1f3_w1_mizu4a.mtrl, which is
some water material.
2024-06-28 06:06:23 -04:00
e5caab2e64
Run rustfmt and fix more Clippy warnings
2024-05-18 09:42:07 -04:00
8ecbd74283
Better expose the color table rows for materials
2024-05-04 14:20:02 -04:00
5625950f2a
Expose the color table & color dye table
2024-04-30 19:51:46 -04:00
139afb46fa
Add support for reading the color dye table from a material
2024-04-30 19:48:32 -04:00
b595d48963
Add support for reading the color table from a material
2024-04-30 19:43:47 -04:00
fdfbfc2c6d
Allow for multi-value float material constants
2024-04-27 18:43:49 -04:00
808b383949
Expose material constant data
2024-04-27 12:58:36 -04:00
499081beb2
Actually expose those new material parameters
2024-04-27 12:15:54 -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
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
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
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
11b554ef80
Add invalid data test for Material
2024-04-16 22:05:59 -04:00
189c891b07
Support shader keys better in MTRL
2024-01-29 15:07:59 -05:00
7a75c170cc
Make a semantic difference between owned and non-owned byte data
2023-10-13 16:16:04 -04:00
2000b978b3
Ensure compliance with REUSE, add to CI
2023-08-06 08:25:04 -04:00
f84bd8295d
Always read additional data from material files
2023-03-31 21:31:54 -04:00
67d2f035c3
Reformat code with rustfmt
2022-10-20 11:45:55 -04:00
eebe89a4bd
Remove some import warnings
2022-10-13 17:11:28 -04:00
177523831b
Switch a lot more parsers from binread -> binrw
...
This doesn't necessarily mean that these formats support writing (yet)
but just to solve the initial compilation errors.
2022-10-13 17:11:03 -04:00
e86d910594
Update binrw to 0.10.0
...
This introduces a new breaking change, namely that all endianness must
be known. I've done the best I can, but I'll be checking soon.
2022-10-13 16:03:46 -04:00
9819f87fcc
Suppress some warnings
2022-09-15 16:26:31 -04:00
d9e79e563a
Reformat code
2022-08-16 11:52:07 -04:00
209b475065
Make material struct members public
2022-08-11 15:51:39 -04:00
01717456d1
Add material file parsing
2022-08-11 15:40:14 -04:00