significantly increase the amount of seed numbers, reducing capability to infer source seed
This commit is contained in:
parent
74cbfe07a3
commit
36db420120
|
@ -8,7 +8,7 @@ import textwrap
|
||||||
import shlex
|
import shlex
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from Main import main
|
from Main import main, get_seed
|
||||||
from Rom import get_sprite_from_name
|
from Rom import get_sprite_from_name
|
||||||
from Utils import is_bundled, close_console
|
from Utils import is_bundled, close_console
|
||||||
|
|
||||||
|
@ -379,7 +379,7 @@ def start():
|
||||||
seed = args.seed
|
seed = args.seed
|
||||||
for _ in range(args.count):
|
for _ in range(args.count):
|
||||||
main(seed=seed, args=args)
|
main(seed=seed, args=args)
|
||||||
seed = random.randint(0, 999999999)
|
seed = get_seed()
|
||||||
else:
|
else:
|
||||||
main(seed=args.seed, args=args)
|
main(seed=args.seed, args=args)
|
||||||
|
|
||||||
|
|
6
Gui.py
6
Gui.py
|
@ -16,7 +16,7 @@ ModuleUpdate.update()
|
||||||
from AdjusterMain import adjust
|
from AdjusterMain import adjust
|
||||||
from EntranceRandomizer import parse_arguments
|
from EntranceRandomizer import parse_arguments
|
||||||
from GuiUtils import ToolTips, set_icon, BackgroundTaskProgress
|
from GuiUtils import ToolTips, set_icon, BackgroundTaskProgress
|
||||||
from Main import main, __version__ as ESVersion
|
from Main import main, get_seed, __version__ as ESVersion
|
||||||
from Rom import Sprite
|
from Rom import Sprite
|
||||||
from Utils import is_bundled, local_path, output_path, open_file
|
from Utils import is_bundled, local_path, output_path, open_file
|
||||||
|
|
||||||
|
@ -416,7 +416,7 @@ def guiMain(args=None):
|
||||||
namesEntry = Entry(multiworldframe, textvariable=namesVar)
|
namesEntry = Entry(multiworldframe, textvariable=namesVar)
|
||||||
seedLabel = Label(multiworldframe, text='Seed #')
|
seedLabel = Label(multiworldframe, text='Seed #')
|
||||||
seedVar = StringVar()
|
seedVar = StringVar()
|
||||||
seedEntry = Entry(multiworldframe, width=15, textvariable=seedVar)
|
seedEntry = Entry(multiworldframe, width=20, textvariable=seedVar)
|
||||||
countLabel = Label(multiworldframe, text='Count')
|
countLabel = Label(multiworldframe, text='Count')
|
||||||
countVar = StringVar()
|
countVar = StringVar()
|
||||||
countSpinbox = Spinbox(multiworldframe, from_=1, to=100, width=5, textvariable=countVar)
|
countSpinbox = Spinbox(multiworldframe, from_=1, to=100, width=5, textvariable=countVar)
|
||||||
|
@ -498,7 +498,7 @@ def guiMain(args=None):
|
||||||
seed = guiargs.seed
|
seed = guiargs.seed
|
||||||
for _ in range(guiargs.count):
|
for _ in range(guiargs.count):
|
||||||
main(seed=seed, args=guiargs)
|
main(seed=seed, args=guiargs)
|
||||||
seed = random.randint(0, 999999999)
|
seed = get_seed()
|
||||||
else:
|
else:
|
||||||
main(seed=guiargs.seed, args=guiargs)
|
main(seed=guiargs.seed, args=guiargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
18
Main.py
18
Main.py
|
@ -16,10 +16,20 @@ from EntranceShuffle import link_entrances, link_inverted_entrances
|
||||||
from Rom import patch_rom, patch_race_rom, patch_enemizer, apply_rom_settings, LocalRom, get_hash_string
|
from Rom import patch_rom, patch_race_rom, patch_enemizer, apply_rom_settings, LocalRom, get_hash_string
|
||||||
from Rules import set_rules
|
from Rules import set_rules
|
||||||
from Dungeons import create_dungeons, fill_dungeons, fill_dungeons_restrictive
|
from Dungeons import create_dungeons, fill_dungeons, fill_dungeons_restrictive
|
||||||
from Fill import distribute_items_cutoff, distribute_items_staleness, distribute_items_restrictive, flood_items, balance_multiworld_progression
|
from Fill import distribute_items_cutoff, distribute_items_staleness, distribute_items_restrictive, flood_items, \
|
||||||
|
balance_multiworld_progression
|
||||||
from ItemList import generate_itempool, difficulties, fill_prizes
|
from ItemList import generate_itempool, difficulties, fill_prizes
|
||||||
from Utils import output_path, parse_player_names, get_options, __version__
|
from Utils import output_path, parse_player_names, get_options, __version__
|
||||||
|
|
||||||
|
seeddigits = 20
|
||||||
|
|
||||||
|
|
||||||
|
def get_seed(seed=None):
|
||||||
|
if seed is None:
|
||||||
|
random.seed(None)
|
||||||
|
return random.randint(0, pow(10, seeddigits) - 1)
|
||||||
|
return seed
|
||||||
|
|
||||||
|
|
||||||
def main(args, seed=None):
|
def main(args, seed=None):
|
||||||
if args.outputpath:
|
if args.outputpath:
|
||||||
|
@ -33,11 +43,7 @@ def main(args, seed=None):
|
||||||
args.item_functionality, args.timer, args.progressive.copy(), args.goal, args.algorithm,
|
args.item_functionality, args.timer, args.progressive.copy(), args.goal, args.algorithm,
|
||||||
args.accessibility, args.shuffleganon, args.retro, args.custom, args.customitemarray, args.hints)
|
args.accessibility, args.shuffleganon, args.retro, args.custom, args.customitemarray, args.hints)
|
||||||
logger = logging.getLogger('')
|
logger = logging.getLogger('')
|
||||||
if seed is None:
|
world.seed = get_seed(seed)
|
||||||
random.seed(None)
|
|
||||||
world.seed = random.randint(0, 999999999)
|
|
||||||
else:
|
|
||||||
world.seed = int(seed)
|
|
||||||
random.seed(world.seed)
|
random.seed(world.seed)
|
||||||
|
|
||||||
world.remote_items = args.remote_items.copy()
|
world.remote_items = args.remote_items.copy()
|
||||||
|
|
|
@ -14,6 +14,7 @@ from Utils import parse_yaml
|
||||||
from Rom import get_sprite_from_name
|
from Rom import get_sprite_from_name
|
||||||
from EntranceRandomizer import parse_arguments
|
from EntranceRandomizer import parse_arguments
|
||||||
from Main import main as ERmain
|
from Main import main as ERmain
|
||||||
|
from Main import get_seed, seeddigits
|
||||||
from Items import item_name_groups, item_table
|
from Items import item_name_groups, item_table
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,14 +48,10 @@ def main():
|
||||||
parser.add_argument(f'--p{player}', help=argparse.SUPPRESS)
|
parser.add_argument(f'--p{player}', help=argparse.SUPPRESS)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if args.seed is None:
|
seed = get_seed(args.seed)
|
||||||
random.seed(None)
|
|
||||||
seed = random.randint(0, 999999999)
|
|
||||||
else:
|
|
||||||
seed = args.seed
|
|
||||||
random.seed(seed)
|
random.seed(seed)
|
||||||
|
|
||||||
seedname = "M"+(f"{random.randint(0, 999999999)}".zfill(9))
|
seedname = "M" + (f"{get_seed()}".zfill(seeddigits))
|
||||||
print(f"Generating mystery for {args.multi} player{'s' if args.multi > 1 else ''}, {seedname} Seed {seed}")
|
print(f"Generating mystery for {args.multi} player{'s' if args.multi > 1 else ''}, {seedname} Seed {seed}")
|
||||||
|
|
||||||
weights_cache = {}
|
weights_cache = {}
|
||||||
|
|
Loading…
Reference in New Issue