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.shuffle = parent.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.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()
guiargs.heartbeep = parent.gameOptionsWindow.gameOptionsWidgets["heartbeep"].storageVar.get()
guiargs.heartcolor = parent.gameOptionsWindow.gameOptionsWidgets["heartcolor"].storageVar.get()
guiargs.fastmenu = parent.gameOptionsWindow.gameOptionsWidgets["menuspeed"].storageVar.get()
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())
@@ -62,12 +62,12 @@ def bottom_frame(self,parent,args=None):
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())
guiargs.ow_palettes = parent.gameOptionsWindow.owPalettesVar.get()
guiargs.uw_palettes = parent.gameOptionsWindow.uwPalettesVar.get()
guiargs.quickswap = bool(parent.gameOptionsWindow.gameOptionsWidgets["quickswap"].storageVar.get())
guiargs.disablemusic = bool(parent.gameOptionsWindow.gameOptionsWidgets["nobgm"].storageVar.get())
guiargs.ow_palettes = parent.gameOptionsWindow.gameOptionsWidgets["owpalettes"].storageVar.get()
guiargs.uw_palettes = parent.gameOptionsWindow.gameOptionsWidgets["uwpalettes"].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.shufflebosses = parent.enemizerWindow.enemizerWidgets["bossshuffle"].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.itemWindow.itemWidgets["retro"].storageVar.set(args.retro)
gui.entrandoWindow.entrandoWidgets["openpyramid"].storageVar.set(args.openpyramid)
gui.gameOptionsWindow.quickSwapVar.set(int(args.quickswap))
gui.gameOptionsWindow.disableMusicVar.set(int(args.disablemusic))
gui.gameOptionsWindow.gameOptionsWidgets["quickswap"].storageVar.set(int(args.quickswap))
gui.gameOptionsWindow.gameOptionsWidgets["nobgm"].storageVar.set(int(args.disablemusic))
if args.multi:
gui.multiworldWindow.multiworldWidgets["worlds"].storageVar.set(str(args.multi))
if args.count:
@@ -33,20 +33,20 @@ def loadcliargs(gui,args):
gui.itemWindow.itemWidgets["sortingalgo"].storageVar.set(args.algorithm)
gui.entrandoWindow.entrandoWidgets["entranceshuffle"].storageVar.set(args.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)
gui.gameOptionsWindow.gameOptionsWidgets["heartcolor"].storageVar.set(args.heartcolor)
gui.gameOptionsWindow.gameOptionsWidgets["heartbeep"].storageVar.set(args.heartbeep)
gui.gameOptionsWindow.gameOptionsWidgets["menuspeed"].storageVar.set(args.fastmenu)
gui.itemWindow.itemWidgets["logiclevel"].storageVar.set(args.logic)
gui.generationSetupWindow.romVar.set(args.rom)
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.enemizerWidgets["potshuffle"].storageVar.set(args.shufflepots)
gui.enemizerWindow.enemizerWidgets["enemyshuffle"].storageVar.set(args.shuffleenemies)
gui.enemizerWindow.enemizerWidgets["bossshuffle"].storageVar.set(args.shufflebosses)
gui.enemizerWindow.enemizerWidgets["enemydamage"].storageVar.set(args.enemy_damage)
gui.enemizerWindow.enemizerWidgets["enemyhealth"].storageVar.set(args.enemy_health)
gui.gameOptionsWindow.owPalettesVar.set(args.ow_palettes)
gui.gameOptionsWindow.uwPalettesVar.set(args.uw_palettes)
gui.gameOptionsWindow.gameOptionsWidgets["owpalettes"].storageVar.set(args.ow_palettes)
gui.gameOptionsWindow.gameOptionsWidgets["uwpalettes"].storageVar.set(args.uw_palettes)
# if args.sprite is not None:
# gui.gameOptionsWindow.set_sprite(Sprite(args.sprite))

View File

@@ -59,7 +59,7 @@ def enemizer_page(parent,working_dirs):
"Chaos": "chaos"
}
)
self.enemizerWidgets[key].pack(anchor=W)
self.enemizerWidgets[key].pack(anchor=E)
## Randomize Bosses
key = "bossshuffle"
@@ -77,7 +77,7 @@ def enemizer_page(parent,working_dirs):
"Chaos": "chaos"
}
)
self.enemizerWidgets[key].pack(anchor=W)
self.enemizerWidgets[key].pack(anchor=E)
## Enemy Damage
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 classes.SpriteSelector import SpriteSelector
import gui.widgets as widgets
def gameoptions_page(parent):
# Game Options
self = ttk.Frame(parent)
# Game Options options
self.gameOptionsWidgets = {}
## Hints: Useful/Not useful
self.hintsVar = IntVar()
self.hintsVar.set(1) #set default
hintsCheckbutton = Checkbutton(self, text="Include Helpful Hints", variable=self.hintsVar)
hintsCheckbutton.pack(anchor=W)
key = "hints"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"checkbox",
self,
"Include Helpful Hints",
None
)
self.gameOptionsWidgets[key].pack(anchor=W)
## Disable BGM
self.disableMusicVar = IntVar()
disableMusicCheckbutton = Checkbutton(self, text="Disable music", variable=self.disableMusicVar)
disableMusicCheckbutton.pack(anchor=W)
key = "nobgm"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"checkbox",
self,
"Disable Music & MSU-1",
None
)
self.gameOptionsWidgets[key].pack(anchor=W)
## L/R Quickswap
self.quickSwapVar = IntVar()
quickSwapCheckbutton = Checkbutton(self, text="L/R Quickswapping", variable=self.quickSwapVar)
quickSwapCheckbutton.pack(anchor=W)
key = "quickswap"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"checkbox",
self,
"L/R Quickswapping",
None
)
self.gameOptionsWidgets[key].pack(anchor=W)
leftRomOptionsFrame = Frame(self)
rightRomOptionsFrame = Frame(self)
@@ -27,24 +48,42 @@ def gameoptions_page(parent):
rightRomOptionsFrame.pack(side=RIGHT)
## Heart Color
heartcolorFrame = Frame(leftRomOptionsFrame)
heartcolorLabel = Label(heartcolorFrame, text='Heart color')
heartcolorLabel.pack(side=LEFT)
self.heartcolorVar = StringVar()
self.heartcolorVar.set('red')
heartcolorOptionMenu = OptionMenu(heartcolorFrame, self.heartcolorVar, 'red', 'blue', 'green', 'yellow', 'random')
heartcolorOptionMenu.pack(side=RIGHT)
heartcolorFrame.pack(anchor=E)
key = "heartcolor"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"selectbox",
leftRomOptionsFrame,
"Heart Color",
None,
{"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
heartbeepFrame = Frame(leftRomOptionsFrame)
heartbeepLabel = Label(heartbeepFrame, text='Heart Beep sound rate')
heartbeepLabel.pack(side=LEFT)
self.heartbeepVar = StringVar()
self.heartbeepVar.set('normal')
heartbeepOptionMenu = OptionMenu(heartbeepFrame, self.heartbeepVar, 'double', 'normal', 'half', 'quarter', 'off')
heartbeepOptionMenu.pack(side=LEFT)
heartbeepFrame.pack(anchor=E)
key = "heartbeep"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"selectbox",
leftRomOptionsFrame,
"Heart Beep sound rate",
None,
{"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
spriteDialogFrame = Frame(leftRomOptionsFrame)
@@ -76,33 +115,57 @@ def gameoptions_page(parent):
spriteDialogFrame.pack(anchor=E)
## Menu Speed
fastMenuFrame = Frame(rightRomOptionsFrame)
fastMenuLabel = Label(fastMenuFrame, text='Menu speed')
fastMenuLabel.pack(side=LEFT)
self.fastMenuVar = StringVar()
self.fastMenuVar.set('normal')
fastMenuOptionMenu = OptionMenu(fastMenuFrame, self.fastMenuVar, 'normal', 'instant', 'double', 'triple', 'quadruple', 'half')
fastMenuOptionMenu.pack(side=LEFT)
fastMenuFrame.pack(anchor=E)
key = "menuspeed"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"selectbox",
rightRomOptionsFrame,
"Menu Speed",
None,
{"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)
owPalettesFrame = Frame(rightRomOptionsFrame)
owPalettesLabel = Label(owPalettesFrame, text='Overworld palettes')
owPalettesLabel.pack(side=LEFT)
self.owPalettesVar = StringVar()
self.owPalettesVar.set('default')
owPalettesOptionMenu = OptionMenu(owPalettesFrame, self.owPalettesVar, 'default', 'random', 'blackout')
owPalettesOptionMenu.pack(side=LEFT)
owPalettesFrame.pack(anchor=E)
key = "owpalettes"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"selectbox",
rightRomOptionsFrame,
"Overworld Palettes",
None,
{"label": {"side": LEFT}, "selectbox": {"side": RIGHT}},
{
"Default": "default",
"Random": "random",
"Blackout": "blackout"
}
)
self.gameOptionsWidgets[key].pack(anchor=E)
## Underworld Palettes (not Enemizer)
uwPalettesFrame = Frame(rightRomOptionsFrame)
uwPalettesLabel = Label(uwPalettesFrame, text='Dungeon palettes')
uwPalettesLabel.pack(side=LEFT)
self.uwPalettesVar = StringVar()
self.uwPalettesVar.set('default')
uwPalettesOptionMenu = OptionMenu(uwPalettesFrame, self.uwPalettesVar, 'default', 'random', 'blackout')
uwPalettesOptionMenu.pack(side=LEFT)
uwPalettesFrame.pack(anchor=E)
key = "uwpalettes"
self.gameOptionsWidgets[key] = widgets.make_widget(
self,
"selectbox",
rightRomOptionsFrame,
"Underworld Palettes",
None,
{"label": {"side": LEFT}, "selectbox": {"side": RIGHT}},
{
"Default": "default",
"Random": "random",
"Blackout": "blackout"
}
)
self.gameOptionsWidgets[key].pack(anchor=E)
return self