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
eed1b5fe83
Extract InstallShield files in your temp dir instead of the current dir
2022-10-13 15:51:03 -04:00
d87694df4d
Make apply_patch public
2022-10-13 15:45:50 -04:00
952b06cd76
Fix a rare case where installation might fail
2022-10-13 15:45:50 -04:00
2868a2adad
Add build_skeleton_path function
2022-10-13 15:45:50 -04:00
85bcfa5db6
WOW missed another one!
2022-09-15 17:02:30 -04:00
1923b626a9
Fix some module descriptions missing from docs
2022-09-15 17:00:27 -04:00
49bd5987d0
Convert TextureAttribute constants to upper case camel
2022-09-15 16:31:56 -04:00
9819f87fcc
Suppress some warnings
2022-09-15 16:26:31 -04:00
0dd4121557
Improve patch NOP logging
2022-09-13 16:51:32 -04:00
ca6a5be72b
Don't panic on IndexAddDelete, it should actually NOP
2022-08-31 17:58:08 -04:00
d9e79e563a
Reformat code
2022-08-16 11:52:07 -04:00
c7184cb36f
Fix Clippy warnings and errors
2022-08-16 11:50:18 -04:00
75f88ba3b6
Clarify that IndexFile::from_existing is not reading index2 files
2022-08-14 23:38:49 -04:00
209b475065
Make material struct members public
2022-08-11 15:51:39 -04:00
3b2038024f
Make texture struct members public
2022-08-11 15:48:28 -04:00
06226cfad1
Expose texture width and height
2022-08-11 15:47:02 -04:00
01717456d1
Add material file parsing
2022-08-11 15:40:14 -04:00
6554dee2f1
Decompress and return rgba data for textures
2022-08-11 15:03:12 -04:00
0210479fd3
Parse texture attribute and formats
2022-08-11 09:23:15 -04:00
214e5495fe
Properly set bone parenting Skeleton::from_skel, export bone transforms
2022-08-10 14:52:11 -04:00
5ca60cb95d
Export affected bone names
2022-08-10 14:51:50 -04:00
5d8e8e23e5
Add some new equipment functions needed for VARC tool
...
* Added deconstruct_equipment_path to grab the model id and slot from
an already made equipment filename.
* Added get_slot_from_abbreviation to be the reverse of
get_slot_abbreviation.
2022-08-10 14:51:36 -04:00