3eec5764a2
Add support for reading/writing CFG files
2023-08-02 16:26:56 -04:00
e286b93dfc
Add test for blowfish module
2023-08-02 16:26:20 -04:00
b180cf5aac
Fix patching for some patch files
...
We still need to read the index type, even though it's NOP. It appeared
in a recent patch!
2023-07-30 14:45:19 -04:00
59fc7d9786
Expose version
2023-07-30 10:28:32 -04:00
9a004e705d
Fix more warnings
2023-07-30 08:58:59 -04:00
b3f8523677
Add support for single3/4 normals and UVs
...
Seems to be common in TexTools imported MDLs
2023-07-09 11:56:45 -04:00
bd104fbae0
Add support for loading character .dat files
2023-07-08 15:29:00 -04:00
298530b992
Add support for building character model paths
...
These are needed to grab hair, faces, tails, etc.
2023-07-08 11:58:57 -04:00
5163fa988f
Add a function to query supported subraces
2023-07-07 16:03:01 -04:00
2b95630c2b
Begin support for CMP files
2023-07-06 17:34:14 -04:00
89f780c22a
Fix name of base repository
...
It was misread as "game" when it really should be "ffxiv"
2023-07-06 16:01:32 -04:00
ef97cfd1ce
Simplify vertex loading and fix incorrect bone data
2023-07-05 19:42:53 -04:00
b3debd7839
Stop crashing on first boot, with no expansions installed
2023-05-13 17:30:15 -04:00
22b645ec3b
Allow GameData::read_excel_sheet to fial
2023-04-09 15:35:54 -04:00
49ed178bb2
Add GameData::get_all_sheet_names()
...
To replace libxiv's function of the same name, used by Novus
2023-04-09 15:35:42 -04:00
0eb8e4c932
Make more EXH fields public
2023-04-09 15:35:10 -04:00
925e928783
Allow Language to be copied and cloned
2023-04-09 15:33:43 -04:00
a62c638766
Fix texture loading due to not enough memory
2023-04-06 14:52:04 -04:00
540341cf57
Add logging crate
2023-04-06 14:51:40 -04:00
f84bd8295d
Always read additional data from material files
2023-03-31 21:31:54 -04:00
ba80ca326b
Export material indices for MDL parts
2023-03-31 21:31:15 -04:00
8af6bfeb8b
Export material names used in MDL files
2023-03-31 21:31:03 -04:00
4c9987a236
Derive Debug for RepairError
2023-03-31 17:30:30 -04:00
69c3ca3bf9
Upgrade dependencies, including moving to binrw 0.11 which breaks stuff
...
The one exception is bitflags, because 2.0 has breaking changes I can't
work around...
2023-03-31 17:30:30 -04:00
425f755850
Fix clippy warnings about unnecessary deref, useless casts
2023-02-20 16:07:48 -05:00
dfda25111a
Minor formatting and linter fixes
2022-12-17 08:23:19 -05:00
5082fee083
Fix some small warnings
2022-10-25 14:00:04 -04:00
6da9057d1e
Allow cutting out a large amount of dependencies
...
Before this change, if you wanted to include physis you had to include
a bunch of dependencies you didn't need. For example, a launcher would
have to pull in texpresso which is completely useless. By default,
the features from before (excluding game_install) are included.
Also this creates a game_install feature for eventual Windows builds,
where unshield is not supported.
2022-10-25 13:53:24 -04:00
6e6aa896a6
Run rustfmt
2022-10-25 13:02:06 -04:00
827e971035
Vendor in sha1_smol
...
Removes another crate dependency, and it's only used in one place in the
code. Will eventually pick up the TODO and cut more bits off when
I get around to it.
2022-10-25 13:00:10 -04:00
7aa306da99
Replace crc crate with simpler implementation
...
The package is kept as a dev-dependency to prevent regressions though!
2022-10-25 13:00:10 -04:00
d17f860f07
Allow naive repairing of version files
...
Currently, we not handle repairing version files well, so I
sought to seek a solution to the problem. This is one of part of the
puzzle, by implementing a simple "game repair". This is not
IndexedZiPatch support, but simply checking if we can restore version
files if possible, or otherwise wipe the directory.
2022-10-25 11:03:05 -04:00
daa7384d89
Fix unshield issues finally, bump to 0.1.2
2022-10-24 15:04:13 -04:00
67d2f035c3
Reformat code with rustfmt
2022-10-20 11:45:55 -04:00
ab10cf4975
Add file info testing, fix parsing bug
2022-10-20 11:44:54 -04:00
c7105e964d
Add test_deconstruct
2022-10-20 10:48:05 -04:00
0edbcfdf34
Revert "Switch from bitfield-struct to modular-bitfield"
...
This reverts commit 3615adac47
.
2022-10-17 19:50:38 -04:00
a9fa6d714a
Use read_le instead of manually passing ReadOptions
2022-10-17 19:24:02 -04:00
3615adac47
Switch from bitfield-struct to modular-bitfield
2022-10-17 19:23:45 -04:00
78856af0a5
Finally, implement SqpkFileOperation::RemoveAll
2022-10-17 19:05:58 -04:00
263f18a544
Remove Index Add/Delete commands, intentionally NOP some ops
2022-10-17 17:48:34 -04:00
ebc7ae77e7
Implement MakeDirTree, consolidate some parts of FileOperation
2022-10-17 16:54:40 -04:00
a4641cdfce
Don't use temp variables in installer
2022-10-17 16:46:53 -04:00
4ee2d3235f
Oops, game installation is failing
2022-10-17 16:44:14 -04:00
5508813340
Fix a very small error that caused index2 file gen to fail
2022-10-17 16:20:42 -04:00
c61ba6be7a
Note a TODO that the InvalidPatchFile error is misleading
2022-10-17 15:25:49 -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
c3c3df7c68
More small warning changes
2022-10-13 16:11:20 -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