LADX: use verify() to verify sprites (#1620)

This commit is contained in:
zig-for 2023-03-29 05:42:08 -07:00 committed by GitHub
parent d14ab97849
commit 99bd525c8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 7 deletions

View File

@ -324,17 +324,22 @@ class GfxMod(FreeText, LADXROption):
if extension in self.extensions:
GfxMod.__spriteFiles[name].append(file)
def verify(self, world, player_name: str, plando_options) -> None:
if self.value == "Link" or self.value in GfxMod.__spriteFiles:
return
raise Exception(f"LADX Sprite '{self.value}' not found. Possible sprites are: {['Link'] + list(GfxMod.__spriteFiles.keys())}")
def to_ladxr_option(self, all_options):
if self.value == -1 or self.value == "Link":
return None, None
elif self.value in GfxMod.__spriteFiles:
if len(GfxMod.__spriteFiles[self.value]) > 1:
logger.warning(f"{self.value} does not uniquely identify a file. Possible matches: {GfxMod.__spriteFiles[self.value]}. Using {GfxMod.__spriteFiles[self.value][0]}")
return self.ladxr_name, GfxMod.__spriteFiles[self.value][0]
return self.ladxr_name, GfxMod.__spriteFiles[self.value][0]
logger.error(f"Spritesheet {self.value} not found. Falling back to default sprite.")
return None, None
assert self.value in GfxMod.__spriteFiles
if len(GfxMod.__spriteFiles[self.value]) > 1:
logger.warning(f"{self.value} does not uniquely identify a file. Possible matches: {GfxMod.__spriteFiles[self.value]}. Using {GfxMod.__spriteFiles[self.value][0]}")
return self.ladxr_name, GfxMod.__spriteFiles[self.value][0]
class Palette(Choice):
"""