From b5168ba351564fca25f1eae2b3c1df790c2bb31d Mon Sep 17 00:00:00 2001 From: Gynt Date: Fri, 3 Jul 2026 10:14:13 +0200 Subject: [PATCH] refactor: name unnamed functions with a best guess --- src/OpenSHC/AI/AICState.func.hpp | 8 +- src/OpenSHC/AI/AICState.hpp | 4 +- src/OpenSHC/Audio/SFX/SFXState.func.hpp | 8 +- src/OpenSHC/Audio/SFX/SFXState.hpp | 4 +- src/OpenSHC/Audio/mss/SoundSystem.func.hpp | 50 +- src/OpenSHC/Audio/mss/SoundSystem.hpp | 18 +- src/OpenSHC/Commands.func.hpp | 20 +- src/OpenSHC/Commands.hpp | 10 +- src/OpenSHC/Game/GameStateStructures.func.hpp | 60 +- src/OpenSHC/Game/GameStateStructures.hpp | 31 +- src/OpenSHC/Global.func.hpp | 25 +- src/OpenSHC/Global.hpp | 10 +- src/OpenSHC/IO/ResourceManager.func.hpp | 40 +- src/OpenSHC/IO/ResourceManager.hpp | 16 +- src/OpenSHC/Input/MouseState.func.hpp | 12 +- src/OpenSHC/Input/MouseState.hpp | 6 +- .../Map/Buildings/BuildingsState.func.hpp | 298 ++--- src/OpenSHC/Map/Buildings/BuildingsState.hpp | 134 +- src/OpenSHC/Map/Entities/EntityState.func.hpp | 102 +- src/OpenSHC/Map/Entities/EntityState.hpp | 53 +- src/OpenSHC/Map/LandscapeState.func.hpp | 56 +- src/OpenSHC/Map/LandscapeState.hpp | 25 +- src/OpenSHC/Map/MapPropertiesState.func.hpp | 94 +- src/OpenSHC/Map/MapPropertiesState.hpp | 39 +- src/OpenSHC/Map/Navigation.func.hpp | 4 +- src/OpenSHC/Map/Navigation.hpp | 2 +- .../DirectionAlgorithmState.func.hpp | 8 +- .../Navigation/DirectionAlgorithmState.hpp | 4 +- .../Map/Navigation/PathFindingState.func.hpp | 42 +- .../Map/Navigation/PathFindingState.hpp | 23 +- src/OpenSHC/Map/TileMapState.func.hpp | 370 ++--- src/OpenSHC/Map/TileMapState.hpp | 159 +-- src/OpenSHC/Map/Units.func.hpp | 4 +- src/OpenSHC/Map/Units.hpp | 2 +- src/OpenSHC/Map/Units/TribesState.func.hpp | 246 ++-- src/OpenSHC/Map/Units/TribesState.hpp | 98 +- .../Map/Units/TroopValueState.func.hpp | 276 ++-- src/OpenSHC/Map/Units/TroopValueState.hpp | 109 +- src/OpenSHC/Map/Units/UnitsState.func.hpp | 454 +++---- src/OpenSHC/Map/Units/UnitsState.hpp | 187 +-- src/OpenSHC/Map/Version.func.hpp | 16 +- src/OpenSHC/Map/Version.hpp | 6 +- src/OpenSHC/Map/WallAndPitchState.func.hpp | 24 +- src/OpenSHC/Map/WallAndPitchState.hpp | 10 +- src/OpenSHC/Map/WildlifeState.func.hpp | 38 +- src/OpenSHC/Map/WildlifeState.hpp | 16 +- src/OpenSHC/Rendering.func.hpp | 18 +- src/OpenSHC/Rendering.hpp | 8 +- .../Rendering/ViewportRenderState.func.hpp | 32 +- src/OpenSHC/Rendering/ViewportRenderState.hpp | 18 +- src/OpenSHC/Synchrony.func.hpp | 8 +- src/OpenSHC/Synchrony.hpp | 4 +- .../Synchrony/GameSynchronyState.func.hpp | 84 +- src/OpenSHC/Synchrony/GameSynchronyState.hpp | 38 +- src/OpenSHC/Text/FontSizeClass.func.hpp | 14 +- src/OpenSHC/Text/FontSizeClass.hpp | 6 +- src/OpenSHC/Text/TextEditorState.func.hpp | 184 +-- src/OpenSHC/Text/TextEditorState.hpp | 179 ++- src/OpenSHC/Text/TextManager.func.hpp | 22 +- src/OpenSHC/Text/TextManager.hpp | 8 +- src/OpenSHC/Text/UserTextHandler.func.hpp | 32 +- src/OpenSHC/Text/UserTextHandler.hpp | 14 +- src/OpenSHC/UI.func.hpp | 198 +-- src/OpenSHC/UI.hpp | 90 +- src/OpenSHC/UI/MenuModalComposition.func.hpp | 4 +- src/OpenSHC/UI/MenuModalComposition.hpp | 2 +- src/OpenSHC/UI/MinimapViewState.func.hpp | 32 +- src/OpenSHC/UI/MinimapViewState.hpp | 14 +- .../Rendering/AlphaAndButtonSurface.func.hpp | 8 +- .../UI/Rendering/AlphaAndButtonSurface.hpp | 4 +- .../UI/Rendering/TextureRenderCore.func.hpp | 4 +- .../UI/Rendering/TextureRenderCore.hpp | 2 +- src/precomp/addresses-SHC-3BB0A8C1.hpp | 1192 ++++++++--------- 73 files changed, 2725 insertions(+), 2715 deletions(-) diff --git a/src/OpenSHC/AI/AICState.func.hpp b/src/OpenSHC/AI/AICState.func.hpp index c82a8d02..43dbb074 100644 --- a/src/OpenSHC/AI/AICState.func.hpp +++ b/src/OpenSHC/AI/AICState.func.hpp @@ -587,8 +587,8 @@ namespace AI { decideOnTribeAttackLocation; MACRO_FUNCTION_RESOLVER( - void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D1D60, &AICState::FUN_004d1d60) - FUN_004d1d60; + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D1D60, &AICState::sellExcessGoods) + sellExcessGoods; MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, ResourceType, undefined4), false, Address::SHC_3BB0A8C1_0x004D1F00, &AICState::requestGoods) @@ -671,8 +671,8 @@ namespace AI { makeOutpostTribesAttack; MACRO_FUNCTION_RESOLVER( - void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D39B0, &AICState::FUN_004d39b0) - FUN_004d39b0; + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D39B0, &AICState::buyRequiredGoods) + buyRequiredGoods; MACRO_FUNCTION_RESOLVER( void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D3AE0, &AICState::aiRecruitUnits) diff --git a/src/OpenSHC/AI/AICState.hpp b/src/OpenSHC/AI/AICState.hpp index 2c54a950..fa69a0ea 100644 --- a/src/OpenSHC/AI/AICState.hpp +++ b/src/OpenSHC/AI/AICState.hpp @@ -342,7 +342,7 @@ namespace AI { void decideOnTribeAttackLocation(uint tribeID__moatWasHit); - void FUN_004d1d60(int param_1); + void sellExcessGoods(int param_1); void requestGoods(int playerID, ResourceType resourceType, undefined4 amount); @@ -384,7 +384,7 @@ namespace AI { void makeOutpostTribesAttack(); - void FUN_004d39b0(int param_1); + void buyRequiredGoods(int param_1); void aiRecruitUnits(int playerID); diff --git a/src/OpenSHC/Audio/SFX/SFXState.func.hpp b/src/OpenSHC/Audio/SFX/SFXState.func.hpp index 57931aaf..e5861b5b 100644 --- a/src/OpenSHC/Audio/SFX/SFXState.func.hpp +++ b/src/OpenSHC/Audio/SFX/SFXState.func.hpp @@ -48,12 +48,12 @@ namespace Audio { someVolumeAdjustmentFunction; MACRO_FUNCTION_RESOLVER( - void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x00449FF0, &SFXState::FUN_00449ff0) - FUN_00449ff0; + void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x00449FF0, &SFXState::resetScheduledSoundRequests) + resetScheduledSoundRequests; MACRO_FUNCTION_RESOLVER( - void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044A050, &SFXState::meth_0x44a050) - meth_0x44a050; + void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044A050, &SFXState::resetAmbientEventCounters) + resetAmbientEventCounters; MACRO_FUNCTION_RESOLVER( void (SFXState::*)(int), false, Address::SHC_3BB0A8C1_0x0044A0D0, &SFXState::notifyAmbientSoundEvent) diff --git a/src/OpenSHC/Audio/SFX/SFXState.hpp b/src/OpenSHC/Audio/SFX/SFXState.hpp index 2f4f7a7e..b55e1976 100644 --- a/src/OpenSHC/Audio/SFX/SFXState.hpp +++ b/src/OpenSHC/Audio/SFX/SFXState.hpp @@ -68,9 +68,9 @@ namespace Audio { void someVolumeAdjustmentFunction(int param_1, int param_2, int param_3); - void FUN_00449ff0(); + void resetScheduledSoundRequests(); - void meth_0x44a050(); + void resetAmbientEventCounters(); void notifyAmbientSoundEvent(int ambientSoundType); diff --git a/src/OpenSHC/Audio/mss/SoundSystem.func.hpp b/src/OpenSHC/Audio/mss/SoundSystem.func.hpp index b3c9486c..8496bc6a 100644 --- a/src/OpenSHC/Audio/mss/SoundSystem.func.hpp +++ b/src/OpenSHC/Audio/mss/SoundSystem.func.hpp @@ -17,9 +17,9 @@ namespace Audio { using OpenSHC::DE::SHCDE::eMusicIDs; using OpenSHC::WindowsHelper::Enums::BOOLEnum; - MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00424700, &SoundSystem::meth_0x424700) - meth_0x424700; + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00424700, + &SoundSystem::endSpeechStreamsAndResetLoopFlags) + endSpeechStreamsAndResetLoopFlags; MACRO_FUNCTION_RESOLVER( void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00467810, &SoundSystem::stopMusicPlayback) @@ -45,13 +45,13 @@ namespace Audio { Address::SHC_3BB0A8C1_0x00479AF0, &SoundSystem::setStreamAndSampleVolumeUnk) setStreamAndSampleVolumeUnk; - MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00479B70, &SoundSystem::meth_0x479b70) - meth_0x479b70; + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00479B70, + &SoundSystem::restoreMusicVolumeAfterSpeechEnds) + restoreMusicVolumeAfterSpeechEnds; - MACRO_FUNCTION_RESOLVER( - int (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x00479C20, &SoundSystem::meth_0x479c20) - meth_0x479c20; + MACRO_FUNCTION_RESOLVER(int (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x00479C20, + &SoundSystem::loadSoundFileAndGetIndex) + loadSoundFileAndGetIndex; MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(int), false, Address::SHC_3BB0A8C1_0x00479C80, &SoundSystem::findSamplePlaceForSoundUnk) @@ -98,8 +98,8 @@ namespace Audio { setupVolumeAndSoundIDWithMultiplier; MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A290, &SoundSystem::meth_0x47a290) - meth_0x47a290; + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A290, &SoundSystem::markMusicChangePending) + markMusicChangePending; MACRO_FUNCTION_RESOLVER( void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A2A0, &SoundSystem::setSomeSoundTime) @@ -109,17 +109,17 @@ namespace Audio { &SoundSystem::setupVolumeAndSoundID0xF0_100) setupVolumeAndSoundID0xF0_100; - MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A340, &SoundSystem::FUN_0047a340) - FUN_0047a340; + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A340, + &SoundSystem::selectAndPlayMoodBasedMusic) + selectAndPlayMoodBasedMusic; MACRO_FUNCTION_RESOLVER( void (SoundSystem::*)(int), false, Address::SHC_3BB0A8C1_0x0047A570, &SoundSystem::setSection1079_28_4_) setSection1079_28_4_; - MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A580, &SoundSystem::meth_0x47a580) - meth_0x47a580; + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A580, + &SoundSystem::playBattleGloryMusicIfConditionsMet) + playBattleGloryMusicIfConditionsMet; MACRO_FUNCTION_RESOLVER( void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A5E0, &SoundSystem::playDarMehqOrGlory) @@ -142,8 +142,8 @@ namespace Audio { playMusicUnk; MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A9E0, &SoundSystem::meth_0x47a9e0) - meth_0x47a9e0; + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A9E0, &SoundSystem::stopAllActiveSounds) + stopAllActiveSounds; MACRO_FUNCTION_RESOLVER( void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047AA70, &SoundSystem::endSpeechSoundStreams) @@ -161,9 +161,9 @@ namespace Audio { Address::SHC_3BB0A8C1_0x0047B060, &SoundSystem::playSoundStreamUnk) playSoundStreamUnk; - MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B250, &SoundSystem::meth_0x47b250) - meth_0x47b250; + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B250, + &SoundSystem::playMusicFileByName) + playMusicFileByName; MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*, int), false, Address::SHC_3BB0A8C1_0x0047B2F0, &SoundSystem::playOrSetupMusicUnk) @@ -193,9 +193,9 @@ namespace Audio { void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B670, &SoundSystem::playSpeechSfx) playSpeechSfx; - MACRO_FUNCTION_RESOLVER( - void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B700, &SoundSystem::meth_0x47b700) - meth_0x47b700; + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B700, + &SoundSystem::playAmbientStreamWithLoop) + playAmbientStreamWithLoop; MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*, SoundFlagsAndLoopCount), false, Address::SHC_3BB0A8C1_0x0047B760, &SoundSystem::playSomeMusicUnk) diff --git a/src/OpenSHC/Audio/mss/SoundSystem.hpp b/src/OpenSHC/Audio/mss/SoundSystem.hpp index 4e3c7c6b..118f99fd 100644 --- a/src/OpenSHC/Audio/mss/SoundSystem.hpp +++ b/src/OpenSHC/Audio/mss/SoundSystem.hpp @@ -75,7 +75,7 @@ namespace Audio { SoundSystem() {}; ~SoundSystem() {}; - void meth_0x424700(); + void endSpeechStreamsAndResetLoopFlags(); void stopMusicPlayback(); @@ -89,9 +89,9 @@ namespace Audio { void setStreamAndSampleVolumeUnk(SHC_SoundStream sndStreamIndex, int volumeParam); - void meth_0x479b70(); + void restoreMusicVolumeAfterSpeechEnds(); - int meth_0x479c20(char* fileName); + int loadSoundFileAndGetIndex(char* fileName); void findSamplePlaceForSoundUnk(int soundIndex); @@ -115,17 +115,17 @@ namespace Audio { void setupVolumeAndSoundIDWithMultiplier(eMusicIDs soundID, int soundMultiplier); - void meth_0x47a290(); + void markMusicChangePending(); void setSomeSoundTime(); void setupVolumeAndSoundID0xF0_100(); - void FUN_0047a340(); + void selectAndPlayMoodBasedMusic(); void setSection1079_28_4_(int param_1); - void meth_0x47a580(); + void playBattleGloryMusicIfConditionsMet(); void playDarMehqOrGlory(); @@ -137,7 +137,7 @@ namespace Audio { void playMusicUnk(); - void meth_0x47a9e0(); + void stopAllActiveSounds(); void endSpeechSoundStreams(); @@ -148,7 +148,7 @@ namespace Audio { void playSoundStreamUnk( SHC_SoundStream sndStreamIndex, char* filename, SoundFlagsAndLoopCount flagsAndLoopCount); - void meth_0x47b250(char* filename); + void playMusicFileByName(char* filename); void playOrSetupMusicUnk(char* filename, int someVolumeUnk); @@ -164,7 +164,7 @@ namespace Audio { void playSpeechSfx(char* soundFileName); - void meth_0x47b700(char* param_1); + void playAmbientStreamWithLoop(char* param_1); void playSomeMusicUnk(char* filename, SoundFlagsAndLoopCount flagsAndLoop); diff --git a/src/OpenSHC/Commands.func.hpp b/src/OpenSHC/Commands.func.hpp index 2bbe5b2c..3d7a55f7 100644 --- a/src/OpenSHC/Commands.func.hpp +++ b/src/OpenSHC/Commands.func.hpp @@ -212,12 +212,12 @@ namespace Commands_Func { ClickExtendRallyPoint; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484960, &OpenSHC::Commands::FUN_00484960) - FUN_00484960; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484960, &OpenSHC::Commands::SiegeEngineRelated) + SiegeEngineRelated; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484A00, &OpenSHC::Commands::FUN_00484a00) - FUN_00484a00; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484A00, &OpenSHC::Commands::TribeRelated1) + TribeRelated1; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484A70, &OpenSHC::Commands::ReleaseDogs) @@ -236,8 +236,8 @@ namespace Commands_Func { DeselectUnit; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484E10, &OpenSHC::Commands::FUN_00484e10) - FUN_00484e10; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484E10, &OpenSHC::Commands::SetField45To100) + SetField45To100; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484E70, &OpenSHC::Commands::ResyncZone) ResyncZone; @@ -259,8 +259,8 @@ namespace Commands_Func { VoteKick_K_D_B_G_J; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485210, &OpenSHC::Commands::FUN_00485210) - FUN_00485210; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485210, &OpenSHC::Commands::SyncPacketSizeAnnouncement) + SyncPacketSizeAnnouncement; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004852D0, &OpenSHC::Commands::ShareAnnouncementWithHost) @@ -279,8 +279,8 @@ namespace Commands_Func { FlagsAndBraziersCommandUnk; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004855C0, &OpenSHC::Commands::FUN_004855c0) - FUN_004855c0; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004855C0, &OpenSHC::Commands::NotifyLaggingPlayer) + NotifyLaggingPlayer; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485650, &OpenSHC::Commands::SomeKindOfMultiplayerPingUnk) diff --git a/src/OpenSHC/Commands.hpp b/src/OpenSHC/Commands.hpp index f67380db..80711b65 100644 --- a/src/OpenSHC/Commands.hpp +++ b/src/OpenSHC/Commands.hpp @@ -111,9 +111,9 @@ namespace Commands { void __stdcall ClickExtendRallyPoint(); - void __stdcall FUN_00484960(); + void __stdcall SiegeEngineRelated(); - void __stdcall FUN_00484a00(); + void __stdcall TribeRelated1(); void __stdcall ReleaseDogs(); @@ -123,7 +123,7 @@ namespace Commands { void __stdcall DeselectUnit(); - void __stdcall FUN_00484e10(); + void __stdcall SetField45To100(); void __stdcall ResyncZone(); @@ -135,7 +135,7 @@ namespace Commands { void __stdcall VoteKick_K_D_B_G_J(); - void __stdcall FUN_00485210(); + void __stdcall SyncPacketSizeAnnouncement(); void __stdcall ShareAnnouncementWithHost(); @@ -145,7 +145,7 @@ namespace Commands { void __stdcall FlagsAndBraziersCommandUnk(); - void __stdcall FUN_004855c0(); + void __stdcall NotifyLaggingPlayer(); void __stdcall SomeKindOfMultiplayerPingUnk(); diff --git a/src/OpenSHC/Game/GameStateStructures.func.hpp b/src/OpenSHC/Game/GameStateStructures.func.hpp index 5efc99fe..08460b76 100644 --- a/src/OpenSHC/Game/GameStateStructures.func.hpp +++ b/src/OpenSHC/Game/GameStateStructures.func.hpp @@ -73,16 +73,16 @@ namespace Game { calculateAttackVectorsToCampFireOfPlayer; MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004568F0, - &GameStateStructures::meth_0x4568f0) - meth_0x4568f0; + &GameStateStructures::countActiveSignposts) + countActiveSignposts; MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004569E0, - &GameStateStructures::meth_0x4569e0) - meth_0x4569e0; + &GameStateStructures::hasAnySignpost) + hasAnySignpost; MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00456AD0, - &GameStateStructures::meth_0x456ad0) - meth_0x456ad0; + &GameStateStructures::pickRandomAccessibleSignpostEntry) + pickRandomAccessibleSignpostEntry; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00456C50, &GameStateStructures::clearDataAndSignpostDataIfNecessary) @@ -93,12 +93,12 @@ namespace Game { addSignpostToBuildingEntryData; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(uint, int, int), false, Address::SHC_3BB0A8C1_0x00456FD0, - &GameStateStructures::meth_0x456fd0) - meth_0x456fd0; + &GameStateStructures::computeBuildingCategoryEntryPoint) + computeBuildingCategoryEntryPoint; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004572A0, - &GameStateStructures::meth_0x4572a0) - meth_0x4572a0; + &GameStateStructures::validateBuildingCategoryReference) + validateBuildingCategoryReference; MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004574C0, &GameStateStructures::checkKeepEnclosed) @@ -117,12 +117,12 @@ namespace Game { unitsCanMoveFromKeepOfPlayerToAnotherArea; MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int, int, int), false, - Address::SHC_3BB0A8C1_0x00457870, &GameStateStructures::meth_0x457870) - meth_0x457870; + Address::SHC_3BB0A8C1_0x00457870, &GameStateStructures::canKeepReachSignpostZone) + canKeepReachSignpostZone; MACRO_FUNCTION_RESOLVER(bool (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004578F0, - &GameStateStructures::meth_0x4578f0) - meth_0x4578f0; + &GameStateStructures::canKeepReachSignpostZoneViaPathfinder) + canKeepReachSignpostZoneViaPathfinder; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(uint), false, Address::SHC_3BB0A8C1_0x00457960, &GameStateStructures::updatePrimaryBuildingPlayerDataReferences) @@ -177,16 +177,16 @@ namespace Game { moveUnitAroundCampfire; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004586D0, - &GameStateStructures::meth_0x4586d0) - meth_0x4586d0; + &GameStateStructures::activateTraderState) + activateTraderState; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004586F0, - &GameStateStructures::meth_0x4586f0) - meth_0x4586f0; + &GameStateStructures::resetTraderState) + resetTraderState; MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00458700, - &GameStateStructures::meth_0x458700) - meth_0x458700; + &GameStateStructures::findNextPlayerWithMarketplace) + findNextPlayerWithMarketplace; MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(ResourceType), false, Address::SHC_3BB0A8C1_0x00458740, &GameStateStructures::isResourceTypeTradeable) @@ -213,8 +213,8 @@ namespace Game { getBuyPrice; MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004588D0, - &GameStateStructures::meth_0x4588d0) - meth_0x4588d0; + &GameStateStructures::getBuyPriceForOneUnit) + getBuyPriceForOneUnit; MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(ResourceType), false, Address::SHC_3BB0A8C1_0x004588F0, &GameStateStructures::getSalePriceOfGood) @@ -309,8 +309,8 @@ namespace Game { TeamToBitFlagsUnk; MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004597D0, - &GameStateStructures::meth_0x4597d0) - meth_0x4597d0; + &GameStateStructures::areActivePlayersMostlySameTeam) + areActivePlayersMostlySameTeam; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004598B0, &GameStateStructures::recountStablesAndHorses) @@ -341,8 +341,8 @@ namespace Game { assignSelectionToKey; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00459D80, - &GameStateStructures::FUN_00459d80) - FUN_00459d80; + &GameStateStructures::computeArmySizeLimit) + computeArmySizeLimit; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00459E40, &GameStateStructures::HandleActivateTacticalPowers) @@ -377,8 +377,8 @@ namespace Game { clearEnemyRelatedStructures; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045B3E0, - &GameStateStructures::meth_0x45b3e0) - meth_0x45b3e0; + &GameStateStructures::initializeGameStateAfterMapLoad) + initializeGameStateAfterMapLoad; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x0045B460, &GameStateStructures::switchPlayerOwnership) @@ -405,8 +405,8 @@ namespace Game { spawnPoisonCloudsAtRandomStorageOrArmyBuilding; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, - Address::SHC_3BB0A8C1_0x0045C1C0, &GameStateStructures::meth_0x45c1c0) - meth_0x45c1c0; + Address::SHC_3BB0A8C1_0x0045C1C0, &GameStateStructures::migrateGameStateForMapVersion) + migrateGameStateForMapVersion; MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045CA20, &GameStateStructures::processSingleTimeTick) diff --git a/src/OpenSHC/Game/GameStateStructures.hpp b/src/OpenSHC/Game/GameStateStructures.hpp index 26ce93c6..d9efca68 100644 --- a/src/OpenSHC/Game/GameStateStructures.hpp +++ b/src/OpenSHC/Game/GameStateStructures.hpp @@ -75,19 +75,19 @@ namespace Game { void calculateAttackVectorsToCampFireOfPlayer(int playerID); - int meth_0x4568f0(); + int countActiveSignposts(); - BOOLEnum meth_0x4569e0(); + BOOLEnum hasAnySignpost(); - int meth_0x456ad0(); + int pickRandomAccessibleSignpostEntry(); void clearDataAndSignpostDataIfNecessary(); void addSignpostToBuildingEntryData(int buildingID); - void meth_0x456fd0(uint param_1, int param_2, int param_3); + void computeBuildingCategoryEntryPoint(uint param_1, int param_2, int param_3); - void meth_0x4572a0(int playerID, int param_2); + void validateBuildingCategoryReference(int playerID, int param_2); BOOLEnum checkKeepEnclosed(int playerID); @@ -97,9 +97,9 @@ namespace Game { BOOLEnum unitsCanMoveFromKeepOfPlayerToAnotherArea(int playerID); - BOOLEnum meth_0x457870(int param_1, int param_2, int param_3); + BOOLEnum canKeepReachSignpostZone(int param_1, int param_2, int param_3); - bool meth_0x4578f0(int param_1, int param_2, int param_3); + bool canKeepReachSignpostZoneViaPathfinder(int param_1, int param_2, int param_3); void updatePrimaryBuildingPlayerDataReferences(uint buildingID); @@ -128,11 +128,11 @@ namespace Game { int moveUnitAroundCampfire(int unitID, int availablePeasants); - void meth_0x4586d0(); + void activateTraderState(); - void meth_0x4586f0(); + void resetTraderState(); - int meth_0x458700(int param_1); + int findNextPlayerWithMarketplace(int param_1); BOOLEnum isResourceTypeTradeable(ResourceType resourceType); @@ -146,7 +146,7 @@ namespace Game { int getBuyPrice(undefined4 playerID, int resourceType, int amount); - int meth_0x4588d0(int param_1); + int getBuyPriceForOneUnit(int param_1); int getSalePriceOfGood(ResourceType param_1); @@ -194,7 +194,7 @@ namespace Game { uint TeamToBitFlagsUnk(int unitID); - BOOLEnum meth_0x4597d0(); + BOOLEnum areActivePlayersMostlySameTeam(); void recountStablesAndHorses(); @@ -210,7 +210,7 @@ namespace Game { void assignSelectionToKey(int number, int tribeID); - void FUN_00459d80(); + void computeArmySizeLimit(); void HandleActivateTacticalPowers(int param_1, int powerType, int param_3); @@ -228,7 +228,7 @@ namespace Game { void clearEnemyRelatedStructures(); - void meth_0x45b3e0(); + void initializeGameStateAfterMapLoad(); void switchPlayerOwnership(int playerID); @@ -242,7 +242,8 @@ namespace Game { void spawnPoisonCloudsAtRandomStorageOrArmyBuilding(int playerID, int count); - void meth_0x45c1c0(PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); + void migrateGameStateForMapVersion( + PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); void processSingleTimeTick(); diff --git a/src/OpenSHC/Global.func.hpp b/src/OpenSHC/Global.func.hpp index 1311fded..8785bb27 100644 --- a/src/OpenSHC/Global.func.hpp +++ b/src/OpenSHC/Global.func.hpp @@ -577,8 +577,8 @@ namespace Global_Func { Address::SHC_3BB0A8C1_0x00467BC0, &OpenSHC::Global::EnumDisplayModesCallback) EnumDisplayModesCallback; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00469F10, &OpenSHC::Global::FUN_Useless) - FUN_Useless; + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00469F10, &OpenSHC::Global::DoNothing) + DoNothing; MACRO_FUNCTION_RESOLVER(byte(__stdcall*)(byte value, int bits), false, Address::SHC_3BB0A8C1_0x0046CE30, &OpenSHC::Global::RotateByteLeft) @@ -710,11 +710,12 @@ namespace Global_Func { SumUnitPoints; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, BuildingType buildingType), false, - Address::SHC_3BB0A8C1_0x004BC690, &OpenSHC::Global::FUN_004bc690) - FUN_004bc690; + Address::SHC_3BB0A8C1_0x004BC690, &OpenSHC::Global::SetTutorialBuildingActionState) + SetTutorialBuildingActionState; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BC770, &OpenSHC::Global::FUN_004bc770) - FUN_004bc770; + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BC770, + &OpenSHC::Global::SetTutorialHintActiveWithTimestamp) + SetTutorialHintActiveWithTimestamp; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int skirmishTrailMission), false, Address::SHC_3BB0A8C1_0x004C68D0, &OpenSHC::Global::SetupSkirmishMode) @@ -929,17 +930,17 @@ namespace Global_Func { Address::SHC_3BB0A8C1_0x00530CF0, &OpenSHC::Global::SetStateToFreetimeWalking) SetStateToFreetimeWalking; - MACRO_FUNCTION_RESOLVER( - bool(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00530D50, &OpenSHC::Global::FUN_00530d50) - FUN_00530d50; + MACRO_FUNCTION_RESOLVER(bool(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00530D50, + &OpenSHC::Global::CheckUnitProductionPaused) + CheckUnitProductionPaused; MACRO_FUNCTION_RESOLVER(int(__cdecl*)(int unitID, int goodsCount, BOOLEnum boost), false, Address::SHC_3BB0A8C1_0x00530D70, &OpenSHC::Global::ComputeGoodsProduced) ComputeGoodsProduced; - MACRO_FUNCTION_RESOLVER( - BuildingTypeShort*(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00530E00, &OpenSHC::Global::FUN_00530e00) - FUN_00530e00; + MACRO_FUNCTION_RESOLVER(BuildingTypeShort*(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00530E00, + &OpenSHC::Global::WarnIfPlayerLacksGranary) + WarnIfPlayerLacksGranary; MACRO_FUNCTION_RESOLVER( uint(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00530EB0, &OpenSHC::Global::TryPlayStockpileIsFullNoiseUnk) diff --git a/src/OpenSHC/Global.hpp b/src/OpenSHC/Global.hpp index f6673756..ccd91e8d 100644 --- a/src/OpenSHC/Global.hpp +++ b/src/OpenSHC/Global.hpp @@ -315,7 +315,7 @@ namespace Global { HRESULT __stdcall EnumDisplayModesCallback(DDSURFACEDESC* displayDesc, LPVOID userParam); - void __stdcall FUN_Useless(); + void __stdcall DoNothing(); byte __stdcall RotateByteLeft(byte value, int bits); @@ -386,9 +386,9 @@ namespace Global { void __cdecl SumUnitPoints(); - void __cdecl FUN_004bc690(int param_1, BuildingType buildingType); + void __cdecl SetTutorialBuildingActionState(int param_1, BuildingType buildingType); - void __stdcall FUN_004bc770(); + void __stdcall SetTutorialHintActiveWithTimestamp(); void __cdecl SetupSkirmishMode(int skirmishTrailMission); @@ -499,11 +499,11 @@ namespace Global { undefined4 __cdecl SetStateToFreetimeWalking(int unitID, int shouldFindNewGoodThing, int param_3); - bool __cdecl FUN_00530d50(int param_1); + bool __cdecl CheckUnitProductionPaused(int param_1); int __cdecl ComputeGoodsProduced(int unitID, int goodsCount, BOOLEnum boost); - BuildingTypeShort* __stdcall FUN_00530e00(); + BuildingTypeShort* __stdcall WarnIfPlayerLacksGranary(); uint __stdcall TryPlayStockpileIsFullNoiseUnk(); diff --git a/src/OpenSHC/IO/ResourceManager.func.hpp b/src/OpenSHC/IO/ResourceManager.func.hpp index 17d403ef..dc7b5795 100644 --- a/src/OpenSHC/IO/ResourceManager.func.hpp +++ b/src/OpenSHC/IO/ResourceManager.func.hpp @@ -39,16 +39,16 @@ namespace IO { doesFileExist; MACRO_FUNCTION_RESOLVER( - void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C450, &ResourceManager::meth_0x46c450) - meth_0x46c450; + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C450, &ResourceManager::setGfxFileFilter) + setGfxFileFilter; MACRO_FUNCTION_RESOLVER( - void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C480, &ResourceManager::meth_0x46c480) - meth_0x46c480; + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C480, &ResourceManager::setHelpFileFilter) + setHelpFileFilter; MACRO_FUNCTION_RESOLVER( - void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C4B0, &ResourceManager::meth_0x46c4b0) - meth_0x46c4b0; + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C4B0, &ResourceManager::setSoundFileFilter) + setSoundFileFilter; MACRO_FUNCTION_RESOLVER(int (ResourceManager::*)(char*), false, Address::SHC_3BB0A8C1_0x0046C4E0, &ResourceManager::getSimpleFirst1024ByteSumOfFile) @@ -74,9 +74,9 @@ namespace IO { &ResourceManager::doesFileOfActiveResourceExist) doesFileOfActiveResourceExist; - MACRO_FUNCTION_RESOLVER( - void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471DF0, &ResourceManager::meth_0x471df0) - meth_0x471df0; + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471DF0, + &ResourceManager::resetOpenFileNameStruct) + resetOpenFileNameStruct; MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(void*, size_t), false, Address::SHC_3BB0A8C1_0x00471E50, &ResourceManager::readCurrentResourceIntoDestination) @@ -94,21 +94,21 @@ namespace IO { Address::SHC_3BB0A8C1_0x00471FC0, &ResourceManager::readNextPartOfCurrentResourceIntoMemory) readNextPartOfCurrentResourceIntoMemory; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472080, &ResourceManager::meth_0x472080) - meth_0x472080; + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472080, + &ResourceManager::showOpenGfxFileDialog) + showOpenGfxFileDialog; MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004720C0, - &ResourceManager::meth_0x4720c0) - meth_0x4720c0; + &ResourceManager::showOpenHelpFileDialog) + showOpenHelpFileDialog; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472100, &ResourceManager::meth_0x472100) - meth_0x472100; + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472100, + &ResourceManager::showSaveHelpFileDialog) + showSaveHelpFileDialog; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472140, &ResourceManager::meth_0x472140) - meth_0x472140; + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472140, + &ResourceManager::showOpenSoundFileDialog) + showOpenSoundFileDialog; MACRO_FUNCTION_RESOLVER(int (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472180, &ResourceManager::fileHashFunctionByteByByte) diff --git a/src/OpenSHC/IO/ResourceManager.hpp b/src/OpenSHC/IO/ResourceManager.hpp index d40a63a9..d63cd74d 100644 --- a/src/OpenSHC/IO/ResourceManager.hpp +++ b/src/OpenSHC/IO/ResourceManager.hpp @@ -76,11 +76,11 @@ namespace IO { BOOLEnum doesFileExist(char* filename); - void meth_0x46c450(); + void setGfxFileFilter(); - void meth_0x46c480(); + void setHelpFileFilter(); - void meth_0x46c4b0(); + void setSoundFileFilter(); int getSimpleFirst1024ByteSumOfFile(char* filename); @@ -94,7 +94,7 @@ namespace IO { BOOLEnum doesFileOfActiveResourceExist(); - void meth_0x471df0(); + void resetOpenFileNameStruct(); BOOLEnum readCurrentResourceIntoDestination(void* destination, size_t size); @@ -104,13 +104,13 @@ namespace IO { BOOLEnum readNextPartOfCurrentResourceIntoMemory(void* destination, int partSize, char* fileExtension); - BOOLEnum meth_0x472080(); + BOOLEnum showOpenGfxFileDialog(); - BOOLEnum meth_0x4720c0(undefined4 param_1); + BOOLEnum showOpenHelpFileDialog(undefined4 param_1); - BOOLEnum meth_0x472100(); + BOOLEnum showSaveHelpFileDialog(); - BOOLEnum meth_0x472140(); + BOOLEnum showOpenSoundFileDialog(); int fileHashFunctionByteByByte(); diff --git a/src/OpenSHC/Input/MouseState.func.hpp b/src/OpenSHC/Input/MouseState.func.hpp index 27920ff0..fbcd3b8f 100644 --- a/src/OpenSHC/Input/MouseState.func.hpp +++ b/src/OpenSHC/Input/MouseState.func.hpp @@ -39,8 +39,8 @@ namespace Input { setCursor; MACRO_FUNCTION_RESOLVER( - void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00468420, &MouseState::meth_0x468420) - meth_0x468420; + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00468420, &MouseState::beginPointSelectionBox) + beginPointSelectionBox; MACRO_FUNCTION_RESOLVER( void (MouseState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004684D0, &MouseState::setupHitBox) @@ -67,12 +67,12 @@ namespace Input { loadAndSetCursor; MACRO_FUNCTION_RESOLVER( - void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00470B30, &MouseState::meth_0x470b30) - meth_0x470b30; + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00470B30, &MouseState::extendSelectionBoxToMouse) + extendSelectionBoxToMouse; MACRO_FUNCTION_RESOLVER( - void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00470BC0, &MouseState::rightClickMenuUnk) - rightClickMenuUnk; + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00470BC0, &MouseState::updateRightDragCameraControl) + updateRightDragCameraControl; MACRO_FUNCTION_RESOLVER( void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00472A90, &MouseState::drawMouseBasedBox) diff --git a/src/OpenSHC/Input/MouseState.hpp b/src/OpenSHC/Input/MouseState.hpp index 4b483289..fe64601c 100644 --- a/src/OpenSHC/Input/MouseState.hpp +++ b/src/OpenSHC/Input/MouseState.hpp @@ -171,7 +171,7 @@ namespace Input { HCURSOR setCursor(DWORD cursorType); - void meth_0x468420(); + void beginPointSelectionBox(); void setupHitBox(int width, int height); @@ -186,9 +186,9 @@ namespace Input { void loadAndSetCursor(int notAniDefaultCursorRef, int notAniDeleteCursorRef, int notAniDeleteNotCursorRef, int unused1, int unused2, int unused3, int unused4, int notAniUnknownCursorRef); - void meth_0x470b30(); + void extendSelectionBoxToMouse(); - void rightClickMenuUnk(); + void updateRightDragCameraControl(); void drawMouseBasedBox(); }; diff --git a/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp b/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp index 5017d90f..3e01d160 100644 --- a/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp +++ b/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp @@ -24,8 +24,8 @@ namespace Map { using OpenSHC::WindowsHelper::Enums::BOOLEnum; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, ResourceType), false, - Address::SHC_3BB0A8C1_0x00409330, &BuildingsState::someArrayIndexingOnBuildingField0x120) - someArrayIndexingOnBuildingField0x120; + Address::SHC_3BB0A8C1_0x00409330, &BuildingsState::getBuildingResourceAmountByUid) + getBuildingResourceAmountByUid; MACRO_FUNCTION_RESOLVER(BuildingType (BuildingsState::*)(CommandBuildingType), false, Address::SHC_3BB0A8C1_0x00409370, &BuildingsState::convertCommandBuildingTypeToBuildingType) @@ -40,8 +40,8 @@ namespace Map { getBuildingHeightForBuildingID; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00409E80, - &BuildingsState::GetBuildingHeightForBuildingID_type2) - GetBuildingHeightForBuildingID_type2; + &BuildingsState::getBuildingHeightForBuildingID2) + getBuildingHeightForBuildingID2; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(CommandBuildingType), false, Address::SHC_3BB0A8C1_0x00409F50, &BuildingsState::getSpriteID) @@ -104,20 +104,20 @@ namespace Map { findNextBuildingForPlayerAndType; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0040AB90, - &BuildingsState::meth_0x40ab90) - meth_0x40ab90; + &BuildingsState::findNextBuildingIDForOwnerAndType) + findNextBuildingIDForOwnerAndType; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x0040AC00, &BuildingsState::meth_0x40ac00) - meth_0x40ac00; + Address::SHC_3BB0A8C1_0x0040AC00, &BuildingsState::findNextBuildingForPlayerAndOneOfThreeTypes) + findNextBuildingForPlayerAndOneOfThreeTypes; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0040AC80, &BuildingsState::canNavigateToDefensiveBuilding) canNavigateToDefensiveBuilding; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x0040ADB0, &BuildingsState::meth_0x40adb0) - meth_0x40adb0; + Address::SHC_3BB0A8C1_0x0040ADB0, &BuildingsState::findNextReachableDefensiveBuildingForPlayer) + findNextReachableDefensiveBuildingForPlayer; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingType), false, Address::SHC_3BB0A8C1_0x0040AEF0, &BuildingsState::pickARandomBuildingOfType) @@ -132,8 +132,8 @@ namespace Map { pickARandomPositiveFearFactorBuilding; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B1A0, - &BuildingsState::closestInnBuildingID) - closestInnBuildingID; + &BuildingsState::findClosestInnBuildingID) + findClosestInnBuildingID; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040B260, &BuildingsState::recomputeAllFearFactors) @@ -156,24 +156,24 @@ namespace Map { prepareCampgroundCoords; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B720, - &BuildingsState::FUN_0040b720) - FUN_0040b720; + &BuildingsState::hasBuildingEntranceFlagForOrientation) + hasBuildingEntranceFlagForOrientation; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B7B0, - &BuildingsState::FUN_0040b7b0) - FUN_0040b7b0; + &BuildingsState::hasBuildingExitFlagForOrientation) + hasBuildingExitFlagForOrientation; MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x0040B840, - &BuildingsState::meth_0x40b840) - meth_0x40b840; + &BuildingsState::isBuildingPathBlockerOrDamageable) + isBuildingPathBlockerOrDamageable; MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(uint), false, Address::SHC_3BB0A8C1_0x0040B900, &BuildingsState::getBuildingHasHealthProperty) getBuildingHasHealthProperty; MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B980, - &BuildingsState::trueIfAnyUnitsOnBuildingAreFromHumanPlayer) - trueIfAnyUnitsOnBuildingAreFromHumanPlayer; + &BuildingsState::hasHumanPlayerUnitsOnBuilding) + hasHumanPlayerUnitsOnBuilding; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0040BA10, &BuildingsState::setupBuildingEntrancesOffset) @@ -188,8 +188,8 @@ namespace Map { buildingHasSpaceForResource; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(BuildingType, int, int), false, - Address::SHC_3BB0A8C1_0x0040BEE0, &BuildingsState::meth_0x40bee0) - meth_0x40bee0; + Address::SHC_3BB0A8C1_0x0040BEE0, &BuildingsState::extendResourceCountdownForPlayerBuildingsOfType) + extendResourceCountdownForPlayerBuildingsOfType; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, ResourceType, int), false, Address::SHC_3BB0A8C1_0x0040BF40, &BuildingsState::canBuildingStoreTheAmount) @@ -208,12 +208,12 @@ namespace Map { getStorageBuildingForResourceTypeAndAmount; MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(uint, undefined4, int, int), false, - Address::SHC_3BB0A8C1_0x0040C060, &BuildingsState::ifArmoryReturnIDIfSpaceLeft) - ifArmoryReturnIDIfSpaceLeft; + Address::SHC_3BB0A8C1_0x0040C060, &BuildingsState::getArmoryIDIfSpaceLeft) + getArmoryIDIfSpaceLeft; - MACRO_FUNCTION_RESOLVER( - int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040C0D0, &BuildingsState::meth_0x40c0d0) - meth_0x40c0d0; + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040C0D0, + &BuildingsState::computeArmoryRemainingCapacity) + computeArmoryRemainingCapacity; MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040C130, &BuildingsState::computeResourceSumForBuilding) @@ -236,8 +236,8 @@ namespace Map { recomputePlayerDataStocksBasedOnStorageBuildings; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(CommandBuildingType, int*, int*), false, - Address::SHC_3BB0A8C1_0x0040C5F0, &BuildingsState::getBuildingCostUnk) - getBuildingCostUnk; + Address::SHC_3BB0A8C1_0x0040C5F0, &BuildingsState::getBuildingCost) + getBuildingCost; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(UnitType, int*), false, Address::SHC_3BB0A8C1_0x0040C800, &BuildingsState::getPriceForDisbandedUnitType) @@ -260,72 +260,72 @@ namespace Map { getFarmThatHasTile; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040CB90, - &BuildingsState::meth_0x40cb90) - meth_0x40cb90; + &BuildingsState::isFarmTileReadyForWheatStageChange) + isFarmTileReadyForWheatStageChange; MACRO_FUNCTION_RESOLVER( void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040CC30, &BuildingsState::growWheat) growWheat; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040CF20, - &BuildingsState::unkWheatRelated1) - unkWheatRelated1; + &BuildingsState::updateWheatFieldTileGraphics) + updateWheatFieldTileGraphics; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040D090, &BuildingsState::harmWheatFarmsOfPlayer) harmWheatFarmsOfPlayer; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040D120, &BuildingsState::meth_0x40d120) - meth_0x40d120; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040D120, + &BuildingsState::setupBarracksCampgroundPositions) + setupBarracksCampgroundPositions; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040D400, &BuildingsState::meth_0x40d400) - meth_0x40d400; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040D400, + &BuildingsState::setupMercenaryPostCampgroundPositions) + setupMercenaryPostCampgroundPositions; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int), false, - Address::SHC_3BB0A8C1_0x0040D6E0, &BuildingsState::getIsAnySpaceAvailableAtUnitRallyPoint) - getIsAnySpaceAvailableAtUnitRallyPoint; + Address::SHC_3BB0A8C1_0x0040D6E0, &BuildingsState::isSpaceAvailableAtUnitRallyPoint) + isSpaceAvailableAtUnitRallyPoint; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int), false, - Address::SHC_3BB0A8C1_0x0040D9C0, &BuildingsState::ifAIUnitReturnKeepLocation) - ifAIUnitReturnKeepLocation; + Address::SHC_3BB0A8C1_0x0040D9C0, &BuildingsState::getKeepLocationForAIUnit) + getKeepLocationForAIUnit; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040DC70, &BuildingsState::createEntityForAssemblyPointsForActiveTabType) createEntityForAssemblyPointsForActiveTabType; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E040, &BuildingsState::meth_0x40e040) - meth_0x40e040; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E040, + &BuildingsState::setupEngineersGuildCampgroundPositions) + setupEngineersGuildCampgroundPositions; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040E120, - &BuildingsState::someLaddermanFunction1) - someLaddermanFunction1; + &BuildingsState::findFreeEngineerAssemblyTile) + findFreeEngineerAssemblyTile; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E330, &BuildingsState::meth_0x40e330) - meth_0x40e330; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E330, + &BuildingsState::setupTunnelersGuildCampgroundPositions) + setupTunnelersGuildCampgroundPositions; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040E410, - &BuildingsState::meth_0x40e410) - meth_0x40e410; + &BuildingsState::findFreeTunnelerAssemblyTile) + findFreeTunnelerAssemblyTile; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040E610, - &BuildingsState::meth_0x40e610) - meth_0x40e610; + &BuildingsState::findFreeCathedralAssemblyTile) + findFreeCathedralAssemblyTile; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E740, &BuildingsState::setTileRefsForOilSmelter) setTileRefsForOilSmelter; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int), false, - Address::SHC_3BB0A8C1_0x0040E900, &BuildingsState::meth_0x40e900) - meth_0x40e900; + Address::SHC_3BB0A8C1_0x0040E900, &BuildingsState::isEngineerNotAtAssignedWorkTile) + isEngineerNotAtAssignedWorkTile; - MACRO_FUNCTION_RESOLVER( - uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E990, &BuildingsState::FUN_0040e990) - FUN_0040e990; + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E990, + &BuildingsState::getActiveEngineerForBuilding) + getActiveEngineerForBuilding; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EA00, &BuildingsState::setNewOnFarmDestination) @@ -335,25 +335,25 @@ namespace Map { void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EBF0, &BuildingsState::growHops) growHops; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EDF0, &BuildingsState::meth_0x40edf0) - meth_0x40edf0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EDF0, + &BuildingsState::updateHopsFieldTileGraphics) + updateHopsFieldTileGraphics; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EF40, &BuildingsState::meth_0x40ef40) - meth_0x40ef40; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EF40, + &BuildingsState::harmHopFarmsOfPlayer) + harmHopFarmsOfPlayer; MACRO_FUNCTION_RESOLVER(ushort* (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EFD0, - &BuildingsState::FUN_0040efd0) - FUN_0040efd0; + &BuildingsState::updateBuildingAreaTileGraphics) + updateBuildingAreaTileGraphics; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F040, &BuildingsState::setDairyFarmCheeseCounter) setDairyFarmCheeseCounter; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F090, &BuildingsState::meth_0x40f090) - meth_0x40f090; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F090, + &BuildingsState::harmAppleFarmTreesOfPlayer) + harmAppleFarmTreesOfPlayer; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040F1E0, &BuildingsState::setSignpostDataForBuildings) @@ -364,40 +364,40 @@ namespace Map { destroySignpostData; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040F360, - &BuildingsState::meth_0x40f360) - meth_0x40f360; + &BuildingsState::updateBuildingSignpostCounter) + updateBuildingSignpostCounter; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F3D0, &BuildingsState::setBuildingToAppleFarm) setBuildingToAppleFarm; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040F3F0, - &BuildingsState::setBuildingValueBasedOnBuildingStateBeing2) - setBuildingValueBasedOnBuildingStateBeing2; + &BuildingsState::clearBuildingValueWhenStateIsTwo) + clearBuildingValueWhenStateIsTwo; - MACRO_FUNCTION_RESOLVER( - int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F420, &BuildingsState::FUN_0040f420) - FUN_0040f420; + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F420, + &BuildingsState::getBuildingFlag3) + getBuildingFlag3; - MACRO_FUNCTION_RESOLVER( - int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F440, &BuildingsState::FUN_0040f440) - FUN_0040f440; + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F440, + &BuildingsState::getBuildingFlag1) + getBuildingFlag1; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040F460, &BuildingsState::determinePeasantSitPosition) determinePeasantSitPosition; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040F4F0, &BuildingsState::meth_0x40f4f0) - meth_0x40f4f0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040F4F0, + &BuildingsState::refreshAllBuildingTileDisplays) + refreshAllBuildingTileDisplays; MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040F540, &BuildingsState::hasWorker) hasWorker; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0040F5C0, - &BuildingsState::meth_0x40f5c0) - meth_0x40f5c0; + &BuildingsState::assignWorkerToBuilding) + assignWorkerToBuilding; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F620, &BuildingsState::updateNeededEmployeeCount) @@ -419,9 +419,9 @@ namespace Map { &BuildingsState::processBuildingIDsNeedPeasantsQueue) processBuildingIDsNeedPeasantsQueue; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040FC40, &BuildingsState::meth_0x40fc40) - meth_0x40fc40; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040FC40, + &BuildingsState::updateLordLadyJesterAndGhostUnits) + updateLordLadyJesterAndGhostUnits; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410200, &BuildingsState::getRequiredEngineerCountForSiegeBuilding) @@ -436,48 +436,48 @@ namespace Map { updateRepairCostAndReturnIfDamaged; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00410440, - &BuildingsState::meth_0x410440) - meth_0x410440; + &BuildingsState::canUnitReachBuildingPerimeter) + canUnitReachBuildingPerimeter; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004105F0, - &BuildingsState::FUN_004105f0) - FUN_004105f0; + &BuildingsState::canUnitReachAdjacentTile) + canUnitReachAdjacentTile; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004106D0, &BuildingsState::processDamageToUnitsOnBuilding) processDamageToUnitsOnBuilding; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00410800, - &BuildingsState::slaveFireRelated1) - slaveFireRelated1; + &BuildingsState::spawnRandomFireEffectOnBuilding) + spawnRandomFireEffectOnBuilding; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410920, - &BuildingsState::fireRelatedBuildingParameter) - fireRelatedBuildingParameter; + &BuildingsState::getBuildingFlammabilityFactor) + getBuildingFlammabilityFactor; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x004109F0, &BuildingsState::meth_0x4109f0) - meth_0x4109f0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x004109F0, + &BuildingsState::extinguishBuildingFire) + extinguishBuildingFire; - MACRO_FUNCTION_RESOLVER( - int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410B10, &BuildingsState::meth_0x410b10) - meth_0x410b10; + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410B10, + &BuildingsState::findClosestReachableAlliedBuilding) + findClosestReachableAlliedBuilding; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410C40, &BuildingsState::playerHasBurningBuilding) playerHasBurningBuilding; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x004173D0, &BuildingsState::meth_0x4173d0) - meth_0x4173d0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x004173D0, + &BuildingsState::validateBuildingTetheredUnits) + validateBuildingTetheredUnits; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00417450, - &BuildingsState::meth_0x417450) - meth_0x417450; + &BuildingsState::removeTetheredUnitFromBuilding) + removeTetheredUnitFromBuilding; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00418EC0, - &BuildingsState::requiredEngineersCount) - requiredEngineersCount; + &BuildingsState::getRequiredEngineersCount) + getRequiredEngineersCount; MACRO_FUNCTION_RESOLVER( void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419780, &BuildingsState::initBuildingCosts) @@ -492,20 +492,20 @@ namespace Map { processDamageFromKillingPit; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419960, - &BuildingsState::unkUpdatePathLinkageTileMap) - unkUpdatePathLinkageTileMap; + &BuildingsState::updatePathLinkageTileMap) + updatePathLinkageTileMap; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419A30, &BuildingsState::meth_0x419a30) - meth_0x419a30; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419A30, + &BuildingsState::initializeGatePathfindingForOwner) + initializeGatePathfindingForOwner; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419AC0, &BuildingsState::FUN_00419ac0) - FUN_00419ac0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419AC0, + &BuildingsState::rebuildTileLogicLayerForGatesAndWalls) + rebuildTileLogicLayerForGatesAndWalls; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419BE0, &BuildingsState::FUN_00419be0) - FUN_00419be0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419BE0, + &BuildingsState::rebuildTileLogicLayerForKeeps) + rebuildTileLogicLayerForKeeps; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419C70, &BuildingsState::updatePathLinkageForGatesKeepsSiegeTowers) @@ -516,12 +516,12 @@ namespace Map { updateEnemyBuildings; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00419EB0, &BuildingsState::AIfindBuildingToAttack) - AIfindBuildingToAttack; + Address::SHC_3BB0A8C1_0x00419EB0, &BuildingsState::aiFindBuildingToAttack) + aiFindBuildingToAttack; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00419FA0, &BuildingsState::FUN_00419fa0) - FUN_00419fa0; + Address::SHC_3BB0A8C1_0x00419FA0, &BuildingsState::findClosestEnemyBuildingWithinRadius) + findClosestEnemyBuildingWithinRadius; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041A7A0, &BuildingsState::destroyBuilding) @@ -543,9 +543,9 @@ namespace Map { Address::SHC_3BB0A8C1_0x0041B2B0, &BuildingsState::determineBuildingEntranceFromCustomArea) determineBuildingEntranceFromCustomArea; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041B7C0, &BuildingsState::meth_0x41b7c0) - meth_0x41b7c0; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041B7C0, + &BuildingsState::computeBuildingEntranceFlagsForOrientations) + computeBuildingEntranceFlagsForOrientations; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(undefined4, int, int, int, int, int, CommandBuildingType), false, Address::SHC_3BB0A8C1_0x0041B890, &BuildingsState::findQuarryPileLocation) @@ -560,8 +560,8 @@ namespace Map { findParticularBuilding; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0041BAB0, - &BuildingsState::getAreaForSurroundingTileUnk) - getAreaForSurroundingTileUnk; + &BuildingsState::findAccessibleAreaNearBuildingLocation) + findAccessibleAreaNearBuildingLocation; MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, ResourceType, int, int, int), false, Address::SHC_3BB0A8C1_0x0041BB30, &BuildingsState::addResourceToStockpile) @@ -592,16 +592,16 @@ namespace Map { processWallBuildingLoss; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0041C240, - &BuildingsState::FUN_0041c240) - FUN_0041c240; + &BuildingsState::applyFoodLossPercentageToPlayer) + applyFoodLossPercentageToPlayer; MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int, ResourceType, int), false, Address::SHC_3BB0A8C1_0x0041C310, &BuildingsState::processResourceGain) processResourceGain; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, BOOLEnum, BOOLEnum), false, - Address::SHC_3BB0A8C1_0x0041C570, &BuildingsState::ApplyGateOrDrawbridgeOpenCloseChange) - ApplyGateOrDrawbridgeOpenCloseChange; + Address::SHC_3BB0A8C1_0x0041C570, &BuildingsState::applyGateOrDrawbridgeOpenCloseChange) + applyGateOrDrawbridgeOpenCloseChange; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041C6F0, &BuildingsState::sortBuildingIDsNeedPeasantsQueue) @@ -612,8 +612,8 @@ namespace Map { lightUpBuilding; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, - Address::SHC_3BB0A8C1_0x00420BF0, &BuildingsState::meth_0x420bf0) - meth_0x420bf0; + Address::SHC_3BB0A8C1_0x00420BF0, &BuildingsState::upgradeBuildingsForMapVersion) + upgradeBuildingsForMapVersion; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, uint, uint, undefined4, BuildingType, uint, int, int), false, Address::SHC_3BB0A8C1_0x00420D20, &BuildingsState::setupBuildingData) @@ -624,16 +624,16 @@ namespace Map { deleteBuilding; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00421990, - &BuildingsState::someBuildingDestroyFunction) - someBuildingDestroyFunction; + &BuildingsState::destroyBuildingAndLinkedDuplicates) + destroyBuildingAndLinkedDuplicates; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00421A40, &BuildingsState::buildingIsAccessible) buildingIsAccessible; MACRO_FUNCTION_RESOLVER(char (BuildingsState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00421BE0, &BuildingsState::meth_0x421be0) - meth_0x421be0; + Address::SHC_3BB0A8C1_0x00421BE0, &BuildingsState::resolveBuildingEntryAccessibility) + resolveBuildingEntryAccessibility; MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00421D70, &BuildingsState::giveBackResourceForDestroyedBuilding) @@ -652,32 +652,32 @@ namespace Map { findQuarryPileThatIsCloseAndHasMostStone; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x004224F0, - &BuildingsState::UpdateGateDrawBridgeOpenCloseLogic) - UpdateGateDrawBridgeOpenCloseLogic; + &BuildingsState::updateGateDrawBridgeOpenCloseLogic) + updateGateDrawBridgeOpenCloseLogic; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00422B80, &BuildingsState::checkBuildingsNeedPeasants) checkBuildingsNeedPeasants; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00422C60, - &BuildingsState::randomFireSpreadToBuildingsUnk) - randomFireSpreadToBuildingsUnk; + &BuildingsState::spreadFireRandomlyToBuildings) + spreadFireRandomlyToBuildings; MACRO_FUNCTION_RESOLVER( void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00422E20, &BuildingsState::updateBuildings) updateBuildings; - MACRO_FUNCTION_RESOLVER( - void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00424220, &BuildingsState::meth_0x424220) - meth_0x424220; + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00424220, + &BuildingsState::recomputeAccessibilityForAllBuildings) + recomputeAccessibilityForAllBuildings; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00424270, &BuildingsState::updateHeatmapBasedOnBuildingAccessibility) updateHeatmapBasedOnBuildingAccessibility; MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, - Address::SHC_3BB0A8C1_0x00424310, &BuildingsState::FUN_00424310) - FUN_00424310; + Address::SHC_3BB0A8C1_0x00424310, &BuildingsState::applyVersionUpgradeAccessibilityRecompute) + applyVersionUpgradeAccessibilityRecompute; } // namespace BuildingsState_Func } // namespace Buildings diff --git a/src/OpenSHC/Map/Buildings/BuildingsState.hpp b/src/OpenSHC/Map/Buildings/BuildingsState.hpp index b788047c..f8a6703f 100644 --- a/src/OpenSHC/Map/Buildings/BuildingsState.hpp +++ b/src/OpenSHC/Map/Buildings/BuildingsState.hpp @@ -86,9 +86,9 @@ namespace Map { ~BuildingsState() {}; // Constructor - BuildingsState* Constructor_BuildingsState(); + BuildingsState* constructBuildingsState(); - undefined4 someArrayIndexingOnBuildingField0x120(int buildingID, int param_2, ResourceType param_3); + undefined4 getBuildingResourceAmountByUid(int buildingID, int param_2, ResourceType param_3); BuildingType convertCommandBuildingTypeToBuildingType(CommandBuildingType commandBuildingType); @@ -96,7 +96,7 @@ namespace Map { undefined4 getBuildingHeightForBuildingID(int buildingID); - undefined4 GetBuildingHeightForBuildingID_type2(int buildingID); + undefined4 getBuildingHeightForBuildingID2(int buildingID); int getSpriteID(CommandBuildingType commandBuildingType); @@ -128,14 +128,15 @@ namespace Map { int findNextBuildingForPlayerAndType(PlayerID playerID, BuildingType buildingType, int buildingID); - int meth_0x40ab90(int param_1, int param_2, int param_3); + int findNextBuildingIDForOwnerAndType(int param_1, int param_2, int param_3); - int meth_0x40ac00(int param_1, int param_2, int param_3, int param_4, int param_5); + int findNextBuildingForPlayerAndOneOfThreeTypes( + int param_1, int param_2, int param_3, int param_4, int param_5); int canNavigateToDefensiveBuilding( int playerID, int buildingXPosition, int buildingYPosition, int buildingID); - int meth_0x40adb0(int param_1, int param_2, int param_3, int param_4); + int findNextReachableDefensiveBuildingForPlayer(int param_1, int param_2, int param_3, int param_4); int pickARandomBuildingOfType(int playerID, BuildingType buildingType); @@ -144,7 +145,7 @@ namespace Map { int pickARandomPositiveFearFactorBuilding(int playerID); - int closestInnBuildingID(int unitID); + int findClosestInnBuildingID(int unitID); void recomputeAllFearFactors(); @@ -156,15 +157,15 @@ namespace Map { undefined4 prepareCampgroundCoords(int playerID); - undefined4 FUN_0040b720(int buildingID); + undefined4 hasBuildingEntranceFlagForOrientation(int buildingID); - undefined4 FUN_0040b7b0(int buildingID); + undefined4 hasBuildingExitFlagForOrientation(int buildingID); - uint meth_0x40b840(uint param_1, int param_2); + uint isBuildingPathBlockerOrDamageable(uint param_1, int param_2); BOOLEnum getBuildingHasHealthProperty(uint buildingID); - BOOLEnum trueIfAnyUnitsOnBuildingAreFromHumanPlayer(int buildingID); + BOOLEnum hasHumanPlayerUnitsOnBuilding(int buildingID); void setupBuildingEntrancesOffset(int buildingSize, int nudge, int try_, int offset); @@ -172,7 +173,8 @@ namespace Map { BOOLEnum buildingHasSpaceForResource(int buildingID, ResourceType resourceType); - void meth_0x40bee0(BuildingType buildingType, int someCountdown, int playerID); + void extendResourceCountdownForPlayerBuildingsOfType( + BuildingType buildingType, int someCountdown, int playerID); int canBuildingStoreTheAmount(int buildingID, ResourceType resourceType, int storageLimit); @@ -182,9 +184,9 @@ namespace Map { int getStorageBuildingForResourceTypeAndAmount(ResourceType resourceType, int amount, int owner); - uint ifArmoryReturnIDIfSpaceLeft(uint buildingID, undefined4 resourceID, int playerID, int resourceCount); + uint getArmoryIDIfSpaceLeft(uint buildingID, undefined4 resourceID, int playerID, int resourceCount); - int meth_0x40c0d0(int buildingID); + int computeArmoryRemainingCapacity(int buildingID); uint computeResourceSumForBuilding(int buildingID); @@ -196,7 +198,7 @@ namespace Map { void recomputePlayerDataStocksBasedOnStorageBuildings(); - void getBuildingCostUnk(CommandBuildingType commandBuildingType, int* pStone, int* pGold); + void getBuildingCost(CommandBuildingType commandBuildingType, int* pStone, int* pGold); void getPriceForDisbandedUnitType(UnitType unitType, int* outPrice); @@ -209,75 +211,75 @@ namespace Map { int getFarmThatHasTile(int tile); - undefined4 meth_0x40cb90(int param_1); + undefined4 isFarmTileReadyForWheatStageChange(int param_1); void growWheat(int buildingID); - void unkWheatRelated1(int buildingID); + void updateWheatFieldTileGraphics(int buildingID); void harmWheatFarmsOfPlayer(int playerID); - void meth_0x40d120(int buildingID); + void setupBarracksCampgroundPositions(int buildingID); - void meth_0x40d400(int playerID); + void setupMercenaryPostCampgroundPositions(int playerID); - undefined4 getIsAnySpaceAvailableAtUnitRallyPoint(int playerID, int value0to6, int unitID); + undefined4 isSpaceAvailableAtUnitRallyPoint(int playerID, int value0to6, int unitID); - undefined4 ifAIUnitReturnKeepLocation(int playerID, int param_2, int unitID); + undefined4 getKeepLocationForAIUnit(int playerID, int param_2, int unitID); void createEntityForAssemblyPointsForActiveTabType(); - void meth_0x40e040(int param_1); + void setupEngineersGuildCampgroundPositions(int param_1); - int someLaddermanFunction1(int playerIndex, int param_2); + int findFreeEngineerAssemblyTile(int playerIndex, int param_2); - void meth_0x40e330(int param_1); + void setupTunnelersGuildCampgroundPositions(int param_1); - undefined4 meth_0x40e410(int param_1, int param_2); + undefined4 findFreeTunnelerAssemblyTile(int param_1, int param_2); - undefined4 meth_0x40e610(int param_1, int param_2); + undefined4 findFreeCathedralAssemblyTile(int param_1, int param_2); void setTileRefsForOilSmelter(int buildingID); - undefined4 meth_0x40e900(int param_1, int param_2, int param_3); + undefined4 isEngineerNotAtAssignedWorkTile(int param_1, int param_2, int param_3); - uint FUN_0040e990(int buildingID); + uint getActiveEngineerForBuilding(int buildingID); undefined4 setNewOnFarmDestination(int buildingID); void growHops(int buildingID); - void meth_0x40edf0(int buildingID); + void updateHopsFieldTileGraphics(int buildingID); - void meth_0x40ef40(int param_1); + void harmHopFarmsOfPlayer(int param_1); - ushort* FUN_0040efd0(int param_1); + ushort* updateBuildingAreaTileGraphics(int param_1); void setDairyFarmCheeseCounter(int param_1); - void meth_0x40f090(int param_1); + void harmAppleFarmTreesOfPlayer(int param_1); void setSignpostDataForBuildings(); void destroySignpostData(int buildingID); - int meth_0x40f360(int param_1, int param_2); + int updateBuildingSignpostCounter(int param_1, int param_2); void setBuildingToAppleFarm(int buildingID); - void setBuildingValueBasedOnBuildingStateBeing2(); + void clearBuildingValueWhenStateIsTwo(); - int FUN_0040f420(int param_1); + int getBuildingFlag3(int param_1); - int FUN_0040f440(int param_1); + int getBuildingFlag1(int param_1); undefined4 determinePeasantSitPosition(int campfireID, int availablePeasants); - void meth_0x40f4f0(); + void refreshAllBuildingTileDisplays(); BOOLEnum hasWorker(int buildingID, int workerSlot); - void meth_0x40f5c0(int buildingID, int unitID, int workerIndex); + void assignWorkerToBuilding(int buildingID, int unitID, int workerIndex); void updateNeededEmployeeCount(int buildingID); @@ -289,7 +291,7 @@ namespace Map { void processBuildingIDsNeedPeasantsQueue(undefined4 playerID); - void meth_0x40fc40(int playerID); + void updateLordLadyJesterAndGhostUnits(int playerID); undefined4 getRequiredEngineerCountForSiegeBuilding(int buildingID); @@ -297,27 +299,27 @@ namespace Map { BOOLEnum updateRepairCostAndReturnIfDamaged(int buildingIndex); - undefined4 meth_0x410440(int param_1, int param_2); + undefined4 canUnitReachBuildingPerimeter(int param_1, int param_2); - undefined4 FUN_004105f0(int param_1, int param_2); + undefined4 canUnitReachAdjacentTile(int param_1, int param_2); void processDamageToUnitsOnBuilding(int buildingID, int damageBonus); - void slaveFireRelated1(int buildingID, undefined4 playerID); + void spawnRandomFireEffectOnBuilding(int buildingID, undefined4 playerID); - undefined4 fireRelatedBuildingParameter(int buildingID); + undefined4 getBuildingFlammabilityFactor(int buildingID); - void meth_0x4109f0(int buildingID); + void extinguishBuildingFire(int buildingID); - int meth_0x410b10(int param_1); + int findClosestReachableAlliedBuilding(int param_1); undefined4 playerHasBurningBuilding(int playerID); - void meth_0x4173d0(int buildingID); + void validateBuildingTetheredUnits(int buildingID); - void meth_0x417450(int buildingID, int unitID); + void removeTetheredUnitFromBuilding(int buildingID, int unitID); - int requiredEngineersCount(int buildingID); + int getRequiredEngineersCount(int buildingID); void initBuildingCosts(); @@ -325,21 +327,21 @@ namespace Map { void processDamageFromKillingPit(int unitID); - void unkUpdatePathLinkageTileMap(int param_1); + void updatePathLinkageTileMap(int param_1); - void meth_0x419a30(int param_1); + void initializeGatePathfindingForOwner(int param_1); - void FUN_00419ac0(); + void rebuildTileLogicLayerForGatesAndWalls(); - void FUN_00419be0(); + void rebuildTileLogicLayerForKeeps(); void updatePathLinkageForGatesKeepsSiegeTowers(); void updateEnemyBuildings(int playerID); - int AIfindBuildingToAttack(int param_1, int param_2, int param_3, int param_4); + int aiFindBuildingToAttack(int param_1, int param_2, int param_3, int param_4); - int FUN_00419fa0(int param_1, int param_2, int param_3, int param_4); + int findClosestEnemyBuildingWithinRadius(int param_1, int param_2, int param_3, int param_4); void destroyBuilding(int buildingID); @@ -351,7 +353,7 @@ namespace Map { undefined4 determineBuildingEntranceFromCustomArea(int buildingID, int param_2, int param_3, int x, int y); - void meth_0x41b7c0(int param_1); + void computeBuildingEntranceFlagsForOrientations(int param_1); void findQuarryPileLocation(undefined4 playerID, int x, int y, int buildingSize, int pileSize, int tryUnk, CommandBuildingType commandBuildingType); @@ -361,7 +363,7 @@ namespace Map { int findParticularBuilding( undefined4 param_1, int x, int y, int buildingSize, BuildingType buildingType, int buildingID); - int getAreaForSurroundingTileUnk(int x, int y, int buildingSize); + int findAccessibleAreaNearBuildingLocation(int x, int y, int buildingSize); undefined4 addResourceToStockpile(int buildingID, int buildingUID, ResourceType resourceType, int amount, int maxCapacity, int recomputeResources); @@ -378,28 +380,29 @@ namespace Map { void processWallBuildingLoss(int playerID, int highCount, int lowCount, int zero); - void FUN_0041c240(int param_1, int param_2); + void applyFoodLossPercentageToPlayer(int param_1, int param_2); BOOLEnum processResourceGain(int playerID, ResourceType resourceType, int amount); - void ApplyGateOrDrawbridgeOpenCloseChange(int buildingID, BOOLEnum param_2, BOOLEnum param_3); + void applyGateOrDrawbridgeOpenCloseChange(int buildingID, BOOLEnum param_2, BOOLEnum param_3); void sortBuildingIDsNeedPeasantsQueue(int playerID); undefined4 lightUpBuilding(int buildingID, int burnerPlayerID, int spareGrounds); - void meth_0x420bf0(PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); + void upgradeBuildingsForMapVersion( + PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); int setupBuildingData(int playerID, uint x, uint y, undefined4 averageHeight, BuildingType buildingType, uint width, int playerID_dup, int variationIndex); void deleteBuilding(uint buildingID); - void someBuildingDestroyFunction(uint param_1); + void destroyBuildingAndLinkedDuplicates(uint param_1); int buildingIsAccessible(int buildingID, int amountUnk); - char meth_0x421be0(int buildingID, int param_2, int x, int y); + char resolveBuildingEntryAccessibility(int buildingID, int param_2, int x, int y); int giveBackResourceForDestroyedBuilding(int buildingID__negResourceType, int playerID, int param_3); @@ -410,19 +413,20 @@ namespace Map { int findQuarryPileThatIsCloseAndHasMostStone(int playerID, int x, int y, int unitID); - void UpdateGateDrawBridgeOpenCloseLogic(); + void updateGateDrawBridgeOpenCloseLogic(); void checkBuildingsNeedPeasants(int playerID); - void randomFireSpreadToBuildingsUnk(int param_1, int param_2); + void spreadFireRandomlyToBuildings(int param_1, int param_2); void updateBuildings(); - void meth_0x424220(); + void recomputeAccessibilityForAllBuildings(); void updateHeatmapBasedOnBuildingAccessibility(int playerID); - void FUN_00424310(PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); + void applyVersionUpgradeAccessibilityRecompute( + PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); }; static_assert_cpp98_obj(sizeof(BuildingsState) == 1630344, BuildingsState); diff --git a/src/OpenSHC/Map/Entities/EntityState.func.hpp b/src/OpenSHC/Map/Entities/EntityState.func.hpp index fc1bbedf..ddfed0a4 100644 --- a/src/OpenSHC/Map/Entities/EntityState.func.hpp +++ b/src/OpenSHC/Map/Entities/EntityState.func.hpp @@ -20,8 +20,8 @@ namespace Map { clearEntityArrayAndSec1077; MACRO_FUNCTION_RESOLVER(BOOLEnum (EntityState::*)(int, EntityType), false, Address::SHC_3BB0A8C1_0x00401150, - &EntityState::meth_0x401150) - meth_0x401150; + &EntityState::playerHasEntityOfType) + playerHasEntityOfType; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, EntityType), false, Address::SHC_3BB0A8C1_0x004011D0, &EntityState::setProjectileEntityValues2) @@ -36,12 +36,12 @@ namespace Map { drawEntityEffect; MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401400, &EntityState::meth_0x401400) - meth_0x401400; + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401400, &EntityState::markEntityDestroyed) + markEntityDestroyed; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401430, &EntityState::meth_0x401430) - meth_0x401430; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401430, + &EntityState::tickEntityDecayCounter) + tickEntityDecayCounter; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(uint), false, Address::SHC_3BB0A8C1_0x00401460, &EntityState::doSomethingWithOtherEntitiesOnTile) @@ -60,24 +60,24 @@ namespace Map { processFireDamageToUnitsAtTile; MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x00401620, &EntityState::meth_0x401620) - meth_0x401620; + void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x00401620, &EntityState::recountActiveFires) + recountActiveFires; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x00401690, &EntityState::meth_0x401690) - meth_0x401690; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x00401690, + &EntityState::flagUnitsWithActiveEntity) + flagUnitsWithActiveEntity; MACRO_FUNCTION_RESOLVER(int (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004016E0, &EntityState::somethingWithSeparateAreas1) somethingWithSeparateAreas1; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401880, &EntityState::meth_0x401880) - meth_0x401880; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401880, + &EntityState::refreshPoisonCloudNearUnit) + refreshPoisonCloudNearUnit; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401910, &EntityState::meth_0x401910) - meth_0x401910; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401910, + &EntityState::assignPoisonCloudTargetEntity) + assignPoisonCloudTargetEntity; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004019D0, &EntityState::destroyEntitiesOnTile) @@ -88,8 +88,8 @@ namespace Map { isBrazierNearby; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00401AE0, - &EntityState::meth_0x401ae0) - meth_0x401ae0; + &EntityState::reassignEntitiesOwner) + reassignEntitiesOwner; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00401B20, &EntityState::swapEntityOwnership) @@ -99,13 +99,13 @@ namespace Map { void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401B60, &EntityState::destroyEntitiesPart2) destroyEntitiesPart2; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00402AE0, &EntityState::meth_0x402ae0) - meth_0x402ae0; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00402AE0, + &EntityState::updateEntityMicroMovement) + updateEntityMicroMovement; - MACRO_FUNCTION_RESOLVER( - undefined4 (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00402BD0, &EntityState::FUN_00402bd0) - FUN_00402bd0; + MACRO_FUNCTION_RESOLVER(undefined4 (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00402BD0, + &EntityState::angleToRotationFrameIndex) + angleToRotationFrameIndex; MACRO_FUNCTION_RESOLVER(int (EntityState::*)(int, double, int, int), false, Address::SHC_3BB0A8C1_0x00402C50, &EntityState::math_atan_1) @@ -116,24 +116,24 @@ namespace Map { computeVelocity; MACRO_FUNCTION_RESOLVER(uint (EntityState::*)(int, int, int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00402E20, &EntityState::meth_0x402e20) - meth_0x402e20; + Address::SHC_3BB0A8C1_0x00402E20, &EntityState::computeLineOfSightDistance) + computeLineOfSightDistance; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004036F0, &EntityState::meth_0x4036f0) - meth_0x4036f0; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004036F0, + &EntityState::calculateEntityDrawOffset) + calculateEntityDrawOffset; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00403790, &EntityState::meth_0x403790) - meth_0x403790; + Address::SHC_3BB0A8C1_0x00403790, &EntityState::initializeSeagullMovementVector) + initializeSeagullMovementVector; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00403900, &EntityState::FUN_00403900) - FUN_00403900; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00403900, + &EntityState::removeEntityFromTileLinkedList) + removeEntityFromTileLinkedList; - MACRO_FUNCTION_RESOLVER( - int (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004039B0, &EntityState::meth_0x4039b0) - meth_0x4039b0; + MACRO_FUNCTION_RESOLVER(int (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004039B0, + &EntityState::activateProjectileEntity) + activateProjectileEntity; MACRO_FUNCTION_RESOLVER( void (EntityState::*)(uint), false, Address::SHC_3BB0A8C1_0x004039F0, &EntityState::deleteEntity) @@ -143,9 +143,9 @@ namespace Map { Address::SHC_3BB0A8C1_0x00403A20, &EntityState::initializeProjectileVelocities) initializeProjectileVelocities; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00403FF0, &EntityState::meth_0x403ff0) - meth_0x403ff0; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00403FF0, + &EntityState::handleProjectileWallBounce) + handleProjectileWallBounce; MACRO_FUNCTION_RESOLVER(int (EntityState::*)(int, int, int, int, int, int), false, Address::SHC_3BB0A8C1_0x00404A10, &EntityState::arrowShootingRelated) @@ -157,12 +157,12 @@ namespace Map { spawnProjectileEntity; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int, int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00405CF0, &EntityState::meth_0x405cf0) - meth_0x405cf0; + Address::SHC_3BB0A8C1_0x00405CF0, &EntityState::setProjectileTargetPosition) + setProjectileTargetPosition; - MACRO_FUNCTION_RESOLVER( - void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00405DA0, &EntityState::meth_0x405da0) - meth_0x405da0; + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00405DA0, + &EntityState::spawnProjectileImpactDebris) + spawnProjectileImpactDebris; MACRO_FUNCTION_RESOLVER( int (EntityState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00406650, &EntityState::createSeagull) @@ -177,8 +177,8 @@ namespace Map { processEntityHitBuildingOrUnit; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(uint, undefined4, int, int), false, - Address::SHC_3BB0A8C1_0x004081E0, &EntityState::meth_0x4081e0) - meth_0x4081e0; + Address::SHC_3BB0A8C1_0x004081E0, &EntityState::updateProjectileHeightAndCollision) + updateProjectileHeightAndCollision; MACRO_FUNCTION_RESOLVER(uint (EntityState::*)(undefined4, undefined4, undefined4, undefined4, int), false, Address::SHC_3BB0A8C1_0x004082A0, &EntityState::spawnEntityEffect2) @@ -193,8 +193,8 @@ namespace Map { moveProjectileEntity; MACRO_FUNCTION_RESOLVER(void (EntityState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, - Address::SHC_3BB0A8C1_0x00408770, &EntityState::FUN_00408770) - FUN_00408770; + Address::SHC_3BB0A8C1_0x00408770, &EntityState::handleMapVersionUpgrade) + handleMapVersionUpgrade; MACRO_FUNCTION_RESOLVER( void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x004087C0, &EntityState::updateEntities) diff --git a/src/OpenSHC/Map/Entities/EntityState.hpp b/src/OpenSHC/Map/Entities/EntityState.hpp index a26a9f70..663451c3 100644 --- a/src/OpenSHC/Map/Entities/EntityState.hpp +++ b/src/OpenSHC/Map/Entities/EntityState.hpp @@ -14,6 +14,8 @@ #include "OpenSHC/Map/Entities/ExtraEntityInfo.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + namespace OpenSHC { namespace Map { namespace Entities { @@ -29,14 +31,14 @@ namespace Map { // SIZE: 0x000AC5E8 class EntityState { public: - undefined4 DAT_TotalEntityCount; // 0x00000000 length: 4 + undefined4 totalEntityCount; // 0x00000000 length: 4 undefined4 maxEntityCount; // 0x00000004 length: 4 undefined4 every10Ticks; // 0x00000008 length: 4 - undefined4 field3_0xc; // 0x0000000C length: 4 - undefined4 DAT_FireCount; // 0x00000010 length: 4 + int lineOfSightClearanceSteps; // 0x0000000C length: 4 + undefined4 fireCount; // 0x00000010 length: 4 Entity entityArray[3000]; // 0x00000014 length: 696000 ExtraEntityInfo seagullArray[100]; // 0x000A9ED4 length: 10000 - undefined4 field7_0xac5e4; // 0x000AC5E4 length: 4 + DWORD classConstructionTime; // 0x000AC5E4 length: 4 private: EntityState(EntityState const&); @@ -51,7 +53,7 @@ namespace Map { void clearEntityArrayAndSec1077(); - BOOLEnum meth_0x401150(int playerID, EntityType entityType); + BOOLEnum playerHasEntityOfType(int playerID, EntityType entityType); void setProjectileEntityValues2(int entityID, EntityType entityType); @@ -59,9 +61,9 @@ namespace Map { void drawEntityEffect(int entityID, undefined4 entityType, int graphicType1, int graphicType2); - void meth_0x401400(int param_1); + void markEntityDestroyed(int param_1); - void meth_0x401430(int param_1); + void tickEntityDecayCounter(int param_1); void doSomethingWithOtherEntitiesOnTile(uint entityID); @@ -71,50 +73,51 @@ namespace Map { void processFireDamageToUnitsAtTile(int tile, int playerID, int fireLowIntensity); - void meth_0x401620(); + void recountActiveFires(); - void meth_0x401690(); + void flagUnitsWithActiveEntity(); int somethingWithSeparateAreas1(int unitID); - void meth_0x401880(int param_1); + void refreshPoisonCloudNearUnit(int param_1); - void meth_0x401910(int param_1); + void assignPoisonCloudTargetEntity(int param_1); void destroyEntitiesOnTile(int tile); undefined4 isBrazierNearby(int unitX, int unitY, int unitZ); - void meth_0x401ae0(int param_1, undefined4 param_2); + void reassignEntitiesOwner(int param_1, undefined4 param_2); void swapEntityOwnership(int param_1, int param_2); void destroyEntitiesPart2(int param_1); - void meth_0x402ae0(int param_1); + void updateEntityMicroMovement(int param_1); - undefined4 FUN_00402bd0(int param_1); + undefined4 angleToRotationFrameIndex(int param_1); int math_atan_1(int entityType, double param_3, int param_4, int heightDifference); int computeVelocity(undefined4 param_2, double param_3, int param_4, int param_5); - uint meth_0x402e20(int x, int y, int height, int targetX, int targetY, int targetHeight, int param_7); + uint computeLineOfSightDistance( + int x, int y, int height, int targetX, int targetY, int targetHeight, int param_7); - void meth_0x4036f0(int entityID); + void calculateEntityDrawOffset(int entityID); - void meth_0x403790(int ID_1077, int param_2, int param_3, int param_4, int param_5); + void initializeSeagullMovementVector(int ID_1077, int param_2, int param_3, int param_4, int param_5); - void FUN_00403900(int param_1); + void removeEntityFromTileLinkedList(int param_1); - int meth_0x4039b0(int entityID); + int activateProjectileEntity(int entityID); void deleteEntity(uint entityID); void initializeProjectileVelocities( int entityID, int x, int y, int height, int targetX, int targetY, int targetZ); - void meth_0x403ff0(int param_1); + void handleProjectileWallBounce(int param_1); int arrowShootingRelated( int microX, int microY, int height, int destMicroX, int destMicroY, int destHeight); @@ -122,9 +125,10 @@ namespace Map { uint spawnProjectileEntity(int unitID, undefined4 playerID1, uint ownerColorUnk, int microX, int microY, int totalHeight, int targetX, int targetY, int targetZUnk, EntityType entityType, int param_11); - void meth_0x405cf0(int entityID, int x, int y, int height, int targetX, int targetY, int targetZ); + void setProjectileTargetPosition( + int entityID, int x, int y, int height, int targetX, int targetY, int targetZ); - void meth_0x405da0(int param_1); + void spawnProjectileImpactDebris(int param_1); int createSeagull(int x, int y); @@ -132,7 +136,7 @@ namespace Map { undefined4 processEntityHitBuildingOrUnit(int entityID); - void meth_0x4081e0(uint entityID, undefined4 param_2, int param_3, int param_4); + void updateProjectileHeightAndCollision(uint entityID, undefined4 param_2, int param_3, int param_4); uint spawnEntityEffect2( undefined4 microX, undefined4 microY, undefined4 height, undefined4 entityType, int gmLookupValue); @@ -142,7 +146,8 @@ namespace Map { BOOLEnum moveProjectileEntity(int entityID); - void FUN_00408770(PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); + void handleMapVersionUpgrade( + PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); void updateEntities(); }; diff --git a/src/OpenSHC/Map/LandscapeState.func.hpp b/src/OpenSHC/Map/LandscapeState.func.hpp index 46e2417a..ca2b66a7 100644 --- a/src/OpenSHC/Map/LandscapeState.func.hpp +++ b/src/OpenSHC/Map/LandscapeState.func.hpp @@ -15,8 +15,8 @@ namespace Map { using OpenSHC::WindowsHelper::Enums::BOOLEnum; MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004F1A60, - &LandscapeState::mapUITreeTypeToLogicalTreeTypeUnk) - mapUITreeTypeToLogicalTreeTypeUnk; + &LandscapeState::mapUITreeTypeToLogicalTreeType) + mapUITreeTypeToLogicalTreeType; MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x004F1BE0, &LandscapeState::getValueFrom0UpTo3ForTreeTypeAndTreeSeason) @@ -36,8 +36,8 @@ namespace Map { setTreeStageRelatedValues; MACRO_FUNCTION_RESOLVER( - void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2070, &LandscapeState::removeTreeUnk) - removeTreeUnk; + void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2070, &LandscapeState::removeTree) + removeTree; MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F20E0, &LandscapeState::setCurrentTimeOnSomeTrees) @@ -48,20 +48,20 @@ namespace Map { createRock; MACRO_FUNCTION_RESOLVER( - void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2220, &LandscapeState::meth_0x4f2220) - meth_0x4f2220; + void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2220, &LandscapeState::removeRock) + removeRock; MACRO_FUNCTION_RESOLVER(BOOLEnum (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F2280, &LandscapeState::lightUpTree) lightUpTree; - MACRO_FUNCTION_RESOLVER( - int (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2A10, &LandscapeState::FUN_004f2a10) - FUN_004f2a10; + MACRO_FUNCTION_RESOLVER(int (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2A10, + &LandscapeState::getRandomRockImageOffset) + getRandomRockImageOffset; - MACRO_FUNCTION_RESOLVER( - undefined4 (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2C20, &LandscapeState::FUN_004f2c20) - FUN_004f2c20; + MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2C20, + &LandscapeState::getTreeGrowthTargetStage) + getTreeGrowthTargetStage; MACRO_FUNCTION_RESOLVER( void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F2CC0, &LandscapeState::setTreeSpreadInterval) @@ -75,29 +75,29 @@ namespace Map { Address::SHC_3BB0A8C1_0x004F2E00, &LandscapeState::setupBabyTreeLocation) setupBabyTreeLocation; - MACRO_FUNCTION_RESOLVER( - uint (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F2FB0, &LandscapeState::meth_0x4f2fb0) - meth_0x4f2fb0; + MACRO_FUNCTION_RESOLVER(uint (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F2FB0, + &LandscapeState::isTreeAliveAndMatchingUID) + isTreeAliveAndMatchingUID; MACRO_FUNCTION_RESOLVER(BOOLEnum (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F2FE0, &LandscapeState::isTreeMatchingUIDAndOfCertainState) isTreeMatchingUIDAndOfCertainState; MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(int, undefined4, int), false, - Address::SHC_3BB0A8C1_0x004F3010, &LandscapeState::meth_0x4f3010) - meth_0x4f3010; + Address::SHC_3BB0A8C1_0x004F3010, &LandscapeState::damageTreeAndTriggerDeathIfDepleted) + damageTreeAndTriggerDeathIfDepleted; - MACRO_FUNCTION_RESOLVER( - void (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F3080, &LandscapeState::meth_0x4f3080) - meth_0x4f3080; + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F3080, + &LandscapeState::advanceTreeDecayState) + advanceTreeDecayState; - MACRO_FUNCTION_RESOLVER( - void (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F30D0, &LandscapeState::meth_0x4f30d0) - meth_0x4f30d0; + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F30D0, + &LandscapeState::markNearbyTreesAsCrowTargets) + markNearbyTreesAsCrowTargets; - MACRO_FUNCTION_RESOLVER( - void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F3150, &LandscapeState::spawnACrowUnk) - spawnACrowUnk; + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F3150, + &LandscapeState::spawnCrowFromNearbyTree) + spawnCrowFromNearbyTree; MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(int, undefined4, undefined4), false, Address::SHC_3BB0A8C1_0x004F3560, &LandscapeState::placeAppleTree) @@ -124,8 +124,8 @@ namespace Map { findTree; MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, - Address::SHC_3BB0A8C1_0x004F3D30, &LandscapeState::FUN_004f3d30) - FUN_004f3d30; + Address::SHC_3BB0A8C1_0x004F3D30, &LandscapeState::upgradeTreesAndRocksForMapVersion) + upgradeTreesAndRocksForMapVersion; MACRO_FUNCTION_RESOLVER( void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F3D60, &LandscapeState::updateTrees) diff --git a/src/OpenSHC/Map/LandscapeState.hpp b/src/OpenSHC/Map/LandscapeState.hpp index 99da28fc..d0524f23 100644 --- a/src/OpenSHC/Map/LandscapeState.hpp +++ b/src/OpenSHC/Map/LandscapeState.hpp @@ -54,9 +54,9 @@ namespace Map { ~LandscapeState() {}; // Constructor - LandscapeState* Constructor_LandscapeState(); + LandscapeState* constructLandscapeState(); - undefined4 mapUITreeTypeToLogicalTreeTypeUnk(undefined4 param_1); + undefined4 mapUITreeTypeToLogicalTreeType(undefined4 param_1); undefined4 getValueFrom0UpTo3ForTreeTypeAndTreeSeason(undefined4 treeType, int treeStage); @@ -67,19 +67,19 @@ namespace Map { void setTreeStageRelatedValues(int treeID, int stage); - void removeTreeUnk(int treeID); + void removeTree(int treeID); void setCurrentTimeOnSomeTrees(); int createRock(undefined4 x, undefined4 y, int rockType, undefined4 size, undefined4 orientation); - void meth_0x4f2220(int param_1); + void removeRock(int param_1); BOOLEnum lightUpTree(int tile, int playerID); - int FUN_004f2a10(int param_1); + int getRandomRockImageOffset(int param_1); - undefined4 FUN_004f2c20(int param_1); + undefined4 getTreeGrowthTargetStage(int param_1); void setTreeSpreadInterval(); @@ -87,17 +87,17 @@ namespace Map { undefined4 setupBabyTreeLocation(uint treeID, int treeType, uint x, uint y); - uint meth_0x4f2fb0(int treeID, int param_2); + uint isTreeAliveAndMatchingUID(int treeID, int param_2); BOOLEnum isTreeMatchingUIDAndOfCertainState(int treeID, int treeUID); - undefined4 meth_0x4f3010(int treeID, undefined4 param_2, int param_3); + undefined4 damageTreeAndTriggerDeathIfDepleted(int treeID, undefined4 param_2, int param_3); - void meth_0x4f3080(int treeID, int param_2); + void advanceTreeDecayState(int treeID, int param_2); - void meth_0x4f30d0(int x, int y); + void markNearbyTreesAsCrowTargets(int x, int y); - void spawnACrowUnk(int unitID); + void spawnCrowFromNearbyTree(int unitID); void placeAppleTree(int buildingID, undefined4 treeX, undefined4 treeY); @@ -111,7 +111,8 @@ namespace Map { int findTree(int playerID, uint unitXPosition, uint unitYPosition); - void FUN_004f3d30(PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); + void upgradeTreesAndRocksForMapVersion( + PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); void updateTrees(); }; diff --git a/src/OpenSHC/Map/MapPropertiesState.func.hpp b/src/OpenSHC/Map/MapPropertiesState.func.hpp index 64ed4a76..d137df6f 100644 --- a/src/OpenSHC/Map/MapPropertiesState.func.hpp +++ b/src/OpenSHC/Map/MapPropertiesState.func.hpp @@ -13,8 +13,8 @@ namespace Map { using OpenSHC::WindowsHelper::Enums::BOOLEnum; MACRO_FUNCTION_RESOLVER(BOOLEnum (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004B77E0, - &MapPropertiesState::isParam1LessThan21) - isParam1LessThan21; + &MapPropertiesState::isValueInRangeOneToTwenty) + isValueInRangeOneToTwenty; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7800, &MapPropertiesState::importTradingCosts) @@ -28,13 +28,13 @@ namespace Map { &MapPropertiesState::getEventIDForTimeUntilDefeatEventType) getEventIDForTimeUntilDefeatEventType; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7930, &MapPropertiesState::FUN_004b7930) - FUN_004b7930; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7930, + &MapPropertiesState::activateScenarioTypeEvents) + activateScenarioTypeEvents; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7980, &MapPropertiesState::meth_0x4b7980) - meth_0x4b7980; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7980, + &MapPropertiesState::determineScenarioMissionTypeAndResetEvents) + determineScenarioMissionTypeAndResetEvents; MACRO_FUNCTION_RESOLVER( void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7FA0, &MapPropertiesState::sumUnitPoints) @@ -44,13 +44,13 @@ namespace Map { void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B8000, &MapPropertiesState::sumUnitCounts) sumUnitCounts; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BA7D0, &MapPropertiesState::meth_0x4ba7d0) - meth_0x4ba7d0; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BA7D0, + &MapPropertiesState::sortEventsByDate) + sortEventsByDate; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004BA8B0, - &MapPropertiesState::meth_0x4ba8b0) - meth_0x4ba8b0; + &MapPropertiesState::removeEventAtIndex) + removeEventAtIndex; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BAEC0, &MapPropertiesState::commitBuildingAvailability) @@ -61,16 +61,16 @@ namespace Map { isMapperAvailable; MACRO_FUNCTION_RESOLVER(int (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004BB0B0, - &MapPropertiesState::FUN_004bb0b0) - FUN_004bb0b0; + &MapPropertiesState::isMercRecruitableForBuildingType) + isMercRecruitableForBuildingType; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BB900, &MapPropertiesState::resetEuroUnitRestrictions) resetEuroUnitRestrictions; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BB990, &MapPropertiesState::meth_0x4bb990) - meth_0x4bb990; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BB990, + &MapPropertiesState::pruneInvalidEventTriggerLinks) + pruneInvalidEventTriggerLinks; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004BB9F0, &MapPropertiesState::openEventTriggerMenu) @@ -81,48 +81,48 @@ namespace Map { sumInvasionEventUnitCount; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BC110, - &MapPropertiesState::tweakMonthAndYearBasedOnSection1047) - tweakMonthAndYearBasedOnSection1047; + &MapPropertiesState::adjustEventMonthAndYearForSection1047) + adjustEventMonthAndYearForSection1047; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int, int, int, int, int, undefined4), false, - Address::SHC_3BB0A8C1_0x004BC1C0, &MapPropertiesState::FUN_004bc1c0) - FUN_004bc1c0; + Address::SHC_3BB0A8C1_0x004BC1C0, &MapPropertiesState::spawnAttackWaveForPlayer) + spawnAttackWaveForPlayer; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BD980, &MapPropertiesState::meth_0x4bd980) - meth_0x4bd980; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BD980, + &MapPropertiesState::createScenarioEventForNextMonth) + createScenarioEventForNextMonth; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004BDA80, - &MapPropertiesState::meth_0x4bda80) - meth_0x4bda80; + &MapPropertiesState::createChainedMissionOutcomeEvents) + createChainedMissionOutcomeEvents; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BDE40, - &MapPropertiesState::computeSomeKindOfMissionCompletionScore) - computeSomeKindOfMissionCompletionScore; + &MapPropertiesState::computeMissionCompletionScore) + computeMissionCompletionScore; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BE590, &MapPropertiesState::setStartingYearAndStartingResources) setStartingYearAndStartingResources; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BEB20, &MapPropertiesState::meth_0x4beb20) - meth_0x4beb20; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BEB20, + &MapPropertiesState::updateEventYearsAndCommitBuildingAvailability) + updateEventYearsAndCommitBuildingAvailability; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C1320, &MapPropertiesState::meth_0x4c1320) - meth_0x4c1320; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C1320, + &MapPropertiesState::removeProcessedInvasionEvents) + removeProcessedInvasionEvents; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C13F0, &MapPropertiesState::meth_0x4c13f0) - meth_0x4c13f0; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C13F0, + &MapPropertiesState::spawnInvasionEventAttackWave) + spawnInvasionEventAttackWave; - MACRO_FUNCTION_RESOLVER( - void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C2280, &MapPropertiesState::FUN_004c2280) - FUN_004c2280; + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C2280, + &MapPropertiesState::updateMilitaryCampaignMissionState) + updateMilitaryCampaignMissionState; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(char*), false, Address::SHC_3BB0A8C1_0x004C3110, - &MapPropertiesState::FUN_004c3110) - FUN_004c3110; + &MapPropertiesState::loadMapSiegeHeaderSections) + loadMapSiegeHeaderSections; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C31A0, &MapPropertiesState::processSingleplayerEvents) @@ -133,12 +133,12 @@ namespace Map { loadMap; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(char*), false, Address::SHC_3BB0A8C1_0x004C6820, - &MapPropertiesState::FUN_004c6820) - FUN_004c6820; + &MapPropertiesState::loadMapSiegeHeaderForMissionIndex) + loadMapSiegeHeaderForMissionIndex; MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004C6880, - &MapPropertiesState::FUN_004c6880) - FUN_004c6880; + &MapPropertiesState::loadMissionMapAndSetLord) + loadMissionMapAndSetLord; } // namespace MapPropertiesState_Func } // namespace Map diff --git a/src/OpenSHC/Map/MapPropertiesState.hpp b/src/OpenSHC/Map/MapPropertiesState.hpp index ab9fc019..983c0b08 100644 --- a/src/OpenSHC/Map/MapPropertiesState.hpp +++ b/src/OpenSHC/Map/MapPropertiesState.hpp @@ -185,7 +185,7 @@ namespace Map { MapPropertiesState() {}; ~MapPropertiesState() {}; - BOOLEnum isParam1LessThan21(int param_1); + BOOLEnum isValueInRangeOneToTwenty(int param_1); void importTradingCosts(); @@ -193,61 +193,62 @@ namespace Map { int getEventIDForTimeUntilDefeatEventType(); - void FUN_004b7930(); + void activateScenarioTypeEvents(); - void meth_0x4b7980(); + void determineScenarioMissionTypeAndResetEvents(); void sumUnitPoints(); void sumUnitCounts(); - void meth_0x4ba7d0(); + void sortEventsByDate(); - void meth_0x4ba8b0(int param_1); + void removeEventAtIndex(int param_1); void commitBuildingAvailability(); BOOLEnum isMapperAvailable(eMappers param_1); - int FUN_004bb0b0(int param_1); + int isMercRecruitableForBuildingType(int param_1); void resetEuroUnitRestrictions(); - void meth_0x4bb990(); + void pruneInvalidEventTriggerLinks(); void openEventTriggerMenu(undefined4 eventType); void sumInvasionEventUnitCount(); - void tweakMonthAndYearBasedOnSection1047(); + void adjustEventMonthAndYearForSection1047(); - void FUN_004bc1c0(int param_1, int param_2, int param_3, int param_4, int param_5, undefined4 param_6); + void spawnAttackWaveForPlayer( + int param_1, int param_2, int param_3, int param_4, int param_5, undefined4 param_6); - void meth_0x4bd980(); + void createScenarioEventForNextMonth(); - void meth_0x4bda80(int param_1); + void createChainedMissionOutcomeEvents(int param_1); - void computeSomeKindOfMissionCompletionScore(); + void computeMissionCompletionScore(); void setStartingYearAndStartingResources(); - void meth_0x4beb20(); + void updateEventYearsAndCommitBuildingAvailability(); - void meth_0x4c1320(); + void removeProcessedInvasionEvents(); - void meth_0x4c13f0(); + void spawnInvasionEventAttackWave(); - void FUN_004c2280(); + void updateMilitaryCampaignMissionState(); - void FUN_004c3110(char* param_1); + void loadMapSiegeHeaderSections(char* param_1); void processSingleplayerEvents(); void loadMap(char* mapName); - void FUN_004c6820(char* param_1); + void loadMapSiegeHeaderForMissionIndex(char* param_1); - void FUN_004c6880(int missionNumber); + void loadMissionMapAndSetLord(int missionNumber); }; static_assert_cpp98_obj(sizeof(MapPropertiesState) == 83616, MapPropertiesState); diff --git a/src/OpenSHC/Map/Navigation.func.hpp b/src/OpenSHC/Map/Navigation.func.hpp index c8c3a461..a9160c52 100644 --- a/src/OpenSHC/Map/Navigation.func.hpp +++ b/src/OpenSHC/Map/Navigation.func.hpp @@ -14,8 +14,8 @@ namespace Map { namespace Navigation_Func { MACRO_FUNCTION_RESOLVER(int(__cdecl*)(int param_1, int param_2, int param_3, int param_4), false, - Address::SHC_3BB0A8C1_0x0049B8C0, &OpenSHC::Map::Navigation::FUN_0049b8c0) - FUN_0049b8c0; + Address::SHC_3BB0A8C1_0x0049B8C0, &OpenSHC::Map::Navigation::calcApproxEuclideanDistance) + calcApproxEuclideanDistance; } // namespace Navigation_Func } // namespace Map diff --git a/src/OpenSHC/Map/Navigation.hpp b/src/OpenSHC/Map/Navigation.hpp index 09865df2..528a3207 100644 --- a/src/OpenSHC/Map/Navigation.hpp +++ b/src/OpenSHC/Map/Navigation.hpp @@ -12,7 +12,7 @@ namespace OpenSHC { namespace Map { namespace Navigation { - int __cdecl FUN_0049b8c0(int param_1, int param_2, int param_3, int param_4); + int __cdecl calcApproxEuclideanDistance(int param_1, int param_2, int param_3, int param_4); } // namespace Navigation } // namespace Map diff --git a/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp index 86cab88c..8d44112b 100644 --- a/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp +++ b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp @@ -17,8 +17,8 @@ namespace Map { calculateOrientation; MACRO_FUNCTION_RESOLVER(void (DirectionAlgorithmState::*)(int, int), false, - Address::SHC_3BB0A8C1_0x0046C9A0, &DirectionAlgorithmState::FUN_0046c9a0) - FUN_0046c9a0; + Address::SHC_3BB0A8C1_0x0046C9A0, &DirectionAlgorithmState::calculateOrientationFromTiles) + calculateOrientationFromTiles; MACRO_FUNCTION_RESOLVER(void (DirectionAlgorithmState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0046C9E0, &DirectionAlgorithmState::calculatePreferredRelativeOrientation) @@ -41,8 +41,8 @@ namespace Map { computeHash; MACRO_FUNCTION_RESOLVER(uint (DirectionAlgorithmState::*)(int, uint*, uint), false, - Address::SHC_3BB0A8C1_0x0046CDF0, &DirectionAlgorithmState::FUN_0046cdf0) - FUN_0046cdf0; + Address::SHC_3BB0A8C1_0x0046CDF0, &DirectionAlgorithmState::computeMaskedBitAccumulator) + computeMaskedBitAccumulator; } // namespace DirectionAlgorithmState_Func } // namespace Navigation diff --git a/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp index 70bff842..9cd1acf2 100644 --- a/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp +++ b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp @@ -36,7 +36,7 @@ namespace Map { void calculateOrientation( int currentXPosition, int currentYPosition, int destinationXPosition, int destinationYPosition); - void FUN_0046c9a0(int param_1, int param_2); + void calculateOrientationFromTiles(int param_1, int param_2); void calculatePreferredRelativeOrientation(int param_1, int param_2, int param_3, int param_4); @@ -50,7 +50,7 @@ namespace Map { uint computeHash(int byteCount, int* address); - uint FUN_0046cdf0(int param_1, uint* param_2, uint param_3); + uint computeMaskedBitAccumulator(int param_1, uint* param_2, uint param_3); }; static_assert_cpp98_obj(sizeof(DirectionAlgorithmState) == 20, DirectionAlgorithmState); diff --git a/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp b/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp index a00f512a..d3d7e110 100644 --- a/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp +++ b/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp @@ -242,16 +242,16 @@ namespace Map { pathfindingRelated49ff20; MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(uint, uint, int, uint), false, - Address::SHC_3BB0A8C1_0x004A01D0, &PathFindingState::meth_0x4a01d0) - meth_0x4a01d0; + Address::SHC_3BB0A8C1_0x004A01D0, &PathFindingState::findBestAttackTileByPathCost) + findBestAttackTileByPathCost; MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x004A0460, &PathFindingState::meth_0x4a0460) - meth_0x4a0460; + Address::SHC_3BB0A8C1_0x004A0460, &PathFindingState::findNearestEnemyBuildingWithinDistance) + findNearestEnemyBuildingWithinDistance; MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x004A06B0, &PathFindingState::meth_0x4a06b0) - meth_0x4a06b0; + Address::SHC_3BB0A8C1_0x004A06B0, &PathFindingState::findNearestEnemyUnitWithinDistance) + findNearestEnemyUnitWithinDistance; MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004A08E0, &PathFindingState::getGatehouseNearSomethingUnk) @@ -310,8 +310,8 @@ namespace Map { findAccessibleWallAndNearbyFreeTile; MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x004A36B0, &PathFindingState::meth_0x4a36b0) - meth_0x4a36b0; + Address::SHC_3BB0A8C1_0x004A36B0, &PathFindingState::healUnitsOfPlayerWithinRadius) + healUnitsOfPlayerWithinRadius; MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int, undefined4), false, Address::SHC_3BB0A8C1_0x004A3B20, &PathFindingState::certainDamageToUnitsUnk) @@ -342,28 +342,28 @@ namespace Map { reprocessLadddermanWallData; MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A4C70, - &PathFindingState::meth_0x4a4c70) - meth_0x4a4c70; + &PathFindingState::registerUnitOnClimbData) + registerUnitOnClimbData; - MACRO_FUNCTION_RESOLVER( - void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A52D0, &PathFindingState::meth_0x4a52d0) - meth_0x4a52d0; + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A52D0, + &PathFindingState::clearActiveClimbDataOfType6And7) + clearActiveClimbDataOfType6And7; MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, dword, dword, int), false, Address::SHC_3BB0A8C1_0x004A5320, &PathFindingState::calculateCanPlayerUnitsNavigateToAreaFromArea) calculateCanPlayerUnitsNavigateToAreaFromArea; MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, dword, dword), false, - Address::SHC_3BB0A8C1_0x004A58A0, &PathFindingState::meth_0x4a58a0) - meth_0x4a58a0; + Address::SHC_3BB0A8C1_0x004A58A0, &PathFindingState::findConnectingAreaBetweenTwoAreas) + findConnectingAreaBetweenTwoAreas; MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A5B00, &PathFindingState::calculateCanReachUsingCachedAreaLogic) calculateCanReachUsingCachedAreaLogic; MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint, uint, uint), false, - Address::SHC_3BB0A8C1_0x004A5DA0, &PathFindingState::meth_0x4a5da0) - meth_0x4a5da0; + Address::SHC_3BB0A8C1_0x004A5DA0, &PathFindingState::findBestAdjacentClimbTileToTarget) + findBestAdjacentClimbTileToTarget; MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A5F60, &PathFindingState::updatePathLinkageLayerForEachBuildingAtEachTile) @@ -374,8 +374,8 @@ namespace Map { updatePathLinkagesInAllEightDirections; MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint, int, int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x004A6010, &PathFindingState::meth_0x4a6010) - meth_0x4a6010; + Address::SHC_3BB0A8C1_0x004A6010, &PathFindingState::findBestAttackTargetTileWithHeightAndOwner) + findBestAttackTargetTileWithHeightAndOwner; MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A6520, &PathFindingState::storeDestinationOptionsUnk) @@ -398,8 +398,8 @@ namespace Map { computeAttackVectorsBasedOnXAndY; MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint), false, - Address::SHC_3BB0A8C1_0x004A6AB0, &PathFindingState::meth_0x4a6ab0) - meth_0x4a6ab0; + Address::SHC_3BB0A8C1_0x004A6AB0, &PathFindingState::findCrossAreaBridgeTileToTarget) + findCrossAreaBridgeTileToTarget; MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, dword, uint, uint), false, Address::SHC_3BB0A8C1_0x004A6DF0, &PathFindingState::canNavigateFunctionReturnsArea) diff --git a/src/OpenSHC/Map/Navigation/PathFindingState.hpp b/src/OpenSHC/Map/Navigation/PathFindingState.hpp index 2fb2ff1c..5bd011ad 100644 --- a/src/OpenSHC/Map/Navigation/PathFindingState.hpp +++ b/src/OpenSHC/Map/Navigation/PathFindingState.hpp @@ -217,11 +217,11 @@ namespace Map { dword pathfindingRelated49ff20(uint x, uint y, int playerID, uint distanceUnk, int param_5); - dword meth_0x4a01d0(uint param_1, uint param_2, int param_3, uint param_4); + dword findBestAttackTileByPathCost(uint param_1, uint param_2, int param_3, uint param_4); - int meth_0x4a0460(int param_1, int param_2, int param_3, int param_4); + int findNearestEnemyBuildingWithinDistance(int param_1, int param_2, int param_3, int param_4); - int meth_0x4a06b0(int param_1, int param_2, int param_3, int param_4); + int findNearestEnemyUnitWithinDistance(int param_1, int param_2, int param_3, int param_4); int getGatehouseNearSomethingUnk(int param_1, int param_2, int param_3, int maxDistance); @@ -251,7 +251,7 @@ namespace Map { BOOLEnum findAccessibleWallAndNearbyFreeTile(uint unitID, int tile, int* pFreeTile, int* pDefensesTile); - undefined4 meth_0x4a36b0(int param_1, int param_2, int param_3, int param_4); + undefined4 healUnitsOfPlayerWithinRadius(int param_1, int param_2, int param_3, int param_4); undefined4 certainDamageToUnitsUnk(int param_1, int param_2, int param_3, int param_4, undefined4 param_5); @@ -268,25 +268,26 @@ namespace Map { void reprocessLadddermanWallData(int laddermanWalledDataID); - undefined4 meth_0x4a4c70(int param_1, int param_2); + undefined4 registerUnitOnClimbData(int param_1, int param_2); - void meth_0x4a52d0(); + void clearActiveClimbDataOfType6And7(); int calculateCanPlayerUnitsNavigateToAreaFromArea( int playerID, dword fromArea, dword toArea, int permitClimb); - dword meth_0x4a58a0(int param_1, dword param_2, dword param_3); + dword findConnectingAreaBetweenTwoAreas(int param_1, dword param_2, dword param_3); BOOLEnum calculateCanReachUsingCachedAreaLogic(int tile1, int tile2); - undefined4 meth_0x4a5da0(int param_1, uint param_2, uint param_3, uint param_4, uint param_5); + undefined4 findBestAdjacentClimbTileToTarget( + int param_1, uint param_2, uint param_3, uint param_4, uint param_5); void updatePathLinkageLayerForEachBuildingAtEachTile(); void updatePathLinkagesInAllEightDirections(int y, int tile); - void meth_0x4a6010(int param_1, uint param_2, uint param_3, int param_4, int param_5, int param_6, - int param_7, int param_8, int param_9); + void findBestAttackTargetTileWithHeightAndOwner(int param_1, uint param_2, uint param_3, int param_4, + int param_5, int param_6, int param_7, int param_8, int param_9); void storeDestinationOptionsUnk(int signpostID); @@ -299,7 +300,7 @@ namespace Map { void computeAttackVectorsBasedOnXAndY(int playerID); - undefined4 meth_0x4a6ab0(int param_1, uint param_2, uint param_3); + undefined4 findCrossAreaBridgeTileToTarget(int param_1, uint param_2, uint param_3); int canNavigateFunctionReturnsArea(int playerID, dword targetArea, uint unitX, uint unitY); diff --git a/src/OpenSHC/Map/TileMapState.func.hpp b/src/OpenSHC/Map/TileMapState.func.hpp index d6f2ba1b..58f145f3 100644 --- a/src/OpenSHC/Map/TileMapState.func.hpp +++ b/src/OpenSHC/Map/TileMapState.func.hpp @@ -68,13 +68,13 @@ namespace Map { &TileMapState::updateLogicalTileMapRelatedSections) updateLogicalTileMapRelatedSections; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F79D0, &TileMapState::meth_004f79d0) - meth_004f79d0; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F79D0, + &TileMapState::rebuildShowHiLayerFromHeights) + rebuildShowHiLayerFromHeights; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F7A80, &TileMapState::meth_0x4f7a80) - meth_0x4f7a80; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F7A80, + &TileMapState::computeTileLuminescence) + computeTileLuminescence; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x004F80E0, &TileMapState::increaseHeightForTunnelSingleTile) @@ -85,8 +85,8 @@ namespace Map { getNonFarmFieldBuildingHealthAtTileOr1000; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004F81D0, - &TileMapState::meth_0x4f81d0) - meth_0x4f81d0; + &TileMapState::resetTileToDefaultState) + resetTileToDefaultState; MACRO_FUNCTION_RESOLVER( uint (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F8210, &TileMapState::getBuildingHurtSFXID) @@ -101,52 +101,52 @@ namespace Map { countPropertyInSurroundingTiles; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F85B0, - &TileMapState::meth_0x4f85b0) - meth_0x4f85b0; + &TileMapState::isTileEnclosedByWallsOrGates) + isTileEnclosedByWallsOrGates; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F8640, - &TileMapState::meth_0x4f8640) - meth_0x4f8640; + &TileMapState::isTileEnclosedByWalls) + isTileEnclosedByWalls; MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F86D0, - &TileMapState::meth_0x4f86d0) - meth_0x4f86d0; + &TileMapState::isWallCornerForCardinalDirection) + isWallCornerForCardinalDirection; MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8780, - &TileMapState::meth_0x4f8780) - meth_0x4f8780; + &TileMapState::isWallCornerForDiagonalDirection) + isWallCornerForDiagonalDirection; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8840, - &TileMapState::meth_0x4f8840) - meth_0x4f8840; + &TileMapState::isWallConnectionHeightValid) + isWallConnectionHeightValid; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F8900, - &TileMapState::meth_0x4f8900) - meth_0x4f8900; + &TileMapState::hasOnlyTowerNeighborsNoWalls) + hasOnlyTowerNeighborsNoWalls; MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F89C0, - &TileMapState::meth_0x4f89c0) - meth_0x4f89c0; + &TileMapState::getWallFlagForOrientedDirection) + getWallFlagForOrientedDirection; MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8A40, - &TileMapState::meth_0x4f8a40) - meth_0x4f8a40; + &TileMapState::hasHigherNeighborWithFlagBit11) + hasHigherNeighborWithFlagBit11; MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8AC0, - &TileMapState::meth_0x4f8ac0) - meth_0x4f8ac0; + &TileMapState::hasHigherPlainNeighborWithFlagBit8) + hasHigherPlainNeighborWithFlagBit8; MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x004F8B50, &TileMapState::getOrientationThatIsWallTowerOrGatehouse) getOrientationThatIsWallTowerOrGatehouse; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, uint, uint, undefined4), false, - Address::SHC_3BB0A8C1_0x004F8BD0, &TileMapState::previewWallDrawingUnk) - previewWallDrawingUnk; + Address::SHC_3BB0A8C1_0x004F8BD0, &TileMapState::renderWallDragPreview) + renderWallDragPreview; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F9000, &TileMapState::meth_0x4f9000) - meth_0x4f9000; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F9000, + &TileMapState::reassignWallOwnershipForPlayer) + reassignWallOwnershipForPlayer; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F9220, &TileMapState::swapWallOwnership) @@ -157,8 +157,8 @@ namespace Map { destroyWallsOfPlayer; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, CommandBuildingType), false, - Address::SHC_3BB0A8C1_0x004F94A0, &TileMapState::isWallUnkPlacementAllowed) - isWallUnkPlacementAllowed; + Address::SHC_3BB0A8C1_0x004F94A0, &TileMapState::validateWallPlacementAtTile) + validateWallPlacementAtTile; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F9590, &TileMapState::setupBuildingSizeIndexMappingForBuildingWithSize) @@ -169,8 +169,8 @@ namespace Map { getBuildingSizeIndexMappingData; MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F9930, - &TileMapState::indexIsEdgeUnk) - indexIsEdgeUnk; + &TileMapState::isFootprintIndexOnEdge) + isFootprintIndexOnEdge; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, int), false, Address::SHC_3BB0A8C1_0x004F9980, &TileMapState::storeMinAndMaxHeightOfArea) @@ -181,104 +181,104 @@ namespace Map { isBuildingPlacementAllowedAtTile; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F9DF0, - &TileMapState::meth_0x4f9df0) - meth_0x4f9df0; + &TileMapState::validateBuildingPlacementAtTile) + validateBuildingPlacementAtTile; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x004F9F00, - &TileMapState::spawnEraserEntityEffectsUnk) - spawnEraserEntityEffectsUnk; + &TileMapState::spawnEraserTileEffect) + spawnEraserTileEffect; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FA000, &TileMapState::meth_0x4fa000) - meth_0x4fa000; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FA000, + &TileMapState::determineBuildingPlacementRotation) + determineBuildingPlacementRotation; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FA2D0, &TileMapState::checkDrawbridgePlacement) checkDrawbridgePlacement; - MACRO_FUNCTION_RESOLVER( - undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FA460, &TileMapState::meth_0x4fa460) - meth_0x4fa460; + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FA460, + &TileMapState::getRubbleGraphicStageForDamageLevel) + getRubbleGraphicStageForDamageLevel; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(CommandBuildingType), false, Address::SHC_3BB0A8C1_0x004FA550, &TileMapState::getBuildingSizeForCommandBuildingType) getBuildingSizeForCommandBuildingType; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(undefined4, int, int, undefined4, int), false, - Address::SHC_3BB0A8C1_0x004FA760, &TileMapState::meth_0x4fa760) - meth_0x4fa760; + Address::SHC_3BB0A8C1_0x004FA760, &TileMapState::demolishBuildingsInConstructionFootprint) + demolishBuildingsInConstructionFootprint; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FA9D0, - &TileMapState::meth_0x4fa9d0) - meth_0x4fa9d0; + &TileMapState::markBuildingFootprintFlag) + markBuildingFootprintFlag; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAA30, &TileMapState::updateAreaBasedOnSurrounding) updateAreaBasedOnSurrounding; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAAB0, &TileMapState::meth_0x4faab0) - meth_0x4faab0; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAAB0, + &TileMapState::clearBuildingTilesAndTrees) + clearBuildingTilesAndTrees; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAB70, - &TileMapState::meth_0x4fab70) - meth_0x4fab70; + &TileMapState::clearBuildingFootprintAndResetUnits) + clearBuildingFootprintAndResetUnits; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAC70, - &TileMapState::meth_0x4fac70) - meth_0x4fac70; + &TileMapState::clearBuildingFootprintAndRemoveSiegeTower) + clearBuildingFootprintAndRemoveSiegeTower; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAD20, - &TileMapState::meth_0x4fad20) - meth_0x4fad20; + &TileMapState::unmarkBuildingFootprintFlag) + unmarkBuildingFootprintFlag; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAD70, - &TileMapState::meth_0x4fad70) - meth_0x4fad70; + &TileMapState::clearBuildingFootprintWithEdgeRubble) + clearBuildingFootprintWithEdgeRubble; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAE50, &TileMapState::meth_0x4fae50) - meth_0x4fae50; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAE50, + &TileMapState::clearFixedSizeTwoBuildingFootprint) + clearFixedSizeTwoBuildingFootprint; - MACRO_FUNCTION_RESOLVER( - undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FAEE0, &TileMapState::meth_0x4faee0) - meth_0x4faee0; + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FAEE0, + &TileMapState::isUnitBlockingSizeFiveFootprint) + isUnitBlockingSizeFiveFootprint; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAF70, &TileMapState::meth_0x4faf70) - meth_0x4faf70; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAF70, + &TileMapState::clearStockpileFootprintTiles) + clearStockpileFootprintTiles; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB0C0, &TileMapState::setMiscDisplayLayer) setMiscDisplayLayer; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FB360, &TileMapState::meth_0x4fb360) - meth_0x4fb360; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FB360, + &TileMapState::clearBuildingDisplayFlagsAndEntities) + clearBuildingDisplayFlagsAndEntities; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FB3F0, &TileMapState::FUN_004fb3f0) - FUN_004fb3f0; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FB3F0, + &TileMapState::spawnFloatingNumberAroundTile) + spawnFloatingNumberAroundTile; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(uint, uint, uint), false, Address::SHC_3BB0A8C1_0x004FB4D0, &TileMapState::placeRock) placeRock; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB770, &TileMapState::meth_0x4fb770) - meth_0x4fb770; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB770, + &TileMapState::applyRockGraphicsToFootprint) + applyRockGraphicsToFootprint; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB8E0, &TileMapState::meth_0x4fb8e0) - meth_0x4fb8e0; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB8E0, + &TileMapState::clearTreeFootprintFlags) + clearTreeFootprintFlags; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB970, &TileMapState::meth_0x4fb970) - meth_0x4fb970; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB970, + &TileMapState::clearRockFootprintFlags) + clearRockFootprintFlags; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, short), false, Address::SHC_3BB0A8C1_0x004FB9E0, - &TileMapState::meth_0x4fb9e0) - meth_0x4fb9e0; + &TileMapState::renderWallPlacementPreview) + renderWallPlacementPreview; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FBC30, &TileMapState::getCastleBuildRangeForMapSize) @@ -289,36 +289,36 @@ namespace Map { getTileForBrush; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004FBE70, - &TileMapState::meth_0x4fbe70) - meth_0x4fbe70; + &TileMapState::isTileSuitableForBrushPlacement) + isTileSuitableForBrushPlacement; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FC0B0, - &TileMapState::meth_0x4fc0b0) - meth_0x4fc0b0; + &TileMapState::computeTileCliffEdgeFlags) + computeTileCliffEdgeFlags; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FC280, - &TileMapState::meth_0x4fc280) - meth_0x4fc280; + &TileMapState::propagateCliffEdgeFlagFromNeighbor) + propagateCliffEdgeFlagFromNeighbor; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FC340, &TileMapState::meth_0x4fc340) - meth_0x4fc340; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FC340, + &TileMapState::collectCliffEdgeTilesForClimbData) + collectCliffEdgeTilesForClimbData; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FC490, &TileMapState::generateDustClouds) generateDustClouds; - MACRO_FUNCTION_RESOLVER( - int (TileMapState::*)(uint), false, Address::SHC_3BB0A8C1_0x004FC650, &TileMapState::meth_0x4fc650) - meth_0x4fc650; + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(uint), false, Address::SHC_3BB0A8C1_0x004FC650, + &TileMapState::computeWallCornerRenderRotation) + computeWallCornerRenderRotation; MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, undefined4, int), false, - Address::SHC_3BB0A8C1_0x004FC7C0, &TileMapState::meth_0x4fc7c0) - meth_0x4fc7c0; + Address::SHC_3BB0A8C1_0x004FC7C0, &TileMapState::isCliffDropInDirection) + isCliffDropInDirection; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004FC810, - &TileMapState::meth_0x4fc810) - meth_0x4fc810; + &TileMapState::computeClimbRampRotation) + computeClimbRampRotation; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FC9E0, &TileMapState::updateGFXLayers) @@ -357,12 +357,12 @@ namespace Map { recountTotalOwnedMoats; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005000E0, - &TileMapState::scanMoatsInGroupsOfThreeUnk) - scanMoatsInGroupsOfThreeUnk; + &TileMapState::countMoatsOwnedByEachPlayer) + countMoatsOwnedByEachPlayer; - MACRO_FUNCTION_RESOLVER( - int (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500180, &TileMapState::countUnfinishedMoatUnk) - countUnfinishedMoatUnk; + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500180, + &TileMapState::countUnfinishedMoatTilesForPlayer) + countUnfinishedMoatTilesForPlayer; MACRO_FUNCTION_RESOLVER( int (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500210, &TileMapState::getUnownedMoatCount) @@ -388,41 +388,41 @@ namespace Map { &TileMapState::setXYBasedOnMoatID) setXYBasedOnMoatID; - MACRO_FUNCTION_RESOLVER( - undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500500, &TileMapState::meth_0x500500) - meth_0x500500; + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500500, + &TileMapState::advanceMoatFillProgress) + advanceMoatFillProgress; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x005005F0, &TileMapState::clearMoatIfUnk) - clearMoatIfUnk; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x005005F0, + &TileMapState::clearMoatAtTileIfPresent) + clearMoatAtTileIfPresent; MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500640, &TileMapState::moatRelatedUpdateFunction) - moatRelatedUpdateFunction; + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500640, &TileMapState::updateMoatCountdownTimers) + updateMoatCountdownTimers; MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500680, &TileMapState::meth_0x500680) - meth_0x500680; + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500680, &TileMapState::resetMoatArray) + resetMoatArray; MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005006C0, &TileMapState::meth_0x5006c0) - meth_0x5006c0; + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005006C0, &TileMapState::clearInvalidMoatEntries) + clearInvalidMoatEntries; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00500720, - &TileMapState::meth_0x500720) - meth_0x500720; + &TileMapState::setMoatVisualStateAtTile) + setMoatVisualStateAtTile; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00500750, - &TileMapState::meth_0x500750) - meth_0x500750; + &TileMapState::setMoatOwnerForAllMatching) + setMoatOwnerForAllMatching; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00500790, &TileMapState::swapMoatOwnership) swapMoatOwnership; MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005007D0, &TileMapState::meth_0x5007d0) - meth_0x5007d0; + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005007D0, &TileMapState::resetPitchDitchArray) + resetPitchDitchArray; MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500800, &TileMapState::countPitchDitchesWithPlayerID0) @@ -441,40 +441,40 @@ namespace Map { swapPitchOwnership; MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(uint, uint, uint, uint), false, - Address::SHC_3BB0A8C1_0x00500980, &TileMapState::meth_0x500980) - meth_0x500980; + Address::SHC_3BB0A8C1_0x00500980, &TileMapState::findNearestValidDigTileNearTarget) + findNearestValidDigTileNearTarget; MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int, int, uint), false, Address::SHC_3BB0A8C1_0x00500B50, - &TileMapState::meth_0x500b50) - meth_0x500b50; + &TileMapState::computeTileAlongAxisOffset) + computeTileAlongAxisOffset; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500BB0, &TileMapState::campaignRelatedNumber) - campaignRelatedNumber; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500BB0, + &TileMapState::setSignpostDistanceForCampaignMission) + setSignpostDistanceForCampaignMission; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00501180, - &TileMapState::spreadAlgorithmForFlagsAndBraziers2Unk) - spreadAlgorithmForFlagsAndBraziers2Unk; + &TileMapState::spreadFlagPlacementAlgorithm) + spreadFlagPlacementAlgorithm; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x005011A0, - &TileMapState::spreadAlgorithmForFlagsAndBraziersUnk) - spreadAlgorithmForFlagsAndBraziersUnk; + &TileMapState::spreadBrazierPlacementAlgorithm) + spreadBrazierPlacementAlgorithm; - MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005017A0, - &TileMapState::clearAndSetTileMapUnknown2Plus) - clearAndSetTileMapUnknown2Plus; + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005017A0, &TileMapState::forceFullTileMapRedraw) + forceFullTileMapRedraw; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, int), false, Address::SHC_3BB0A8C1_0x005017C0, - &TileMapState::meth_0x5017c0) - meth_0x5017c0; + &TileMapState::useEraserBrush) + useEraserBrush; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00501A20, &TileMapState::updateShowHiLayerOrResetChangedLayer) updateShowHiLayerOrResetChangedLayer; - MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00501B90, - &TileMapState::changeMapOrientationUnk) - changeMapOrientationUnk; + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00501B90, &TileMapState::changeMapOrientation) + changeMapOrientation; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x00501CD0, &TileMapState::increaseHeightForTunnelWithBrush) @@ -488,37 +488,37 @@ namespace Map { &TileMapState::createPlateau) createPlateau; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00502110, &TileMapState::useBrush2) - useBrush2; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00502110, + &TileMapState::useLevelBrush) + useLevelBrush; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00502390, &TileMapState::setLand) setLand; MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, uint, int), false, Address::SHC_3BB0A8C1_0x005024F0, - &TileMapState::meth_0x5024f0) - meth_0x5024f0; + &TileMapState::isValidCastleSiteLocation) + isValidCastleSiteLocation; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4), false, - Address::SHC_3BB0A8C1_0x00502680, &TileMapState::useBrush3) - useBrush3; + Address::SHC_3BB0A8C1_0x00502680, &TileMapState::useTerrainHeightBrush) + useTerrainHeightBrush; - MACRO_FUNCTION_RESOLVER( - byte (TileMapState::*)(int, uint), false, Address::SHC_3BB0A8C1_0x00502950, &TileMapState::meth_0x502950) - meth_0x502950; + MACRO_FUNCTION_RESOLVER(byte (TileMapState::*)(int, uint), false, Address::SHC_3BB0A8C1_0x00502950, + &TileMapState::getMaxWallHeightInBrushArea) + getMaxWallHeightInBrushArea; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, uint, uint, undefined4), false, - Address::SHC_3BB0A8C1_0x005029D0, &TileMapState::checkWhetherThisWallBuildIsAllowed) - checkWhetherThisWallBuildIsAllowed; + Address::SHC_3BB0A8C1_0x005029D0, &TileMapState::validateWallBuildPath) + validateWallBuildPath; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, uint, uint, CommandBuildingType, int), false, Address::SHC_3BB0A8C1_0x00502F30, &TileMapState::placeWalls) placeWalls; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, CommandBuildingType), false, - Address::SHC_3BB0A8C1_0x005034A0, &TileMapState::placeDefensiveStructurePart2Unk) - placeDefensiveStructurePart2Unk; + Address::SHC_3BB0A8C1_0x005034A0, &TileMapState::placeDefensiveStructureTile) + placeDefensiveStructureTile; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00503720, &TileMapState::setupBuildingSizeIndexMapping) @@ -529,12 +529,12 @@ namespace Map { checkBuildingCanBePlacedHere; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00504A30, - &TileMapState::meth_0x504a30) - meth_0x504a30; + &TileMapState::evaluateBuildingPlacementAtCursor) + evaluateBuildingPlacementAtCursor; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00504EE0, &TileMapState::meth_0x504ee0) - meth_0x504ee0; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00504EE0, + &TileMapState::updateBuildingPlacementRotationPreview) + updateBuildingPlacementRotationPreview; MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int, int, CommandBuildingType, int), false, Address::SHC_3BB0A8C1_0x00504F10, &TileMapState::setConstructionGFXLayerBasedOnPlacementChecks) @@ -545,8 +545,8 @@ namespace Map { updateBuildingGraphicsLayer; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00506AD0, - &TileMapState::someUpdatePathLinkageRelatedCall) - someUpdatePathLinkageRelatedCall; + &TileMapState::updatePathLinkagesForBuilding) + updatePathLinkagesForBuilding; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, BuildingType, uint, int, undefined4), false, Address::SHC_3BB0A8C1_0x00506BD0, &TileMapState::placeWorkshopOrHovel) @@ -557,8 +557,8 @@ namespace Map { placeSiegetowerPlaced; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, - Address::SHC_3BB0A8C1_0x00506E10, &TileMapState::placeSiegeTentUnk) - placeSiegeTentUnk; + Address::SHC_3BB0A8C1_0x00506E10, &TileMapState::placeSiegeTent) + placeSiegeTent; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(int, uint, uint, undefined4, undefined4, uint, undefined4, undefined4), false, @@ -567,8 +567,8 @@ namespace Map { MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(int, uint, uint, undefined4, undefined4, uint, undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x00507060, &TileMapState::meth_0x507060) - meth_0x507060; + Address::SHC_3BB0A8C1_0x00507060, &TileMapState::stampBuildingOntoTileMap) + stampBuildingOntoTileMap; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, Address::SHC_3BB0A8C1_0x00507130, &TileMapState::placeTower) @@ -579,8 +579,8 @@ namespace Map { upgradeTowerLogicLayer; MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00507350, &TileMapState::meth_0x507350) - meth_0x507350; + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00507350, &TileMapState::resetTileAndClearMoat) + resetTileAndClearMoat; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, Address::SHC_3BB0A8C1_0x00507420, &TileMapState::placeGatehouseSmall) @@ -614,17 +614,17 @@ namespace Map { Address::SHC_3BB0A8C1_0x00508540, &TileMapState::placeStockpile) placeStockpile; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00508760, &TileMapState::meth_0x508760) - meth_0x508760; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00508760, + &TileMapState::clearSizeFiveBuildingFootprintAndMoats) + clearSizeFiveBuildingFootprintAndMoats; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00508870, &TileMapState::meth_0x508870) - meth_0x508870; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00508870, + &TileMapState::clearSizeFiveBuildingFootprint) + clearSizeFiveBuildingFootprint; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00508910, &TileMapState::meth_0x508910) - meth_0x508910; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00508910, + &TileMapState::floodMoatUnderRemovedBuilding) + floodMoatUnderRemovedBuilding; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, CommandBuildingType), false, Address::SHC_3BB0A8C1_0x00508A00, &TileMapState::renderPreviewMapperWithBrush) @@ -635,8 +635,8 @@ namespace Map { applyTreeToLogicalLayer; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, uint), false, Address::SHC_3BB0A8C1_0x00508EC0, - &TileMapState::meth_0x508ec0) - meth_0x508ec0; + &TileMapState::eraseAreaWithBrush) + eraseAreaWithBrush; MACRO_FUNCTION_RESOLVER( void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00509180, &TileMapState::updateTextureTilemap) @@ -734,9 +734,9 @@ namespace Map { &TileMapState::clearBuildingFromTerrain) clearBuildingFromTerrain; - MACRO_FUNCTION_RESOLVER( - void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00515C80, &TileMapState::createMoatSize5Unk) - createMoatSize5Unk; + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00515C80, + &TileMapState::createMoatForSizeFiveBuilding) + createMoatForSizeFiveBuilding; MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, undefined4), false, Address::SHC_3BB0A8C1_0x00515DA0, &TileMapState::placeTree) diff --git a/src/OpenSHC/Map/TileMapState.hpp b/src/OpenSHC/Map/TileMapState.hpp index 2c073efc..6d657f0f 100644 --- a/src/OpenSHC/Map/TileMapState.hpp +++ b/src/OpenSHC/Map/TileMapState.hpp @@ -244,7 +244,7 @@ namespace Map { ~TileMapState() {}; // Constructor - TileMapState* Constructor_TileMapState(); + TileMapState* constructTileMapState(); void processEntityDamageToBuildingCollateralThunk( undefined4 tile, undefined4 x_2, undefined4 y_2, undefined4 damage, undefined4 playerID, undefined4 unused); @@ -270,15 +270,15 @@ namespace Map { void updateLogicalTileMapRelatedSections(); - void meth_004f79d0(); + void rebuildShowHiLayerFromHeights(); - void meth_0x4f7a80(int param_1, int param_2); + void computeTileLuminescence(int param_1, int param_2); void increaseHeightForTunnelSingleTile(int tile, uint x, uint y, int increment); int getNonFarmFieldBuildingHealthAtTileOr1000(int tile); - void meth_0x4f81d0(int param_1, uint param_2, uint param_3); + void resetTileToDefaultState(int param_1, uint param_2, uint param_3); uint getBuildingHurtSFXID(int buildingID); @@ -286,116 +286,117 @@ namespace Map { void countPropertyInSurroundingTiles(int tile, int param_2, uint param_3); - undefined4 meth_0x4f85b0(int param_1, int param_2); + undefined4 isTileEnclosedByWallsOrGates(int param_1, int param_2); - undefined4 meth_0x4f8640(int param_1, int param_2); + undefined4 isTileEnclosedByWalls(int param_1, int param_2); - uint meth_0x4f86d0(int param_1, int param_2, int param_3); + uint isWallCornerForCardinalDirection(int param_1, int param_2, int param_3); - uint meth_0x4f8780(int param_1, int param_2, int param_3); + uint isWallCornerForDiagonalDirection(int param_1, int param_2, int param_3); - undefined4 meth_0x4f8840(int param_1, int param_2, int param_3); + undefined4 isWallConnectionHeightValid(int param_1, int param_2, int param_3); - undefined4 meth_0x4f8900(int param_1, int param_2); + undefined4 hasOnlyTowerNeighborsNoWalls(int param_1, int param_2); - uint meth_0x4f89c0(int param_1, int param_2, int param_3); + uint getWallFlagForOrientedDirection(int param_1, int param_2, int param_3); - uint meth_0x4f8a40(int param_1, int param_2, int param_3); + uint hasHigherNeighborWithFlagBit11(int param_1, int param_2, int param_3); - uint meth_0x4f8ac0(int param_1, int param_2, int param_3); + uint hasHigherPlainNeighborWithFlagBit8(int param_1, int param_2, int param_3); int getOrientationThatIsWallTowerOrGatehouse(uint x, uint y); - void previewWallDrawingUnk(int playerID, uint x1, uint y1, uint x2, uint y2, undefined4 command); + void renderWallDragPreview(int playerID, uint x1, uint y1, uint x2, uint y2, undefined4 command); - void meth_0x4f9000(int param_1, int param_2); + void reassignWallOwnershipForPlayer(int param_1, int param_2); void swapWallOwnership(int param_1, int param_2); void destroyWallsOfPlayer(int playerID); - void isWallUnkPlacementAllowed(int playerID, uint x, uint y, CommandBuildingType param_4); + void validateWallPlacementAtTile(int playerID, uint x, uint y, CommandBuildingType param_4); void setupBuildingSizeIndexMappingForBuildingWithSize(int buildingSize); void getBuildingSizeIndexMappingData(int buildingSizeTileIndex, int buildingWidthOrHeight); - BOOLEnum indexIsEdgeUnk(int counter, int size); + BOOLEnum isFootprintIndexOnEdge(int counter, int size); void storeMinAndMaxHeightOfArea(uint x, uint y, int buildingWidthAndHeight); int isBuildingPlacementAllowedAtTile( int tile, int playerID, CommandBuildingType commandBuildingType, int param_4); - void meth_0x4f9df0(int param_1, int param_2, int param_3); + void validateBuildingPlacementAtTile(int param_1, int param_2, int param_3); - void spawnEraserEntityEffectsUnk(undefined4 param_1, int param_2); + void spawnEraserTileEffect(undefined4 param_1, int param_2); - void meth_0x4fa000(int param_1, int param_2); + void determineBuildingPlacementRotation(int param_1, int param_2); void checkDrawbridgePlacement(int x, int y); - undefined4 meth_0x4fa460(int param_1); + undefined4 getRubbleGraphicStageForDamageLevel(int param_1); undefined4 getBuildingSizeForCommandBuildingType(CommandBuildingType commandBuildingType); - void meth_0x4fa760(undefined4 param_1, int param_2, int param_3, undefined4 param_4, int param_5); + void demolishBuildingsInConstructionFootprint( + undefined4 param_1, int param_2, int param_3, undefined4 param_4, int param_5); - void meth_0x4fa9d0(int param_1, int param_2, int param_3); + void markBuildingFootprintFlag(int param_1, int param_2, int param_3); void updateAreaBasedOnSurrounding(int x, int y, int buildingSize); - void meth_0x4faab0(int param_1, int param_2); + void clearBuildingTilesAndTrees(int param_1, int param_2); - void meth_0x4fab70(int x, int y, int size); + void clearBuildingFootprintAndResetUnits(int x, int y, int size); - void meth_0x4fac70(int x, int y, int param_3); + void clearBuildingFootprintAndRemoveSiegeTower(int x, int y, int param_3); - void meth_0x4fad20(int param_1, int param_2, int param_3); + void unmarkBuildingFootprintFlag(int param_1, int param_2, int param_3); - void meth_0x4fad70(int x, int y, int param_3); + void clearBuildingFootprintWithEdgeRubble(int x, int y, int param_3); - void meth_0x4fae50(int param_1, int param_2); + void clearFixedSizeTwoBuildingFootprint(int param_1, int param_2); - undefined4 meth_0x4faee0(int param_1); + undefined4 isUnitBlockingSizeFiveFootprint(int param_1); - void meth_0x4faf70(int param_1, int param_2); + void clearStockpileFootprintTiles(int param_1, int param_2); void setMiscDisplayLayer(int buildingID); - void meth_0x4fb360(int buildingID, int param_2); + void clearBuildingDisplayFlagsAndEntities(int buildingID, int param_2); - void FUN_004fb3f0(int x, int y, int type); + void spawnFloatingNumberAroundTile(int x, int y, int type); void placeRock(uint x, uint y, uint param_3); - void meth_0x4fb770(int rockID); + void applyRockGraphicsToFootprint(int rockID); - void meth_0x4fb8e0(int param_1); + void clearTreeFootprintFlags(int param_1); - void meth_0x4fb970(int param_1); + void clearRockFootprintFlags(int param_1); - void meth_0x4fb9e0(uint x, uint y, short param_3); + void renderWallPlacementPreview(uint x, uint y, short param_3); undefined4 getCastleBuildRangeForMapSize(); void getTileForBrush(int square, int index, int* tilePointer, int* yPointer, int baseTile, uint y); - undefined4 meth_0x4fbe70(int param_1, uint param_2, uint param_3); + undefined4 isTileSuitableForBrushPlacement(int param_1, uint param_2, uint param_3); - void meth_0x4fc0b0(int param_1, int param_2, int param_3); + void computeTileCliffEdgeFlags(int param_1, int param_2, int param_3); - void meth_0x4fc280(int param_1, int param_2, int param_3); + void propagateCliffEdgeFlagFromNeighbor(int param_1, int param_2, int param_3); - void meth_0x4fc340(); + void collectCliffEdgeTilesForClimbData(); void generateDustClouds(); - int meth_0x4fc650(uint param_1); + int computeWallCornerRenderRotation(uint param_1); - BOOLEnum meth_0x4fc7c0(int param_1, undefined4 param_2, int param_3); + BOOLEnum isCliffDropInDirection(int param_1, undefined4 param_2, int param_3); - void meth_0x4fc810(int param_1, uint param_2, uint param_3); + void computeClimbRampRotation(int param_1, uint param_2, uint param_3); void updateGFXLayers(); @@ -415,9 +416,9 @@ namespace Map { void recountTotalOwnedMoats(); - void scanMoatsInGroupsOfThreeUnk(); + void countMoatsOwnedByEachPlayer(); - int countUnfinishedMoatUnk(int playerID); + int countUnfinishedMoatTilesForPlayer(int playerID); int getUnownedMoatCount(); @@ -431,23 +432,23 @@ namespace Map { int setXYBasedOnMoatID(int tile, int param_2, uint x, uint y); - undefined4 meth_0x500500(int moatID); + undefined4 advanceMoatFillProgress(int moatID); - void clearMoatIfUnk(int tile); + void clearMoatAtTileIfPresent(int tile); - void moatRelatedUpdateFunction(); + void updateMoatCountdownTimers(); - void meth_0x500680(); + void resetMoatArray(); - void meth_0x5006c0(); + void clearInvalidMoatEntries(); - void meth_0x500720(int param_1, undefined4 param_2); + void setMoatVisualStateAtTile(int param_1, undefined4 param_2); - void meth_0x500750(int param_1, undefined4 param_2); + void setMoatOwnerForAllMatching(int param_1, undefined4 param_2); void swapMoatOwnership(int param_1, int param_2); - void meth_0x5007d0(); + void resetPitchDitchArray(); int countPitchDitchesWithPlayerID0(); @@ -457,23 +458,23 @@ namespace Map { void swapPitchOwnership(int param_1, int param_2); - undefined4 meth_0x500980(uint x1, uint y1, uint x2, uint y2); + undefined4 findNearestValidDigTileNearTarget(uint x1, uint y1, uint x2, uint y2); - int meth_0x500b50(int param_1, int param_2, uint param_3); + int computeTileAlongAxisOffset(int param_1, int param_2, uint param_3); - void campaignRelatedNumber(); + void setSignpostDistanceForCampaignMission(); - void spreadAlgorithmForFlagsAndBraziers2Unk(int param_1, uint param_2, uint param_3); + void spreadFlagPlacementAlgorithm(int param_1, uint param_2, uint param_3); - void spreadAlgorithmForFlagsAndBraziersUnk(int playerID, uint x, uint y); + void spreadBrazierPlacementAlgorithm(int playerID, uint x, uint y); - void clearAndSetTileMapUnknown2Plus(); + void forceFullTileMapRedraw(); - void meth_0x5017c0(uint param_1, uint param_2, int param_3); + void useEraserBrush(uint param_1, uint param_2, int param_3); void updateShowHiLayerOrResetChangedLayer(); - void changeMapOrientationUnk(int mapOrientation); + void changeMapOrientation(int mapOrientation); void increaseHeightForTunnelWithBrush(int tile, uint x, uint y, int increment); @@ -481,37 +482,37 @@ namespace Map { void createPlateau(int tile, uint the_y, int param_3, int plateauHeightSetting); - void useBrush2(int param_1, uint param_2, uint param_3); + void useLevelBrush(int param_1, uint param_2, uint param_3); void setLand(int tile, uint y, uint brushType_y); - BOOLEnum meth_0x5024f0(int x, uint y, int cbt); + BOOLEnum isValidCastleSiteLocation(int x, uint y, int cbt); - void useBrush3(int param_1, uint param_2, uint param_3, undefined4 param_4); + void useTerrainHeightBrush(int param_1, uint param_2, uint param_3, undefined4 param_4); - byte meth_0x502950(int param_1, uint param_2); + byte getMaxWallHeightInBrushArea(int param_1, uint param_2); - void checkWhetherThisWallBuildIsAllowed(int playerID, uint x1, uint y1, uint x2, uint y2, undefined4 command); + void validateWallBuildPath(int playerID, uint x1, uint y1, uint x2, uint y2, undefined4 command); void placeWalls( int playerID, uint x1, uint y1, uint x2, uint y2, CommandBuildingType wallType, int tileCountUnk); - void placeDefensiveStructurePart2Unk(int param_1, uint x, uint y, CommandBuildingType param_4); + void placeDefensiveStructureTile(int param_1, uint x, uint y, CommandBuildingType param_4); void setupBuildingSizeIndexMapping(); void checkBuildingCanBePlacedHere( int playerID, uint x, uint y__fertileLandCount, CommandBuildingType commandBuildingType, int buildingSize); - void meth_0x504a30(int playerID, uint x, uint y); + void evaluateBuildingPlacementAtCursor(int playerID, uint x, uint y); - void meth_0x504ee0(int param_1, int param_2); + void updateBuildingPlacementRotationPreview(int param_1, int param_2); int setConstructionGFXLayerBasedOnPlacementChecks(int x, int y, CommandBuildingType type, int size); void updateBuildingGraphicsLayer(int buildingID); - void someUpdatePathLinkageRelatedCall(int buildingID); + void updatePathLinkagesForBuilding(int buildingID); void placeWorkshopOrHovel( int playerID, uint x, uint y, BuildingType type, uint size, int orientation, undefined4 averageHeight); @@ -519,13 +520,13 @@ namespace Map { void placeSiegetowerPlaced( int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); - void placeSiegeTentUnk( + void placeSiegeTent( int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); void placePositiveFearfactor(int playerID, uint x, uint y, undefined4 buildingType, undefined4 variation, uint buildingSize, undefined4 param_7, undefined4 height); - void meth_0x507060(int param_1, uint param_2, uint param_3, undefined4 param_4, undefined4 param_5, + void stampBuildingOntoTileMap(int param_1, uint param_2, uint param_3, undefined4 param_4, undefined4 param_5, uint param_6, undefined4 param_7, undefined4 param_8); void placeTower( @@ -533,7 +534,7 @@ namespace Map { void upgradeTowerLogicLayer(int param_1); - void meth_0x507350(int tile); + void resetTileAndClearMoat(int tile); void placeGatehouseSmall( int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); @@ -559,17 +560,17 @@ namespace Map { void placeStockpile( int playerID, int x, int y, undefined4 buildingType, undefined4 param_5, int variation, int averageHeight); - void meth_0x508760(int param_1, int param_2); + void clearSizeFiveBuildingFootprintAndMoats(int param_1, int param_2); - void meth_0x508870(int param_1, int param_2); + void clearSizeFiveBuildingFootprint(int param_1, int param_2); - void meth_0x508910(int param_1); + void floodMoatUnderRemovedBuilding(int param_1); void renderPreviewMapperWithBrush(uint x, uint y, CommandBuildingType param_3); void applyTreeToLogicalLayer(int treeID, int param_2); - void meth_0x508ec0(uint param_1, uint param_2, uint param_3); + void eraseAreaWithBrush(uint param_1, uint param_2, uint param_3); void updateTextureTilemap(); @@ -626,7 +627,7 @@ namespace Map { void clearBuildingFromTerrain(int buildingID); - void createMoatSize5Unk(int param_1); + void createMoatForSizeFiveBuilding(int param_1); void placeTree(uint x, uint y, undefined4 treeType); diff --git a/src/OpenSHC/Map/Units.func.hpp b/src/OpenSHC/Map/Units.func.hpp index e98bc08a..009a1caa 100644 --- a/src/OpenSHC/Map/Units.func.hpp +++ b/src/OpenSHC/Map/Units.func.hpp @@ -14,8 +14,8 @@ namespace Map { namespace Units_Func { MACRO_FUNCTION_RESOLVER( - int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0051BE20, &OpenSHC::Map::Units::FUN_0051be20) - FUN_0051be20; + int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0051BE20, &OpenSHC::Map::Units::FindFirstOpponentWithKeep) + FindFirstOpponentWithKeep; } // namespace Units_Func } // namespace Map diff --git a/src/OpenSHC/Map/Units.hpp b/src/OpenSHC/Map/Units.hpp index e2b293da..2fc665ba 100644 --- a/src/OpenSHC/Map/Units.hpp +++ b/src/OpenSHC/Map/Units.hpp @@ -12,7 +12,7 @@ namespace OpenSHC { namespace Map { namespace Units { - int __stdcall FUN_0051be20(); + int __stdcall FindFirstOpponentWithKeep(); } // namespace Units } // namespace Map diff --git a/src/OpenSHC/Map/Units/TribesState.func.hpp b/src/OpenSHC/Map/Units/TribesState.func.hpp index e435a505..fadbfbdf 100644 --- a/src/OpenSHC/Map/Units/TribesState.func.hpp +++ b/src/OpenSHC/Map/Units/TribesState.func.hpp @@ -37,65 +37,65 @@ namespace Map { void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x005211B0, &TribesState::clearAllTribes) clearAllTribes; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521210, &TribesState::FUN_00521210) - FUN_00521210; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521210, + &TribesState::reassignOwnerForTribesOfBehaviorType2) + reassignOwnerForTribesOfBehaviorType2; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521240, &TribesState::swapTribeOwnership) swapTribeOwnership; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521280, - &TribesState::meth_0x521280) - meth_0x521280; + &TribesState::moveUnitToBehaviorTarget) + moveUnitToBehaviorTarget; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int, int*, int*), false, - Address::SHC_3BB0A8C1_0x00521500, &TribesState::calculatePathPlanToUnitUnk) - calculatePathPlanToUnitUnk; + Address::SHC_3BB0A8C1_0x00521500, &TribesState::predictUnitInterceptPosition) + predictUnitInterceptPosition; MACRO_FUNCTION_RESOLVER(UnitType (TribesState::*)(undefined4, int*), false, - Address::SHC_3BB0A8C1_0x00521720, &TribesState::FUN_00521720) - FUN_00521720; + Address::SHC_3BB0A8C1_0x00521720, &TribesState::getMajoritySelectedUnitType) + getMajoritySelectedUnitType; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005217E0, &TribesState::meth_0x5217e0) - meth_0x5217e0; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005217E0, + &TribesState::playUnitSelectionSound) + playUnitSelectionSound; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521A90, - &TribesState::somethingTargetUnitSoundRelated) - somethingTargetUnitSoundRelated; + &TribesState::playUnitCombatSpeechForTarget) + playUnitCombatSpeechForTarget; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00521EB0, &TribesState::meth_0x521eb0) - meth_0x521eb0; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00521EB0, + &TribesState::playUnitSelectSpeech) + playUnitSelectSpeech; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00521EF0, &TribesState::meth_0x521ef0) - meth_0x521ef0; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00521EF0, + &TribesState::playUnitMoveSpeech) + playUnitMoveSpeech; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522090, &TribesState::meth_0x522090) - meth_0x522090; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522090, + &TribesState::playAttackCommandFeedback) + playAttackCommandFeedback; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00522110, &TribesState::FUN_00522110) - FUN_00522110; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00522110, + &TribesState::playPatrolCommandSpeech) + playPatrolCommandSpeech; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00522150, &TribesState::FUN_00522150) - FUN_00522150; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00522150, + &TribesState::playTunnelerCommandSpeech) + playTunnelerCommandSpeech; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00522160, &TribesState::meth_0x522160) - meth_0x522160; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00522160, + &TribesState::playWorkCommandSpeech) + playWorkCommandSpeech; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, SomeTribeBehaviorType), false, Address::SHC_3BB0A8C1_0x005221A0, &TribesState::applyTribeBehaviorType) applyTribeBehaviorType; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00522210, - &TribesState::FUN_00522210) - FUN_00522210; + &TribesState::updatePeasantSeatingAtBuilding) + updatePeasantSeatingAtBuilding; MACRO_FUNCTION_RESOLVER(uint (TribesState::*)(int, uint), false, Address::SHC_3BB0A8C1_0x00522360, &TribesState::tribeCorrespondsWithUID) @@ -170,20 +170,20 @@ namespace Map { addRallyPoint; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522CA0, - &TribesState::temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance) - temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance; + &TribesState::snapshotSelectionTribeAndComputeStance) + snapshotSelectionTribeAndComputeStance; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x00522DD0, &TribesState::importStoredInfoFromSlot0) importStoredInfoFromSlot0; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x00522EF0, - &TribesState::meth_0x522ef0) - meth_0x522ef0; + &TribesState::trimTribeToSize) + trimTribeToSize; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, int, int, int, UnitType, int, int), false, - Address::SHC_3BB0A8C1_0x00522F70, &TribesState::FUN_00522f70) - FUN_00522f70; + Address::SHC_3BB0A8C1_0x00522F70, &TribesState::spawnUnitsForAITribe) + spawnUnitsForAITribe; MACRO_FUNCTION_RESOLVER( dword (TribesState::*)(undefined4, int, int, int, int, UnitType, UnitType, int, int), false, @@ -191,8 +191,8 @@ namespace Map { spawnUnitsIntoNewTribe; MACRO_FUNCTION_RESOLVER(dword (TribesState::*)(short, undefined4, int, int, int, UnitType, int), false, - Address::SHC_3BB0A8C1_0x00523190, &TribesState::meth_0x523190) - meth_0x523190; + Address::SHC_3BB0A8C1_0x00523190, &TribesState::createTribeWithSpawnedUnit) + createTribeWithSpawnedUnit; MACRO_FUNCTION_RESOLVER(dword (TribesState::*)(undefined4, int, int, int, UnitType, int), false, Address::SHC_3BB0A8C1_0x00523240, &TribesState::spawnUnitsAroundLocation) @@ -215,16 +215,16 @@ namespace Map { setCamelSpawnXY; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(uint*, uint*), false, Address::SHC_3BB0A8C1_0x00523410, - &TribesState::FUN_00523410) - FUN_00523410; + &TribesState::findRecentOrSignpostSpawnLocation) + findRecentOrSignpostSpawnLocation; - MACRO_FUNCTION_RESOLVER( - undefined4 (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00523520, &TribesState::FUN_00523520) - FUN_00523520; + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00523520, + &TribesState::hasAvailableSpawnSlotForWildlifeOrMercs) + hasAvailableSpawnSlotForWildlifeOrMercs; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523590, &TribesState::meth_0x523590) - meth_0x523590; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523590, + &TribesState::updateAnimalHerdBehaviorState) + updateAnimalHerdBehaviorState; MACRO_FUNCTION_RESOLVER( int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523630, &TribesState::getNonDyingUnit) @@ -234,37 +234,37 @@ namespace Map { void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x005236A0, &TribesState::countDeerEfficiently) countDeerEfficiently; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523730, &TribesState::meth_0x523730) - meth_0x523730; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523730, + &TribesState::markTribeAsAnimalTribe) + markTribeAsAnimalTribe; MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523750, &TribesState::meth_0x523750) - meth_0x523750; + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523750, &TribesState::flagTribesOfType) + flagTribesOfType; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00523790, &TribesState::meth_0x523790) - meth_0x523790; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00523790, + &TribesState::consumeFlaggedTribesOfType) + consumeFlaggedTribesOfType; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x005237F0, &TribesState::aiAssignNewUnitToTribe) aiAssignNewUnitToTribe; - MACRO_FUNCTION_RESOLVER( - int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523920, &TribesState::meth_0x523920) - meth_0x523920; + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523920, + &TribesState::scatterTribeUnitsRandomly) + scatterTribeUnitsRandomly; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523A30, &TribesState::drawFlagsAndUnitDestinations) drawFlagsAndUnitDestinations; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, - Address::SHC_3BB0A8C1_0x00523EF0, &TribesState::meth_0x523ef0) - meth_0x523ef0; + Address::SHC_3BB0A8C1_0x00523EF0, &TribesState::upgradeTribeArrayLayoutForMapVersion) + upgradeTribeArrayLayoutForMapVersion; - MACRO_FUNCTION_RESOLVER( - undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523F70, &TribesState::meth_0x523f70) - meth_0x523f70; + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523F70, + &TribesState::updateTribeRallyFlags) + updateTribeRallyFlags; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524000, &TribesState::unsetRallyRelatedFlagOnUnits) @@ -278,9 +278,9 @@ namespace Map { &TribesState::getFirstUnitInTribeThatIsOnXTerrain) getFirstUnitInTribeThatIsOnXTerrain; - MACRO_FUNCTION_RESOLVER( - undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524140, &TribesState::meth_0x524140) - meth_0x524140; + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524140, + &TribesState::tribeHasActiveLaddermanUnit) + tribeHasActiveLaddermanUnit; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005241C0, &TribesState::tribeContainsUnitThatCanClimb) @@ -299,40 +299,40 @@ namespace Map { applyMoveCommandOrRallyCommandToTribe; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, SomeTribeBehaviorType), false, - Address::SHC_3BB0A8C1_0x005244D0, &TribesState::aiAttackWaveUnk) - aiAttackWaveUnk; + Address::SHC_3BB0A8C1_0x005244D0, &TribesState::assignAttackTargetsForTribe) + assignAttackTargetsForTribe; - MACRO_FUNCTION_RESOLVER( - undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524890, &TribesState::meth_0x524890) - meth_0x524890; + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524890, + &TribesState::stopTribeMovementAndCheckIdle) + stopTribeMovementAndCheckIdle; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00524930, &TribesState::meth_0x524930) - meth_0x524930; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00524930, + &TribesState::sortTribePathDestinationsByCost) + sortTribePathDestinationsByCost; - MACRO_FUNCTION_RESOLVER( - undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524B30, &TribesState::meth_0x524b30) - meth_0x524b30; + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524B30, + &TribesState::isTribeUnitBlockedByOtherUnit) + isTribeUnitBlockedByOtherUnit; MACRO_FUNCTION_RESOLVER( int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524BF0, &TribesState::getTribeAliveStatus) getTribeAliveStatus; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, uint, uint, uint, uint), false, - Address::SHC_3BB0A8C1_0x00524CA0, &TribesState::meth_0x524ca0) - meth_0x524ca0; + Address::SHC_3BB0A8C1_0x00524CA0, &TribesState::isTribePathToDestinationClear) + isTribePathToDestinationClear; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524E20, &TribesState::meth_0x524e20) - meth_0x524e20; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524E20, + &TribesState::applyLadderDestructionToTribeUnits) + applyLadderDestructionToTribeUnits; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, BOOLEnum), false, Address::SHC_3BB0A8C1_0x00524EF0, &TribesState::applyUnitTopSpeedDelayBasedOnTribeSize) applyUnitTopSpeedDelayBasedOnTribeSize; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525090, &TribesState::FUN_00525090) - FUN_00525090; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525090, + &TribesState::playArcherCommandSpeech) + playArcherCommandSpeech; MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005250B0, &TribesState::anyUnitsOfTribeAreOutsideCoverageOfPathFindingAlg) @@ -346,29 +346,29 @@ namespace Map { &TribesState::applyMovementDistanceToUnitsInTribeBasedOnUnitNumberInTribe) applyMovementDistanceToUnitsInTribeBasedOnUnitNumberInTribe; - MACRO_FUNCTION_RESOLVER( - undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525210, &TribesState::meth_0x525210) - meth_0x525210; + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525210, + &TribesState::isTribeFreeOfTunnelingUnits) + isTribeFreeOfTunnelingUnits; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525280, &TribesState::setTargetUnitForTribe) setTargetUnitForTribe; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00525300, - &TribesState::meth_0x525300) - meth_0x525300; + &TribesState::setStateForAllTribeUnits) + setStateForAllTribeUnits; MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525370, &TribesState::meth_0x525370) - meth_0x525370; + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525370, &TribesState::standUpAllTribeUnits) + standUpAllTribeUnits; MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005253F0, &TribesState::allUnitsReachedTheirDestination) allUnitsReachedTheirDestination; - MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525470, - &TribesState::makeUnitsDisappearUnk) - makeUnitsDisappearUnk; + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525470, &TribesState::removeAllTribeUnits) + removeAllTribeUnits; MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(uint), false, Address::SHC_3BB0A8C1_0x005254C0, &TribesState::addUnitToNewTribe) @@ -403,16 +403,16 @@ namespace Map { spawnDeerLionOrRabbit; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x005260B0, &TribesState::meth_0x5260b0) - meth_0x5260b0; + Address::SHC_3BB0A8C1_0x005260B0, &TribesState::trySpawnAdditionalWildlifeForTribe) + trySpawnAdditionalWildlifeForTribe; MACRO_FUNCTION_RESOLVER( void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x005261B0, &TribesState::respawnDeer) respawnDeer; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x005262A0, &TribesState::meth_0x5262a0) - meth_0x5262a0; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x005262A0, + &TribesState::spawnWildlifeOrMercAtAvailableSlot) + spawnWildlifeOrMercAtAvailableSlot; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, Address::SHC_3BB0A8C1_0x00526370, &TribesState::upgradeMapTribesState) @@ -434,41 +434,41 @@ namespace Map { &TribesState::updateTribeUnitAssignments) updateTribeUnitAssignments; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00527440, &TribesState::siegeThatRelatedUnk) - siegeThatRelatedUnk; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00527440, + &TribesState::spawnQueuedReinforcementWaves) + spawnQueuedReinforcementWaves; MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, UnitInstructionType, int, int, int), false, Address::SHC_3BB0A8C1_0x00527C80, &TribesState::giveTribeAnInstruction) giveTribeAnInstruction; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A640, &TribesState::meth_0x52a640) - meth_0x52a640; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A640, + &TribesState::moveTribeToNearbyClearTile) + moveTribeToNearbyClearTile; - MACRO_FUNCTION_RESOLVER( - int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A700, &TribesState::meth_0x52a700) - meth_0x52a700; + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A700, + &TribesState::moveTribeToIndexedNearbyTile) + moveTribeToIndexedNearbyTile; MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A7D0, - &TribesState::unitAttackBuildingOrOtherUnitBasedOnStanceUnk) - unitAttackBuildingOrOtherUnitBasedOnStanceUnk; + &TribesState::updateTribeCombatStanceBehavior) + updateTribeCombatStanceBehavior; MACRO_FUNCTION_RESOLVER( void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052AD50, &TribesState::processDeerMoving) processDeerMoving; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B110, &TribesState::meth_0x52b110) - meth_0x52b110; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B110, + &TribesState::updateLionWolfTribeBehavior) + updateLionWolfTribeBehavior; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B390, &TribesState::meth_0x52b390) - meth_0x52b390; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B390, + &TribesState::updateRabbitTribeBehavior) + updateRabbitTribeBehavior; - MACRO_FUNCTION_RESOLVER( - void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B630, &TribesState::meth_0x52b630) - meth_0x52b630; + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B630, + &TribesState::updateCamelTribeBehavior) + updateCamelTribeBehavior; MACRO_FUNCTION_RESOLVER( void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x0052B860, &TribesState::updateTribes) diff --git a/src/OpenSHC/Map/Units/TribesState.hpp b/src/OpenSHC/Map/Units/TribesState.hpp index 7311fd50..edd13ccf 100644 --- a/src/OpenSHC/Map/Units/TribesState.hpp +++ b/src/OpenSHC/Map/Units/TribesState.hpp @@ -67,7 +67,7 @@ namespace Map { ~TribesState() {}; // Constructor - TribesState* Constructor_TribesState(); + TribesState* constructTribesState(); void giveUnitSelectionMoveInstructionNoMatchedSpeed( undefined4 tribeID, undefined4 x, undefined4 y, undefined4 rallyBool, undefined4 doRally); @@ -76,35 +76,35 @@ namespace Map { void clearAllTribes(); - void FUN_00521210(int param_1, int param_2); + void reassignOwnerForTribesOfBehaviorType2(int param_1, int param_2); void swapTribeOwnership(int param_1, int param_2); - undefined4 meth_0x521280(int unitID, int param_2); + undefined4 moveUnitToBehaviorTarget(int unitID, int param_2); - void calculatePathPlanToUnitUnk(int targetUnitID, int unitID, int* unitCurrentX, int* unitCurrentY); + void predictUnitInterceptPosition(int targetUnitID, int unitID, int* unitCurrentX, int* unitCurrentY); - UnitType FUN_00521720(undefined4 tribeID, int* maximumCount); + UnitType getMajoritySelectedUnitType(undefined4 tribeID, int* maximumCount); - void meth_0x5217e0(int param_1); + void playUnitSelectionSound(int param_1); - void somethingTargetUnitSoundRelated(int selectionID, int unitID); + void playUnitCombatSpeechForTarget(int selectionID, int unitID); - void meth_0x521eb0(undefined4 param_1); + void playUnitSelectSpeech(undefined4 param_1); - void meth_0x521ef0(undefined4 param_1); + void playUnitMoveSpeech(undefined4 param_1); - void meth_0x522090(int param_1); + void playAttackCommandFeedback(int param_1); - void FUN_00522110(undefined4 param_1); + void playPatrolCommandSpeech(undefined4 param_1); - void FUN_00522150(); + void playTunnelerCommandSpeech(); - void meth_0x522160(undefined4 param_1); + void playWorkCommandSpeech(undefined4 param_1); void applyTribeBehaviorType(int attackWave, SomeTribeBehaviorType tribeBehaviorType); - void FUN_00522210(int param_1, int param_2, int param_3); + void updatePeasantSeatingAtBuilding(int param_1, int param_2, int param_3); uint tribeCorrespondsWithUID(int tribeID, uint tribeUID); @@ -142,19 +142,19 @@ namespace Map { void addRallyPoint(int section1016ID, short destinationX, short destinationY, int step); - void temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance(int playerID); + void snapshotSelectionTribeAndComputeStance(int playerID); void importStoredInfoFromSlot0(undefined4 param_1, int tribeID); - void meth_0x522ef0(undefined4 tribeID, int smallerSize); + void trimTribeToSize(undefined4 tribeID, int smallerSize); - void FUN_00522f70( + void spawnUnitsForAITribe( undefined4 param_1, int param_2, int param_3, int param_4, UnitType param_5, int param_6, int param_7); dword spawnUnitsIntoNewTribe(undefined4 counter, int tribeType, int x, int y, int playerID, UnitType unitType, UnitType unitType2, int unitType1Count, int unitType2Count); - dword meth_0x523190(short param_1, undefined4 param_2, int param_3, int param_4, int param_5, + dword createTribeWithSpawnedUnit(short param_1, undefined4 param_2, int param_3, int param_4, int param_5, UnitType param_6, int param_7); dword spawnUnitsAroundLocation( @@ -168,31 +168,32 @@ namespace Map { void setCamelSpawnXY(undefined4 x, undefined4 y); - undefined4 FUN_00523410(uint* param_1, uint* param_2); + undefined4 findRecentOrSignpostSpawnLocation(uint* param_1, uint* param_2); - undefined4 FUN_00523520(); + undefined4 hasAvailableSpawnSlotForWildlifeOrMercs(); - void meth_0x523590(int tribeID); + void updateAnimalHerdBehaviorState(int tribeID); int getNonDyingUnit(int tribeID); void countDeerEfficiently(); - void meth_0x523730(int param_1); + void markTribeAsAnimalTribe(int param_1); - void meth_0x523750(int param_1); + void flagTribesOfType(int param_1); - void meth_0x523790(int param_1, int param_2); + void consumeFlaggedTribesOfType(int param_1, int param_2); void aiAssignNewUnitToTribe(int playerID, int unitType, int unitID); - int meth_0x523920(int param_1); + int scatterTribeUnitsRandomly(int param_1); void drawFlagsAndUnitDestinations(int tribeID); - void meth_0x523ef0(PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); + void upgradeTribeArrayLayoutForMapVersion( + PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); - undefined4 meth_0x523f70(int param_1); + undefined4 updateTribeRallyFlags(int param_1); void unsetRallyRelatedFlagOnUnits(int tribeID); @@ -200,7 +201,7 @@ namespace Map { int getFirstUnitInTribeThatIsOnXTerrain(int selectionID); - undefined4 meth_0x524140(int param_1); + undefined4 tribeHasActiveLaddermanUnit(int param_1); undefined4 tribeContainsUnitThatCanClimb(int param_1); @@ -211,23 +212,24 @@ namespace Map { undefined4 applyMoveCommandOrRallyCommandToTribe( int tribeID, undefined4 x1, undefined4 y1, undefined4 isRallying, int storeAsRallyPoint); - undefined4 aiAttackWaveUnk(int tribeID, SomeTribeBehaviorType targetType); + undefined4 assignAttackTargetsForTribe(int tribeID, SomeTribeBehaviorType targetType); - undefined4 meth_0x524890(int param_1); + undefined4 stopTribeMovementAndCheckIdle(int param_1); - void meth_0x524930(int tribeID, int horseAndRamCount); + void sortTribePathDestinationsByCost(int tribeID, int horseAndRamCount); - undefined4 meth_0x524b30(int param_1); + undefined4 isTribeUnitBlockedByOtherUnit(int param_1); int getTribeAliveStatus(int tribeID); - undefined4 meth_0x524ca0(int param_1, uint param_2, uint param_3, uint param_4, uint param_5); + undefined4 isTribePathToDestinationClear( + int param_1, uint param_2, uint param_3, uint param_4, uint param_5); - void meth_0x524e20(int param_1); + void applyLadderDestructionToTribeUnits(int param_1); void applyUnitTopSpeedDelayBasedOnTribeSize(int tribeID, BOOLEnum param_2); - void FUN_00525090(int selectionID); + void playArcherCommandSpeech(int selectionID); BOOLEnum anyUnitsOfTribeAreOutsideCoverageOfPathFindingAlg(int tribeID, int algTileFlag); @@ -235,17 +237,17 @@ namespace Map { void applyMovementDistanceToUnitsInTribeBasedOnUnitNumberInTribe(int param_1); - undefined4 meth_0x525210(int param_1); + undefined4 isTribeFreeOfTunnelingUnits(int param_1); void setTargetUnitForTribe(int tribeID); - void meth_0x525300(int param_1, undefined4 param_2); + void setStateForAllTribeUnits(int param_1, undefined4 param_2); - void meth_0x525370(int param_1); + void standUpAllTribeUnits(int param_1); BOOLEnum allUnitsReachedTheirDestination(int tribeID); - void makeUnitsDisappearUnk(int param_1); + void removeAllTribeUnits(int param_1); BOOLEnum addUnitToNewTribe(uint unitID); @@ -263,11 +265,11 @@ namespace Map { BOOLEnum spawnDeerLionOrRabbit(int tribeID, int param_2, UnitType unitType); - undefined4 meth_0x5260b0(int param_1, int param_2, int param_3, int param_4); + undefined4 trySpawnAdditionalWildlifeForTribe(int param_1, int param_2, int param_3, int param_4); void respawnDeer(); - void meth_0x5262a0(); + void spawnWildlifeOrMercAtAvailableSlot(); void upgradeMapTribesState( PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); @@ -282,24 +284,24 @@ namespace Map { void updateTribeUnitAssignments(); - void siegeThatRelatedUnk(); + void spawnQueuedReinforcementWaves(); undefined4 giveTribeAnInstruction( int tribeID, UnitInstructionType unitInstructionType, int id__x__tile, int unitUID__Y, int param_5); - void meth_0x52a640(int param_1); + void moveTribeToNearbyClearTile(int param_1); - int meth_0x52a700(int param_1); + int moveTribeToIndexedNearbyTile(int param_1); - void unitAttackBuildingOrOtherUnitBasedOnStanceUnk(int tribeID); + void updateTribeCombatStanceBehavior(int tribeID); void processDeerMoving(int tribeID); - void meth_0x52b110(int param_1); + void updateLionWolfTribeBehavior(int param_1); - void meth_0x52b390(int param_1); + void updateRabbitTribeBehavior(int param_1); - void meth_0x52b630(int param_1); + void updateCamelTribeBehavior(int param_1); void updateTribes(); }; diff --git a/src/OpenSHC/Map/Units/TroopValueState.func.hpp b/src/OpenSHC/Map/Units/TroopValueState.func.hpp index 620abe5c..584bf92f 100644 --- a/src/OpenSHC/Map/Units/TroopValueState.func.hpp +++ b/src/OpenSHC/Map/Units/TroopValueState.func.hpp @@ -28,16 +28,16 @@ namespace Map { clearAttackInfo; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00518180, - &TroopValueState::FUN_00518180) - FUN_00518180; + &TroopValueState::initializeAttackWaveSlot) + initializeAttackWaveSlot; MACRO_FUNCTION_RESOLVER(BOOLEnum (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x005182A0, &TroopValueState::searchTribeWithProperties) searchTribeWithProperties; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x00518350, - &TroopValueState::FUN_00518350) - FUN_00518350; + &TroopValueState::isAttackWaveComplete) + isAttackWaveComplete; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int, int, SomeTribeBehaviorType), false, Address::SHC_3BB0A8C1_0x00518380, &TroopValueState::sortAttackInfoTribeIDArrayBasedOn) @@ -48,36 +48,36 @@ namespace Map { applyTribeBehaviorTypes; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(SomeTribeBehaviorType, undefined4, short, short), false, - Address::SHC_3BB0A8C1_0x00518930, &TroopValueState::FUN_00518930) - FUN_00518930; + Address::SHC_3BB0A8C1_0x00518930, &TroopValueState::assignBehaviorTypeToNearbyTribes) + assignBehaviorTypeToNearbyTribes; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int, SomeTribeBehaviorType, undefined4, undefined4), - false, Address::SHC_3BB0A8C1_0x00518A10, &TroopValueState::FUN_00518a10) - FUN_00518a10; + false, Address::SHC_3BB0A8C1_0x00518A10, &TroopValueState::assignBehaviorTypeAndLinkSupportTribe) + assignBehaviorTypeAndLinkSupportTribe; MACRO_FUNCTION_RESOLVER(BOOLEnum (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00518BB0, &TroopValueState::isLessThanPercentageOfTribesInAttackDying) isLessThanPercentageOfTribesInAttackDying; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00518C50, &TroopValueState::renderDebugDataZoneDataUnk) - renderDebugDataZoneDataUnk; + Address::SHC_3BB0A8C1_0x00518C50, &TroopValueState::renderAttackInfoDebugOverlay) + renderAttackInfoDebugOverlay; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x00519310, &TroopValueState::FUN_00519310) - FUN_00519310; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x00519310, + &TroopValueState::computeAttackWaveTroopComposition) + computeAttackWaveTroopComposition; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519690, &TroopValueState::FUN_00519690) - FUN_00519690; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519690, + &TroopValueState::buildRallyPointsFromSiegeUnits) + buildRallyPointsFromSiegeUnits; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519790, &TroopValueState::FUN_00519790) - FUN_00519790; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519790, + &TroopValueState::setRallyPointForLaddermenTribe) + setRallyPointForLaddermenTribe; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519850, &TroopValueState::FUN_00519850) - FUN_00519850; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519850, + &TroopValueState::initializeAttackZoneSearch) + initializeAttackZoneSearch; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x005198C0, &TroopValueState::recomputeTargetedBuildingTilesArray) @@ -88,8 +88,8 @@ namespace Map { getTileInTargetedBuildingTiles; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00519990, - &TroopValueState::hack2related) - hack2related; + &TroopValueState::computeSiegeSpotScores) + computeSiegeSpotScores; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519CC0, &TroopValueState::findEnemyWalls) @@ -100,8 +100,8 @@ namespace Map { setScale3; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519E40, - &TroopValueState::meth_0x519e40) - meth_0x519e40; + &TroopValueState::findNearestAvailableScalePoint) + findNearestAvailableScalePoint; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00519F50, &TroopValueState::setTown2) @@ -111,29 +111,29 @@ namespace Map { &TroopValueState::findEnemyBuildingsClosestToUnit) findEnemyBuildingsClosestToUnit; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A0C0, &TroopValueState::FUN_0051a0c0) - FUN_0051a0c0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A0C0, + &TroopValueState::countAvailablePeopleValueSlots) + countAvailablePeopleValueSlots; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A100, &TroopValueState::FUN_0051a100) - FUN_0051a100; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A100, + &TroopValueState::countAvailableLordValueSlots) + countAvailableLordValueSlots; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A140, &TroopValueState::calculateTile2PeoplValueClosestToUnit) calculateTile2PeoplValueClosestToUnit; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0051A220, - &TroopValueState::findEnemyLordUnk) - findEnemyLordUnk; + &TroopValueState::findEnemyLord) + findEnemyLord; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051A2D0, &TroopValueState::setGate2) setGate2; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A330, - &TroopValueState::findEnemyTowersOrGatesUnk) - findEnemyTowersOrGatesUnk; + &TroopValueState::findEnemyTowersOrGates) + findEnemyTowersOrGates; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051A550, &TroopValueState::setWide3) @@ -151,73 +151,73 @@ namespace Map { &TroopValueState::calculateTile2MoatValueClosestToUnit) calculateTile2MoatValueClosestToUnit; - MACRO_FUNCTION_RESOLVER( - int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A8A0, &TroopValueState::meth_0x51a8a0) - meth_0x51a8a0; + MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A8A0, + &TroopValueState::findNearestDiggableMoatPoint) + findNearestDiggableMoatPoint; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051A920, - &TroopValueState::meth_0x51a920) - meth_0x51a920; + &TroopValueState::findTribeWithMoatAttackBehavior) + findTribeWithMoatAttackBehavior; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A9A0, &TroopValueState::FUN_0051a9a0) - FUN_0051a9a0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A9A0, + &TroopValueState::countAvailableHighValueSlots) + countAvailableHighValueSlots; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A9F0, &TroopValueState::calculateHigh2ClostestToTribeTargetUnit) calculateHigh2ClostestToTribeTargetUnit; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AB10, &TroopValueState::FUN_0051ab10) - FUN_0051ab10; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AB10, + &TroopValueState::countAvailableArcherValueSlots) + countAvailableArcherValueSlots; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AB60, &TroopValueState::calculateArch2ClosestToTribeTargetUnit) calculateArch2ClosestToTribeTargetUnit; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051ACE0, &TroopValueState::FUN_0051ace0) - FUN_0051ace0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051ACE0, + &TroopValueState::expandAIZoneLayerStage1) + expandAIZoneLayerStage1; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AE00, &TroopValueState::FUN_0051ae00) - FUN_0051ae00; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AE00, + &TroopValueState::expandAIZoneLayerStage2) + expandAIZoneLayerStage2; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AE90, &TroopValueState::FUN_0051ae90) - FUN_0051ae90; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AE90, + &TroopValueState::expandAIZoneLayerStage3) + expandAIZoneLayerStage3; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AF20, - &TroopValueState::unkArcherRelated1) - unkArcherRelated1; + &TroopValueState::findOrReserveArcherPointSlot) + findOrReserveArcherPointSlot; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AF70, &TroopValueState::FUN_0051af70) - FUN_0051af70; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AF70, + &TroopValueState::pruneStaleArcherPoints) + pruneStaleArcherPoints; - MACRO_FUNCTION_RESOLVER( - int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AFF0, &TroopValueState::FUN_0051aff0) - FUN_0051aff0; + MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AFF0, + &TroopValueState::claimArcherAttackPoint) + claimArcherAttackPoint; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051B0C0, &TroopValueState::getSupportPointIndex) getSupportPointIndex; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B110, &TroopValueState::FUN_0051b110) - FUN_0051b110; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B110, + &TroopValueState::pruneStaleSupportPoints) + pruneStaleSupportPoints; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051B240, &TroopValueState::getSiegeIndexForTile) getSiegeIndexForTile; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B290, &TroopValueState::FUN_0051b290) - FUN_0051b290; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B290, + &TroopValueState::pruneStaleTentPoints) + pruneStaleTentPoints; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int, CommandBuildingType), false, - Address::SHC_3BB0A8C1_0x0051B310, &TroopValueState::placeSiegeTentAndAssignEngineersUnk) - placeSiegeTentAndAssignEngineersUnk; + Address::SHC_3BB0A8C1_0x0051B310, &TroopValueState::placeSiegeTentAtAttackAngle) + placeSiegeTentAtAttackAngle; MACRO_FUNCTION_RESOLVER(BOOLEnum (TroopValueState::*)(int, CommandBuildingType, uint, UnitInstructionType), false, Address::SHC_3BB0A8C1_0x0051B420, @@ -228,13 +228,13 @@ namespace Map { &TroopValueState::placeTunnelEntrances) placeTunnelEntrances; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B680, &TroopValueState::FUN_0051b680) - FUN_0051b680; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B680, + &TroopValueState::clearAIInfoLayerOutsideStartZone) + clearAIInfoLayerOutsideStartZone; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B6C0, &TroopValueState::FUN_0051b6c0) - FUN_0051b6c0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B6C0, + &TroopValueState::playAttackAlarmSound) + playAttackAlarmSound; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051B710, &TroopValueState::placeSiegeTentsAndAssignEngineers) @@ -249,20 +249,20 @@ namespace Map { addUnitToNewTribe; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BD10, - &TroopValueState::exitSiegeEquipmentUnk) - exitSiegeEquipmentUnk; + &TroopValueState::exitSiegeEquipmentForWave) + exitSiegeEquipmentForWave; MACRO_FUNCTION_RESOLVER(BOOLEnum (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BDE0, &TroopValueState::getPlayerNot1AndHasKeep) getPlayerNot1AndHasKeep; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BE60, &TroopValueState::FUN_0051be60) - FUN_0051be60; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BE60, + &TroopValueState::registerSpottedEnemyTile) + registerSpottedEnemyTile; MACRO_FUNCTION_RESOLVER(BOOLEnum (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051BF20, - &TroopValueState::shouldLightPitchBecauseOfTroopValueUnk) - shouldLightPitchBecauseOfTroopValueUnk; + &TroopValueState::shouldLightPitchBasedOnTroopValue) + shouldLightPitchBasedOnTroopValue; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BF70, &TroopValueState::giveLightPitchInstructionToUnitClosestToPitch) @@ -272,17 +272,17 @@ namespace Map { &TroopValueState::lightPitchIfNecessary) lightPitchIfNecessary; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051C2D0, &TroopValueState::meth_0x51c2d0) - meth_0x51c2d0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051C2D0, + &TroopValueState::updateArcherBrazierProximityFlags) + updateArcherBrazierProximityFlags; MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(UnitType), false, Address::SHC_3BB0A8C1_0x0051C360, &TroopValueState::getValueOfTroopType) getValueOfTroopType; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051C470, &TroopValueState::FUN_0051c470) - FUN_0051c470; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051C470, + &TroopValueState::queueOilThrowForIdleArchers) + queueOilThrowForIdleArchers; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051C570, &TroopValueState::ifNecessaryThrowOilAutomatically) @@ -292,53 +292,53 @@ namespace Map { &TroopValueState::commandUnitsToMoveToKeep) commandUnitsToMoveToKeep; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CA50, &TroopValueState::meth_0x51ca50) - meth_0x51ca50; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CA50, + &TroopValueState::collectArcherUnitsByLocation) + collectArcherUnitsByLocation; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CBD0, &TroopValueState::FUN_0051cbd0) - FUN_0051cbd0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CBD0, + &TroopValueState::redeployArchersToDefensivePositions) + redeployArchersToDefensivePositions; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CCB0, &TroopValueState::assignMacemenAndKnightsNotFromPlayer1ToTribes) assignMacemenAndKnightsNotFromPlayer1ToTribes; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CF90, &TroopValueState::FUN_0051cf90) - FUN_0051cf90; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051CF90, + &TroopValueState::trySendMacemenTribeToAttack) + trySendMacemenTribeToAttack; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051D020, &TroopValueState::FUN_0051d020) - FUN_0051d020; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051D020, + &TroopValueState::trySendKnightTribeToAttack) + trySendKnightTribeToAttack; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D0D0, &TroopValueState::sendAttackingPatrolTribeToComputedDestination) sendAttackingPatrolTribeToComputedDestination; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D1C0, &TroopValueState::FUN_0051d1c0) - FUN_0051d1c0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D1C0, + &TroopValueState::moveTribeToReachableNearbyTile) + moveTribeToReachableNearbyTile; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D2B0, &TroopValueState::FUN_0051d2b0) - FUN_0051d2b0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D2B0, + &TroopValueState::decideAndExecuteTribeAttackAction) + decideAndExecuteTribeAttackAction; MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D450, - &TroopValueState::moveUnitsToGateHouseUnk) - moveUnitsToGateHouseUnk; + &TroopValueState::moveTribeToNearbyGatehouse) + moveTribeToNearbyGatehouse; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D510, &TroopValueState::moveTowardsParticularUnits) moveTowardsParticularUnits; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D690, - &TroopValueState::meth_0x51d690) - meth_0x51d690; + &TroopValueState::advanceAttackWaveStaging) + advanceAttackWaveStaging; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D730, - &TroopValueState::meth_0x51d730) - meth_0x51d730; + &TroopValueState::updateActiveAttackWaveState) + updateActiveAttackWaveState; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D7F0, &TroopValueState::updateTribeBehaviorBasedOnBehaviorType) @@ -348,21 +348,21 @@ namespace Map { &TroopValueState::recomputeAttackInfo) recomputeAttackInfo; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F340, &TroopValueState::FUN_0051f340) - FUN_0051f340; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F340, + &TroopValueState::scanForArcherPoints) + scanForArcherPoints; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F4B0, &TroopValueState::FUN_0051f4b0) - FUN_0051f4b0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F4B0, + &TroopValueState::scanForSupportPoints) + scanForSupportPoints; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F5C0, &TroopValueState::FUN_0051f5c0) - FUN_0051f5c0; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F5C0, + &TroopValueState::scanForSiegeTentPoints) + scanForSiegeTentPoints; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F950, &TroopValueState::meth_0051f950) - meth_0051f950; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F950, + &TroopValueState::processSpottedEnemyTiles) + processSpottedEnemyTiles; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F9C0, &TroopValueState::recountTotalTroopValue) @@ -380,13 +380,13 @@ namespace Map { &TroopValueState::recountAttackTroopValue) recountAttackTroopValue; - MACRO_FUNCTION_RESOLVER( - void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051FE80, &TroopValueState::meth_0051fe80) - meth_0051fe80; + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051FE80, + &TroopValueState::updateAttackInfoTick) + updateAttackInfoTick; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051FF90, - &TroopValueState::meth_0x51ff90) - meth_0x51ff90; + &TroopValueState::initializeOrAdvanceAttackWave) + initializeOrAdvanceAttackWave; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005200A0, &TroopValueState::aiRecomputeAttacks2) @@ -397,16 +397,16 @@ namespace Map { aiRecomputeAttacks; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00520450, - &TroopValueState::meth_0x520450) - meth_0x520450; + &TroopValueState::updateInProgressAttackWave) + updateInProgressAttackWave; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x005205A0, - &TroopValueState::meth_0x5205a0) - meth_0x5205a0; + &TroopValueState::executeAttackWaveTargetAssignment) + executeAttackWaveTargetAssignment; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00520CD0, - &TroopValueState::meth_0x520cd0) - meth_0x520cd0; + &TroopValueState::executeDelayedAttackWaveTargetAssignment) + executeDelayedAttackWaveTargetAssignment; MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x00520F70, &TroopValueState::aiControlNonSkirmishUnitMovement) diff --git a/src/OpenSHC/Map/Units/TroopValueState.hpp b/src/OpenSHC/Map/Units/TroopValueState.hpp index 15c33e61..745758ed 100644 --- a/src/OpenSHC/Map/Units/TroopValueState.hpp +++ b/src/OpenSHC/Map/Units/TroopValueState.hpp @@ -49,15 +49,15 @@ namespace Map { ~TroopValueState() {}; // Constructor - TroopValueState* Constructor_TroopValueState(); + TroopValueState* constructTroopValueState(); void clearAttackInfo(); - void FUN_00518180(int param_1, int param_2); + void initializeAttackWaveSlot(int param_1, int param_2); BOOLEnum searchTribeWithProperties(int param_1); - undefined4 FUN_00518350(); + undefined4 isAttackWaveComplete(); void sortAttackInfoTribeIDArrayBasedOn( int attackWave, int shrinkSize, int tribeSizeSumLimit, SomeTribeBehaviorType someTribeTypeIdentifier); @@ -65,50 +65,51 @@ namespace Map { void applyTribeBehaviorTypes( SomeTribeBehaviorType tribeBehaviorType, SomeTribeBehaviorType tribeBehaviorType2, int off1, int off2); - void FUN_00518930(SomeTribeBehaviorType param_1, undefined4 param_2, short param_3, short param_4); + void assignBehaviorTypeToNearbyTribes( + SomeTribeBehaviorType param_1, undefined4 param_2, short param_3, short param_4); - void FUN_00518a10( + void assignBehaviorTypeAndLinkSupportTribe( int param_1, int param_2, SomeTribeBehaviorType param_3, undefined4 param_4, undefined4 param_5); BOOLEnum isLessThanPercentageOfTribesInAttackDying(int attackID, int leDyingPerc); - void renderDebugDataZoneDataUnk(int x, int y, int width, int height); + void renderAttackInfoDebugOverlay(int x, int y, int width, int height); - void FUN_00519310(); + void computeAttackWaveTroopComposition(); - void FUN_00519690(int tribeID); + void buildRallyPointsFromSiegeUnits(int tribeID); - void FUN_00519790(int param_1); + void setRallyPointForLaddermenTribe(int param_1); - void FUN_00519850(int param_1); + void initializeAttackZoneSearch(int param_1); void recomputeTargetedBuildingTilesArray(int playerID); BOOLEnum getTileInTargetedBuildingTiles(int tile); - void hack2related(int attackedPlayerID, int attackingPlayerID); + void computeSiegeSpotScores(int attackedPlayerID, int attackingPlayerID); undefined4 findEnemyWalls(int unitID); void setScale3(int one, int playerID); - undefined4 meth_0x519e40(int unitID); + undefined4 findNearestAvailableScalePoint(int unitID); void setTown2(int param_1, int playerID); undefined4 findEnemyBuildingsClosestToUnit(int unitID); - void FUN_0051a0c0(int param_1); + void countAvailablePeopleValueSlots(int param_1); - void FUN_0051a100(int param_1); + void countAvailableLordValueSlots(int param_1); undefined4 calculateTile2PeoplValueClosestToUnit(int unitID); - int findEnemyLordUnk(undefined4 param_1); + int findEnemyLord(undefined4 param_1); void setGate2(int param_1, int param_2); - undefined4 findEnemyTowersOrGatesUnk(int unitID); + undefined4 findEnemyTowersOrGates(int unitID); void setWide3(int param_1, int param_2); @@ -118,48 +119,48 @@ namespace Map { undefined4 calculateTile2MoatValueClosestToUnit(int unitID); - int meth_0x51a8a0(int param_1); + int findNearestDiggableMoatPoint(int param_1); - undefined4 meth_0x51a920(); + undefined4 findTribeWithMoatAttackBehavior(); - void FUN_0051a9a0(int param_1); + void countAvailableHighValueSlots(int param_1); int calculateHigh2ClostestToTribeTargetUnit(int tribeID); - void FUN_0051ab10(int param_1); + void countAvailableArcherValueSlots(int param_1); int calculateArch2ClosestToTribeTargetUnit(int tribeID); - void FUN_0051ace0(); + void expandAIZoneLayerStage1(); - void FUN_0051ae00(); + void expandAIZoneLayerStage2(); - void FUN_0051ae90(); + void expandAIZoneLayerStage3(); - int unkArcherRelated1(int param_1); + int findOrReserveArcherPointSlot(int param_1); - void FUN_0051af70(); + void pruneStaleArcherPoints(); - int FUN_0051aff0(int param_1); + int claimArcherAttackPoint(int param_1); int getSupportPointIndex(int tile); - void FUN_0051b110(); + void pruneStaleSupportPoints(); int getSiegeIndexForTile(int tile); - void FUN_0051b290(); + void pruneStaleTentPoints(); - int placeSiegeTentAndAssignEngineersUnk(int tribeID, CommandBuildingType commandBuildingType); + int placeSiegeTentAtAttackAngle(int tribeID, CommandBuildingType commandBuildingType); BOOLEnum placeSiegeTentOrTunnelAtSuitableLocationAndAssignEngineers(int tribeID, CommandBuildingType commandBuildingType, uint strategicDistance, UnitInstructionType instruction); int placeTunnelEntrances(int tribeID); - void FUN_0051b680(); + void clearAIInfoLayerOutsideStartZone(); - void FUN_0051b6c0(); + void playAttackAlarmSound(); void placeSiegeTentsAndAssignEngineers(int param_1, int param_2); @@ -167,63 +168,63 @@ namespace Map { int addUnitToNewTribe(undefined4 unitID, int attackWave, AITribeType tribeType, undefined4 playerID); - void exitSiegeEquipmentUnk(int wave); + void exitSiegeEquipmentForWave(int wave); BOOLEnum getPlayerNot1AndHasKeep(int playerID); - void FUN_0051be60(int param_1); + void registerSpottedEnemyTile(int param_1); - BOOLEnum shouldLightPitchBecauseOfTroopValueUnk(int tile, int playerID); + BOOLEnum shouldLightPitchBasedOnTroopValue(int tile, int playerID); undefined4 giveLightPitchInstructionToUnitClosestToPitch(int tile); void lightPitchIfNecessary(int unitID, int unitID2); - void meth_0x51c2d0(); + void updateArcherBrazierProximityFlags(); int getValueOfTroopType(UnitType unitType); - void FUN_0051c470(); + void queueOilThrowForIdleArchers(); undefined4 ifNecessaryThrowOilAutomatically(int param_1); void commandUnitsToMoveToKeep(); - void meth_0x51ca50(); + void collectArcherUnitsByLocation(); - void FUN_0051cbd0(); + void redeployArchersToDefensivePositions(); void assignMacemenAndKnightsNotFromPlayer1ToTribes(); - void FUN_0051cf90(); + void trySendMacemenTribeToAttack(); - void FUN_0051d020(); + void trySendKnightTribeToAttack(); void sendAttackingPatrolTribeToComputedDestination(int tribeID); - void FUN_0051d1c0(int param_1); + void moveTribeToReachableNearbyTile(int param_1); - void FUN_0051d2b0(int tribeID); + void decideAndExecuteTribeAttackAction(int tribeID); - undefined4 moveUnitsToGateHouseUnk(int param_1); + undefined4 moveTribeToNearbyGatehouse(int param_1); void moveTowardsParticularUnits(int param_1); - void meth_0x51d690(int param_1); + void advanceAttackWaveStaging(int param_1); - void meth_0x51d730(int attackWave); + void updateActiveAttackWaveState(int attackWave); void updateTribeBehaviorBasedOnBehaviorType(int tribeID); void recomputeAttackInfo(int playerID, int attackedPlayerID); - void FUN_0051f340(); + void scanForArcherPoints(); - void FUN_0051f4b0(); + void scanForSupportPoints(); - void FUN_0051f5c0(); + void scanForSiegeTentPoints(); - void meth_0051f950(); + void processSpottedEnemyTiles(); void recountTotalTroopValue(); @@ -233,19 +234,19 @@ namespace Map { void recountAttackTroopValue(int param_1); - void meth_0051fe80(); + void updateAttackInfoTick(); - void meth_0x51ff90(int param_1); + void initializeOrAdvanceAttackWave(int param_1); void aiRecomputeAttacks2(int param_1, int param_2); void aiRecomputeAttacks(undefined4 param_1, int param_2); - void meth_0x520450(int attackID); + void updateInProgressAttackWave(int attackID); - void meth_0x5205a0(int param_1); + void executeAttackWaveTargetAssignment(int param_1); - void meth_0x520cd0(int param_1); + void executeDelayedAttackWaveTargetAssignment(int param_1); void aiControlNonSkirmishUnitMovement(); }; diff --git a/src/OpenSHC/Map/Units/UnitsState.func.hpp b/src/OpenSHC/Map/Units/UnitsState.func.hpp index d62c5b42..b9b386ab 100644 --- a/src/OpenSHC/Map/Units/UnitsState.func.hpp +++ b/src/OpenSHC/Map/Units/UnitsState.func.hpp @@ -71,9 +71,9 @@ namespace Map { &UnitsState::setupUnitSharingTileIDs) setupUnitSharingTileIDs; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F4E0, &UnitsState::meth_0x52f4e0) - meth_0x52f4e0; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F4E0, + &UnitsState::isUnitRegisteredOnItsOwnTile) + isUnitRegisteredOnItsOwnTile; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F550, &UnitsState::ifAnyUnitOnSameTileIsLadder) @@ -83,9 +83,9 @@ namespace Map { &UnitsState::ifAnyUnitOnSameTileIsLadderInRightDirection) ifAnyUnitOnSameTileIsLadderInRightDirection; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F680, &UnitsState::FUN_0052f680) - FUN_0052f680; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F680, + &UnitsState::triggerDesyncIfTileUnitLinkageInvalid) + triggerDesyncIfTileUnitLinkageInvalid; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x0052F730, &UnitsState::removeUnitsSameTileLinkageIfNoLongerApplicable) @@ -96,28 +96,28 @@ namespace Map { calculateUnitMovementSpeed; MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052FBB0, &UnitsState::meth_0x52fbb0) - meth_0x52fbb0; + undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052FBB0, &UnitsState::standUpIfSeated) + standUpIfSeated; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052FBF0, &UnitsState::meth_0x52fbf0) - meth_0x52fbf0; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052FBF0, + &UnitsState::sitDownIfStanding) + sitDownIfStanding; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FC30, &UnitsState::meth_0x52fc30) - meth_0x52fc30; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FC30, + &UnitsState::setFacingDirectionTowardUnit) + setFacingDirectionTowardUnit; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052FCA0, - &UnitsState::meth_0x52fca0) - meth_0x52fca0; + &UnitsState::setFacingDirectionTowardCoords) + setFacingDirectionTowardCoords; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FD00, &UnitsState::setUnitFacingDirectionTowardsTarget) setUnitFacingDirectionTowardsTarget; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FE00, &UnitsState::FUN_0052fe00) - FUN_0052fe00; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FE00, + &UnitsState::setFacingDirectionTowardUnitMicro) + setFacingDirectionTowardUnitMicro; MACRO_FUNCTION_RESOLVER(bool (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052FE90, &UnitsState::setUnitFacingDirectionForTargetXandY) @@ -127,37 +127,37 @@ namespace Map { &UnitsState::setUnitFacingDirectionBasedOnBuilding) setUnitFacingDirectionBasedOnBuilding; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530080, &UnitsState::FUN_00530080) - FUN_00530080; + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530080, + &UnitsState::isComputerManagedNonPeasant) + isComputerManagedNonPeasant; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005300B0, &UnitsState::playHurtSFXForUnit) playHurtSFXForUnit; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005301F0, &UnitsState::meth_0x5301f0) - meth_0x5301f0; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005301F0, + &UnitsState::countLivingNondyingUnitsForPlayer) + countLivingNondyingUnitsForPlayer; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530240, &UnitsState::meth_0x530240) - meth_0x530240; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530240, + &UnitsState::triggerStoneTowerDeathForPlayer) + triggerStoneTowerDeathForPlayer; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005302B0, &UnitsState::killAllUnownedUnits) killAllUnownedUnits; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00530310, &UnitsState::meth_0x530310) - meth_0x530310; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00530310, + &UnitsState::triggerDeathAnimationForAllWildlife) + triggerDeathAnimationForAllWildlife; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530390, &UnitsState::killUnits) killUnits; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00530400, &UnitsState::meth_0x530400) - meth_0x530400; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00530400, + &UnitsState::transferNonCourtUnitsToPlayer) + transferNonCourtUnitsToPlayer; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00530500, &UnitsState::makeCourtMemberUnitsDisappearAndSwapAllOtherUnitsOwnership) @@ -176,12 +176,12 @@ namespace Map { setMissionNumberSpecificLord; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530FD0, - &UnitsState::checkIfCitizenUnitIsAliveBasedOnStateUnk) - checkIfCitizenUnitIsAliveBasedOnStateUnk; + &UnitsState::checkIfCitizenUnitIsAliveBasedOnState) + checkIfCitizenUnitIsAliveBasedOnState; - MACRO_FUNCTION_RESOLVER( - bool (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00531000, &UnitsState::meth_0x531000) - meth_0x531000; + MACRO_FUNCTION_RESOLVER(bool (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00531000, + &UnitsState::shouldUnitsEngageInMelee) + shouldUnitsEngageInMelee; MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005311F0, &UnitsState::ComputeDamageFearFactorBonus) @@ -212,12 +212,12 @@ namespace Map { getArmySize; MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00532F80, - &UnitsState::distanceComputationForSomeOldCodeForSomeMissions) - distanceComputationForSomeOldCodeForSomeMissions; + &UnitsState::computeDistanceToNearestEnemyForLegacyMissions) + computeDistanceToNearestEnemyForLegacyMissions; MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00533090, &UnitsState::FUN_00533090) - FUN_00533090; + BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00533090, &UnitsState::returnFalseStub) + returnFalseStub; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x005330A0, &UnitsState::setRandomShootLocation) @@ -235,29 +235,29 @@ namespace Map { &UnitsState::findClosestLaddermanWithLadderPosition) findClosestLaddermanWithLadderPosition; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00533810, &UnitsState::meth_0x533810) - meth_0x533810; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00533810, + &UnitsState::findAndDestroyAdjacentEnemyLadder) + findAndDestroyAdjacentEnemyLadder; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00533920, &UnitsState::getDestination2EqualsGivenCoordinates) getDestination2EqualsGivenCoordinates; - MACRO_FUNCTION_RESOLVER( - bool (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533960, &UnitsState::meth_0x533960) - meth_0x533960; + MACRO_FUNCTION_RESOLVER(bool (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533960, + &UnitsState::isAtSecondaryDestination) + isAtSecondaryDestination; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005339A0, - &UnitsState::unitReachedDestinationUnk) - unitReachedDestinationUnk; + &UnitsState::hasUnitReachedDestination) + hasUnitReachedDestination; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005339F0, &UnitsState::meth_0x5339f0) - meth_0x5339f0; + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005339F0, + &UnitsState::hasTunnelerNotFinishedDigging) + hasTunnelerNotFinishedDigging; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, uint, int, int), false, - Address::SHC_3BB0A8C1_0x00533A10, &UnitsState::ladderClimbRelatedUnk) - ladderClimbRelatedUnk; + Address::SHC_3BB0A8C1_0x00533A10, &UnitsState::computeLadderClimbPath) + computeLadderClimbPath; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00533B30, &UnitsState::changeDestinationByAmount) @@ -271,17 +271,17 @@ namespace Map { &UnitsState::tracePathFromLadderExitSetDestination) tracePathFromLadderExitSetDestination; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533D50, &UnitsState::FUN_00533d50) - FUN_00533d50; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533D50, + &UnitsState::updateUnitFadeAndVisibilityNearStructures) + updateUnitFadeAndVisibilityNearStructures; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533F90, &UnitsState::meth_0x533f90) - meth_0x533f90; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533F90, + &UnitsState::saveUnitStateBeforeInterruption) + saveUnitStateBeforeInterruption; MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533FC0, &UnitsState::meth_0x533fc0) - meth_0x533fc0; + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533FC0, &UnitsState::despawnUnreachableUnit) + despawnUnreachableUnit; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534030, &UnitsState::updateMicroPosition) @@ -291,17 +291,17 @@ namespace Map { &UnitsState::adjustUnitMapOrientationRelatedPositionBasedOnMapOrientationCorrectedFacingDirection) adjustUnitMapOrientationRelatedPositionBasedOnMapOrientationCorrectedFacingDirection; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00534130, &UnitsState::meth_0x534130) - meth_0x534130; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00534130, + &UnitsState::applyTunnelDamageAlongPathPlan) + applyTunnelDamageAlongPathPlan; MACRO_FUNCTION_RESOLVER( int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534240, &UnitsState::stopUnitIfNextToTarget) stopUnitIfNextToTarget; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534380, &UnitsState::meth_0x534380) - meth_0x534380; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534380, + &UnitsState::isWorkplaceBuildingOnAdjacentTile) + isWorkplaceBuildingOnAdjacentTile; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005343F0, &UnitsState::setWorkplaceBuildingEntryAsTarget) @@ -311,37 +311,37 @@ namespace Map { BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534460, &UnitsState::unitIsInMoat) unitIsInMoat; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534490, &UnitsState::meth_0x534490) - meth_0x534490; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534490, + &UnitsState::stampOccupancyFlagOnSurroundingTiles) + stampOccupancyFlagOnSurroundingTiles; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00534520, &UnitsState::writeSixToTileMap1104InAllDirections) writeSixToTileMap1104InAllDirections; MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x005345A0, &UnitsState::getUnitThatFulfillsSomeTimebasedAndLocationBasedCriteria) - getUnitThatFulfillsSomeTimebasedAndLocationBasedCriteria; + Address::SHC_3BB0A8C1_0x005345A0, &UnitsState::findEligibleUnitByTimeAndLocation) + findEligibleUnitByTimeAndLocation; MACRO_FUNCTION_RESOLVER( int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005346D0, &UnitsState::selectNewBlessingTarget) selectNewBlessingTarget; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005347E0, &UnitsState::meth_0x5347e0) - meth_0x5347e0; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005347E0, + &UnitsState::applyDragBoxSelectionByPriority) + applyDragBoxSelectionByPriority; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00534D10, &UnitsState::meth_0x534d10) - meth_0x534d10; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00534D10, + &UnitsState::selectUnitsInDragBoxForCurrentPlayer) + selectUnitsInDragBoxForCurrentPlayer; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00534EE0, &UnitsState::meth_0x534ee0) - meth_0x534ee0; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00534EE0, + &UnitsState::selectFirstUnitInDragBoxAnyPlayer) + selectFirstUnitInDragBoxAnyPlayer; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005350B0, &UnitsState::meth_0x5350b0) - meth_0x5350b0; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005350B0, + &UnitsState::selectAllUnitsOfTypeForPlayer) + selectAllUnitsOfTypeForPlayer; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535150, &UnitsState::deselectAllUnitsOneByOne) @@ -363,69 +363,69 @@ namespace Map { void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535240, &UnitsState::recountUnitsInSelection) recountUnitsInSelection; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535520, &UnitsState::meth_0x535520) - meth_0x535520; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535520, + &UnitsState::selectionContainsEngineersOnly) + selectionContainsEngineersOnly; MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535550, &UnitsState::meth_0x535550) - meth_0x535550; + BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535550, &UnitsState::selectionHasEngineers) + selectionHasEngineers; MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535560, &UnitsState::meth_0x535560) - meth_0x535560; + BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535560, &UnitsState::selectionHasArchers) + selectionHasArchers; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535580, &UnitsState::meth_0x535580) - meth_0x535580; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535580, + &UnitsState::selectionHasMobileAssaultUnits) + selectionHasMobileAssaultUnits; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005355E0, &UnitsState::meth_0x5355e0) - meth_0x5355e0; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005355E0, + &UnitsState::selectionHasMixedAssaultAndInfantry) + selectionHasMixedAssaultAndInfantry; - MACRO_FUNCTION_RESOLVER( - uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535680, &UnitsState::meth_0x535680) - meth_0x535680; + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535680, + &UnitsState::getSelectedEngineerCarryingResource) + getSelectedEngineerCarryingResource; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535700, &UnitsState::meth_0x535700) - meth_0x535700; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535700, + &UnitsState::selectionContainsTunnelersOnly) + selectionContainsTunnelersOnly; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535730, &UnitsState::selectionContainsRangedOnlyUnits) selectionContainsRangedOnlyUnits; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005357E0, &UnitsState::meth_0x5357e0) - meth_0x5357e0; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005357E0, + &UnitsState::selectionContainsLadermenOnly) + selectionContainsLadermenOnly; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535810, &UnitsState::selectionContainsOnlyArabAssassins) selectionContainsOnlyArabAssassins; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535840, &UnitsState::meth_0x535840) - meth_0x535840; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535840, + &UnitsState::selectionContainsShieldmenOnly) + selectionContainsShieldmenOnly; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535870, &UnitsState::meth_0x535870) - meth_0x535870; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535870, + &UnitsState::selectionHasShieldOrSiegeMobileUnits) + selectionHasShieldOrSiegeMobileUnits; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005358C0, &UnitsState::meth_0x5358c0) - meth_0x5358c0; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005358C0, + &UnitsState::selectionHasShieldOrSiegeTower) + selectionHasShieldOrSiegeTower; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535910, &UnitsState::meth_0x535910) - meth_0x535910; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535910, + &UnitsState::selectionHasNoRangedUnits) + selectionHasNoRangedUnits; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535980, &UnitsState::meth_0x535980) - meth_0x535980; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535980, + &UnitsState::selectionHasFootSoldiers) + selectionHasFootSoldiers; - MACRO_FUNCTION_RESOLVER( - uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005359C0, &UnitsState::meth_0x5359c0) - meth_0x5359c0; + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005359C0, + &UnitsState::getSelectedLordIDIfOwnedByCurrentPlayer) + getSelectedLordIDIfOwnedByCurrentPlayer; MACRO_FUNCTION_RESOLVER( int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535A30, &UnitsState::createUnitSelection) @@ -439,13 +439,13 @@ namespace Map { &UnitsState::playerMakeUnitSelection) playerMakeUnitSelection; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00535DF0, &UnitsState::FUN_00535df0) - FUN_00535df0; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00535DF0, + &UnitsState::getFirstSelectedUnitID) + getFirstSelectedUnitID; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00535E20, - &UnitsState::siegeEngineRelated) - siegeEngineRelated; + &UnitsState::selectSiegeEngineAndPlayFeedback) + selectSiegeEngineAndPlayFeedback; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00535FD0, &UnitsState::makeSelectionBasedOnShortcut) @@ -455,29 +455,29 @@ namespace Map { &UnitsState::isUnitShortcutAvailable) isUnitShortcutAvailable; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00536190, &UnitsState::tribeRelated1) - tribeRelated1; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00536190, + &UnitsState::selectTribeUnitsForPlayer) + selectTribeUnitsForPlayer; MACRO_FUNCTION_RESOLVER(UnitType (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005361F0, &UnitsState::getUnitTypeOfFirstSelectedUnit) getUnitTypeOfFirstSelectedUnit; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536260, &UnitsState::meth_0x536260) - meth_0x536260; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536260, + &UnitsState::selectionHasMovableNonSiegeUnit) + selectionHasMovableNonSiegeUnit; - MACRO_FUNCTION_RESOLVER( - uint (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005362F0, &UnitsState::meth_0x5362f0) - meth_0x5362f0; + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005362F0, + &UnitsState::getFirstSelectedUnitOfEitherType) + getFirstSelectedUnitOfEitherType; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536370, &UnitsState::meth_0x536370) - meth_0x536370; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536370, + &UnitsState::getMaxStoneAmmoInSelectedSiegeEngines) + getMaxStoneAmmoInSelectedSiegeEngines; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536400, &UnitsState::meth_0x536400) - meth_0x536400; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536400, + &UnitsState::countSelectedCatapultsAndTrebuchets) + countSelectedCatapultsAndTrebuchets; MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005364C0, &UnitsState::returnFirstSelectedEngineer) @@ -487,57 +487,57 @@ namespace Map { &UnitsState::getTunnelerIDOnlyIfFirstSelected) getTunnelerIDOnlyIfFirstSelected; - MACRO_FUNCTION_RESOLVER( - uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005365A0, &UnitsState::meth_0x5365a0) - meth_0x5365a0; + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005365A0, + &UnitsState::getFirstSelectedLadderUnitID) + getFirstSelectedLadderUnitID; MACRO_FUNCTION_RESOLVER( undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536610, &UnitsState::canAUnitClimb) canAUnitClimb; - MACRO_FUNCTION_RESOLVER( - uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536690, &UnitsState::meth_0x536690) - meth_0x536690; + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536690, + &UnitsState::getFirstSelectedSiegeEngineID) + getFirstSelectedSiegeEngineID; - MACRO_FUNCTION_RESOLVER( - uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536710, &UnitsState::meth_0x536710) - meth_0x536710; + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536710, + &UnitsState::getFirstSelectedCatapultOrTrebuchetID) + getFirstSelectedCatapultOrTrebuchetID; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00536780, &UnitsState::meth_0x536780) - meth_0x536780; + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00536780, + &UnitsState::isTowerTileOvercrowdedByCurrentPlayer) + isTowerTileOvercrowdedByCurrentPlayer; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536970, &UnitsState::checkAnySelectedUnitCannotClimb) checkAnySelectedUnitCannotClimb; - MACRO_FUNCTION_RESOLVER( - BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005369F0, &UnitsState::meth_0x5369f0) - meth_0x5369f0; + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005369F0, + &UnitsState::selectionHasUnmannedSiegeEngine) + selectionHasUnmannedSiegeEngine; MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00536A60, &UnitsState::selectionContainsCombatUnit) selectionContainsCombatUnit; MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536C70, &UnitsState::FUN_00536c70) - FUN_00536c70; + void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536C70, &UnitsState::queueStopCommand) + queueStopCommand; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00536C90, &UnitsState::queueCommand0xF) - queueCommand0xF; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00536C90, + &UnitsState::queueUnitTypeCommand) + queueUnitTypeCommand; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00536CC0, &UnitsState::queueClickNavigateMenuOrEscape) queueClickNavigateMenuOrEscape; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, uint, int), false, Address::SHC_3BB0A8C1_0x00536CF0, - &UnitsState::tribeRelated2) - tribeRelated2; + &UnitsState::clearOrDeselectUnitFromSelection) + clearOrDeselectUnitFromSelection; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536DE0, &UnitsState::meth_0x536de0) - meth_0x536de0; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536DE0, + &UnitsState::clearSelectionCountsAndPlayerIDs) + clearSelectionCountsAndPlayerIDs; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int, int, int), false, Address::SHC_3BB0A8C1_0x00536E30, &UnitsState::giveMoveCommand) @@ -552,25 +552,25 @@ namespace Map { extendRallyPoint; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x00537100, &UnitsState::FUN_00537100) - FUN_00537100; + Address::SHC_3BB0A8C1_0x00537100, &UnitsState::queueDisbandAndAttackCommand2Params) + queueDisbandAndAttackCommand2Params; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4, undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x00537130, &UnitsState::FUN_00537130) - FUN_00537130; + Address::SHC_3BB0A8C1_0x00537130, &UnitsState::queueDisbandAndAttackCommand3Params) + queueDisbandAndAttackCommand3Params; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4, undefined4, undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x00537160, &UnitsState::queueCommand_36d) - queueCommand_36d; + Address::SHC_3BB0A8C1_0x00537160, &UnitsState::queueDisbandAndAttackCommand4Params) + queueDisbandAndAttackCommand4Params; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(undefined4, UnitInstructionType, undefined4, undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x005371A0, &UnitsState::queueCommand_36_variation2) - queueCommand_36_variation2; + Address::SHC_3BB0A8C1_0x005371A0, &UnitsState::queueDisbandAndAttackCommand5Params) + queueDisbandAndAttackCommand5Params; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, UnitInstructionType, int, int, int), false, - Address::SHC_3BB0A8C1_0x005371E0, &UnitsState::giveTribeAnInstruction2) - giveTribeAnInstruction2; + Address::SHC_3BB0A8C1_0x005371E0, &UnitsState::relayTribeInstruction) + relayTribeInstruction; MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x005371F0, &UnitsState::findFreeTileNearby) @@ -588,21 +588,21 @@ namespace Map { int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00537840, &UnitsState::getRawDeerCount) getRawDeerCount; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00537880, &UnitsState::meth_0x537880) - meth_0x537880; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00537880, + &UnitsState::findNearestShootableDeer) + findNearestShootableDeer; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00537A00, &UnitsState::meth_0x537a00) - meth_0x537a00; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00537A00, + &UnitsState::findNearestIdleCowForPlayer) + findNearestIdleCowForPlayer; MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, BOOLEnum, uint, uint), false, Address::SHC_3BB0A8C1_0x00537AA0, &UnitsState::findClosestAnimalStoreResult) findClosestAnimalStoreResult; MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x00537C10, - &UnitsState::getClosestUnitIDUnk) - getClosestUnitIDUnk; + &UnitsState::findClosestEnemyByAreaAndRange) + findClosestEnemyByAreaAndRange; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00537D60, &UnitsState::tryAttackUnitID) @@ -616,9 +616,9 @@ namespace Map { &UnitsState::setAIControlStatusTo100000) setAIControlStatusTo100000; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int, int*), false, Address::SHC_3BB0A8C1_0x00537F60, &UnitsState::FUN_00537f60) - FUN_00537f60; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int*), false, Address::SHC_3BB0A8C1_0x00537F60, + &UnitsState::clearUnitPositionCommitState) + clearUnitPositionCommitState; MACRO_FUNCTION_RESOLVER( GmID (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00539BE0, &UnitsState::getPeasantGmID) @@ -628,17 +628,17 @@ namespace Map { &UnitsState::chooseHusbandAndWife) chooseHusbandAndWife; - MACRO_FUNCTION_RESOLVER( - undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A070, &UnitsState::meth_0x53a070) - meth_0x53a070; + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A070, + &UnitsState::isWorkerAtProductionIdleState) + isWorkerAtProductionIdleState; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A150, &UnitsState::meth_0x53a150) - meth_0x53a150; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A150, + &UnitsState::getWorkerBlockingStateIfStuck) + getWorkerBlockingStateIfStuck; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A4D0, &UnitsState::meth_0x53a4d0) - meth_0x53a4d0; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A4D0, + &UnitsState::findActiveSiegeEngineForTribe) + findActiveSiegeEngineForTribe; MACRO_FUNCTION_RESOLVER( int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A560, &UnitsState::getLivingSelectableUnit) @@ -652,9 +652,9 @@ namespace Map { &UnitsState::setUnitValues) setUnitValues; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053BB10, &UnitsState::updateUnitPositionUnk) - updateUnitPositionUnk; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053BB10, + &UnitsState::commitPendingUnitPosition) + commitPendingUnitPosition; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053BB70, &UnitsState::setupUnitSharingCurrentTilePosition) @@ -673,16 +673,16 @@ namespace Map { prepareProjectileTarget; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053D030, - &UnitsState::harassBuildingsAIUnk) - harassBuildingsAIUnk; + &UnitsState::harassBuildingsWithSiegeAI) + harassBuildingsWithSiegeAI; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x0053D3D0, &UnitsState::setDestinationForUnit) setDestinationForUnit; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053D850, &UnitsState::meth_0x53d850) - meth_0x53d850; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053D850, + &UnitsState::resumeMovementAfterInterruption) + resumeMovementAfterInterruption; MACRO_FUNCTION_RESOLVER( void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053D900, &UnitsState::exitLadder) @@ -693,12 +693,12 @@ namespace Map { getUnitInHitBox; MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0053DCC0, - &UnitsState::setTargetedBuildingDestinationUnk) - setTargetedBuildingDestinationUnk; + &UnitsState::setDestinationNearTargetedBuilding) + setDestinationNearTargetedBuilding; - MACRO_FUNCTION_RESOLVER( - int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053DDD0, &UnitsState::meth_0x53ddd0) - meth_0x53ddd0; + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053DDD0, + &UnitsState::selectWorkerSpeechOrMoraleStateID) + selectWorkerSpeechOrMoraleStateID; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(PackagedFileMagicNum, PackagedFileMagicNum), false, Address::SHC_3BB0A8C1_0x0053E390, &UnitsState::upgradeMapFormatForUnits) @@ -721,12 +721,12 @@ namespace Map { commitUnitLocation; MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E870, &UnitsState::someUnitMoveFunction) - someUnitMoveFunction; + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E870, &UnitsState::resetUnitMovementState) + resetUnitMovementState; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E8D0, &UnitsState::meth_0x53e8d0) - meth_0x53e8d0; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E8D0, + &UnitsState::clearHiddenFlagAndUpdatePosition) + clearHiddenFlagAndUpdatePosition; MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, uint, uint, undefined4), false, Address::SHC_3BB0A8C1_0x0053E900, &UnitsState::setPositionOfUnit) @@ -744,17 +744,17 @@ namespace Map { void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00549C70, &UnitsState::processMeleeInitiation) processMeleeInitiation; - MACRO_FUNCTION_RESOLVER( - void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054A770, &UnitsState::meth_0x54a770) - meth_0x54a770; + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054A770, + &UnitsState::resumeMovementIfNoAttackTarget) + resumeMovementIfNoAttackTarget; MACRO_FUNCTION_RESOLVER(dword (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054A7B0, - &UnitsState::findNearestEnemyAndHeadTowardsItUnk) - findNearestEnemyAndHeadTowardsItUnk; + &UnitsState::findNearestEnemyAndHeadTowardsIt) + findNearestEnemyAndHeadTowardsIt; MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(short*), false, Address::SHC_3BB0A8C1_0x0054B0D0, - &UnitsState::canShootTargetUnk) - canShootTargetUnk; + &UnitsState::acquireShootTarget) + acquireShootTarget; MACRO_FUNCTION_RESOLVER( BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054BFC0, &UnitsState::updateClimbing) diff --git a/src/OpenSHC/Map/Units/UnitsState.hpp b/src/OpenSHC/Map/Units/UnitsState.hpp index fb6d9b3b..54490217 100644 --- a/src/OpenSHC/Map/Units/UnitsState.hpp +++ b/src/OpenSHC/Map/Units/UnitsState.hpp @@ -42,7 +42,7 @@ namespace Map { undefined4 unknownInitially0_01; // 0x00000008 length: 4 undefined4 DAT_LastSelectedUnitID; // 0x0000000C length: 4 undefined4 unitControlsRelated; // 0x00000010 length: 4 - undefined4 field5_0x14; // 0x00000014 length: 4 + BOOLEnum field5_0x14; // 0x00000014 length: 4 undefined4 DAT_LostChimps; // 0x00000018 length: 4 undefined4 unitDistanceComputationResultUnk; // 0x0000001C length: 4 undefined4 totalUnitsInSelection; // 0x00000020 length: 4 @@ -51,8 +51,8 @@ namespace Map { byte DAT_SelectedUnitsBitFlags[400]; // 0x00000074 length: 400 byte unusedBytes02[852]; // 0x00000204 length: 852 BOOLEnum hasEngineerSelected; // 0x00000558 length: 4 - undefined4 field14_0x55c; // 0x0000055C length: 4 - undefined4 field15_0x560; // 0x00000560 length: 4 + int field14_0x55c; // 0x0000055C length: 4 + int field15_0x560; // 0x00000560 length: 4 undefined4 selectionEuropeanArchers; // 0x00000564 length: 4 undefined4 selectionSpearmen; // 0x00000568 length: 4 undefined4 selectionMacemen; // 0x0000056C length: 4 @@ -71,7 +71,7 @@ namespace Map { int selectionShield; // 0x000005A0 length: 4 int selectionMangonel; // 0x000005A4 length: 4 int selectionBallista; // 0x000005A8 length: 4 - int field34_0x5ac; // 0x000005AC length: 4 + int nSelectionFireBallistas; // 0x000005AC length: 4 int selectionArabArcher; // 0x000005B0 length: 4 int selectionArabSlave; // 0x000005B4 length: 4 int selectionArabSlinger; // 0x000005B8 length: 4 @@ -81,12 +81,12 @@ namespace Map { int selectionArabFireThrower; // 0x000005C8 length: 4 int selectionFireBallista; // 0x000005CC length: 4 int selectionSlots[8]; // 0x000005D0 length: 32 - int field44_0x5f0; // 0x000005F0 length: 4 + int nHasOwnedUnitInSelection; // 0x000005F0 length: 4 undefined4 unknownX_01; // 0x000005F4 length: 4 undefined4 unknownY_01; // 0x000005F8 length: 4 byte unusedBytes03[8]; // 0x000005FC length: 8 - undefined4 field48_0x604; // 0x00000604 length: 4 - undefined4 field49_0x608; // 0x00000608 length: 4 + dword field48_0x604; // 0x00000604 length: 4 + uint field49_0x608; // 0x00000608 length: 4 undefined4 DAT_EuroUnitAcquisitionFailReason; // 0x0000060C length: 4 undefined4 DAT_EuroUnitRequiredResource; // 0x00000610 length: 4 Unit units[2500]; // 0x00000614 length: 2920000 @@ -103,7 +103,7 @@ namespace Map { ~UnitsState() {}; // Constructor - UnitsState* Constructor_UnitsState(); + UnitsState* constructUnitsState(); void clearAllUnits(); @@ -129,49 +129,49 @@ namespace Map { void setupUnitSharingTileIDs(int unitID, int unitCurrentTilePosition); - undefined4 meth_0x52f4e0(int unitID); + undefined4 isUnitRegisteredOnItsOwnTile(int unitID); BOOLEnum ifAnyUnitOnSameTileIsLadder(int unitID); undefined4 ifAnyUnitOnSameTileIsLadderInRightDirection(int tile, int y); - void FUN_0052f680(int tile); + void triggerDesyncIfTileUnitLinkageInvalid(int tile); void removeUnitsSameTileLinkageIfNoLongerApplicable(); void calculateUnitMovementSpeed(int unitID); - undefined4 meth_0x52fbb0(int param_1); + undefined4 standUpIfSeated(int param_1); - undefined4 meth_0x52fbf0(int param_1); + undefined4 sitDownIfStanding(int param_1); - void meth_0x52fc30(int param_1, int param_2); + void setFacingDirectionTowardUnit(int param_1, int param_2); - void meth_0x52fca0(int param_1, int param_2, int param_3); + void setFacingDirectionTowardCoords(int param_1, int param_2, int param_3); undefined4 setUnitFacingDirectionTowardsTarget(int unitID, int targetUnitID); - void FUN_0052fe00(int param_1, int param_2); + void setFacingDirectionTowardUnitMicro(int param_1, int param_2); bool setUnitFacingDirectionForTargetXandY(int unitID, int targetX, int targetY); uint setUnitFacingDirectionBasedOnBuilding(int unitID, int buildingID); - BOOLEnum FUN_00530080(int param_1); + BOOLEnum isComputerManagedNonPeasant(int param_1); void playHurtSFXForUnit(int unitID); - int meth_0x5301f0(int param_1); + int countLivingNondyingUnitsForPlayer(int param_1); - void meth_0x530240(int param_1); + void triggerStoneTowerDeathForPlayer(int param_1); void killAllUnownedUnits(); - void meth_0x530310(); + void triggerDeathAnimationForAllWildlife(); void killUnits(int playerID); - void meth_0x530400(int fromPlayer, int toPlayer); + void transferNonCourtUnitsToPlayer(int fromPlayer, int toPlayer); void makeCourtMemberUnitsDisappearAndSwapAllOtherUnitsOwnership(int param_1, int param_2); @@ -181,9 +181,9 @@ namespace Map { void setMissionNumberSpecificLord(int missionNumber); - BOOLEnum checkIfCitizenUnitIsAliveBasedOnStateUnk(int param_1); + BOOLEnum checkIfCitizenUnitIsAliveBasedOnState(int param_1); - bool meth_0x531000(int param_1, int param_2); + bool shouldUnitsEngageInMelee(int param_1, int param_2); int ComputeDamageFearFactorBonus(int damage, int playerID); @@ -199,9 +199,9 @@ namespace Map { int getArmySize(int playerID); - int distanceComputationForSomeOldCodeForSomeMissions(int param_1); + int computeDistanceToNearestEnemyForLegacyMissions(int param_1); - BOOLEnum FUN_00533090(); + BOOLEnum returnFalseStub(); void setRandomShootLocation(int unitID, int microX, int microY, int z); @@ -211,17 +211,17 @@ namespace Map { BOOLEnum findClosestLaddermanWithLadderPosition(int unitID); - int meth_0x533810(int param_1, int param_2); + int findAndDestroyAdjacentEnemyLadder(int param_1, int param_2); BOOLEnum getDestination2EqualsGivenCoordinates(int unitID, int x, int y); - bool meth_0x533960(int param_1); + bool isAtSecondaryDestination(int param_1); - BOOLEnum unitReachedDestinationUnk(int unitID); + BOOLEnum hasUnitReachedDestination(int unitID); - BOOLEnum meth_0x5339f0(int param_1); + BOOLEnum hasTunnelerNotFinishedDigging(int param_1); - undefined4 ladderClimbRelatedUnk(int unitID, uint param_2, int param_3, int param_4); + undefined4 computeLadderClimbPath(int unitID, uint param_2, int param_3, int param_4); void changeDestinationByAmount(int unitID, int leftover); @@ -229,42 +229,42 @@ namespace Map { void tracePathFromLadderExitSetDestination(int unitID); - void FUN_00533d50(int unitID); + void updateUnitFadeAndVisibilityNearStructures(int unitID); - void meth_0x533f90(int param_1); + void saveUnitStateBeforeInterruption(int param_1); - void meth_0x533fc0(int param_1); + void despawnUnreachableUnit(int param_1); void updateMicroPosition(int unitID); void adjustUnitMapOrientationRelatedPositionBasedOnMapOrientationCorrectedFacingDirection(int param_1); - void meth_0x534130(uint unitID); + void applyTunnelDamageAlongPathPlan(uint unitID); int stopUnitIfNextToTarget(int unitID); - undefined4 meth_0x534380(int param_1); + undefined4 isWorkplaceBuildingOnAdjacentTile(int param_1); undefined4 setWorkplaceBuildingEntryAsTarget(int unitID, int entryAngleUnk); BOOLEnum unitIsInMoat(int unitID); - void meth_0x534490(int param_1); + void stampOccupancyFlagOnSurroundingTiles(int param_1); void writeSixToTileMap1104InAllDirections(int unitID, undefined4 six); - int getUnitThatFulfillsSomeTimebasedAndLocationBasedCriteria( + int findEligibleUnitByTimeAndLocation( int unitID, int playerID, int unitXPosition, int unitYPosition, int zero1, int zero2); int selectNewBlessingTarget(int unitID); - void meth_0x5347e0(); + void applyDragBoxSelectionByPriority(); - void meth_0x534d10(); + void selectUnitsInDragBoxForCurrentPlayer(); - void meth_0x534ee0(); + void selectFirstUnitInDragBoxAnyPlayer(); - void meth_0x5350b0(int param_1, int param_2); + void selectAllUnitsOfTypeForPlayer(int param_1, int param_2); void deselectAllUnitsOneByOne(); @@ -276,37 +276,37 @@ namespace Map { void recountUnitsInSelection(); - int meth_0x535520(); + int selectionContainsEngineersOnly(); - BOOLEnum meth_0x535550(); + BOOLEnum selectionHasEngineers(); - BOOLEnum meth_0x535560(); + BOOLEnum selectionHasArchers(); - undefined4 meth_0x535580(); + undefined4 selectionHasMobileAssaultUnits(); - undefined4 meth_0x5355e0(); + undefined4 selectionHasMixedAssaultAndInfantry(); - uint meth_0x535680(); + uint getSelectedEngineerCarryingResource(); - int meth_0x535700(); + int selectionContainsTunnelersOnly(); BOOLEnum selectionContainsRangedOnlyUnits(); - int meth_0x5357e0(); + int selectionContainsLadermenOnly(); BOOLEnum selectionContainsOnlyArabAssassins(); - int meth_0x535840(); + int selectionContainsShieldmenOnly(); - undefined4 meth_0x535870(); + undefined4 selectionHasShieldOrSiegeMobileUnits(); - undefined4 meth_0x5358c0(); + undefined4 selectionHasShieldOrSiegeTower(); - undefined4 meth_0x535910(); + undefined4 selectionHasNoRangedUnits(); - undefined4 meth_0x535980(); + undefined4 selectionHasFootSoldiers(); - uint meth_0x5359c0(); + uint getSelectedLordIDIfOwnedByCurrentPlayer(); int createUnitSelection(); @@ -314,55 +314,55 @@ namespace Map { void playerMakeUnitSelection(int playerID, int tribeID); - void FUN_00535df0(undefined4 param_1); + void getFirstSelectedUnitID(undefined4 param_1); - void siegeEngineRelated(int playerID, int unitID, int tribeID); + void selectSiegeEngineAndPlayFeedback(int playerID, int unitID, int tribeID); void makeSelectionBasedOnShortcut(int section1099ID); BOOLEnum isUnitShortcutAvailable(int unitHotKeyNumber); - void tribeRelated1(int playerID, int tribeID); + void selectTribeUnitsForPlayer(int playerID, int tribeID); UnitType getUnitTypeOfFirstSelectedUnit(); - undefined4 meth_0x536260(); + undefined4 selectionHasMovableNonSiegeUnit(); - uint meth_0x5362f0(int param_1, int param_2); + uint getFirstSelectedUnitOfEitherType(int param_1, int param_2); - int meth_0x536370(); + int getMaxStoneAmmoInSelectedSiegeEngines(); - undefined4 meth_0x536400(); + undefined4 countSelectedCatapultsAndTrebuchets(); uint returnFirstSelectedEngineer(); uint getTunnelerIDOnlyIfFirstSelected(); - uint meth_0x5365a0(); + uint getFirstSelectedLadderUnitID(); undefined4 canAUnitClimb(); - uint meth_0x536690(); + uint getFirstSelectedSiegeEngineID(); - uint meth_0x536710(); + uint getFirstSelectedCatapultOrTrebuchetID(); - BOOLEnum meth_0x536780(int param_1); + BOOLEnum isTowerTileOvercrowdedByCurrentPlayer(int param_1); undefined4 checkAnySelectedUnitCannotClimb(); - BOOLEnum meth_0x5369f0(int param_1); + BOOLEnum selectionHasUnmannedSiegeEngine(int param_1); int selectionContainsCombatUnit(uint unitID); - void FUN_00536c70(); + void queueStopCommand(); - void queueCommand0xF(undefined4 unitType); + void queueUnitTypeCommand(undefined4 unitType); void queueClickNavigateMenuOrEscape(undefined4 param_1); - void tribeRelated2(int playerID, uint unitID, int unitType); + void clearOrDeselectUnitFromSelection(int playerID, uint unitID, int unitType); - void meth_0x536de0(); + void clearSelectionCountsAndPlayerIDs(); void giveMoveCommand(int tribeID, int x, int y, int patrol, int matchUnitSpeeds); @@ -371,16 +371,17 @@ namespace Map { void extendRallyPoint(int tribeID, int mouseX, int mouseY, int rallyCount); - void FUN_00537100(undefined4 param_1, undefined4 param_2); + void queueDisbandAndAttackCommand2Params(undefined4 param_1, undefined4 param_2); - void FUN_00537130(undefined4 param_1, undefined4 param_2, undefined4 param_3); + void queueDisbandAndAttackCommand3Params(undefined4 param_1, undefined4 param_2, undefined4 param_3); - void queueCommand_36d(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4); + void queueDisbandAndAttackCommand4Params( + undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4); - void queueCommand_36_variation2(undefined4 param_1, UnitInstructionType instruction, undefined4 param_3, - undefined4 param_4, undefined4 param_5); + void queueDisbandAndAttackCommand5Params(undefined4 param_1, UnitInstructionType instruction, + undefined4 param_3, undefined4 param_4, undefined4 param_5); - void giveTribeAnInstruction2( + void relayTribeInstruction( int tribeID, UnitInstructionType instructionType, int targetID_1, int targetID_2, int param_5); uint findFreeTileNearby(uint unitID, uint tile); @@ -391,13 +392,13 @@ namespace Map { int getRawDeerCount(); - void meth_0x537880(int param_1); + void findNearestShootableDeer(int param_1); - int meth_0x537a00(int param_1, int param_2, int param_3); + int findNearestIdleCowForPlayer(int param_1, int param_2, int param_3); int findClosestAnimalStoreResult(int maxDistance, BOOLEnum excludeCows, uint x, uint y); - int getClosestUnitIDUnk(int param_1, uint param_2, uint param_3, int param_4); + int findClosestEnemyByAreaAndRange(int param_1, uint param_2, uint param_3, int param_4); undefined4 tryAttackUnitID(int unitID_1, int unitID_2); @@ -405,17 +406,17 @@ namespace Map { void setAIControlStatusTo100000(); - int FUN_00537f60(int unitIndex, int* param_2); + int clearUnitPositionCommitState(int unitIndex, int* param_2); GmID getPeasantGmID(int unitID); undefined4 chooseHusbandAndWife(int* husbandID, int* wifeID); - undefined4 meth_0x53a070(int param_1); + undefined4 isWorkerAtProductionIdleState(int param_1); - int meth_0x53a150(int param_1); + int getWorkerBlockingStateIfStuck(int param_1); - int meth_0x53a4d0(int param_1); + int findActiveSiegeEngineForTribe(int param_1); int getLivingSelectableUnit(int playerID); @@ -423,7 +424,7 @@ namespace Map { void setUnitValues(int unitID, UnitType unitType); - void updateUnitPositionUnk(int unitID); + void commitPendingUnitPosition(int unitID); void setupUnitSharingCurrentTilePosition(int unitID); @@ -433,19 +434,19 @@ namespace Map { int prepareProjectileTarget(int shooterID, int targetID, int param_3); - undefined4 harassBuildingsAIUnk(int unitID); + undefined4 harassBuildingsWithSiegeAI(int unitID); BOOLEnum setDestinationForUnit(int unitID, uint x, uint y, int reusePathingInfo); - void meth_0x53d850(int unitID); + void resumeMovementAfterInterruption(int unitID); void exitLadder(int unitID); uint getUnitInHitBox(undefined4 param_1); - undefined4 setTargetedBuildingDestinationUnk(int unitID, int param_2); + undefined4 setDestinationNearTargetedBuilding(int unitID, int param_2); - int meth_0x53ddd0(int unitID); + int selectWorkerSpeechOrMoraleStateID(int unitID); void upgradeMapFormatForUnits( PackagedFileMagicNum receivedMapVersion, PackagedFileMagicNum packagerMapVersion); @@ -459,9 +460,9 @@ namespace Map { void commitUnitLocation(int unitID); - void someUnitMoveFunction(int unitID); + void resetUnitMovementState(int unitID); - void meth_0x53e8d0(int unitID); + void clearHiddenFlagAndUpdatePosition(int unitID); void setPositionOfUnit(int unitID, uint x, uint y, undefined4 height); @@ -471,11 +472,11 @@ namespace Map { void processMeleeInitiation(int unitID); - void meth_0x54a770(int param_1); + void resumeMovementIfNoAttackTarget(int param_1); - dword findNearestEnemyAndHeadTowardsItUnk(int unitID); + dword findNearestEnemyAndHeadTowardsIt(int unitID); - BOOLEnum canShootTargetUnk(short* unitID); + BOOLEnum acquireShootTarget(short* unitID); BOOLEnum updateClimbing(int unitID); diff --git a/src/OpenSHC/Map/Version.func.hpp b/src/OpenSHC/Map/Version.func.hpp index 999eef26..f832ee71 100644 --- a/src/OpenSHC/Map/Version.func.hpp +++ b/src/OpenSHC/Map/Version.func.hpp @@ -101,17 +101,17 @@ namespace Map { &OpenSHC::Map::Version::UpdateDestroyedBuildingCountData) UpdateDestroyedBuildingCountData; - MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045ACC0, &OpenSHC::Map::Version::FUN_0045acc0) - FUN_0045acc0; + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045ACC0, + &OpenSHC::Map::Version::validateLadyAndJesterUnitRefs) + validateLadyAndJesterUnitRefs; - MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045AD10, &OpenSHC::Map::Version::FUN_0045ad10) - FUN_0045ad10; + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045AD10, + &OpenSHC::Map::Version::initPopularityAndRecruitableDefaults) + initPopularityAndRecruitableDefaults; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045AE00, &OpenSHC::Map::Version::FUN_0045ae00) - FUN_0045ae00; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045AE00, &OpenSHC::Map::Version::resetTeams) + resetTeams; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F38A0, &OpenSHC::Map::Version::UpdateTreesOfCertainTypes) diff --git a/src/OpenSHC/Map/Version.hpp b/src/OpenSHC/Map/Version.hpp index 00f83248..38f1d3e8 100644 --- a/src/OpenSHC/Map/Version.hpp +++ b/src/OpenSHC/Map/Version.hpp @@ -56,11 +56,11 @@ namespace Map { void __cdecl UpdateDestroyedBuildingCountData(int param_1); - void __stdcall FUN_0045acc0(); + void __stdcall validateLadyAndJesterUnitRefs(); - void __stdcall FUN_0045ad10(); + void __stdcall initPopularityAndRecruitableDefaults(); - void __stdcall FUN_0045ae00(); + void __stdcall resetTeams(); void __stdcall UpdateTreesOfCertainTypes(); diff --git a/src/OpenSHC/Map/WallAndPitchState.func.hpp b/src/OpenSHC/Map/WallAndPitchState.func.hpp index fc574252..846eef90 100644 --- a/src/OpenSHC/Map/WallAndPitchState.func.hpp +++ b/src/OpenSHC/Map/WallAndPitchState.func.hpp @@ -8,20 +8,20 @@ namespace Map { namespace WallAndPitchState_Func { MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500C20, - &WallAndPitchState::meth_0x500c20) - meth_0x500c20; + &WallAndPitchState::startBuildingDestructionConfirmation) + startBuildingDestructionConfirmation; MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x00500C80, &WallAndPitchState::resetWallAndPitchState) resetWallAndPitchState; MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500CB0, - &WallAndPitchState::meth_0x500cb0) - meth_0x500cb0; + &WallAndPitchState::startEntityDestructionConfirmation) + startEntityDestructionConfirmation; MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500CF0, - &WallAndPitchState::meth_0x500cf0) - meth_0x500cf0; + &WallAndPitchState::startUnitDestructionConfirmation) + startUnitDestructionConfirmation; MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x00500D30, &WallAndPitchState::resetWallPlacementInfo) @@ -43,13 +43,13 @@ namespace Map { &WallAndPitchState::destroyPitch) destroyPitch; - MACRO_FUNCTION_RESOLVER( - void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x00500F40, &WallAndPitchState::meth_0x500f40) - meth_0x500f40; + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x00500F40, + &WallAndPitchState::updateDestructionConfirmationCountdown) + updateDestructionConfirmationCountdown; - MACRO_FUNCTION_RESOLVER( - void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x005118C0, &WallAndPitchState::meth_0x5118c0) - meth_0x5118c0; + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x005118C0, + &WallAndPitchState::confirmAndQueueDestructionCommand) + confirmAndQueueDestructionCommand; } // namespace WallAndPitchState_Func } // namespace Map diff --git a/src/OpenSHC/Map/WallAndPitchState.hpp b/src/OpenSHC/Map/WallAndPitchState.hpp index 0442b313..5319cf5d 100644 --- a/src/OpenSHC/Map/WallAndPitchState.hpp +++ b/src/OpenSHC/Map/WallAndPitchState.hpp @@ -39,13 +39,13 @@ namespace Map { WallAndPitchState() {}; ~WallAndPitchState() {}; - void meth_0x500c20(int buildingID); + void startBuildingDestructionConfirmation(int buildingID); void resetWallAndPitchState(); - void meth_0x500cb0(int entityID); + void startEntityDestructionConfirmation(int entityID); - void meth_0x500cf0(int unitID); + void startUnitDestructionConfirmation(int unitID); void resetWallPlacementInfo(); @@ -57,9 +57,9 @@ namespace Map { void destroyPitch(int playerID, int count, int amount); - void meth_0x500f40(); + void updateDestructionConfirmationCountdown(); - void meth_0x5118c0(); + void confirmAndQueueDestructionCommand(); }; static_assert_cpp98_obj(sizeof(WallAndPitchState) == 2432, WallAndPitchState); diff --git a/src/OpenSHC/Map/WildlifeState.func.hpp b/src/OpenSHC/Map/WildlifeState.func.hpp index 67cc3b59..89c5da0f 100644 --- a/src/OpenSHC/Map/WildlifeState.func.hpp +++ b/src/OpenSHC/Map/WildlifeState.func.hpp @@ -20,40 +20,40 @@ namespace Map { renderDebugDataMapData; MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052C570, - &WildlifeState::meth_0x52c570) - meth_0x52c570; + &WildlifeState::floodFillField13FromCell) + floodFillField13FromCell; MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052C810, - &WildlifeState::meth_0x52c810) - meth_0x52c810; + &WildlifeState::floodFillField20FromCell) + floodFillField20FromCell; MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052CAB0, &WildlifeState::findAndSetNewRallyPointForDeerAndLions) findAndSetNewRallyPointForDeerAndLions; - MACRO_FUNCTION_RESOLVER( - undefined4 (WildlifeState::*)(int), false, Address::SHC_3BB0A8C1_0x0052CFE0, &WildlifeState::meth_0x52cfe0) - meth_0x52cfe0; + MACRO_FUNCTION_RESOLVER(undefined4 (WildlifeState::*)(int), false, Address::SHC_3BB0A8C1_0x0052CFE0, + &WildlifeState::buildRallyPointPathForTribe) + buildRallyPointPathForTribe; MACRO_FUNCTION_RESOLVER(undefined4 (WildlifeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052D620, - &WildlifeState::meth_0x52d620) - meth_0x52d620; + &WildlifeState::hasAdjacentCellWithField24Or25) + hasAdjacentCellWithField24Or25; MACRO_FUNCTION_RESOLVER(undefined4 (WildlifeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052D690, - &WildlifeState::meth_0x52d690) - meth_0x52d690; + &WildlifeState::isSuitableWildlifeSpawnCell) + isSuitableWildlifeSpawnCell; MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052D720, - &WildlifeState::meth_0x52d720) - meth_0x52d720; + &WildlifeState::floodFillUnknownNonZero01FromCell) + floodFillUnknownNonZero01FromCell; - MACRO_FUNCTION_RESOLVER( - void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052D9D0, &WildlifeState::meth_0x52d9d0) - meth_0x52d9d0; + MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052D9D0, + &WildlifeState::floodFillCasDisFromSignpost) + floodFillCasDisFromSignpost; - MACRO_FUNCTION_RESOLVER( - int (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052DD20, &WildlifeState::meth_0x52dd20) - meth_0x52dd20; + MACRO_FUNCTION_RESOLVER(int (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052DD20, + &WildlifeState::getDistanceToNearestUnknownNonZero01FromSignpost) + getDistanceToNearestUnknownNonZero01FromSignpost; MACRO_FUNCTION_RESOLVER( void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052DF30, &WildlifeState::updateWildlife) diff --git a/src/OpenSHC/Map/WildlifeState.hpp b/src/OpenSHC/Map/WildlifeState.hpp index 217a406d..4f160706 100644 --- a/src/OpenSHC/Map/WildlifeState.hpp +++ b/src/OpenSHC/Map/WildlifeState.hpp @@ -45,23 +45,23 @@ namespace Map { void renderDebugDataMapData(int x, int y, int width, int height); - void meth_0x52c570(int param_1, int param_2, int param_3); + void floodFillField13FromCell(int param_1, int param_2, int param_3); - void meth_0x52c810(int param_1, int param_2, int param_3); + void floodFillField20FromCell(int param_1, int param_2, int param_3); void findAndSetNewRallyPointForDeerAndLions(int tribeID, int always2or3or5, int always0or1); - undefined4 meth_0x52cfe0(int param_1); + undefined4 buildRallyPointPathForTribe(int param_1); - undefined4 meth_0x52d620(int param_1, int param_2); + undefined4 hasAdjacentCellWithField24Or25(int param_1, int param_2); - undefined4 meth_0x52d690(int param_1, int param_2); + undefined4 isSuitableWildlifeSpawnCell(int param_1, int param_2); - void meth_0x52d720(int param_1, int param_2, int param_3); + void floodFillUnknownNonZero01FromCell(int param_1, int param_2, int param_3); - void meth_0x52d9d0(); + void floodFillCasDisFromSignpost(); - int meth_0x52dd20(); + int getDistanceToNearestUnknownNonZero01FromSignpost(); void updateWildlife(); diff --git a/src/OpenSHC/Rendering.func.hpp b/src/OpenSHC/Rendering.func.hpp index c11a0f00..c33c5194 100644 --- a/src/OpenSHC/Rendering.func.hpp +++ b/src/OpenSHC/Rendering.func.hpp @@ -17,12 +17,12 @@ namespace Rendering_Func { ApplyBlending; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00453B00, &OpenSHC::Rendering::FUN_00453b00) - FUN_00453b00; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00453B00, &OpenSHC::Rendering::BlitMapImageWithVerticalClip) + BlitMapImageWithVerticalClip; - MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00454080, &OpenSHC::Rendering::FUN_00454080) - FUN_00454080; + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00454080, + &OpenSHC::Rendering::BlitMapImageWithVerticalClipAndYOffset) + BlitMapImageWithVerticalClipAndYOffset; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0046CF10, &OpenSHC::Rendering::TicksStartCounter) @@ -33,12 +33,12 @@ namespace Rendering_Func { viewportBasedTileNumber; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E0A50, &OpenSHC::Rendering::FUN_004e0a50) - FUN_004e0a50; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E0A50, &OpenSHC::Rendering::ProcessCreditsScriptCommands) + ProcessCreditsScriptCommands; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E12C0, &OpenSHC::Rendering::FUN_004e12c0) - FUN_004e12c0; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E12C0, &OpenSHC::Rendering::RenderActiveCreditsElements) + RenderActiveCreditsElements; } // namespace Rendering_Func } // namespace OpenSHC diff --git a/src/OpenSHC/Rendering.hpp b/src/OpenSHC/Rendering.hpp index e82144e1..f184c903 100644 --- a/src/OpenSHC/Rendering.hpp +++ b/src/OpenSHC/Rendering.hpp @@ -13,17 +13,17 @@ namespace Rendering { void __cdecl ApplyBlending(int param_1); - void __stdcall FUN_00453b00(); + void __stdcall BlitMapImageWithVerticalClip(); - void __stdcall FUN_00454080(); + void __stdcall BlitMapImageWithVerticalClipAndYOffset(); void __stdcall TicksStartCounter(); int __stdcall viewportBasedTileNumber(); - void __stdcall FUN_004e0a50(); + void __stdcall ProcessCreditsScriptCommands(); - void __stdcall FUN_004e12c0(); + void __stdcall RenderActiveCreditsElements(); } // namespace Rendering } // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ViewportRenderState.func.hpp b/src/OpenSHC/Rendering/ViewportRenderState.func.hpp index a80542cc..6f1924d7 100644 --- a/src/OpenSHC/Rendering/ViewportRenderState.func.hpp +++ b/src/OpenSHC/Rendering/ViewportRenderState.func.hpp @@ -21,8 +21,8 @@ namespace Rendering { translateXYToTile; MACRO_FUNCTION_RESOLVER(int (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004092E0, - &ViewportRenderState::meth_0x4092e0) - meth_0x4092e0; + &ViewportRenderState::computeTileXOffset) + computeTileXOffset; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E2050, &ViewportRenderState::setTileSystemMemoryLookupArrays) @@ -37,8 +37,8 @@ namespace Rendering { resetBatchedRender; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int), false, Address::SHC_3BB0A8C1_0x004E2630, - &ViewportRenderState::FUN_004e2630) - FUN_004e2630; + &ViewportRenderState::renderAssassinClimbingOverlay) + renderAssassinClimbingOverlay; MACRO_FUNCTION_RESOLVER( void (ViewportRenderState::*)(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, int), @@ -78,16 +78,16 @@ namespace Rendering { focusOnTile; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004E5ED0, - &ViewportRenderState::meth_0x4e5ed0) - meth_0x4e5ed0; + &ViewportRenderState::computeMouseTileFromScreenPosition) + computeMouseTileFromScreenPosition; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E6340, - &ViewportRenderState::meth_0x4e6340) - meth_0x4e6340; + &ViewportRenderState::clearAllFloatingLayerElements) + clearAllFloatingLayerElements; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(GmID, int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x004E63A0, &ViewportRenderState::creataAFloatingLayerElement) - creataAFloatingLayerElement; + Address::SHC_3BB0A8C1_0x004E63A0, &ViewportRenderState::createFloatingLayerElement) + createFloatingLayerElement; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004E64D0, &ViewportRenderState::renderDebugDataMousePointing) @@ -114,20 +114,20 @@ namespace Rendering { updateBuildingPreviewPosition; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E8C50, - &ViewportRenderState::meth_0x4e8c50) - meth_0x4e8c50; + &ViewportRenderState::saveFocusTileAndCenterPreview) + saveFocusTileAndCenterPreview; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E8C90, - &ViewportRenderState::meth_0x4e8c90) - meth_0x4e8c90; + &ViewportRenderState::restoreFocusTile) + restoreFocusTile; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004E8CA0, &ViewportRenderState::focusOnCoordinate) focusOnCoordinate; MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x004E8CC0, &ViewportRenderState::FUN_004e8cc0) - FUN_004e8cc0; + Address::SHC_3BB0A8C1_0x004E8CC0, &ViewportRenderState::createFloatingTextElement) + createFloatingTextElement; MACRO_FUNCTION_RESOLVER( void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E8CF0, &ViewportRenderState::renderMap) diff --git a/src/OpenSHC/Rendering/ViewportRenderState.hpp b/src/OpenSHC/Rendering/ViewportRenderState.hpp index ddb7dba1..bbbfded9 100644 --- a/src/OpenSHC/Rendering/ViewportRenderState.hpp +++ b/src/OpenSHC/Rendering/ViewportRenderState.hpp @@ -99,13 +99,13 @@ namespace Rendering { ~ViewportRenderState() {}; // Constructor - ViewportRenderState* Constructor_ViewportRenderState(); + ViewportRenderState* constructViewportRenderState(); BOOLEnum xyAreValid(uint x, uint y); int translateXYToTile(int x, int y); - int meth_0x4092e0(int param_1, int param_2); + int computeTileXOffset(int param_1, int param_2); void setTileSystemMemoryLookupArrays(); @@ -113,7 +113,7 @@ namespace Rendering { void resetBatchedRender(); - void FUN_004e2630(int param_1); + void renderAssassinClimbingOverlay(int param_1); void scheduleUnitForBatchedRendering(undefined4 unitIDOrStatus, undefined4 drawX, undefined4 drawY, undefined4 imageID, undefined4 blendStrength, undefined4 gmID, int param_7); @@ -134,11 +134,11 @@ namespace Rendering { void focusOnTile(int tile); - void meth_0x4e5ed0(int param_1, int param_2); + void computeMouseTileFromScreenPosition(int param_1, int param_2); - void meth_0x4e6340(); + void clearAllFloatingLayerElements(); - void creataAFloatingLayerElement(GmID gmID, int imageID, int imageX, int imageY, int tile, int variation); + void createFloatingLayerElement(GmID gmID, int imageID, int imageX, int imageY, int tile, int variation); void renderDebugDataMousePointing(int x, int y, int width, int height); @@ -153,13 +153,13 @@ namespace Rendering { void updateBuildingPreviewPosition(int mouseXScreenSpace, int mouseYScreenSpace); - void meth_0x4e8c50(); + void saveFocusTileAndCenterPreview(); - void meth_0x4e8c90(); + void restoreFocusTile(); void focusOnCoordinate(int x, int y); - void FUN_004e8cc0(int param_1, int param_2, int param_3, int param_4, int param_5); + void createFloatingTextElement(int param_1, int param_2, int param_3, int param_4, int param_5); void renderMap(); }; diff --git a/src/OpenSHC/Synchrony.func.hpp b/src/OpenSHC/Synchrony.func.hpp index f7fbe88b..dd7002b4 100644 --- a/src/OpenSHC/Synchrony.func.hpp +++ b/src/OpenSHC/Synchrony.func.hpp @@ -13,12 +13,12 @@ namespace OpenSHC { namespace Synchrony_Func { MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AE7C0, &OpenSHC::Synchrony::FUN_004ae7c0) - FUN_004ae7c0; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AE7C0, &OpenSHC::Synchrony::clearHoveredAI) + clearHoveredAI; MACRO_FUNCTION_RESOLVER( - void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AEA10, &OpenSHC::Synchrony::FUN_004aea10) - FUN_004aea10; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AEA10, &OpenSHC::Synchrony::syncPlayerGroupArrays) + syncPlayerGroupArrays; } // namespace Synchrony_Func } // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony.hpp b/src/OpenSHC/Synchrony.hpp index 5e0e68f1..033d8df5 100644 --- a/src/OpenSHC/Synchrony.hpp +++ b/src/OpenSHC/Synchrony.hpp @@ -11,9 +11,9 @@ namespace OpenSHC { namespace Synchrony { - void __stdcall FUN_004ae7c0(); + void __stdcall clearHoveredAI(); - void __stdcall FUN_004aea10(); + void __stdcall syncPlayerGroupArrays(); } // namespace Synchrony } // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp b/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp index a2d97020..5ac6ed92 100644 --- a/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp +++ b/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp @@ -51,9 +51,9 @@ namespace Synchrony { &GameSynchronyState::setSessionDescription) setSessionDescription; - MACRO_FUNCTION_RESOLVER( - void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047DEA0, &GameSynchronyState::meth_0x47dea0) - meth_0x47dea0; + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047DEA0, + &GameSynchronyState::setDirectPlaySessionDescription) + setDirectPlaySessionDescription; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(GUID*), false, Address::SHC_3BB0A8C1_0x0047E010, &GameSynchronyState::fetchSessionGUID) @@ -76,20 +76,20 @@ namespace Synchrony { readGameSpyConfig; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x0047E5B0, - &GameSynchronyState::meth_0x47e5b0) - meth_0x47e5b0; + &GameSynchronyState::computeLatencyAdjustmentFromMatchTimes) + computeLatencyAdjustmentFromMatchTimes; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(void*, void*), false, Address::SHC_3BB0A8C1_0x0047E800, &GameSynchronyState::decompressTooLongPacketData) decompressTooLongPacketData; - MACRO_FUNCTION_RESOLVER( - int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E830, &GameSynchronyState::FUN_0047e830) - FUN_0047e830; + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E830, + &GameSynchronyState::countActiveHumanPlayers) + countActiveHumanPlayers; MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E890, - &GameSynchronyState::aiPlayerCountUnk) - aiPlayerCountUnk; + &GameSynchronyState::countOccupiedPlayerSlots) + countOccupiedPlayerSlots; MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E8F0, &GameSynchronyState::checkPlayerSetValid) @@ -112,8 +112,8 @@ namespace Synchrony { handleUnexpectedDPlayXResult; MACRO_FUNCTION_RESOLVER(undefined4 (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047EDE0, - &GameSynchronyState::meth_0x47ede0) - meth_0x47ede0; + &GameSynchronyState::checkAllPlayersReadyAndCleanupSlots) + checkAllPlayersReadyAndCleanupSlots; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0047EED0, &GameSynchronyState::renderDebugDataSplitInfo) @@ -128,12 +128,12 @@ namespace Synchrony { clearChatEvents; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0047F860, - &GameSynchronyState::renderInGameChatUnk) - renderInGameChatUnk; + &GameSynchronyState::renderInGameChat) + renderInGameChat; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0047FB50, - &GameSynchronyState::FUN_0047fb50) - FUN_0047fb50; + &GameSynchronyState::renderChatMessageList) + renderChatMessageList; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00480050, &GameSynchronyState::resetGameCommands) @@ -177,8 +177,8 @@ namespace Synchrony { getLordTypeForPlayer; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x00486F20, - &GameSynchronyState::meth_0x486f20) - meth_0x486f20; + &GameSynchronyState::initializeFinalResultsForActivePlayers) + initializeFinalResultsForActivePlayers; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00487250, &GameSynchronyState::invokeDirectPlayEnumConnections) @@ -189,8 +189,8 @@ namespace Synchrony { restartDPlaySessionEnumeration; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x004874B0, - &GameSynchronyState::createDirectPlayInterfaceModemUnk) - createDirectPlayInterfaceModemUnk; + &GameSynchronyState::createDirectPlayInterfaceModem) + createDirectPlayInterfaceModem; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00487650, &GameSynchronyState::setupSkirmishLobby) @@ -209,8 +209,8 @@ namespace Synchrony { sendSomeMultiplayerSyncMessageWithType; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00488010, - &GameSynchronyState::processSyncPacketUnk) - processSyncPacketUnk; + &GameSynchronyState::processSyncPacket) + processSyncPacket; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x004880E0, &GameSynchronyState::sendSyncPacket126) @@ -237,20 +237,20 @@ namespace Synchrony { compareGameVersions; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048BF80, - &GameSynchronyState::createMultiplayerLobbyUnk) - createMultiplayerLobbyUnk; + &GameSynchronyState::initializeMultiplayerLobby) + initializeMultiplayerLobby; - MACRO_FUNCTION_RESOLVER( - void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048C230, &GameSynchronyState::FUN_0048c230) - FUN_0048c230; + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048C230, + &GameSynchronyState::initMultiplayerLobbyState) + initMultiplayerLobbyState; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048C660, &GameSynchronyState::queueSynchronizedAutosaveProtocol) queueSynchronizedAutosaveProtocol; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048C750, - &GameSynchronyState::multiplayerSyncMessagesUnk) - multiplayerSyncMessagesUnk; + &GameSynchronyState::sendPeriodicSyncMessages) + sendPeriodicSyncMessages; MACRO_FUNCTION_RESOLVER(undefined4 (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048C7B0, &GameSynchronyState::reorderTeamsAndPositions) @@ -268,25 +268,25 @@ namespace Synchrony { &GameSynchronyState::checkLagAndSyncStatus) checkLagAndSyncStatus; - MACRO_FUNCTION_RESOLVER( - void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048DC50, &GameSynchronyState::FUN_0048dc50) - FUN_0048dc50; + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048DC50, + &GameSynchronyState::broadcastDesyncResyncCommands) + broadcastDesyncResyncCommands; - MACRO_FUNCTION_RESOLVER( - void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048E680, &GameSynchronyState::FUN_0048e680) - FUN_0048e680; + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048E680, + &GameSynchronyState::sendPendingResyncCommandsInBudget) + sendPendingResyncCommandsInBudget; - MACRO_FUNCTION_RESOLVER( - void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048F3D0, &GameSynchronyState::FUN_0048f3d0) - FUN_0048f3d0; + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048F3D0, + &GameSynchronyState::advanceSyncStatusAndKickLaggers) + advanceSyncStatusAndKickLaggers; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048F4C0, &GameSynchronyState::checkGameLagStatusAndKickAccordingly) checkGameLagStatusAndKickAccordingly; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00490340, - &GameSynchronyState::someMultiplayerMessageSending) - someMultiplayerMessageSending; + &GameSynchronyState::throttledMultiplayerSyncUpdate) + throttledMultiplayerSyncUpdate; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x00490380, &GameSynchronyState::removePlayerFromLobby) @@ -309,8 +309,8 @@ namespace Synchrony { handleCommandLineArguments; MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, DWORD), false, Address::SHC_3BB0A8C1_0x004AF800, - &GameSynchronyState::RenderInGameChatDisplayElementUnk) - RenderInGameChatDisplayElementUnk; + &GameSynchronyState::renderInGameChatDisplayElement) + renderInGameChatDisplayElement; } // namespace GameSynchronyState_Func } // namespace Synchrony diff --git a/src/OpenSHC/Synchrony/GameSynchronyState.hpp b/src/OpenSHC/Synchrony/GameSynchronyState.hpp index 0275229f..d7387517 100644 --- a/src/OpenSHC/Synchrony/GameSynchronyState.hpp +++ b/src/OpenSHC/Synchrony/GameSynchronyState.hpp @@ -374,7 +374,7 @@ namespace Synchrony { ~GameSynchronyState() {}; // Constructor - GameSynchronyState* Constructor_GameSynchronyState(); + GameSynchronyState* constructGameSynchronyState(); BOOLEnum isAIPlayer(int playerID); @@ -390,7 +390,7 @@ namespace Synchrony { void setSessionDescription(); - void meth_0x47dea0(); + void setDirectPlaySessionDescription(); void fetchSessionGUID(GUID* pGUID); @@ -402,13 +402,13 @@ namespace Synchrony { void readGameSpyConfig(); - void meth_0x47e5b0(int param_1); + void computeLatencyAdjustmentFromMatchTimes(int param_1); void decompressTooLongPacketData(void* source, void* destination); - int FUN_0047e830(); + int countActiveHumanPlayers(); - int aiPlayerCountUnk(); + int countOccupiedPlayerSlots(); int checkPlayerSetValid(); @@ -420,7 +420,7 @@ namespace Synchrony { void handleUnexpectedDPlayXResult(); - undefined4 meth_0x47ede0(); + undefined4 checkAllPlayersReadyAndCleanupSlots(); void renderDebugDataSplitInfo(int x, int y, int width, int height); @@ -428,9 +428,9 @@ namespace Synchrony { void clearChatEvents(); - void renderInGameChatUnk(int param_1, int param_2, int param_3); + void renderInGameChat(int param_1, int param_2, int param_3); - void FUN_0047fb50(int xPos, int yPos, int param_3); + void renderChatMessageList(int xPos, int yPos, int param_3); void resetGameCommands(); @@ -453,13 +453,13 @@ namespace Synchrony { int getLordTypeForPlayer(int playerID); - void meth_0x486f20(int param_1); + void initializeFinalResultsForActivePlayers(int param_1); void invokeDirectPlayEnumConnections(); void restartDPlaySessionEnumeration(BOOLEnum respectTimeout); - void createDirectPlayInterfaceModemUnk(); + void createDirectPlayInterfaceModem(); void setupSkirmishLobby(); @@ -470,7 +470,7 @@ namespace Synchrony { void sendSomeMultiplayerSyncMessageWithType(undefined4 syncPacketType2); - void processSyncPacketUnk(); + void processSyncPacket(); void sendSyncPacket126(); @@ -484,13 +484,13 @@ namespace Synchrony { void compareGameVersions(); - void createMultiplayerLobbyUnk(); + void initializeMultiplayerLobby(); - void FUN_0048c230(); + void initMultiplayerLobbyState(); void queueSynchronizedAutosaveProtocol(); - void multiplayerSyncMessagesUnk(); + void sendPeriodicSyncMessages(); undefined4 reorderTeamsAndPositions(); @@ -500,15 +500,15 @@ namespace Synchrony { void checkLagAndSyncStatus(); - void FUN_0048dc50(); + void broadcastDesyncResyncCommands(); - void FUN_0048e680(); + void sendPendingResyncCommandsInBudget(); - void FUN_0048f3d0(); + void advanceSyncStatusAndKickLaggers(); void checkGameLagStatusAndKickAccordingly(); - void someMultiplayerMessageSending(); + void throttledMultiplayerSyncUpdate(); void removePlayerFromLobby(int playerID); @@ -520,7 +520,7 @@ namespace Synchrony { void handleCommandLineArguments(char* arguments); - void RenderInGameChatDisplayElementUnk(int posX, int posY, DWORD elementState); + void renderInGameChatDisplayElement(int posX, int posY, DWORD elementState); }; static_assert_cpp98_obj(sizeof(GameSynchronyState) == 1090072, GameSynchronyState); diff --git a/src/OpenSHC/Text/FontSizeClass.func.hpp b/src/OpenSHC/Text/FontSizeClass.func.hpp index d2ce92b6..c1620c9c 100644 --- a/src/OpenSHC/Text/FontSizeClass.func.hpp +++ b/src/OpenSHC/Text/FontSizeClass.func.hpp @@ -26,9 +26,9 @@ namespace Text { Address::SHC_3BB0A8C1_0x00469B90, &FontSizeClass::getWordStartingFromPos) getWordStartingFromPos; - MACRO_FUNCTION_RESOLVER( - void (FontSizeClass::*)(char*, int), false, Address::SHC_3BB0A8C1_0x00469C40, &FontSizeClass::meth_0x469c40) - meth_0x469c40; + MACRO_FUNCTION_RESOLVER(void (FontSizeClass::*)(char*, int), false, Address::SHC_3BB0A8C1_0x00469C40, + &FontSizeClass::wrapTextIntoLines) + wrapTextIntoLines; MACRO_FUNCTION_RESOLVER( int (FontSizeClass::*)(byte), false, Address::SHC_3BB0A8C1_0x00469E10, &FontSizeClass::getCharWidthUnk) @@ -39,8 +39,8 @@ namespace Text { getWidthOfWideText; MACRO_FUNCTION_RESOLVER( - dword (FontSizeClass::*)(WCHAR), false, Address::SHC_3BB0A8C1_0x00471670, &FontSizeClass::meth_0x471670) - meth_0x471670; + dword (FontSizeClass::*)(WCHAR), false, Address::SHC_3BB0A8C1_0x00471670, &FontSizeClass::getWideCharWidth) + getWideCharWidth; MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(char*, int, int, int, BGR24, int), false, Address::SHC_3BB0A8C1_0x00472D60, &FontSizeClass::renderText) @@ -67,8 +67,8 @@ namespace Text { renderWideText; MACRO_FUNCTION_RESOLVER(void (FontSizeClass::*)(undefined4, int, int, int, int), false, - Address::SHC_3BB0A8C1_0x00473830, &FontSizeClass::meth_0x473830) - meth_0x473830; + Address::SHC_3BB0A8C1_0x00473830, &FontSizeClass::renderWideChar) + renderWideChar; } // namespace FontSizeClass_Func } // namespace Text diff --git a/src/OpenSHC/Text/FontSizeClass.hpp b/src/OpenSHC/Text/FontSizeClass.hpp index d59e7adb..f371dd39 100644 --- a/src/OpenSHC/Text/FontSizeClass.hpp +++ b/src/OpenSHC/Text/FontSizeClass.hpp @@ -56,13 +56,13 @@ namespace Text { int getWordStartingFromPos( char* text, int startAndRunIndex, char* wordReceiver, int maxWordBufferSize, int* wordStartIndexOutPtr); - void meth_0x469c40(char* text, int allowedWidth); + void wrapTextIntoLines(char* text, int allowedWidth); int getCharWidthUnk(byte charUnk); int getWidthOfWideText(LPWSTR wideText, int numberOfChars); - dword meth_0x471670(WCHAR wChar); + dword getWideCharWidth(WCHAR wChar); int renderText(char* text, int textLength, int xPos, int yPos, BGR24 color, int blendStrength); @@ -78,7 +78,7 @@ namespace Text { void renderWideText(LPWSTR wideText, int textLength, int xPos, int yPos, BGR24 color, int blendStrength); - void meth_0x473830(undefined4 param_1, int param_2, int param_3, int param_4, int param_5); + void renderWideChar(undefined4 param_1, int param_2, int param_3, int param_4, int param_5); }; static_assert_cpp98_obj(sizeof(FontSizeClass) == 36, FontSizeClass); diff --git a/src/OpenSHC/Text/TextEditorState.func.hpp b/src/OpenSHC/Text/TextEditorState.func.hpp index 455a20cb..26a8f015 100644 --- a/src/OpenSHC/Text/TextEditorState.func.hpp +++ b/src/OpenSHC/Text/TextEditorState.func.hpp @@ -11,36 +11,36 @@ namespace Text { namespace TextEditorState_Func { MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(undefined4, undefined4, undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x0045D080, &TextEditorState::meth_0x45d080) - meth_0x45d080; + Address::SHC_3BB0A8C1_0x0045D080, &TextEditorState::setHelpWindowBounds) + setHelpWindowBounds; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D0C0, &TextEditorState::meth_0x45d0c0) - meth_0x45d0c0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D0C0, + &TextEditorState::resetHelpStateFields) + resetHelpStateFields; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D140, &TextEditorState::meth_0x45d140) - meth_0x45d140; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D140, + &TextEditorState::findHelpSectionIndexByName) + findHelpSectionIndexByName; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D1A0, &TextEditorState::meth_0x45d1a0) - meth_0x45d1a0; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D1A0, + &TextEditorState::findOrAddHelpSectionName) + findOrAddHelpSectionName; MACRO_FUNCTION_RESOLVER( WCHAR (TextEditorState::*)(FILE*), false, Address::SHC_3BB0A8C1_0x0045D200, &TextEditorState::parseHLPPart) parseHLPPart; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D370, &TextEditorState::meth_0x45d370) - meth_0x45d370; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D370, + &TextEditorState::loadHelpSectionGraphics) + loadHelpSectionGraphics; MACRO_FUNCTION_RESOLVER(undefined* (TextEditorState::*)(int*), false, Address::SHC_3BB0A8C1_0x0045D3C0, &TextEditorState::getWideCharPointer) getWideCharPointer; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D430, &TextEditorState::meth_0x45d430) - meth_0x45d430; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D430, + &TextEditorState::renderHelpImageHotspots) + renderHelpImageHotspots; MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D690, &TextEditorState::bltTextToScreenIfNeedBe) @@ -50,125 +50,125 @@ namespace Text { &TextEditorState::drawBorderStyle0x20) drawBorderStyle0x20; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D740, &TextEditorState::meth_0x45d740) - meth_0x45d740; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D740, + &TextEditorState::drawHelpWindowBackground) + drawHelpWindowBackground; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D890, &TextEditorState::meth_0x45d890) - meth_0x45d890; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D890, + &TextEditorState::findHelpGraphicIndexByName) + findHelpGraphicIndexByName; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D8F0, &TextEditorState::meth_0x45d8f0) - meth_0x45d8f0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D8F0, + &TextEditorState::findOrAddHelpGraphicName) + findOrAddHelpGraphicName; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D950, &TextEditorState::FUN_0045d950) - FUN_0045d950; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D950, + &TextEditorState::getNextHelpSectionID) + getNextHelpSectionID; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D990, &TextEditorState::FUN_0045d990) - FUN_0045d990; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D990, + &TextEditorState::getPrevHelpSectionID) + getPrevHelpSectionID; - MACRO_FUNCTION_RESOLVER( - char* (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D9E0, &TextEditorState::FUN_0045d9e0) - FUN_0045d9e0; + MACRO_FUNCTION_RESOLVER(char* (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D9E0, + &TextEditorState::getHelpSectionText) + getHelpSectionText; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045DA20, &TextEditorState::FUN_0045da20) - FUN_0045da20; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045DA20, + &TextEditorState::getNextHelpColorEntryIndex) + getNextHelpColorEntryIndex; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045DA40, &TextEditorState::FUN_0045da40) - FUN_0045da40; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045DA40, + &TextEditorState::getPrevHelpColorEntryIndex) + getPrevHelpColorEntryIndex; - MACRO_FUNCTION_RESOLVER( - int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045DA80, &TextEditorState::meth_0x45da80) - meth_0x45da80; + MACRO_FUNCTION_RESOLVER(int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045DA80, + &TextEditorState::findSoundIndexByName) + findSoundIndexByName; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045DAE0, &TextEditorState::meth_0x45dae0) - meth_0x45dae0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045DAE0, + &TextEditorState::findOrAddSoundName) + findOrAddSoundName; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045DB40, &TextEditorState::FUN_0045db40) - FUN_0045db40; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045DB40, + &TextEditorState::saveHelpFileToResource) + saveHelpFileToResource; MACRO_FUNCTION_RESOLVER(undefined4 (TextEditorState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0045F080, - &TextEditorState::FUN_0045f080) - FUN_0045f080; + &TextEditorState::getHelpTokenAdvanceLength) + getHelpTokenAdvanceLength; MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0045F0D0, - &TextEditorState::meth_0x45f0d0) - meth_0x45f0d0; + &TextEditorState::insertHelpTextToken) + insertHelpTextToken; MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045F240, - &TextEditorState::someKindOfTextEscape) - someKindOfTextEscape; + &TextEditorState::closeHelpDialogAndReturnToMenu) + closeHelpDialogAndReturnToMenu; MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(LPCSTR), false, Address::SHC_3BB0A8C1_0x0045F470, &TextEditorState::readCrusaderHelpHlp) readCrusaderHelpHlp; MACRO_FUNCTION_RESOLVER(undefined4 (TextEditorState::*)(FILE*), false, Address::SHC_3BB0A8C1_0x0045F580, - &TextEditorState::meth_0x45f580) - meth_0x45f580; + &TextEditorState::loadAndParseHelpFile) + loadAndParseHelpFile; MACRO_FUNCTION_RESOLVER( void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045F5B0, &TextEditorState::parseHlp) parseHlp; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045FDC0, &TextEditorState::FUN_0045fdc0) - FUN_0045fdc0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045FDC0, + &TextEditorState::processHelpRichTextTokens) + processHelpRichTextTokens; MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x004613E0, &TextEditorState::setTextRenderingLogic) setTextRenderingLogic; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x004614D0, &TextEditorState::meth_0x4614d0) - meth_0x4614d0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x004614D0, + &TextEditorState::initializeAndLayoutHelpText) + initializeAndLayoutHelpText; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x00461550, &TextEditorState::meth_0x461550) - meth_0x461550; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x00461550, + &TextEditorState::renderHelpDialogIfOpen) + renderHelpDialogIfOpen; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x004619D0, &TextEditorState::meth_0x4619d0) - meth_0x4619d0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x004619D0, + &TextEditorState::loadAndLayoutHelpContent) + loadAndLayoutHelpContent; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461A20, &TextEditorState::meth_0x461a20) - meth_0x461a20; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461A20, + &TextEditorState::openBuildingHelpDialog) + openBuildingHelpDialog; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461B90, &TextEditorState::meth_0x461b90) - meth_0x461b90; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461B90, + &TextEditorState::openInGameHelpDialog) + openInGameHelpDialog; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461CF0, &TextEditorState::meth_0x461cf0) - meth_0x461cf0; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461CF0, + &TextEditorState::openScenarioHelpDialog) + openScenarioHelpDialog; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461E50, &TextEditorState::meth_0x461e50) - meth_0x461e50; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461E50, + &TextEditorState::openCreditsScrollDialog) + openCreditsScrollDialog; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461F90, &TextEditorState::meth_0x461f90) - meth_0x461f90; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461F90, + &TextEditorState::openMapDescriptionEditorDialog) + openMapDescriptionEditorDialog; MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(char*, undefined4), false, Address::SHC_3BB0A8C1_0x004620F0, - &TextEditorState::meth_0x4620f0) - meth_0x4620f0; + &TextEditorState::setCustomHelpText) + setCustomHelpText; MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x00462150, &TextEditorState::FUN_00462150) - FUN_00462150; + void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x00462150, &TextEditorState::popHelpDialogStack) + popHelpDialogStack; - MACRO_FUNCTION_RESOLVER( - void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00462190, &TextEditorState::meth_0x462190) - meth_0x462190; + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00462190, + &TextEditorState::openUnusedHelpTextEditorDialog) + openUnusedHelpTextEditorDialog; } // namespace TextEditorState_Func } // namespace Text diff --git a/src/OpenSHC/Text/TextEditorState.hpp b/src/OpenSHC/Text/TextEditorState.hpp index 273529e3..37a89641 100644 --- a/src/OpenSHC/Text/TextEditorState.hpp +++ b/src/OpenSHC/Text/TextEditorState.hpp @@ -24,79 +24,50 @@ namespace Text { class TextEditorState { public: pointer* DAT_PointerToTemporaryTextMemory; // 0x00000000 length: 4 - undefined4 field1_0x4; // 0x00000004 length: 4 - undefined4 field2_0x8; // 0x00000008 length: 4 - undefined4 field3_0xc; // 0x0000000C length: 4 - undefined4 field4_0x10; // 0x00000010 length: 4 - undefined4 field5_0x14; // 0x00000014 length: 4 - undefined4 field6_0x18; // 0x00000018 length: 4 - undefined4 field7_0x1c; // 0x0000001C length: 4 - BOOLEnum field8_0x20; // 0x00000020 length: 4 - BOOLEnum field9_0x24; // 0x00000024 length: 4 - undefined4 field10_0x28; // 0x00000028 length: 4 - undefined4 field11_0x2c; // 0x0000002C length: 4 - undefined4 field12_0x30; // 0x00000030 length: 4 - undefined4 field13_0x34; // 0x00000034 length: 4 - undefined4 field14_0x38; // 0x00000038 length: 4 - undefined4 field15_0x3c; // 0x0000003C length: 4 - undefined4 field16_0x40; // 0x00000040 length: 4 - undefined4 field17_0x44; // 0x00000044 length: 4 - undefined4 field18_0x48; // 0x00000048 length: 4 - undefined4 field19_0x4c; // 0x0000004C length: 4 - undefined4 field20_0x50; // 0x00000050 length: 4 - undefined4 field21_0x54; // 0x00000054 length: 4 - undefined4 field22_0x58; // 0x00000058 length: 4 - undefined4 field23_0x5c; // 0x0000005C length: 4 - undefined4 field24_0x60; // 0x00000060 length: 4 - undefined4 field25_0x64; // 0x00000064 length: 4 - undefined4 field26_0x68; // 0x00000068 length: 4 - undefined4 field27_0x6c; // 0x0000006C length: 4 - undefined4 field28_0x70; // 0x00000070 length: 4 - undefined4 field29_0x74; // 0x00000074 length: 4 - undefined4 field30_0x78; // 0x00000078 length: 4 - undefined4 field31_0x7c; // 0x0000007C length: 4 - undefined4 field32_0x80; // 0x00000080 length: 4 - undefined4 field33_0x84; // 0x00000084 length: 4 - undefined4 field34_0x88; // 0x00000088 length: 4 - undefined4 field35_0x8c; // 0x0000008C length: 4 - undefined4 field36_0x90; // 0x00000090 length: 4 - undefined4 field37_0x94; // 0x00000094 length: 4 - undefined4 field38_0x98; // 0x00000098 length: 4 - undefined4 field39_0x9c; // 0x0000009C length: 4 - undefined4 field40_0xa0; // 0x000000A0 length: 4 + undefined4 customHelpTextLength; // 0x00000004 length: 4 + undefined4 isDialogStateInitialized; // 0x00000008 length: 4 + undefined4 helpDialogVariant; // 0x0000000C length: 4 + undefined4 useInGameHelpHandler; // 0x00000010 length: 4 + undefined4 savedMenuViewType; // 0x00000014 length: 4 + undefined4 savedActiveMenuTab; // 0x00000018 length: 4 + undefined4 savedMenuFlag; // 0x0000001C length: 4 + BOOLEnum pendingCreditsFadeBorder; // 0x00000020 length: 4 + BOOLEnum helpSectionParseSucceeded; // 0x00000024 length: 4 + undefined4 currentHelpSectionID; // 0x00000028 length: 4 + undefined4 helpSectionHistoryStack[30]; // 0x0000002C length: 120 undefined4 counter; // 0x000000A4 length: 4 - undefined4 field42_0xa8; // 0x000000A8 length: 4 - undefined4 field43_0xac; // 0x000000AC length: 4 - undefined4 field44_0xb0; // 0x000000B0 length: 4 - undefined4 field45_0xb4; // 0x000000B4 length: 4 - undefined4 field46_0xb8; // 0x000000B8 length: 4 - undefined4 field47_0xbc; // 0x000000BC length: 4 - undefined4 field48_0xc0; // 0x000000C0 length: 4 - undefined4 field49_0xc4; // 0x000000C4 length: 4 - undefined4 shortArray1Related; // 0x000000C8 length: 4 - undefined4 field51_0xcc; // 0x000000CC length: 4 - undefined4 field52_0xd0; // 0x000000D0 length: 4 - undefined4 field53_0xd4; // 0x000000D4 length: 4 - undefined4 field54_0xd8; // 0x000000D8 length: 4 - undefined4 field55_0xdc; // 0x000000DC length: 4 - undefined4 field56_0xe0; // 0x000000E0 length: 4 - undefined4 field57_0xe4; // 0x000000E4 length: 4 - undefined4 field58_0xe8; // 0x000000E8 length: 4 - undefined4 field59_0xec; // 0x000000EC length: 4 - undefined4 field60_0xf0; // 0x000000F0 length: 4 - undefined4 field61_0xf4; // 0x000000F4 length: 4 - undefined4 field62_0xf8; // 0x000000F8 length: 4 - undefined4 field63_0xfc; // 0x000000FC length: 4 - undefined4 field64_0x100; // 0x00000100 length: 4 - char stringArray1[5][1000]; // 0x00000104 length: 5000 - byte stringArray1Companion[5]; // 0x0000148C length: 5 + undefined4 helpContentScrollOffsetY; // 0x000000A8 length: 4 + undefined4 topVisibleLineIndex; // 0x000000AC length: 4 + undefined4 dialogX; // 0x000000B0 length: 4 + undefined4 dialogY; // 0x000000B4 length: 4 + undefined4 dialogWidth; // 0x000000B8 length: 4 + undefined4 dialogHeight; // 0x000000BC length: 4 + undefined4 dialogContentX; // 0x000000C0 length: 4 + undefined4 dialogContentY; // 0x000000C4 length: 4 + undefined4 dialogContentHeight; // 0x000000C8 length: 4 + undefined4 dialogContentWidth; // 0x000000CC length: 4 + undefined4 helpContentScrollX; // 0x000000D0 length: 4 + undefined4 helpContentScrollY; // 0x000000D4 length: 4 + undefined4 activeHelpHotspotIndex; // 0x000000D8 length: 4 + undefined4 helpDialogSubMode; // 0x000000DC length: 4 + undefined4 useAlternateHelpTab; // 0x000000E0 length: 4 + undefined4 isCustomTextMode; // 0x000000E4 length: 4 + undefined4 useWideHelpLayout; // 0x000000E8 length: 4 + undefined4 pendingTokenTypeToSkip; // 0x000000EC length: 4 + undefined4 isTextHelpDialogMode; // 0x000000F0 length: 4 + char* customHelpTextPointer; // 0x000000F4 length: 4 + undefined4 isCustomHelpTextWide; // 0x000000F8 length: 4 + undefined4 customHelpTextBufferSize; // 0x000000FC length: 4 + undefined4 customTextMaxLength; // 0x00000100 length: 4 + char soundFileNames[5][1000]; // 0x00000104 length: 5000 + byte soundFilePlayedFlags[5]; // 0x0000148C length: 5 undefined1 padding_0x1491[3]; // 0x00001491 length: 3 - undefined4 count1; // 0x00001494 length: 4 - char stringArray2[20][1000]; // 0x00001498 length: 20000 - undefined4 count2; // 0x000062B8 length: 4 - short shortArray1[60000]; // 0x000062BC length: 120000 - int shortArray1Count; // 0x0002377C length: 4 - short shortArray1Companion2[50][4]; // 0x00023780 length: 400 + undefined4 soundFileCount; // 0x00001494 length: 4 + char graphicFileNames[20][1000]; // 0x00001498 length: 20000 + undefined4 graphicFileCount; // 0x000062B8 length: 4 + short lineLayoutTable[60000]; // 0x000062BC length: 120000 + int imageHotspotCount; // 0x0002377C length: 4 + short imageHotspotTable[50][4]; // 0x00023780 length: 400 int intArray1[25]; // 0x00023910 length: 100 private: @@ -110,85 +81,85 @@ namespace Text { // Constructor TextEditorState* Constructor_TextEditorState(); - void meth_0x45d080(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4); + void setHelpWindowBounds(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4); - void meth_0x45d0c0(); + void resetHelpStateFields(); - int meth_0x45d140(char* param_1); + int findHelpSectionIndexByName(char* param_1); - int meth_0x45d1a0(char* param_1); + int findOrAddHelpSectionName(char* param_1); WCHAR parseHLPPart(FILE* filePointer); - void meth_0x45d370(); + void loadHelpSectionGraphics(); undefined* getWideCharPointer(int* param_1); - void meth_0x45d430(); + void renderHelpImageHotspots(); void bltTextToScreenIfNeedBe(); void drawBorderStyle0x20(int param_1, int param_2, int param_3, int param_4); - void meth_0x45d740(); + void drawHelpWindowBackground(); - int meth_0x45d890(char* param_1); + int findHelpGraphicIndexByName(char* param_1); - void meth_0x45d8f0(char* param_1); + void findOrAddHelpGraphicName(char* param_1); - int FUN_0045d950(int param_1); + int getNextHelpSectionID(int param_1); - int FUN_0045d990(int param_1); + int getPrevHelpSectionID(int param_1); - char* FUN_0045d9e0(int param_1); + char* getHelpSectionText(int param_1); - int FUN_0045da20(int param_1); + int getNextHelpColorEntryIndex(int param_1); - int FUN_0045da40(int param_1); + int getPrevHelpColorEntryIndex(int param_1); - int meth_0x45da80(char* param_1); + int findSoundIndexByName(char* param_1); - void meth_0x45dae0(char* param_1); + void findOrAddSoundName(char* param_1); - void FUN_0045db40(); + void saveHelpFileToResource(); - undefined4 FUN_0045f080(undefined4 param_1); + undefined4 getHelpTokenAdvanceLength(undefined4 param_1); - void meth_0x45f0d0(undefined4 param_1); + void insertHelpTextToken(undefined4 param_1); - void someKindOfTextEscape(); + void closeHelpDialogAndReturnToMenu(); void readCrusaderHelpHlp(LPCSTR param_1); - undefined4 meth_0x45f580(FILE* param_1); + undefined4 loadAndParseHelpFile(FILE* param_1); void parseHlp(); - void FUN_0045fdc0(int param_1); + void processHelpRichTextTokens(int param_1); void setTextRenderingLogic(); - void meth_0x4614d0(); + void initializeAndLayoutHelpText(); - void meth_0x461550(); + void renderHelpDialogIfOpen(); - void meth_0x4619d0(); + void loadAndLayoutHelpContent(); - void meth_0x461a20(int param_1); + void openBuildingHelpDialog(int param_1); - void meth_0x461b90(int param_1); + void openInGameHelpDialog(int param_1); - void meth_0x461cf0(int param_1); + void openScenarioHelpDialog(int param_1); - void meth_0x461e50(int param_1); + void openCreditsScrollDialog(int param_1); - void meth_0x461f90(int param_1); + void openMapDescriptionEditorDialog(int param_1); - void meth_0x4620f0(char* param_1, undefined4 param_2); + void setCustomHelpText(char* param_1, undefined4 param_2); - void FUN_00462150(); + void popHelpDialogStack(); - void meth_0x462190(int param_1); + void openUnusedHelpTextEditorDialog(int param_1); }; static_assert_cpp98_obj(sizeof(TextEditorState) == 145780, TextEditorState); diff --git a/src/OpenSHC/Text/TextManager.func.hpp b/src/OpenSHC/Text/TextManager.func.hpp index 74c85273..a832b44a 100644 --- a/src/OpenSHC/Text/TextManager.func.hpp +++ b/src/OpenSHC/Text/TextManager.func.hpp @@ -85,13 +85,13 @@ namespace Text { void (TextManager::*)(), false, Address::SHC_3BB0A8C1_0x00469E70, &TextManager::setupFontSizeClassObjects) setupFontSizeClassObjects; - MACRO_FUNCTION_RESOLVER( - void (TextManager::*)(dword, dword), false, Address::SHC_3BB0A8C1_0x00469F20, &TextManager::meth_0x469f20) - meth_0x469f20; + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(dword, dword), false, Address::SHC_3BB0A8C1_0x00469F20, + &TextManager::setTextClipRange) + setTextClipRange; MACRO_FUNCTION_RESOLVER( - void (TextManager::*)(), false, Address::SHC_3BB0A8C1_0x00469F40, &TextManager::meth_0x469f40) - meth_0x469f40; + void (TextManager::*)(), false, Address::SHC_3BB0A8C1_0x00469F40, &TextManager::resetTextClipRange) + resetTextClipRange; MACRO_FUNCTION_RESOLVER( void (TextManager::*)(char*, int, int), false, Address::SHC_3BB0A8C1_0x00469F50, &TextManager::trimText) @@ -113,9 +113,9 @@ namespace Text { Address::SHC_3BB0A8C1_0x0046A2C0, &TextManager::renderPartOfNumberUnk) renderPartOfNumberUnk; - MACRO_FUNCTION_RESOLVER( - int (TextManager::*)(int, int), false, Address::SHC_3BB0A8C1_0x0046A4D0, &TextManager::FUN_0046a4d0) - FUN_0046a4d0; + MACRO_FUNCTION_RESOLVER(int (TextManager::*)(int, int), false, Address::SHC_3BB0A8C1_0x0046A4D0, + &TextManager::calcRenderedNumberWidth) + calcRenderedNumberWidth; MACRO_FUNCTION_RESOLVER( int (TextManager::*)(char, int), false, Address::SHC_3BB0A8C1_0x0046A720, &TextManager::getCharWidth) @@ -125,9 +125,9 @@ namespace Text { int (TextManager::*)(char*, int), false, Address::SHC_3BB0A8C1_0x00471690, &TextManager::computeTextWidth) computeTextWidth; - MACRO_FUNCTION_RESOLVER( - int (TextManager::*)(int, int), false, Address::SHC_3BB0A8C1_0x004716D0, &TextManager::meth_0x4716d0) - meth_0x4716d0; + MACRO_FUNCTION_RESOLVER(int (TextManager::*)(int, int), false, Address::SHC_3BB0A8C1_0x004716D0, + &TextManager::computeNumberTextWidth) + computeNumberTextWidth; MACRO_FUNCTION_RESOLVER( void (TextManager::*)(), false, Address::SHC_3BB0A8C1_0x00473870, &TextManager::loadCRTex) diff --git a/src/OpenSHC/Text/TextManager.hpp b/src/OpenSHC/Text/TextManager.hpp index 86b48a94..b8c75932 100644 --- a/src/OpenSHC/Text/TextManager.hpp +++ b/src/OpenSHC/Text/TextManager.hpp @@ -117,9 +117,9 @@ namespace Text { void setupFontSizeClassObjects(); - void meth_0x469f20(dword param_1, dword param_2); + void setTextClipRange(dword param_1, dword param_2); - void meth_0x469f40(); + void resetTextClipRange(); void trimText(char* text, int allowedWidth, int fontSize); @@ -132,13 +132,13 @@ namespace Text { int renderPartOfNumberUnk(int numberToRenderUnk, int xPosUnk, int yPosUnk, int integerPartToRenderUnk, int bgr24, int digitSet, BOOL useCurrentXOffsetUnk); - int FUN_0046a4d0(int param_1, int param_2); + int calcRenderedNumberWidth(int param_1, int param_2); int getCharWidth(char char_, int fontSize); int computeTextWidth(char* text, int fontSize); - int meth_0x4716d0(int param_1, int param_2); + int computeNumberTextWidth(int param_1, int param_2); void loadCRTex(); diff --git a/src/OpenSHC/Text/UserTextHandler.func.hpp b/src/OpenSHC/Text/UserTextHandler.func.hpp index a531092e..a6a413ac 100644 --- a/src/OpenSHC/Text/UserTextHandler.func.hpp +++ b/src/OpenSHC/Text/UserTextHandler.func.hpp @@ -20,12 +20,12 @@ namespace Text { getTextArrayPointer; MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(undefined4, undefined4), false, - Address::SHC_3BB0A8C1_0x00469800, &UserTextHandler::FUN_00469800) - FUN_00469800; + Address::SHC_3BB0A8C1_0x00469800, &UserTextHandler::setTextEntryAndUpdateCursor) + setTextEntryAndUpdateCursor; MACRO_FUNCTION_RESOLVER( - int (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469860, &UserTextHandler::FUN_00469860) - FUN_00469860; + int (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469860, &UserTextHandler::getCurrentFontSize) + getCurrentFontSize; MACRO_FUNCTION_RESOLVER( void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469870, &UserTextHandler::handleReturnKey) @@ -40,28 +40,28 @@ namespace Text { handleLeftKey; MACRO_FUNCTION_RESOLVER( - void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004698C0, &UserTextHandler::FUN_004698c0) - FUN_004698c0; + void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004698C0, &UserTextHandler::resetCursorToStart) + resetCursorToStart; MACRO_FUNCTION_RESOLVER( void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004698D0, &UserTextHandler::moveCursorToEnd) moveCursorToEnd; MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(int, int), false, Address::SHC_3BB0A8C1_0x004698F0, - &UserTextHandler::FUN_004698f0) - FUN_004698f0; + &UserTextHandler::shiftTextLeftAtCursor) + shiftTextLeftAtCursor; MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(int, int), false, Address::SHC_3BB0A8C1_0x00469930, - &UserTextHandler::FUN_00469930) - FUN_00469930; + &UserTextHandler::shiftTextRightAtCursor) + shiftTextRightAtCursor; MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(int), false, Address::SHC_3BB0A8C1_0x00469980, &UserTextHandler::handleCharacterIntoInputBuffer) handleCharacterIntoInputBuffer; - MACRO_FUNCTION_RESOLVER( - uint (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004699E0, &UserTextHandler::FUN_004699e0) - FUN_004699e0; + MACRO_FUNCTION_RESOLVER(uint (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004699E0, + &UserTextHandler::dequeueInputBufferChar) + dequeueInputBufferChar; MACRO_FUNCTION_RESOLVER( void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004715A0, &UserTextHandler::handleBackspace) @@ -75,9 +75,9 @@ namespace Text { &UserTextHandler::copyIntoTextArray) copyIntoTextArray; - MACRO_FUNCTION_RESOLVER( - int (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00472CB0, &UserTextHandler::FUN_00472cb0) - FUN_00472cb0; + MACRO_FUNCTION_RESOLVER(int (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00472CB0, + &UserTextHandler::isTextInputAtCapacity) + isTextInputAtCapacity; MACRO_FUNCTION_RESOLVER( void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00472D00, &UserTextHandler::handleDeleteKey) diff --git a/src/OpenSHC/Text/UserTextHandler.hpp b/src/OpenSHC/Text/UserTextHandler.hpp index 082da546..bf48ccb8 100644 --- a/src/OpenSHC/Text/UserTextHandler.hpp +++ b/src/OpenSHC/Text/UserTextHandler.hpp @@ -48,9 +48,9 @@ namespace Text { int getTextArrayPointer(int param_1); - void FUN_00469800(undefined4 param_1, undefined4 param_2); + void setTextEntryAndUpdateCursor(undefined4 param_1, undefined4 param_2); - int FUN_00469860(); + int getCurrentFontSize(); void handleReturnKey(); @@ -58,17 +58,17 @@ namespace Text { void handleLeftKey(); - void FUN_004698c0(); + void resetCursorToStart(); void moveCursorToEnd(); - void FUN_004698f0(int param_1, int param_2); + void shiftTextLeftAtCursor(int param_1, int param_2); - void FUN_00469930(int param_1, int param_2); + void shiftTextRightAtCursor(int param_1, int param_2); void handleCharacterIntoInputBuffer(int characterCode); - uint FUN_004699e0(); + uint dequeueInputBufferChar(); void handleBackspace(); @@ -76,7 +76,7 @@ namespace Text { void copyIntoTextArray(char* param_1); - int FUN_00472cb0(); + int isTextInputAtCapacity(); void handleDeleteKey(); diff --git a/src/OpenSHC/UI.func.hpp b/src/OpenSHC/UI.func.hpp index 262a9357..83c3f7fe 100644 --- a/src/OpenSHC/UI.func.hpp +++ b/src/OpenSHC/UI.func.hpp @@ -556,8 +556,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemActionHandler_InGameMenu_UnitSelectionAndControlsUnk) MenuItemActionHandler_InGameMenu_UnitSelectionAndControlsUnk; - MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00437CC0, &OpenSHC::UI::FUN_00437cc0) - FUN_00437cc0; + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00437CC0, &OpenSHC::UI::HandleWallTerrainMouseDrag) + HandleWallTerrainMouseDrag; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00437ED0, &OpenSHC::UI::MenuItemActionHandler_InGameMenu_TriggerPlaceWallCommand) @@ -659,8 +660,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_ReturnToBuildMenu) MenuItemActionHandler_BuildingAndStatusMenu_ReturnToBuildMenu; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00440360, &OpenSHC::UI::FUN_00440360) - FUN_00440360; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00440360, &OpenSHC::UI::CountPlayerUnitsByType) + CountPlayerUnitsByType; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004403D0, &OpenSHC::UI::MenuView_UnusedHelpTextEditor_Prepare) @@ -799,8 +801,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemRenderFunction_General_RenderCurrentButtonWithPossibleAlphaTexOnScreenMenuSurface) MenuItemRenderFunction_General_RenderCurrentButtonWithPossibleAlphaTexOnScreenMenuSurface; - MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004641A0, &OpenSHC::UI::FUN_004641a0) - FUN_004641a0; + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004641A0, &OpenSHC::UI::RenderButtonImageWithBlending) + RenderButtonImageWithBlending; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ...), false, Address::SHC_3BB0A8C1_0x00464260, &OpenSHC::UI::MenuItemRenderFunction_ChooseRandomNumberOfEnemies_Main) @@ -977,8 +980,9 @@ namespace UI_Func { undefined4(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0046CF90, &OpenSHC::UI::TicksSinceCounterStart) TicksSinceCounterStart; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00471A80, &OpenSHC::UI::FUN_00471a80) - FUN_00471a80; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00471A80, &OpenSHC::UI::exitToScenarioDescriptionMenu) + exitToScenarioDescriptionMenu; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ...), false, Address::SHC_3BB0A8C1_0x0047C670, &OpenSHC::UI::MenuItemRenderFunction_NetworkSessions_Buttons) @@ -1283,9 +1287,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemActionHandler_ProgressBarBox_LoadAndSaveGameButtonLogic) MenuItemActionHandler_ProgressBarBox_LoadAndSaveGameButtonLogic; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00495800, &OpenSHC::UI::FUN_00495800) - FUN_00495800; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00495800, + &OpenSHC::UI::ShowProgressBarSaveLoadDialog) + ShowProgressBarSaveLoadDialog; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ...), false, Address::SHC_3BB0A8C1_0x00495860, &OpenSHC::UI::MenuItemActionHandler_OnlineVoteQuitAndQuitGame_Main) @@ -1451,8 +1455,9 @@ namespace UI_Func { Address::SHC_3BB0A8C1_0x004AC4C0, &OpenSHC::UI::MenuModalRenderFunction_ReceiveMapFrom) MenuModalRenderFunction_ReceiveMapFrom; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AC650, &OpenSHC::UI::FUN_004ac650) - FUN_004ac650; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AC650, &OpenSHC::UI::buildEnemyPlayerList) + buildEnemyPlayerList; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, Address::SHC_3BB0A8C1_0x004AC6E0, &OpenSHC::UI::MenuModalRenderFunction_Allies) @@ -1574,9 +1579,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemRenderFunction_InGameMenu_BikMessagePlayerShield) MenuItemRenderFunction_InGameMenu_BikMessagePlayerShield; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(uint param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004B7F60, &OpenSHC::UI::FUN_004b7f60) - FUN_004b7f60; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(uint param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004B7F60, + &OpenSHC::UI::PlayMissionAestheticSFX) + PlayMissionAestheticSFX; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B8050, &OpenSHC::UI::MenuView_General_DoInitial_OnlySetMenuXY) @@ -1586,8 +1591,9 @@ namespace UI_Func { void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B8080, &OpenSHC::UI::MenuView_EditScenario_DoEveryFrame) MenuView_EditScenario_DoEveryFrame; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B8210, &OpenSHC::UI::FUN_004b8210) - FUN_004b8210; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B8210, &OpenSHC::UI::RestoreScenarioGold) + RestoreScenarioGold; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ...), false, Address::SHC_3BB0A8C1_0x004B8220, &OpenSHC::UI::MenuItemActionHandler_EditScenario_BaseMenuButtons) @@ -1634,8 +1640,9 @@ namespace UI_Func { Address::SHC_3BB0A8C1_0x004B9530, &OpenSHC::UI::MenuItemRenderFunction_NewInvasion_RepeatSlider) MenuItemRenderFunction_NewInvasion_RepeatSlider; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B9610, &OpenSHC::UI::FUN_004b9610) - FUN_004b9610; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B9610, &OpenSHC::UI::CaptureCurrentTimeToUnknownTime01) + CaptureCurrentTimeToUnknownTime01; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ...), false, Address::SHC_3BB0A8C1_0x004B9620, &OpenSHC::UI::MenuItemActionHandler_NewEventCondition_Main) @@ -1743,23 +1750,24 @@ namespace UI_Func { MenuItemRenderFunction_TriggerInvasion_Main; MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC5F0, &OpenSHC::UI::FUN_004bc5f0) - FUN_004bc5f0; + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC5F0, &OpenSHC::UI::initTutorialStepTransition) + initTutorialStepTransition; MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC630, &OpenSHC::UI::FUN_004bc630) - FUN_004bc630; - - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BC6C0, &OpenSHC::UI::FUN_004bc6c0) - FUN_004bc6c0; + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC630, &OpenSHC::UI::recordTutorialPlayerAction) + recordTutorialPlayerAction; MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004BC790, &OpenSHC::UI::FUN_004bc790) - FUN_004bc790; + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BC6C0, &OpenSHC::UI::resetTutorialActionTrackers) + resetTutorialActionTrackers; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC910, &OpenSHC::UI::FUN_004bc910) - FUN_004bc910; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004BC790, + &OpenSHC::UI::renderAnimatedTutorialFloatOverlay) + renderAnimatedTutorialFloatOverlay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC910, + &OpenSHC::UI::renderTutorialFloatForUIElement) + renderTutorialFloatForUIElement; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, Address::SHC_3BB0A8C1_0x004BCBA0, &OpenSHC::UI::MenuModalRenderFunction_TutorialBox) @@ -1773,8 +1781,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemRenderFunction_TutorialBox_Main) MenuItemRenderFunction_TutorialBox_Main; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BD1B0, &OpenSHC::UI::FUN_004bd1b0) - FUN_004bd1b0; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BD1B0, &OpenSHC::UI::updateTutorialStepAndProgress) + updateTutorialStepAndProgress; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BEC10, &OpenSHC::UI::MenuView_EditScenario_Prepare) @@ -1852,8 +1861,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemActionHandler_Unknown27CampaignUnk_Main) MenuItemActionHandler_Unknown27CampaignUnk_Main; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D6F60, &OpenSHC::UI::FUN_004d6f60) - FUN_004d6f60; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D6F60, &OpenSHC::UI::ParseCampaignMapHotspotBitmap) + ParseCampaignMapHotspotBitmap; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ...), false, Address::SHC_3BB0A8C1_0x004D8250, &OpenSHC::UI::MenuItemRenderFunction_ScenarioDescription_Main) @@ -1864,8 +1874,8 @@ namespace UI_Func { MenuItemActionHandler_ScenarioDescription_Main; MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(char* param_1), false, Address::SHC_3BB0A8C1_0x004D8A20, &OpenSHC::UI::FUN_004d8a20) - FUN_004d8a20; + void(__cdecl*)(char* param_1), false, Address::SHC_3BB0A8C1_0x004D8A20, &OpenSHC::UI::ReadMapHeaderFromFile) + ReadMapHeaderFromFile; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D8AB0, &OpenSHC::UI::MenuView_CrusadeMissionIntro_Prepare) @@ -1903,9 +1913,9 @@ namespace UI_Func { &OpenSHC::UI::MenuItemActionHandler_CrusadeEndscreen_Main) MenuItemActionHandler_CrusadeEndscreen_Main; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x004D9270, &OpenSHC::UI::FUN_004d9270) - FUN_004d9270; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x004D9270, + &OpenSHC::UI::SetActiveCreditsSequenceIndex) + SetActiveCreditsSequenceIndex; MACRO_FUNCTION_RESOLVER( void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D9700, &OpenSHC::UI::MenuView_RankingGames_Prepare) @@ -1948,94 +1958,101 @@ namespace UI_Func { &OpenSHC::UI::MenuItemActionHandler_TacticalPowerBar_Main) MenuItemActionHandler_TacticalPowerBar_Main; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA180, &OpenSHC::UI::FUN_004da180) - FUN_004da180; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA180, &OpenSHC::UI::StopCreditsPlaybackAndSounds) + StopCreditsPlaybackAndSounds; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA200, &OpenSHC::UI::FUN_004da200) - FUN_004da200; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA200, &OpenSHC::UI::EndCreditsSegmentAndAdvanceToNext) + EndCreditsSegmentAndAdvanceToNext; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA300, &OpenSHC::UI::resetCredits) resetCredits; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, undefined4 param_2), false, - Address::SHC_3BB0A8C1_0x004DA7A0, &OpenSHC::UI::FUN_004da7a0) - FUN_004da7a0; + Address::SHC_3BB0A8C1_0x004DA7A0, &OpenSHC::UI::AppendCreditsSoundEntry) + AppendCreditsSoundEntry; MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x004DA7E0, &OpenSHC::UI::FUN_004da7e0) - FUN_004da7e0; + void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x004DA7E0, &OpenSHC::UI::AppendCreditsCommand) + AppendCreditsCommand; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA810, &OpenSHC::UI::FUN_004da810) - FUN_004da810; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA810, &OpenSHC::UI::AppendCreditsListTerminator) + AppendCreditsListTerminator; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA840, &OpenSHC::UI::FUN_004da840) - FUN_004da840; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA840, &OpenSHC::UI::AppendCreditsPauseCommand) + AppendCreditsPauseCommand; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA870, &OpenSHC::UI::FUN_004da870) - FUN_004da870; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA870, &OpenSHC::UI::AppendCreditsSegmentEndCommand) + AppendCreditsSegmentEndCommand; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA8A0, &OpenSHC::UI::FUN_004da8a0) - FUN_004da8a0; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DA8A0, &OpenSHC::UI::AppendCreditsClearImageCommand) + AppendCreditsClearImageCommand; MACRO_FUNCTION_RESOLVER( void(__cdecl*)(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5), false, - Address::SHC_3BB0A8C1_0x004DA8D0, &OpenSHC::UI::FUN_004da8d0) - FUN_004da8d0; + Address::SHC_3BB0A8C1_0x004DA8D0, &OpenSHC::UI::AppendCreditsImageTransitionCommand) + AppendCreditsImageTransitionCommand; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004DA9A0, &OpenSHC::UI::FUN_004da9a0) - FUN_004da9a0; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004DA9A0, + &OpenSHC::UI::AppendCreditsImageEndCommand) + AppendCreditsImageEndCommand; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8), - false, Address::SHC_3BB0A8C1_0x004DA9F0, &OpenSHC::UI::FUN_004da9f0) - FUN_004da9f0; + false, Address::SHC_3BB0A8C1_0x004DA9F0, &OpenSHC::UI::AppendCreditsShowImageCommand) + AppendCreditsShowImageCommand; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, char* param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6), - false, Address::SHC_3BB0A8C1_0x004DAA80, &OpenSHC::UI::FUN_004daa80) - FUN_004daa80; + false, Address::SHC_3BB0A8C1_0x004DAA80, &OpenSHC::UI::AppendCreditsBinkVideoCommand) + AppendCreditsBinkVideoCommand; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, undefined4 param_2, undefined4 param_3), false, - Address::SHC_3BB0A8C1_0x004DAB00, &OpenSHC::UI::FUN_004dab00) - FUN_004dab00; + Address::SHC_3BB0A8C1_0x004DAB00, &OpenSHC::UI::AppendCreditsFixedImageCommand) + AppendCreditsFixedImageCommand; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(char* param_1, undefined4 param_2, int param_3, undefined4 param_4), false, - Address::SHC_3BB0A8C1_0x004DAB80, &OpenSHC::UI::FUN_004dab80) - FUN_004dab80; + Address::SHC_3BB0A8C1_0x004DAB80, &OpenSHC::UI::AppendCreditsBinkVideoWithAudioCommand) + AppendCreditsBinkVideoWithAudioCommand; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, undefined4 param_2), false, - Address::SHC_3BB0A8C1_0x004DABF0, &OpenSHC::UI::FUN_004dabf0) - FUN_004dabf0; + Address::SHC_3BB0A8C1_0x004DABF0, &OpenSHC::UI::AppendCreditsSoundStreamCommand) + AppendCreditsSoundStreamCommand; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8), - false, Address::SHC_3BB0A8C1_0x004DAC30, &OpenSHC::UI::FUN_004dac30) - FUN_004dac30; + false, Address::SHC_3BB0A8C1_0x004DAC30, &OpenSHC::UI::AppendCreditsTextCommand) + AppendCreditsTextCommand; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004DACF0, &OpenSHC::UI::FUN_004dacf0) - FUN_004dacf0; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004DACF0, + &OpenSHC::UI::AppendCreditsTextEndCommand) + AppendCreditsTextEndCommand; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DAFB0, &OpenSHC::UI::FUN_004dafb0) - FUN_004dafb0; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DAFB0, &OpenSHC::UI::RenderTextPageProgressBar) + RenderTextPageProgressBar; MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004DB0D0, &OpenSHC::UI::FUN_004db0d0) - FUN_004db0d0; + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004DB0D0, &OpenSHC::UI::DisplayFullScreenTextPage) + DisplayFullScreenTextPage; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, undefined4 param_2), false, - Address::SHC_3BB0A8C1_0x004DB180, &OpenSHC::UI::FUN_004db180) - FUN_004db180; + Address::SHC_3BB0A8C1_0x004DB180, &OpenSHC::UI::BuildIntroLogoSequence) + BuildIntroLogoSequence; MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int storedMenuStringIndex, undefined4 param_2, undefined4 param_3, int allowedWidth, undefined4 param_5, int fontSize), false, Address::SHC_3BB0A8C1_0x004DB300, &OpenSHC::UI::TrimStoredMenuString) TrimStoredMenuString; - MACRO_FUNCTION_RESOLVER( - void(__cdecl*)(float param_1), false, Address::SHC_3BB0A8C1_0x004DB390, &OpenSHC::UI::FUN_004db390) - FUN_004db390; + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(float param_1), false, Address::SHC_3BB0A8C1_0x004DB390, + &OpenSHC::UI::RenderScrollingCreditsTextFrame) + RenderScrollingCreditsTextFrame; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB4F0, &OpenSHC::UI::MenuView_HistoricMissionPicture_Prepare) @@ -2074,11 +2091,12 @@ namespace UI_Func { MenuView_HistoricCampaignOutro_DoEveryFrame; MACRO_FUNCTION_RESOLVER( - undefined4(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC140, &OpenSHC::UI::FUN_004dc140) - FUN_004dc140; + undefined4(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC140, &OpenSHC::UI::FindCampaignMapHotspotAtMouse) + FindCampaignMapHotspotAtMouse; - MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC1C0, &OpenSHC::UI::FUN_004dc1c0) - FUN_004dc1c0; + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC1C0, &OpenSHC::UI::BuildExtremeDemoIntroScript) + BuildExtremeDemoIntroScript; MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC500, &OpenSHC::UI::MenuView_MissionFinishedTransition_DoEveryFrame) diff --git a/src/OpenSHC/UI.hpp b/src/OpenSHC/UI.hpp index c3348eab..d9e0e919 100644 --- a/src/OpenSHC/UI.hpp +++ b/src/OpenSHC/UI.hpp @@ -295,7 +295,7 @@ namespace UI { void __cdecl MenuItemActionHandler_InGameMenu_UnitSelectionAndControlsUnk(int param_1, ...); - void __cdecl FUN_00437cc0(); + void __cdecl HandleWallTerrainMouseDrag(); void __stdcall MenuItemActionHandler_InGameMenu_TriggerPlaceWallCommand(); @@ -347,7 +347,7 @@ namespace UI { void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_ReturnToBuildMenu(int param_1, ...); - void __stdcall FUN_00440360(); + void __stdcall CountPlayerUnitsByType(); void __stdcall MenuView_UnusedHelpTextEditor_Prepare(); @@ -420,7 +420,7 @@ namespace UI { void __cdecl MenuItemRenderFunction_General_RenderCurrentButtonWithPossibleAlphaTexOnScreenMenuSurface(); - void __cdecl FUN_004641a0(); + void __cdecl RenderButtonImageWithBlending(); void __cdecl MenuItemRenderFunction_ChooseRandomNumberOfEnemies_Main(int param_1, ...); @@ -512,7 +512,7 @@ namespace UI { undefined4 __cdecl TicksSinceCounterStart(); - void __stdcall FUN_00471a80(); + void __stdcall exitToScenarioDescriptionMenu(); void __cdecl MenuItemRenderFunction_NetworkSessions_Buttons(int param_1, ...); @@ -675,7 +675,7 @@ namespace UI { void __cdecl MenuItemActionHandler_ProgressBarBox_LoadAndSaveGameButtonLogic(int param_1, ...); - void __cdecl FUN_00495800(int param_1); + void __cdecl ShowProgressBarSaveLoadDialog(int param_1); void __cdecl MenuItemActionHandler_OnlineVoteQuitAndQuitGame_Main(int param_1, ...); @@ -761,7 +761,7 @@ namespace UI { void __cdecl MenuModalRenderFunction_ReceiveMapFrom(int x, int y, int width, int height); - void __stdcall FUN_004ac650(); + void __stdcall buildEnemyPlayerList(); void __cdecl MenuModalRenderFunction_Allies(int x, int y, int width, int height); @@ -823,13 +823,13 @@ namespace UI { void __cdecl MenuItemRenderFunction_InGameMenu_BikMessagePlayerShield(int param_1, ...); - void __cdecl FUN_004b7f60(uint param_1, int param_2); + void __cdecl PlayMissionAestheticSFX(uint param_1, int param_2); void __stdcall MenuView_General_DoInitial_OnlySetMenuXY(); void __stdcall MenuView_EditScenario_DoEveryFrame(); - void __stdcall FUN_004b8210(); + void __stdcall RestoreScenarioGold(); void __cdecl MenuItemActionHandler_EditScenario_BaseMenuButtons(int param_1, ...); @@ -856,7 +856,7 @@ namespace UI { void __cdecl MenuItemRenderFunction_NewInvasion_RepeatSlider( int param_1, int thumbXPos, int sliderValue, int thumbWidth, BOOLEnum isDragged); - void __stdcall FUN_004b9610(); + void __stdcall CaptureCurrentTimeToUnknownTime01(); void __cdecl MenuItemActionHandler_NewEventCondition_Main(int param_1, ...); @@ -915,15 +915,15 @@ namespace UI { void __cdecl MenuItemRenderFunction_TriggerInvasion_Main(int param_1, ...); - void __cdecl FUN_004bc5f0(int param_1); + void __cdecl initTutorialStepTransition(int param_1); - void __cdecl FUN_004bc630(int param_1); + void __cdecl recordTutorialPlayerAction(int param_1); - void __stdcall FUN_004bc6c0(); + void __stdcall resetTutorialActionTrackers(); - void __cdecl FUN_004bc790(int param_1, int param_2); + void __cdecl renderAnimatedTutorialFloatOverlay(int param_1, int param_2); - void __cdecl FUN_004bc910(int param_1); + void __cdecl renderTutorialFloatForUIElement(int param_1); void __cdecl MenuModalRenderFunction_TutorialBox(int x, int y, int width, int height); @@ -931,7 +931,7 @@ namespace UI { void __cdecl MenuItemRenderFunction_TutorialBox_Main(int param_1, ...); - void __stdcall FUN_004bd1b0(); + void __stdcall updateTutorialStepAndProgress(); void __stdcall MenuView_EditScenario_Prepare(); @@ -971,13 +971,13 @@ namespace UI { void __cdecl MenuItemActionHandler_Unknown27CampaignUnk_Main(int param_1, ...); - void __stdcall FUN_004d6f60(); + void __stdcall ParseCampaignMapHotspotBitmap(); void __cdecl MenuItemRenderFunction_ScenarioDescription_Main(int param_1, ...); void __cdecl MenuItemActionHandler_ScenarioDescription_Main(int param_1, ...); - void __cdecl FUN_004d8a20(char* param_1); + void __cdecl ReadMapHeaderFromFile(char* param_1); void __stdcall MenuView_CrusadeMissionIntro_Prepare(); @@ -997,7 +997,7 @@ namespace UI { void __cdecl MenuItemActionHandler_CrusadeEndscreen_Main(int param_1, ...); - void __cdecl FUN_004d9270(undefined4 param_1); + void __cdecl SetActiveCreditsSequenceIndex(undefined4 param_1); void __stdcall MenuView_RankingGames_Prepare(); @@ -1021,55 +1021,57 @@ namespace UI { void __cdecl MenuItemActionHandler_TacticalPowerBar_Main(int param_1, ...); - void __stdcall FUN_004da180(); + void __stdcall StopCreditsPlaybackAndSounds(); - void __stdcall FUN_004da200(); + void __stdcall EndCreditsSegmentAndAdvanceToNext(); void __stdcall resetCredits(); - void __cdecl FUN_004da7a0(undefined4 param_1, undefined4 param_2); + void __cdecl AppendCreditsSoundEntry(undefined4 param_1, undefined4 param_2); - void __cdecl FUN_004da7e0(undefined4 param_1); + void __cdecl AppendCreditsCommand(undefined4 param_1); - void __stdcall FUN_004da810(); + void __stdcall AppendCreditsListTerminator(); - void __stdcall FUN_004da840(); + void __stdcall AppendCreditsPauseCommand(); - void __stdcall FUN_004da870(); + void __stdcall AppendCreditsSegmentEndCommand(); - void __stdcall FUN_004da8a0(); + void __stdcall AppendCreditsClearImageCommand(); - void __cdecl FUN_004da8d0(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5); + void __cdecl AppendCreditsImageTransitionCommand( + int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5); - void __cdecl FUN_004da9a0(int param_1, int param_2); + void __cdecl AppendCreditsImageEndCommand(int param_1, int param_2); - void __cdecl FUN_004da9f0(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, - undefined4 param_6, undefined4 param_7, undefined4 param_8); + void __cdecl AppendCreditsShowImageCommand(int param_1, int param_2, undefined4 param_3, undefined4 param_4, + undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8); - void __cdecl FUN_004daa80(undefined4 param_1, char* param_2, undefined4 param_3, undefined4 param_4, - undefined4 param_5, undefined4 param_6); + void __cdecl AppendCreditsBinkVideoCommand(undefined4 param_1, char* param_2, undefined4 param_3, + undefined4 param_4, undefined4 param_5, undefined4 param_6); - void __cdecl FUN_004dab00(int param_1, undefined4 param_2, undefined4 param_3); + void __cdecl AppendCreditsFixedImageCommand(int param_1, undefined4 param_2, undefined4 param_3); - void __cdecl FUN_004dab80(char* param_1, undefined4 param_2, int param_3, undefined4 param_4); + void __cdecl AppendCreditsBinkVideoWithAudioCommand( + char* param_1, undefined4 param_2, int param_3, undefined4 param_4); - void __cdecl FUN_004dabf0(undefined4 param_1, undefined4 param_2); + void __cdecl AppendCreditsSoundStreamCommand(undefined4 param_1, undefined4 param_2); - void __cdecl FUN_004dac30(int param_1, int param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, - undefined4 param_6, undefined4 param_7, undefined4 param_8); + void __cdecl AppendCreditsTextCommand(int param_1, int param_2, undefined4 param_3, undefined4 param_4, + undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8); - void __cdecl FUN_004dacf0(int param_1, int param_2); + void __cdecl AppendCreditsTextEndCommand(int param_1, int param_2); - void __stdcall FUN_004dafb0(); + void __stdcall RenderTextPageProgressBar(); - void __cdecl FUN_004db0d0(int param_1); + void __cdecl DisplayFullScreenTextPage(int param_1); - void __cdecl FUN_004db180(undefined4 param_1, undefined4 param_2); + void __cdecl BuildIntroLogoSequence(undefined4 param_1, undefined4 param_2); void __cdecl TrimStoredMenuString(int storedMenuStringIndex, undefined4 param_2, undefined4 param_3, int allowedWidth, undefined4 param_5, int fontSize); - void __cdecl FUN_004db390(float param_1); + void __cdecl RenderScrollingCreditsTextFrame(float param_1); void __stdcall MenuView_HistoricMissionPicture_Prepare(); @@ -1089,9 +1091,9 @@ namespace UI { void __stdcall MenuView_HistoricCampaignOutro_DoEveryFrame(); - undefined4 __stdcall FUN_004dc140(); + undefined4 __stdcall FindCampaignMapHotspotAtMouse(); - void __stdcall FUN_004dc1c0(); + void __stdcall BuildExtremeDemoIntroScript(); void __stdcall MenuView_MissionFinishedTransition_DoEveryFrame(); diff --git a/src/OpenSHC/UI/MenuModalComposition.func.hpp b/src/OpenSHC/UI/MenuModalComposition.func.hpp index 9b2d72f8..58413c52 100644 --- a/src/OpenSHC/UI/MenuModalComposition.func.hpp +++ b/src/OpenSHC/UI/MenuModalComposition.func.hpp @@ -47,8 +47,8 @@ namespace UI { setSliderParameters2; MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(int, int, dword, dword, undefined*, undefined*), false, - Address::SHC_3BB0A8C1_0x004AA930, &MenuModalComposition::meth_0x4aa930) - meth_0x4aa930; + Address::SHC_3BB0A8C1_0x004AA930, &MenuModalComposition::setModalSliderParameters) + setModalSliderParameters; MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(), false, Address::SHC_3BB0A8C1_0x004B0B30, &MenuModalComposition::renderMenuModal) diff --git a/src/OpenSHC/UI/MenuModalComposition.hpp b/src/OpenSHC/UI/MenuModalComposition.hpp index ab707f26..24712566 100644 --- a/src/OpenSHC/UI/MenuModalComposition.hpp +++ b/src/OpenSHC/UI/MenuModalComposition.hpp @@ -76,7 +76,7 @@ namespace UI { void setSliderParameters2( dword minimum, dword maximum, dword value, dword destination, undefined* callbackFunction); - void meth_0x4aa930( + void setModalSliderParameters( int param_1, int param_2, dword param_3, dword param_4, undefined* param_5, undefined* param_6); void renderMenuModal(); diff --git a/src/OpenSHC/UI/MinimapViewState.func.hpp b/src/OpenSHC/UI/MinimapViewState.func.hpp index e500252d..80c7b096 100644 --- a/src/OpenSHC/UI/MinimapViewState.func.hpp +++ b/src/OpenSHC/UI/MinimapViewState.func.hpp @@ -7,41 +7,41 @@ namespace OpenSHC { namespace UI { namespace MinimapViewState_Func { - MACRO_FUNCTION_RESOLVER( - void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B5110, &MinimapViewState::FUN_004b5110) - FUN_004b5110; + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B5110, + &MinimapViewState::scrollViewportToMinimapClick) + scrollViewportToMinimapClick; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int*, int*), false, Address::SHC_3BB0A8C1_0x004B51A0, - &MinimapViewState::meth_0x4b51a0) - meth_0x4b51a0; + &MinimapViewState::convertMinimapClickToTileXY) + convertMinimapClickToTileXY; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004B5280, &MinimapViewState::renderMinimapPreview) renderMinimapPreview; - MACRO_FUNCTION_RESOLVER( - void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B5300, &MinimapViewState::meth_0x4b5300) - meth_0x4b5300; + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B5300, + &MinimapViewState::triggerMinimapRedraw) + triggerMinimapRedraw; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(uint, int, int, uint, int), false, - Address::SHC_3BB0A8C1_0x004B5330, &MinimapViewState::FUN_004b5330) - FUN_004b5330; + Address::SHC_3BB0A8C1_0x004B5330, &MinimapViewState::renderMinimapTileStripWithLuminescence) + renderMinimapTileStripWithLuminescence; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(uint, int, int, int, uint), false, - Address::SHC_3BB0A8C1_0x004B58D0, &MinimapViewState::setTileColorsUnk) - setTileColorsUnk; + Address::SHC_3BB0A8C1_0x004B58D0, &MinimapViewState::renderMinimapTileColors) + renderMinimapTileColors; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(uint, int, int), false, Address::SHC_3BB0A8C1_0x004B5F70, - &MinimapViewState::meth_0x4b5f70) - meth_0x4b5f70; + &MinimapViewState::locatePlayerKeepPositionsOnMinimap) + locatePlayerKeepPositionsOnMinimap; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B61F0, &MinimapViewState::generateMinimapImage) generateMinimapImage; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B6320, - &MinimapViewState::createMapPreviewMiniMap_ConvertColorsUnk) - createMapPreviewMiniMap_ConvertColorsUnk; + &MinimapViewState::convertLoadedMinimapColors) + convertLoadedMinimapColors; MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004B6430, &MinimapViewState::setSpawnMoment) diff --git a/src/OpenSHC/UI/MinimapViewState.hpp b/src/OpenSHC/UI/MinimapViewState.hpp index f8a61e9f..b30c7a95 100644 --- a/src/OpenSHC/UI/MinimapViewState.hpp +++ b/src/OpenSHC/UI/MinimapViewState.hpp @@ -59,23 +59,23 @@ namespace UI { // Constructor MinimapViewState* Constructor_MinimapViewState(); - void FUN_004b5110(); + void scrollViewportToMinimapClick(); - void meth_0x4b51a0(int* param_1, int* param_2); + void convertMinimapClickToTileXY(int* param_1, int* param_2); void renderMinimapPreview(int screenX, int screenY); - void meth_0x4b5300(); + void triggerMinimapRedraw(); - void FUN_004b5330(uint param_1, int param_2, int param_3, uint param_4, int param_5); + void renderMinimapTileStripWithLuminescence(uint param_1, int param_2, int param_3, uint param_4, int param_5); - void setTileColorsUnk(uint param_1, int param_2, int param_3, int param_4, uint param_5); + void renderMinimapTileColors(uint param_1, int param_2, int param_3, int param_4, uint param_5); - void meth_0x4b5f70(uint param_1, int param_2, int param_3); + void locatePlayerKeepPositionsOnMinimap(uint param_1, int param_2, int param_3); void generateMinimapImage(); - void createMapPreviewMiniMap_ConvertColorsUnk(); + void convertLoadedMinimapColors(); void setSpawnMoment(int x, int y); diff --git a/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp index 0b7bb0c4..694c7e2f 100644 --- a/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp +++ b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp @@ -30,16 +30,16 @@ namespace UI { isMouseOnButtonImageUnk; MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(int), false, Address::SHC_3BB0A8C1_0x00463270, - &AlphaAndButtonSurface::FUN_00463270) - FUN_00463270; + &AlphaAndButtonSurface::ProcessBuildingClickBonus) + ProcessBuildingClickBonus; MACRO_FUNCTION_RESOLVER(BOOLEnum (AlphaAndButtonSurface::*)(int), false, Address::SHC_3BB0A8C1_0x00463310, &AlphaAndButtonSurface::openBuildingStatusMenuForBuildingID) openBuildingStatusMenuForBuildingID; MACRO_FUNCTION_RESOLVER(BOOLEnum (AlphaAndButtonSurface::*)(int), false, Address::SHC_3BB0A8C1_0x00463A00, - &AlphaAndButtonSurface::FUN_00463a00) - FUN_00463a00; + &AlphaAndButtonSurface::SelectUnitAndOpenStatusMenu) + SelectUnitAndOpenStatusMenu; MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(int, RenderTarget), false, Address::SHC_3BB0A8C1_0x00463A90, &AlphaAndButtonSurface::renderBasicButton) diff --git a/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp index 620defb8..c1c745db 100644 --- a/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp +++ b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp @@ -47,11 +47,11 @@ namespace UI { BOOLEnum isMouseOnButtonImageUnk(); - void FUN_00463270(int buildingIndex); + void ProcessBuildingClickBonus(int buildingIndex); BOOLEnum openBuildingStatusMenuForBuildingID(int buildingID); - BOOLEnum FUN_00463a00(int unitIndex); + BOOLEnum SelectUnitAndOpenStatusMenu(int unitIndex); void renderBasicButton(int reverseOrBlendStrength, RenderTarget renderSurface); }; diff --git a/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp b/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp index bd5632ed..7606c18e 100644 --- a/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp +++ b/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp @@ -138,8 +138,8 @@ namespace UI { loadGfxAtBufferEnd; MACRO_FUNCTION_RESOLVER(BOOLEnum (TextureRenderCore::*)(char*), false, Address::SHC_3BB0A8C1_0x004548D0, - &TextureRenderCore::FUN_004548d0) - FUN_004548d0; + &TextureRenderCore::CheckGfxResourceExists) + CheckGfxResourceExists; MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00454900, &TextureRenderCore::renderLoadedGfx) diff --git a/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp b/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp index 3209c97f..fea65120 100644 --- a/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp +++ b/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp @@ -185,7 +185,7 @@ namespace UI { int loadGfxAtBufferEnd(char* fileName); - BOOLEnum FUN_004548d0(char* param_1); + BOOLEnum CheckGfxResourceExists(char* param_1); void renderLoadedGfx(int loadedGfxIndex, int xPos, int yPos); diff --git a/src/precomp/addresses-SHC-3BB0A8C1.hpp b/src/precomp/addresses-SHC-3BB0A8C1.hpp index 32cfc702..4041fc8f 100644 --- a/src/precomp/addresses-SHC-3BB0A8C1.hpp +++ b/src/precomp/addresses-SHC-3BB0A8C1.hpp @@ -602,7 +602,7 @@ enum { SHC_3BB0A8C1_0x004010E0 = 0x004010E0, // type: function SHC_3BB0A8C1_0x00401120 = 0x00401120, - // label: meth_0x401150 + // label: playerHasEntityOfType // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401150 = 0x00401150, @@ -630,11 +630,11 @@ enum { // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401380 = 0x00401380, - // label: meth_0x401400 + // label: markEntityDestroyed // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401400 = 0x00401400, - // label: meth_0x401430 + // label: tickEntityDecayCounter // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401430 = 0x00401430, @@ -656,11 +656,11 @@ enum { SHC_3BB0A8C1_0x004015D0 = 0x004015D0, // type: function SHC_3BB0A8C1_0x004015F0 = 0x004015F0, - // label: meth_0x401620 + // label: recountActiveFires // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401620 = 0x00401620, - // label: meth_0x401690 + // label: flagUnitsWithActiveEntity // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401690 = 0x00401690, @@ -670,11 +670,11 @@ enum { SHC_3BB0A8C1_0x004016E0 = 0x004016E0, // type: function SHC_3BB0A8C1_0x00401730 = 0x00401730, - // label: meth_0x401880 + // label: refreshPoisonCloudNearUnit // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401880 = 0x00401880, - // label: meth_0x401910 + // label: assignPoisonCloudTargetEntity // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401910 = 0x00401910, @@ -686,7 +686,7 @@ enum { // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401A50 = 0x00401A50, - // label: meth_0x401ae0 + // label: reassignEntitiesOwner // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00401AE0 = 0x00401AE0, @@ -798,7 +798,7 @@ enum { // location: OpenSHC/Map/Entities // type: function SHC_3BB0A8C1_0x00402AB0 = 0x00402AB0, - // label: meth_0x402ae0 + // label: updateEntityMicroMovement // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00402AE0 = 0x00402AE0, @@ -812,7 +812,7 @@ enum { SHC_3BB0A8C1_0x00402BC8 = 0x00402BC8, // type: /pointer SHC_3BB0A8C1_0x00402BCC = 0x00402BCC, - // label: FUN_00402bd0 + // label: angleToRotationFrameIndex // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00402BD0 = 0x00402BD0, @@ -824,17 +824,17 @@ enum { // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00402DA0 = 0x00402DA0, - // label: meth_0x402e20 + // label: computeLineOfSightDistance // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00402E20 = 0x00402E20, // type: function SHC_3BB0A8C1_0x00403200 = 0x00403200, - // label: meth_0x4036f0 + // label: calculateEntityDrawOffset // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x004036F0 = 0x004036F0, - // label: meth_0x403790 + // label: initializeSeagullMovementVector // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00403790 = 0x00403790, @@ -846,7 +846,7 @@ enum { // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x004038B0 = 0x004038B0, - // label: FUN_00403900 + // label: removeEntityFromTileLinkedList // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00403900 = 0x00403900, @@ -854,7 +854,7 @@ enum { // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00403980 = 0x00403980, - // label: meth_0x4039b0 + // label: activateProjectileEntity // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x004039B0 = 0x004039B0, @@ -866,7 +866,7 @@ enum { // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00403A20 = 0x00403A20, - // label: meth_0x403ff0 + // label: handleProjectileWallBounce // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00403FF0 = 0x00403FF0, @@ -2046,11 +2046,11 @@ enum { // location: OpenSHC/Map/Entities // type: function SHC_3BB0A8C1_0x00405C00 = 0x00405C00, - // label: meth_0x405cf0 + // label: setProjectileTargetPosition // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00405CF0 = 0x00405CF0, - // label: meth_0x405da0 + // label: spawnProjectileImpactDebris // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00405DA0 = 0x00405DA0, @@ -2798,7 +2798,7 @@ enum { SHC_3BB0A8C1_0x004081D4 = 0x004081D4, // type: /byte SHC_3BB0A8C1_0x004081D5 = 0x004081D5, - // label: meth_0x4081e0 + // label: updateProjectileHeightAndCollision // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x004081E0 = 0x004081E0, @@ -2818,7 +2818,7 @@ enum { // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x004084A0 = 0x004084A0, - // label: FUN_00408770 + // label: handleMapVersionUpgrade // location: OpenSHC/Map/Entities/EntityState // type: function SHC_3BB0A8C1_0x00408770 = 0x00408770, @@ -2994,7 +2994,7 @@ enum { // location: OpenSHC/Map/Navigation/DirectionAlgorithmState // type: function SHC_3BB0A8C1_0x004092C0 = 0x004092C0, - // label: meth_0x4092e0 + // label: computeTileXOffset // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004092E0 = 0x004092E0, @@ -3002,7 +3002,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00409300 = 0x00409300, - // label: someArrayIndexingOnBuildingField0x120 + // label: getBuildingResourceAmountByUid // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00409330 = 0x00409330, @@ -4176,7 +4176,7 @@ enum { SHC_3BB0A8C1_0x00409E75 = 0x00409E75, // type: /byte SHC_3BB0A8C1_0x00409E76 = 0x00409E76, - // label: GetBuildingHeightForBuildingID_type2 + // label: getBuildingHeightForBuildingID2 // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00409E80 = 0x00409E80, @@ -4518,11 +4518,11 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040AB30 = 0x0040AB30, - // label: meth_0x40ab90 + // label: findNextBuildingIDForOwnerAndType // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040AB90 = 0x0040AB90, - // label: meth_0x40ac00 + // label: findNextBuildingForPlayerAndOneOfThreeTypes // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040AC00 = 0x0040AC00, @@ -4530,7 +4530,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040AC80 = 0x0040AC80, - // label: meth_0x40adb0 + // label: findNextReachableDefensiveBuildingForPlayer // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040ADB0 = 0x0040ADB0, @@ -4548,7 +4548,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B090 = 0x0040B090, - // label: closestInnBuildingID + // label: findClosestInnBuildingID // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B1A0 = 0x0040B1A0, @@ -4574,15 +4574,15 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B660 = 0x0040B660, - // label: FUN_0040b720 + // label: hasBuildingEntranceFlagForOrientation // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B720 = 0x0040B720, - // label: FUN_0040b7b0 + // label: hasBuildingExitFlagForOrientation // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B7B0 = 0x0040B7B0, - // label: meth_0x40b840 + // label: isBuildingPathBlockerOrDamageable // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B840 = 0x0040B840, @@ -4734,7 +4734,7 @@ enum { SHC_3BB0A8C1_0x0040B970 = 0x0040B970, // type: /byte SHC_3BB0A8C1_0x0040B971 = 0x0040B971, - // label: trueIfAnyUnitsOnBuildingAreFromHumanPlayer + // label: hasHumanPlayerUnitsOnBuilding // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040B980 = 0x0040B980, @@ -4806,7 +4806,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040BE70 = 0x0040BE70, - // label: meth_0x40bee0 + // label: extendResourceCountdownForPlayerBuildingsOfType // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040BEE0 = 0x0040BEE0, @@ -4826,11 +4826,11 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040BFE0 = 0x0040BFE0, - // label: ifArmoryReturnIDIfSpaceLeft + // label: getArmoryIDIfSpaceLeft // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040C060 = 0x0040C060, - // label: meth_0x40c0d0 + // label: computeArmoryRemainingCapacity // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040C0D0 = 0x0040C0D0, @@ -4854,7 +4854,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040C4B0 = 0x0040C4B0, - // label: getBuildingCostUnk + // label: getBuildingCost // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040C5F0 = 0x0040C5F0, @@ -5474,7 +5474,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040CB10 = 0x0040CB10, - // label: meth_0x40cb90 + // label: isFarmTileReadyForWheatStageChange // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040CB90 = 0x0040CB90, @@ -5484,7 +5484,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040CC30 = 0x0040CC30, - // label: unkWheatRelated1 + // label: updateWheatFieldTileGraphics // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040CF20 = 0x0040CF20, @@ -5492,25 +5492,25 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040D090 = 0x0040D090, - // label: meth_0x40d120 + // label: setupBarracksCampgroundPositions // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040D120 = 0x0040D120, // type: function SHC_3BB0A8C1_0x0040D190 = 0x0040D190, - // label: meth_0x40d400 + // label: setupMercenaryPostCampgroundPositions // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040D400 = 0x0040D400, // type: function SHC_3BB0A8C1_0x0040D470 = 0x0040D470, - // label: getIsAnySpaceAvailableAtUnitRallyPoint + // label: isSpaceAvailableAtUnitRallyPoint // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040D6E0 = 0x0040D6E0, // type: function SHC_3BB0A8C1_0x0040D910 = 0x0040D910, - // label: ifAIUnitReturnKeepLocation + // label: getKeepLocationForAIUnit // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040D9C0 = 0x0040D9C0, @@ -5518,25 +5518,25 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040DC70 = 0x0040DC70, - // label: meth_0x40e040 + // label: setupEngineersGuildCampgroundPositions // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E040 = 0x0040E040, - // label: someLaddermanFunction1 + // label: findFreeEngineerAssemblyTile // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E120 = 0x0040E120, - // label: meth_0x40e330 + // label: setupTunnelersGuildCampgroundPositions // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E330 = 0x0040E330, - // label: meth_0x40e410 + // label: findFreeTunnelerAssemblyTile // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E410 = 0x0040E410, // type: function SHC_3BB0A8C1_0x0040E550 = 0x0040E550, - // label: meth_0x40e610 + // label: findFreeCathedralAssemblyTile // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E610 = 0x0040E610, @@ -5548,11 +5548,11 @@ enum { SHC_3BB0A8C1_0x0040E740 = 0x0040E740, // type: function SHC_3BB0A8C1_0x0040E760 = 0x0040E760, - // label: meth_0x40e900 + // label: isEngineerNotAtAssignedWorkTile // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E900 = 0x0040E900, - // label: FUN_0040e990 + // label: getActiveEngineerForBuilding // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040E990 = 0x0040E990, @@ -5566,17 +5566,17 @@ enum { SHC_3BB0A8C1_0x0040EBF0 = 0x0040EBF0, // type: function SHC_3BB0A8C1_0x0040EC20 = 0x0040EC20, - // label: meth_0x40edf0 + // label: updateHopsFieldTileGraphics // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040EDF0 = 0x0040EDF0, // type: function SHC_3BB0A8C1_0x0040EE30 = 0x0040EE30, - // label: meth_0x40ef40 + // label: harmHopFarmsOfPlayer // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040EF40 = 0x0040EF40, - // label: FUN_0040efd0 + // label: updateBuildingAreaTileGraphics // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040EFD0 = 0x0040EFD0, @@ -5584,7 +5584,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F040 = 0x0040F040, - // label: meth_0x40f090 + // label: harmAppleFarmTreesOfPlayer // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F090 = 0x0040F090, @@ -5596,7 +5596,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F240 = 0x0040F240, - // label: meth_0x40f360 + // label: updateBuildingSignpostCounter // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F360 = 0x0040F360, @@ -5604,15 +5604,15 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F3D0 = 0x0040F3D0, - // label: setBuildingValueBasedOnBuildingStateBeing2 + // label: clearBuildingValueWhenStateIsTwo // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F3F0 = 0x0040F3F0, - // label: FUN_0040f420 + // label: getBuildingFlag3 // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F420 = 0x0040F420, - // label: FUN_0040f440 + // label: getBuildingFlag1 // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F440 = 0x0040F440, @@ -5620,7 +5620,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F460 = 0x0040F460, - // label: meth_0x40f4f0 + // label: refreshAllBuildingTileDisplays // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F4F0 = 0x0040F4F0, @@ -5628,7 +5628,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F540 = 0x0040F540, - // label: meth_0x40f5c0 + // label: assignWorkerToBuilding // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F5C0 = 0x0040F5C0, @@ -5656,7 +5656,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040F9D0 = 0x0040F9D0, - // label: meth_0x40fc40 + // label: updateLordLadyJesterAndGhostUnits // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0040FC40 = 0x0040FC40, @@ -5744,11 +5744,11 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00410320 = 0x00410320, - // label: meth_0x410440 + // label: canUnitReachBuildingPerimeter // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00410440 = 0x00410440, - // label: FUN_004105f0 + // label: canUnitReachAdjacentTile // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x004105F0 = 0x004105F0, @@ -5756,11 +5756,11 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x004106D0 = 0x004106D0, - // label: slaveFireRelated1 + // label: spawnRandomFireEffectOnBuilding // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00410800 = 0x00410800, - // label: fireRelatedBuildingParameter + // label: getBuildingFlammabilityFactor // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00410920 = 0x00410920, @@ -5986,11 +5986,11 @@ enum { SHC_3BB0A8C1_0x004109E1 = 0x004109E1, // type: /byte SHC_3BB0A8C1_0x004109E2 = 0x004109E2, - // label: meth_0x4109f0 + // label: extinguishBuildingFire // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x004109F0 = 0x004109F0, - // label: meth_0x410b10 + // label: findClosestReachableAlliedBuilding // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00410B10 = 0x00410B10, @@ -6196,11 +6196,11 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00416F80 = 0x00416F80, - // label: meth_0x4173d0 + // label: validateBuildingTetheredUnits // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x004173D0 = 0x004173D0, - // label: meth_0x417450 + // label: removeTetheredUnitFromBuilding // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00417450 = 0x00417450, @@ -6296,7 +6296,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00418C80 = 0x00418C80, - // label: requiredEngineersCount + // label: getRequiredEngineersCount // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00418EC0 = 0x00418EC0, @@ -6358,21 +6358,21 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419800 = 0x00419800, - // label: unkUpdatePathLinkageTileMap + // label: updatePathLinkageTileMap // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419960 = 0x00419960, - // label: meth_0x419a30 + // label: initializeGatePathfindingForOwner // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419A30 = 0x00419A30, - // label: FUN_00419ac0 + // label: rebuildTileLogicLayerForGatesAndWalls // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419AC0 = 0x00419AC0, // type: function SHC_3BB0A8C1_0x00419AE0 = 0x00419AE0, - // label: FUN_00419be0 + // label: rebuildTileLogicLayerForKeeps // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419BE0 = 0x00419BE0, @@ -6578,11 +6578,11 @@ enum { SHC_3BB0A8C1_0x00419EA1 = 0x00419EA1, // type: /byte SHC_3BB0A8C1_0x00419EA2 = 0x00419EA2, - // label: AIfindBuildingToAttack + // label: aiFindBuildingToAttack // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419EB0 = 0x00419EB0, - // label: FUN_00419fa0 + // label: findClosestEnemyBuildingWithinRadius // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00419FA0 = 0x00419FA0, @@ -6884,7 +6884,7 @@ enum { // location: OpenSHC/IO // type: function SHC_3BB0A8C1_0x0041A740 = 0x0041A740, - // label: Constructor_BuildingsState + // label: constructBuildingsState // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041A760 = 0x0041A760, @@ -6915,7 +6915,7 @@ enum { SHC_3BB0A8C1_0x0041B2B0 = 0x0041B2B0, // type: function SHC_3BB0A8C1_0x0041B6A0 = 0x0041B6A0, - // label: meth_0x41b7c0 + // label: computeBuildingEntranceFlagsForOrientations // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041B7C0 = 0x0041B7C0, @@ -6931,7 +6931,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041BA00 = 0x0041BA00, - // label: getAreaForSurroundingTileUnk + // label: findAccessibleAreaNearBuildingLocation // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041BAB0 = 0x0041BAB0, @@ -6967,7 +6967,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041C190 = 0x0041C190, - // label: FUN_0041c240 + // label: applyFoodLossPercentageToPlayer // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041C240 = 0x0041C240, @@ -6975,7 +6975,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041C310 = 0x0041C310, - // label: ApplyGateOrDrawbridgeOpenCloseChange + // label: applyGateOrDrawbridgeOpenCloseChange // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x0041C570 = 0x0041C570, @@ -7117,7 +7117,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00420A30 = 0x00420A30, - // label: meth_0x420bf0 + // label: upgradeBuildingsForMapVersion // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00420BF0 = 0x00420BF0, @@ -7395,7 +7395,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00421890 = 0x00421890, - // label: someBuildingDestroyFunction + // label: destroyBuildingAndLinkedDuplicates // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00421990 = 0x00421990, @@ -7403,7 +7403,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00421A40 = 0x00421A40, - // label: meth_0x421be0 + // label: resolveBuildingEntryAccessibility // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00421BE0 = 0x00421BE0, @@ -7425,7 +7425,7 @@ enum { SHC_3BB0A8C1_0x00422400 = 0x00422400, // type: function SHC_3BB0A8C1_0x00422430 = 0x00422430, - // label: UpdateGateDrawBridgeOpenCloseLogic + // label: updateGateDrawBridgeOpenCloseLogic // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x004224F0 = 0x004224F0, @@ -7439,7 +7439,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00422B80 = 0x00422B80, - // label: randomFireSpreadToBuildingsUnk + // label: spreadFireRandomlyToBuildings // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00422C60 = 0x00422C60, @@ -7543,7 +7543,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004240D0 = 0x004240D0, - // label: meth_0x424220 + // label: recomputeAccessibilityForAllBuildings // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00424220 = 0x00424220, @@ -7551,7 +7551,7 @@ enum { // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00424270 = 0x00424270, - // label: FUN_00424310 + // label: applyVersionUpgradeAccessibilityRecompute // location: OpenSHC/Map/Buildings/BuildingsState // type: function SHC_3BB0A8C1_0x00424310 = 0x00424310, @@ -7619,7 +7619,7 @@ enum { // location: OpenSHC/UI/Rendering/AlphaAndButtonSurface // type: function SHC_3BB0A8C1_0x004246E0 = 0x004246E0, - // label: meth_0x424700 + // label: endSpeechStreamsAndResetLoopFlags // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x00424700 = 0x00424700, @@ -13600,7 +13600,7 @@ enum { SHC_3BB0A8C1_0x00437CAC = 0x00437CAC, // type: /pointer SHC_3BB0A8C1_0x00437CB0 = 0x00437CB0, - // label: FUN_00437cc0 + // label: HandleWallTerrainMouseDrag // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x00437CC0 = 0x00437CC0, @@ -14788,7 +14788,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x00440280 = 0x00440280, - // label: FUN_00440360 + // label: CountPlayerUnitsByType // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x00440360 = 0x00440360, @@ -17861,13 +17861,13 @@ enum { // location: OpenSHC/Audio/SFX/SFXState // type: function SHC_3BB0A8C1_0x00449F10 = 0x00449F10, - // label: FUN_00449ff0 + // label: resetScheduledSoundRequests // location: OpenSHC/Audio/SFX/SFXState // type: function SHC_3BB0A8C1_0x00449FF0 = 0x00449FF0, // type: function SHC_3BB0A8C1_0x0044A010 = 0x0044A010, - // label: meth_0x44a050 + // label: resetAmbientEventCounters // location: OpenSHC/Audio/SFX/SFXState // type: function SHC_3BB0A8C1_0x0044A050 = 0x0044A050, @@ -18339,11 +18339,11 @@ enum { // location: OpenSHC/Rendering // type: function SHC_3BB0A8C1_0x00453600 = 0x00453600, - // label: FUN_00453b00 + // label: BlitMapImageWithVerticalClip // location: OpenSHC/Rendering // type: function SHC_3BB0A8C1_0x00453B00 = 0x00453B00, - // label: FUN_00454080 + // label: BlitMapImageWithVerticalClipAndYOffset // location: OpenSHC/Rendering // type: function SHC_3BB0A8C1_0x00454080 = 0x00454080, @@ -18359,7 +18359,7 @@ enum { // location: OpenSHC/UI/Rendering/TextureRenderCore // type: function SHC_3BB0A8C1_0x004547C0 = 0x004547C0, - // label: FUN_004548d0 + // label: CheckGfxResourceExists // location: OpenSHC/UI/Rendering/TextureRenderCore // type: function SHC_3BB0A8C1_0x004548D0 = 0x004548D0, @@ -18601,15 +18601,15 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004568B0 = 0x004568B0, - // label: meth_0x4568f0 + // label: countActiveSignposts // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004568F0 = 0x004568F0, - // label: meth_0x4569e0 + // label: hasAnySignpost // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004569E0 = 0x004569E0, - // label: meth_0x456ad0 + // label: pickRandomAccessibleSignpostEntry // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00456AD0 = 0x00456AD0, @@ -18621,11 +18621,11 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00456EF0 = 0x00456EF0, - // label: meth_0x456fd0 + // label: computeBuildingCategoryEntryPoint // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00456FD0 = 0x00456FD0, - // label: meth_0x4572a0 + // label: validateBuildingCategoryReference // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004572A0 = 0x004572A0, @@ -19137,11 +19137,11 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00457800 = 0x00457800, - // label: meth_0x457870 + // label: canKeepReachSignpostZone // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00457870 = 0x00457870, - // label: meth_0x4578f0 + // label: canKeepReachSignpostZoneViaPathfinder // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004578F0 = 0x004578F0, @@ -19201,15 +19201,15 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004585F0 = 0x004585F0, - // label: meth_0x4586d0 + // label: activateTraderState // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004586D0 = 0x004586D0, - // label: meth_0x4586f0 + // label: resetTraderState // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004586F0 = 0x004586F0, - // label: meth_0x458700 + // label: findNextPlayerWithMarketplace // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00458700 = 0x00458700, @@ -19243,7 +19243,7 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004588A0 = 0x004588A0, - // label: meth_0x4588d0 + // label: getBuyPriceForOneUnit // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004588D0 = 0x004588D0, @@ -19469,7 +19469,7 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00459740 = 0x00459740, - // label: meth_0x4597d0 + // label: areActivePlayersMostlySameTeam // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x004597D0 = 0x004597D0, @@ -19507,7 +19507,7 @@ enum { SHC_3BB0A8C1_0x00459C10 = 0x00459C10, // type: function SHC_3BB0A8C1_0x00459CC0 = 0x00459CC0, - // label: FUN_00459d80 + // label: computeArmySizeLimit // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x00459D80 = 0x00459D80, @@ -19609,15 +19609,15 @@ enum { // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x0045A060 = 0x0045A060, - // label: FUN_0045acc0 + // label: validateLadyAndJesterUnitRefs // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x0045ACC0 = 0x0045ACC0, - // label: FUN_0045ad10 + // label: initPopularityAndRecruitableDefaults // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x0045AD10 = 0x0045AD10, - // label: FUN_0045ae00 + // label: resetTeams // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x0045AE00 = 0x0045AE00, @@ -19647,13 +19647,13 @@ enum { SHC_3BB0A8C1_0x0045B1C0 = 0x0045B1C0, // type: function SHC_3BB0A8C1_0x0045B3A0 = 0x0045B3A0, - // label: meth_0x45b3e0 + // label: initializeGameStateAfterMapLoad // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x0045B3E0 = 0x0045B3E0, // type: function SHC_3BB0A8C1_0x0045B460 = 0x0045B460, - // label: FUN_0045b4a0 + // label: ProcessPeasantSpawnAndDespawnCycle // location: // type: function SHC_3BB0A8C1_0x0045B4A0 = 0x0045B4A0, @@ -19761,7 +19761,7 @@ enum { SHC_3BB0A8C1_0x0045C1B8 = 0x0045C1B8, // type: /byte SHC_3BB0A8C1_0x0045C1B9 = 0x0045C1B9, - // label: meth_0x45c1c0 + // label: migrateGameStateForMapVersion // location: OpenSHC/Game/GameStateStructures // type: function SHC_3BB0A8C1_0x0045C1C0 = 0x0045C1C0, @@ -19783,7 +19783,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x0045D060 = 0x0045D060, - // label: meth_0x45d080 + // label: setHelpWindowBounds // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D080 = 0x0045D080, @@ -19791,15 +19791,15 @@ enum { // location: OpenSHC/UI/Rendering/AlphaAndButtonSurface // type: function SHC_3BB0A8C1_0x0045D0B0 = 0x0045D0B0, - // label: meth_0x45d0c0 + // label: resetHelpStateFields // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D0C0 = 0x0045D0C0, - // label: meth_0x45d140 + // label: findHelpSectionIndexByName // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D140 = 0x0045D140, - // label: meth_0x45d1a0 + // label: findOrAddHelpSectionName // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D1A0 = 0x0045D1A0, @@ -19975,7 +19975,7 @@ enum { SHC_3BB0A8C1_0x0045D364 = 0x0045D364, // type: /byte SHC_3BB0A8C1_0x0045D365 = 0x0045D365, - // label: meth_0x45d370 + // label: loadHelpSectionGraphics // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D370 = 0x0045D370, @@ -19983,7 +19983,7 @@ enum { // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D3C0 = 0x0045D3C0, - // label: meth_0x45d430 + // label: renderHelpImageHotspots // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D430 = 0x0045D430, @@ -19997,49 +19997,49 @@ enum { // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D6C0 = 0x0045D6C0, - // label: meth_0x45d740 + // label: drawHelpWindowBackground // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D740 = 0x0045D740, - // label: meth_0x45d890 + // label: findHelpGraphicIndexByName // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D890 = 0x0045D890, - // label: meth_0x45d8f0 + // label: findOrAddHelpGraphicName // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D8F0 = 0x0045D8F0, - // label: FUN_0045d950 + // label: getNextHelpSectionID // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D950 = 0x0045D950, - // label: FUN_0045d990 + // label: getPrevHelpSectionID // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D990 = 0x0045D990, - // label: FUN_0045d9e0 + // label: getHelpSectionText // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045D9E0 = 0x0045D9E0, - // label: FUN_0045da20 + // label: getNextHelpColorEntryIndex // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045DA20 = 0x0045DA20, - // label: FUN_0045da40 + // label: getPrevHelpColorEntryIndex // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045DA40 = 0x0045DA40, // type: function SHC_3BB0A8C1_0x0045DA60 = 0x0045DA60, - // label: meth_0x45da80 + // label: findSoundIndexByName // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045DA80 = 0x0045DA80, - // label: meth_0x45dae0 + // label: findOrAddSoundName // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045DAE0 = 0x0045DAE0, - // label: FUN_0045db40 + // label: saveHelpFileToResource // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045DB40 = 0x0045DB40, @@ -20395,7 +20395,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x0045EF90 = 0x0045EF90, - // label: FUN_0045f080 + // label: getHelpTokenAdvanceLength // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F080 = 0x0045F080, @@ -20433,7 +20433,7 @@ enum { SHC_3BB0A8C1_0x0045F0CC = 0x0045F0CC, // type: /byte SHC_3BB0A8C1_0x0045F0CD = 0x0045F0CD, - // label: meth_0x45f0d0 + // label: insertHelpTextToken // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F0D0 = 0x0045F0D0, @@ -20445,7 +20445,7 @@ enum { // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F130 = 0x0045F130, - // label: someKindOfTextEscape + // label: closeHelpDialogAndReturnToMenu // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F240 = 0x0045F240, @@ -20453,7 +20453,7 @@ enum { // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F470 = 0x0045F470, - // label: meth_0x45f580 + // label: loadAndParseHelpFile // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F580 = 0x0045F580, @@ -20461,7 +20461,7 @@ enum { // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045F5B0 = 0x0045F5B0, - // label: FUN_0045fdc0 + // label: processHelpRichTextTokens // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x0045FDC0 = 0x0045FDC0, @@ -20533,7 +20533,7 @@ enum { // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x004613E0 = 0x004613E0, - // label: meth_0x4614d0 + // label: initializeAndLayoutHelpText // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x004614D0 = 0x004614D0, @@ -20541,7 +20541,7 @@ enum { SHC_3BB0A8C1_0x004614F0 = 0x004614F0, // type: function SHC_3BB0A8C1_0x00461520 = 0x00461520, - // label: meth_0x461550 + // label: renderHelpDialogIfOpen // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00461550 = 0x00461550, @@ -20591,39 +20591,39 @@ enum { SHC_3BB0A8C1_0x004619C4 = 0x004619C4, // type: /undefined *32 SHC_3BB0A8C1_0x004619C8 = 0x004619C8, - // label: meth_0x4619d0 + // label: loadAndLayoutHelpContent // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x004619D0 = 0x004619D0, - // label: meth_0x461a20 + // label: openBuildingHelpDialog // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00461A20 = 0x00461A20, - // label: meth_0x461b90 + // label: openInGameHelpDialog // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00461B90 = 0x00461B90, - // label: meth_0x461cf0 + // label: openScenarioHelpDialog // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00461CF0 = 0x00461CF0, - // label: meth_0x461e50 + // label: openCreditsScrollDialog // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00461E50 = 0x00461E50, - // label: meth_0x461f90 + // label: openMapDescriptionEditorDialog // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00461F90 = 0x00461F90, - // label: meth_0x4620f0 + // label: setCustomHelpText // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x004620F0 = 0x004620F0, - // label: FUN_00462150 + // label: popHelpDialogStack // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00462150 = 0x00462150, - // label: meth_0x462190 + // label: openUnusedHelpTextEditorDialog // location: OpenSHC/Text/TextEditorState // type: function SHC_3BB0A8C1_0x00462190 = 0x00462190, @@ -20897,7 +20897,7 @@ enum { // location: OpenSHC/UI/Rendering/AlphaAndButtonSurface // type: function SHC_3BB0A8C1_0x004630D0 = 0x004630D0, - // label: FUN_00463270 + // label: ProcessBuildingClickBonus // location: OpenSHC/UI/Rendering/AlphaAndButtonSurface // type: function SHC_3BB0A8C1_0x00463270 = 0x00463270, @@ -21491,7 +21491,7 @@ enum { SHC_3BB0A8C1_0x004639F9 = 0x004639F9, // type: /byte SHC_3BB0A8C1_0x004639FA = 0x004639FA, - // label: FUN_00463a00 + // label: SelectUnitAndOpenStatusMenu // location: OpenSHC/UI/Rendering/AlphaAndButtonSurface // type: function SHC_3BB0A8C1_0x00463A00 = 0x00463A00, @@ -21507,7 +21507,7 @@ enum { // location: OpenSHC/UI/Rendering // type: function SHC_3BB0A8C1_0x004640D0 = 0x004640D0, - // label: FUN_004641a0 + // label: RenderButtonImageWithBlending // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004641A0 = 0x004641A0, @@ -22023,7 +22023,7 @@ enum { // location: OpenSHC/Input/MouseState // type: function SHC_3BB0A8C1_0x00468370 = 0x00468370, - // label: meth_0x468420 + // label: beginPointSelectionBox // location: OpenSHC/Input/MouseState // type: function SHC_3BB0A8C1_0x00468420 = 0x00468420, @@ -22127,11 +22127,11 @@ enum { // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x004697E0 = 0x004697E0, - // label: FUN_00469800 + // label: setTextEntryAndUpdateCursor // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x00469800 = 0x00469800, - // label: FUN_00469860 + // label: getCurrentFontSize // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x00469860 = 0x00469860, @@ -22147,7 +22147,7 @@ enum { // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x004698A0 = 0x004698A0, - // label: FUN_004698c0 + // label: resetCursorToStart // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x004698C0 = 0x004698C0, @@ -22155,11 +22155,11 @@ enum { // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x004698D0 = 0x004698D0, - // label: FUN_004698f0 + // label: shiftTextLeftAtCursor // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x004698F0 = 0x004698F0, - // label: FUN_00469930 + // label: shiftTextRightAtCursor // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x00469930 = 0x00469930, @@ -22167,7 +22167,7 @@ enum { // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x00469980 = 0x00469980, - // label: FUN_004699e0 + // label: dequeueInputBufferChar // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x004699E0 = 0x004699E0, @@ -22187,7 +22187,7 @@ enum { SHC_3BB0A8C1_0x00469B90 = 0x00469B90, // type: function SHC_3BB0A8C1_0x00469BE0 = 0x00469BE0, - // label: meth_0x469c40 + // label: wrapTextIntoLines // location: OpenSHC/Text/FontSizeClass // type: function SHC_3BB0A8C1_0x00469C40 = 0x00469C40, @@ -22199,15 +22199,15 @@ enum { // location: OpenSHC/Text/TextManager // type: function SHC_3BB0A8C1_0x00469E70 = 0x00469E70, - // label: FUN_Useless + // label: DoNothing // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00469F10 = 0x00469F10, - // label: meth_0x469f20 + // label: setTextClipRange // location: OpenSHC/Text/TextManager // type: function SHC_3BB0A8C1_0x00469F20 = 0x00469F20, - // label: meth_0x469f40 + // label: resetTextClipRange // location: OpenSHC/Text/TextManager // type: function SHC_3BB0A8C1_0x00469F40 = 0x00469F40, @@ -22743,7 +22743,7 @@ enum { SHC_3BB0A8C1_0x0046A4C4 = 0x0046A4C4, // type: /undefined *32 SHC_3BB0A8C1_0x0046A4C8 = 0x0046A4C8, - // label: FUN_0046a4d0 + // label: calcRenderedNumberWidth // location: OpenSHC/Text/TextManager // type: function SHC_3BB0A8C1_0x0046A4D0 = 0x0046A4D0, @@ -23045,15 +23045,15 @@ enum { // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x0046C420 = 0x0046C420, - // label: meth_0x46c450 + // label: setGfxFileFilter // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x0046C450 = 0x0046C450, - // label: meth_0x46c480 + // label: setHelpFileFilter // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x0046C480 = 0x0046C480, - // label: meth_0x46c4b0 + // label: setSoundFileFilter // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x0046C4B0 = 0x0046C4B0, @@ -23091,7 +23091,7 @@ enum { // location: OpenSHC/Map/Navigation/DirectionAlgorithmState // type: function SHC_3BB0A8C1_0x0046C920 = 0x0046C920, - // label: FUN_0046c9a0 + // label: calculateOrientationFromTiles // location: OpenSHC/Map/Navigation/DirectionAlgorithmState // type: function SHC_3BB0A8C1_0x0046C9A0 = 0x0046C9A0, @@ -23115,7 +23115,7 @@ enum { // location: OpenSHC/Map/Navigation/DirectionAlgorithmState // type: function SHC_3BB0A8C1_0x0046CD30 = 0x0046CD30, - // label: FUN_0046cdf0 + // label: computeMaskedBitAccumulator // location: OpenSHC/Map/Navigation/DirectionAlgorithmState // type: function SHC_3BB0A8C1_0x0046CDF0 = 0x0046CDF0, @@ -23521,11 +23521,11 @@ enum { // location: OpenSHC/Input/MouseState // type: function SHC_3BB0A8C1_0x00470A00 = 0x00470A00, - // label: meth_0x470b30 + // label: extendSelectionBoxToMouse // location: OpenSHC/Input/MouseState // type: function SHC_3BB0A8C1_0x00470B30 = 0x00470B30, - // label: rightClickMenuUnk + // label: updateRightDragCameraControl // location: OpenSHC/Input/MouseState // type: function SHC_3BB0A8C1_0x00470BC0 = 0x00470BC0, @@ -23583,7 +23583,7 @@ enum { // location: OpenSHC/Text/FontSizeClass // type: function SHC_3BB0A8C1_0x00471610 = 0x00471610, - // label: meth_0x471670 + // label: getWideCharWidth // location: OpenSHC/Text/FontSizeClass // type: function SHC_3BB0A8C1_0x00471670 = 0x00471670, @@ -23591,7 +23591,7 @@ enum { // location: OpenSHC/Text/TextManager // type: function SHC_3BB0A8C1_0x00471690 = 0x00471690, - // label: meth_0x4716d0 + // label: computeNumberTextWidth // location: OpenSHC/Text/TextManager // type: function SHC_3BB0A8C1_0x004716D0 = 0x004716D0, @@ -23641,7 +23641,7 @@ enum { // location: OpenSHC/Game/GameCore // type: function SHC_3BB0A8C1_0x00471A00 = 0x00471A00, - // label: FUN_00471a80 + // label: exitToScenarioDescriptionMenu // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x00471A80 = 0x00471A80, @@ -23673,7 +23673,7 @@ enum { // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x00471DC0 = 0x00471DC0, - // label: meth_0x471df0 + // label: resetOpenFileNameStruct // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x00471DF0 = 0x00471DF0, @@ -23693,19 +23693,19 @@ enum { // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x00471FC0 = 0x00471FC0, - // label: meth_0x472080 + // label: showOpenGfxFileDialog // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x00472080 = 0x00472080, - // label: meth_0x4720c0 + // label: showOpenHelpFileDialog // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x004720C0 = 0x004720C0, - // label: meth_0x472100 + // label: showSaveHelpFileDialog // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x00472100 = 0x00472100, - // label: meth_0x472140 + // label: showOpenSoundFileDialog // location: OpenSHC/IO/ResourceManager // type: function SHC_3BB0A8C1_0x00472140 = 0x00472140, @@ -23823,7 +23823,7 @@ enum { // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x00472C30 = 0x00472C30, - // label: FUN_00472cb0 + // label: isTextInputAtCapacity // location: OpenSHC/Text/UserTextHandler // type: function SHC_3BB0A8C1_0x00472CB0 = 0x00472CB0, @@ -23857,7 +23857,7 @@ enum { // location: OpenSHC/Text/FontSizeClass // type: function SHC_3BB0A8C1_0x004737B0 = 0x004737B0, - // label: meth_0x473830 + // label: renderWideChar // location: OpenSHC/Text/FontSizeClass // type: function SHC_3BB0A8C1_0x00473830 = 0x00473830, @@ -24769,11 +24769,11 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x00479AF0 = 0x00479AF0, - // label: meth_0x479b70 + // label: restoreMusicVolumeAfterSpeechEnds // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x00479B70 = 0x00479B70, - // label: meth_0x479c20 + // label: loadSoundFileAndGetIndex // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x00479C20 = 0x00479C20, @@ -24821,7 +24821,7 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A220 = 0x0047A220, - // label: meth_0x47a290 + // label: markMusicChangePending // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A290 = 0x0047A290, @@ -24833,7 +24833,7 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A310 = 0x0047A310, - // label: FUN_0047a340 + // label: selectAndPlayMoodBasedMusic // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A340 = 0x0047A340, @@ -24851,7 +24851,7 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A570 = 0x0047A570, - // label: meth_0x47a580 + // label: playBattleGloryMusicIfConditionsMet // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A580 = 0x0047A580, @@ -24875,7 +24875,7 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A790 = 0x0047A790, - // label: meth_0x47a9e0 + // label: stopAllActiveSounds // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047A9E0 = 0x0047A9E0, @@ -24903,7 +24903,7 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047B060 = 0x0047B060, - // label: meth_0x47b250 + // label: playMusicFileByName // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047B250 = 0x0047B250, @@ -24939,7 +24939,7 @@ enum { // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047B670 = 0x0047B670, - // label: meth_0x47b700 + // label: playAmbientStreamWithLoop // location: OpenSHC/Audio/MSS/SoundSystem // type: function SHC_3BB0A8C1_0x0047B700 = 0x0047B700, @@ -25119,7 +25119,7 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047DE00 = 0x0047DE00, - // label: meth_0x47dea0 + // label: setDirectPlaySessionDescription // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047DEA0 = 0x0047DEA0, @@ -25165,7 +25165,7 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047E490 = 0x0047E490, - // label: meth_0x47e5b0 + // label: computeLatencyAdjustmentFromMatchTimes // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047E5B0 = 0x0047E5B0, @@ -25179,11 +25179,11 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047E800 = 0x0047E800, - // label: FUN_0047e830 + // label: countActiveHumanPlayers // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047E830 = 0x0047E830, - // label: aiPlayerCountUnk + // label: countOccupiedPlayerSlots // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047E890 = 0x0047E890, @@ -25207,7 +25207,7 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047EC10 = 0x0047EC10, - // label: meth_0x47ede0 + // label: checkAllPlayersReadyAndCleanupSlots // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047EDE0 = 0x0047EDE0, @@ -25227,11 +25227,11 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047F7E0 = 0x0047F7E0, - // label: renderInGameChatUnk + // label: renderInGameChat // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047F860 = 0x0047F860, - // label: FUN_0047fb50 + // label: renderChatMessageList // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0047FB50 = 0x0047FB50, @@ -25659,11 +25659,11 @@ enum { // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00484850 = 0x00484850, - // label: FUN_00484960 + // label: SiegeEngineRelated // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00484960 = 0x00484960, - // label: FUN_00484a00 + // label: TribeRelated1 // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00484A00 = 0x00484A00, @@ -25683,7 +25683,7 @@ enum { // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00484DA0 = 0x00484DA0, - // label: FUN_00484e10 + // label: SetField45To100 // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00484E10 = 0x00484E10, @@ -25707,7 +25707,7 @@ enum { // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00485140 = 0x00485140, - // label: FUN_00485210 + // label: SyncPacketSizeAnnouncement // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00485210 = 0x00485210, @@ -25727,7 +25727,7 @@ enum { // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x00485520 = 0x00485520, - // label: FUN_004855c0 + // label: NotifyLaggingPlayer // location: OpenSHC/Commands // type: function SHC_3BB0A8C1_0x004855C0 = 0x004855C0, @@ -26065,7 +26065,7 @@ enum { SHC_3BB0A8C1_0x00486C40 = 0x00486C40, // type: function SHC_3BB0A8C1_0x00486C60 = 0x00486C60, - // label: meth_0x486f20 + // label: initializeFinalResultsForActivePlayers // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x00486F20 = 0x00486F20, @@ -26093,12 +26093,12 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x00487390 = 0x00487390, - // label: createDirectPlayInterfaceModemUnk + // label: createDirectPlayInterfaceModem // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x004874B0 = 0x004874B0, // label: prt_487555_c0916b4a - // location: OpenSHC/Synchrony/GameSynchronyState/createDirectPlayInterfaceModemUnk/override + // location: OpenSHC/Synchrony/GameSynchronyState/createDirectPlayInterfaceModem/override SHC_3BB0A8C1_0x00487555 = 0x00487555, // label: setupSkirmishLobby // location: OpenSHC/Synchrony/GameSynchronyState @@ -26120,7 +26120,7 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x00487E30 = 0x00487E30, - // label: processSyncPacketUnk + // label: processSyncPacket // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x00488010 = 0x00488010, @@ -26288,15 +26288,15 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x0048BF70 = 0x0048BF70, - // label: createMultiplayerLobbyUnk + // label: initializeMultiplayerLobby // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048BF80 = 0x0048BF80, - // label: Constructor_GameSynchronyState + // label: constructGameSynchronyState // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048C150 = 0x0048C150, - // label: FUN_0048c230 + // label: initMultiplayerLobbyState // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048C230 = 0x0048C230, @@ -26306,7 +26306,7 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048C660 = 0x0048C660, - // label: multiplayerSyncMessagesUnk + // label: sendPeriodicSyncMessages // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048C750 = 0x0048C750, @@ -26334,7 +26334,7 @@ enum { // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048DA60 = 0x0048DA60, - // label: FUN_0048dc50 + // label: broadcastDesyncResyncCommands // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048DC50 = 0x0048DC50, @@ -26354,7 +26354,7 @@ enum { SHC_3BB0A8C1_0x0048E4A0 = 0x0048E4A0, // type: function SHC_3BB0A8C1_0x0048E4B0 = 0x0048E4B0, - // label: FUN_0048e680 + // label: sendPendingResyncCommandsInBudget // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048E680 = 0x0048E680, @@ -26398,7 +26398,7 @@ enum { SHC_3BB0A8C1_0x0048F3C8 = 0x0048F3C8, // type: /pointer SHC_3BB0A8C1_0x0048F3CC = 0x0048F3CC, - // label: FUN_0048f3d0 + // label: advanceSyncStatusAndKickLaggers // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x0048F3D0 = 0x0048F3D0, @@ -26534,7 +26534,7 @@ enum { SHC_3BB0A8C1_0x00490060 = 0x00490060, // type: function SHC_3BB0A8C1_0x00490080 = 0x00490080, - // label: someMultiplayerMessageSending + // label: throttledMultiplayerSyncUpdate // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x00490340 = 0x00490340, @@ -27507,7 +27507,7 @@ enum { SHC_3BB0A8C1_0x00495230 = 0x00495230, // type: function SHC_3BB0A8C1_0x004954A0 = 0x004954A0, - // label: FUN_00495800 + // label: ShowProgressBarSaveLoadDialog // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x00495800 = 0x00495800, @@ -27797,7 +27797,7 @@ enum { SHC_3BB0A8C1_0x0049B5B0 = 0x0049B5B0, // type: function SHC_3BB0A8C1_0x0049B6B0 = 0x0049B6B0, - // label: FUN_0049b8c0 + // label: calcApproxEuclideanDistance // location: OpenSHC/Map/Navigation // type: function SHC_3BB0A8C1_0x0049B8C0 = 0x0049B8C0, @@ -28153,17 +28153,17 @@ enum { SHC_3BB0A8C1_0x0049FF20 = 0x0049FF20, // type: function SHC_3BB0A8C1_0x004A0050 = 0x004A0050, - // label: meth_0x4a01d0 + // label: findBestAttackTileByPathCost // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A01D0 = 0x004A01D0, // type: function SHC_3BB0A8C1_0x004A0300 = 0x004A0300, - // label: meth_0x4a0460 + // label: findNearestEnemyBuildingWithinDistance // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A0460 = 0x004A0460, - // label: meth_0x4a06b0 + // label: findNearestEnemyUnitWithinDistance // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A06B0 = 0x004A06B0, @@ -28667,7 +28667,7 @@ enum { // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A3220 = 0x004A3220, - // label: meth_0x4a36b0 + // label: healUnitsOfPlayerWithinRadius // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A36B0 = 0x004A36B0, @@ -28711,7 +28711,7 @@ enum { // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A4BB0 = 0x004A4BB0, - // label: meth_0x4a4c70 + // label: registerUnitOnClimbData // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A4C70 = 0x004A4C70, @@ -28735,7 +28735,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004A5230 = 0x004A5230, - // label: meth_0x4a52d0 + // label: clearActiveClimbDataOfType6And7 // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A52D0 = 0x004A52D0, @@ -28747,7 +28747,7 @@ enum { SHC_3BB0A8C1_0x004A5420 = 0x004A5420, // type: function SHC_3BB0A8C1_0x004A5770 = 0x004A5770, - // label: meth_0x4a58a0 + // label: findConnectingAreaBetweenTwoAreas // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A58A0 = 0x004A58A0, @@ -28759,7 +28759,7 @@ enum { // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A5B00 = 0x004A5B00, - // label: meth_0x4a5da0 + // label: findBestAdjacentClimbTileToTarget // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A5DA0 = 0x004A5DA0, @@ -28771,7 +28771,7 @@ enum { // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A5F90 = 0x004A5F90, - // label: meth_0x4a6010 + // label: findBestAttackTargetTileWithHeightAndOwner // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A6010 = 0x004A6010, @@ -28799,7 +28799,7 @@ enum { // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A69F0 = 0x004A69F0, - // label: meth_0x4a6ab0 + // label: findCrossAreaBridgeTileToTarget // location: OpenSHC/Map/Navigation/PathFindingState // type: function SHC_3BB0A8C1_0x004A6AB0 = 0x004A6AB0, @@ -29089,7 +29089,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004AA800 = 0x004AA800, - // label: meth_0x4aa930 + // label: setModalSliderParameters // location: OpenSHC/UI/MenuModalComposition // type: function SHC_3BB0A8C1_0x004AA930 = 0x004AA930, @@ -29441,7 +29441,7 @@ enum { // location: OpenSHC/Game/Skirmish // type: function SHC_3BB0A8C1_0x004AC570 = 0x004AC570, - // label: FUN_004ac650 + // label: buildEnemyPlayerList // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004AC650 = 0x004AC650, @@ -29555,7 +29555,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004AE720 = 0x004AE720, - // label: FUN_004ae7c0 + // label: clearHoveredAI // location: OpenSHC/Synchrony // type: function SHC_3BB0A8C1_0x004AE7C0 = 0x004AE7C0, @@ -29567,7 +29567,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004AE950 = 0x004AE950, - // label: FUN_004aea10 + // label: syncPlayerGroupArrays // location: OpenSHC/Synchrony // type: function SHC_3BB0A8C1_0x004AEA10 = 0x004AEA10, @@ -29627,7 +29627,7 @@ enum { // location: OpenSHC/UI/Rendering // type: function SHC_3BB0A8C1_0x004AF700 = 0x004AF700, - // label: RenderInGameChatDisplayElementUnk + // label: renderInGameChatDisplayElement // location: OpenSHC/Synchrony/GameSynchronyState // type: function SHC_3BB0A8C1_0x004AF800 = 0x004AF800, @@ -30667,11 +30667,11 @@ enum { // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B5100 = 0x004B5100, - // label: FUN_004b5110 + // label: scrollViewportToMinimapClick // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B5110 = 0x004B5110, - // label: meth_0x4b51a0 + // label: convertMinimapClickToTileXY // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B51A0 = 0x004B51A0, @@ -30679,23 +30679,23 @@ enum { // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B5280 = 0x004B5280, - // label: meth_0x4b5300 + // label: triggerMinimapRedraw // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B5300 = 0x004B5300, - // label: FUN_004b5330 + // label: renderMinimapTileStripWithLuminescence // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B5330 = 0x004B5330, // type: function SHC_3BB0A8C1_0x004B5480 = 0x004B5480, - // label: setTileColorsUnk + // label: renderMinimapTileColors // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B58D0 = 0x004B58D0, // type: function SHC_3BB0A8C1_0x004B5A20 = 0x004B5A20, - // label: meth_0x4b5f70 + // label: locatePlayerKeepPositionsOnMinimap // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B5F70 = 0x004B5F70, @@ -30703,7 +30703,7 @@ enum { // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B61F0 = 0x004B61F0, - // label: createMapPreviewMiniMap_ConvertColorsUnk + // label: convertLoadedMinimapColors // location: OpenSHC/UI/MinimapViewState // type: function SHC_3BB0A8C1_0x004B6320 = 0x004B6320, @@ -30919,7 +30919,7 @@ enum { // location: OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion // type: function SHC_3BB0A8C1_0x004B77A0 = 0x004B77A0, - // label: isParam1LessThan21 + // label: isValueInRangeOneToTwenty // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004B77E0 = 0x004B77E0, @@ -30935,11 +30935,11 @@ enum { // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004B78D0 = 0x004B78D0, - // label: FUN_004b7930 + // label: activateScenarioTypeEvents // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004B7930 = 0x004B7930, - // label: meth_0x4b7980 + // label: determineScenarioMissionTypeAndResetEvents // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004B7980 = 0x004B7980, @@ -30957,7 +30957,7 @@ enum { // location: OpenSHC/Rendering/Bink/AIMessageQueue // type: function SHC_3BB0A8C1_0x004B7C90 = 0x004B7C90, - // label: FUN_004b7f60 + // label: PlayMissionAestheticSFX // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004B7F60 = 0x004B7F60, @@ -30981,7 +30981,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004B8200 = 0x004B8200, - // label: FUN_004b8210 + // label: RestoreScenarioGold // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004B8210 = 0x004B8210, @@ -31535,7 +31535,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004B9530 = 0x004B9530, - // label: FUN_004b9610 + // label: CaptureCurrentTimeToUnknownTime01 // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004B9610 = 0x004B9610, @@ -32997,11 +32997,11 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BA780 = 0x004BA780, - // label: meth_0x4ba7d0 + // label: sortEventsByDate // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BA7D0 = 0x004BA7D0, - // label: meth_0x4ba8b0 + // label: removeEventAtIndex // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BA8B0 = 0x004BA8B0, @@ -33053,7 +33053,7 @@ enum { // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BB010 = 0x004BB010, - // label: FUN_004bb0b0 + // label: isMercRecruitableForBuildingType // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BB0B0 = 0x004BB0B0, @@ -33271,7 +33271,7 @@ enum { // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BB900 = 0x004BB900, - // label: meth_0x4bb990 + // label: pruneInvalidEventTriggerLinks // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BB990 = 0x004BB990, @@ -33851,11 +33851,11 @@ enum { SHC_3BB0A8C1_0x004BC100 = 0x004BC100, // type: /undefined *32 SHC_3BB0A8C1_0x004BC104 = 0x004BC104, - // label: tweakMonthAndYearBasedOnSection1047 + // label: adjustEventMonthAndYearForSection1047 // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BC110 = 0x004BC110, - // label: FUN_004bc1c0 + // label: spawnAttackWaveForPlayer // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BC1C0 = 0x004BC1C0, @@ -34059,7 +34059,7 @@ enum { // location: OpenSHC/IO // type: function SHC_3BB0A8C1_0x004BC5B0 = 0x004BC5B0, - // label: FUN_004bc5f0 + // label: initTutorialStepTransition // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BC5F0 = 0x004BC5F0, @@ -34067,29 +34067,29 @@ enum { // location: OpenSHC/Input // type: function SHC_3BB0A8C1_0x004BC620 = 0x004BC620, - // label: FUN_004bc630 + // label: recordTutorialPlayerAction // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BC630 = 0x004BC630, - // label: FUN_004bc690 + // label: SetTutorialBuildingActionState // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004BC690 = 0x004BC690, - // label: FUN_004bc6c0 + // label: resetTutorialActionTrackers // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BC6C0 = 0x004BC6C0, // type: function SHC_3BB0A8C1_0x004BC6F0 = 0x004BC6F0, - // label: FUN_004bc770 + // label: SetTutorialHintActiveWithTimestamp // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004BC770 = 0x004BC770, - // label: FUN_004bc790 + // label: renderAnimatedTutorialFloatOverlay // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BC790 = 0x004BC790, - // label: FUN_004bc910 + // label: renderTutorialFloatForUIElement // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BC910 = 0x004BC910, @@ -34173,7 +34173,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BD0F0 = 0x004BD0F0, - // label: FUN_004bd1b0 + // label: updateTutorialStepAndProgress // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004BD1B0 = 0x004BD1B0, @@ -34255,15 +34255,15 @@ enum { SHC_3BB0A8C1_0x004BD978 = 0x004BD978, // type: /pointer SHC_3BB0A8C1_0x004BD97C = 0x004BD97C, - // label: meth_0x4bd980 + // label: createScenarioEventForNextMonth // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BD980 = 0x004BD980, - // label: meth_0x4bda80 + // label: createChainedMissionOutcomeEvents // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BDA80 = 0x004BDA80, - // label: computeSomeKindOfMissionCompletionScore + // label: computeMissionCompletionScore // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BDE40 = 0x004BDE40, @@ -34507,7 +34507,7 @@ enum { // location: OpenSHC/Rendering/Bink/AIMessageQueue // type: function SHC_3BB0A8C1_0x004BEA90 = 0x004BEA90, - // label: meth_0x4beb20 + // label: updateEventYearsAndCommitBuildingAvailability // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BEB20 = 0x004BEB20, @@ -37235,7 +37235,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004C1070 = 0x004C1070, - // label: meth_0x4c1320 + // label: removeProcessedInvasionEvents // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C1320 = 0x004C1320, @@ -37243,7 +37243,7 @@ enum { SHC_3BB0A8C1_0x004C1370 = 0x004C1370, // type: function SHC_3BB0A8C1_0x004C1390 = 0x004C1390, - // label: meth_0x4c13f0 + // label: spawnInvasionEventAttackWave // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C13F0 = 0x004C13F0, @@ -37955,11 +37955,11 @@ enum { SHC_3BB0A8C1_0x004C226F = 0x004C226F, // type: /byte SHC_3BB0A8C1_0x004C2270 = 0x004C2270, - // label: FUN_004c2280 + // label: updateMilitaryCampaignMissionState // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C2280 = 0x004C2280, - // label: FUN_004c3110 + // label: loadMapSiegeHeaderSections // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C3110 = 0x004C3110, @@ -37983,11 +37983,11 @@ enum { // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C62C0 = 0x004C62C0, - // label: FUN_004c6820 + // label: loadMapSiegeHeaderForMissionIndex // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C6820 = 0x004C6820, - // label: FUN_004c6880 + // label: loadMissionMapAndSetLord // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004C6880 = 0x004C6880, @@ -39629,7 +39629,7 @@ enum { // location: OpenSHC/AI/AICState // type: function SHC_3BB0A8C1_0x004D1A00 = 0x004D1A00, - // label: FUN_004d1d60 + // label: sellExcessGoods // location: OpenSHC/AI/AICState // type: function SHC_3BB0A8C1_0x004D1D60 = 0x004D1D60, @@ -39721,7 +39721,7 @@ enum { // location: OpenSHC/AI/AICState // type: function SHC_3BB0A8C1_0x004D3960 = 0x004D3960, - // label: FUN_004d39b0 + // label: buyRequiredGoods // location: OpenSHC/AI/AICState // type: function SHC_3BB0A8C1_0x004D39B0 = 0x004D39B0, @@ -40089,7 +40089,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004D6F20 = 0x004D6F20, - // label: FUN_004d6f60 + // label: ParseCampaignMapHotspotBitmap // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004D6F60 = 0x004D6F60, @@ -40413,7 +40413,7 @@ enum { SHC_3BB0A8C1_0x004D8A14 = 0x004D8A14, // type: /pointer SHC_3BB0A8C1_0x004D8A18 = 0x004D8A18, - // label: FUN_004d8a20 + // label: ReadMapHeaderFromFile // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004D8A20 = 0x004D8A20, @@ -40455,7 +40455,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004D9230 = 0x004D9230, - // label: FUN_004d9270 + // label: SetActiveCreditsSequenceIndex // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004D9270 = 0x004D9270, @@ -40585,11 +40585,11 @@ enum { SHC_3BB0A8C1_0x004DA17E = 0x004DA17E, // type: /byte SHC_3BB0A8C1_0x004DA17F = 0x004DA17F, - // label: FUN_004da180 + // label: StopCreditsPlaybackAndSounds // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA180 = 0x004DA180, - // label: FUN_004da200 + // label: EndCreditsSegmentAndAdvanceToNext // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA200 = 0x004DA200, @@ -40625,67 +40625,67 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004DA750 = 0x004DA750, - // label: FUN_004da7a0 + // label: AppendCreditsSoundEntry // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA7A0 = 0x004DA7A0, - // label: FUN_004da7e0 + // label: AppendCreditsCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA7E0 = 0x004DA7E0, - // label: FUN_004da810 + // label: AppendCreditsListTerminator // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA810 = 0x004DA810, - // label: FUN_004da840 + // label: AppendCreditsPauseCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA840 = 0x004DA840, - // label: FUN_004da870 + // label: AppendCreditsSegmentEndCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA870 = 0x004DA870, - // label: FUN_004da8a0 + // label: AppendCreditsClearImageCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA8A0 = 0x004DA8A0, - // label: FUN_004da8d0 + // label: AppendCreditsImageTransitionCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA8D0 = 0x004DA8D0, - // label: FUN_004da9a0 + // label: AppendCreditsImageEndCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA9A0 = 0x004DA9A0, - // label: FUN_004da9f0 + // label: AppendCreditsShowImageCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DA9F0 = 0x004DA9F0, - // label: FUN_004daa80 + // label: AppendCreditsBinkVideoCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DAA80 = 0x004DAA80, // type: function SHC_3BB0A8C1_0x004DAAB0 = 0x004DAAB0, - // label: FUN_004dab00 + // label: AppendCreditsFixedImageCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DAB00 = 0x004DAB00, - // label: FUN_004dab80 + // label: AppendCreditsBinkVideoWithAudioCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DAB80 = 0x004DAB80, // type: function SHC_3BB0A8C1_0x004DABB0 = 0x004DABB0, - // label: FUN_004dabf0 + // label: AppendCreditsSoundStreamCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DABF0 = 0x004DABF0, - // label: FUN_004dac30 + // label: AppendCreditsTextCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DAC30 = 0x004DAC30, - // label: FUN_004dacf0 + // label: AppendCreditsTextEndCommand // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DACF0 = 0x004DACF0, @@ -40705,15 +40705,15 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004DAF50 = 0x004DAF50, - // label: FUN_004dafb0 + // label: RenderTextPageProgressBar // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DAFB0 = 0x004DAFB0, - // label: FUN_004db0d0 + // label: DisplayFullScreenTextPage // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DB0D0 = 0x004DB0D0, - // label: FUN_004db180 + // label: BuildIntroLogoSequence // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DB180 = 0x004DB180, @@ -40725,7 +40725,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DB300 = 0x004DB300, - // label: FUN_004db390 + // label: RenderScrollingCreditsTextFrame // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DB390 = 0x004DB390, @@ -40801,11 +40801,11 @@ enum { SHC_3BB0A8C1_0x004DC134 = 0x004DC134, // type: /pointer SHC_3BB0A8C1_0x004DC138 = 0x004DC138, - // label: FUN_004dc140 + // label: FindCampaignMapHotspotAtMouse // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DC140 = 0x004DC140, - // label: FUN_004dc1c0 + // label: BuildExtremeDemoIntroScript // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DC1C0 = 0x004DC1C0, @@ -40861,7 +40861,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004DFB90 = 0x004DFB90, - // label: FUN_004e0a50 + // label: ProcessCreditsScriptCommands // location: OpenSHC/Rendering // type: function SHC_3BB0A8C1_0x004E0A50 = 0x004E0A50, @@ -40955,7 +40955,7 @@ enum { SHC_3BB0A8C1_0x004E12AC = 0x004E12AC, // type: /undefined *32 SHC_3BB0A8C1_0x004E12B0 = 0x004E12B0, - // label: FUN_004e12c0 + // label: RenderActiveCreditsElements // location: OpenSHC/Rendering // type: function SHC_3BB0A8C1_0x004E12C0 = 0x004E12C0, @@ -40991,7 +40991,7 @@ enum { // location: OpenSHC/UI // type: function SHC_3BB0A8C1_0x004E1F50 = 0x004E1F50, - // label: Constructor_ViewportRenderState + // label: constructViewportRenderState // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E1FA0 = 0x004E1FA0, @@ -41011,7 +41011,7 @@ enum { // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E2600 = 0x004E2600, - // label: FUN_004e2630 + // label: renderAssassinClimbingOverlay // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E2630 = 0x004E2630, @@ -41519,7 +41519,7 @@ enum { // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E5E20 = 0x004E5E20, - // label: meth_0x4e5ed0 + // label: computeMouseTileFromScreenPosition // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E5ED0 = 0x004E5ED0, @@ -41605,13 +41605,13 @@ enum { SHC_3BB0A8C1_0x004E6335 = 0x004E6335, // type: /byte SHC_3BB0A8C1_0x004E6336 = 0x004E6336, - // label: meth_0x4e6340 + // label: clearAllFloatingLayerElements // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E6340 = 0x004E6340, // type: function SHC_3BB0A8C1_0x004E6360 = 0x004E6360, - // label: creataAFloatingLayerElement + // label: createFloatingLayerElement // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E63A0 = 0x004E63A0, @@ -41983,11 +41983,11 @@ enum { SHC_3BB0A8C1_0x004E8C4B = 0x004E8C4B, // type: /byte SHC_3BB0A8C1_0x004E8C4C = 0x004E8C4C, - // label: meth_0x4e8c50 + // label: saveFocusTileAndCenterPreview // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E8C50 = 0x004E8C50, - // label: meth_0x4e8c90 + // label: restoreFocusTile // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E8C90 = 0x004E8C90, @@ -41995,7 +41995,7 @@ enum { // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E8CA0 = 0x004E8CA0, - // label: FUN_004e8cc0 + // label: createFloatingTextElement // location: OpenSHC/Rendering/ViewportRenderState // type: function SHC_3BB0A8C1_0x004E8CC0 = 0x004E8CC0, @@ -42290,7 +42290,7 @@ enum { // location: OpenSHC/AI/AIVState // type: function SHC_3BB0A8C1_0x004F1860 = 0x004F1860, - // label: mapUITreeTypeToLogicalTreeTypeUnk + // label: mapUITreeTypeToLogicalTreeType // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F1A60 = 0x004F1A60, @@ -42670,7 +42670,7 @@ enum { // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2020 = 0x004F2020, - // label: removeTreeUnk + // label: removeTree // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2070 = 0x004F2070, @@ -42682,7 +42682,7 @@ enum { // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2140 = 0x004F2140, - // label: meth_0x4f2220 + // label: removeRock // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2220 = 0x004F2220, @@ -42786,7 +42786,7 @@ enum { // location: OpenSHC/Map/Trees // type: function SHC_3BB0A8C1_0x004F29C0 = 0x004F29C0, - // label: FUN_004f2a10 + // label: getRandomRockImageOffset // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2A10 = 0x004F2A10, @@ -42854,7 +42854,7 @@ enum { // location: OpenSHC/Map/Rocks // type: function SHC_3BB0A8C1_0x004F2C00 = 0x004F2C00, - // label: FUN_004f2c20 + // label: getTreeGrowthTargetStage // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2C20 = 0x004F2C20, @@ -42918,7 +42918,7 @@ enum { SHC_3BB0A8C1_0x004F2E00 = 0x004F2E00, // type: function SHC_3BB0A8C1_0x004F2E90 = 0x004F2E90, - // label: meth_0x4f2fb0 + // label: isTreeAliveAndMatchingUID // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2FB0 = 0x004F2FB0, @@ -42926,19 +42926,19 @@ enum { // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F2FE0 = 0x004F2FE0, - // label: meth_0x4f3010 + // label: damageTreeAndTriggerDeathIfDepleted // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F3010 = 0x004F3010, - // label: meth_0x4f3080 + // label: advanceTreeDecayState // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F3080 = 0x004F3080, - // label: meth_0x4f30d0 + // label: markNearbyTreesAsCrowTargets // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F30D0 = 0x004F30D0, - // label: spawnACrowUnk + // label: spawnCrowFromNearbyTree // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F3150 = 0x004F3150, @@ -42976,7 +42976,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x004F3900 = 0x004F3900, - // label: Constructor_LandscapeState + // label: constructLandscapeState // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F3930 = 0x004F3930, @@ -42990,7 +42990,7 @@ enum { SHC_3BB0A8C1_0x004F3B90 = 0x004F3B90, // type: function SHC_3BB0A8C1_0x004F3C50 = 0x004F3C50, - // label: FUN_004f3d30 + // label: upgradeTreesAndRocksForMapVersion // location: OpenSHC/Map/LandscapeState // type: function SHC_3BB0A8C1_0x004F3D30 = 0x004F3D30, @@ -43238,11 +43238,11 @@ enum { SHC_3BB0A8C1_0x004F7140 = 0x004F7140, // type: function SHC_3BB0A8C1_0x004F7170 = 0x004F7170, - // label: meth_004f79d0 + // label: rebuildShowHiLayerFromHeights // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F79D0 = 0x004F79D0, - // label: meth_0x4f7a80 + // label: computeTileLuminescence // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F7A80 = 0x004F7A80, @@ -43270,7 +43270,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8160 = 0x004F8160, - // label: meth_0x4f81d0 + // label: resetTileToDefaultState // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F81D0 = 0x004F81D0, @@ -43844,39 +43844,39 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8530 = 0x004F8530, - // label: meth_0x4f85b0 + // label: isTileEnclosedByWallsOrGates // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F85B0 = 0x004F85B0, - // label: meth_0x4f8640 + // label: isTileEnclosedByWalls // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8640 = 0x004F8640, - // label: meth_0x4f86d0 + // label: isWallCornerForCardinalDirection // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F86D0 = 0x004F86D0, - // label: meth_0x4f8780 + // label: isWallCornerForDiagonalDirection // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8780 = 0x004F8780, - // label: meth_0x4f8840 + // label: isWallConnectionHeightValid // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8840 = 0x004F8840, - // label: meth_0x4f8900 + // label: hasOnlyTowerNeighborsNoWalls // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8900 = 0x004F8900, - // label: meth_0x4f89c0 + // label: getWallFlagForOrientedDirection // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F89C0 = 0x004F89C0, - // label: meth_0x4f8a40 + // label: hasHigherNeighborWithFlagBit11 // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8A40 = 0x004F8A40, - // label: meth_0x4f8ac0 + // label: hasHigherPlainNeighborWithFlagBit8 // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8AC0 = 0x004F8AC0, @@ -43884,11 +43884,11 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8B50 = 0x004F8B50, - // label: previewWallDrawingUnk + // label: renderWallDragPreview // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F8BD0 = 0x004F8BD0, - // label: meth_0x4f9000 + // label: reassignWallOwnershipForPlayer // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F9000 = 0x004F9000, @@ -43900,7 +43900,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F93E0 = 0x004F93E0, - // label: isWallUnkPlacementAllowed + // label: validateWallPlacementAtTile // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F94A0 = 0x004F94A0, @@ -43928,7 +43928,7 @@ enum { SHC_3BB0A8C1_0x004F9920 = 0x004F9920, // type: /pointer SHC_3BB0A8C1_0x004F9924 = 0x004F9924, - // label: indexIsEdgeUnk + // label: isFootprintIndexOnEdge // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F9930 = 0x004F9930, @@ -44176,15 +44176,15 @@ enum { SHC_3BB0A8C1_0x004F9DE9 = 0x004F9DE9, // type: /byte SHC_3BB0A8C1_0x004F9DEA = 0x004F9DEA, - // label: meth_0x4f9df0 + // label: validateBuildingPlacementAtTile // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F9DF0 = 0x004F9DF0, - // label: spawnEraserEntityEffectsUnk + // label: spawnEraserTileEffect // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004F9F00 = 0x004F9F00, - // label: meth_0x4fa000 + // label: determineBuildingPlacementRotation // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FA000 = 0x004FA000, @@ -44192,7 +44192,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FA2D0 = 0x004FA2D0, - // label: meth_0x4fa460 + // label: getRubbleGraphicStageForDamageLevel // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FA460 = 0x004FA460, @@ -44882,13 +44882,13 @@ enum { SHC_3BB0A8C1_0x004FA759 = 0x004FA759, // type: /byte SHC_3BB0A8C1_0x004FA75A = 0x004FA75A, - // label: meth_0x4fa760 + // label: demolishBuildingsInConstructionFootprint // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FA760 = 0x004FA760, // type: function SHC_3BB0A8C1_0x004FA8D0 = 0x004FA8D0, - // label: meth_0x4fa9d0 + // label: markBuildingFootprintFlag // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FA9D0 = 0x004FA9D0, @@ -44896,37 +44896,37 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAA30 = 0x004FAA30, - // label: meth_0x4faab0 + // label: clearBuildingTilesAndTrees // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAAB0 = 0x004FAAB0, // type: function SHC_3BB0A8C1_0x004FAAE0 = 0x004FAAE0, - // label: meth_0x4fab70 + // label: clearBuildingFootprintAndResetUnits // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAB70 = 0x004FAB70, - // label: meth_0x4fac70 + // label: clearBuildingFootprintAndRemoveSiegeTower // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAC70 = 0x004FAC70, - // label: meth_0x4fad20 + // label: unmarkBuildingFootprintFlag // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAD20 = 0x004FAD20, - // label: meth_0x4fad70 + // label: clearBuildingFootprintWithEdgeRubble // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAD70 = 0x004FAD70, - // label: meth_0x4fae50 + // label: clearFixedSizeTwoBuildingFootprint // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAE50 = 0x004FAE50, - // label: meth_0x4faee0 + // label: isUnitBlockingSizeFiveFootprint // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAEE0 = 0x004FAEE0, - // label: meth_0x4faf70 + // label: clearStockpileFootprintTiles // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FAF70 = 0x004FAF70, @@ -45128,11 +45128,11 @@ enum { SHC_3BB0A8C1_0x004FB354 = 0x004FB354, // type: /pointer SHC_3BB0A8C1_0x004FB358 = 0x004FB358, - // label: meth_0x4fb360 + // label: clearBuildingDisplayFlagsAndEntities // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB360 = 0x004FB360, - // label: FUN_004fb3f0 + // label: spawnFloatingNumberAroundTile // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB3F0 = 0x004FB3F0, @@ -45140,23 +45140,23 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB4D0 = 0x004FB4D0, - // label: meth_0x4fb770 + // label: applyRockGraphicsToFootprint // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB770 = 0x004FB770, // type: function SHC_3BB0A8C1_0x004FB7D0 = 0x004FB7D0, - // label: meth_0x4fb8e0 + // label: clearTreeFootprintFlags // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB8E0 = 0x004FB8E0, - // label: meth_0x4fb970 + // label: clearRockFootprintFlags // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB970 = 0x004FB970, // type: function SHC_3BB0A8C1_0x004FB990 = 0x004FB990, - // label: meth_0x4fb9e0 + // label: renderWallPlacementPreview // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FB9E0 = 0x004FB9E0, @@ -45660,19 +45660,19 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FBD80 = 0x004FBD80, - // label: meth_0x4fbe70 + // label: isTileSuitableForBrushPlacement // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FBE70 = 0x004FBE70, - // label: meth_0x4fc0b0 + // label: computeTileCliffEdgeFlags // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC0B0 = 0x004FC0B0, - // label: meth_0x4fc280 + // label: propagateCliffEdgeFlagFromNeighbor // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC280 = 0x004FC280, - // label: meth_0x4fc340 + // label: collectCliffEdgeTilesForClimbData // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC340 = 0x004FC340, @@ -45680,15 +45680,15 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC490 = 0x004FC490, - // label: meth_0x4fc650 + // label: computeWallCornerRenderRotation // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC650 = 0x004FC650, - // label: meth_0x4fc7c0 + // label: isCliffDropInDirection // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC7C0 = 0x004FC7C0, - // label: meth_0x4fc810 + // label: computeClimbRampRotation // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x004FC810 = 0x004FC810, @@ -46036,11 +46036,11 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005000A0 = 0x005000A0, - // label: scanMoatsInGroupsOfThreeUnk + // label: countMoatsOwnedByEachPlayer // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005000E0 = 0x005000E0, - // label: countUnfinishedMoatUnk + // label: countUnfinishedMoatTilesForPlayer // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500180 = 0x00500180, @@ -46072,31 +46072,31 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005003D0 = 0x005003D0, - // label: meth_0x500500 + // label: advanceMoatFillProgress // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500500 = 0x00500500, - // label: clearMoatIfUnk + // label: clearMoatAtTileIfPresent // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005005F0 = 0x005005F0, - // label: moatRelatedUpdateFunction + // label: updateMoatCountdownTimers // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500640 = 0x00500640, - // label: meth_0x500680 + // label: resetMoatArray // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500680 = 0x00500680, - // label: meth_0x5006c0 + // label: clearInvalidMoatEntries // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005006C0 = 0x005006C0, - // label: meth_0x500720 + // label: setMoatVisualStateAtTile // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500720 = 0x00500720, - // label: meth_0x500750 + // label: setMoatOwnerForAllMatching // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500750 = 0x00500750, @@ -46104,7 +46104,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500790 = 0x00500790, - // label: meth_0x5007d0 + // label: resetPitchDitchArray // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005007D0 = 0x005007D0, @@ -46124,19 +46124,19 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500940 = 0x00500940, - // label: meth_0x500980 + // label: findNearestValidDigTileNearTarget // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500980 = 0x00500980, - // label: meth_0x500b50 + // label: computeTileAlongAxisOffset // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500B50 = 0x00500B50, - // label: campaignRelatedNumber + // label: setSignpostDistanceForCampaignMission // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00500BB0 = 0x00500BB0, - // label: meth_0x500c20 + // label: startBuildingDestructionConfirmation // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x00500C20 = 0x00500C20, @@ -46144,11 +46144,11 @@ enum { // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x00500C80 = 0x00500C80, - // label: meth_0x500cb0 + // label: startEntityDestructionConfirmation // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x00500CB0 = 0x00500CB0, - // label: meth_0x500cf0 + // label: startUnitDestructionConfirmation // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x00500CF0 = 0x00500CF0, @@ -46172,7 +46172,7 @@ enum { // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x00500EE0 = 0x00500EE0, - // label: meth_0x500f40 + // label: updateDestructionConfirmationCountdown // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x00500F40 = 0x00500F40, @@ -46202,11 +46202,11 @@ enum { // location: OpenSHC/UI/HoveredState // type: function SHC_3BB0A8C1_0x00501110 = 0x00501110, - // label: spreadAlgorithmForFlagsAndBraziers2Unk + // label: spreadFlagPlacementAlgorithm // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00501180 = 0x00501180, - // label: spreadAlgorithmForFlagsAndBraziersUnk + // label: spreadBrazierPlacementAlgorithm // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005011A0 = 0x005011A0, @@ -46252,11 +46252,11 @@ enum { // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x00501760 = 0x00501760, - // label: clearAndSetTileMapUnknown2Plus + // label: forceFullTileMapRedraw // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005017A0 = 0x005017A0, - // label: meth_0x5017c0 + // label: useEraserBrush // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005017C0 = 0x005017C0, @@ -46264,7 +46264,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00501A20 = 0x00501A20, - // label: changeMapOrientationUnk + // label: changeMapOrientation // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00501B90 = 0x00501B90, @@ -46296,7 +46296,7 @@ enum { SHC_3BB0A8C1_0x00501F50 = 0x00501F50, // type: function SHC_3BB0A8C1_0x00501FE0 = 0x00501FE0, - // label: useBrush2 + // label: useLevelBrush // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00502110 = 0x00502110, @@ -46304,19 +46304,19 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00502390 = 0x00502390, - // label: meth_0x5024f0 + // label: isValidCastleSiteLocation // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005024F0 = 0x005024F0, - // label: useBrush3 + // label: useTerrainHeightBrush // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00502680 = 0x00502680, - // label: meth_0x502950 + // label: getMaxWallHeightInBrushArea // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00502950 = 0x00502950, - // label: checkWhetherThisWallBuildIsAllowed + // label: validateWallBuildPath // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005029D0 = 0x005029D0, @@ -46392,7 +46392,7 @@ enum { SHC_3BB0A8C1_0x00503491 = 0x00503491, // type: /byte SHC_3BB0A8C1_0x00503492 = 0x00503492, - // label: placeDefensiveStructurePart2Unk + // label: placeDefensiveStructureTile // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x005034A0 = 0x005034A0, @@ -46706,7 +46706,7 @@ enum { SHC_3BB0A8C1_0x00504A26 = 0x00504A26, // type: /byte SHC_3BB0A8C1_0x00504A27 = 0x00504A27, - // label: meth_0x504a30 + // label: evaluateBuildingPlacementAtCursor // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00504A30 = 0x00504A30, @@ -46816,7 +46816,7 @@ enum { SHC_3BB0A8C1_0x00504ED0 = 0x00504ED0, // type: /byte SHC_3BB0A8C1_0x00504ED1 = 0x00504ED1, - // label: meth_0x504ee0 + // label: updateBuildingPlacementRotationPreview // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00504EE0 = 0x00504EE0, @@ -46838,7 +46838,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00506370 = 0x00506370, - // label: someUpdatePathLinkageRelatedCall + // label: updatePathLinkagesForBuilding // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00506AD0 = 0x00506AD0, @@ -46850,7 +46850,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00506D40 = 0x00506D40, - // label: placeSiegeTentUnk + // label: placeSiegeTent // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00506E10 = 0x00506E10, @@ -46858,7 +46858,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00506F40 = 0x00506F40, - // label: meth_0x507060 + // label: stampBuildingOntoTileMap // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00507060 = 0x00507060, @@ -46870,7 +46870,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00507280 = 0x00507280, - // label: meth_0x507350 + // label: resetTileAndClearMoat // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00507350 = 0x00507350, @@ -46948,15 +46948,15 @@ enum { SHC_3BB0A8C1_0x00508540 = 0x00508540, // type: function SHC_3BB0A8C1_0x00508590 = 0x00508590, - // label: meth_0x508760 + // label: clearSizeFiveBuildingFootprintAndMoats // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00508760 = 0x00508760, - // label: meth_0x508870 + // label: clearSizeFiveBuildingFootprint // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00508870 = 0x00508870, - // label: meth_0x508910 + // label: floodMoatUnderRemovedBuilding // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00508910 = 0x00508910, @@ -47564,7 +47564,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00508DD0 = 0x00508DD0, - // label: meth_0x508ec0 + // label: eraseAreaWithBrush // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00508EC0 = 0x00508EC0, @@ -47660,7 +47660,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00511850 = 0x00511850, - // label: meth_0x5118c0 + // label: confirmAndQueueDestructionCommand // location: OpenSHC/Map/WallAndPitchState // type: function SHC_3BB0A8C1_0x005118C0 = 0x005118C0, @@ -48276,7 +48276,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00515A20 = 0x00515A20, - // label: createMoatSize5Unk + // label: createMoatForSizeFiveBuilding // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00515C80 = 0x00515C80, @@ -48284,7 +48284,7 @@ enum { // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00515DA0 = 0x00515DA0, - // label: Constructor_TileMapState + // label: constructTileMapState // location: OpenSHC/Map/TileMapState // type: function SHC_3BB0A8C1_0x00515F40 = 0x00515F40, @@ -49262,7 +49262,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518130 = 0x00518130, - // label: FUN_00518180 + // label: initializeAttackWaveSlot // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518180 = 0x00518180, @@ -49270,7 +49270,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x005182A0 = 0x005182A0, - // label: FUN_00518350 + // label: isAttackWaveComplete // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518350 = 0x00518350, @@ -49288,11 +49288,11 @@ enum { SHC_3BB0A8C1_0x00518870 = 0x00518870, // type: function SHC_3BB0A8C1_0x005188A0 = 0x005188A0, - // label: FUN_00518930 + // label: assignBehaviorTypeToNearbyTribes // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518930 = 0x00518930, - // label: FUN_00518a10 + // label: assignBehaviorTypeAndLinkSupportTribe // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518A10 = 0x00518A10, @@ -49300,23 +49300,23 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518BB0 = 0x00518BB0, - // label: renderDebugDataZoneDataUnk + // label: renderAttackInfoDebugOverlay // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00518C50 = 0x00518C50, - // label: FUN_00519310 + // label: computeAttackWaveTroopComposition // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519310 = 0x00519310, - // label: FUN_00519690 + // label: buildRallyPointsFromSiegeUnits // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519690 = 0x00519690, - // label: FUN_00519790 + // label: setRallyPointForLaddermenTribe // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519790 = 0x00519790, - // label: FUN_00519850 + // label: initializeAttackZoneSearch // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519850 = 0x00519850, @@ -49328,7 +49328,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519960 = 0x00519960, - // label: hack2related + // label: computeSiegeSpotScores // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519990 = 0x00519990, @@ -49352,7 +49352,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519DE0 = 0x00519DE0, - // label: meth_0x519e40 + // label: findNearestAvailableScalePoint // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519E40 = 0x00519E40, @@ -49364,11 +49364,11 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00519FB0 = 0x00519FB0, - // label: FUN_0051a0c0 + // label: countAvailablePeopleValueSlots // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A0C0 = 0x0051A0C0, - // label: FUN_0051a100 + // label: countAvailableLordValueSlots // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A100 = 0x0051A100, @@ -49376,7 +49376,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A140 = 0x0051A140, - // label: findEnemyLordUnk + // label: findEnemyLord // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A220 = 0x0051A220, @@ -49384,7 +49384,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A2D0 = 0x0051A2D0, - // label: findEnemyTowersOrGatesUnk + // label: findEnemyTowersOrGates // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A330 = 0x0051A330, @@ -49408,15 +49408,15 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A780 = 0x0051A780, - // label: meth_0x51a8a0 + // label: findNearestDiggableMoatPoint // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A8A0 = 0x0051A8A0, - // label: meth_0x51a920 + // label: findTribeWithMoatAttackBehavior // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A920 = 0x0051A920, - // label: FUN_0051a9a0 + // label: countAvailableHighValueSlots // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051A9A0 = 0x0051A9A0, @@ -49426,7 +49426,7 @@ enum { SHC_3BB0A8C1_0x0051A9F0 = 0x0051A9F0, // type: function SHC_3BB0A8C1_0x0051AA40 = 0x0051AA40, - // label: FUN_0051ab10 + // label: countAvailableArcherValueSlots // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051AB10 = 0x0051AB10, @@ -49444,31 +49444,31 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x0051ACB0 = 0x0051ACB0, - // label: FUN_0051ace0 + // label: expandAIZoneLayerStage1 // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051ACE0 = 0x0051ACE0, // type: function SHC_3BB0A8C1_0x0051ACF0 = 0x0051ACF0, - // label: FUN_0051ae00 + // label: expandAIZoneLayerStage2 // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051AE00 = 0x0051AE00, - // label: FUN_0051ae90 + // label: expandAIZoneLayerStage3 // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051AE90 = 0x0051AE90, - // label: unkArcherRelated1 + // label: findOrReserveArcherPointSlot // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051AF20 = 0x0051AF20, - // label: FUN_0051af70 + // label: pruneStaleArcherPoints // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051AF70 = 0x0051AF70, // type: function SHC_3BB0A8C1_0x0051AF80 = 0x0051AF80, - // label: FUN_0051aff0 + // label: claimArcherAttackPoint // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051AFF0 = 0x0051AFF0, @@ -49476,7 +49476,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B0C0 = 0x0051B0C0, - // label: FUN_0051b110 + // label: pruneStaleSupportPoints // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B110 = 0x0051B110, @@ -49490,13 +49490,13 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B240 = 0x0051B240, - // label: FUN_0051b290 + // label: pruneStaleTentPoints // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B290 = 0x0051B290, // type: function SHC_3BB0A8C1_0x0051B2A0 = 0x0051B2A0, - // label: placeSiegeTentAndAssignEngineersUnk + // label: placeSiegeTentAtAttackAngle // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B310 = 0x0051B310, @@ -49508,13 +49508,13 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B570 = 0x0051B570, - // label: FUN_0051b680 + // label: clearAIInfoLayerOutsideStartZone // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B680 = 0x0051B680, // type: function SHC_3BB0A8C1_0x0051B690 = 0x0051B690, - // label: FUN_0051b6c0 + // label: playAttackAlarmSound // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051B6C0 = 0x0051B6C0, @@ -49546,7 +49546,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051BC70 = 0x0051BC70, - // label: exitSiegeEquipmentUnk + // label: exitSiegeEquipmentForWave // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051BD10 = 0x0051BD10, @@ -49554,17 +49554,17 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051BDE0 = 0x0051BDE0, - // label: FUN_0051be20 + // label: FindFirstOpponentWithKeep // location: OpenSHC/Map/Units // type: function SHC_3BB0A8C1_0x0051BE20 = 0x0051BE20, - // label: FUN_0051be60 + // label: registerSpottedEnemyTile // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051BE60 = 0x0051BE60, // type: function SHC_3BB0A8C1_0x0051BEE0 = 0x0051BEE0, - // label: shouldLightPitchBecauseOfTroopValueUnk + // label: shouldLightPitchBasedOnTroopValue // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051BF20 = 0x0051BF20, @@ -49576,7 +49576,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051C1A0 = 0x0051C1A0, - // label: meth_0x51c2d0 + // label: updateArcherBrazierProximityFlags // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051C2D0 = 0x0051C2D0, @@ -49754,7 +49754,7 @@ enum { SHC_3BB0A8C1_0x0051C463 = 0x0051C463, // type: /byte SHC_3BB0A8C1_0x0051C464 = 0x0051C464, - // label: FUN_0051c470 + // label: queueOilThrowForIdleArchers // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051C470 = 0x0051C470, @@ -49794,13 +49794,13 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051C800 = 0x0051C800, - // label: meth_0x51ca50 + // label: collectArcherUnitsByLocation // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051CA50 = 0x0051CA50, // type: function SHC_3BB0A8C1_0x0051CAE0 = 0x0051CAE0, - // label: FUN_0051cbd0 + // label: redeployArchersToDefensivePositions // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051CBD0 = 0x0051CBD0, @@ -49812,11 +49812,11 @@ enum { SHC_3BB0A8C1_0x0051CCB0 = 0x0051CCB0, // type: function SHC_3BB0A8C1_0x0051CE50 = 0x0051CE50, - // label: FUN_0051cf90 + // label: trySendMacemenTribeToAttack // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051CF90 = 0x0051CF90, - // label: FUN_0051d020 + // label: trySendKnightTribeToAttack // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D020 = 0x0051D020, @@ -49824,15 +49824,15 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D0D0 = 0x0051D0D0, - // label: FUN_0051d1c0 + // label: moveTribeToReachableNearbyTile // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D1C0 = 0x0051D1C0, - // label: FUN_0051d2b0 + // label: decideAndExecuteTribeAttackAction // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D2B0 = 0x0051D2B0, - // label: moveUnitsToGateHouseUnk + // label: moveTribeToNearbyGatehouse // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D450 = 0x0051D450, @@ -49846,15 +49846,15 @@ enum { SHC_3BB0A8C1_0x0051D5D0 = 0x0051D5D0, // type: function SHC_3BB0A8C1_0x0051D5E0 = 0x0051D5E0, - // label: Constructor_TroopValueState + // label: constructTroopValueState // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D680 = 0x0051D680, - // label: meth_0x51d690 + // label: advanceAttackWaveStaging // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D690 = 0x0051D690, - // label: meth_0x51d730 + // label: updateActiveAttackWaveState // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051D730 = 0x0051D730, @@ -50035,19 +50035,19 @@ enum { // label: LAB_0051f320__next_tile // location: SHC_3BB0A8C1_0x0051F320 = 0x0051F320, - // label: FUN_0051f340 + // label: scanForArcherPoints // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051F340 = 0x0051F340, // type: function SHC_3BB0A8C1_0x0051F3D0 = 0x0051F3D0, - // label: FUN_0051f4b0 + // label: scanForSupportPoints // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051F4B0 = 0x0051F4B0, // type: function SHC_3BB0A8C1_0x0051F4F0 = 0x0051F4F0, - // label: FUN_0051f5c0 + // label: scanForSiegeTentPoints // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051F5C0 = 0x0051F5C0, @@ -50055,7 +50055,7 @@ enum { SHC_3BB0A8C1_0x0051F5E0 = 0x0051F5E0, // type: function SHC_3BB0A8C1_0x0051F630 = 0x0051F630, - // label: meth_0051f950 + // label: processSpottedEnemyTiles // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051F950 = 0x0051F950, @@ -50075,11 +50075,11 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051FB90 = 0x0051FB90, - // label: meth_0051fe80 + // label: updateAttackInfoTick // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051FE80 = 0x0051FE80, - // label: meth_0x51ff90 + // label: initializeOrAdvanceAttackWave // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x0051FF90 = 0x0051FF90, @@ -50091,15 +50091,15 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x005202B0 = 0x005202B0, - // label: meth_0x520450 + // label: updateInProgressAttackWave // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00520450 = 0x00520450, - // label: meth_0x5205a0 + // label: executeAttackWaveTargetAssignment // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x005205A0 = 0x005205A0, - // label: meth_0x520cd0 + // label: executeDelayedAttackWaveTargetAssignment // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00520CD0 = 0x00520CD0, @@ -50107,7 +50107,7 @@ enum { // location: OpenSHC/Map/Units/TroopValueState // type: function SHC_3BB0A8C1_0x00520F70 = 0x00520F70, - // label: Constructor_TribesState + // label: constructTribesState // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521180 = 0x00521180, @@ -50115,7 +50115,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005211B0 = 0x005211B0, - // label: FUN_00521210 + // label: reassignOwnerForTribesOfBehaviorType2 // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521210 = 0x00521210, @@ -50123,21 +50123,21 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521240 = 0x00521240, - // label: meth_0x521280 + // label: moveUnitToBehaviorTarget // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521280 = 0x00521280, - // label: calculatePathPlanToUnitUnk + // label: predictUnitInterceptPosition // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521500 = 0x00521500, // type: function SHC_3BB0A8C1_0x00521690 = 0x00521690, - // label: FUN_00521720 + // label: getMajoritySelectedUnitType // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521720 = 0x00521720, - // label: meth_0x5217e0 + // label: playUnitSelectionSound // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005217E0 = 0x005217E0, @@ -50249,7 +50249,7 @@ enum { SHC_3BB0A8C1_0x00521A8E = 0x00521A8E, // type: /byte SHC_3BB0A8C1_0x00521A8F = 0x00521A8F, - // label: somethingTargetUnitSoundRelated + // label: playUnitCombatSpeechForTarget // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521A90 = 0x00521A90, @@ -50379,11 +50379,11 @@ enum { SHC_3BB0A8C1_0x00521EA5 = 0x00521EA5, // type: /byte SHC_3BB0A8C1_0x00521EA6 = 0x00521EA6, - // label: meth_0x521eb0 + // label: playUnitSelectSpeech // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521EB0 = 0x00521EB0, - // label: meth_0x521ef0 + // label: playUnitMoveSpeech // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00521EF0 = 0x00521EF0, @@ -50513,19 +50513,19 @@ enum { SHC_3BB0A8C1_0x00522082 = 0x00522082, // type: /byte SHC_3BB0A8C1_0x00522083 = 0x00522083, - // label: meth_0x522090 + // label: playAttackCommandFeedback // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522090 = 0x00522090, - // label: FUN_00522110 + // label: playPatrolCommandSpeech // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522110 = 0x00522110, - // label: FUN_00522150 + // label: playTunnelerCommandSpeech // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522150 = 0x00522150, - // label: meth_0x522160 + // label: playWorkCommandSpeech // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522160 = 0x00522160, @@ -50535,7 +50535,7 @@ enum { SHC_3BB0A8C1_0x005221A0 = 0x005221A0, // type: function SHC_3BB0A8C1_0x005221C0 = 0x005221C0, - // label: FUN_00522210 + // label: updatePeasantSeatingAtBuilding // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522210 = 0x00522210, @@ -50613,7 +50613,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522C50 = 0x00522C50, - // label: temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance + // label: snapshotSelectionTribeAndComputeStance // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522CA0 = 0x00522CA0, @@ -50621,11 +50621,11 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522DD0 = 0x00522DD0, - // label: meth_0x522ef0 + // label: trimTribeToSize // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522EF0 = 0x00522EF0, - // label: FUN_00522f70 + // label: spawnUnitsForAITribe // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00522F70 = 0x00522F70, @@ -50633,7 +50633,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523030 = 0x00523030, - // label: meth_0x523190 + // label: createTribeWithSpawnedUnit // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523190 = 0x00523190, @@ -50663,15 +50663,15 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005233E0 = 0x005233E0, - // label: FUN_00523410 + // label: findRecentOrSignpostSpawnLocation // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523410 = 0x00523410, - // label: FUN_00523520 + // label: hasAvailableSpawnSlotForWildlifeOrMercs // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523520 = 0x00523520, - // label: meth_0x523590 + // label: updateAnimalHerdBehaviorState // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523590 = 0x00523590, @@ -50683,15 +50683,15 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005236A0 = 0x005236A0, - // label: meth_0x523730 + // label: markTribeAsAnimalTribe // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523730 = 0x00523730, - // label: meth_0x523750 + // label: flagTribesOfType // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523750 = 0x00523750, - // label: meth_0x523790 + // label: consumeFlaggedTribesOfType // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523790 = 0x00523790, @@ -50699,7 +50699,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005237F0 = 0x005237F0, - // label: meth_0x523920 + // label: scatterTribeUnitsRandomly // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523920 = 0x00523920, @@ -50721,11 +50721,11 @@ enum { // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x00523EB0 = 0x00523EB0, - // label: meth_0x523ef0 + // label: upgradeTribeArrayLayoutForMapVersion // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523EF0 = 0x00523EF0, - // label: meth_0x523f70 + // label: updateTribeRallyFlags // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00523F70 = 0x00523F70, @@ -50741,7 +50741,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005240D0 = 0x005240D0, - // label: meth_0x524140 + // label: tribeHasActiveLaddermanUnit // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524140 = 0x00524140, @@ -50761,15 +50761,15 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524340 = 0x00524340, - // label: aiAttackWaveUnk + // label: assignAttackTargetsForTribe // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005244D0 = 0x005244D0, - // label: meth_0x524890 + // label: stopTribeMovementAndCheckIdle // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524890 = 0x00524890, - // label: meth_0x524930 + // label: sortTribePathDestinationsByCost // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524930 = 0x00524930, @@ -50779,7 +50779,7 @@ enum { SHC_3BB0A8C1_0x00524A10 = 0x00524A10, // type: function SHC_3BB0A8C1_0x00524A30 = 0x00524A30, - // label: meth_0x524b30 + // label: isTribeUnitBlockedByOtherUnit // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524B30 = 0x00524B30, @@ -50787,13 +50787,13 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524BF0 = 0x00524BF0, - // label: meth_0x524ca0 + // label: isTribePathToDestinationClear // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524CA0 = 0x00524CA0, // type: function SHC_3BB0A8C1_0x00524D80 = 0x00524D80, - // label: meth_0x524e20 + // label: applyLadderDestructionToTribeUnits // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00524E20 = 0x00524E20, @@ -50803,7 +50803,7 @@ enum { SHC_3BB0A8C1_0x00524EF0 = 0x00524EF0, // type: function SHC_3BB0A8C1_0x00525060 = 0x00525060, - // label: FUN_00525090 + // label: playArcherCommandSpeech // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525090 = 0x00525090, @@ -50819,7 +50819,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005251A0 = 0x005251A0, - // label: meth_0x525210 + // label: isTribeFreeOfTunnelingUnits // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525210 = 0x00525210, @@ -50827,11 +50827,11 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525280 = 0x00525280, - // label: meth_0x525300 + // label: setStateForAllTribeUnits // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525300 = 0x00525300, - // label: meth_0x525370 + // label: standUpAllTribeUnits // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525370 = 0x00525370, @@ -50839,7 +50839,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005253F0 = 0x005253F0, - // label: makeUnitsDisappearUnk + // label: removeAllTribeUnits // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525470 = 0x00525470, @@ -50875,7 +50875,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00525F20 = 0x00525F20, - // label: meth_0x5260b0 + // label: trySpawnAdditionalWildlifeForTribe // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005260B0 = 0x005260B0, @@ -50883,7 +50883,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005261B0 = 0x005261B0, - // label: meth_0x5262a0 + // label: spawnWildlifeOrMercAtAvailableSlot // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x005262A0 = 0x005262A0, @@ -50911,7 +50911,7 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00527330 = 0x00527330, - // label: siegeThatRelatedUnk + // label: spawnQueuedReinforcementWaves // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x00527440 = 0x00527440, @@ -52817,15 +52817,15 @@ enum { SHC_3BB0A8C1_0x0052A637 = 0x0052A637, // type: /byte SHC_3BB0A8C1_0x0052A638 = 0x0052A638, - // label: meth_0x52a640 + // label: moveTribeToNearbyClearTile // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052A640 = 0x0052A640, - // label: meth_0x52a700 + // label: moveTribeToIndexedNearbyTile // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052A700 = 0x0052A700, - // label: unitAttackBuildingOrOtherUnitBasedOnStanceUnk + // label: updateTribeCombatStanceBehavior // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052A7D0 = 0x0052A7D0, @@ -53093,15 +53093,15 @@ enum { // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052AD50 = 0x0052AD50, - // label: meth_0x52b110 + // label: updateLionWolfTribeBehavior // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052B110 = 0x0052B110, - // label: meth_0x52b390 + // label: updateRabbitTribeBehavior // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052B390 = 0x0052B390, - // label: meth_0x52b630 + // label: updateCamelTribeBehavior // location: OpenSHC/Map/Units/TribesState // type: function SHC_3BB0A8C1_0x0052B630 = 0x0052B630, @@ -53207,13 +53207,13 @@ enum { // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052BF40 = 0x0052BF40, - // label: meth_0x52c570 + // label: floodFillField13FromCell // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052C570 = 0x0052C570, // type: function SHC_3BB0A8C1_0x0052C5D0 = 0x0052C5D0, - // label: meth_0x52c810 + // label: floodFillField20FromCell // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052C810 = 0x0052C810, @@ -53229,7 +53229,7 @@ enum { SHC_3BB0A8C1_0x0052CD40 = 0x0052CD40, // type: function SHC_3BB0A8C1_0x0052CD60 = 0x0052CD60, - // label: meth_0x52cfe0 + // label: buildRallyPointPathForTribe // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052CFE0 = 0x0052CFE0, @@ -53241,21 +53241,21 @@ enum { SHC_3BB0A8C1_0x0052D100 = 0x0052D100, // type: function SHC_3BB0A8C1_0x0052D3C0 = 0x0052D3C0, - // label: meth_0x52d620 + // label: hasAdjacentCellWithField24Or25 // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052D620 = 0x0052D620, - // label: meth_0x52d690 + // label: isSuitableWildlifeSpawnCell // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052D690 = 0x0052D690, - // label: meth_0x52d720 + // label: floodFillUnknownNonZero01FromCell // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052D720 = 0x0052D720, // type: function SHC_3BB0A8C1_0x0052D780 = 0x0052D780, - // label: meth_0x52d9d0 + // label: floodFillCasDisFromSignpost // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052D9D0 = 0x0052D9D0, @@ -53263,7 +53263,7 @@ enum { SHC_3BB0A8C1_0x0052DA40 = 0x0052DA40, // type: function SHC_3BB0A8C1_0x0052DAA0 = 0x0052DAA0, - // label: meth_0x52dd20 + // label: getDistanceToNearestUnknownNonZero01FromSignpost // location: OpenSHC/Map/WildlifeState // type: function SHC_3BB0A8C1_0x0052DD20 = 0x0052DD20, @@ -53343,7 +53343,7 @@ enum { SHC_3BB0A8C1_0x0052F440 = 0x0052F440, // type: function SHC_3BB0A8C1_0x0052F4A0 = 0x0052F4A0, - // label: meth_0x52f4e0 + // label: isUnitRegisteredOnItsOwnTile // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052F4E0 = 0x0052F4E0, @@ -53357,7 +53357,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052F5B0 = 0x0052F5B0, - // label: FUN_0052f680 + // label: triggerDesyncIfTileUnitLinkageInvalid // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052F680 = 0x0052F680, @@ -53371,19 +53371,19 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052F7E0 = 0x0052F7E0, - // label: meth_0x52fbb0 + // label: standUpIfSeated // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FBB0 = 0x0052FBB0, - // label: meth_0x52fbf0 + // label: sitDownIfStanding // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FBF0 = 0x0052FBF0, - // label: meth_0x52fc30 + // label: setFacingDirectionTowardUnit // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FC30 = 0x0052FC30, - // label: meth_0x52fca0 + // label: setFacingDirectionTowardCoords // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FCA0 = 0x0052FCA0, @@ -53391,7 +53391,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FD00 = 0x0052FD00, - // label: FUN_0052fe00 + // label: setFacingDirectionTowardUnitMicro // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FE00 = 0x0052FE00, @@ -53403,7 +53403,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0052FF80 = 0x0052FF80, - // label: FUN_00530080 + // label: isComputerManagedNonPeasant // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00530080 = 0x00530080, @@ -53411,13 +53411,13 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005300B0 = 0x005300B0, - // label: meth_0x5301f0 + // label: countLivingNondyingUnitsForPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005301F0 = 0x005301F0, // type: function SHC_3BB0A8C1_0x00530210 = 0x00530210, - // label: meth_0x530240 + // label: triggerStoneTowerDeathForPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00530240 = 0x00530240, @@ -53425,7 +53425,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005302B0 = 0x005302B0, - // label: meth_0x530310 + // label: triggerDeathAnimationForAllWildlife // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00530310 = 0x00530310, @@ -53435,7 +53435,7 @@ enum { SHC_3BB0A8C1_0x00530390 = 0x00530390, // type: function SHC_3BB0A8C1_0x005303B0 = 0x005303B0, - // label: meth_0x530400 + // label: transferNonCourtUnitsToPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00530400 = 0x00530400, @@ -53731,7 +53731,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00530CF0 = 0x00530CF0, - // label: FUN_00530d50 + // label: CheckUnitProductionPaused // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00530D50 = 0x00530D50, @@ -53739,7 +53739,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00530D70 = 0x00530D70, - // label: FUN_00530e00 + // label: WarnIfPlayerLacksGranary // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00530E00 = 0x00530E00, @@ -53751,11 +53751,11 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x00530F20 = 0x00530F20, - // label: checkIfCitizenUnitIsAliveBasedOnStateUnk + // label: checkIfCitizenUnitIsAliveBasedOnState // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00530FD0 = 0x00530FD0, - // label: meth_0x531000 + // label: shouldUnitsEngageInMelee // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00531000 = 0x00531000, @@ -54755,13 +54755,13 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00532F60 = 0x00532F60, - // label: distanceComputationForSomeOldCodeForSomeMissions + // label: computeDistanceToNearestEnemyForLegacyMissions // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00532F80 = 0x00532F80, // type: function SHC_3BB0A8C1_0x00533010 = 0x00533010, - // label: FUN_00533090 + // label: returnFalseStub // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533090 = 0x00533090, @@ -54797,7 +54797,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533630 = 0x00533630, - // label: meth_0x533810 + // label: findAndDestroyAdjacentEnemyLadder // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533810 = 0x00533810, @@ -54805,19 +54805,19 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533920 = 0x00533920, - // label: meth_0x533960 + // label: isAtSecondaryDestination // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533960 = 0x00533960, - // label: unitReachedDestinationUnk + // label: hasUnitReachedDestination // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005339A0 = 0x005339A0, - // label: meth_0x5339f0 + // label: hasTunnelerNotFinishedDigging // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005339F0 = 0x005339F0, - // label: ladderClimbRelatedUnk + // label: computeLadderClimbPath // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533A10 = 0x00533A10, @@ -54833,7 +54833,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533CA0 = 0x00533CA0, - // label: FUN_00533d50 + // label: updateUnitFadeAndVisibilityNearStructures // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533D50 = 0x00533D50, @@ -54919,11 +54919,11 @@ enum { SHC_3BB0A8C1_0x00533F84 = 0x00533F84, // type: /byte SHC_3BB0A8C1_0x00533F85 = 0x00533F85, - // label: meth_0x533f90 + // label: saveUnitStateBeforeInterruption // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533F90 = 0x00533F90, - // label: meth_0x533fc0 + // label: despawnUnreachableUnit // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00533FC0 = 0x00533FC0, @@ -54949,7 +54949,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005340F0 = 0x005340F0, - // label: meth_0x534130 + // label: applyTunnelDamageAlongPathPlan // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534130 = 0x00534130, @@ -54957,7 +54957,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534240 = 0x00534240, - // label: meth_0x534380 + // label: isWorkplaceBuildingOnAdjacentTile // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534380 = 0x00534380, @@ -54971,7 +54971,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534460 = 0x00534460, - // label: meth_0x534490 + // label: stampOccupancyFlagOnSurroundingTiles // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534490 = 0x00534490, @@ -54979,7 +54979,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534520 = 0x00534520, - // label: getUnitThatFulfillsSomeTimebasedAndLocationBasedCriteria + // label: findEligibleUnitByTimeAndLocation // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005345A0 = 0x005345A0, @@ -54989,7 +54989,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005346D0 = 0x005346D0, - // label: meth_0x5347e0 + // label: applyDragBoxSelectionByPriority // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005347E0 = 0x005347E0, @@ -55015,19 +55015,19 @@ enum { SHC_3BB0A8C1_0x00534D08 = 0x00534D08, // type: /pointer SHC_3BB0A8C1_0x00534D0C = 0x00534D0C, - // label: meth_0x534d10 + // label: selectUnitsInDragBoxForCurrentPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534D10 = 0x00534D10, // type: function SHC_3BB0A8C1_0x00534D80 = 0x00534D80, - // label: meth_0x534ee0 + // label: selectFirstUnitInDragBoxAnyPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00534EE0 = 0x00534EE0, // type: function SHC_3BB0A8C1_0x00534F50 = 0x00534F50, - // label: meth_0x5350b0 + // label: selectAllUnitsOfTypeForPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005350B0 = 0x005350B0, @@ -55251,31 +55251,31 @@ enum { SHC_3BB0A8C1_0x00535513 = 0x00535513, // type: /byte SHC_3BB0A8C1_0x00535514 = 0x00535514, - // label: meth_0x535520 + // label: selectionContainsEngineersOnly // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535520 = 0x00535520, - // label: meth_0x535550 + // label: selectionHasEngineers // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535550 = 0x00535550, - // label: meth_0x535560 + // label: selectionHasArchers // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535560 = 0x00535560, - // label: meth_0x535580 + // label: selectionHasMobileAssaultUnits // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535580 = 0x00535580, - // label: meth_0x5355e0 + // label: selectionHasMixedAssaultAndInfantry // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005355E0 = 0x005355E0, - // label: meth_0x535680 + // label: getSelectedEngineerCarryingResource // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535680 = 0x00535680, - // label: meth_0x535700 + // label: selectionContainsTunnelersOnly // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535700 = 0x00535700, @@ -55283,7 +55283,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535730 = 0x00535730, - // label: meth_0x5357e0 + // label: selectionContainsLadermenOnly // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005357E0 = 0x005357E0, @@ -55291,27 +55291,27 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535810 = 0x00535810, - // label: meth_0x535840 + // label: selectionContainsShieldmenOnly // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535840 = 0x00535840, - // label: meth_0x535870 + // label: selectionHasShieldOrSiegeMobileUnits // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535870 = 0x00535870, - // label: meth_0x5358c0 + // label: selectionHasShieldOrSiegeTower // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005358C0 = 0x005358C0, - // label: meth_0x535910 + // label: selectionHasNoRangedUnits // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535910 = 0x00535910, - // label: meth_0x535980 + // label: selectionHasFootSoldiers // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535980 = 0x00535980, - // label: meth_0x5359c0 + // label: getSelectedLordIDIfOwnedByCurrentPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005359C0 = 0x005359C0, @@ -55327,11 +55327,11 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535BC0 = 0x00535BC0, - // label: FUN_00535df0 + // label: getFirstSelectedUnitID // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535DF0 = 0x00535DF0, - // label: siegeEngineRelated + // label: selectSiegeEngineAndPlayFeedback // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00535E20 = 0x00535E20, @@ -55343,7 +55343,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005360A0 = 0x005360A0, - // label: tribeRelated1 + // label: selectTribeUnitsForPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536190 = 0x00536190, @@ -55351,23 +55351,23 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005361F0 = 0x005361F0, - // label: meth_0x536260 + // label: selectionHasMovableNonSiegeUnit // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536260 = 0x00536260, // type: function SHC_3BB0A8C1_0x00536280 = 0x00536280, - // label: meth_0x5362f0 + // label: getFirstSelectedUnitOfEitherType // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005362F0 = 0x005362F0, // type: function SHC_3BB0A8C1_0x00536310 = 0x00536310, - // label: meth_0x536370 + // label: getMaxStoneAmmoInSelectedSiegeEngines // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536370 = 0x00536370, - // label: meth_0x536400 + // label: countSelectedCatapultsAndTrebuchets // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536400 = 0x00536400, @@ -55381,7 +55381,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536530 = 0x00536530, - // label: meth_0x5365a0 + // label: getFirstSelectedLadderUnitID // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005365A0 = 0x005365A0, @@ -55391,15 +55391,15 @@ enum { SHC_3BB0A8C1_0x00536610 = 0x00536610, // type: function SHC_3BB0A8C1_0x00536630 = 0x00536630, - // label: meth_0x536690 + // label: getFirstSelectedSiegeEngineID // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536690 = 0x00536690, - // label: meth_0x536710 + // label: getFirstSelectedCatapultOrTrebuchetID // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536710 = 0x00536710, - // label: meth_0x536780 + // label: isTowerTileOvercrowdedByCurrentPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536780 = 0x00536780, @@ -55411,7 +55411,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536970 = 0x00536970, - // label: meth_0x5369f0 + // label: selectionHasUnmannedSiegeEngine // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005369F0 = 0x005369F0, @@ -55467,11 +55467,11 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536A60 = 0x00536A60, - // label: FUN_00536c70 + // label: queueStopCommand // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536C70 = 0x00536C70, - // label: queueCommand0xF + // label: queueUnitTypeCommand // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536C90 = 0x00536C90, @@ -55479,13 +55479,13 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536CC0 = 0x00536CC0, - // label: tribeRelated2 + // label: clearOrDeselectUnitFromSelection // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536CF0 = 0x00536CF0, // type: function SHC_3BB0A8C1_0x00536DA0 = 0x00536DA0, - // label: meth_0x536de0 + // label: clearSelectionCountsAndPlayerIDs // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536DE0 = 0x00536DE0, @@ -55503,23 +55503,23 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005370C0 = 0x005370C0, - // label: FUN_00537100 + // label: queueDisbandAndAttackCommand2Params // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537100 = 0x00537100, - // label: FUN_00537130 + // label: queueDisbandAndAttackCommand3Params // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537130 = 0x00537130, - // label: queueCommand_36d + // label: queueDisbandAndAttackCommand4Params // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537160 = 0x00537160, - // label: queueCommand_36_variation2 + // label: queueDisbandAndAttackCommand5Params // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005371A0 = 0x005371A0, - // label: giveTribeAnInstruction2 + // label: relayTribeInstruction // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005371E0 = 0x005371E0, @@ -55539,7 +55539,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537840 = 0x00537840, - // label: meth_0x537880 + // label: findNearestShootableDeer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537880 = 0x00537880, @@ -55547,7 +55547,7 @@ enum { SHC_3BB0A8C1_0x005378D0 = 0x005378D0, // type: function SHC_3BB0A8C1_0x005378F0 = 0x005378F0, - // label: meth_0x537a00 + // label: findNearestIdleCowForPlayer // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537A00 = 0x00537A00, @@ -55557,7 +55557,7 @@ enum { SHC_3BB0A8C1_0x00537AA0 = 0x00537AA0, // type: function SHC_3BB0A8C1_0x00537B20 = 0x00537B20, - // label: getClosestUnitIDUnk + // label: findClosestEnemyByAreaAndRange // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537C10 = 0x00537C10, @@ -55575,7 +55575,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537EE0 = 0x00537EE0, - // label: FUN_00537f60 + // label: clearUnitPositionCommitState // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00537F60 = 0x00537F60, @@ -63747,7 +63747,7 @@ enum { // location: OpenSHC/Global // type: function SHC_3BB0A8C1_0x0053A020 = 0x0053A020, - // label: meth_0x53a070 + // label: isWorkerAtProductionIdleState // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053A070 = 0x0053A070, @@ -63829,7 +63829,7 @@ enum { SHC_3BB0A8C1_0x0053A148 = 0x0053A148, // type: /byte SHC_3BB0A8C1_0x0053A149 = 0x0053A149, - // label: meth_0x53a150 + // label: getWorkerBlockingStateIfStuck // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053A150 = 0x0053A150, @@ -63937,7 +63937,7 @@ enum { SHC_3BB0A8C1_0x0053A4C0 = 0x0053A4C0, // type: /byte SHC_3BB0A8C1_0x0053A4C1 = 0x0053A4C1, - // label: meth_0x53a4d0 + // label: findActiveSiegeEngineForTribe // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053A4D0 = 0x0053A4D0, @@ -64005,7 +64005,7 @@ enum { // location: OpenSHC/Map/Version // type: function SHC_3BB0A8C1_0x0053B800 = 0x0053B800, - // label: Constructor_UnitsState + // label: constructUnitsState // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053B8B0 = 0x0053B8B0, @@ -64013,7 +64013,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053B8E0 = 0x0053B8E0, - // label: updateUnitPositionUnk + // label: commitPendingUnitPosition // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053BB10 = 0x0053BB10, @@ -64301,7 +64301,7 @@ enum { SHC_3BB0A8C1_0x0053D022 = 0x0053D022, // type: /byte SHC_3BB0A8C1_0x0053D023 = 0x0053D023, - // label: harassBuildingsAIUnk + // label: harassBuildingsWithSiegeAI // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053D030 = 0x0053D030, @@ -64397,7 +64397,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053D3D0 = 0x0053D3D0, - // label: meth_0x53d850 + // label: resumeMovementAfterInterruption // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053D850 = 0x0053D850, @@ -64423,11 +64423,11 @@ enum { SHC_3BB0A8C1_0x0053DCB0 = 0x0053DCB0, // type: /undefined *32 SHC_3BB0A8C1_0x0053DCB4 = 0x0053DCB4, - // label: setTargetedBuildingDestinationUnk + // label: setDestinationNearTargetedBuilding // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053DCC0 = 0x0053DCC0, - // label: meth_0x53ddd0 + // label: selectWorkerSpeechOrMoraleStateID // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053DDD0 = 0x0053DDD0, @@ -64495,11 +64495,11 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053E820 = 0x0053E820, - // label: someUnitMoveFunction + // label: resetUnitMovementState // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053E870 = 0x0053E870, - // label: meth_0x53e8d0 + // label: clearHiddenFlagAndUpdatePosition // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0053E8D0 = 0x0053E8D0, @@ -65863,11 +65863,11 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00549C70 = 0x00549C70, - // label: meth_0x54a770 + // label: resumeMovementIfNoAttackTarget // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0054A770 = 0x0054A770, - // label: findNearestEnemyAndHeadTowardsItUnk + // label: findNearestEnemyAndHeadTowardsIt // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0054A7B0 = 0x0054A7B0, @@ -66293,7 +66293,7 @@ enum { SHC_3BB0A8C1_0x0054B0CB = 0x0054B0CB, // type: /byte SHC_3BB0A8C1_0x0054B0CC = 0x0054B0CC, - // label: canShootTargetUnk + // label: acquireShootTarget // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x0054B0D0 = 0x0054B0D0,