Add Retro World State (Open & Retro on) Add SpriteSomething plug to sprite selector Fix Custom Item Pool loading to use disct instead of list
96 lines
4.3 KiB
Python
96 lines
4.3 KiB
Python
from classes.SpriteSelector import SpriteSelector as spriteSelector
|
|
from gui.randomize.gameoptions import set_sprite
|
|
from Rom import Sprite, get_sprite_from_name
|
|
import classes.constants as CONST
|
|
|
|
# Load args/settings for most tabs
|
|
def loadcliargs(gui, args, settings=None):
|
|
if args is not None:
|
|
# for k, v in vars(args).items():
|
|
# if type(v) is dict:
|
|
# setattr(args, k, v[1]) # only get values for player 1 for now
|
|
# load values from commandline args
|
|
|
|
# set up options to get
|
|
# Page::Subpage::GUI-id::param-id
|
|
options = CONST.SETTINGSTOPROCESS
|
|
|
|
# Cycle through each page
|
|
for mainpage in options:
|
|
# Cycle through each subpage (in case of Item Randomizer)
|
|
for subpage in options[mainpage]:
|
|
# Cycle through each widget
|
|
for widget in options[mainpage][subpage]:
|
|
# Get the value and set it
|
|
arg = options[mainpage][subpage][widget]
|
|
gui.pages[mainpage].pages[subpage].widgets[widget].storageVar.set(args[arg])
|
|
# If we're on the Game Options page and it's not about Hints
|
|
if subpage == "gameoptions" and not widget == "hints":
|
|
# Check if we've got settings
|
|
# Check if we've got the widget in Adjust settings
|
|
hasSettings = settings is not None
|
|
hasWidget = ("adjust." + widget) in settings if hasSettings else None
|
|
if hasWidget is None:
|
|
# If we've got a Game Options val and we don't have an Adjust val, use the Game Options val
|
|
gui.pages["adjust"].content.widgets[widget].storageVar.set(args[arg])
|
|
|
|
# Get EnemizerCLI setting
|
|
gui.pages["randomizer"].pages["enemizer"].enemizerCLIpathVar.set(args["enemizercli"])
|
|
|
|
# Get baserom path
|
|
gui.pages["randomizer"].pages["generation"].romVar.set(args["rom"])
|
|
|
|
# Get Multiworld Worlds count
|
|
if args["multi"]:
|
|
gui.pages["randomizer"].pages["multiworld"].widgets["worlds"].storageVar.set(str(args["multi"]))
|
|
|
|
# Get Seed ID
|
|
if args["seed"]:
|
|
gui.frames["bottom"].seedVar.set(str(args["seed"]))
|
|
|
|
# Get number of generations to run
|
|
if args["count"]:
|
|
gui.frames["bottom"].widgets["generationcount"].storageVar.set(str(args["count"]))
|
|
|
|
# Get output path
|
|
gui.outputPath.set(args["outputpath"])
|
|
|
|
# Figure out Sprite Selection
|
|
def sprite_setter(spriteObject):
|
|
gui.pages["randomizer"].pages["gameoptions"].widgets["sprite"]["spriteObject"] = spriteObject
|
|
if args["sprite"] is not None:
|
|
sprite_obj = args.sprite if isinstance(args["sprite"], Sprite) else get_sprite_from_name(args["sprite"])
|
|
set_sprite(sprite_obj, False, spriteSetter=sprite_setter,
|
|
spriteNameVar=gui.pages["randomizer"].pages["gameoptions"].widgets["sprite"]["spriteNameVar"],
|
|
randomSpriteVar=gui.randomSprite)
|
|
|
|
def sprite_setter_adj(spriteObject):
|
|
gui.pages["adjust"].content.sprite = spriteObject
|
|
if args["sprite"] is not None:
|
|
sprite_obj = args.sprite if isinstance(args["sprite"], Sprite) else get_sprite_from_name(args["sprite"])
|
|
set_sprite(sprite_obj, False, spriteSetter=sprite_setter_adj,
|
|
spriteNameVar=gui.pages["adjust"].content.spriteNameVar2,
|
|
randomSpriteVar=gui.randomSprite)
|
|
|
|
# Load args/settings for Adjust tab
|
|
def loadadjustargs(gui, settings):
|
|
options = {
|
|
"adjust": {
|
|
"content": {
|
|
"nobgm": "adjust.nobgm",
|
|
"quickswap": "adjust.quickswap",
|
|
"heartcolor": "adjust.heartcolor",
|
|
"heartbeep": "adjust.heartbeep",
|
|
"menuspeed": "adjust.menuspeed",
|
|
"owpalettes": "adjust.owpalettes",
|
|
"uwpalettes": "adjust.uwpalettes"
|
|
}
|
|
}
|
|
}
|
|
for mainpage in options:
|
|
for subpage in options[mainpage]:
|
|
for widget in options[mainpage][subpage]:
|
|
key = options[mainpage][subpage][widget]
|
|
if key in settings:
|
|
gui.pages[mainpage].content.widgets[widget].storageVar.set(settings[key])
|