Implement save system

Add to .gitignore
Add to default CLI args
Add to each page that needs it
* Rom Adjuster
* Seed
* Generation attempts
* Enemizer CLI path
* Base ROM
* Multiworld worlds
* Multiworld names
This commit is contained in:
Mike A. Trethewey
2020-02-08 19:01:15 -08:00
parent 2c91550e50
commit 03431f0b83
8 changed files with 64 additions and 45 deletions

View File

@@ -1,7 +1,7 @@
import os
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, LabelFrame, OptionMenu, E, W, LEFT, RIGHT, X
def enemizer_page(parent):#,working_dirs):
def enemizer_page(parent,working_dirs):
self = ttk.Frame(parent)
# Enemizer
@@ -16,10 +16,9 @@ def enemizer_page(parent):#,working_dirs):
enemizerPathFrame.grid(row=0, column=0, columnspan=3, sticky=W+E)
enemizerCLIlabel = Label(enemizerPathFrame, text="EnemizerCLI path: ")
enemizerCLIlabel.pack(side=LEFT)
self.enemizerCLIpathVar = StringVar()
self.enemizerCLIpathVar = StringVar(value=working_dirs["enemizer.cli"])
def saveEnemizerPath(caller,_,mode):
pass
#working_dirs["enemizer.cli"] = self.enemizerCLIpathVar.get()
working_dirs["enemizer.cli"] = self.enemizerCLIpathVar.get()
self.enemizerCLIpathVar.trace_add("write",saveEnemizerPath)
enemizerCLIpathEntry = Entry(enemizerPathFrame, textvariable=self.enemizerCLIpathVar)
enemizerCLIpathEntry.pack(side=LEFT, fill=X, expand=True)
@@ -27,7 +26,7 @@ def enemizer_page(parent):#,working_dirs):
path = filedialog.askopenfilename(filetypes=[("EnemizerCLI executable", "*EnemizerCLI*")], initialdir=os.path.join("."))
if path:
self.enemizerCLIpathVar.set(path)
#working_dirs["enemizer.cli"] = path
working_dirs["enemizer.cli"] = path
enemizerCLIbrowseButton = Button(enemizerPathFrame, text='...', command=EnemizerSelectPath)
enemizerCLIbrowseButton.pack(side=LEFT)
@@ -76,4 +75,4 @@ def enemizer_page(parent):#,working_dirs):
enemizerHealthOption = OptionMenu(enemizerHealthFrame, self.enemizerHealthVar, 'default', 'easy', 'normal', 'hard', 'expert')
enemizerHealthOption.pack(side=LEFT)
return self#,working_dirs
return self,working_dirs

View File

@@ -1,7 +1,7 @@
import os
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, E, W, LEFT, RIGHT, X
def generation_page(parent):#,working_dirs):
def generation_page(parent,working_dirs):
self = ttk.Frame(parent)
# Generation Setup options
@@ -22,11 +22,10 @@ def generation_page(parent):#,working_dirs):
baseRomLabel = Label(baseRomFrame, text='Base Rom: ')
self.romVar = StringVar()
def saveBaseRom(caller,_,mode):
pass
# working_dirs["rom.base"] = self.romVar.get()
working_dirs["rom.base"] = self.romVar.get()
self.romVar.trace_add("write",saveBaseRom)
romEntry = Entry(baseRomFrame, textvariable=self.romVar)
# self.romVar.set(working_dirs["rom.base"])
self.romVar.set(working_dirs["rom.base"])
def RomSelect():
rom = filedialog.askopenfilename(filetypes=[("Rom Files", (".sfc", ".smc")), ("All Files", "*")], initialdir=os.path.join("."))
@@ -38,4 +37,4 @@ def generation_page(parent):#,working_dirs):
romSelectButton.pack(side=LEFT)
baseRomFrame.pack(fill=X, expand=True)
return self#,working_dirs
return self,working_dirs

View File

@@ -1,28 +1,25 @@
from tkinter import ttk, StringVar, Entry, Frame, Label, Spinbox, E, W, LEFT, RIGHT
def multiworld_page(parent):#,working_dirs):
def multiworld_page(parent,working_dirs):
self = ttk.Frame(parent)
# Multiworld
multiFrame = Frame(self)
## Number of Worlds
worldLabel = Label(multiFrame, text='Worlds')
# self.worldVar = StringVar(value=working_dirs["multi.worlds"])
self.worldVar = StringVar(value="1")
self.worldVar = StringVar(value=working_dirs["multi.worlds"])
worldSpinbox = Spinbox(multiFrame, from_=1, to=100, width=5, textvariable=self.worldVar)
worldLabel.pack(side=LEFT)
worldSpinbox.pack(side=LEFT)
## List of Player Names
namesLabel = Label(multiFrame, text='Player names')
self.namesVar = StringVar()
# self.namesVar = StringVar(value=working_dirs["multi.names"])
self.namesVar = StringVar(value=working_dirs["multi.names"])
def saveMultiNames(caller,_,mode):
pass
#working_dirs["multi.names"] = self.namesVar.get()
working_dirs["multi.names"] = self.namesVar.get()
self.namesVar.trace_add("write",saveMultiNames)
namesEntry = Entry(multiFrame, textvariable=self.namesVar)
namesLabel.pack(side=LEFT)
namesEntry.pack(side=LEFT)
multiFrame.pack(anchor=W)
return self#,working_dirs
return self,working_dirs