24100e34f0
Add clippy and semver-checks to CI
2022-10-26 17:16:08 -04: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
8ad2283179
Add credits section to README
...
These are just the people I remember right now, I will expand it over
time!
2022-10-25 13:06:49 -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
4f85248ee6
Bump glam version
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
ff4ae2fbcc
Bump to 0.1.3
2022-10-25 11:05:07 -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
7e7ce51c83
Improve README, again
2022-10-20 12:03:19 -04:00
a8f2e560ab
Add Cargo.lock to gitignore
2022-10-20 11:47:47 -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
a508766583
Bump version to 1.1
2022-10-17 19:52:57 -04:00
0edbcfdf34
Revert "Switch from bitfield-struct to modular-bitfield"
...
This reverts commit 3615adac47
.
2022-10-17 19:50:38 -04:00
744ba364a1
Make crates.io badge actually link to the crates page :-p
2022-10-17 19:32:40 -04:00
cb525a1bb8
Add criterion exception to cargo deny
2022-10-17 19:28:52 -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
c0ea846d6f
Check heavensward expansion patch files now
2022-10-17 17:48:12 -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
07058c5541
Note that testing patching may run out of disk space
2022-10-17 15:37:02 -04:00
7654e892f0
assert_eq! on hashmaps are unreliable, so print out differences ourselves
2022-10-17 15:36:47 -04:00
44a17b9165
Add all 2017 game patch files, and stick it in the home directory
2022-10-17 15:26:12 -04:00
c61ba6be7a
Note a TODO that the InvalidPatchFile error is misleading
2022-10-17 15:25:49 -04:00
118d8404a4
Overhaul patch test code to not be horrible
...
And now it checks boot patches too!
2022-10-17 15:03:07 -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
04b06fe0fc
Only specify major (and minor if needed) version for dependencies
...
This is to be more lenient on packages that depend on us. I also updated
the lockfile too!
2022-10-13 16:05:15 -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
102c8901cf
Add game patch integration tests
...
Currently only the first two game patches are checked, eventually want
to check boot patching as well. Hopefully this should weed out the
remaining patching issues I encounter.
2022-10-13 15:46:21 -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
21b467d5e9
Update half crate
2022-09-15 16:34:58 -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
02dd211964
Add badges for CI status and crates.io
2022-09-15 16:26:18 -04:00