SM: cx_freeze fix (#1584)

This commit is contained in:
lordlou
2023-03-25 14:30:38 -04:00
committed by GitHub
parent 0ed3865c30
commit 384577e421
33 changed files with 195 additions and 851 deletions

View File

@@ -1,13 +1,14 @@
import utils.log, random
from utils.utils import getRangeDict, chooseFromRange
from rando.ItemLocContainer import ItemLocation
import random
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.utils.utils import getRangeDict, chooseFromRange
from worlds.sm.variaRandomizer.rando.ItemLocContainer import ItemLocation
# helper object to choose item/loc
class Choice(object):
def __init__(self, restrictions):
self.restrictions = restrictions
self.settings = restrictions.settings
self.log = utils.log.get("Choice")
self.log = log.get("Choice")
# args are return from RandoServices.getPossiblePlacements
# return itemLoc dict, or None if no possible choice

View File

@@ -1,14 +1,14 @@
import utils.log, copy, time, random
from logic.cache import RequestCache
from rando.RandoServices import RandoServices
from rando.Choice import ItemThenLocChoice
from rando.RandoServices import ComebackCheckType
from rando.ItemLocContainer import ItemLocation, getItemLocationsStr
from utils.parameters import infinity
from logic.helpers import diffValue2txt
from graph.graph_utils import GraphUtils
import copy, time, random
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.logic.cache import RequestCache
from worlds.sm.variaRandomizer.rando.RandoServices import RandoServices
from worlds.sm.variaRandomizer.rando.Choice import ItemThenLocChoice
from worlds.sm.variaRandomizer.rando.RandoServices import ComebackCheckType
from worlds.sm.variaRandomizer.rando.ItemLocContainer import ItemLocation, getItemLocationsStr
from worlds.sm.variaRandomizer.utils.parameters import infinity
from worlds.sm.variaRandomizer.logic.helpers import diffValue2txt
from worlds.sm.variaRandomizer.graph.graph_utils import GraphUtils
# base class for fillers. a filler responsibility is to fill a given
# ItemLocContainer while a certain condition is fulfilled (usually
@@ -25,7 +25,7 @@ class Filler(object):
self.endDate = endDate
self.baseContainer = emptyContainer
self.maxDiff = self.settings.maxDiff
self.log = utils.log.get('Filler')
self.log = log.get('Filler')
# reinit algo state
def initFiller(self):

View File

@@ -1,9 +1,9 @@
import utils.log, random, copy
from graph.graph_utils import GraphUtils, vanillaTransitions, vanillaBossesTransitions, escapeSource, escapeTargets
from logic.logic import Logic
from graph.graph import AccessGraphRando as AccessGraph
import random, copy
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.graph.graph_utils import GraphUtils, vanillaTransitions, vanillaBossesTransitions, escapeSource, escapeTargets
from worlds.sm.variaRandomizer.logic.logic import Logic
from worlds.sm.variaRandomizer.graph.graph import AccessGraphRando as AccessGraph
# creates graph and handles randomized escape
class GraphBuilder(object):
@@ -13,7 +13,7 @@ class GraphBuilder(object):
self.bossRando = graphSettings.bossRando
self.escapeRando = graphSettings.escapeRando
self.minimizerN = graphSettings.minimizerN
self.log = utils.log.get('GraphBuilder')
self.log = log.get('GraphBuilder')
# builds everything but escape transitions
def createGraph(self):

View File

@@ -1,8 +1,8 @@
import copy, utils.log
from logic.smbool import SMBool, smboolFalse
from logic.smboolmanager import SMBoolManager
import copy
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.logic.smbool import SMBool, smboolFalse
from worlds.sm.variaRandomizer.logic.smboolmanager import SMBoolManager
from collections import Counter
class ItemLocation(object):
@@ -58,7 +58,7 @@ class ItemLocContainer(object):
self.itemPool = itemPool
self.itemPoolBackup = None
self.unrestrictedItems = set()
self.log = utils.log.get('ItemLocContainer')
self.log = log.get('ItemLocContainer')
self.checkConsistency()
def checkConsistency(self):

View File

@@ -1,5 +1,6 @@
from utils.utils import randGaussBounds, getRangeDict, chooseFromRange
import utils.log, logging, copy, random
from worlds.sm.variaRandomizer.utils.utils import randGaussBounds, getRangeDict, chooseFromRange
from worlds.sm.variaRandomizer.utils import log
import logging, copy, random
class Item:
__slots__ = ( 'Category', 'Class', 'Name', 'Code', 'Type', 'BeamBits', 'ItemBits', 'Id' )
@@ -392,7 +393,7 @@ class ItemPoolGenerator(object):
self.maxItems = 105 # 100 item locs and 5 bosses
self.maxEnergy = 18 # 14E, 4R
self.maxDiff = maxDiff
self.log = utils.log.get('ItemPool')
self.log = log.get('ItemPool')
def isUltraSparseNoTanks(self):
# if low stuff botwoon is not known there is a hard energy req of one tank, even

View File

@@ -1,15 +1,16 @@
import sys, random, time, utils.log
import sys, random, time
from logic.logic import Logic
from graph.graph_utils import GraphUtils, getAccessPoint
from rando.Restrictions import Restrictions
from rando.RandoServices import RandoServices
from rando.GraphBuilder import GraphBuilder
from rando.RandoSetup import RandoSetup
from rando.Items import ItemManager
from rando.ItemLocContainer import ItemLocation
from utils.vcr import VCR
from utils.doorsmanager import DoorsManager
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.logic.logic import Logic
from worlds.sm.variaRandomizer.graph.graph_utils import GraphUtils, getAccessPoint
from worlds.sm.variaRandomizer.rando.Restrictions import Restrictions
from worlds.sm.variaRandomizer.rando.RandoServices import RandoServices
from worlds.sm.variaRandomizer.rando.GraphBuilder import GraphBuilder
from worlds.sm.variaRandomizer.rando.RandoSetup import RandoSetup
from worlds.sm.variaRandomizer.rando.Items import ItemManager
from worlds.sm.variaRandomizer.rando.ItemLocContainer import ItemLocation
from worlds.sm.variaRandomizer.utils.vcr import VCR
from worlds.sm.variaRandomizer.utils.doorsmanager import DoorsManager
# entry point for rando execution ("randomize" method)
class RandoExec(object):
@@ -19,7 +20,7 @@ class RandoExec(object):
self.vcr = vcr
self.randoSettings = randoSettings
self.graphSettings = graphSettings
self.log = utils.log.get('RandoExec')
self.log = log.get('RandoExec')
self.player = player
# processes settings to :

View File

@@ -1,9 +1,10 @@
import utils.log, copy, random, sys, logging
import copy, random, sys, logging, os
from enum import Enum, unique
from utils.parameters import infinity
from rando.ItemLocContainer import getLocListStr, getItemListStr, getItemLocStr, ItemLocation
from logic.helpers import Bosses
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.utils.parameters import infinity
from worlds.sm.variaRandomizer.rando.ItemLocContainer import getLocListStr, getItemListStr, getItemLocStr, ItemLocation
from worlds.sm.variaRandomizer.logic.helpers import Bosses
# used to specify whether we want to come back from locations
@unique
@@ -23,7 +24,7 @@ class RandoServices(object):
self.settings = restrictions.settings
self.areaGraph = graph
self.cache = cache
self.log = utils.log.get('RandoServices')
self.log = log.get('RandoServices')
# collect an item/loc with logic in a container from a given AP
# return new AP

View File

@@ -1,9 +1,9 @@
import sys, random
from collections import defaultdict
from rando.Items import ItemManager
from utils.utils import getRangeDict, chooseFromRange
from rando.ItemLocContainer import ItemLocation
from worlds.sm.variaRandomizer.rando.Items import ItemManager
from worlds.sm.variaRandomizer.utils.utils import getRangeDict, chooseFromRange
from worlds.sm.variaRandomizer.rando.ItemLocContainer import ItemLocation
# Holder for settings and a few utility functions related to them
# (especially for plando/rando).

View File

@@ -1,14 +1,15 @@
import copy, utils.log, random
import copy, random
from utils.utils import randGaussBounds
from logic.smbool import SMBool, smboolFalse
from logic.smboolmanager import SMBoolManager
from logic.helpers import Bosses
from graph.graph_utils import getAccessPoint, GraphUtils
from rando.Filler import FrontFiller
from rando.ItemLocContainer import ItemLocContainer, getLocListStr, ItemLocation, getItemListStr
from rando.Restrictions import Restrictions
from utils.parameters import infinity
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.utils.utils import randGaussBounds
from worlds.sm.variaRandomizer.logic.smbool import SMBool, smboolFalse
from worlds.sm.variaRandomizer.logic.smboolmanager import SMBoolManager
from worlds.sm.variaRandomizer.logic.helpers import Bosses
from worlds.sm.variaRandomizer.graph.graph_utils import getAccessPoint, GraphUtils
from worlds.sm.variaRandomizer.rando.Filler import FrontFiller
from worlds.sm.variaRandomizer.rando.ItemLocContainer import ItemLocContainer, getLocListStr, ItemLocation, getItemListStr
from worlds.sm.variaRandomizer.rando.Restrictions import Restrictions
from worlds.sm.variaRandomizer.utils.parameters import infinity
# checks init conditions for the randomizer: processes super fun settings, graph, start location, special restrictions
# the entry point is createItemLocContainer
@@ -49,7 +50,7 @@ class RandoSetup(object):
# we have to use item manager only once, otherwise pool will change
self.itemManager.createItemPool(exclude)
self.basePool = self.itemManager.getItemPool()[:]
self.log = utils.log.get('RandoSetup')
self.log = log.get('RandoSetup')
if len(locations) != len(self.locations):
self.log.debug("inaccessible locations :"+getLocListStr([loc for loc in locations if loc not in self.locations]))

View File

@@ -1,13 +1,13 @@
import copy, random, utils.log
from graph.graph_utils import getAccessPoint
from rando.ItemLocContainer import getLocListStr
import copy, random
from worlds.sm.variaRandomizer.utils import log
from worlds.sm.variaRandomizer.graph.graph_utils import getAccessPoint
from worlds.sm.variaRandomizer.rando.ItemLocContainer import getLocListStr
# Holds settings related to item placement restrictions.
# canPlaceAtLocation is the main entry point here
class Restrictions(object):
def __init__(self, settings):
self.log = utils.log.get('Restrictions')
self.log = log.get('Restrictions')
self.settings = settings
# Item split : Major, Chozo, Full, Scavenger
self.split = settings.restrictions['MajorMinor']