1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-22 12:47:45 +00:00
Commit graph

153 commits

Author SHA1 Message Date
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