コード例 #1
0
ファイル: ueexport.py プロジェクト: AngellusMortis/Purlovia
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)
コード例 #2
0
ファイル: ueexport.py プロジェクト: TigerMehMat/Purlovia
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]
コード例 #3
0
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)
コード例 #4
0
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]
コード例 #5
0
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)
コード例 #6
0
ファイル: setup.py プロジェクト: alex4401/Purlovia
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:')
コード例 #7
0
ファイル: test_discovery.py プロジェクト: alex4401/Purlovia
def fixture_loader() -> AssetLoader:
    arkman = ArkSteamManager()
    loader = arkman.getLoader()
    return loader
コード例 #8
0
ファイル: common.py プロジェクト: TigerMehMat/Purlovia
def fixture_arkman(config: ConfigFile) -> ArkSteamManager:
    arkman = ArkSteamManager(config=config)
    return arkman
コード例 #9
0
def fixture_loader(config: ConfigFile) -> AssetLoader:
    arkman = ArkSteamManager(config=config)
    loader = arkman.getLoader()
    return loader