Fixed mkpack not padding each entry to word size.
Fixed checksums of language pack files not being included.
This commit is contained in:
@@ -3242,6 +3242,82 @@ a8e9afe204dc62d55a0cbd012b8946de3a6d6dd4771eea40d78058d73e42a306 build/map/dw20
|
||||
542e5b247b60e629c47da75cd2e5033b1dfcca6a6f2db7232df8eede0773bd70 build/map/dw2003/z_stage/S895PACK.bin
|
||||
5da33ac4211c21cc969161d82aea17f43958da38b259cab865b850d3999f0744 build/misc/dummy
|
||||
7d67e519eb55c4aa65587a5df209840753a61eaefd3792905cabb3c04d80a49d build/pack/dw2003/card/carddata.bin
|
||||
5d216b7af7ca3a1ae1c79f129d4d87be44f4103f03fe05e3b9df2e9729b1e00e build/pack/dw2003/country/eng/esdmg200.bin
|
||||
26c494e3a6329b5cc7e9934f2e486f01d492dc68d54dc0bebefb61490bf6483a build/pack/dw2003/country/eng/esdmg260.bin
|
||||
cfce7e8c4e3bc623aaa956da39bcef4f91b4e4f9478a1b44b228eb08865df35d build/pack/dw2003/country/eng/esdmg270.bin
|
||||
a2d9bd333d52216defa7bfd569613a341299fef4604cae447dc711cfda76f2a4 build/pack/dw2003/country/eng/esdmg300.bin
|
||||
2b111d046de5d9ac8011bf41327507beb65ca3207baa573b4812e0e062b2493d build/pack/dw2003/country/eng/esdmg305.bin
|
||||
5443871686256508f4ce87f1a2999837dc702d8f2f15dfe1a158919e72dc1671 build/pack/dw2003/country/eng/esdmg400.bin
|
||||
772e7c854d1b0c61844e8824f1cd92483c5e2424cb6840100946901134061913 build/pack/dw2003/country/eng/esdmg500.bin
|
||||
1b281ea030b39d7eb43b16ce50a3f0b108b2bc7a272661a849db435953f9ebf3 build/pack/dw2003/country/eng/esdmg600.bin
|
||||
c625e04fb669ffc20954da74d7a8c2d35d3cf8bd124faa7752ccf40f2c6ff4e6 build/pack/dw2003/country/eng/esdmg700.bin
|
||||
08336582b5b0222b193d814bb609e076147a0810e61cb666044d8f37d150af59 build/pack/dw2003/country/eng/esdmg800.bin
|
||||
bcf10ebf6f82394e228f7746ffcc0b9144408e429a3048c08cfb09d34c09e333 build/pack/dw2003/country/eng/esdmg900.bin
|
||||
b7aa35c878b0d3a28425fff4b7217f7e52af3566a6afb95e50eece982223c4db build/pack/dw2003/country/fra/fsdmg200.bin
|
||||
372dd264f9697fb30d0fa23f3667d27fdd570ca07f5bd187d28a5fe1c48289e2 build/pack/dw2003/country/fra/fsdmg260.bin
|
||||
8a8ce9e89c7f55e654f0e85950f34d0d6588c21298f586b7e876a701db07438c build/pack/dw2003/country/fra/fsdmg270.bin
|
||||
ecb726b1f3fd5aa0fb6c772becd05b34c693eedb887fa65d136bc95534b654db build/pack/dw2003/country/fra/fsdmg300.bin
|
||||
0fb51345285a0c4028f86b8c4ef83a1bd3b9ae14e76eb50715c0193903f696fc build/pack/dw2003/country/fra/fsdmg305.bin
|
||||
5061d6b66c7f1636f8f07fcc918b82c25b9c71a313f3ef128a76155033f076de build/pack/dw2003/country/fra/fsdmg400.bin
|
||||
f471c5c0094be219e3d4e91860b9b027cb4c31fbf3c63e05721e797485556e8a build/pack/dw2003/country/fra/fsdmg500.bin
|
||||
52caa236808f68d207cea4f61469162e5df5e22386206f298c6b09bf73cffd29 build/pack/dw2003/country/fra/fsdmg600.bin
|
||||
3206728f85d6a35d369c88a416db10e906c5c42264b7b5196e74d94e3b7c7fc0 build/pack/dw2003/country/fra/fsdmg700.bin
|
||||
c73c18bcbcce0166a5dd9c669e972cbe9fcebad9593d87638c37bdc9bef78621 build/pack/dw2003/country/fra/fsdmg800.bin
|
||||
bae88917379634d79419319cc366b3d477a8e803d44c6abf778bcb36da313bf5 build/pack/dw2003/country/fra/fsdmg900.bin
|
||||
85ca1e777c3ca332c499cfdfaf5683978817c86a16afc19a22b767dfe588cc19 build/pack/dw2003/country/ger/dsdmg200.bin
|
||||
5e7d15495a6a672bd62560879dfb10dfe6db6ef742957b9dc660107b8f923443 build/pack/dw2003/country/ger/dsdmg260.bin
|
||||
fc349b27b415c519bcf1d7bd76f72f37288a988b280924949ef3d4af496ed56e build/pack/dw2003/country/ger/dsdmg270.bin
|
||||
8704a6516080fedbcb082abe2312c3309f91a92eed812e060ad8d2d96de0eb35 build/pack/dw2003/country/ger/dsdmg300.bin
|
||||
e0d5dd2a6f5822d112042af74c15b6e455e4a68e9ba2f07d6c43c09d4b747233 build/pack/dw2003/country/ger/dsdmg305.bin
|
||||
699e0463819be420caf2e27f0f303e403fb0fb83761ab317a4ea2e4ffb913a17 build/pack/dw2003/country/ger/dsdmg400.bin
|
||||
48e708ad60fb94b75f5ae1ff890911e31416ceb0d6571c5402b53a43338eaca9 build/pack/dw2003/country/ger/dsdmg500.bin
|
||||
7181c16a8cc189c60aba34626dc778aaefa96aabc41fb009bca025b10b39bf81 build/pack/dw2003/country/ger/dsdmg600.bin
|
||||
b8f0a9438c5684978d3c362511de2d557d75d73ee8b87ac8995faa6ee3a62c55 build/pack/dw2003/country/ger/dsdmg700.bin
|
||||
7b042a1da1ae242f44fe9e86d70d08138d01345684e265d113116d91bc8275a8 build/pack/dw2003/country/ger/dsdmg800.bin
|
||||
5ca8c67208af56923b52a31226d5a223341b59e035fc3964ae017c135c0f3458 build/pack/dw2003/country/ger/dsdmg900.bin
|
||||
38b4327153383d4af227a5caf5be2c623206356bac7e995a43c628878a866331 build/pack/dw2003/country/ita/isdmg200.bin
|
||||
d31aef9e1210225d51e70f33cf87be57d9a5ec710accd7ffe8a4d3eee68ebd59 build/pack/dw2003/country/ita/isdmg260.bin
|
||||
d1f3a3e58758d6847f8f793980a8f776fe0711438bdd9d975acea146f57ea627 build/pack/dw2003/country/ita/isdmg270.bin
|
||||
227844ad249a26e24004e3a5add82dcc7fb4fda56dc519d8f8b833f762c1aa29 build/pack/dw2003/country/ita/isdmg300.bin
|
||||
47e2acc41eecd69c0f7287cfef0187f75f3bec27cb00d9ef0c25c3a4d0524055 build/pack/dw2003/country/ita/isdmg305.bin
|
||||
e00699add4de6d510563a2cfa1893b6fe53a78951e9bf6bdd543d6dccf2c551e build/pack/dw2003/country/ita/isdmg400.bin
|
||||
3be1cf63bb4e4372f513b1621119d51813a34a82dab6c2d06e486fb911d502a7 build/pack/dw2003/country/ita/isdmg500.bin
|
||||
27cc3bc86601c26f3f26c6d6d7eace0a69ab24049d4babdc3d8e831c1b116ecd build/pack/dw2003/country/ita/isdmg600.bin
|
||||
a6cabe94e89b140314c666a65040f5f121a89596e0721045c36abf897970abb3 build/pack/dw2003/country/ita/isdmg700.bin
|
||||
6104ada00c061a9aa5362eb37bfe933a3b5e9ffe9f2f61a61ecae6668e87ef05 build/pack/dw2003/country/ita/isdmg800.bin
|
||||
3b8e5d4b112eebf1749a0cd83f2718a0acad241123e2e4af3220faafc683acab build/pack/dw2003/country/ita/isdmg900.bin
|
||||
e1945a81af72392e5c9fc58f2befa90850098d5fe103cd109947bbbf4375f383 build/pack/dw2003/country/jpn/msdmg200.bin
|
||||
6e9309542ff17b53d601a54cec3dd396cc08c2eb74670ca9eb293e25ddb3fdaf build/pack/dw2003/country/jpn/msdmg260.bin
|
||||
a9b584329f7db253c020e3cca97b7727e90c78d7a3714f70be1f23b4e696a36b build/pack/dw2003/country/jpn/msdmg270.bin
|
||||
3c0456db5ec26339e732696ed8a94dfe2bc90bbda0c041b24d12d834e6202064 build/pack/dw2003/country/jpn/msdmg300.bin
|
||||
0ee0087f2c7ae925ef8c8f2a6d15d37573f737c4d1b276c01ef9bc07454ef1e0 build/pack/dw2003/country/jpn/msdmg305.bin
|
||||
f3f1e5e56d4ff47b3f6f1c21f8029f1fd79715ae5b84a5848f5ee73c089bc109 build/pack/dw2003/country/jpn/msdmg400.bin
|
||||
26a263afcf3c8a99cc4fb229fab57680cc9a107d12442930325c1fc3045b639a build/pack/dw2003/country/jpn/msdmg500.bin
|
||||
006d66ae526b1ccd3d9b3a0e236e5b2fa9ae8c04ff50e824a29eb40f863cd452 build/pack/dw2003/country/jpn/msdmg600.bin
|
||||
8f43b4f1e463049e466a9a0a143c000f465248fe8a0059ef6abcff3caad9b215 build/pack/dw2003/country/jpn/msdmg700.bin
|
||||
22078ed3cc39aadcbd6e86c4a0da7a1f9a1bb5a6fdc9096761dfa03ab4ec0164 build/pack/dw2003/country/jpn/msdmg800.bin
|
||||
f7fa1e2ce13e5b698ac95b0cf13fbb3fff96fd2f6f77b105bd069858a552ad91 build/pack/dw2003/country/jpn/msdmg900.bin
|
||||
18c6eb7772586f23ed2e9c51ec495d77bf1d6a699c18bbb8d581746522281625 build/pack/dw2003/country/spn/ssdmg200.bin
|
||||
d22e95604fdc668abd8e952f4bef268f70128c39d1b3b8b533143e7489d6b811 build/pack/dw2003/country/spn/ssdmg260.bin
|
||||
463dc260f15a54ddf88cf6ccab40fe5847a620a017a29fc4194c5bf02c956ef1 build/pack/dw2003/country/spn/ssdmg270.bin
|
||||
34d6d80b2e8d2e22fbb6332d1a725a9d3799fb4a5e1bc26fb1dc567ba292ab9d build/pack/dw2003/country/spn/ssdmg300.bin
|
||||
1ea64ae9c267cc6c77d8787fec49f44efde961246e3ac9ce8333ff34317c957e build/pack/dw2003/country/spn/ssdmg305.bin
|
||||
973c7f573083cb08430914f71e8c803add4dc5c30f2e40770e14dd40cd9f287a build/pack/dw2003/country/spn/ssdmg400.bin
|
||||
f906bf1de7137d2da1203e402173728909a5dea5fb5b55b61e2952f464feb81b build/pack/dw2003/country/spn/ssdmg500.bin
|
||||
854d67d053261861fe167d7134a9b74f0d49f9af3db2791c9591e0c8ed330d64 build/pack/dw2003/country/spn/ssdmg600.bin
|
||||
72841a2f77a0d8a3206bd5a03a10be00f356021004e25c4e6921447a3169728d build/pack/dw2003/country/spn/ssdmg700.bin
|
||||
45a50f1ba32d81af1603e6d6016b64218cac51d78addaacb71b4be0733b04820 build/pack/dw2003/country/spn/ssdmg800.bin
|
||||
98fb13e733f9d8771c5f0c078e147e415180043bde9b2bf303823b0b2cfab445 build/pack/dw2003/country/spn/ssdmg900.bin
|
||||
4ec8f6772588d1cef858964499eb8e2d197d58f0c24c40c97f575616d05fa8f6 build/pack/dw2003/country/usa/usdmg200.bin
|
||||
26c494e3a6329b5cc7e9934f2e486f01d492dc68d54dc0bebefb61490bf6483a build/pack/dw2003/country/usa/usdmg260.bin
|
||||
cfce7e8c4e3bc623aaa956da39bcef4f91b4e4f9478a1b44b228eb08865df35d build/pack/dw2003/country/usa/usdmg270.bin
|
||||
a2d9bd333d52216defa7bfd569613a341299fef4604cae447dc711cfda76f2a4 build/pack/dw2003/country/usa/usdmg300.bin
|
||||
2b111d046de5d9ac8011bf41327507beb65ca3207baa573b4812e0e062b2493d build/pack/dw2003/country/usa/usdmg305.bin
|
||||
5443871686256508f4ce87f1a2999837dc702d8f2f15dfe1a158919e72dc1671 build/pack/dw2003/country/usa/usdmg400.bin
|
||||
772e7c854d1b0c61844e8824f1cd92483c5e2424cb6840100946901134061913 build/pack/dw2003/country/usa/usdmg500.bin
|
||||
1b281ea030b39d7eb43b16ce50a3f0b108b2bc7a272661a849db435953f9ebf3 build/pack/dw2003/country/usa/usdmg600.bin
|
||||
c625e04fb669ffc20954da74d7a8c2d35d3cf8bd124faa7752ccf40f2c6ff4e6 build/pack/dw2003/country/usa/usdmg700.bin
|
||||
08336582b5b0222b193d814bb609e076147a0810e61cb666044d8f37d150af59 build/pack/dw2003/country/usa/usdmg800.bin
|
||||
84950c330aa7faf5dbbc5ade3dd443f7e123dec14d626188c6efde86120327c8 build/pack/dw2003/field/sprite/p001play.bin
|
||||
e084ae3ffc2c97a2c389c19262fdd4e25bf728db85f003ae98ddf87823c04516 build/pack/dw2003/field/sprite/p002play.bin
|
||||
63bbcd501fe66f4d99294e84714442f61cc7238866a6b48ed13636a292afffa2 build/pack/dw2003/field/sprite/p002plyd.bin
|
||||
|
||||
@@ -14,7 +14,7 @@ use {
|
||||
clap::Parser,
|
||||
std::{
|
||||
fs,
|
||||
io::{self, BufReader, BufWriter, Seek},
|
||||
io::{self, BufReader, BufWriter, Seek, Write},
|
||||
path::PathBuf,
|
||||
},
|
||||
};
|
||||
@@ -56,7 +56,17 @@ fn main() -> Result<(), anyhow::Error> {
|
||||
let mut entry = fs::File::open(&*entry_path).context("Unable to open entry file")?;
|
||||
|
||||
// And copy it to the output
|
||||
io::copy(&mut entry, &mut output).context("Unable to copy entry file to output")?;
|
||||
let entry_len = io::copy(&mut entry, &mut output).context("Unable to copy entry file to output")?;
|
||||
|
||||
// Then pad the entry to word size
|
||||
let cur_pos = entry_pos + entry_len;
|
||||
if cur_pos % 4 != 0 {
|
||||
let remaining = 4 - (cur_pos % 4);
|
||||
let remaining = usize::try_from(remaining).expect("Pad size didn't fit into `usize`");
|
||||
output
|
||||
.write_all(&[0u8; 4][..remaining])
|
||||
.context("Unable to pad output to word size")?;
|
||||
}
|
||||
|
||||
Ok::<_, anyhow::Error>(entry_pos)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user