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
c609974fe2
Fix warning in doctest
2022-08-09 23:44:11 -04:00
642cb94896
Make install_game no longer unsafe, propagates errors
2022-08-09 23:39:31 -04:00
6f9b5c59d7
Fix misc warnings
2022-08-09 23:39:15 -04:00
59913434e6
Read boot version
2022-08-09 23:17:19 -04:00
e094742690
Properly propagate errors up the stack for game_data::extract
2022-08-09 22:43:04 -04:00
22569cf09d
Oops, apparently index and patch platform id sizes are different!
2022-08-09 22:37:40 -04:00
2784935409
Actually extract expansion number
2022-08-09 22:31:48 -04:00
2a723f459f
Make RepositoryType copyable
2022-08-09 22:07:17 -04:00
e172433b00
Propagate patch errors for BootData too
2022-08-09 21:53:20 -04:00
8c3f848918
Make RepositoryType repr(C)
2022-08-09 21:52:07 -04:00
18322a13d2
Handle patching error handling better
...
* Move PlatformId to common module.
* Platform id is no longer hardcoded to win32.
* Parse apply options correctly.
* Parse target info better, use more native structures.
* All errors are now handled properly, and propagated up.
* Added a new Region enum.
* Added todo!() to all unhandled patching branches.
* Paths are now built using PathBuf instead of format!().
* process_patch function is no longer accessible, now you have to use
the function found in GameData and BootData.
2022-08-09 21:51:52 -04:00
03e3d3ca21
Simplify index file return
2022-08-09 20:05:11 -04:00
ba5d8bc628
Create get_dat_file function
2022-08-09 20:03:18 -04:00
d318dcb788
Use PathBuf in get_index_file
2022-08-09 20:00:02 -04:00