diff --git a/emulators/dolphin-mmjr.yml b/emulators/dolphin-mmjr.yml index 55ff538d..eadb6aae 100644 --- a/emulators/dolphin-mmjr.yml +++ b/emulators/dolphin-mmjr.yml @@ -97,7 +97,7 @@ files: system: nintendo-gamecube required: false hle_fallback: true - region: [europe] + region: [europe, oceania] size: 2097152 crc32: ["4f319f43", "ad1b7f16"] validation: [crc32] diff --git a/emulators/dolphin-mmjr2.yml b/emulators/dolphin-mmjr2.yml index 2f12b994..70525438 100644 --- a/emulators/dolphin-mmjr2.yml +++ b/emulators/dolphin-mmjr2.yml @@ -133,7 +133,7 @@ files: system: nintendo-gamecube required: false hle_fallback: true - region: [europe] + region: [europe, oceania] size: 2097152 crc32: ["4f319f43", "ad1b7f16"] validation: [crc32] diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index 873188bd..ff58f6d0 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -47,7 +47,7 @@ files: - name: "IPL.bin" path: "dolphin-emu/Sys/GC/EUR/IPL.bin" standalone_path: "GC/EUR/IPL.bin" - region: [europe] + region: [europe, oceania] size: 2097152 required: false hle_fallback: true diff --git a/emulators/ishiiruka.yml b/emulators/ishiiruka.yml index 6d1ba50c..c83a7033 100644 --- a/emulators/ishiiruka.yml +++ b/emulators/ishiiruka.yml @@ -45,7 +45,7 @@ files: - name: "IPL.bin" path: "dolphin-emu/Sys/GC/EUR/IPL.bin" standalone_path: "GC/EUR/IPL.bin" - region: [europe] + region: [europe, oceania] size: 2097152 required: false hle_fallback: true diff --git a/emulators/primehack.yml b/emulators/primehack.yml index ccf112d9..98db24f9 100644 --- a/emulators/primehack.yml +++ b/emulators/primehack.yml @@ -43,7 +43,7 @@ files: - name: "IPL.bin" path: "GC/EUR/IPL.bin" - region: [europe] + region: [europe, oceania] size: 2097152 required: false hle_fallback: true diff --git a/emulators/triforce.yml b/emulators/triforce.yml index 76f53083..33c1d2fe 100644 --- a/emulators/triforce.yml +++ b/emulators/triforce.yml @@ -129,7 +129,7 @@ files: path: "GC/EUR/IPL_TRI.bin" description: "Triforce boot ROM, PAL directory" system: sega-triforce - region: [europe] + region: [europe, oceania] size: 2097152 crc32: "d1883221" validation: [crc32] @@ -205,7 +205,7 @@ files: - name: "IPL.bin" path: "GC/EUR/IPL.bin" description: "GameCube PAL boot ROM" - region: [europe] + region: [europe, oceania] size: 2097152 required: false hle_fallback: true diff --git a/tests/test_region.py b/tests/test_region.py index 41dc283f..1ef17ae3 100644 --- a/tests/test_region.py +++ b/tests/test_region.py @@ -401,6 +401,23 @@ class TestFallbackGroups(unittest.TestCase): self.assertEqual(region.fallback_groups(groups, self.index, []), []) +class AustraliaReadsThePalIpl(unittest.TestCase): + """Dolphin files the Australian country code U under Region::PAL + (Source/Core/DiscIO/Enums.cpp), whose IPL is GC/EUR. Tagged [europe] + alone, `--region australia` dropped it and kept the American one.""" + + def test_the_pal_ipl_answers_oceania(self): + profiles = common.load_emulator_profiles( + os.path.join(os.path.dirname(__file__), "..", "emulators") + ) + for name in ("dolphin", "primehack", "ishiiruka", "triforce"): + with self.subTest(profile=name): + pal = [f for f in profiles[name]["files"] + if "/EUR/" in str(f.get("path", ""))] + self.assertTrue(pal) + self.assertTrue(all("oceania" in f.get("region", []) for f in pal)) + + class TestProfileConformance(unittest.TestCase): """Every region: value in the repo is a list of canonical slugs."""