f83b2013fa
Support WebAssembly
2024-11-01 16:50:37 -04:00
6e6124a278
Fix even more Clippy and other compiler warnings
2024-09-13 21:47:02 -04:00
e1a9be2756
Test for size_on_disk in patchlist
2024-08-22 20:52:18 -04:00
979b8df45d
Add PatchList parsing from Kawari
...
This was originally from my Kawari project, but this belongs in here, so
we can share it between Kawari and Astra.
2024-08-22 20:38:50 -04:00
7b8c4c9c5f
Add tests for the string file operations, fix nul terminator handling
...
Since this recently had a hand in patch regression, let's start adding
some basic tests for this function.
I realized the writing functions did not take into account the nul
terminator, which is not correct and has been fixed.
2024-07-18 14:17:24 -04:00
66034b6e8d
Patch fixing redux: Trim trailing null characters
...
This fixes broken file operations
2024-07-18 14:08:10 -04:00
4d23bf9f08
Fix path calculation in SqpkFileOperationData, again
...
This should make retail patches work correctly
2024-07-18 13:57:12 -04:00
d8fae2f822
The frontier URL formats need to be switched around
...
Otherwise, it will always pick up the old version
2024-06-29 20:03:59 -04:00
2a429c45c9
Meh, fix typo in README
2024-06-29 15:25:11 -04:00
267b880886
Mark Dawntrail as mostly compatible
2024-06-29 15:23:56 -04:00
f52a4b68fc
Fix adding multiple files in the same patch, add tests for this
...
Also fixes patching_test, and makes file paths written in ZiPatches
relative to it's base directory.
2024-06-29 13:25:24 -04:00
657005ad53
Begin writing ZiPatch unit tests
...
Right now it's only the usual invalid data test we have elsewhere, but
this lays the groundwork to add more!
2024-06-29 12:53:37 -04:00
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
528b7789b7
Mention WIP ZiPatch writing support in README
2024-06-29 12:40:15 -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
bee7c9e3c9
Only set up SSH key on main branch
2024-06-29 10:23:42 -04:00
22c5c71f42
Fix displayed version of physis in README
2024-06-29 10:05:01 -04:00
c90a46186f
Don't probe system dependencies on Windows
...
This should help unbreak the Astra build on Windows.
2024-06-29 09:55:08 -04:00
9e831047fc
Run CI on all branches
2024-06-29 13:46:44 +00: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
444ec6e593
Bump binrw, texture2ddecoder
2024-06-28 06:16:20 -04:00
a53a7e728c
Remove accidental main.rs commit, add to .gitignore
2024-06-28 06:12:30 -04:00
2e6b4d3264
Fix compilation of integration tests without the patch_testing feature
2024-06-28 06:10:50 -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
acb5c6a7a3
Bump version to 0.4.0 now that 0.3.0 is released
2024-06-27 23:02:54 -04:00
70fa4dc62f
Bring back usage of system-deps
2024-06-27 20:40:34 -04:00
2bcbc27e53
Revert "Explicitly link to unshield library for now"
...
This reverts commit b7e5f914d5
.
2024-06-27 20:34:46 -04:00
6bf79500b2
Revert "Try to yeet that build.rs"
...
This reverts commit 6700d1f3ac
.
2024-06-27 20:34:40 -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
2da8b9141d
Improve patch test output, print errors when XIVQuickLauncher fails
...
After a frustrating fight match with .NET, this is useful to see why it
failed to launch and whatnot. It only prints out when the process fails
though, to prevent spam.
2024-06-27 17:29:38 -04:00
cc566bb0cc
Move patch testing to its own file
...
Because It's so freaking big!!
2024-06-27 16:52:22 -04:00
e8e4e35cd1
Explain what environment variables are needed in test panics
...
It helps me to re-learn what I need here :)
2024-06-27 16:51:24 -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
6700d1f3ac
Try to yeet that build.rs
2024-05-26 08:59:53 -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
0509edfcfd
Fix another typo in README
2024-05-25 23:52:54 -04:00