Pretty Game Options options

This commit is contained in:
Mike A. Trethewey
2020-02-11 02:17:50 -08:00
parent 64e0d8ebcf
commit 88bb18f12f
4 changed files with 131 additions and 68 deletions

View File

@@ -50,9 +50,9 @@ def bottom_frame(self,parent,args=None):
guiargs.algorithm = parent.itemWindow.itemWidgets["sortingalgo"].storageVar.get() guiargs.algorithm = parent.itemWindow.itemWidgets["sortingalgo"].storageVar.get()
guiargs.shuffle = parent.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.get() guiargs.shuffle = parent.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.get()
guiargs.door_shuffle = parent.dungeonRandoWindow.dungeonWidgets["dungeondoorshuffle"].storageVar.get() guiargs.door_shuffle = parent.dungeonRandoWindow.dungeonWidgets["dungeondoorshuffle"].storageVar.get()
guiargs.heartbeep = parent.gameOptionsWindow.heartbeepVar.get() guiargs.heartbeep = parent.gameOptionsWindow.gameOptionsWidgets["heartbeep"].storageVar.get()
guiargs.heartcolor = parent.gameOptionsWindow.heartcolorVar.get() guiargs.heartcolor = parent.gameOptionsWindow.gameOptionsWidgets["heartcolor"].storageVar.get()
guiargs.fastmenu = parent.gameOptionsWindow.fastMenuVar.get() guiargs.fastmenu = parent.gameOptionsWindow.gameOptionsWidgets["menuspeed"].storageVar.get()
guiargs.create_spoiler = bool(parent.generationSetupWindow.createSpoilerVar.get()) guiargs.create_spoiler = bool(parent.generationSetupWindow.createSpoilerVar.get())
guiargs.skip_playthrough = not bool(parent.generationSetupWindow.createSpoilerVar.get()) guiargs.skip_playthrough = not bool(parent.generationSetupWindow.createSpoilerVar.get())
guiargs.suppress_rom = bool(parent.generationSetupWindow.suppressRomVar.get()) guiargs.suppress_rom = bool(parent.generationSetupWindow.suppressRomVar.get())
@@ -62,12 +62,12 @@ def bottom_frame(self,parent,args=None):
guiargs.keyshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["smallkeyshuffle"].storageVar.get()) guiargs.keyshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["smallkeyshuffle"].storageVar.get())
guiargs.bigkeyshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["bigkeyshuffle"].storageVar.get()) guiargs.bigkeyshuffle = bool(parent.dungeonRandoWindow.dungeonWidgets["bigkeyshuffle"].storageVar.get())
guiargs.retro = bool(parent.itemWindow.itemWidgets["retro"].storageVar.get()) guiargs.retro = bool(parent.itemWindow.itemWidgets["retro"].storageVar.get())
guiargs.quickswap = bool(parent.gameOptionsWindow.quickSwapVar.get()) guiargs.quickswap = bool(parent.gameOptionsWindow.gameOptionsWidgets["quickswap"].storageVar.get())
guiargs.disablemusic = bool(parent.gameOptionsWindow.disableMusicVar.get()) guiargs.disablemusic = bool(parent.gameOptionsWindow.gameOptionsWidgets["nobgm"].storageVar.get())
guiargs.ow_palettes = parent.gameOptionsWindow.owPalettesVar.get() guiargs.ow_palettes = parent.gameOptionsWindow.gameOptionsWidgets["owpalettes"].storageVar.get()
guiargs.uw_palettes = parent.gameOptionsWindow.uwPalettesVar.get() guiargs.uw_palettes = parent.gameOptionsWindow.gameOptionsWidgets["uwpalettes"].storageVar.get()
guiargs.shuffleganon = bool(parent.entrandoWindow.entrandoWidgets["shuffleganon"].storageVar.get()) guiargs.shuffleganon = bool(parent.entrandoWindow.entrandoWidgets["shuffleganon"].storageVar.get())
guiargs.hints = bool(parent.gameOptionsWindow.hintsVar.get()) guiargs.hints = bool(parent.gameOptionsWindow.gameOptionsWidgets["hints"].storageVar.get())
guiargs.enemizercli = parent.enemizerWindow.enemizerCLIpathVar.get() guiargs.enemizercli = parent.enemizerWindow.enemizerCLIpathVar.get()
guiargs.shufflebosses = parent.enemizerWindow.enemizerWidgets["bossshuffle"].storageVar.get() guiargs.shufflebosses = parent.enemizerWindow.enemizerWidgets["bossshuffle"].storageVar.get()
guiargs.shuffleenemies = parent.enemizerWindow.enemizerWidgets["enemyshuffle"].storageVar.get() guiargs.shuffleenemies = parent.enemizerWindow.enemizerWidgets["enemyshuffle"].storageVar.get()

View File

@@ -12,8 +12,8 @@ def loadcliargs(gui,args):
gui.dungeonRandoWindow.dungeonWidgets["bigkeyshuffle"].storageVar.set(args.bigkeyshuffle) gui.dungeonRandoWindow.dungeonWidgets["bigkeyshuffle"].storageVar.set(args.bigkeyshuffle)
gui.itemWindow.itemWidgets["retro"].storageVar.set(args.retro) gui.itemWindow.itemWidgets["retro"].storageVar.set(args.retro)
gui.entrandoWindow.entrandoWidgets["openpyramid"].storageVar.set(args.openpyramid) gui.entrandoWindow.entrandoWidgets["openpyramid"].storageVar.set(args.openpyramid)
gui.gameOptionsWindow.quickSwapVar.set(int(args.quickswap)) gui.gameOptionsWindow.gameOptionsWidgets["quickswap"].storageVar.set(int(args.quickswap))
gui.gameOptionsWindow.disableMusicVar.set(int(args.disablemusic)) gui.gameOptionsWindow.gameOptionsWidgets["nobgm"].storageVar.set(int(args.disablemusic))
if args.multi: if args.multi:
gui.multiworldWindow.multiworldWidgets["worlds"].storageVar.set(str(args.multi)) gui.multiworldWindow.multiworldWidgets["worlds"].storageVar.set(str(args.multi))
if args.count: if args.count:
@@ -33,20 +33,20 @@ def loadcliargs(gui,args):
gui.itemWindow.itemWidgets["sortingalgo"].storageVar.set(args.algorithm) gui.itemWindow.itemWidgets["sortingalgo"].storageVar.set(args.algorithm)
gui.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.set(args.shuffle) gui.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.set(args.shuffle)
gui.dungeonRandoWindow.dungeonWidgets["dungeondoorshuffle"].storageVar.set(args.door_shuffle) gui.dungeonRandoWindow.dungeonWidgets["dungeondoorshuffle"].storageVar.set(args.door_shuffle)
gui.gameOptionsWindow.heartcolorVar.set(args.heartcolor) gui.gameOptionsWindow.gameOptionsWidgets["heartcolor"].storageVar.set(args.heartcolor)
gui.gameOptionsWindow.heartbeepVar.set(args.heartbeep) gui.gameOptionsWindow.gameOptionsWidgets["heartbeep"].storageVar.set(args.heartbeep)
gui.gameOptionsWindow.fastMenuVar.set(args.fastmenu) gui.gameOptionsWindow.gameOptionsWidgets["menuspeed"].storageVar.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.generationSetupWindow.romVar.set(args.rom)
gui.entrandoWindow.entrandoWidgets["shuffleganon"].storageVar.set(args.shuffleganon) gui.entrandoWindow.entrandoWidgets["shuffleganon"].storageVar.set(args.shuffleganon)
gui.gameOptionsWindow.hintsVar.set(args.hints) gui.gameOptionsWindow.gameOptionsWidgets["hints"].storageVar.set(args.hints)
gui.enemizerWindow.enemizerCLIpathVar.set(args.enemizercli) gui.enemizerWindow.enemizerCLIpathVar.set(args.enemizercli)
gui.enemizerWindow.enemizerWidgets["potshuffle"].storageVar.set(args.shufflepots) gui.enemizerWindow.enemizerWidgets["potshuffle"].storageVar.set(args.shufflepots)
gui.enemizerWindow.enemizerWidgets["enemyshuffle"].storageVar.set(args.shuffleenemies) gui.enemizerWindow.enemizerWidgets["enemyshuffle"].storageVar.set(args.shuffleenemies)
gui.enemizerWindow.enemizerWidgets["bossshuffle"].storageVar.set(args.shufflebosses) gui.enemizerWindow.enemizerWidgets["bossshuffle"].storageVar.set(args.shufflebosses)
gui.enemizerWindow.enemizerWidgets["enemydamage"].storageVar.set(args.enemy_damage) gui.enemizerWindow.enemizerWidgets["enemydamage"].storageVar.set(args.enemy_damage)
gui.enemizerWindow.enemizerWidgets["enemyhealth"].storageVar.set(args.enemy_health) gui.enemizerWindow.enemizerWidgets["enemyhealth"].storageVar.set(args.enemy_health)
gui.gameOptionsWindow.owPalettesVar.set(args.ow_palettes) gui.gameOptionsWindow.gameOptionsWidgets["owpalettes"].storageVar.set(args.ow_palettes)
gui.gameOptionsWindow.uwPalettesVar.set(args.uw_palettes) gui.gameOptionsWindow.gameOptionsWidgets["uwpalettes"].storageVar.set(args.uw_palettes)
# if args.sprite is not None: # if args.sprite is not None:
# gui.gameOptionsWindow.set_sprite(Sprite(args.sprite)) # gui.gameOptionsWindow.set_sprite(Sprite(args.sprite))

View File

@@ -59,7 +59,7 @@ def enemizer_page(parent,working_dirs):
"Chaos": "chaos" "Chaos": "chaos"
} }
) )
self.enemizerWidgets[key].pack(anchor=W) self.enemizerWidgets[key].pack(anchor=E)
## Randomize Bosses ## Randomize Bosses
key = "bossshuffle" key = "bossshuffle"
@@ -77,7 +77,7 @@ def enemizer_page(parent,working_dirs):
"Chaos": "chaos" "Chaos": "chaos"
} }
) )
self.enemizerWidgets[key].pack(anchor=W) self.enemizerWidgets[key].pack(anchor=E)
## Enemy Damage ## Enemy Damage
key = "enemydamage" key = "enemydamage"

View File

@@ -1,25 +1,46 @@
from tkinter import ttk, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, OptionMenu, E, W, LEFT, RIGHT from tkinter import ttk, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, OptionMenu, E, W, LEFT, RIGHT
from classes.SpriteSelector import SpriteSelector from classes.SpriteSelector import SpriteSelector
import gui.widgets as widgets
def gameoptions_page(parent): def gameoptions_page(parent):
# Game Options
self = ttk.Frame(parent) self = ttk.Frame(parent)
# Game Options options # Game Options options
self.gameOptionsWidgets = {}
## Hints: Useful/Not useful ## Hints: Useful/Not useful
self.hintsVar = IntVar() key = "hints"
self.hintsVar.set(1) #set default self.gameOptionsWidgets[key] = widgets.make_widget(
hintsCheckbutton = Checkbutton(self, text="Include Helpful Hints", variable=self.hintsVar) self,
hintsCheckbutton.pack(anchor=W) "checkbox",
self,
"Include Helpful Hints",
None
)
self.gameOptionsWidgets[key].pack(anchor=W)
## Disable BGM ## Disable BGM
self.disableMusicVar = IntVar() key = "nobgm"
disableMusicCheckbutton = Checkbutton(self, text="Disable music", variable=self.disableMusicVar) self.gameOptionsWidgets[key] = widgets.make_widget(
disableMusicCheckbutton.pack(anchor=W) self,
"checkbox",
self,
"Disable Music & MSU-1",
None
)
self.gameOptionsWidgets[key].pack(anchor=W)
## L/R Quickswap ## L/R Quickswap
self.quickSwapVar = IntVar() key = "quickswap"
quickSwapCheckbutton = Checkbutton(self, text="L/R Quickswapping", variable=self.quickSwapVar) self.gameOptionsWidgets[key] = widgets.make_widget(
quickSwapCheckbutton.pack(anchor=W) self,
"checkbox",
self,
"L/R Quickswapping",
None
)
self.gameOptionsWidgets[key].pack(anchor=W)
leftRomOptionsFrame = Frame(self) leftRomOptionsFrame = Frame(self)
rightRomOptionsFrame = Frame(self) rightRomOptionsFrame = Frame(self)
@@ -27,24 +48,42 @@ def gameoptions_page(parent):
rightRomOptionsFrame.pack(side=RIGHT) rightRomOptionsFrame.pack(side=RIGHT)
## Heart Color ## Heart Color
heartcolorFrame = Frame(leftRomOptionsFrame) key = "heartcolor"
heartcolorLabel = Label(heartcolorFrame, text='Heart color') self.gameOptionsWidgets[key] = widgets.make_widget(
heartcolorLabel.pack(side=LEFT) self,
self.heartcolorVar = StringVar() "selectbox",
self.heartcolorVar.set('red') leftRomOptionsFrame,
heartcolorOptionMenu = OptionMenu(heartcolorFrame, self.heartcolorVar, 'red', 'blue', 'green', 'yellow', 'random') "Heart Color",
heartcolorOptionMenu.pack(side=RIGHT) None,
heartcolorFrame.pack(anchor=E) {"label": {"side": LEFT}, "selectbox": {"side": RIGHT}},
{
"Red": "red",
"Blue": "blue",
"Green": "green",
"Yellow": "yellow",
"Random": "random"
}
)
self.gameOptionsWidgets[key].pack(anchor=E)
## Heart Beep Speed ## Heart Beep Speed
heartbeepFrame = Frame(leftRomOptionsFrame) key = "heartbeep"
heartbeepLabel = Label(heartbeepFrame, text='Heart Beep sound rate') self.gameOptionsWidgets[key] = widgets.make_widget(
heartbeepLabel.pack(side=LEFT) self,
self.heartbeepVar = StringVar() "selectbox",
self.heartbeepVar.set('normal') leftRomOptionsFrame,
heartbeepOptionMenu = OptionMenu(heartbeepFrame, self.heartbeepVar, 'double', 'normal', 'half', 'quarter', 'off') "Heart Beep sound rate",
heartbeepOptionMenu.pack(side=LEFT) None,
heartbeepFrame.pack(anchor=E) {"label": {"side": LEFT}, "selectbox": {"side": RIGHT}, "default": "Normal"},
{
"Double": "double",
"Normal": "normal",
"Half": "half",
"Quarter": "quarter",
"Off": "off"
}
)
self.gameOptionsWidgets[key].pack(anchor=W)
## Sprite selection ## Sprite selection
spriteDialogFrame = Frame(leftRomOptionsFrame) spriteDialogFrame = Frame(leftRomOptionsFrame)
@@ -76,33 +115,57 @@ def gameoptions_page(parent):
spriteDialogFrame.pack(anchor=E) spriteDialogFrame.pack(anchor=E)
## Menu Speed ## Menu Speed
fastMenuFrame = Frame(rightRomOptionsFrame) key = "menuspeed"
fastMenuLabel = Label(fastMenuFrame, text='Menu speed') self.gameOptionsWidgets[key] = widgets.make_widget(
fastMenuLabel.pack(side=LEFT) self,
self.fastMenuVar = StringVar() "selectbox",
self.fastMenuVar.set('normal') rightRomOptionsFrame,
fastMenuOptionMenu = OptionMenu(fastMenuFrame, self.fastMenuVar, 'normal', 'instant', 'double', 'triple', 'quadruple', 'half') "Menu Speed",
fastMenuOptionMenu.pack(side=LEFT) None,
fastMenuFrame.pack(anchor=E) {"label": {"side": LEFT}, "selectbox": {"side": RIGHT}, "default": "Normal"},
{
"Instant": "instant",
"Quadruple": "quadruple",
"Triple": "triple",
"Double": "double",
"Normal": "normal",
"Half": "half"
}
)
self.gameOptionsWidgets[key].pack(anchor=E)
## Overworld Palettes (not Enemizer) ## Overworld Palettes (not Enemizer)
owPalettesFrame = Frame(rightRomOptionsFrame) key = "owpalettes"
owPalettesLabel = Label(owPalettesFrame, text='Overworld palettes') self.gameOptionsWidgets[key] = widgets.make_widget(
owPalettesLabel.pack(side=LEFT) self,
self.owPalettesVar = StringVar() "selectbox",
self.owPalettesVar.set('default') rightRomOptionsFrame,
owPalettesOptionMenu = OptionMenu(owPalettesFrame, self.owPalettesVar, 'default', 'random', 'blackout') "Overworld Palettes",
owPalettesOptionMenu.pack(side=LEFT) None,
owPalettesFrame.pack(anchor=E) {"label": {"side": LEFT}, "selectbox": {"side": RIGHT}},
{
"Default": "default",
"Random": "random",
"Blackout": "blackout"
}
)
self.gameOptionsWidgets[key].pack(anchor=E)
## Underworld Palettes (not Enemizer) ## Underworld Palettes (not Enemizer)
uwPalettesFrame = Frame(rightRomOptionsFrame) key = "uwpalettes"
uwPalettesLabel = Label(uwPalettesFrame, text='Dungeon palettes') self.gameOptionsWidgets[key] = widgets.make_widget(
uwPalettesLabel.pack(side=LEFT) self,
self.uwPalettesVar = StringVar() "selectbox",
self.uwPalettesVar.set('default') rightRomOptionsFrame,
uwPalettesOptionMenu = OptionMenu(uwPalettesFrame, self.uwPalettesVar, 'default', 'random', 'blackout') "Underworld Palettes",
uwPalettesOptionMenu.pack(side=LEFT) None,
uwPalettesFrame.pack(anchor=E) {"label": {"side": LEFT}, "selectbox": {"side": RIGHT}},
{
"Default": "default",
"Random": "random",
"Blackout": "blackout"
}
)
self.gameOptionsWidgets[key].pack(anchor=E)
return self return self