1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-23 21:17:45 +00:00
Commit graph

135 commits

Author SHA1 Message Date
dfda25111a Minor formatting and linter fixes 2022-12-17 08:23:19 -05:00
6a94215af9 Add architecture.md 2022-10-26 17:25:32 -04:00
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