Pretty Dungeon options

This commit is contained in:
Mike A. Trethewey
2020-02-11 01:28:15 -08:00
parent a830c20a53
commit 3065d17d63
3 changed files with 73 additions and 32 deletions

View File

@@ -49,7 +49,7 @@ def bottom_frame(self,parent,args=None):
guiargs.accessibility = parent.itemWindow.itemWidgets["accessibility"].storageVar.get()
guiargs.algorithm = parent.itemWindow.itemWidgets["sortingalgo"].storageVar.get()
guiargs.shuffle = parent.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.get()
guiargs.door_shuffle = parent.dungeonRandoWindow.doorShuffleVar.get()
guiargs.door_shuffle = parent.dungeonRandoWindow.dungeonWidgets["dungeondoorshuffle"].storageVar.get()
guiargs.heartbeep = parent.gameOptionsWindow.heartbeepVar.get()
guiargs.heartcolor = parent.gameOptionsWindow.heartcolorVar.get()
guiargs.fastmenu = parent.gameOptionsWindow.fastMenuVar.get()
@@ -57,10 +57,10 @@ def bottom_frame(self,parent,args=None):
guiargs.skip_playthrough = not bool(parent.generationSetupWindow.createSpoilerVar.get())
guiargs.suppress_rom = bool(parent.generationSetupWindow.suppressRomVar.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())
guiargs.bigkeyshuffle = bool(parent.dungeonRandoWindow.bigkeyshuffleVar.get())
guiargs.mapshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["mapshuffle"].storageVar.get())
guiargs.compassshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["compassshuffle"].storageVar.get())
guiargs.keyshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["smallkeyshuffle"].storageVar.get())
guiargs.bigkeyshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["bigkeyshuffle"].storageVar.get())
guiargs.retro = bool(parent.itemWindow.itemWidgets["retro"].storageVar.get())
guiargs.quickswap = bool(parent.gameOptionsWindow.quickSwapVar.get())
guiargs.disablemusic = bool(parent.gameOptionsWindow.disableMusicVar.get())

View File

@@ -6,10 +6,10 @@ def loadcliargs(gui,args):
# load values from commandline args
gui.generationSetupWindow.createSpoilerVar.set(int(args.create_spoiler))
gui.generationSetupWindow.suppressRomVar.set(int(args.suppress_rom))
gui.dungeonRandoWindow.mapshuffleVar.set(args.mapshuffle)
gui.dungeonRandoWindow.compassshuffleVar.set(args.compassshuffle)
gui.dungeonRandoWindow.keyshuffleVar.set(args.keyshuffle)
gui.dungeonRandoWindow.bigkeyshuffleVar.set(args.bigkeyshuffle)
gui.dungeonRandoWindow.dungeonWidgets["mapshuffle"].storageVar.set(args.mapshuffle)
gui.dungeonRandoWindow.dungeonWidgets["compassshuffle"].storageVar.set(args.compassshuffle)
gui.dungeonRandoWindow.dungeonWidgets["smallkeyshuffle"].storageVar.set(args.keyshuffle)
gui.dungeonRandoWindow.dungeonWidgets["bigkeyshuffle"].storageVar.set(args.bigkeyshuffle)
gui.itemWindow.itemWidgets["retro"].storageVar.set(args.retro)
gui.entrandoWindow.entrandoWidgets["openpyramid"].storageVar.set(args.openpyramid)
gui.gameOptionsWindow.quickSwapVar.set(int(args.quickswap))
@@ -32,7 +32,7 @@ def loadcliargs(gui,args):
gui.itemWindow.itemWidgets["crystals_ganon"].storageVar.set(args.crystals_ganon)
gui.itemWindow.itemWidgets["sortingalgo"].storageVar.set(args.algorithm)
gui.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.set(args.shuffle)
gui.dungeonRandoWindow.doorShuffleVar.set(args.door_shuffle)
gui.dungeonRandoWindow.dungeonWidgets["dungeondoorshuffle"].storageVar.set(args.door_shuffle)
gui.gameOptionsWindow.heartcolorVar.set(args.heartcolor)
gui.gameOptionsWindow.heartbeepVar.set(args.heartbeep)
gui.gameOptionsWindow.fastMenuVar.set(args.fastmenu)

View File

@@ -1,38 +1,79 @@
from tkinter import ttk, IntVar, StringVar, Checkbutton, Frame, Label, OptionMenu, E, W, LEFT, RIGHT
import gui.widgets as widgets
def dungeon_page(parent):
# Dungeon Shuffle
self = ttk.Frame(parent)
# Dungeon Shuffle options
self.dungeonWidgets = {}
## Dungeon Item Shuffle
mcsbshuffleFrame = Frame(self)
mcsbshuffleFrame.pack(anchor=W)
mcsbLabel = Label(mcsbshuffleFrame, text="Shuffle: ")
mcsbLabel.grid(row=0, column=0)
mscbLabel = Label(mcsbshuffleFrame, text="Shuffle: ")
mscbLabel.pack(side=LEFT)
## Map Shuffle
self.mapshuffleVar = IntVar()
mapshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="Maps", variable=self.mapshuffleVar)
mapshuffleCheckbutton.grid(row=0, column=1)
key = "mapshuffle"
self.dungeonWidgets[key] = widgets.make_widget(
self,
"checkbox",
mcsbshuffleFrame,
"Maps",
None
)
self.dungeonWidgets[key].pack(side=LEFT)
## Compass Shuffle
self.compassshuffleVar = IntVar()
compassshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="Compasses", variable=self.compassshuffleVar)
compassshuffleCheckbutton.grid(row=0, column=2)
key = "compassshuffle"
self.dungeonWidgets[key] = widgets.make_widget(
self,
"checkbox",
mcsbshuffleFrame,
"Compasses",
None
)
self.dungeonWidgets[key].pack(side=LEFT)
## Small Key Shuffle
self.keyshuffleVar = IntVar()
keyshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="Keys", variable=self.keyshuffleVar)
keyshuffleCheckbutton.grid(row=0, column=3)
key = "smallkeyshuffle"
self.dungeonWidgets[key] = widgets.make_widget(
self,
"checkbox",
mcsbshuffleFrame,
"Small Keys",
None
)
self.dungeonWidgets[key].pack(side=LEFT)
## Big Key Shuffle
self.bigkeyshuffleVar = IntVar()
bigkeyshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="BigKeys", variable=self.bigkeyshuffleVar)
bigkeyshuffleCheckbutton.grid(row=0, column=4)
key = "bigkeyshuffle"
self.dungeonWidgets[key] = widgets.make_widget(
self,
"checkbox",
mcsbshuffleFrame,
"Big Keys",
None
)
self.dungeonWidgets[key].pack(side=LEFT)
## Dungeon Door Shuffle
doorShuffleFrame = Frame(self)
self.doorShuffleVar = StringVar()
self.doorShuffleVar.set('basic')
doorShuffleOptionMenu = OptionMenu(doorShuffleFrame, self.doorShuffleVar, 'vanilla', 'basic', 'crossed', 'experimental')
doorShuffleOptionMenu.pack(side=RIGHT)
doorShuffleLabel = Label(doorShuffleFrame, text='Door shuffle algorithm')
doorShuffleLabel.pack(side=LEFT)
doorShuffleFrame.pack(anchor=W)
key = "dungeondoorshuffle"
self.dungeonWidgets[key] = widgets.make_widget(
self,
"selectbox",
self,
"Dungeon Door Shuffle",
None,
{"label": {"side": LEFT}, "selectbox": {"side": RIGHT}, "default": "Basic"},
{
"Vanilla": "vanilla",
"Basic": "basic",
"Crossed": "crossed",
"Experimental": "experimental"
}
)
self.dungeonWidgets[key].pack(anchor=W)
return self