mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-12-01 19:57:20 -05:00
43 lines
1 KiB
Python
43 lines
1 KiB
Python
|
import logging
|
||
|
from enum import Enum
|
||
|
from dataclasses import dataclass, field
|
||
|
from lego_util.statistics import Statistics
|
||
|
|
||
|
|
||
|
class SupportedModules(Enum):
|
||
|
LEGO1 = 1
|
||
|
BETA10 = 2
|
||
|
|
||
|
def orig_filename(self):
|
||
|
if self == self.LEGO1:
|
||
|
return "LEGO1.DLL"
|
||
|
return "BETA10.DLL"
|
||
|
|
||
|
def recomp_filename_without_extension(self):
|
||
|
# in case we want to support more functions
|
||
|
return "LEGO1"
|
||
|
|
||
|
def build_dir_name(self):
|
||
|
if self == self.BETA10:
|
||
|
return "build_debug"
|
||
|
return "build"
|
||
|
|
||
|
|
||
|
@dataclass
|
||
|
class Globals:
|
||
|
verbose: bool
|
||
|
loglevel: int
|
||
|
module: SupportedModules
|
||
|
running_from_ghidra: bool = False
|
||
|
# statistics
|
||
|
statistics: Statistics = field(default_factory=Statistics)
|
||
|
|
||
|
|
||
|
# hard-coded settings that we don't want to prompt in Ghidra every time
|
||
|
GLOBALS = Globals(
|
||
|
verbose=False,
|
||
|
# loglevel=logging.INFO,
|
||
|
loglevel=logging.DEBUG,
|
||
|
module=SupportedModules.LEGO1, # this default value will be used when run outside of Ghidra
|
||
|
)
|