### CLI usage examples Source: https://github.com/werseter/umadump/blob/master/README.md Various command-line flags for running umadump in live mode, daemon mode, or processing minidumps. ```powershell # Live mode (attaches to running game process) python main.py # Live mode, run once and exit python main.py --rerun-mode once # Live daemon mode, polling every 2 seconds and writing changed outputs python main.py --rerun-mode daemon --poll-interval 2 # Dev mode from full-memory minidump python main.py --minidump "D:\path\to\dump.dmp" --metadata-path "D:\path\to\global-metadata.dat" # Run schema validation only, then exit python main.py --minidump "D:\path\to\dump.dmp" --validate-only # Skip the startup GitHub release lookup python main.py --no-update-check ``` -------------------------------- ### Metadata path configuration Source: https://github.com/werseter/umadump/blob/master/README.md The default location for the global metadata file, derived from the game executable directory. ```text /_Data/il2cpp_data/Metadata/global-metadata.dat ``` -------------------------------- ### Registering Schema and Runtime Validatable Classes Source: https://github.com/werseter/umadump/blob/master/README.md Use @register_schema_validatable for startup metadata cross-checks and @register_runtime_validatable for additional per-access runtime guards. ```python @register_schema_validatable("Gallop::WorkSkillData.AcquiredSkill") class AcquiredSkillFields(CStructureDataclass): ... @register_runtime_validatable("Gallop::WorkDataManager") class WorkDataManagerWrapper(CStructureDataclass): _il2cpp_obj: RuntimeIl2CppObject ... ``` -------------------------------- ### jq commands using output_validation.jq for API and export comparison Source: https://github.com/werseter/umadump/blob/master/README.md Run jq with the output_validation module to normalize an API response (career_load_api) or a dump file (pass_through). Use files representing the same observation; the contract does not select matching captures or perform the comparison. ```sh jq -L . 'include "output_validation"; career_load_api' response.json jq -L . 'include "output_validation"; pass_through' turn_024_010.json ``` -------------------------------- ### Registering Enums and Defining Enum Fields Source: https://github.com/werseter/umadump/blob/master/README.md Enums are registered with a storage type, and fields can be defined using C_Enum or C_EnumIn to preserve semantics and enable validation. ```python @register_enum("Gallop::RaceDefine.RunningStyle", storage_type=c_uint8) class RunningStyle(SafeIntEnum): None_ = 0 Nige = 1 # ... class RaceFields(CStructureDataclass): runningStyle: C_Enum[RunningStyle] encryptedState: C_EnumIn[RunningStyle, ObscuredInt] ```