diff --git a/gui/bottom.py b/gui/bottom.py index 3f4e13f5..2d16bd1d 100644 --- a/gui/bottom.py +++ b/gui/bottom.py @@ -35,8 +35,8 @@ def bottom_frame(self,parent,args=None): guiargs.names = parent.multiworldWindow.namesVar.get() guiargs.seed = int(parent.farBottomFrame.seedVar.get()) if parent.farBottomFrame.seedVar.get() else None guiargs.count = int(parent.farBottomFrame.countVar.get()) if parent.farBottomFrame.countVar.get() != '1' else None - guiargs.mode = parent.itemWindow.itemWidgets["worldState"].storageVar.get() - guiargs.logic = parent.itemWindow.itemWidgets["logicLevel"].storageVar.get() + guiargs.mode = parent.itemWindow.itemWidgets["worldstate"].storageVar.get() + guiargs.logic = parent.itemWindow.itemWidgets["logiclevel"].storageVar.get() guiargs.goal = parent.itemWindow.itemWidgets["goal"].storageVar.get() guiargs.crystals_gt = parent.itemWindow.itemWidgets["crystals_gt"].storageVar.get() @@ -48,7 +48,7 @@ def bottom_frame(self,parent,args=None): guiargs.progressive = parent.itemWindow.itemWidgets["progressives"].storageVar.get() guiargs.accessibility = parent.itemWindow.itemWidgets["accessibility"].storageVar.get() guiargs.algorithm = parent.itemWindow.itemWidgets["sortingalgo"].storageVar.get() - guiargs.shuffle = parent.entrandoWindow.shuffleVar.get() + guiargs.shuffle = parent.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.get() guiargs.door_shuffle = parent.dungeonRandoWindow.doorShuffleVar.get() guiargs.heartbeep = parent.gameOptionsWindow.heartbeepVar.get() guiargs.heartcolor = parent.gameOptionsWindow.heartcolorVar.get() @@ -56,7 +56,7 @@ def bottom_frame(self,parent,args=None): guiargs.create_spoiler = bool(parent.generationSetupWindow.createSpoilerVar.get()) guiargs.skip_playthrough = not bool(parent.generationSetupWindow.createSpoilerVar.get()) guiargs.suppress_rom = bool(parent.generationSetupWindow.suppressRomVar.get()) - guiargs.openpyramid = bool(parent.entrandoWindow.openpyramidVar.get()) + guiargs.openpyramid = bool(parent.entrandoWindow.entrandoWidgets["openpyramid"].storageVar.get()) guiargs.mapshuffle = bool(parent.dungeonRandoWindow.mapshuffleVar.get()) guiargs.compassshuffle = bool(parent.dungeonRandoWindow.compassshuffleVar.get()) guiargs.keyshuffle = bool(parent.dungeonRandoWindow.keyshuffleVar.get()) @@ -66,7 +66,7 @@ def bottom_frame(self,parent,args=None): guiargs.disablemusic = bool(parent.gameOptionsWindow.disableMusicVar.get()) guiargs.ow_palettes = parent.gameOptionsWindow.owPalettesVar.get() guiargs.uw_palettes = parent.gameOptionsWindow.uwPalettesVar.get() - guiargs.shuffleganon = bool(parent.entrandoWindow.shuffleGanonVar.get()) + guiargs.shuffleganon = bool(parent.entrandoWindow.entrandoWidgets["shuffleganon"].storageVar.get()) guiargs.hints = bool(parent.gameOptionsWindow.hintsVar.get()) guiargs.enemizercli = parent.enemizerWindow.enemizerCLIpathVar.get() guiargs.shufflebosses = parent.enemizerWindow.enemizerBossVar.get() diff --git a/gui/loadcliargs.py b/gui/loadcliargs.py index e88180d9..28aa5662 100644 --- a/gui/loadcliargs.py +++ b/gui/loadcliargs.py @@ -11,7 +11,7 @@ def loadcliargs(gui,args): gui.dungeonRandoWindow.keyshuffleVar.set(args.keyshuffle) gui.dungeonRandoWindow.bigkeyshuffleVar.set(args.bigkeyshuffle) gui.itemWindow.itemWidgets["retro"].storageVar.set(args.retro) - gui.entrandoWindow.openpyramidVar.set(args.openpyramid) + gui.entrandoWindow.entrandoWidgets["openpyramid"].storageVar.set(args.openpyramid) gui.gameOptionsWindow.quickSwapVar.set(int(args.quickswap)) gui.gameOptionsWindow.disableMusicVar.set(int(args.disablemusic)) if args.multi: @@ -20,7 +20,7 @@ def loadcliargs(gui,args): gui.farBottomFrame.countVar.set(str(args.count)) if args.seed: gui.farBottomFrame.seedVar.set(str(args.seed)) - gui.itemWindow.itemWidgets["worldState"].storageVar.set(args.mode) + gui.itemWindow.itemWidgets["worldstate"].storageVar.set(args.mode) gui.itemWindow.itemWidgets["weapons"].storageVar.set(args.swords) gui.itemWindow.itemWidgets["itempool"].storageVar.set(args.difficulty) gui.itemWindow.itemWidgets["itemfunction"].storageVar.set(args.item_functionality) @@ -31,14 +31,14 @@ def loadcliargs(gui,args): gui.itemWindow.itemWidgets["crystals_gt"].storageVar.set(args.crystals_gt) gui.itemWindow.itemWidgets["crystals_ganon"].storageVar.set(args.crystals_ganon) gui.itemWindow.itemWidgets["sortingalgo"].storageVar.set(args.algorithm) - gui.entrandoWindow.shuffleVar.set(args.shuffle) + gui.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.set(args.shuffle) gui.dungeonRandoWindow.doorShuffleVar.set(args.door_shuffle) gui.gameOptionsWindow.heartcolorVar.set(args.heartcolor) gui.gameOptionsWindow.heartbeepVar.set(args.heartbeep) gui.gameOptionsWindow.fastMenuVar.set(args.fastmenu) - gui.itemWindow.itemWidgets["logicLevel"].storageVar.set(args.logic) + gui.itemWindow.itemWidgets["logiclevel"].storageVar.set(args.logic) gui.generationSetupWindow.romVar.set(args.rom) - gui.entrandoWindow.shuffleGanonVar.set(args.shuffleganon) + gui.entrandoWindow.entrandoWidgets["shuffleganon"].storageVar.set(args.shuffleganon) gui.gameOptionsWindow.hintsVar.set(args.hints) gui.enemizerWindow.enemizerCLIpathVar.set(args.enemizercli) gui.enemizerWindow.potShuffleVar.set(args.shufflepots) diff --git a/gui/randomize/entrando.py b/gui/randomize/entrando.py index 69dad09f..ab218d23 100644 --- a/gui/randomize/entrando.py +++ b/gui/randomize/entrando.py @@ -1,27 +1,59 @@ from tkinter import ttk, IntVar, StringVar, Checkbutton, Frame, Label, OptionMenu, E, W, LEFT, RIGHT +import gui.widgets as widgets def entrando_page(parent): # Entrance Randomizer self = ttk.Frame(parent) # Entrance Randomizer options + self.entrandoWidgets = {} + ## Pyramid pre-opened - self.openpyramidVar = IntVar() - openpyramidCheckbutton = Checkbutton(self, text="Pre-open Pyramid Hole", variable=self.openpyramidVar) - openpyramidCheckbutton.pack(anchor=W) + key = "openpyramid" + self.entrandoWidgets[key] = widgets.make_widget( + self, + "checkbox", + self, + "Pre-open Pyramid Hole", + None + ) + self.entrandoWidgets[key].pack(anchor=W) + ## Shuffle Ganon - self.shuffleGanonVar = IntVar() - self.shuffleGanonVar.set(1) #set default - shuffleGanonCheckbutton = Checkbutton(self, text="Include Ganon's Tower and Pyramid Hole in shuffle pool", variable=self.shuffleGanonVar) - shuffleGanonCheckbutton.pack(anchor=W) + key = "shuffleganon" + self.entrandoWidgets[key] = widgets.make_widget( + self, + "checkbox", + self, + "Include Ganon's Tower and Pyramid Hole in shuffle pool", + {"default": 1} + ) + self.entrandoWidgets[key].pack(anchor=W) + ## Entrance Shuffle - shuffleFrame = Frame(self) - self.shuffleVar = StringVar() - self.shuffleVar.set('vanilla') - shuffleOptionMenu = OptionMenu(shuffleFrame, self.shuffleVar, 'vanilla', 'simple', 'restricted', 'full', 'crossed', 'insanity', 'restricted_legacy', 'full_legacy', 'madness_legacy', 'insanity_legacy', 'dungeonsfull', 'dungeonssimple') - shuffleOptionMenu.pack(side=RIGHT) - shuffleLabel = Label(shuffleFrame, text='Entrance shuffle algorithm') - shuffleLabel.pack(side=LEFT) - shuffleFrame.pack(anchor=W) + key = "entranceshuffle" + self.entrandoWidgets[key] = widgets.make_widget( + self, + "selectbox", + self, + "Entrance Shuffle", + None, + {"label": {"side": LEFT}, "selectbox": {"side": RIGHT}}, + { + "Vanilla": "vanilla", + "Simple": "simple", + "Restricted": "restricted", + "Full": "full", + "Crossed": "crossed", + "Insanity": "insanity", + "Restricted (Legacy)": "restricted_legacy", + "Full (Legacy)": "full_legacy", + "Madness (Legacy)": "madness_legacy", + "Insanity (Legacy)": "insanity_legacy", + "Dungeons + Full": "dungeonsfull", + "Dungeons + Simple": "dungeonssimple" + } + ) + self.entrandoWidgets[key].pack(anchor=W) return self diff --git a/gui/randomize/item.py b/gui/randomize/item.py index 2ab1c781..b1803f44 100644 --- a/gui/randomize/item.py +++ b/gui/randomize/item.py @@ -6,17 +6,18 @@ def item_page(parent): self = ttk.Frame(parent) # Item Randomizer options - ## Retro (eventually needs to become a World State) self.itemWidgets = {} - self.itemWidgets["retro"] = widgets.make_widget( + ## Retro (eventually needs to become a World State) + key = "retro" + self.itemWidgets[key] = widgets.make_widget( self, "checkbox", self, "Retro mode (universal keys)", None ) - self.itemWidgets["retro"].pack(anchor=W) + self.itemWidgets[key].pack(anchor=W) leftItemFrame = Frame(self) rightItemFrame = Frame(self) @@ -24,7 +25,7 @@ def item_page(parent): rightItemFrame.pack(side=RIGHT) ## World State - key = "worldState" + key = "worldstate" self.itemWidgets[key] = widgets.make_widget( self, "selectbox", @@ -41,7 +42,7 @@ def item_page(parent): self.itemWidgets[key].pack(anchor=E) ## Logic Level - key = "logicLevel" + key = "logiclevel" self.itemWidgets[key] = widgets.make_widget( self, "selectbox",