Skip to content

Commit ef101e3

Browse files
authored
Merge pull request #117 from randovania/bugfix/export-path
Fix exporting placing the Paks in the wrong folder
2 parents d7b30a4 + 5643902 commit ef101e3

File tree

2 files changed

+27
-23
lines changed

2 files changed

+27
-23
lines changed

src/open_prime_rando/patcher_editor.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ def duplicate_file(self, name: str, asset: AssetId) -> AssetId:
7676
return self.add_file(name, self.get_raw_asset(asset))
7777

7878
def save_modifications(self, output_path: Path):
79-
super().save_modifications(output_path)
79+
# AssetManager exports files relative to what FileProvider says
80+
# Since the `files/` subpath is ignored by it, let's tell it to put all the files in there.
81+
super().save_modifications(output_path.joinpath("files"))
8082

8183
if self.dol is not None:
8284
target_dol = output_path.joinpath("sys/main.dol")

tests/echoes/test_full_patch.py

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,51 @@ def test_ntsc_paks(prime2_iso_provider, tmp_path, test_files_dir, is_legacy: boo
2727

2828
expected_hashes = {
2929
False: {
30-
"AudioGrp.pak": b"U\xc6\xfe\\\xac\xcd\xdc\x02\x0c\xed\xdd\xb3\xfarbP"
30+
"files/AudioGrp.pak": b"U\xc6\xfe\\\xac\xcd\xdc\x02\x0c\xed\xdd\xb3\xfarbP"
3131
b"\x90\xac\x8d\x1b=\xd4\x9fl\x82\xc8\x12\xd2\x85X{+",
32-
"LogBook.pak": b'\x05\xdf2\xb5\xf4\xe5\xce\xa3"\tk_\x91\x05\xe9\xa9'
32+
"files/LogBook.pak": b'\x05\xdf2\xb5\xf4\xe5\xce\xa3"\tk_\x91\x05\xe9\xa9'
3333
b"\xab\x8c.\x9c\xe0\xee\x89\xb7\x04\xa1\x7fI\x0bU,\xb4",
34-
"Metroid1.pak": b"\x11%\x80\xe4t\x9e?\x1d\xaa\xf2\xc9\xc3\x1d&\xa6v\xfc?E\xcf"
34+
"files/Metroid1.pak": b"\x11%\x80\xe4t\x9e?\x1d\xaa\xf2\xc9\xc3\x1d&\xa6v\xfc?E\xcf"
3535
b'\xc4\x06\x13\x83"A#\xfb\xa1\x84\xcf\xca',
36-
"Metroid2.pak": b"\x96lH\x85\xae\xddX\xceo\xd1\x0cfnk\xbex\xaa\x94Y\x08"
36+
"files/Metroid2.pak": b"\x96lH\x85\xae\xddX\xceo\xd1\x0cfnk\xbex\xaa\x94Y\x08"
3737
b"\x05\\-\xf9?\xa4\x9a]\xa8\x0ez\x93",
38-
"Metroid3.pak": b"\xe8\xee\x80\xf6\\\xd5\x1c4\xf5\x1b\xe1*\xfbY\x9a\xe0"
38+
"files/Metroid3.pak": b"\xe8\xee\x80\xf6\\\xd5\x1c4\xf5\x1b\xe1*\xfbY\x9a\xe0"
3939
b"\x8c\xb9\xd1\xe0(\x96\xb4R-\xe0\xf1\x86y\x88T\xa9",
40-
"Metroid4.pak": b"\xce\xc5\x838\x19q\xd0\xf7\xf4\x86hQ\xb3\xf5\xf5p\xf9\xd3}8"
40+
"files/Metroid4.pak": b"\xce\xc5\x838\x19q\xd0\xf7\xf4\x86hQ\xb3\xf5\xf5p\xf9\xd3}8"
4141
b"\xfemx\xb5x\tQ\xf8\xc6\xdc.\xb6",
42-
"Metroid5.pak": b"\xa9n\xb5\xf5\x04U\x13\xc0 \xcf\xcfe\x11\xbd\x04\xad"
42+
"files/Metroid5.pak": b"\xa9n\xb5\xf5\x04U\x13\xc0 \xcf\xcfe\x11\xbd\x04\xad"
4343
b"c\xd2\xc6\x8b\xb4\xc5\xc0\xd0P \xb1f\xf1\xdc\x90T",
44-
"MiscData.pak": b"\x0bM\xedR\xb7+\xaf+#\x06\x87\x88\xe5\xec\xbbxg@i\xbc"
44+
"files/MiscData.pak": b"\x0bM\xedR\xb7+\xaf+#\x06\x87\x88\xe5\xec\xbbxg@i\xbc"
4545
b"\xa3n\xb1\xabi\xfajb\x00\xf3\xd1\xaa",
46-
"SamusGun.pak": b"\xdd\xa99\x0b\x14b\x97&\xee\xdf\nE\xd0GR`c\x85\xf7m;\xdbX^" b"\xe4\x87;\\?\xc9\x08\x1f",
47-
"SamusGunLow.pak": b"o8\xb8\xab^\xc3y\xc7\xd8v\xf1?\xe7a\x9enIE\xb7\xa5"
46+
"files/SamusGun.pak": b"\xdd\xa99\x0b\x14b\x97&\xee\xdf\nE\xd0GR`c\x85\xf7m;\xdbX^"
47+
b"\xe4\x87;\\?\xc9\x08\x1f",
48+
"files/SamusGunLow.pak": b"o8\xb8\xab^\xc3y\xc7\xd8v\xf1?\xe7a\x9enIE\xb7\xa5"
4849
b"q\x9f\xa2\xf6\xc2\xc6m&\x80G\x8f\x83",
49-
"TestAnim.pak": b"\xc0n\xfa2\x87\x96o\xd9\xf8\nL\xc8\xd5vVJi\xe2\xa0\xdb"
50+
"files/TestAnim.pak": b"\xc0n\xfa2\x87\x96o\xd9\xf8\nL\xc8\xd5vVJi\xe2\xa0\xdb"
5051
b"\xdbq\t\x7f\xaf\x96\x8d\x02\x1f\xe7\x07\x12",
5152
},
5253
True: {
53-
"AudioGrp.pak": b"U\xc6\xfe\\\xac\xcd\xdc\x02\x0c\xed\xdd\xb3\xfarbP"
54+
"files/AudioGrp.pak": b"U\xc6\xfe\\\xac\xcd\xdc\x02\x0c\xed\xdd\xb3\xfarbP"
5455
b"\x90\xac\x8d\x1b=\xd4\x9fl\x82\xc8\x12\xd2\x85X{+",
55-
"LogBook.pak": b"K=z\x02\x9c>\x8a\xfbN\xbe\xb6\xb5\xc8\xad\xba\xb8"
56+
"files/LogBook.pak": b"K=z\x02\x9c>\x8a\xfbN\xbe\xb6\xb5\xc8\xad\xba\xb8"
5657
b"\x99\xae\x85_\xab55\xfe3\x15\x0b\xdc\xd1\xc7\x02^",
57-
"Metroid1.pak": b"7\x18\xe7+\xdbR\xbf6\x0e\xa2=\x8b\xc8\xcc\x98-"
58+
"files/Metroid1.pak": b"7\x18\xe7+\xdbR\xbf6\x0e\xa2=\x8b\xc8\xcc\x98-"
5859
b"\x8f\xdc\xe5\x8d\x17\xedz\xf9c\xe1\xd5\xfc\xf2\x18\xf2$",
59-
"Metroid2.pak": b"U\x9b\xa7;\xbf\xad\xac\xf7\x05\xe9hKC\xcd\xa5\x0f"
60+
"files/Metroid2.pak": b"U\x9b\xa7;\xbf\xad\xac\xf7\x05\xe9hKC\xcd\xa5\x0f"
6061
b"\xc9C\xc7\xf2\xe7A$\xcc\x1c&0A\xcb\xaa(\xf1",
61-
"Metroid3.pak": b"\xeaO\x17\x0e\xaa\xbd\xaa\xabJvO\x9d\x08\x15Y\xca"
62+
"files/Metroid3.pak": b"\xeaO\x17\x0e\xaa\xbd\xaa\xabJvO\x9d\x08\x15Y\xca"
6263
b"\xe7\x97z\x0c\xcb\xf6],\xf9\xfa\xee*\x17\xc2\xf6(",
63-
"Metroid4.pak": b"9\xc2\x87\x91\x91%\x82\x0f>\x7f;Q\xacLP\xca-\xb6\xc1\x1b"
64+
"files/Metroid4.pak": b"9\xc2\x87\x91\x91%\x82\x0f>\x7f;Q\xacLP\xca-\xb6\xc1\x1b"
6465
b"+\xc7\xecy{\xc0\x12\x19\xa7\x04\x7ft",
65-
"Metroid5.pak": b"\xaf\xfe\xec3<ofO\xd4\x0ci&\x96>\xf1\xfeh\xbb\x05\x00"
66+
"files/Metroid5.pak": b"\xaf\xfe\xec3<ofO\xd4\x0ci&\x96>\xf1\xfeh\xbb\x05\x00"
6667
b"\xb5\x0fP\xd7\xa2\xf0\xb9\x81\xa7\xa1\x84\xbe",
67-
"MiscData.pak": b"\x0bM\xedR\xb7+\xaf+#\x06\x87\x88\xe5\xec\xbbxg@i\xbc"
68+
"files/MiscData.pak": b"\x0bM\xedR\xb7+\xaf+#\x06\x87\x88\xe5\xec\xbbxg@i\xbc"
6869
b"\xa3n\xb1\xabi\xfajb\x00\xf3\xd1\xaa",
69-
"SamusGun.pak": b"\xdd\xa99\x0b\x14b\x97&\xee\xdf\nE\xd0GR`c\x85\xf7m;\xdbX^" b"\xe4\x87;\\?\xc9\x08\x1f",
70-
"SamusGunLow.pak": b"o8\xb8\xab^\xc3y\xc7\xd8v\xf1?\xe7a\x9enIE\xb7\xa5"
70+
"files/SamusGun.pak": b"\xdd\xa99\x0b\x14b\x97&\xee\xdf\nE\xd0GR`c\x85\xf7m;\xdbX^"
71+
b"\xe4\x87;\\?\xc9\x08\x1f",
72+
"files/SamusGunLow.pak": b"o8\xb8\xab^\xc3y\xc7\xd8v\xf1?\xe7a\x9enIE\xb7\xa5"
7173
b"q\x9f\xa2\xf6\xc2\xc6m&\x80G\x8f\x83",
72-
"TestAnim.pak": b"\xc0n\xfa2\x87\x96o\xd9\xf8\nL\xc8\xd5vVJi\xe2\xa0\xdb"
74+
"files/TestAnim.pak": b"\xc0n\xfa2\x87\x96o\xd9\xf8\nL\xc8\xd5vVJi\xe2\xa0\xdb"
7375
b"\xdbq\t\x7f\xaf\x96\x8d\x02\x1f\xe7\x07\x12",
7476
},
7577
}

0 commit comments

Comments
 (0)