YGO06: prevent multiple players affecting each others procedure patch (#3409)

This commit is contained in:
Rensen3 2024-06-01 13:10:02 +02:00 committed by GitHub
parent f2587d5d27
commit 91c89604a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 4 deletions

View File

@ -399,12 +399,14 @@ class Yugioh06World(World):
self.playerName.extend([0] * (0x20 - len(self.playerName)))
patch = YGO06ProcedurePatch(player=self.player, player_name=self.multiworld.player_name[self.player])
patch.write_file("base_patch.bsdiff4", pkgutil.get_data(__name__, "patch.bsdiff4"))
procedure = [("apply_bsdiff4", ["base_patch.bsdiff4"]), ("apply_tokens", ["token_data.bin"])]
if self.is_draft_mode:
patch.procedure.insert(1, ("apply_bsdiff4", ["draft_patch.bsdiff4"]))
procedure.insert(1, ("apply_bsdiff4", ["draft_patch.bsdiff4"]))
patch.write_file("draft_patch.bsdiff4", pkgutil.get_data(__name__, "patches/draft.bsdiff4"))
if self.options.ocg_arts:
patch.procedure.insert(1, ("apply_bsdiff4", ["ocg_patch.bsdiff4"]))
procedure.insert(1, ("apply_bsdiff4", ["ocg_patch.bsdiff4"]))
patch.write_file("ocg_patch.bsdiff4", pkgutil.get_data(__name__, "patches/ocg.bsdiff4"))
patch.procedure = procedure
write_tokens(self, patch)
# Write Output

View File

@ -22,8 +22,6 @@ class YGO06ProcedurePatch(APProcedurePatch, APTokenMixin):
patch_file_ending = ".apygo06"
result_file_ending = ".gba"
procedure = [("apply_bsdiff4", ["base_patch.bsdiff4"]), ("apply_tokens", ["token_data.bin"])]
@classmethod
def get_source_data(cls) -> bytes:
return get_base_rom_bytes()