JSONify Enemizer options
Fix set_sprite when cancelling custom sprite file selector
This commit is contained in:
@@ -94,7 +94,7 @@ def adjust_page(top, parent, settings):
|
|||||||
spriteEntry2 = Label(spriteDialogFrame2, textvariable=self.spriteNameVar2)
|
spriteEntry2 = Label(spriteDialogFrame2, textvariable=self.spriteNameVar2)
|
||||||
self.sprite = None
|
self.sprite = None
|
||||||
|
|
||||||
def set_sprite(sprite_param, random_sprite):
|
def set_sprite(sprite_param, random_sprite=False):
|
||||||
if sprite_param is None or not sprite_param.valid:
|
if sprite_param is None or not sprite_param.valid:
|
||||||
self.sprite = None
|
self.sprite = None
|
||||||
self.spriteNameVar2.set('(unchanged)')
|
self.spriteNameVar2.set('(unchanged)')
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import os
|
import os
|
||||||
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, LabelFrame, OptionMenu, N, E, W, LEFT, RIGHT, X
|
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, LabelFrame, OptionMenu, N, E, W, LEFT, RIGHT, X
|
||||||
import gui.widgets as widgets
|
import gui.widgets as widgets
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
def enemizer_page(parent,settings):
|
def enemizer_page(parent,settings):
|
||||||
# Enemizer
|
# Enemizer
|
||||||
@@ -9,19 +11,12 @@ def enemizer_page(parent,settings):
|
|||||||
# Enemizer options
|
# Enemizer options
|
||||||
self.widgets = {}
|
self.widgets = {}
|
||||||
|
|
||||||
myDict = {
|
with open(os.path.join("resources","app","gui","randomize","enemizer","checkboxes.json")) as checkboxes:
|
||||||
## Pot Shuffle
|
myDict = json.load(checkboxes)
|
||||||
"potshuffle": {
|
dictWidgets = widgets.make_widgets_from_dict(self, myDict, self)
|
||||||
"type": "checkbox",
|
for key in dictWidgets:
|
||||||
"label": {
|
self.widgets[key] = dictWidgets[key]
|
||||||
"text": "Pot Shuffle"
|
self.widgets[key].pack(anchor=W)
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dictWidgets = widgets.make_widgets_from_dict(self, myDict, self)
|
|
||||||
for key in dictWidgets:
|
|
||||||
self.widgets[key] = dictWidgets[key]
|
|
||||||
self.widgets[key].pack(anchor=W)
|
|
||||||
|
|
||||||
## Enemizer CLI Path
|
## Enemizer CLI Path
|
||||||
enemizerPathFrame = Frame(self)
|
enemizerPathFrame = Frame(self)
|
||||||
@@ -47,85 +42,18 @@ def enemizer_page(parent,settings):
|
|||||||
leftEnemizerFrame.pack(side=LEFT, anchor=N)
|
leftEnemizerFrame.pack(side=LEFT, anchor=N)
|
||||||
rightEnemizerFrame.pack(side=RIGHT, anchor=N)
|
rightEnemizerFrame.pack(side=RIGHT, anchor=N)
|
||||||
|
|
||||||
myDict = {
|
with open(os.path.join("resources","app","gui","randomize","enemizer","leftEnemizerFrame.json")) as leftEnemizerFrameItems:
|
||||||
## Randomize Enemies
|
myDict = json.load(leftEnemizerFrameItems)
|
||||||
"enemyshuffle": {
|
dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftEnemizerFrame)
|
||||||
"type": "selectbox",
|
for key in dictWidgets:
|
||||||
"label": {
|
self.widgets[key] = dictWidgets[key]
|
||||||
"text": "Enemy Shuffle"
|
self.widgets[key].pack(anchor=E)
|
||||||
},
|
|
||||||
"packAttrs": {
|
|
||||||
"label": { "side": LEFT },
|
|
||||||
"selectbox": { "side": RIGHT }
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"Vanilla": "none",
|
|
||||||
"Shuffled": "shuffled",
|
|
||||||
"Chaos": "chaos"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
## Randomize Bosses
|
|
||||||
"bossshuffle": {
|
|
||||||
"type": "selectbox",
|
|
||||||
"label": {
|
|
||||||
"text": "Boss Shuffle"
|
|
||||||
},
|
|
||||||
"packAttrs": {
|
|
||||||
"label": { "side": LEFT },
|
|
||||||
"selectbox": { "side": RIGHT }
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"Vanilla": "none",
|
|
||||||
"Basic": "basic",
|
|
||||||
"Shuffled": "shuffled",
|
|
||||||
"Chaos": "chaos"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftEnemizerFrame)
|
|
||||||
for key in dictWidgets:
|
|
||||||
self.widgets[key] = dictWidgets[key]
|
|
||||||
self.widgets[key].pack(anchor=E)
|
|
||||||
|
|
||||||
myDict = {
|
with open(os.path.join("resources","app","gui","randomize","enemizer","rightEnemizerFrame.json")) as rightEnemizerFrameItems:
|
||||||
## Enemy Damage
|
myDict = json.load(rightEnemizerFrameItems)
|
||||||
"enemydamage": {
|
dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightEnemizerFrame)
|
||||||
"type": "selectbox",
|
for key in dictWidgets:
|
||||||
"label": {
|
self.widgets[key] = dictWidgets[key]
|
||||||
"text": "Enemy Damage"
|
self.widgets[key].pack(anchor=E)
|
||||||
},
|
|
||||||
"packAttrs": {
|
|
||||||
"label": { "side": LEFT },
|
|
||||||
"selectbox": { "side": RIGHT }
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"Vanilla": "default",
|
|
||||||
"Shuffled": "shuffled",
|
|
||||||
"Chaos": "chaos"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
## Enemy Health
|
|
||||||
"enemyhealth": {
|
|
||||||
"type": "selectbox",
|
|
||||||
"label": {
|
|
||||||
"text": "Enemy Health"
|
|
||||||
},
|
|
||||||
"packAttrs": {
|
|
||||||
"label": { "side": LEFT },
|
|
||||||
"selectbox": { "side": RIGHT }
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"Vanilla": "default",
|
|
||||||
"Easy": "easy",
|
|
||||||
"Normal": "normal",
|
|
||||||
"Hard": "hard",
|
|
||||||
"Expert": "expert"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightEnemizerFrame)
|
|
||||||
for key in dictWidgets:
|
|
||||||
self.widgets[key] = dictWidgets[key]
|
|
||||||
self.widgets[key].pack(anchor=E)
|
|
||||||
|
|
||||||
return self,settings
|
return self,settings
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ def gameoptions_page(top, parent):
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
def set_sprite(sprite_param, random_sprite, spriteSetter=None, spriteNameVar=None, randomSpriteVar=None):
|
def set_sprite(sprite_param, random_sprite=False, spriteSetter=None, spriteNameVar=None, randomSpriteVar=None):
|
||||||
if sprite_param is None or not sprite_param.valid:
|
if sprite_param is None or not sprite_param.valid:
|
||||||
if spriteSetter:
|
if spriteSetter:
|
||||||
spriteSetter(None)
|
spriteSetter(None)
|
||||||
|
|||||||
8
resources/app/gui/randomize/enemizer/checkboxes.json
Normal file
8
resources/app/gui/randomize/enemizer/checkboxes.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"potshuffle": {
|
||||||
|
"type": "checkbox",
|
||||||
|
"label": {
|
||||||
|
"text": "Pot Shuffle"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
41
resources/app/gui/randomize/enemizer/leftEnemizerFrame.json
Normal file
41
resources/app/gui/randomize/enemizer/leftEnemizerFrame.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"enemyshuffle": {
|
||||||
|
"type": "selectbox",
|
||||||
|
"label": {
|
||||||
|
"text": "Enemy Shuffle"
|
||||||
|
},
|
||||||
|
"packAttrs": {
|
||||||
|
"label": {
|
||||||
|
"side": "left"
|
||||||
|
},
|
||||||
|
"selectbox": {
|
||||||
|
"side": "right"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"Vanilla": "none",
|
||||||
|
"Shuffled": "shuffled",
|
||||||
|
"Chaos": "chaos"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bossshuffle": {
|
||||||
|
"type": "selectbox",
|
||||||
|
"label": {
|
||||||
|
"text": "Boss Shuffle"
|
||||||
|
},
|
||||||
|
"packAttrs": {
|
||||||
|
"label": {
|
||||||
|
"side": "left"
|
||||||
|
},
|
||||||
|
"selectbox": {
|
||||||
|
"side": "right"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"Vanilla": "none",
|
||||||
|
"Basic": "basic",
|
||||||
|
"Shuffled": "shuffled",
|
||||||
|
"Chaos": "chaos"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
42
resources/app/gui/randomize/enemizer/rightEnemizerFrame.json
Normal file
42
resources/app/gui/randomize/enemizer/rightEnemizerFrame.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"enemydamage": {
|
||||||
|
"type": "selectbox",
|
||||||
|
"label": {
|
||||||
|
"text": "Enemy Damage"
|
||||||
|
},
|
||||||
|
"packAttrs": {
|
||||||
|
"label": {
|
||||||
|
"side": "left"
|
||||||
|
},
|
||||||
|
"selectbox": {
|
||||||
|
"side": "right"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"Vanilla": "default",
|
||||||
|
"Shuffled": "shuffled",
|
||||||
|
"Chaos": "chaos"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enemyhealth": {
|
||||||
|
"type": "selectbox",
|
||||||
|
"label": {
|
||||||
|
"text": "Enemy Health"
|
||||||
|
},
|
||||||
|
"packAttrs": {
|
||||||
|
"label": {
|
||||||
|
"side": "left"
|
||||||
|
},
|
||||||
|
"selectbox": {
|
||||||
|
"side": "right"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"Vanilla": "default",
|
||||||
|
"Easy": "easy",
|
||||||
|
"Normal": "normal",
|
||||||
|
"Hard": "hard",
|
||||||
|
"Expert": "expert"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user