def main(): arkman = ArkSteamManager() loader = arkman.getLoader() config = get_global_config() assetname = sys.argv[1] if len(sys.argv) > 1 else None if not assetname: print('Usage: python ueexport.py <assetname>') sys.exit(1) assetname = find_asset(assetname, loader) if not assetname: print("Not found") sys.exit(1) asset = loader[assetname] assert asset.default_export if not asset.default_export: print("Asset has no default export") sys.exit(2) export = asset.default_export data = sanitise_output(export.properties) pprint(data) save_as_json(data, f'output/{asset.name}.{export.name}.json', pretty=True)
def collect_asset(assetname: str) -> UAsset: arkman = ArkSteamManager() loader = arkman.getLoader() # config = get_global_config() assetname = find_asset(args.assetname, loader) if not assetname: print("Asset not found") sys.exit(1) return loader[assetname]
def run(): config = get_global_config() config.settings.SkipInstall = True arkman = ArkSteamManager(config=config) arkman.ensureSteamCmd() arkman.ensureGameUpdated() arkman.ensureModsUpdated(config.mods) initialise_hierarchy(arkman, config) for result in find_matches(): output_result(result)
def collect_asset(assetname: str) -> UAsset: config = get_global_config() config.settings.SkipInstall = True arkman = ArkSteamManager(config=config) if args.ovi: # Hierarchy is needed for proxies in the Oviraptor target. arkman.ensureSteamCmd() arkman.ensureGameUpdated() arkman.ensureModsUpdated(config.mods) initialise_hierarchy(arkman) loader = arkman.getLoader() # config = get_global_config() assetname = find_asset(args.assetname, loader) if not assetname: print("Asset not found") sys.exit(1) return loader[assetname]
from typing import * from deepdiff import DeepDiff import ark.mod import ark.properties from ark.export_asb_values import values_for_species from automate.ark import ArkSteamManager, readModData from ue.asset import UAsset from ue.base import UEBase from ue.loader import AssetLoader from ue.properties import * from ue.stream import MemoryStream from ue.utils import * arkman = ArkSteamManager() loader = arkman.getLoader() version_string = None #%% Helpers replace_name = lambda match: f'{species_names[int(match.group(1))]}' # replace_stat = lambda match: f'stat.{stat_names[int(match.group(1))]}.{stat_fields[int(match.group(2))]}' SPECIES_REGEX = re.compile(r"root\['species'\]\[(\d+)\]") STAT_REGEX = re.compile(r"statsRaw\[(\d+)\]\[(\d+)\]") JOIN_LINES_REGEX = re.compile(r"(?:\n\t+)?(?<=\t)([\d.-]+,?)(?:\n\t+)?") def clean_diff_output(diff): diff = SPECIES_REGEX.sub(replace_name, diff)
from config import ConfigFile, get_global_config from ue.asset import ExportTableItem, ImportTableItem, UAsset from ue.gathering import gather_properties from ue.hierarchy import inherits_from from ue.loader import AssetLoader, AssetNotFound basicConfig(level=INFO) logger = getLogger(__name__) logger.addHandler(NullHandler()) config = get_global_config() config.settings.SkipInstall = True # config.mods = tuple('111111111,895711211,839162288'.split(',')) arkman = ArkSteamManager(config=config) arkman.ensureSteamCmd() arkman.ensureGameUpdated() arkman.ensureModsUpdated(config.mods) loader = arkman.getLoader() print() print('Interactive session ready:') print(' arkman : ArkSteamManager initialised in dry-run mode') print(' loader : Asset loader') print(' config : A safe default config') print() print('Restrict managed mods for this session:') print('>>> config.mods = tuple(\'111111111\',\'895711211\',\'839162288\')') print() print('To get access to the fully cached asset hierarchy:')
def fixture_loader() -> AssetLoader: arkman = ArkSteamManager() loader = arkman.getLoader() return loader
def fixture_arkman(config: ConfigFile) -> ArkSteamManager: arkman = ArkSteamManager(config=config) return arkman
def fixture_loader(config: ConfigFile) -> AssetLoader: arkman = ArkSteamManager(config=config) loader = arkman.getLoader() return loader