LADX: Fix local paths (#1634)
This commit is contained in:
parent
1dc4e2b44b
commit
30cfd3186c
|
@ -1,4 +1,5 @@
|
||||||
import binascii
|
import binascii
|
||||||
|
import Utils
|
||||||
|
|
||||||
b2h = binascii.hexlify
|
b2h = binascii.hexlify
|
||||||
h2b = binascii.unhexlify
|
h2b = binascii.unhexlify
|
||||||
|
@ -6,7 +7,7 @@ h2b = binascii.unhexlify
|
||||||
|
|
||||||
class ROM:
|
class ROM:
|
||||||
def __init__(self, filename):
|
def __init__(self, filename):
|
||||||
data = open(filename, "rb").read()
|
data = open(Utils.local_path(filename), "rb").read()
|
||||||
#assert len(data) == 1024 * 1024
|
#assert len(data) == 1024 * 1024
|
||||||
self.banks = []
|
self.banks = []
|
||||||
for n in range(0x40):
|
for n in range(0x40):
|
||||||
|
|
|
@ -69,15 +69,6 @@ class Setting:
|
||||||
|
|
||||||
class Settings:
|
class Settings:
|
||||||
def __init__(self, ap_options):
|
def __init__(self, ap_options):
|
||||||
gfx_options = [('', '', 'Default')]
|
|
||||||
gfx_path = os.path.join("data", "sprites", "ladx")
|
|
||||||
for filename in sorted(os.listdir(gfx_path)):
|
|
||||||
if filename.endswith(".bin") or filename.endswith(".png") or filename.endswith(".bmp"):
|
|
||||||
gfx_options.append((filename, filename + ">", filename[:-4]))
|
|
||||||
if filename.endswith(".bdiff"):
|
|
||||||
gfx_options.append((filename, filename + ">", filename[:-6]))
|
|
||||||
|
|
||||||
|
|
||||||
self.__all = [
|
self.__all = [
|
||||||
Setting('seed', 'Main', '<', 'Seed', placeholder='Leave empty for random seed', default="", multiworld=False,
|
Setting('seed', 'Main', '<', 'Seed', placeholder='Leave empty for random seed', default="", multiworld=False,
|
||||||
description="""For multiple people to generate the same randomization result, enter the generated seed number here.
|
description="""For multiple people to generate the same randomization result, enter the generated seed number here.
|
||||||
|
@ -201,7 +192,7 @@ Note, some entrances can lead into water, use the warp-to-home from the save&qui
|
||||||
Setting('nagmessages', 'User options', 'S', 'Show nag messages', default=False,
|
Setting('nagmessages', 'User options', 'S', 'Show nag messages', default=False,
|
||||||
description='Enables the nag messages normally shown when touching stones and crystals',
|
description='Enables the nag messages normally shown when touching stones and crystals',
|
||||||
aesthetic=True),
|
aesthetic=True),
|
||||||
Setting('gfxmod', 'User options', 'c', 'Graphics', options=gfx_options, default='',
|
Setting('gfxmod', 'User options', 'c', 'Graphics', default='',
|
||||||
description='Generally affects at least Link\'s sprite, but can alter any graphics in the game',
|
description='Generally affects at least Link\'s sprite, but can alter any graphics in the game',
|
||||||
aesthetic=True),
|
aesthetic=True),
|
||||||
Setting('linkspalette', 'User options', 'C', "Link's color",
|
Setting('linkspalette', 'User options', 'C', "Link's color",
|
||||||
|
|
|
@ -3,6 +3,7 @@ import typing
|
||||||
import logging
|
import logging
|
||||||
from Options import Choice, Option, Toggle, DefaultOnToggle, Range, FreeText
|
from Options import Choice, Option, Toggle, DefaultOnToggle, Range, FreeText
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
import Utils
|
||||||
|
|
||||||
DefaultOffToggle = Toggle
|
DefaultOffToggle = Toggle
|
||||||
|
|
||||||
|
@ -318,12 +319,13 @@ class GfxMod(FreeText, LADXROption):
|
||||||
default = 'Link'
|
default = 'Link'
|
||||||
|
|
||||||
__spriteFiles: typing.DefaultDict[str, typing.List[str]] = defaultdict(list)
|
__spriteFiles: typing.DefaultDict[str, typing.List[str]] = defaultdict(list)
|
||||||
__spriteDir = os.path.join('data', 'sprites','ladx')
|
__spriteDir: str = None
|
||||||
|
|
||||||
extensions = [".bin", ".bdiff", ".png", ".bmp"]
|
extensions = [".bin", ".bdiff", ".png", ".bmp"]
|
||||||
def __init__(self, value: str):
|
def __init__(self, value: str):
|
||||||
super().__init__(value)
|
super().__init__(value)
|
||||||
if not GfxMod.__spriteFiles:
|
if not GfxMod.__spriteDir:
|
||||||
|
GfxMod.__spriteDir = Utils.local_path(os.path.join('data', 'sprites','ladx'))
|
||||||
for file in os.listdir(GfxMod.__spriteDir):
|
for file in os.listdir(GfxMod.__spriteDir):
|
||||||
name, extension = os.path.splitext(file)
|
name, extension = os.path.splitext(file)
|
||||||
if extension in self.extensions:
|
if extension in self.extensions:
|
||||||
|
@ -344,7 +346,7 @@ class GfxMod(FreeText, LADXROption):
|
||||||
if len(GfxMod.__spriteFiles[self.value]) > 1:
|
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]}")
|
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, self.__spriteDir + "/" + GfxMod.__spriteFiles[self.value][0]
|
||||||
|
|
||||||
class Palette(Choice):
|
class Palette(Choice):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue