4357e382ab
Move ZiPatch functions under its own struct
...
For code organization reasons
2024-06-29 12:47:00 -04:00
36d09195fa
Mention more NOPs when reading ZiPatch
2024-06-29 12:43:55 -04:00
6869e98f9d
Implement removing files in ZiPatch
2024-06-29 12:43:20 -04:00
c443b17d9e
Support writing new files in ZiPatch
...
This implements parts of the AddFile operation for ZiPatch, which can
now create patches that add files. Note that ZiPatches created with
this will be abnormally huge since compression is not implemented yet.
2024-06-29 12:39:24 -04:00
9fde5472d8
Add write_data_block_patch to write patch data blocks
...
It's only writing uncompressed blocks at the moment, though.
2024-06-29 12:37:54 -04:00
ee5a484730
Implement BinWrite for BlockHeader
2024-06-29 12:37:14 -04:00
30ed0180ce
Implement write_string, add get_string_len helper function
2024-06-29 12:36:54 -04:00
119fefc8c9
Start laying the groundwork for create_patch to create new ZiPatch files
2024-06-29 11:18:49 -04:00
51105859e5
Begin converting all existing patch structs to writable forms
...
This isn't complete yet of course, for future work.
2024-06-29 11:15:19 -04:00
237dd27bd2
Fix mtrl unwrap due to accidental commit
2024-06-29 09:33:48 -04:00
ec04c13fbd
Silence more dead code warnings
...
This is intentional, for various reasons between binrw limitations and
code that isn't used directly in Physis.
2024-06-29 09:33:23 -04:00
a53a7e728c
Remove accidental main.rs commit, add to .gitignore
2024-06-28 06:12:30 -04:00
c4e409c04a
Fix some warnings
2024-06-28 06:10:37 -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
c41c160338
Fix oversight with u32 offsets used in index files API
...
This breaks on Dawntrail's gigantic files, but this also breaks API...
2024-06-28 05:53:42 -04:00
2bcbc27e53
Revert "Explicitly link to unshield library for now"
...
This reverts commit b7e5f914d5
.
2024-06-27 20:34:46 -04:00
e507c247a1
Fix patching for Dawntrail
...
It was overflowing some u32, which are now u64 to prevent this from
happening.
2024-06-27 20:29:48 -04:00
b7e5f914d5
Explicitly link to unshield library for now
...
I don't think this is the right solution, but I need to unbreak some
builds now.
2024-06-27 16:51:03 -04:00
39d7a5b703
Prevent overflow when loading high resolution textures in certain code paths
...
With the release of Dawntrail, these are now being hit - for example loading the
expansion logo in Astra. These are now converted to usize everywhere so it
prevents this from happening.
2024-06-26 23:45:50 -04:00
c1dd406be4
Oops, these paths are not supposed to be absolute
2024-05-26 07:56:20 -04:00
0c105ab089
Fix my stupid programming, we need to use into_iter()
2024-05-26 07:49:55 -04:00
3d8ea7c858
Check if the user and game directories are valid
2024-05-26 07:48:41 -04:00
b87f54f924
Add functions to find existing game/user directories on disk
...
Not tested yet but this is something we have needed for a while
2024-05-26 07:29:40 -04:00
91560de96b
Fix shape values not reading correctly
2024-05-25 23:26:11 -04:00
fdf07fd255
Add find_offset function
...
Currently working around the lack of a good extract() API
2024-05-25 10:47:48 -04:00
0fbb604c73
Derive Clone, Copy for ShaderStage
2024-05-18 11:53:13 -04:00
d700f81af9
Expose ShaderStage enum
2024-05-18 11:49:50 -04:00
e5caab2e64
Run rustfmt and fix more Clippy warnings
2024-05-18 09:42:07 -04:00
306a507969
Fix tests compilation
2024-05-04 14:24:37 -04:00
a1a50de62e
Support chunked dat/index files
...
Needed for grabbing later expansion content that's split between chunks.
2024-05-04 14:20:45 -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
c4e9697faa
Support 3D textures
...
We only supported 2D textures, but 3D textures are needed for the tiling
textures.
2024-04-30 18:01:09 -04:00
a51d5b0a54
Expand staining template read support
...
Nothing is exposed in the API, but I think it's reading properly now.
2024-04-30 18:00:47 -04:00
149e9bb25b
Simplify PBD parsing
2024-04-30 16:17:04 -04:00
0b77a3cfb0
Begin implementing reading Avfx files
2024-04-29 23:06:07 -04:00
b74fda45a9
Add STM module
2024-04-29 21:01:10 -04:00
171d516f38
Add AVFX module
2024-04-29 20:59:30 -04:00
172952af9b
Add PAP module
2024-04-29 20:57:15 -04:00
4fbd2cb668
Add PHYB module
2024-04-29 20:52:25 -04:00
05ccc566e9
Add SCHD module
2024-04-29 20:49:24 -04:00
e588a9bbc9
Add TMB and SKP modules
2024-04-29 20:26:13 -04:00
8a1430378e
Add IWC module
2024-04-29 20:19:04 -04:00
5924da0991
Add HWC module
2024-04-29 20:14:19 -04:00
6dec9ba5a5
Add SCD module
2024-04-29 20:11:32 -04:00
511be2532c
Add SGB module
2024-04-29 20:08:14 -04:00
bb2effcd70
Add ULD module
2024-04-29 20:06:34 -04:00
349a194060
Remove possible panic when checking if a file exists
...
Probably a leftover from me
2024-04-29 19:09:51 -04:00