Updated GUI/CLI with new OW versioning

This commit is contained in:
codemann8
2021-04-22 13:17:17 -05:00
parent b6893b155e
commit 314a938cb0
4 changed files with 17 additions and 8 deletions

View File

@@ -2100,7 +2100,9 @@ class Spoiler(object):
self.set_lobby(portal.name, portal.door.name, player) self.set_lobby(portal.name, portal.door.name, player)
from Main import __version__ as ERVersion from Main import __version__ as ERVersion
from OverworldShuffle import __version__ as ORVersion
self.metadata = {'version': ERVersion, self.metadata = {'version': ERVersion,
'versions': {'Door':ERVersion, 'Overworld':ORVersion},
'logic': self.world.logic, 'logic': self.world.logic,
'mode': self.world.mode, 'mode': self.world.mode,
'retro': self.world.retro, 'retro': self.world.retro,
@@ -2160,7 +2162,9 @@ class Spoiler(object):
def to_file(self, filename): def to_file(self, filename):
self.parse_data() self.parse_data()
with open(filename, 'w') as outfile: with open(filename, 'w') as outfile:
outfile.write('ALttP Entrance Randomizer Version %s - Seed: %s\n\n' % (self.metadata['version'], self.world.seed)) outfile.write('ALttP Entrance Randomizer - Seed: %s\n\n' % (self.world.seed))
for k,v in self.metadata["versions"].items():
outfile.write((k + ' Version:').ljust(line_width) + '%s\n' % v)
outfile.write('Filling Algorithm: %s\n' % self.world.algorithm) outfile.write('Filling Algorithm: %s\n' % self.world.algorithm)
outfile.write('Players: %d\n' % self.world.players) outfile.write('Players: %d\n' % self.world.players)
outfile.write('Teams: %d\n' % self.world.teams) outfile.write('Teams: %d\n' % self.world.teams)

7
Gui.py
View File

@@ -20,6 +20,7 @@ from source.gui.randomize.generation import generation_page
from source.gui.bottom import bottom_frame, create_guiargs from source.gui.bottom import bottom_frame, create_guiargs
from GuiUtils import set_icon from GuiUtils import set_icon
from Main import __version__ as ESVersion from Main import __version__ as ESVersion
from OverworldShuffle import __version__ as ORVersion
from source.classes.BabelFish import BabelFish from source.classes.BabelFish import BabelFish
from source.classes.Empty import Empty from source.classes.Empty import Empty
@@ -47,13 +48,13 @@ def guiMain(args=None):
gui_args['sprite'] = gui_args['sprite'].name gui_args['sprite'] = gui_args['sprite'].name
save_settings(gui_args) save_settings(gui_args)
if confirm: if confirm:
messagebox.showinfo("Door Shuffle " + ESVersion, "Settings saved from GUI.") messagebox.showinfo("Overworld Shuffle " + ORVersion, "Settings saved from GUI.")
# routine for exiting the app # routine for exiting the app
def guiExit(): def guiExit():
skip_exit = False skip_exit = False
if self.settings['saveonexit'] == 'ask': if self.settings['saveonexit'] == 'ask':
dosave = messagebox.askyesnocancel("Door Shuffle " + ESVersion, "Save settings before exit?") dosave = messagebox.askyesnocancel("Overworld Shuffle " + ORVersion, "Save settings before exit?")
if dosave: if dosave:
save_settings_from_gui(True) save_settings_from_gui(True)
if dosave is None: if dosave is None:
@@ -68,7 +69,7 @@ def guiMain(args=None):
mainWindow = Tk() mainWindow = Tk()
self = mainWindow self = mainWindow
mainWindow.wm_title("Door Shuffle %s" % ESVersion) mainWindow.wm_title("Overworld Shuffle %s (DR %s)" % (ORVersion, ESVersion))
mainWindow.protocol("WM_DELETE_WINDOW", guiExit) # intercept when user clicks the X mainWindow.protocol("WM_DELETE_WINDOW", guiExit) # intercept when user clicks the X
# set program icon # set program icon

View File

@@ -28,7 +28,7 @@ from Fill import sell_potions, sell_keys, balance_multiworld_progression, balanc
from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops
from Utils import output_path, parse_player_names from Utils import output_path, parse_player_names
__version__ = '0.1.0.0-ow_0.3.1.7-u' __version__ = '0.3.1.7-u'
class EnemizerError(RuntimeError): class EnemizerError(RuntimeError):
@@ -93,12 +93,16 @@ def main(args, seed=None, fish=None):
world.rom_seeds = {player: random.randint(0, 999999999) for player in range(1, world.players + 1)} world.rom_seeds = {player: random.randint(0, 999999999) for player in range(1, world.players + 1)}
from OverworldShuffle import __version__ as ORVersion
logger.info( logger.info(
world.fish.translate("cli","cli","app.title") + "\n", world.fish.translate("cli","cli","app.title") + "\n",
__version__, ORVersion,
world.seed world.seed
) )
for k,v in {"DR":__version__,"OR":ORVersion}.items():
logger.info((k + ' Version:').ljust(16) + '%s' % v)
parsed_names = parse_player_names(args.names, world.players, args.teams) parsed_names = parse_player_names(args.names, world.players, args.teams)
world.teams = len(parsed_names) world.teams = len(parsed_names)
for i, team in enumerate(parsed_names, 1): for i, team in enumerate(parsed_names, 1):

View File

@@ -1,6 +1,8 @@
import random import random
from BaseClasses import OWEdge, WorldType, Direction, Terrain from BaseClasses import OWEdge, WorldType, Direction, Terrain
__version__ = '0.1.0.1u'
def link_overworld(world, player): def link_overworld(world, player):
# setup mandatory connections # setup mandatory connections
for exitname, regionname in mandatory_connections: for exitname, regionname in mandatory_connections:
@@ -181,7 +183,6 @@ def connect_remaining(world, edges, player):
connect_edges(world, north_edges, south_edges, player) connect_edges(world, north_edges, south_edges, player)
connect_edges(world, west_edges, east_edges, player) connect_edges(world, west_edges, east_edges, player)
test_connections = [ test_connections = [
#('Links House ES', 'Octoballoon WS'), #('Links House ES', 'Octoballoon WS'),
#('Links House NE', 'Lost Woods Pass SW') #('Links House NE', 'Lost Woods Pass SW')
@@ -580,4 +581,3 @@ default_connections = [('Lost Woods SW', 'Lost Woods Pass NW'),
('West Dark Death Mountain ES', 'East Dark Death Mountain WS'), ('West Dark Death Mountain ES', 'East Dark Death Mountain WS'),
('East Dark Death Mountain EN', 'Turtle Rock WN') ('East Dark Death Mountain EN', 'Turtle Rock WN')
] ]