Skip to content

Engine symbol reference

One human-authored source (data/symbols.json) generates every downstream artifact:

flowchart LR
    S["data/symbols.json<br/>(canonical, hand-authored)"]
    S -->|"rsmm symbols gen"| H["loader C++<br/>symbols.gen.h + API"]
    S -->|gen| E["event bus<br/>event_table.gen.h"]
    S -->|gen| L["Lua resolver<br/>engine_gen.lua"]
    S -->|gen| P["Python consts<br/>_symbols_gen.py"]
    S -->|gen| D["this page<br/>+ docs/SYMBOLS.md"]
    S -->|"ghidra-export"| G["Ghidra DB names"]

GENERATED by rsmm symbols gen from data/symbols.json — do not edit by hand.

Canonical map of Ravenswatch engine functions/globals/events to stable semantic names. status: ok = resolvable by byte pattern in the current corpus (survives game updates); va = base-relative absolute (data globals); unverified = documented in an older corpus, address not re-confirmed. Functions tagged callable have a typed C++ accessor in engine:: and a Lua resolver entry. See [CLAUDE.md] for the workflow.

Total: 299 symbols across 24 categories.

name address status callable signature / note
AnalyticsBag_SetInt 0x14020abf0 ❓ unverified void*(void* bag, void* keyDesc, uint64_t value, void* alloc)
AnalyticsBag_SetString 0x140201c10 ❓ unverified void*(void* bag, void* keyDesc, void* valueDesc, void* alloc)
Analytics_EmitActiveBoss 0x1401f9170 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitChapterEnd 0x1401f5c70 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitHeroDeath 0x1401f6e50 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitObjectProposed 0x1401f7760 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitObjectSelected 0x1401f79c0 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitOpenChest 0x1401f8f30 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitSandmanBuy 0x1401f6800 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitSkillProposed 0x1401f7120 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
Analytics_EmitSkillSelected 0x1401f7440 ❓ unverified void(void* analyticsCtx, float* skillEvent, void* unused)
Analytics_EmitUnlockSkill 0x1401f7e50 ❓ unverified void(void* analyticsCtx, void* args, void* unused)
name address status callable signature / note
HeroStats_OnDamageDealt 0x14039aef0 ✅ ok void(oCDtEntityCpntHeroController* hero, oCEntity* victim, oCDtProcessedDamage* payload…
HeroStats_OnDamageTaken 0x1403a0940 ✅ ok void(void* hero, void* payload)
ProjectileAttack_BeginAttack 0x14083e7d0 ✅ ok ✔ void(void* projectile_attack_cpnt)
name address status callable signature / note
EnemyCamp_Stage3Filter 0x140323830 ❓ unverified void(void* candidatesVec, void* searchFilter)
EnemyCamp_TierSelector 0x14032e790 ✅ ok void(void* selector)
EnemyCamp_TribeEntryBuilder 0x14032fe20 ✅ ok void(void* selector, void* specialEntry, void* outEntries, float mult)
EnemyDef_PostLoad 0x14031a800 ✅ ok bool(void* enemyDef)
EnemyDefinition_ctor 0x1401df270 ✅ ok void*(void* self)
EnemyTribeDef_PostLoad 0x14031bae0 ✅ ok bool(void* tribeDef)
EnemyTribeDefinition_ctor 0x1400c5260 ✅ ok void*(void* self)
Enemy_RuntimeSpawnPicker 0x140364360 ❓ unverified void(void* spawnerCpnt)
MapCtx_DistributeEnemyCampTiers 0x1401e8830 ✅ ok void(void* mapSceneContext)
name address status callable signature / note
Entry_Ctor 0x1402154b0 ✅ ok ✔ void(void* base, uint32_t count)
Format_String 0x1402092a0 ✅ ok printf-style format/string builder (e.g. ‘Is Hero liked by {}’, ‘Chance to give {} MO’)…
LevelLoad_Orchestrator 0x14028e5f0 ✅ ok i64(void* levelGs)
String_Assign 0x140529860 ✅ ok ✔ void(void* dst_slot, const StringDesc* src)
Vector_Grow 0x140155230 ✅ ok ✔ void(void* vec, void* /dead RDX/, uint32_t new_cap /R8/)
name address status callable signature / note
AppSettings_SectionList 0x1412f5aa8 📍 va Global list of application-settings SECTIONS: {void** data @+0x0, u32 count @+0x8}. Rea…
ClassRegistry_FindByKey 0x140523a10 ❓ unverified void*(void* unused, void* identityKey)
ClassRegistry_Global 0x141436690 📍 va Global class-descriptor registry: ptr to {descPtr array @+0x0, u32 count @+0x8}. Scanne…
Component_GetTypeId 0x1401e6950 ❓ unverified uint32_t(void* component)
Controller_GetFieldByKey 0x140396df0 ❓ unverified void*(void* controller, uint32_t key)
CustomFlagFilter_Serialize 0x140189830 ✅ ok bool(void* flagFilter, void* reader)
CustomFlagList_Serialize 0x140681e60 ❓ unverified bool(void* flagList, void* reader)
Engine_MainThreadId 0x141443148 📍 va Thread id of the engine main thread. LevelLoad_ProgressTick compares GetCurrentThreadId…
Engine_Singleton 0x14143cbd0 📍 va Pointer to the oe::Engine singleton (object at 0x14143daf0; ctor FUN_1404564d0 stores b…
GameScene_FindContextByTester 0x14066cad0 ✅ ok void*(void* gameScene, void* kindOfTypeTester)
MetaClass_AddMember 0x14050aa30 ✅ ok void(void* metaClass, void* member, uint32_t id, void* name, void* unused, void* userData)
MetaClass_FindMember 0x14050cd20 ✅ ok void* (void* metaClass, uint32_t nameOrId, void* kind, bool searchParents)
Profiler_GetThreadScopeStack 0x14053a660 ❓ unverified void*(void)
Property_EvaluateByGuid 0x1406ab910 ✅ ok bool(void* ctx, void* container, void* guid16, float* out)
ResourceRef_Serialize 0x1401c8e60 ✅ ok bool(void* reader, void* refSlot)
Serializer_GetClassVersion 0x1404fce50 ✅ ok void*(void* reader, void* out, uint32_t classHash)
Serializer_ReadEnum 0x14020c450 ✅ ok bool(void* serializer, void* vec)
Serializer_ReadObjectNamed 0x140500d70 ❓ unverified bool(void* loader, void* root, const char* name)
Serializer_ReadObjectPayload 0x1405006d0 ❓ unverified bool(void* loader, void* obj, const char* name)
Serializer_ReadPolyPtrVector 0x14020e000 ✅ ok bool(void* reader, void* vec, const char* label)
Serializer_ReadVectorObjIds 0x1402f3cf0 ✅ ok bool(void* serializer, void* vec)
Serializer_ReadVectorU32 0x140364270 ✅ ok bool(void* serializer, void* vec)
Serializer_ReadVectorU8 0x1403646c0 ✅ ok bool(void* serializer, void* vec)
Serializer_ResolveObjectId 0x140500630 ❓ unverified bool(void* loader, void** out, const char* label)
ServiceRegistry_Global 0x14146f740 📍 va Global engine service registry: service array @+0x30, u32 count @+0x38; each entry -> s…
StringVector_Serialize 0x140684f30 ❓ unverified bool(void* reader, void* strVec)
Vector_InsertRange 0x1401556e0 ✅ ok ✔ void*(void* vector, unsigned index, unsigned count)
name address status callable signature / note
EnemyController_Ctor 0x140389d00 ✅ ok ✔ oCDtEntityCpntEnemyController*(oCDtEntityCpntEnemyController* self)
EnemyController_vftable 0x140f30b78 📍 va Vftable of oCDtEntityCpntEnemyController. Derived from MSVC RTTI (type descriptor .?AVo…
EntityPool_AllocNode 0x140690e50 ✅ ok void*(void* pool)
EntitySpawner_InstantiateRecord 0x140730f80 ✅ ok void(oCEntityCpntEntitySpawner* self, void* spawnRecord)
EntitySpawner_SpawnOne 0x140730150 ✅ ok void(oCEntityCpntEntitySpawner* self)
EntityStore_CreateEntity 0x1406f5dc0 ✅ ok ✔ oCEntity*(oCEntitySpawner* spawner, oCEntitySettings* settings, oCEntitySpawnData* spaw…
EntityValueEntry_Ctor 0x140747120 ✅ ok ✔ void(void*, void*)
EntityValueOverride_Alloc 0x140770290 ✅ ok ✔ void*(void*, uint32_t, uint32_t)
EntityValueStore_ApplyModifierEvent 0x14074b2f0 ✅ ok ✔ void(void* store, void* modifierEvent, void* a3, void* a4)
EntityValueStore_InitBaseValues 0x140747f20 ✅ ok ✔ void(void* store)
EntityValueStore_Recompute 0x140749a90 ✅ ok ✔ void(void* store, void* valueDef)
EntityValueUnion_Compare 0x14082ceb0 ✅ ok ✔ uint32_t(void*, void*)
EntityValueUnion_CopyAssign 0x14082b1d0 ✅ ok ✔ void(void*, void*)
EntityValueUnion_DefaultCtor 0x14082aa60 ✅ ok ✔ void*(void*)
EntityValueUnion_Destruct 0x14082dae0 ✅ ok ✔ void(void*)
EntityValueUnion_InitAsType 0x14082d670 ✅ ok ✔ void(void*, uint32_t)
EntityValue_Get 0x1403c7fa0 ✅ ok ✔ void(void* valueCtx, oCEntityValueUnion* out, uint32_t crcKey)
EntityValue_Lookup 0x140749260 ✅ ok ✔ oCEntityValueUnion*(void* store, oCEntityValueUnion* out, uint32_t crcKey)
Entity_AllocInstance 0x1406a8d80 ❓ unverified ✔ void*(void* allocator)
Entity_DispatchHit 0x1406e3ce0 ✅ ok ✔ void(oCEntity* target, oCEntityHitData* hit)
Entity_FindComponentByType 0x1406e3210 ✅ ok ✔ oIEntityCpnt*(oCEntitySpawnerGo* go, oCMetaClass* meta)
Entity_FindMagicalObjectComponent 0x1406fb8a2 ❓ unverified ✔ void*(void* instance, void* mo_component_meta)
Entity_GainHealthHandler 0x140399d00 ✅ ok void(oCEntity* hero, void* a2, void* valueCtx)
Entity_GetComponentByTester 0x1406e3210 ✅ ok ✔ void*(void*, void*)
Entity_GetComponentFast 0x1406e31a0 ✅ ok ✔ void*(void*, void*, uint32_t)
Entity_ResolveAttackHits 0x1403dd540 ✅ ok ✔ float(void* attacker, uint hitDefIndex, TargetList* targets, float damageMul, float bas…
HeroController_Ctor 0x14038ec30 ✅ ok ✔ oCDtEntityCpntHeroController*(oCDtEntityCpntHeroController* self)
HeroController_HudMirror_Ctor 0x1403b3c70 ✅ ok Builds the hero’s HUD HP-mirror object whose pointer is stored at hero+0x1d80 by HeroCo…
Hero_ModifyDreamShards 0x14039a320 ✅ ok ✔ void(oCDtEntityCpntHeroController* hero, float delta, oCCustomFlagList* sourceTags)
HitPoint_SetHitPoints 0x140822db0 ✅ ok ✔ void(oCEntityCpntHitPoint* hp, float value)
MapCtx_LinkPairedSpawners 0x1401ebad0 ✅ ok void(void* mapSceneContext)
ModifierEvent_Ctor 0x140389fb0 ✅ ok ✔ void*(void* buf, void* valueDef)
g_MagicalObjectComponentMeta 0x141470768 📍 va oCMetaClass* for the magical-object component; passed to Entity_FindMagicalObjectCompon…
oCCustomFlagList_vftable 0x140f01650 📍 va vftable of oCCustomFlagList. An empty list is the 0x18-byte struct { vftable @+0x0, lis…
oCEntityHitData_vftable 0x140f137d8 📍 va vftable of oCEntityHitData (the ~0xb0-byte hit descriptor passed to Entity_DispatchHit …
oCEntityValueUnion_vftable 0x140f95008 📍 va vftable of oCEntityValueUnion, the ~0x20-byte tagged value returned by EntityValue_Look…
oCGameEventNetworkModifier_vftable 0x140f322d0 📍 va vftable of oCGameEventNetworkModifier — the durable stat-modifier named event (leaf of …
name address status callable signature / note
EntityValueRegistry_RegisterAll 0x1401da350 ✅ ok void(void)
SceneContextValue_Find 0x1401c9600 ✅ ok ✔ oCEntityValueUnion*(void* sceneContext, uint32_t crcKey)
SceneContextValue_SetBool 0x140209010 ✅ ok ✔ void(void* sceneContext, uint32_t crcKey, bool value)
SceneContextValue_SetFloat 0x14020a580 ✅ ok ✔ void(void* sceneContext, uint32_t crcKey, float value)
SceneContextValue_SetInt 0x1402091a0 ✅ ok ✔ void(void* sceneContext, uint32_t crcKey, int32_t value)
g_GlobalEntityValueSceneContext_Tester_vftable 0x140f09e68 📍 va Vftable of oCTKindOfTypeTester<oCGlobalEntityValueSceneContext, oIGameSceneContext>, re…
name address status callable signature / note
Analytics_SubmitNamedEvent 0x1401fad70 ✅ ok ✔ void(void* analytics_mgr, void* payload_kv, StringDesc* event_name, char has_run_ctx)
Crc32_TableInit 0x14051ef30 ✅ ok Builds the 256-entry CRC32 lookup table at DAT_141436710 (lazy, runtime — the table is …
EventQueue_Drain 0x1406642d0 ✅ ok void(void* queue)
Event_LevelUp → level_up 0x1401f6bf0 ✅ ok ✔ Emitter whose body references the ‘level_up_reach’ string (xref 0x1401f64a4). void(ctx,…
Event_RunEnd → run_end 0x1401f59c0 ✅ ok ✔ Emitter whose body references the ‘run_end’ string (xref 0x1401f5347). Loader post-deto…
Id_HashString 0x14033f7a0 ❓ unverified Runtime string -> 32-bit id hasher: standard CRC32 over the name bytes (init 0xffffffff…
NamedEvent_ChannelMap_Find 0x14066dc10 ✅ ok ✔ iter*(void* channel_map, iter* out, uint32_t* event_id)
NamedEvent_Delete 0x1401273b0 ✅ ok ✔ void(oCGameNamedEvent* ev)
NamedEvent_Dispatch 0x14066b6b0 ✅ ok ✔ void(void* dispatcher, oCGameNamedEvent* ev)
NamedEvent_EmitNetworkDamageFromHit 0x1407276a0 ✅ ok Reference emitter for NETWORK_DAMAGE: stack-builds the full oCGameNamedEventNetworkDama…
NamedEvent_GiveMagicalObject_Ctor 0x14030fd30 ✅ ok ✔ oe::dt::NamedEventGiveMagicalObject*(void* buf)
NamedEvent_HeroSubscribeAll 0x140391860 ✅ ok ✔ void(oCEntity* hero)
NamedEvent_HeroUnsubscribeAll 0x140395350 ✅ ok Hero teardown twin of NamedEvent_HeroSubscribeAll: walks the same (id global, slot) pai…
NamedEvent_Id_FromCrc 0x14051f090 ✅ ok ✔ uint32_t(uint32_t ns, uint32_t name_crc)
NamedEvent_NetSend 0x140721630 ✅ ok ✔ void(void* net_event_cpnt, oCGameNamedEvent* ev)
NamedEvent_NetSendToPeer 0x1407216c0 ✅ ok ✔ void(void* net_event_cpnt, oCGameNamedEvent* ev, uint64_t* peer_session)
name address status callable signature / note
DayNightCycle_InitCycle 0x1401eca80 ❓ unverified Per-CHAPTER setup of the day/night component (this = component in RCX), called from the…
DayNightCycle_PushValues 0x1401ee1c4 ❓ unverified Per-frame writer for the ‘Day/Night cycle’ value family (see DayNightCycle_RegisterValu…
DayNightCycle_RegisterValues 0x1401ee9e3 ❓ unverified Registers the ‘Day/Night cycle’ entity-value family: 27 named values plus 9 named trigg…
name address status callable signature / note
GroupLevelComponent_Ctor 0x1402e1de0 ✅ ok ✔ void*(void* self)
Hero_GainExperience 0x1402e2f00 ✅ ok ✔ void(void*, void*)
XpComponent_GetMaxLevel 0x1402e2d30 ✅ ok ✔ uint32_t(void*)
XpComponent_IsMaxLevel 0x1402e2d90 ✅ ok ✔ bool(void*)
XpComponent_SetLevel 0x1402e3190 ✅ ok ✔ void(void*, uint32_t)
XpComponent_SetXp 0x1402e3630 ✅ ok ✔ void(void*, uint32_t)
XpComponent_TypeTester 0x141476e00 📍 va Type-tester global (DAT_141476e00) used by the XP component’s own IsKindOf/parent-resol…
XpComponent_XpForLevel 0x1402e2c30 ✅ ok ✔ uint32_t(void*, uint32_t)
XpComponent_vftable 0x140f231b0 📍 va Vftable of the hero’s XP/level component. CORRECTED 2026-07-18 from 0x140f23200, which …
name address status callable signature / note
ChallengeUnlock_IsUnlocked 0x1402b1100 ✅ ok ✔ bool(void* condition_data)
HeroDef_Deserialize 0x14031ef30 ✅ ok ✔ bool(oCDtHeroDefinition* def, oCBinaryStream* stream)
HeroDef_LoadBaseEntity 0x14031ece0 ✅ ok void(void* heroDef, void** outEntityRef)
HeroDef_LoadSkinEntity 0x14031ea40 ✅ ok void(void* heroDef, uint16_t skinIndex, void* outHandle)
HeroProgressionUnlock_IsUnlocked 0x1402b2b10 ✅ ok ✔ bool(void* condition_data)
HeroRankLock_IsUnlocked 0x1402b1c10 ✅ ok ✔ bool(void* condition_data)
HeroStoryUnlock_IsUnlocked 0x1402b21a0 ✅ ok ✔ bool(void* condition_data)
name address status callable signature / note
Entity_GiveHandler 0x1403c7560 ✅ ok void(oCEntityValueContext* heroValueCtx, oCEntity* hero, void* hitCtx)
Entity_LookupMagicalObjectComponent 0x1406e3280 ✅ ok ✔ void*(void* componentStore, void** out, oCEntity* entity)
Hero_GrantMagicalObject 0x140397aa0 ✅ ok ✔ void(oCDtEntityCpntHeroController* hero, void* def, uint16_t count, char dupFlag, void*…
InitialLoading_SpawnMagicalObjects 0x140259060 ❓ unverified Boot ‘InitialLoading - MagicalObject SpawnAllObjects’ caller that invokes SpawnAllObjec…
MagicalObjectPool_Grow 0x140156de0 ❓ unverified ✔ void(void* pool_plus_0x10, uint32_t count, uint32_t by)
MagicalObjectPool_SourceLookup 0x14025e3e0 ❓ unverified ✔ void*(void* pool, void* out, void* id)
MagicalObject_RegisterInstance 0x1403abb90 ✅ ok ✔ void(oCDtEntityCpntHeroController* hero, void* instance, char addToActive)
MagicalObject_SpawnAllObjects 0x140259060 ✅ ok ✔ void(void* pool, void* scene)
MagicalObject_SpawnContainingFunc 0x14025d9b0 ✅ ok Outer function (1283 bytes) that contains the inlined SpawnAllObjects entry at +0x70. T…
g_MagicalObjectPool 0x14143cc18 📍 va [2026-07-10: re-derived post 2026-07-09 patch (was 0x1414365d0); confirmed via readers …
name address status callable signature / note
AchievementDef_PostLoad 0x140312060 ✅ ok ✔ bool(void* definition)
ChallengeDef_PostLoad 0x140324f30 ✅ ok ✔ bool(void* definition)
DefinitionRegistry_Ctrl 0x1412f0a68 📍 va Instance registry SwissTable (absl flat_hash_map) keyed on the class-descriptor pointer…
DefinitionRegistry_Mask 0x1412f0a80 📍 va Instance registry SwissTable (absl flat_hash_map) keyed on the class-descriptor pointer…
DefinitionRegistry_Slots 0x1412f0a70 📍 va Instance registry SwissTable (absl flat_hash_map) keyed on the class-descriptor pointer…
Definition_DeserializeBase 0x140310180 ✅ ok bool(void* def, void* reader)
Definition_PostLoad 0x140310200 ✅ ok ✔ bool(void* definition)
Definition_PreUnload 0x140310230 ✅ ok ✔ void(void*)
Definition_Unload 0x1403238a0 ❓ unverified bool(void* definition)
DreamShardDef_PostLoad 0x140312690 ✅ ok ✔ bool(void* definition)
EnemyCampTierDef_PostLoad 0x140319620 ✅ ok ✔ bool(void* definition)
GameModeDefaultDef_PostLoad 0x140325950 ✅ ok ✔ bool(void* definition)
GameModifierDef_PostLoad 0x140326250 ✅ ok ✔ bool(void* definition)
GameModifierDef_RegisterAssetLoader 0x1403260b0 ✅ ok void(void* assetClassDesc)
GoPtrOwnerRelay_ForwardCall 0x14066bf00 ✅ ok oIGoPtrOwnerRelay base virtual (slot +0x18): resolves owned via slot-0x30, forwards own…
GoPtrOwnerRelay_ForwardGet 0x14066be70 ✅ ok oIGoPtrOwnerRelay base virtual (vtable 0x140f06820 slot +0x8): resolves the owned objec…
GoPtrOwnerRelay_ForwardSet 0x14066bec0 ✅ ok oIGoPtrOwnerRelay base virtual (slot +0x10): resolves owned via slot-0x30, forwards own…
HasGameModifierStateMachine_Register 0x140197780 ✅ ok void(void)
HeroDef_PostLoad 0x14031fd70 ✅ ok ✔ bool(void* definition)
IngredientDef_PostLoad 0x140323190 ✅ ok ✔ bool(void* definition)
Library_AchievementDefinition_vftable 0x140f27660 📍 va vftable of oCTLibraryoe::dt::AchievementDefinition singleton. ⚠ ADDRESS CORRECTED 202…
Library_ChallengeDefinition_vftable 0x140f299d8 📍 va vftable of oCTLibraryoe::dt::ChallengeDefinition singleton. ⚠ ADDRESS CORRECTED 2026-…
Library_DreamShardDefinition_vftable 0x140f27178 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-…
Library_EnemyCampDifficultyDefinition_vftable 0x140f280e0 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED…
Library_EnemyCampTierDefinition_vftable 0x140f2ad30 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-…
Library_EnemyDefinition_vftable 0x140f2b450 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-17: t…
Library_EnemyTribeDefinition_vftable 0x140f2aeb8 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-…
Library_EntitySettingsResource_vftable 0x140f75e60 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-…
Library_GameModifierDefinition_vftable 0x140f2a960 📍 va vftable of oCTLibraryoe::dt::GameModifierDefinition singleton. GameModifiers = the ru…
Library_IngredientDefinition_vftable 0x140f29a18 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-…
Library_MapDefinition_vftable 0x140f29810 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-17: the…
Library_MelodyDefinition_vftable 0x140f29af8 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-17: the …
Library_RewardDefinition_vftable 0x140f298a8 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-17: …
Library_TileDefinition_vftable 0x140f2b0e0 📍 va vftable of oCTLibrary singleton. ⚠ ADDRESS CORRECTED 2026-09-17: th…
Library_VersionDefinition_vftable 0x140f297c0 📍 va vftable of oCTLibraryoe::dt::VersionDefinition singleton (LiveOps version manifest). …
MapDef_PostLoad 0x1403234f0 ✅ ok ✔ bool(void* definition)
MapDef_RegisterAssetLoader 0x140323350 ✅ ok void(void* assetClassDesc)
MelodyDef_PostLoad 0x140326f50 ✅ ok ✔ bool(void* definition)
Mem_Alloc16Zeroed 0x14050d5c0 ✅ ok malloc(0x10) + zero two qwords + bump global alloc counter DAT_1414442b4 = 16-byte zero…
PtrVector_Resize 0x140155230 ✅ ok pointer-vector resize: param_3==0 frees vec[0] (free-counter DAT_14146d854), else mallo…
Registry_EnemyDefinition_desc 0x141470208 📍 va Class registry descriptor for oCDtEnemyDefinition (set by registrar FUN_14022d940; UID …
Registry_EnemyTribeDefinition_desc 0x14146f938 📍 va Class registry descriptor for oCDtEnemyTribeDefinition (registrar FUN_140189410; UID 0x…
RewardDef_RegisterAssetLoader 0x140324460 ✅ ok void(void* assetClassDesc)
Rt_FailFast 0x140cc7e04 ✅ ok CRT fail-fast: FUN_140cc7c90 then _invoke_watson (noreturn). 4459 refs. Naming it de-no…
SharedRef_AddRefCopy 0x1401663a0 ✅ ok base virtual: copies {*(this+0x18) data, *(this+0x20) refblock} into out and addrefs at…
SharedRef_AddRefCopy_b 0x14021e390 ✅ ok identical twin of SharedRef_AddRefCopy (separate TU); base virtual in 298 vtables. Deco…
SharedRef_Release 0x140111cf0 ✅ ok ✔ void(void*)
TileDef_Deserialize 0x140324690 ❓ unverified bool(oCDtTileDefinition* def, oCBinaryStream* stream)
TypeDesc_HashName 0x1404fd5d0 ✅ ok base virtual: vcall slot0 -> type descriptor, reads its oCString name (inline @+8 / hea…
TypeDesc_HashName_b 0x1401c96e0 ✅ ok identical twin of TypeDesc_HashName (separate TU); base virtual in 292 vtables. Decompi…
oCString_Dtor 0x140111d90 ✅ ok oCString destructor: SSO threshold 0xf; heap buffer’s real alloc ptr at [buf-8], frees …
name address status callable signature / note
HeroMelodyPersistentData_vftable 0x140f12f40 📍 va vftable of HeroMelodyPersistentData (“Dt Hero Controller Owned Melody Persistent Data”,…
oCGameNamedEventChooseMelody_vftable 0x140f25c48 📍 va vftable of NamedEventChooseMelody (RTTI .?AVNamedEventChooseMelody@dt@oe@@, typedesc 0x…
oCGameNamedEventRemoveMelody_vftable 0x140f22608 📍 va vftable of NamedEventRemoveMelody (typedesc 0x14137bc38); same shape and origin as oCGa…
name address status callable signature / note
Entity_GetNetComponent 0x140312db0 ✅ ok ✔ void*(oCEntity* entity)
Entity_GetNetId 0x1407273c0 ✅ ok uint32_t(void* entity)
Fcm2_OnClosedConnection 0x140ac94a0 ✅ ok void(FullyConnectedMesh2* this, const SystemAddress& addr, RakNetGUID guid, int reason)
Netcode_Channel_LookupById 0x140241a50 ✅ ok ✔ iter*(void* channel_map, iter* out, uint32_t* event_id)
Netcode_Channel_Unsubscribe 0x1401c8da0 ✅ ok ✔ void(void* node_plus_8, void** sub_slot)
Netcode_ConnectionFactory 0x140b287f0 ❓ unverified Builds a Stormancer::RakNetConnection for an incoming RakNetGUID and files it in the co…
Netcode_ConnectionRegistry_Emplace 0x140b2fd80 ❓ unverified MSVC std::unordered_map<uint64,…>::try_emplace for the netcode’s CONNECTION REGISTRY.…
Netcode_DropPeer 0x1402b4d50 ✅ ok Drops a peer after the reconnect window (default 60s) elapses. Pattern-verified 2026-07…
Netcode_EntityReplSetup 0x14073dda0 ❓ unverified ✔ void(void* replContext)
Netcode_PeerStateTick 0x1402b03a0 ✅ ok Per-peer connection-state tick (peer conn-state enum at peer+0xCC; 3=connected). Reconn…
Netcode_SessionCtx_LocalGuid 0x1408b7550 ❓ unverified oCDtP2PSessionSceneContext::vft[0x88] — returns THIS machine’s session id. Ghidra 2026-…
P2PSession_OnFcm2NewHost 0x1408b8530 ✅ ok The game’s ID_FCM2_NEW_HOST handler – i.e. where RakNet’s FullyConnectedMesh2 host ELE…
P2PSession_SetState 0x14085ca70 ✅ ok void(oCDtP2PSessionSceneContext* ctx, int newState)
P2PSession_StateNames 0x140eece10 📍 va struct { const char* s; uint32 len; } [14] // 0x10 stride
RakNetConnection_Ctor 0x140b9cd50 ❓ unverified Stormancer::RakNetConnection constructor. Ghidra 2026-08-21: installs Stormancer::IConn…
RakPeer_GetGuidFromSystemAddress 0x140ae33d0 ✅ ok RakNetGUID(RakPeer* this, const SystemAddress& addr)
RakPeer_GetMyGUID 0x140ae3280 ❓ unverified const RakNetGUID&(RakPeer* this)
RakPeer_GetSystemAddressFromGuid 0x140ae3570 ✅ ok SystemAddress(RakPeer* this, const RakNetGUID& guid)
RakPeer_GetSystemList 0x140ae1700 ✅ ok void(RakPeer* this, List& addresses, List& guids)
SLNetworkObject_GetOwnerId 0x1408c0d40 ❓ unverified void* __fastcall(oCSLNetworkObject* self, uint64_t* out)
name address status callable signature / note
GameModifierUi_PadSelectedSlots 0x140360c20 ✅ ok ✔ void(void* uiController, void* unknown, void* selectedVector)
g_GameOptions 0x14143cb58 📍 va [2026-07-10: re-derived post 2026-07-09 patch (was 0x141436510); ctor is now FUN_1401ca…
name address status callable signature / note
BinarySaver_CollectDependencies 0x1404fc950 ❓ unverified bool(void* saver, void* rootObject)
BinarySaver_WriteGraph 0x140501a30 ✅ ok ✔ bool(void* saver, void* rootObject, const char* label, void* ctx)
BinarySaver_WriteObject 0x1405016c0 ✅ ok ✔ bool(void* saver, void* object, const char* label, bool flag)
Definition_PreloadResourceCache 0x140310fb0 ❓ unverified void(void* definition)
Definitions_LoadGroup 0x140310300 ✅ ok Loads the ‘Definitions’ group / VersionDefinition manifest (triggers loading the curate…
FileStream_Open 0x14053a730 ❓ unverified bool(void** outHandle, const char* path, int* mode)
InitialLoading_LoadAllDefinitions 0x140260b80 ✅ ok void(void* nameFilter)
LevelBinary_Load 0x1404764f0 ❓ unverified bool(void* container, void* stream, void* lvlId, void* links)
LevelDatabase_BuildAndRegister 0x14047cf80 ✅ ok bool(void* db, void* level, bool flag)
LevelLoad_AbortPredicate 0x140456c70 ❓ unverified uint32_t()
LevelLoad_ProgressTick 0x140516cd0 ❓ unverified uint32_t(float delta)
LevelObject_DestroyVectors 0x140476f60 ❓ unverified void(void* container)
LevelObject_LoadOrCreate 0x14047c1e0 ✅ ok bool(void* mgr, void* key, void** outLevel, char link, char flag, void* lvlId, void* re…
LevelStream_LoadLevel 0x14047b4f0 ❓ unverified bool(void* mgr, void* key, void** outLevel, char applyLinks, void* userData)
LevelStream_LoadStep 0x140476770 ✅ ok bool(void* container, void* resourceSlot, void* lvlId, void* links)
LevelStream_ProgressHook 0x1412ebf30 📍 va Function pointer for load-progress phases, set to LevelLoad_AbortPredicate in FUN_14045…
LevelText_Load 0x140476340 ❓ unverified bool(void* container, char** name, void* lvlId, void* links)
Object_CloneViaSerialize 0x1404fe640 ✅ ok ✔ bool(void* dstObject, void* srcObject, void* ignored3, void* ignored4)
Object_LoadFromStream 0x1404fd6b0 ✅ ok ✔ bool(void* object, void* readStream)
Object_SaveToFile 0x1404fd7e0 ✅ ok ✔ bool(void* object, void* pathString, bool cooked, void* ctx)
Registry_EnumInstances 0x140241750 ✅ ok ✔ void*(void* unused, void* out3, void** classDescPtr)
Registry_RegisterInstance 0x1403119d0 ✅ ok void(void* definition)
Registry_UnregisterInstance 0x140311a50 ✅ ok ✔ void(void*)
ResourceCache_Parse 0x140492a10 ❓ unverified bool(void* outVector, void* cachePath)
ResourceCache_Submit 0x1404aa3a0 ✅ ok void(void* resourceSink, void* entryVector)
ResourceRef_Resolve 0x140492540 ✅ ok void(void* refBlock, void* classDesc, void** outResolved, void* policy)
Resource_LookupByPath 0x14049b2a0 ✅ ok ✔ void*(const char* decoded_path, void*, void*, void*)
name address status callable signature / note
CustomFlagList_ContainsAll 0x14066ac70 ✅ ok bool(void* flagListA, void* flagListB)
CustomFlagList_ContainsAny 0x14066ad90 ✅ ok bool(void* flagListA, void* flagListB)
RewardDef_Deserialize 0x1403244c0 ✅ ok bool(void* rewardDef, void* reader)
RewardItem_Serialize 0x140323dd0 ✅ ok bool(void* oCItem, void* reader)
RewardSelectorSettings_Serialize 0x140340470 ✅ ok bool(void* settings, void* reader)
RewardType_Serialize 0x140324260 ✅ ok bool(void* oCType, void* reader)
Reward_GenerateAndDistribute 0x1401ecd10 ❓ unverified void(void* mapSceneContext)
Reward_InitAllRewards 0x1401e9800 ✅ ok _InitAllRewards (7351 bytes): reward-type registrar. The actual reward roller is a sibl…
name address status callable signature / note
Account_GetDisplayName 0x140929940 ✅ ok void(std::string* out, void* account)
HeroSelect_IsHeroAvailable 0x14032b460 ✅ ok ✔ bool(void* menu, int hero_index, bool flag)
LobbyAttributes_Parse 0x140922f20 ✅ ok ✔ void*(void* self, StringDesc* blob)
LobbyAttributes_Serialize 0x140923e00 ✅ ok ✔ void*(void* out, void* member)
LobbyMembers_List 0x140925420 ❓ unverified void(void** scene, std::vector<LobbyMember*>* out)
LobbyMembers_Local 0x1409253a0 ❓ unverified void(void** scene, LobbyMember** out)
LobbyPlayerName_Registry 0x141476268 📍 va std::string[] // count at 0x141476270
Netcode_PeerCount 0x14143f780 📍 va uint32_t
Netcode_PeerSlots 0x14143f600 📍 va PeerSlot[] // 0x60 stride; live count at Netcode_PeerCount
name address status callable signature / note
EntityComponent_Activate 0x140712c50 ✅ ok ✔ void(void* unused, oIEntityCpnt* cpnt)
EntityEventTrigger_Fire 0x140713b00 ✅ ok ✔ void(EventTrigger* trig)
HeroController_AddSkill 0x1403974b0 ✅ ok ✔ void(HeroController* hero, oCDtEntityCpntSkillController* ctrl)
HeroController_RemoveSkill 0x1403977b0 ✅ ok ✔ void(HeroController* hero, oCDtEntityCpntSkillController* ctrl, bool clear_hud)
SkillController_SetTier 0x1402edd80 ✅ ok ✔ void(oCDtEntityCpntSkillController* ctrl, int32_t tier)
name address status callable signature / note
SkinGrid_Populate 0x1401f16f0 ✅ ok ✔ void(void* ctx, void* arg)
SkinRoster_Build 0x1401dd2c0 ✅ ok Skin-pack roster builder. Selectable-skin count (9) is baked into its loop; a new selec…
g_RosterManager 0x141436590 📍 va Manager pointer global (relocated by the live image base) walked by the skin-grid popul…
name address status callable signature / note
g_StatReportRoot 0x14143cb28 📍 va Singleton pointer whose object holds the CACHED hero stats the game reports and display…
name address status callable signature / note
BookController_ResolveSettings 0x140307a30 ✅ ok ✔ void(oCDtEntityCpnt3DBookController* self)
BookController_ResolveTabs 0x140308cd0 ✅ ok ✔ void(oCDtEntityCpnt3DBookController* self)
HeroSelect_ConfirmBlockReason 0x14026dbc0 ✅ ok int(void* screen)
HeroSelect_ConfirmPressed 0x1403e9300 ✅ ok int(void* screen)
HeroSelect_SetConfirmEnabled 0x1403e9500 ✅ ok void(void* screen, bool enabled)
HeroSelect_ValidateBlockedPtr 0x14143cb58 📍 va Pointer to the object whose byte at +0x11a8 blocks the Select_Hero_Book_Page ’Validate …
UiButton_InputPoll 0x1407d72a0 ✅ ok ✔ void(ButtonUiCpntArray* cpnts)
UiButton_PressCommit 0x1406a08a0 ✅ ok ✔ void(oCUINavigableZoneDesc* widget)
UiButton_PressReturnSite 0x1407d7382 ✅ ok (code location, not callable)
UiController_BindComponent 0x14034c180 ❓ unverified void(void* uiController)
UiController_OnHide 0x140352b40 ❓ unverified void(void* uiController)
UiController_OnShow 0x140352aa0 ❓ unverified void(void* uiController)
UiController_UnbindComponent 0x14034c200 ❓ unverified void(void* uiController)
name address status callable signature / note
Chapter_Serialize 0x1403254d0 ✅ ok bool(Chapter* this, void* serializer)
GameModeDefaultDef_Serialize 0x1403256e0 ✅ ok bool(GameModeDefaultDefinition* this, void* serializer)
LevelStream_Deserialize 0x1404767e0 ❓ unverified bool(void* loader, void* a_pLevel, void* a_pLvlId, void* a_pLinks)
MapDef_Serialize 0x1403233b0 ✅ ok bool(oCDtMapDefinition* this, void* serializer)
TileKindPool_ReportEmpty 0x1403421f0 ✅ ok ✔ void(void* tileSpawnerSettings, void* outMessages)
TileKind_Serialize 0x140340fc0 ✅ ok bool(oCDtTileKind* this, void* serializer)
TileSlotScenarioKindCompat_Serialize 0x140341190 ✅ ok bool(oCDtTileSlotScenarioKindCompatibility* this, void* serializer)
TileSlotSettings_Serialize 0x1403411f0 ✅ ok bool(oCDtTileSlotSettings* this, void* serializer)
TileSlotSize_Serialize 0x140341780 ✅ ok bool(oCDtTileSlotSize* this, void* serializer)
TileSpawn_DistanceConstraints 0x140345890 ✅ ok ✔ void(void*, void*)
TileSpawn_PlaceTiles 0x140343ad0 ✅ ok ✔ void(void* tileSpawnerComponent)
TileSpawnerSettings_Serialize 0x140341b10 ✅ ok bool(oCDtEntityCpntTileSpawnerSettings* this, void* serializer)
TileSpawner_Spawn 0x140343640 ✅ ok ✔ void(void* tileSpawnerComponent)