From 31e2edc7ed3913e2f5367062bd5cf4f86f94360e Mon Sep 17 00:00:00 2001 From: sourcehold Date: Fri, 1 May 2026 00:48:22 +0200 Subject: [PATCH 1/3] release of initial hpp files --- src/OpenSHC/AI/AIAttackWaveTarget.hpp | 20 + src/OpenSHC/AI/AIAttackWaveTargetInt.hpp | 16 + src/OpenSHC/AI/AIC/AICSpecification.hpp | 196 ++ src/OpenSHC/AI/AIC/AITargetChoice.hpp | 24 + src/OpenSHC/AI/AIC/AITargetChoiceInt.hpp | 18 + src/OpenSHC/AI/AICState.func.hpp | 695 ++++++ src/OpenSHC/AI/AICState.hpp | 401 +++ .../AI/AIGridComputationResourceType.hpp | 20 + .../AI/AIGridComputationResourceTypeInt.hpp | 16 + src/OpenSHC/AI/AIMapExtraInfo.hpp | 27 + .../AI/AINervousDestroyBuildingCategory.hpp | 24 + .../AINervousDestroyBuildingCategoryInt.hpp | 16 + src/OpenSHC/AI/AIRecruitUnitChoice.hpp | 20 + src/OpenSHC/AI/AIRecruitUnitChoiceInt.hpp | 16 + src/OpenSHC/AI/AISiegeUnitCreation.hpp | 26 + src/OpenSHC/AI/AIStrengthType.hpp | 20 + src/OpenSHC/AI/AIStrengthTypeInt.hpp | 16 + src/OpenSHC/AI/AITypeA.hpp | 34 + src/OpenSHC/AI/AITypeAByte.hpp | 16 + src/OpenSHC/AI/AITypeB.hpp | 33 + src/OpenSHC/AI/AITypeBByte.hpp | 16 + src/OpenSHC/AI/AIUnitBehaviourType.hpp | 31 + src/OpenSHC/AI/AIUnitBehaviourTypeInt.hpp | 16 + src/OpenSHC/AI/AIV/AIV.hpp | 43 + src/OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp | 25 + src/OpenSHC/AI/AIV/AIVBuildLocationTile.hpp | 24 + src/OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp | 31 + src/OpenSHC/AI/AIV/AIVBuildingType2.hpp | 109 + src/OpenSHC/AI/AIV/AIVBuildingType2Int.hpp | 18 + src/OpenSHC/AI/AIV/AIVBuildingType2Short.hpp | 18 + src/OpenSHC/AI/AIV/AIVDefinedData.hpp | 39 + src/OpenSHC/AI/AIV/AIVSectionAddress.hpp | 18 + src/OpenSHC/AI/AIVBuildingStep.hpp | 35 + src/OpenSHC/AI/AIVBuildingStepStatus.hpp | 22 + src/OpenSHC/AI/AIVBuildingStepStatusByte.hpp | 16 + src/OpenSHC/AI/AIVBuildingType.hpp | 27 + src/OpenSHC/AI/AIVBuildingTypeShort.hpp | 16 + src/OpenSHC/AI/AIVState.func.hpp | 166 ++ src/OpenSHC/AI/AIVState.hpp | 166 ++ src/OpenSHC/AI/AIVUnitType.hpp | 39 + src/OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp | 37 + .../AI/AIVUnitTypeIndexMapping1Int.hpp | 16 + src/OpenSHC/AI/AIVUnitTypeInt.hpp | 16 + .../AI/AttackInfo/AttackInfoDefinedData.hpp | 59 + .../AI/Siege/EngineerBuildingAndCountPair.hpp | 29 + src/OpenSHC/AI/Siege/SiegeInformation.hpp | 43 + src/OpenSHC/AI/TileDistancePair.hpp | 23 + .../AI/Trading/AIResourceTradeCategory.hpp | 26 + .../AI/Trading/AIResourceTradeCategoryInt.hpp | 18 + .../ResourceAICResourceMappingEntry.hpp | 31 + src/OpenSHC/AI/Tribes/AITribeIndex.hpp | 49 + src/OpenSHC/AI/Tribes/AITribeIndexInt.hpp | 18 + src/OpenSHC/AI/Tribes/AITribeType.hpp | 30 + src/OpenSHC/AI/Tribes/AITribeTypeInt.hpp | 18 + src/OpenSHC/AI/Tribes/AITribeTypeShort.hpp | 18 + .../AI/Tribes/AIVUnitTypeMaxLocationPair.hpp | 31 + .../AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp | 41 + .../Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp | 18 + src/OpenSHC/Audio.func.hpp | 17 + src/OpenSHC/Audio.hpp | 14 + .../Audio/MissingResourceState.func.hpp | 23 + src/OpenSHC/Audio/MissingResourceState.hpp | 42 + src/OpenSHC/Audio/MusicControl.hpp | 29 + src/OpenSHC/Audio/SFX.func.hpp | 19 + src/OpenSHC/Audio/SFX.hpp | 16 + src/OpenSHC/Audio/SFX/AmbientSFXType.hpp | 24 + src/OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp | 18 + src/OpenSHC/Audio/SFX/AmbientSfx.hpp | 27 + src/OpenSHC/Audio/SFX/MusicSfx.hpp | 29 + src/OpenSHC/Audio/SFX/NameSpeechPair.hpp | 25 + src/OpenSHC/Audio/SFX/ResourceLackSFX.hpp | 25 + src/OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp | 18 + src/OpenSHC/Audio/SFX/SFXDefinedData.hpp | 37 + src/OpenSHC/Audio/SFX/SFXFadeState.hpp | 22 + src/OpenSHC/Audio/SFX/SFXFadeStateInt.hpp | 18 + src/OpenSHC/Audio/SFX/SFXState.func.hpp | 114 + src/OpenSHC/Audio/SFX/SFXState.hpp | 107 + src/OpenSHC/Audio/SFX/SoundEffectID.hpp | 201 ++ src/OpenSHC/Audio/SFX/SoundEffectIDInt.hpp | 18 + src/OpenSHC/Audio/SFX/SoundStructure1.hpp | 29 + src/OpenSHC/Audio/SFX/SoundStructure2.hpp | 27 + src/OpenSHC/Audio/SFX/SpeechEffectID.hpp | 84 + src/OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp | 18 + src/OpenSHC/Audio/SFX/SpeechEffectPath.hpp | 27 + src/OpenSHC/Audio/SFX/UnitSpeechData.hpp | 27 + src/OpenSHC/Audio/SoundEffectsHelperData1.hpp | 53 + .../Audio/Speech/SpeechDefinedData.hpp | 44 + src/OpenSHC/Audio/mss.func.hpp | 26 + src/OpenSHC/Audio/mss.hpp | 20 + src/OpenSHC/Audio/mss/FakeDigDriver.hpp | 21 + src/OpenSHC/Audio/mss/FakeSample.hpp | 21 + src/OpenSHC/Audio/mss/FakeStream.hpp | 21 + src/OpenSHC/Audio/mss/HDIGDRIVER.hpp | 18 + src/OpenSHC/Audio/mss/HSAMPLE.hpp | 18 + src/OpenSHC/Audio/mss/HSTREAM.hpp | 18 + src/OpenSHC/Audio/mss/SndStreamHelper.hpp | 28 + src/OpenSHC/Audio/mss/SoundSystem.func.hpp | 227 ++ src/OpenSHC/Audio/mss/SoundSystem.hpp | 192 ++ .../Audio/mss/UnkSoundFlagsAndLoopCount.hpp | 26 + src/OpenSHC/Audio/mss/_enums/AILStatus.hpp | 26 + src/OpenSHC/Audio/mss/_enums/AILStatusInt.hpp | 20 + .../Audio/mss/_enums/SHC_SoundFlag.hpp | 22 + .../Audio/mss/_enums/SHC_SoundFlagInt.hpp | 20 + .../Audio/mss/_enums/SHC_SoundStream.hpp | 26 + .../Audio/mss/_enums/SHC_SoundStreamInt.hpp | 20 + src/OpenSHC/Commands.func.hpp | 470 ++++ src/OpenSHC/Commands.hpp | 242 ++ src/OpenSHC/Commands/CommandBuildingType.hpp | 253 ++ .../Commands/CommandBuildingTypeInt.hpp | 16 + .../Commands/CommandBuildingTypeShort.hpp | 16 + src/OpenSHC/Commands/GameCommand.hpp | 31 + .../Commands/GameCommandParameterLocation.hpp | 19 + .../GameCommandParameterLocationInt.hpp | 16 + .../GameCommandParameterReadWrite.hpp | 19 + .../GameCommandParameterReadWriteInt.hpp | 16 + .../Commands/GameCommandScheduling.hpp | 20 + .../Commands/GameCommandSchedulingInt.hpp | 16 + src/OpenSHC/Commands/GameCommandState.hpp | 19 + src/OpenSHC/Commands/GameCommandStateByte.hpp | 16 + src/OpenSHC/Commands/GameCommandType.hpp | 101 + src/OpenSHC/Commands/GameCommandTypeInt.hpp | 16 + src/OpenSHC/Common/MapperCommandUnion.hpp | 35 + src/OpenSHC/Common/TruncatedInt.hpp | 24 + src/OpenSHC/Coordinates/XYPairShort.hpp | 23 + src/OpenSHC/DirectDraw/ColorPixelFormat.hpp | 19 + .../DirectDraw/ColorPixelFormatInt.hpp | 16 + src/OpenSHC/DirectDraw/DDCAPS.hpp | 60 + src/OpenSHC/DirectDraw/DDCAPS_DX7.hpp | 81 + src/OpenSHC/DirectDraw/DDCOLORKEY.hpp | 25 + src/OpenSHC/DirectDraw/DDPIXELFORMAT.hpp | 31 + src/OpenSHC/DirectDraw/DDSCAPS2.hpp | 27 + src/OpenSHC/DirectDraw/DDSURFACEDESC.hpp | 40 + src/OpenSHC/DirectDraw/DDSURFACEDESC2.hpp | 49 + src/OpenSHC/DirectDraw/DDSURFACEDESC_u1.hpp | 25 + src/OpenSHC/DirectDraw/DDSURFACEDESC_u2.hpp | 26 + src/OpenSHC/DirectDraw/DirectDrawCreateEx.hpp | 17 + .../IDirectDrawInterface/IDirectDraw.hpp | 16 + .../IDirectDrawInterface/IDirectDrawImpl.hpp | 26 + .../IDirectDraw_VTABLE.hpp | 36 + .../functions/CreateSurface.hpp | 21 + .../functions/EnumDisplayModes.hpp | 20 + .../functions/GetCaps.hpp | 19 + .../functions/Release.hpp | 19 + .../functions/SetCooperativeLevel.hpp | 20 + .../functions/SetDisplayMode.hpp | 20 + .../IDirectDrawSurface.hpp | 16 + .../IDirectDrawSurfaceImpl.hpp | 26 + .../IDirectDrawSurface_VTABLE.hpp | 42 + .../functions/Blt.hpp | 20 + .../functions/BltFast.hpp | 20 + .../functions/Flip.hpp | 20 + .../functions/GetAttachedSurface.hpp | 20 + .../functions/GetSurfaceDesc.hpp | 19 + .../functions/Lock.hpp | 20 + .../functions/Release.hpp | 19 + .../functions/Restore.hpp | 19 + .../functions/Unlock.hpp | 20 + .../DirectDraw/_defines/DDCAPS_SHC.hpp | 16 + src/OpenSHC/DirectDraw/_defines/DD_OK.hpp | 16 + .../DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp | 49 + .../_enums/DDCAPS_DX7_dwCaps2Int.hpp | 18 + src/OpenSHC/DirectPlay/CancelMessage.hpp | 15 + src/OpenSHC/DirectPlay/Close.hpp | 14 + src/OpenSHC/DirectPlay/CreatePlayer.hpp | 18 + src/OpenSHC/DirectPlay/DPERR.hpp | 84 + src/OpenSHC/DirectPlay/DPERRInt.hpp | 16 + src/OpenSHC/DirectPlay/DPNAME.hpp | 28 + src/OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp | 21 + src/OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp | 16 + src/OpenSHC/DirectPlay/DPSEND_Enum.hpp | 28 + src/OpenSHC/DirectPlay/DPSEND_EnumInt.hpp | 16 + src/OpenSHC/DirectPlay/DPSESSIONDESC2.hpp | 43 + src/OpenSHC/DirectPlay/DPSESSION_Enum.hpp | 31 + src/OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp | 16 + src/OpenSHC/DirectPlay/DestroyPlayer.hpp | 15 + src/OpenSHC/DirectPlay/EnumConnections.hpp | 20 + .../DirectPlay/EnumConnectionsCallback.hpp | 17 + src/OpenSHC/DirectPlay/EnumSessions.hpp | 21 + .../DirectPlay/EnumSessionsFlagsEnum.hpp | 23 + .../DirectPlay/EnumSessionsFlagsEnumInt.hpp | 16 + src/OpenSHC/DirectPlay/GetPlayerAddress.hpp | 15 + src/OpenSHC/DirectPlay/IDirectPlay4A.hpp | 78 + src/OpenSHC/DirectPlay/Open.hpp | 19 + src/OpenSHC/DirectPlay/OpenFlagsEnum.hpp | 20 + src/OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp | 16 + src/OpenSHC/DirectPlay/QueryInterface.hpp | 15 + src/OpenSHC/DirectPlay/Receive.hpp | 18 + src/OpenSHC/DirectPlay/Release.hpp | 17 + src/OpenSHC/DirectPlay/SendEx.hpp | 20 + src/OpenSHC/DirectPlay/SetSessionDesc.hpp | 18 + .../lobby/CreateCompoundAddress.hpp | 19 + src/OpenSHC/DirectPlay/lobby/EnumAddress.hpp | 17 + .../DirectPlay/lobby/IDirectPlayLobby3.hpp | 37 + .../DirectPlay/lobby/InitializeConnection.hpp | 17 + src/OpenSHC/DirectPlay/lobby/Release.hpp | 16 + src/OpenSHC/Game.func.hpp | 28 + src/OpenSHC/Game.hpp | 21 + src/OpenSHC/Game/CampaignInfoStruct1.hpp | 27 + .../Game/CampaignInfoSubStructure1.hpp | 42 + src/OpenSHC/Game/CampaignTrailMission.hpp | 57 + src/OpenSHC/Game/GameCore.func.hpp | 78 + src/OpenSHC/Game/GameCore.hpp | 270 ++ src/OpenSHC/Game/GameMode.hpp | 22 + src/OpenSHC/Game/GameMode2.hpp | 26 + src/OpenSHC/Game/GameMode2Int.hpp | 16 + src/OpenSHC/Game/GameModeInt.hpp | 16 + src/OpenSHC/Game/GameStateStructures.func.hpp | 417 ++++ src/OpenSHC/Game/GameStateStructures.hpp | 254 ++ src/OpenSHC/Game/Market/BuySellPair.hpp | 25 + .../Game/MissionAestheticsDefinedData.hpp | 1274 ++++++++++ src/OpenSHC/Game/MissionDefinedData.hpp | 63 + src/OpenSHC/Game/Player/PlayerData.hpp | 518 ++++ src/OpenSHC/Game/Player/PlayerID.hpp | 15 + src/OpenSHC/Game/Player/PlayerType.hpp | 21 + src/OpenSHC/Game/Player/PlayerTypeByte.hpp | 18 + .../Player/UnknownPlayerDataStructure.hpp | 45 + src/OpenSHC/Game/RenderingDefinedData.hpp | 257 ++ src/OpenSHC/Game/Resources/ResourceType.hpp | 43 + .../Game/Resources/ResourceTypeByte.hpp | 18 + .../Game/Resources/ResourceTypeInt.hpp | 18 + .../Game/Resources/ResourceTypeMin1.hpp | 44 + .../Game/Resources/ResourceTypeMin1Byte.hpp | 18 + .../Game/Resources/ResourceTypeMin1Int.hpp | 18 + .../Game/Resources/ResourceTypeShort.hpp | 18 + .../Scenario/BarracksRecruitabilityShort.hpp | 31 + .../BarracksRecruitabilityShortArray.hpp | 24 + .../BarracksRecruitabilityShortStruct.hpp | 30 + .../Game/ScenarioEvents/InGameEvent.hpp | 30 + .../Game/ScenarioEvents/InGameEventExtra.hpp | 63 + .../Game/ScenarioEvents/InGameEventUnion.hpp | 34 + .../InGameEventUnionVersion.func.hpp | 25 + .../InGameEventUnionVersion.hpp | 47 + .../Game/ScenarioEvents/IngameEventHeader.hpp | 28 + .../IngameInvasionEventItemContent.hpp | 32 + .../IngameMessageEventItemContent.hpp | 25 + .../IngameScenarioEventItemContent.hpp | 35 + .../Game/ScenarioEvents/InvasionEventItem.hpp | 36 + .../ScenarioEvents/ScenarioEventCondition.hpp | 26 + .../Game/ScenarioEvents/ScenarioEventItem.hpp | 38 + .../Siege/SiegeGameModeRelatedSection.hpp | 30 + src/OpenSHC/Game/Skirmish.func.hpp | 31 + src/OpenSHC/Game/Skirmish.hpp | 22 + src/OpenSHC/Game/Skirmish/AttackVector.hpp | 27 + .../Game/Skirmish/SkirmishDefinedData.hpp | 83 + .../SkirmishLobbySetupStructure.func.hpp | 22 + .../Skirmish/SkirmishLobbySetupStructure.hpp | 67 + .../SkirmishLobbySetupStructureLongName.hpp | 51 + .../Game/Skirmish/SkirmishStatistics.hpp | 55 + .../Skirmish/StartingResourceStructureInt.hpp | 48 + src/OpenSHC/Game/State/MapAndTimeState.hpp | 303 +++ src/OpenSHC/Game/State/UnitIDUIDPair.hpp | 25 + .../Game/State/UnitSelectionHotKeyEntry.hpp | 28 + .../Game/TradeableResourcesSection.hpp | 26 + src/OpenSHC/Game/TrailType.hpp | 20 + src/OpenSHC/Game/TrailTypeInt.hpp | 16 + src/OpenSHC/Game/TroopDefinedData.hpp | 38 + src/OpenSHC/Global.func.hpp | 1307 ++++++++++ src/OpenSHC/Global.hpp | 703 ++++++ src/OpenSHC/Global/Init.func.hpp | 1259 ++++++++++ src/OpenSHC/Global/Init.hpp | 636 +++++ .../Globals/AlphaAndButtonSurfaceObj.hpp | 14 + .../Globals/BOOL_CurrentMenuClickState.hpp | 14 + ...elatedToInitialGranaryAndKeepPlacement.hpp | 11 + src/OpenSHC/Globals/BOOL_WasInteracting.hpp | 12 + .../Globals/BottomLeftDateDisplayElement.hpp | 14 + src/OpenSHC/Globals/CHAR_ARRAY_00eb0ab0.hpp | 11 + src/OpenSHC/Globals/CHAR_ARRAY_00eb9ac8.hpp | 11 + src/OpenSHC/Globals/COL_BLACK.hpp | 11 + src/OpenSHC/Globals/COL_BLUE.hpp | 11 + src/OpenSHC/Globals/COL_BRIGHT_YELLOW.hpp | 11 + src/OpenSHC/Globals/COL_DARK_CYAN_GREY.hpp | 11 + .../Globals/COL_DARK_GRAYISH_GREEN.hpp | 11 + src/OpenSHC/Globals/COL_DARK_GREEN.hpp | 11 + src/OpenSHC/Globals/COL_DARK_LIME.hpp | 11 + src/OpenSHC/Globals/COL_DARK_RED.hpp | 11 + src/OpenSHC/Globals/COL_GREYISH_YELLOW.hpp | 11 + src/OpenSHC/Globals/COL_LIGHT_GREY.hpp | 11 + src/OpenSHC/Globals/COL_LIME.hpp | 11 + src/OpenSHC/Globals/COL_MAGENTA.hpp | 11 + src/OpenSHC/Globals/COL_MODERATE_GREEN.hpp | 11 + src/OpenSHC/Globals/COL_RED.hpp | 11 + src/OpenSHC/Globals/COL_VERY_DARK_GREY.hpp | 11 + src/OpenSHC/Globals/COL_VERY_SOFT_YELLOW.hpp | 11 + src/OpenSHC/Globals/COL_VIVID_BLUE.hpp | 11 + src/OpenSHC/Globals/COL_WHITE.hpp | 11 + ...ctAndPathLinkageInfoTextDisplayElement.hpp | 15 + src/OpenSHC/Globals/DAT_005b7968.hpp | 11 + src/OpenSHC/Globals/DAT_005b7970.hpp | 11 + src/OpenSHC/Globals/DAT_005c2a68.hpp | 11 + src/OpenSHC/Globals/DAT_00ab5718.hpp | 11 + src/OpenSHC/Globals/DAT_00ab8e10.hpp | 11 + src/OpenSHC/Globals/DAT_00ab9168.hpp | 11 + src/OpenSHC/Globals/DAT_00b333a8.hpp | 11 + src/OpenSHC/Globals/DAT_00b37cb8.hpp | 11 + src/OpenSHC/Globals/DAT_00b38b78.hpp | 11 + src/OpenSHC/Globals/DAT_00b39074.hpp | 11 + src/OpenSHC/Globals/DAT_00b39078.hpp | 11 + src/OpenSHC/Globals/DAT_00b39338.hpp | 11 + src/OpenSHC/Globals/DAT_00b39340.hpp | 11 + src/OpenSHC/Globals/DAT_00b39360.hpp | 11 + src/OpenSHC/Globals/DAT_00b39628.hpp | 11 + src/OpenSHC/Globals/DAT_00b3eb30.hpp | 11 + src/OpenSHC/Globals/DAT_00b42b50.hpp | 11 + src/OpenSHC/Globals/DAT_00b44218.hpp | 11 + src/OpenSHC/Globals/DAT_00b46120.hpp | 11 + src/OpenSHC/Globals/DAT_00b47e10.hpp | 11 + src/OpenSHC/Globals/DAT_00b48ee0.hpp | 11 + src/OpenSHC/Globals/DAT_00b48f50.hpp | 11 + src/OpenSHC/Globals/DAT_00b4c700.hpp | 11 + src/OpenSHC/Globals/DAT_00b4d138.hpp | 11 + src/OpenSHC/Globals/DAT_00b4df40.hpp | 11 + src/OpenSHC/Globals/DAT_00b4df48.hpp | 11 + src/OpenSHC/Globals/DAT_00b601b8.hpp | 11 + src/OpenSHC/Globals/DAT_00b95954.hpp | 11 + src/OpenSHC/Globals/DAT_00b95960.hpp | 11 + src/OpenSHC/Globals/DAT_00b95b2c.hpp | 11 + src/OpenSHC/Globals/DAT_00b95b3c.hpp | 11 + src/OpenSHC/Globals/DAT_00b95b68.hpp | 11 + src/OpenSHC/Globals/DAT_00b95b6c.hpp | 11 + src/OpenSHC/Globals/DAT_00b95b70.hpp | 11 + src/OpenSHC/Globals/DAT_00b95b74.hpp | 11 + src/OpenSHC/Globals/DAT_00b95f64.hpp | 11 + src/OpenSHC/Globals/DAT_00b960bc.hpp | 11 + src/OpenSHC/Globals/DAT_00b960dc.hpp | 11 + src/OpenSHC/Globals/DAT_00b960f4.hpp | 11 + src/OpenSHC/Globals/DAT_00b960f8.hpp | 11 + src/OpenSHC/Globals/DAT_00b96100.hpp | 11 + src/OpenSHC/Globals/DAT_00b96108.hpp | 11 + src/OpenSHC/Globals/DAT_00b9610c.hpp | 11 + src/OpenSHC/Globals/DAT_00b96110.hpp | 11 + src/OpenSHC/Globals/DAT_00b974bc.hpp | 14 + src/OpenSHC/Globals/DAT_00b9840c.hpp | 11 + src/OpenSHC/Globals/DAT_00b9841c.hpp | 11 + src/OpenSHC/Globals/DAT_00b98420.hpp | 11 + src/OpenSHC/Globals/DAT_00b98424.hpp | 11 + src/OpenSHC/Globals/DAT_00b98428.hpp | 11 + src/OpenSHC/Globals/DAT_00b9842c.hpp | 11 + src/OpenSHC/Globals/DAT_00b98430.hpp | 11 + src/OpenSHC/Globals/DAT_00b9843c.hpp | 11 + src/OpenSHC/Globals/DAT_00b98448.hpp | 11 + src/OpenSHC/Globals/DAT_00b98450.hpp | 11 + src/OpenSHC/Globals/DAT_00b98454.hpp | 11 + src/OpenSHC/Globals/DAT_00b9845c.hpp | 11 + src/OpenSHC/Globals/DAT_00b9869c.hpp | 11 + src/OpenSHC/Globals/DAT_00b986e0.hpp | 11 + src/OpenSHC/Globals/DAT_00b986f0.hpp | 11 + src/OpenSHC/Globals/DAT_00b9870c.hpp | 14 + src/OpenSHC/Globals/DAT_00df2964.hpp | 11 + src/OpenSHC/Globals/DAT_00df296c.hpp | 11 + src/OpenSHC/Globals/DAT_00df3348.hpp | 11 + src/OpenSHC/Globals/DAT_00df334c.hpp | 11 + src/OpenSHC/Globals/DAT_00df3350.hpp | 11 + src/OpenSHC/Globals/DAT_00df3374.hpp | 11 + src/OpenSHC/Globals/DAT_00df33ac.hpp | 11 + src/OpenSHC/Globals/DAT_00df423c.hpp | 11 + src/OpenSHC/Globals/DAT_00df4284.hpp | 11 + src/OpenSHC/Globals/DAT_00df42b0.hpp | 11 + src/OpenSHC/Globals/DAT_00df51f0.hpp | 11 + src/OpenSHC/Globals/DAT_00df51f8.hpp | 11 + src/OpenSHC/Globals/DAT_00df51fc.hpp | 11 + src/OpenSHC/Globals/DAT_00df5200.hpp | 11 + src/OpenSHC/Globals/DAT_00df5530.hpp | 11 + src/OpenSHC/Globals/DAT_00df5538.hpp | 11 + src/OpenSHC/Globals/DAT_00df5540.hpp | 11 + src/OpenSHC/Globals/DAT_00df5544.hpp | 11 + src/OpenSHC/Globals/DAT_00df5554.hpp | 11 + src/OpenSHC/Globals/DAT_00df5558.hpp | 11 + src/OpenSHC/Globals/DAT_00df555c.hpp | 11 + src/OpenSHC/Globals/DAT_00df5560.hpp | 11 + src/OpenSHC/Globals/DAT_00df5564.hpp | 11 + src/OpenSHC/Globals/DAT_00df556c.hpp | 11 + src/OpenSHC/Globals/DAT_00df5588.hpp | 11 + src/OpenSHC/Globals/DAT_00df558c.hpp | 11 + src/OpenSHC/Globals/DAT_00df5590.hpp | 11 + src/OpenSHC/Globals/DAT_00df5644.hpp | 11 + src/OpenSHC/Globals/DAT_00eb0b20.hpp | 11 + src/OpenSHC/Globals/DAT_00eb0b24.hpp | 11 + src/OpenSHC/Globals/DAT_00eb0e40.hpp | 11 + src/OpenSHC/Globals/DAT_00eb1234.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9af4.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9af8.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b0c.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b28.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b2c.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b30.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b34.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b38.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b3c.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b40.hpp | 11 + src/OpenSHC/Globals/DAT_00eb9b60.hpp | 11 + src/OpenSHC/Globals/DAT_00ec02f4.hpp | 14 + src/OpenSHC/Globals/DAT_00ec082c.hpp | 11 + src/OpenSHC/Globals/DAT_00ec0840.hpp | 14 + src/OpenSHC/Globals/DAT_00ed2780.hpp | 11 + src/OpenSHC/Globals/DAT_00ed2788.hpp | 11 + src/OpenSHC/Globals/DAT_00ed278c.hpp | 11 + src/OpenSHC/Globals/DAT_00ed2794.hpp | 11 + src/OpenSHC/Globals/DAT_00ed2798.hpp | 11 + src/OpenSHC/Globals/DAT_00ed27a0.hpp | 11 + src/OpenSHC/Globals/DAT_00ed27bc.hpp | 11 + src/OpenSHC/Globals/DAT_00ed2bd8.hpp | 11 + src/OpenSHC/Globals/DAT_00ed3118.hpp | 11 + src/OpenSHC/Globals/DAT_00ed3120.hpp | 11 + src/OpenSHC/Globals/DAT_00ed3124.hpp | 11 + src/OpenSHC/Globals/DAT_00ed313c.hpp | 14 + src/OpenSHC/Globals/DAT_00ed3148.hpp | 11 + src/OpenSHC/Globals/DAT_00ed314c.hpp | 11 + src/OpenSHC/Globals/DAT_00ed3154.hpp | 11 + src/OpenSHC/Globals/DAT_00ed316c.hpp | 11 + src/OpenSHC/Globals/DAT_00ed3170.hpp | 11 + src/OpenSHC/Globals/DAT_00ed317c.hpp | 11 + src/OpenSHC/Globals/DAT_00ed31a0.hpp | 11 + src/OpenSHC/Globals/DAT_00ed31d0.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0fb4.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0fd8.hpp | 12 + src/OpenSHC/Globals/DAT_00ee0fe0.hpp | 14 + src/OpenSHC/Globals/DAT_00ee0fe8.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0fec.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0ff0.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0ff4.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0ff8.hpp | 11 + src/OpenSHC/Globals/DAT_00ee0ffc.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1000.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1004.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1008.hpp | 11 + src/OpenSHC/Globals/DAT_00ee100c.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1010.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1014.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1018.hpp | 11 + src/OpenSHC/Globals/DAT_00ee101c.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1028.hpp | 11 + src/OpenSHC/Globals/DAT_00ee102c.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1030.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1034.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1090.hpp | 11 + src/OpenSHC/Globals/DAT_00ee1094.hpp | 11 + src/OpenSHC/Globals/DAT_02427470.hpp | 12 + src/OpenSHC/Globals/DAT_AICState.hpp | 14 + src/OpenSHC/Globals/DAT_AIVDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_AIVPlacementFit.hpp | 11 + src/OpenSHC/Globals/DAT_AIVState.hpp | 14 + src/OpenSHC/Globals/DAT_ARRAY_00c9a490.hpp | 11 + src/OpenSHC/Globals/DAT_ARRAY_00c9a510.hpp | 11 + src/OpenSHC/Globals/DAT_ARRAY_00d7d250.hpp | 11 + src/OpenSHC/Globals/DAT_ARRAY_00df2b78.hpp | 14 + src/OpenSHC/Globals/DAT_ARRAY_00eb9b68.hpp | 14 + src/OpenSHC/Globals/DAT_ARRAY_00ec0348.hpp | 14 + src/OpenSHC/Globals/DAT_ARRAY_00ed26d0.hpp | 14 + src/OpenSHC/Globals/DAT_AlliesCount.hpp | 11 + .../Globals/DAT_ArrayOfStoredMenuStrings.hpp | 11 + .../Globals/DAT_AttackInfoDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_BinkControlClass.hpp | 14 + src/OpenSHC/Globals/DAT_BitMapState.hpp | 14 + src/OpenSHC/Globals/DAT_BlendFilterArrays.hpp | 11 + .../Globals/DAT_BlendingDefinedData.hpp | 14 + .../DAT_BottomLeftTextDisplayState.hpp | 15 + .../Globals/DAT_BuildingDefinedData.hpp | 14 + .../Globals/DAT_BuildingSizeIndexMapping.hpp | 11 + src/OpenSHC/Globals/DAT_BuildingsState.hpp | 14 + .../DAT_ButtonBackgroundBlendStrength.hpp | 11 + .../Globals/DAT_ButtonBlendStrength.hpp | 11 + .../DAT_ButtonCurrentlyInteracting.hpp | 11 + src/OpenSHC/Globals/DAT_ButtonH.hpp | 11 + src/OpenSHC/Globals/DAT_ButtonUnknownZero.hpp | 11 + src/OpenSHC/Globals/DAT_ButtonW.hpp | 11 + src/OpenSHC/Globals/DAT_ButtonX.hpp | 11 + src/OpenSHC/Globals/DAT_ButtonY.hpp | 11 + .../DAT_CheatCodeStringTrackerIndex.hpp | 11 + .../Globals/DAT_ClickedMercUnitType.hpp | 14 + .../Globals/DAT_ClimbLogicDefinedData.hpp | 14 + .../Globals/DAT_CopyOfScenarioGold.hpp | 11 + .../DAT_CounterFoodWarningInterval.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentBuildingID.hpp | 11 + .../Globals/DAT_CurrentButtonGmDataIndex.hpp | 11 + .../Globals/DAT_CurrentButtonPictureInGm.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentEntityID.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentFramerate.hpp | 11 + .../DAT_CurrentLaddermanWalledDataID.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentMenuID_3.hpp | 11 + .../Globals/DAT_CurrentPlayerRanking.hpp | 11 + .../Globals/DAT_CurrentPlayerUnitLosses.hpp | 11 + .../DAT_CurrentPlayerUnitLossesHistory.hpp | 11 + .../Globals/DAT_CurrentResourceCoreName.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentRockID.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentTreeID.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentTribeID.hpp | 11 + src/OpenSHC/Globals/DAT_CurrentUnitSlotID.hpp | 11 + .../Globals/DAT_CurrentlyRenderedSpriteID.hpp | 11 + src/OpenSHC/Globals/DAT_DecoderState.hpp | 14 + .../Globals/DAT_DestroyedBuildingsCount.hpp | 11 + .../DAT_DestroyedBuildingsCountHistory.hpp | 11 + .../Globals/DAT_DirectionAlgorithmState.hpp | 14 + .../Globals/DAT_DisableMercPostPortraits.hpp | 11 + src/OpenSHC/Globals/DAT_EnemyArrayIndex.hpp | 11 + .../DAT_EnoughGoldForRequestedUnit.hpp | 12 + src/OpenSHC/Globals/DAT_EntityDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_EntityState.hpp | 14 + src/OpenSHC/Globals/DAT_FileDoesntExist.hpp | 14 + .../Globals/DAT_FinalResultsOrderByColumn.hpp | 11 + src/OpenSHC/Globals/DAT_GL_Counter.hpp | 11 + src/OpenSHC/Globals/DAT_GMImageHeaders.hpp | 14 + src/OpenSHC/Globals/DAT_GMImageOffsets.hpp | 11 + src/OpenSHC/Globals/DAT_GMImageSizes.hpp | 11 + src/OpenSHC/Globals/DAT_GameCore.hpp | 14 + .../Globals/DAT_GameLoopDurationBuffer.hpp | 11 + src/OpenSHC/Globals/DAT_GameLoopStopwatch.hpp | 14 + src/OpenSHC/Globals/DAT_GameState.hpp | 14 + .../Globals/DAT_GameSynchronyState.hpp | 14 + .../DAT_GmImageAddressToBeRendered.hpp | 11 + .../Globals/DAT_GreatestLordDefinedData.hpp | 14 + .../DAT_HasNoQueryPerformanceFrequency.hpp | 14 + .../Globals/DAT_HighlightedSkirmishType.hpp | 11 + src/OpenSHC/Globals/DAT_HoveredState.hpp | 14 + src/OpenSHC/Globals/DAT_HusbandID.hpp | 11 + src/OpenSHC/Globals/DAT_HusbandUnitType.hpp | 14 + src/OpenSHC/Globals/DAT_InsertKeyState.hpp | 14 + .../Globals/DAT_IntroBlendStrength.hpp | 11 + src/OpenSHC/Globals/DAT_IntroStep.hpp | 11 + src/OpenSHC/Globals/DAT_IntroTimestamp.hpp | 11 + .../Globals/DAT_IntroTransitionStep.hpp | 11 + src/OpenSHC/Globals/DAT_IsKeepEnclosed.hpp | 11 + .../Globals/DAT_KeepEnclosementCooldown.hpp | 11 + src/OpenSHC/Globals/DAT_LandscapeState.hpp | 14 + .../Globals/DAT_LastSpeechSFXFilename.hpp | 11 + .../Globals/DAT_LastTeamMemberIndex.hpp | 11 + .../Globals/DAT_LoadingBarProgress.hpp | 11 + .../DAT_LobbyAddAICurrentlyHoveredAI.hpp | 11 + src/OpenSHC/Globals/DAT_LowLevelMemory.hpp | 14 + .../Globals/DAT_MainMenuSwingSwordBool.hpp | 11 + src/OpenSHC/Globals/DAT_MapDefinedData.hpp | 14 + .../DAT_MapEditorProperties_ClickedButton.hpp | 11 + src/OpenSHC/Globals/DAT_MapMissionType.hpp | 11 + src/OpenSHC/Globals/DAT_MapNameCache.hpp | 11 + .../Globals/DAT_MapPropertiesState.hpp | 14 + .../Globals/DAT_MapRenderDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_MenuHandlerState.hpp | 14 + .../Globals/DAT_MenuModalComposition1.hpp | 14 + .../Globals/DAT_MenuModalComposition2.hpp | 14 + .../Globals/DAT_MenuModalComposition3.hpp | 14 + .../Globals/DAT_MenuTextInputState.hpp | 14 + src/OpenSHC/Globals/DAT_MenuViewStackTop.hpp | 14 + .../Globals/DAT_MenuView_TriggerPrepare.hpp | 14 + src/OpenSHC/Globals/DAT_MillisecCarry.hpp | 11 + .../Globals/DAT_MiniMapDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_MinimapViewState.hpp | 14 + .../Globals/DAT_MissingResourceState.hpp | 14 + .../DAT_MissionAestheticsDefinedData.hpp | 15 + .../Globals/DAT_MissionDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_MissionScores.hpp | 11 + .../DAT_ModalMenuArrayPointerToStackTop.hpp | 14 + src/OpenSHC/Globals/DAT_ModifierKeyState.hpp | 14 + src/OpenSHC/Globals/DAT_MouseState.hpp | 14 + .../Globals/DAT_NumberOfStoredMenuStrings.hpp | 11 + .../Globals/DAT_OrganismDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_PathFindingState.hpp | 14 + src/OpenSHC/Globals/DAT_PencilRenderCore.hpp | 14 + .../DAT_PerformanceCounterFrequency.hpp | 12 + .../DAT_PictureNumToGmIDArray_UNUSED.hpp | 11 + .../DAT_PointerToDisplayElementStackTop.hpp | 14 + .../Globals/DAT_ProtocolDefinedData.hpp | 14 + .../Globals/DAT_RenderMap_DrawSomeX.hpp | 11 + .../Globals/DAT_RenderMap_DrawSomeY.hpp | 11 + src/OpenSHC/Globals/DAT_RenderMap_ImageID.hpp | 11 + src/OpenSHC/Globals/DAT_RenderMap_YOffset.hpp | 11 + .../Globals/DAT_RenderMiniMapOrBinkFlag.hpp | 12 + src/OpenSHC/Globals/DAT_RenderRelatedX.hpp | 11 + src/OpenSHC/Globals/DAT_RenderRelatedY.hpp | 11 + src/OpenSHC/Globals/DAT_RenderedUnitOwner.hpp | 11 + .../Globals/DAT_RenderingDefinedData.hpp | 14 + .../Globals/DAT_RequestedGoodsByWhoArray.hpp | 11 + src/OpenSHC/Globals/DAT_ResourceManager.hpp | 14 + .../DAT_RotateMapOrPullDownTerrain.hpp | 11 + .../DAT_SFXAmbientEventCountersRescaled.hpp | 11 + src/OpenSHC/Globals/DAT_SFXDefinedData.hpp | 14 + .../Globals/DAT_SFXFadeDeltaAccumulator.hpp | 11 + src/OpenSHC/Globals/DAT_SFXFadeState.hpp | 14 + src/OpenSHC/Globals/DAT_SFXState.hpp | 14 + .../Globals/DAT_SFX_Interval_Campfire.hpp | 11 + .../Globals/DAT_SH1_SiegeAdvancedMode.hpp | 11 + src/OpenSHC/Globals/DAT_ScrollingHandler.hpp | 14 + .../DAT_SentOrRequestedGoodsAmount.hpp | 11 + src/OpenSHC/Globals/DAT_SettingsFileState.hpp | 14 + .../Globals/DAT_ShortcutDefinedData.hpp | 14 + .../Globals/DAT_SiegeInformationArray.hpp | 11 + .../Globals/DAT_SiegeInformationArray_2.hpp | 11 + .../Globals/DAT_SiegeRemainingPoints.hpp | 11 + src/OpenSHC/Globals/DAT_SkMasterDataEntry.hpp | 14 + .../Globals/DAT_SkMasters2DataArray.hpp | 14 + .../Globals/DAT_SkMasters2Data_Count.hpp | 11 + .../Globals/DAT_SkMasters2Data_Version.hpp | 11 + .../Globals/DAT_SkirmishDefinedData.hpp | 14 + ...SkirmishLobbySetupStructureLongMapName.hpp | 15 + .../Globals/DAT_SkirmishTrailRelated1.hpp | 11 + .../DAT_SomeTeamMemberPlayerIDArray.hpp | 11 + .../Globals/DAT_SoundEffectsHelperData1.hpp | 14 + src/OpenSHC/Globals/DAT_SpeechDefinedData.hpp | 14 + .../Globals/DAT_StopHandlingMenuItems.hpp | 11 + src/OpenSHC/Globals/DAT_StoredGameMode.hpp | 11 + .../Globals/DAT_TerrainDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_TextEditorState.hpp | 14 + .../Globals/DAT_TextInputDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_TextManagerObject.hpp | 14 + src/OpenSHC/Globals/DAT_TextRelatedTime.hpp | 12 + .../Globals/DAT_TextureRenderCoreObject.hpp | 14 + src/OpenSHC/Globals/DAT_TickRateBuffer.hpp | 11 + src/OpenSHC/Globals/DAT_TileMapState.hpp | 14 + src/OpenSHC/Globals/DAT_Time_Allies1.hpp | 11 + .../DAT_TotalUnitValueLossesEnemyHistory.hpp | 11 + src/OpenSHC/Globals/DAT_Tribe_HighestID.hpp | 11 + src/OpenSHC/Globals/DAT_TribesState.hpp | 14 + src/OpenSHC/Globals/DAT_TroopDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_TroopValueState.hpp | 14 + .../Globals/DAT_TutorialCurrentStep.hpp | 11 + .../Globals/DAT_UIButtonDefinedData.hpp | 14 + .../Globals/DAT_UIDragDropDefinedData.hpp | 14 + src/OpenSHC/Globals/DAT_UnitHasBecomeIdle.hpp | 11 + .../Globals/DAT_UnitPropertiesDefinedData.hpp | 14 + .../Globals/DAT_UnitSelectionDefinedData.hpp | 14 + .../Globals/DAT_UnitTypeRelatedCounter.hpp | 11 + .../DAT_UnitValueLossesPerEnemyPlayer.hpp | 11 + src/OpenSHC/Globals/DAT_UnitsState.hpp | 14 + src/OpenSHC/Globals/DAT_UnknownBinkCount.hpp | 11 + src/OpenSHC/Globals/DAT_UnknownBinkIndex.hpp | 11 + src/OpenSHC/Globals/DAT_UnknownGFXIndex.hpp | 11 + src/OpenSHC/Globals/DAT_UnknownStopwatch.hpp | 14 + src/OpenSHC/Globals/DAT_UnknownTime_01.hpp | 11 + .../Globals/DAT_UpdateUnitsTracker.hpp | 11 + .../Globals/DAT_UserHelpDefinedData.hpp | 14 + .../Globals/DAT_UserTextHandlerState.hpp | 14 + src/OpenSHC/Globals/DAT_VideoBikQueue.hpp | 14 + .../Globals/DAT_ViewportRenderState.hpp | 14 + src/OpenSHC/Globals/DAT_WallAndPitchState.hpp | 14 + .../Globals/DAT_WideCharMultiByteState.hpp | 14 + src/OpenSHC/Globals/DAT_WifeID.hpp | 11 + src/OpenSHC/Globals/DAT_WifeUnitType.hpp | 14 + src/OpenSHC/Globals/DAT_WildlifeState.hpp | 14 + .../Globals/DAT_WindowAndDirectDraw.hpp | 14 + src/OpenSHC/Globals/DAT_WindowInformation.hpp | 14 + .../Globals/DPLAY_CurrentSessionGUID.hpp | 12 + .../Globals/DPLAY_InterfacePointer.hpp | 14 + src/OpenSHC/Globals/DWORD_00b95b1c.hpp | 12 + src/OpenSHC/Globals/DWORD_00b98708.hpp | 12 + src/OpenSHC/Globals/DWORD_00df3364.hpp | 12 + src/OpenSHC/Globals/DWORD_00df3378.hpp | 12 + src/OpenSHC/Globals/DWORD_00df5568.hpp | 12 + src/OpenSHC/Globals/DWORD_00eb0b18.hpp | 12 + src/OpenSHC/Globals/DWORD_00eb9ac4.hpp | 11 + src/OpenSHC/Globals/DWORD_00ed27a8.hpp | 11 + src/OpenSHC/Globals/DWORD_00ed311c.hpp | 11 + src/OpenSHC/Globals/DWORD_00ed3138.hpp | 11 + src/OpenSHC/Globals/DWORD_00ee0fcc.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee0fd4.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee0fdc.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1040.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1044.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1048.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee104c.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1050.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1054.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1058.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee105c.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1060.hpp | 12 + src/OpenSHC/Globals/DWORD_00ee1064.hpp | 12 + src/OpenSHC/Globals/DWORD_0242746c.hpp | 12 + .../Globals/DWORD_KeepEnclosementTimer.hpp | 11 + .../DWORD_LatestPLayerStatusMessageTime.hpp | 11 + ...t_UnitValueLossesHistoryPerEnemyPlayer.hpp | 11 + .../Globals/DebugNumbersDisplayElement.hpp | 14 + .../Globals/FLAG_ChristmasAIMessage01to04.hpp | 12 + src/OpenSHC/Globals/FLAG_JokeAIMessage05.hpp | 12 + src/OpenSHC/Globals/FLAG_JokeAIMessage06.hpp | 12 + src/OpenSHC/Globals/FLAG_JokeAIMessage09.hpp | 12 + src/OpenSHC/Globals/FLAG_JokeAIMessage12.hpp | 12 + src/OpenSHC/Globals/FLAG_JokeAIMessage16.hpp | 12 + src/OpenSHC/Globals/FLOAT_00b986e8.hpp | 11 + src/OpenSHC/Globals/FLOAT_00b986ec.hpp | 11 + src/OpenSHC/Globals/FLOAT_00b986f8.hpp | 11 + src/OpenSHC/Globals/FLOAT_00b98704.hpp | 11 + src/OpenSHC/Globals/FLOAT_00eb0e2c.hpp | 11 + src/OpenSHC/Globals/FLOAT_00eb9b1c.hpp | 11 + src/OpenSHC/Globals/FLOAT_00eb9b24.hpp | 11 + src/OpenSHC/Globals/FLOAT_00ec0834.hpp | 11 + src/OpenSHC/Globals/FLOAT_Between1And5.hpp | 11 + .../Globals/FLOAT_Between1and0dot2.hpp | 11 + src/OpenSHC/Globals/FilePackagerObj.hpp | 14 + .../Globals/GMTotalPicturesProcessed.hpp | 11 + src/OpenSHC/Globals/GUID_CLSID_DirectPlay.hpp | 11 + .../Globals/GUID_CLSID_DirectPlayLobby.hpp | 11 + src/OpenSHC/Globals/GUID_DPAID_INet.hpp | 11 + src/OpenSHC/Globals/GUID_DPAID_Modem.hpp | 11 + src/OpenSHC/Globals/GUID_DPAID_Phone.hpp | 11 + .../Globals/GUID_DPAID_ServiceProvider.hpp | 11 + src/OpenSHC/Globals/GUID_DPSPGUID_IPX.hpp | 11 + src/OpenSHC/Globals/GUID_DPSPGUID_MODEM.hpp | 11 + src/OpenSHC/Globals/GUID_DPSPGUID_TCPIP.hpp | 11 + src/OpenSHC/Globals/GUID_IID_IDirectPlay4.hpp | 11 + .../Globals/GUID_IID_IDirectPlay4A.hpp | 11 + .../Globals/GUID_IID_IDirectPlayLobby3.hpp | 11 + src/OpenSHC/Globals/GUID_UNKNOWN.hpp | 11 + .../Globals/GamePausedTextDisplayElement.hpp | 14 + .../Globals/GameSpeedTextDisplayElement.hpp | 14 + src/OpenSHC/Globals/HLP_WCHAR_Buffer.hpp | 11 + src/OpenSHC/Globals/IID_IDirectDraw7.hpp | 11 + src/OpenSHC/Globals/INT_00b95950.hpp | 11 + src/OpenSHC/Globals/INT_00b95ab8.hpp | 11 + src/OpenSHC/Globals/INT_00b95abc.hpp | 11 + src/OpenSHC/Globals/INT_00b95b64.hpp | 11 + src/OpenSHC/Globals/INT_00b95f68.hpp | 11 + src/OpenSHC/Globals/INT_00b95f6c.hpp | 11 + src/OpenSHC/Globals/INT_00b960b0.hpp | 11 + src/OpenSHC/Globals/INT_00b960f0.hpp | 11 + src/OpenSHC/Globals/INT_00b96120.hpp | 11 + src/OpenSHC/Globals/INT_00b9844c.hpp | 11 + src/OpenSHC/Globals/INT_00b98484.hpp | 11 + src/OpenSHC/Globals/INT_00b98664.hpp | 11 + src/OpenSHC/Globals/INT_00b98698.hpp | 11 + src/OpenSHC/Globals/INT_00df2968.hpp | 11 + src/OpenSHC/Globals/INT_00df2970.hpp | 11 + src/OpenSHC/Globals/INT_00df335c.hpp | 11 + src/OpenSHC/Globals/INT_00df3368.hpp | 11 + src/OpenSHC/Globals/INT_00df5574.hpp | 11 + src/OpenSHC/Globals/INT_00df557c.hpp | 11 + src/OpenSHC/Globals/INT_00df5580.hpp | 11 + src/OpenSHC/Globals/INT_00df5584.hpp | 11 + src/OpenSHC/Globals/INT_00eb0e28.hpp | 11 + src/OpenSHC/Globals/INT_00eb0e30.hpp | 11 + src/OpenSHC/Globals/INT_00eb0e44.hpp | 11 + src/OpenSHC/Globals/INT_00eb1230.hpp | 11 + src/OpenSHC/Globals/INT_00eb9ac0.hpp | 11 + src/OpenSHC/Globals/INT_00eb9ae8.hpp | 11 + src/OpenSHC/Globals/INT_00eb9b20.hpp | 11 + src/OpenSHC/Globals/INT_00eb9b44.hpp | 11 + src/OpenSHC/Globals/INT_00eb9b48.hpp | 11 + src/OpenSHC/Globals/INT_00eb9b4c.hpp | 11 + src/OpenSHC/Globals/INT_00ec02e8.hpp | 11 + src/OpenSHC/Globals/INT_00ec0838.hpp | 11 + src/OpenSHC/Globals/INT_00ec083c.hpp | 11 + src/OpenSHC/Globals/INT_00ed2778.hpp | 11 + src/OpenSHC/Globals/INT_00ed277c.hpp | 11 + src/OpenSHC/Globals/INT_00ed27a4.hpp | 11 + src/OpenSHC/Globals/INT_00ed27b0.hpp | 11 + src/OpenSHC/Globals/INT_00ed3068.hpp | 11 + src/OpenSHC/Globals/INT_00ed3114.hpp | 11 + src/OpenSHC/Globals/INT_00ed3144.hpp | 11 + src/OpenSHC/Globals/INT_00ed315c.hpp | 11 + src/OpenSHC/Globals/INT_00ee1038.hpp | 11 + src/OpenSHC/Globals/INT_00ee2350.hpp | 11 + src/OpenSHC/Globals/INT_00ee2358.hpp | 11 + src/OpenSHC/Globals/INT_00ee235c.hpp | 11 + src/OpenSHC/Globals/INT_00ee2360.hpp | 11 + src/OpenSHC/Globals/INT_00ee236c.hpp | 11 + src/OpenSHC/Globals/INT_00ee2370.hpp | 11 + src/OpenSHC/Globals/INT_00ee2378.hpp | 11 + src/OpenSHC/Globals/INT_00ee237c.hpp | 11 + src/OpenSHC/Globals/INT_00ee2384.hpp | 11 + src/OpenSHC/Globals/INT_00ee2388.hpp | 11 + src/OpenSHC/Globals/INT_00ee238c.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00df5598.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00eb0af0.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00eb0b28.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00eb0e48.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00eb1238.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00eb96d8.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00eb9afc.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00ed2630.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00ed27f0.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00ed2be0.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00ed2fc8.hpp | 11 + src/OpenSHC/Globals/INT_ARRAY_00ed3070.hpp | 11 + .../INT_DisableTutorialRestrictions.hpp | 11 + .../Globals/INT_GameLoopTimeDataIndex.hpp | 11 + .../Globals/InGameChatDisplayElement.hpp | 14 + ...GameStartingGoodsCounterDisplayElement.hpp | 14 + .../InGameWinDefeatWindowDisplayElement.hpp | 14 + ...pAndGranaryPlacementInfoDisplayElement.hpp | 15 + src/OpenSHC/Globals/LIB_00df37e0.hpp | 11 + src/OpenSHC/Globals/LIB_00df37e4.hpp | 11 + src/OpenSHC/Globals/LIB_00df37e8.hpp | 11 + src/OpenSHC/Globals/LIB_00df37ec.hpp | 11 + src/OpenSHC/Globals/MSVC_SecurityCookie.hpp | 11 + .../Globals/MSVC_SecurityCookie_Inverse.hpp | 11 + .../Globals/MenuModa_TacticalPowerBar.hpp | 14 + src/OpenSHC/Globals/MenuModal_Allies.hpp | 14 + src/OpenSHC/Globals/MenuModal_AlliesOrder.hpp | 14 + .../Globals/MenuModal_AlliesRequestGoods.hpp | 14 + .../Globals/MenuModal_AlliesSendGoods.hpp | 14 + .../Globals/MenuModal_BasicAiLordSelect.hpp | 14 + .../MenuModal_BuildingAvailability.hpp | 14 + .../Globals/MenuModal_BuildingHelpText.hpp | 14 + src/OpenSHC/Globals/MenuModal_Chat.hpp | 14 + ...MenuModal_ChooseNetworkServiceProvider.hpp | 14 + .../MenuModal_ChooseRandomNumberOfEnemies.hpp | 14 + .../Globals/MenuModal_CreditsScroll.hpp | 14 + .../Globals/MenuModal_DebugDataAiInfo.hpp | 14 + .../MenuModal_DebugDataAivStateUnk.hpp | 14 + .../MenuModal_DebugDataCurrentPlayerData.hpp | 14 + .../Globals/MenuModal_DebugDataMapData.hpp | 14 + .../MenuModal_DebugDataMousePointing.hpp | 14 + .../Globals/MenuModal_DebugDataNetwork.hpp | 14 + .../Globals/MenuModal_DebugDataSplitInfo.hpp | 14 + .../Globals/MenuModal_DebugDataUnitData.hpp | 14 + .../MenuModal_DebugDataZoneDataUnk.hpp | 14 + .../Globals/MenuModal_DeleteGameRecord.hpp | 14 + .../Globals/MenuModal_DisableArabTroops.hpp | 14 + .../Globals/MenuModal_DisableEuroTroops.hpp | 14 + .../Globals/MenuModal_DisableWeapon.hpp | 14 + .../MenuModal_DisplayAiLordMessage.hpp | 14 + .../MenuModal_DisplayScenarioHelpText.hpp | 14 + .../MenuModal_EditorMapTypeQuickChange.hpp | 14 + .../MenuModal_EnterTitleOnGameStart.hpp | 14 + .../MenuModal_ExtendedAiLordSelect.hpp | 14 + .../MenuModal_FindingNetworkSessions.hpp | 14 + .../Globals/MenuModal_GameplayOptions.hpp | 14 + .../Globals/MenuModal_GreatestLord.hpp | 14 + .../Globals/MenuModal_IdentityOptions.hpp | 14 + .../Globals/MenuModal_InGameHelpText.hpp | 14 + src/OpenSHC/Globals/MenuModal_LoadMap.hpp | 14 + .../Globals/MenuModal_MainMenuOptions.hpp | 14 + .../MenuModal_MapDescriptionEditor.hpp | 14 + .../Globals/MenuModal_NetworkOptions.hpp | 14 + src/OpenSHC/Globals/MenuModal_NewEvent.hpp | 14 + .../Globals/MenuModal_NewEventAction.hpp | 14 + .../Globals/MenuModal_NewEventCondition.hpp | 14 + src/OpenSHC/Globals/MenuModal_NewInvasion.hpp | 14 + .../Globals/MenuModal_OnlineQuitGame.hpp | 14 + .../Globals/MenuModal_OnlineVoteQuitGame.hpp | 14 + .../Globals/MenuModal_OverlaySlider.hpp | 14 + src/OpenSHC/Globals/MenuModal_PauseMenu.hpp | 14 + .../Globals/MenuModal_PauseMenuOptions.hpp | 14 + .../Globals/MenuModal_ProgressBarBox.hpp | 14 + src/OpenSHC/Globals/MenuModal_QuitDialog.hpp | 14 + .../Globals/MenuModal_ReceiveMapFrom.hpp | 14 + src/OpenSHC/Globals/MenuModal_Roundtable.hpp | 14 + src/OpenSHC/Globals/MenuModal_SaveMap.hpp | 14 + src/OpenSHC/Globals/MenuModal_SendMapTo.hpp | 14 + .../MenuModal_SkirmishConnectionOptions.hpp | 14 + .../Globals/MenuModal_SkirmishPlayOptions.hpp | 14 + .../Globals/MenuModal_SoundOptions.hpp | 14 + src/OpenSHC/Globals/MenuModal_StartGoods.hpp | 14 + .../Globals/MenuModal_TraderSettings.hpp | 14 + .../Globals/MenuModal_TriggerEvent.hpp | 14 + .../MenuModal_TriggerEventOrInvasion.hpp | 14 + .../Globals/MenuModal_TriggerEventSlider.hpp | 14 + .../Globals/MenuModal_TriggerInvasion.hpp | 14 + src/OpenSHC/Globals/MenuModal_TutorialBox.hpp | 14 + .../MenuModal_TutorialBoxWithLeave.hpp | 14 + .../MenuModal_UnusedChooseMessageBox.hpp | 14 + .../MenuModal_UnusedCreateMessageEvent.hpp | 14 + ...enuModal_UnusedCreateTimedMessageEvent.hpp | 14 + .../Globals/MenuModal_UnusedSetName.hpp | 14 + ...MenuModal_UnusedSiegeAttackingForceUnk.hpp | 14 + .../Globals/MenuModal_UnusedWinCondition.hpp | 14 + .../Globals/MenuModal_VideoOptions.hpp | 14 + .../Globals/MenuModal_WaitingForHost.hpp | 14 + src/OpenSHC/Globals/MenuModal_YesNoDialog.hpp | 14 + src/OpenSHC/Globals/MenuView_BuildMenu.hpp | 14 + .../MenuView_BuildingAndStatusMenu.hpp | 14 + src/OpenSHC/Globals/MenuView_CampaignUnk.hpp | 14 + src/OpenSHC/Globals/MenuView_Credits.hpp | 14 + .../Globals/MenuView_CrusadeEndscreen.hpp | 14 + src/OpenSHC/Globals/MenuView_CrusadeMap.hpp | 14 + .../Globals/MenuView_CrusadeMissionIntro.hpp | 14 + .../Globals/MenuView_CustomScenarios.hpp | 14 + src/OpenSHC/Globals/MenuView_EditScenario.hpp | 14 + src/OpenSHC/Globals/MenuView_GameLost.hpp | 14 + .../Globals/MenuView_GameStartEnterName.hpp | 14 + .../MenuView_HistoricCampaignIntro.hpp | 14 + .../MenuView_HistoricCampaignOutro.hpp | 14 + .../MenuView_HistoricCampaignSelect.hpp | 14 + .../Globals/MenuView_HistoricMissionIntro.hpp | 14 + .../MenuView_HistoricMissionPicture.hpp | 14 + .../MenuView_HistoricMissionSelect.hpp | 14 + src/OpenSHC/Globals/MenuView_IntroLogos.hpp | 14 + src/OpenSHC/Globals/MenuView_IntroVideo.hpp | 14 + src/OpenSHC/Globals/MenuView_LobbyMenu.hpp | 14 + src/OpenSHC/Globals/MenuView_MainMenu.hpp | 14 + .../Globals/MenuView_MapEditorLandscaping.hpp | 14 + .../Globals/MenuView_MapEditorProperties.hpp | 14 + .../MenuView_MissionFinishedTransition.hpp | 14 + src/OpenSHC/Globals/MenuView_MpConnection.hpp | 14 + .../Globals/MenuView_NewMapMapsize.hpp | 14 + .../Globals/MenuView_NewMapMaptype.hpp | 14 + src/OpenSHC/Globals/MenuView_RankingGames.hpp | 14 + .../Globals/MenuView_ScenarioDescription.hpp | 14 + .../Globals/MenuView_SelectCrusade.hpp | 14 + .../MenuView_SingleplayerMapChoice.hpp | 14 + src/OpenSHC/Globals/MenuView_Unknown21.hpp | 14 + .../MenuView_Unknown26_CampaignRelatedUnk.hpp | 14 + src/OpenSHC/Globals/MenuView_Unknown33.hpp | 14 + .../MenuView_Unknown49DoesNothingUnk.hpp | 14 + ...uView_Unknown61ReturnToSkrimishMenuUnk.hpp | 14 + .../MenuView_UnusedChooseAvailableKeeps.hpp | 14 + .../Globals/MenuView_UnusedChooseGameType.hpp | 14 + .../Globals/MenuView_UnusedCreateSiege.hpp | 14 + .../MenuView_UnusedDemoBuyItScreen.hpp | 14 + .../MenuView_UnusedEconomicGametypeSelect.hpp | 14 + .../MenuView_UnusedEconomicMissionSelect.hpp | 14 + .../Globals/MenuView_UnusedExtremeAd.hpp | 14 + .../Globals/MenuView_UnusedHelpTextEditor.hpp | 14 + .../Globals/MenuView_UnusedOldTitleMenu.hpp | 14 + ...View_UnusedSelectRandomNumberOfEnemies.hpp | 14 + .../MenuView_UnusedSomeMissionStartUnk.hpp | 14 + src/OpenSHC/Globals/Menu_Allies.hpp | 14 + src/OpenSHC/Globals/Menu_AlliesOrder.hpp | 14 + .../Globals/Menu_AlliesRequestGoods.hpp | 14 + src/OpenSHC/Globals/Menu_AlliesSendGoods.hpp | 14 + .../Globals/Menu_BasicAiLordSelect.hpp | 14 + src/OpenSHC/Globals/Menu_BuildMenu.hpp | 14 + .../Globals/Menu_BuildingAndStatusMenu.hpp | 14 + .../Globals/Menu_BuildingAvailability.hpp | 14 + src/OpenSHC/Globals/Menu_BuildingHelpText.hpp | 14 + src/OpenSHC/Globals/Menu_Chat.hpp | 14 + .../Menu_ChooseNetworkServiceProvider.hpp | 14 + .../Menu_ChooseRandomNumberOfEnemies.hpp | 14 + src/OpenSHC/Globals/Menu_Credits.hpp | 14 + src/OpenSHC/Globals/Menu_CrusadeEndscreen.hpp | 14 + src/OpenSHC/Globals/Menu_CrusadeMap.hpp | 14 + .../Globals/Menu_CrusadeMissionIntro.hpp | 14 + src/OpenSHC/Globals/Menu_CustomScenarios.hpp | 14 + src/OpenSHC/Globals/Menu_DebugModals.hpp | 14 + src/OpenSHC/Globals/Menu_DeleteGameRecord.hpp | 14 + .../Globals/Menu_DisableArabTroops.hpp | 14 + .../Globals/Menu_DisableEuroTroops.hpp | 14 + src/OpenSHC/Globals/Menu_DisableWeapon.hpp | 14 + .../Globals/Menu_DisplayAiLordMessage.hpp | 14 + .../Globals/Menu_DisplayScenarioHelpText.hpp | 14 + src/OpenSHC/Globals/Menu_EditScenario.hpp | 14 + .../Globals/Menu_EditorMapTypeQuickChange.hpp | 14 + src/OpenSHC/Globals/Menu_Empty10.hpp | 14 + src/OpenSHC/Globals/Menu_Empty11.hpp | 14 + .../Globals/Menu_EnterTitleOnGameStart.hpp | 14 + .../Globals/Menu_ExtendedAiLordSelect.hpp | 14 + .../Globals/Menu_FindingNetworkSessions.hpp | 14 + src/OpenSHC/Globals/Menu_GameLostUnk.hpp | 14 + src/OpenSHC/Globals/Menu_GameplayOptions.hpp | 14 + src/OpenSHC/Globals/Menu_GreatestLord.hpp | 14 + ...HistoricCampaignIntroAndMissionPicture.hpp | 14 + ...u_HistoricCampaignOutroAndMissionIntro.hpp | 14 + .../Globals/Menu_HistoricCampaignSelect.hpp | 14 + .../Globals/Menu_HistoricMissionSelect.hpp | 14 + src/OpenSHC/Globals/Menu_IdentityOptions.hpp | 14 + src/OpenSHC/Globals/Menu_InGameHelpText.hpp | 14 + src/OpenSHC/Globals/Menu_IntroLogos.hpp | 14 + src/OpenSHC/Globals/Menu_IntroVideo.hpp | 14 + src/OpenSHC/Globals/Menu_LoadMap.hpp | 14 + src/OpenSHC/Globals/Menu_LobbyMenu.hpp | 14 + src/OpenSHC/Globals/Menu_MainMenu.hpp | 14 + src/OpenSHC/Globals/Menu_MainMenuOptions.hpp | 14 + .../Globals/Menu_MapDescriptionEditor.hpp | 14 + .../Globals/Menu_MapEditorLandscaping.hpp | 14 + .../Globals/Menu_MapEditorProperties.hpp | 14 + .../Menu_MissionFinishedTransition.hpp | 14 + src/OpenSHC/Globals/Menu_NetworkOptions.hpp | 14 + src/OpenSHC/Globals/Menu_NewEvent.hpp | 14 + src/OpenSHC/Globals/Menu_NewEventAction.hpp | 14 + .../Globals/Menu_NewEventCondition.hpp | 14 + src/OpenSHC/Globals/Menu_NewInvasion.hpp | 14 + src/OpenSHC/Globals/Menu_NewMapMapsize.hpp | 14 + src/OpenSHC/Globals/Menu_NewMapMaptype.hpp | 14 + src/OpenSHC/Globals/Menu_OnlineQuitGame.hpp | 14 + .../Globals/Menu_OnlineVoteQuitGame.hpp | 14 + src/OpenSHC/Globals/Menu_OverlaySlider.hpp | 14 + src/OpenSHC/Globals/Menu_PauseMenu.hpp | 14 + src/OpenSHC/Globals/Menu_PauseMenuOptions.hpp | 14 + src/OpenSHC/Globals/Menu_ProgressBarBox.hpp | 14 + src/OpenSHC/Globals/Menu_QuitDialog.hpp | 14 + src/OpenSHC/Globals/Menu_RankingGames.hpp | 14 + src/OpenSHC/Globals/Menu_ReceiveMapFrom.hpp | 14 + src/OpenSHC/Globals/Menu_Roundtable.hpp | 14 + src/OpenSHC/Globals/Menu_SaveMap.hpp | 14 + .../Globals/Menu_ScenarioDescription.hpp | 14 + src/OpenSHC/Globals/Menu_SelectCrusade.hpp | 14 + src/OpenSHC/Globals/Menu_SendMapTo.hpp | 14 + .../Globals/Menu_SingleplayerMapChoice.hpp | 14 + .../Menu_SkirmishConnectionOptions.hpp | 14 + .../Globals/Menu_SkirmishPlayOptions.hpp | 14 + src/OpenSHC/Globals/Menu_SoundOptions.hpp | 14 + src/OpenSHC/Globals/Menu_StartEnterName.hpp | 14 + src/OpenSHC/Globals/Menu_StartGoods.hpp | 14 + src/OpenSHC/Globals/Menu_TacticalPowerBar.hpp | 14 + src/OpenSHC/Globals/Menu_TraderSettings.hpp | 14 + src/OpenSHC/Globals/Menu_TriggerEvent.hpp | 14 + .../Globals/Menu_TriggerEventOrInvasion.hpp | 14 + .../Globals/Menu_TriggerEventSlider.hpp | 14 + src/OpenSHC/Globals/Menu_TriggerInvasion.hpp | 14 + src/OpenSHC/Globals/Menu_TutorialBox.hpp | 14 + .../Globals/Menu_TutorialBoxWithLeave.hpp | 14 + .../Menu_Unknown26CampaignRelatedUnk.hpp | 14 + .../Globals/Menu_Unknown27CampaignUnk.hpp | 14 + .../Globals/Menu_Unknown_ManyThings.hpp | 14 + .../Menu_UnusedChooseAvailableKeeps.hpp | 14 + .../Globals/Menu_UnusedChooseGameType.hpp | 14 + .../Globals/Menu_UnusedChooseMessageBox.hpp | 14 + .../Globals/Menu_UnusedCreateMessageEvent.hpp | 14 + .../Globals/Menu_UnusedCreateSiege.hpp | 14 + .../Menu_UnusedCreateTimedMessageEvent.hpp | 14 + .../Globals/Menu_UnusedDemoBuyItScreen.hpp | 14 + .../Menu_UnusedEconomicGametypeSelect.hpp | 14 + .../Menu_UnusedEconomicMissionSelect.hpp | 14 + src/OpenSHC/Globals/Menu_UnusedExtremeAd.hpp | 14 + .../Globals/Menu_UnusedHelpTextEditor.hpp | 14 + .../Globals/Menu_UnusedOldTitleMenu.hpp | 14 + ...Menu_UnusedSelectRandomNumberOfEnemies.hpp | 14 + src/OpenSHC/Globals/Menu_UnusedSetName.hpp | 14 + .../Menu_UnusedSiegeAttackingForceUnk.hpp | 14 + .../Menu_UnusedSomeMissionStartUnk.hpp | 14 + .../Globals/Menu_UnusedWinCondition.hpp | 14 + src/OpenSHC/Globals/Menu_VideoOptions.hpp | 14 + src/OpenSHC/Globals/Menu_WaitingForHost.hpp | 14 + src/OpenSHC/Globals/Menu_YesNoDialog.hpp | 14 + .../MissionWinDefeatBannerDisplayElement.hpp | 14 + .../Globals/NoRushDisplayElementUnk.hpp | 14 + .../NoTreeGrowthTextDisplayElement.hpp | 14 + .../PTR_ARRAY_Unknown_UnitGMHeights.hpp | 11 + .../Globals/PTR_SetWindowLongAThunk.hpp | 12 + .../PeopleLeftToPlaceDisplayElement.hpp | 14 + .../PlayerInfoOnHoverDisplayElement.hpp | 14 + .../Globals/PlayerPingUnkDisplayElement22.hpp | 14 + .../ResourceMissing1DisplayElement.hpp | 14 + .../ResourceMissing2DisplayElement.hpp | 14 + src/OpenSHC/Globals/SEC_RNG.hpp | 14 + .../SEC_SkirmishLobbySetupStructure.hpp | 15 + src/OpenSHC/Globals/SND_SoundSystemObj.hpp | 14 + .../SomeMissionNumberUnkDisplayElement9.hpp | 14 + ...SomeMultiplayerInfoUnkDisplayElement19.hpp | 14 + ...SomeMultiplayerInfoUnkDisplayElement28.hpp | 14 + src/OpenSHC/Globals/TIME_2.hpp | 11 + .../TIME_ClickedMercUnitTypeMoment.hpp | 12 + .../Globals/TIME_EnumerateSessionsMoment.hpp | 12 + src/OpenSHC/Globals/TIME_IdentityOptions.hpp | 12 + .../Globals/TIME_IntroVideo_Prepare.hpp | 12 + .../Globals/TIME_LastGhostSoundMoment.hpp | 12 + .../TIME_LastVisualLoadingBarUpdate.hpp | 11 + src/OpenSHC/Globals/TIME_LoadSaveBar.hpp | 12 + src/OpenSHC/Globals/TIME_MercPostAudio.hpp | 12 + src/OpenSHC/Globals/TIME_PreviousClick.hpp | 12 + src/OpenSHC/Globals/TIME_PreviousQuery.hpp | 11 + src/OpenSHC/Globals/TIME_QueryMargin.hpp | 11 + .../Globals/TIME_ReceivedMessage_1.hpp | 11 + .../Globals/TIME_ReceivedMessage_2.hpp | 11 + src/OpenSHC/Globals/TIME_Sum_1.hpp | 11 + src/OpenSHC/Globals/TUT_RotateMapHappened.hpp | 11 + .../Globals/TimeUntilDefeatDisplayElement.hpp | 14 + .../TimeUntilVictoryDisplayElement.hpp | 14 + src/OpenSHC/Globals/UI_MissionModeIntent.hpp | 14 + .../Globals/UI_NetworkSessionsShadeLogic.hpp | 11 + .../Globals/UNK_UnknownClassLocation2.hpp | 11 + .../Globals/UNK_UnusedClass1Location.hpp | 11 + .../Globals/UNK_UnusedTextLocation1.hpp | 11 + src/OpenSHC/Globals/UNK_Unused_00b9578c.hpp | 11 + src/OpenSHC/Globals/UNK_Unused_00df3d2c.hpp | 11 + .../Globals/UnknownDisplayElement0.hpp | 14 + .../Globals/UnknownDisplayElement18.hpp | 14 + .../Globals/UnknownDisplayElement25.hpp | 14 + .../Globals/UnknownDisplayElement7.hpp | 14 + src/OpenSHC/IO.func.hpp | 38 + src/OpenSHC/IO.hpp | 27 + src/OpenSHC/IO/Base64State.hpp | 24 + src/OpenSHC/IO/BitMapState.func.hpp | 44 + src/OpenSHC/IO/BitMapState.hpp | 76 + src/OpenSHC/IO/DecoderBuffer.func.hpp | 26 + src/OpenSHC/IO/DecoderBuffer.hpp | 21 + src/OpenSHC/IO/DecoderState.func.hpp | 39 + src/OpenSHC/IO/DecoderState.hpp | 57 + src/OpenSHC/IO/DirectoryStructNew.hpp | 38 + src/OpenSHC/IO/DirectoryStructOld.hpp | 38 + src/OpenSHC/IO/FilePackager.func.hpp | 43 + src/OpenSHC/IO/FilePackager.hpp | 75 + src/OpenSHC/IO/FileResourceType.hpp | 30 + src/OpenSHC/IO/FileResourceTypeInt.hpp | 16 + src/OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp | 35 + .../IO/Graphics/GMFileHeaderColorpalette.hpp | 50 + src/OpenSHC/IO/Graphics/GfxRef.hpp | 27 + src/OpenSHC/IO/Graphics/GmID.hpp | 225 ++ src/OpenSHC/IO/Graphics/GmIDInt.hpp | 18 + src/OpenSHC/IO/Graphics/GmImageType.hpp | 26 + src/OpenSHC/IO/Graphics/GmImageTypeInt.hpp | 18 + src/OpenSHC/IO/Graphics/ImageHeader.hpp | 33 + src/OpenSHC/IO/Graphics/TgxToken.hpp | 25 + src/OpenSHC/IO/Graphics/TgxTokenByte.hpp | 18 + src/OpenSHC/IO/Helpers/Buffer.hpp | 26 + src/OpenSHC/IO/Helpers/BufferHelper.hpp | 36 + .../IO/Helpers/OPENFILENAMEA_Truncated.hpp | 47 + src/OpenSHC/IO/LowLevelMemory.func.hpp | 80 + src/OpenSHC/IO/LowLevelMemory.hpp | 75 + src/OpenSHC/IO/PackagedFileMagicNum.hpp | 18 + src/OpenSHC/IO/PackagedFileMagicNumInt.hpp | 16 + src/OpenSHC/IO/ResourceManager.func.hpp | 148 ++ src/OpenSHC/IO/ResourceManager.hpp | 135 + src/OpenSHC/IO/SettingsFileState.func.hpp | 28 + src/OpenSHC/IO/SettingsFileState.hpp | 42 + src/OpenSHC/IO/SkMasterDataEntry.hpp | 39 + src/OpenSHC/Input.func.hpp | 17 + src/OpenSHC/Input.hpp | 14 + src/OpenSHC/Input/InsertKeyState.func.hpp | 12 + src/OpenSHC/Input/InsertKeyState.hpp | 38 + src/OpenSHC/Input/ModifierKeyState.func.hpp | 16 + src/OpenSHC/Input/ModifierKeyState.hpp | 44 + .../Input/Mouse/ClickTypeBitMaskEnum.hpp | 25 + .../Input/Mouse/ClickTypeBitMaskEnumByte.hpp | 18 + .../Input/Mouse/MouseClickInteraction.hpp | 26 + .../Input/Mouse/MouseClickInteractionInt.hpp | 18 + src/OpenSHC/Input/Mouse/MouseXYUUStruct.hpp | 27 + src/OpenSHC/Input/MouseState.func.hpp | 82 + src/OpenSHC/Input/MouseState.hpp | 199 ++ src/OpenSHC/Map.func.hpp | 25 + src/OpenSHC/Map.hpp | 19 + src/OpenSHC/Map/AnimationFrameData.hpp | 438 ++++ src/OpenSHC/Map/AttackInfo.hpp | 194 ++ src/OpenSHC/Map/AttackInfoPitchRelated.hpp | 23 + src/OpenSHC/Map/AttackInfoSize16.hpp | 25 + .../Map/AttackInfoSomeArrayElement.hpp | 25 + .../Map/AttackInfoSubArrayElement1.hpp | 25 + .../Map/AttackInfoSubArrayElement2.hpp | 25 + .../Map/AttackInfoSubArrayElement3.hpp | 29 + src/OpenSHC/Map/AttackInfoSubElement.hpp | 66 + src/OpenSHC/Map/Buildings/Building.hpp | 292 +++ .../Map/Buildings/BuildingCostResource.hpp | 24 + .../Buildings/BuildingCostResourceByte.hpp | 18 + .../Map/Buildings/BuildingCostStruct.hpp | 28 + .../Map/Buildings/BuildingDefinedData.hpp | 282 +++ .../Map/Buildings/BuildingFailReasonEnum.hpp | 21 + .../Buildings/BuildingFailReasonEnumInt.hpp | 18 + .../Map/Buildings/BuildingLogicalState.hpp | 21 + .../Buildings/BuildingLogicalStateShort.hpp | 18 + src/OpenSHC/Map/Buildings/BuildingType.hpp | 128 + src/OpenSHC/Map/Buildings/BuildingTypeInt.hpp | 18 + .../Map/Buildings/BuildingTypeShort.hpp | 18 + .../Map/Buildings/BuildingType_jtde.hpp | 128 + .../Map/Buildings/BuildingType_jtdeShort.hpp | 18 + .../Map/Buildings/BuildingsState.func.hpp | 687 ++++++ src/OpenSHC/Map/Buildings/BuildingsState.hpp | 433 ++++ .../WheatFarm/WheatFarmFieldSpec.hpp | 31 + src/OpenSHC/Map/ClimbData.hpp | 143 ++ src/OpenSHC/Map/Entities.func.hpp | 123 + src/OpenSHC/Map/Entities.hpp | 68 + src/OpenSHC/Map/Entities/Entity.hpp | 122 + .../Map/Entities/EntityDefinedData.hpp | 70 + src/OpenSHC/Map/Entities/EntityState.func.hpp | 206 ++ src/OpenSHC/Map/Entities/EntityState.hpp | 155 ++ src/OpenSHC/Map/Entities/EntityType.hpp | 43 + src/OpenSHC/Map/Entities/EntityTypeInt.hpp | 18 + src/OpenSHC/Map/Entities/EntityTypeShort.hpp | 18 + src/OpenSHC/Map/Entities/ExtraEntityInfo.hpp | 72 + src/OpenSHC/Map/Floaters/Floater.hpp | 34 + src/OpenSHC/Map/GFX/UnkBytePair.hpp | 25 + src/OpenSHC/Map/HeatMap1114.hpp | 54 + src/OpenSHC/Map/LandscapeState.func.hpp | 136 ++ src/OpenSHC/Map/LandscapeState.hpp | 122 + src/OpenSHC/Map/Location/Point4ShortXY.hpp | 25 + src/OpenSHC/Map/Location/Point8.hpp | 31 + src/OpenSHC/Map/Location/Point8IntXY.hpp | 25 + src/OpenSHC/Map/Location/Point8ShortXY.hpp | 27 + src/OpenSHC/Map/LogicHelpers/Logic1.hpp | 51 + src/OpenSHC/Map/LogicHelpers/Logic1Flags.hpp | 20 + src/OpenSHC/Map/LogicHelpers/Logic1Int.hpp | 18 + src/OpenSHC/Map/LogicHelpers/Logic2.hpp | 29 + src/OpenSHC/Map/LogicHelpers/Logic2Flags.hpp | 20 + src/OpenSHC/Map/LogicHelpers/Logic2Int.hpp | 18 + src/OpenSHC/Map/MapColorRelatedStructure1.hpp | 23 + src/OpenSHC/Map/MapConstants.hpp | 20 + src/OpenSHC/Map/MapDefinedData.hpp | 28 + .../Map/MapHeaderSection4IntStruct.hpp | 26 + src/OpenSHC/Map/MapLockState.hpp | 20 + src/OpenSHC/Map/MapLockStateInt.hpp | 16 + src/OpenSHC/Map/MapMetaInfo.hpp | 30 + src/OpenSHC/Map/MapPropertiesState.func.hpp | 141 ++ src/OpenSHC/Map/MapPropertiesState.hpp | 255 ++ src/OpenSHC/Map/MapSectionAddress.hpp | 26 + src/OpenSHC/Map/MapType2.hpp | 21 + src/OpenSHC/Map/MapType2Int.hpp | 16 + .../Map/Matrices/TranslationMatrixTriplet.hpp | 26 + src/OpenSHC/Map/Moat.hpp | 31 + src/OpenSHC/Map/Navigation.func.hpp | 19 + src/OpenSHC/Map/Navigation.hpp | 16 + .../Map/Navigation/Algorithms/XYPair.hpp | 27 + .../Navigation/Algorithms/XYTileObject.hpp | 29 + src/OpenSHC/Map/Navigation/AreaPairInt.hpp | 25 + .../DirectionAlgorithmState.func.hpp | 50 + .../Navigation/DirectionAlgorithmState.hpp | 62 + .../Map/Navigation/PathFindingState.func.hpp | 472 ++++ .../Map/Navigation/PathFindingState.hpp | 345 +++ .../Map/Navigation/PathFindingStatePartB.hpp | 45 + src/OpenSHC/Map/Navigation/PathHelper12.hpp | 26 + src/OpenSHC/Map/OrganismDefinedData.hpp | 59 + src/OpenSHC/Map/PitchDitch.hpp | 29 + src/OpenSHC/Map/Rocks.func.hpp | 79 + src/OpenSHC/Map/Rocks.hpp | 46 + src/OpenSHC/Map/Rocks/Rock.hpp | 34 + src/OpenSHC/Map/TerrainDefinedData.hpp | 101 + src/OpenSHC/Map/TileMapState.func.hpp | 761 ++++++ src/OpenSHC/Map/TileMapState.hpp | 648 +++++ src/OpenSHC/Map/Trees.func.hpp | 43 + src/OpenSHC/Map/Trees.hpp | 28 + src/OpenSHC/Map/Trees/Tree.hpp | 75 + src/OpenSHC/Map/Trees/TreeType.hpp | 21 + src/OpenSHC/Map/Trees/TreeTypeInt.hpp | 18 + src/OpenSHC/Map/Trees/TreeTypeShort.hpp | 18 + src/OpenSHC/Map/Units.func.hpp | 19 + src/OpenSHC/Map/Units.hpp | 16 + .../Units/Attack/TribeSizesPerTribeType.hpp | 65 + .../Map/Units/Behavior/TargetingType.hpp | 22 + .../Map/Units/Behavior/TargetingTypeShort.hpp | 20 + .../Map/Units/Behavior/UnitStanceEnum.hpp | 24 + .../Units/Behavior/UnitStanceEnumShort.hpp | 20 + .../Units/Climbing/ClimbLogicDefinedData.hpp | 44 + .../Map/Units/EngineerSiegeEngineMapping.hpp | 35 + .../Map/Units/EuroRecruitableState.hpp | 26 + .../Map/Units/EuroRecruitableStateInt.hpp | 18 + .../MatchSpeedInstructionEnum.hpp | 23 + .../MatchSpeedInstructionEnumInt.hpp | 20 + .../Units/Instructions/UnitMatchSpeedEnum.hpp | 23 + .../Instructions/UnitMatchSpeedEnumInt.hpp | 20 + .../Pathfinding/DestinationNeededEnum.hpp | 25 + .../DestinationNeededEnumShort.hpp | 20 + .../Map/Units/SomeTribeBehaviorType.hpp | 72 + .../Map/Units/SomeTribeBehaviorTypeInt.hpp | 18 + .../Map/Units/SomeTribeBehaviorTypeShort.hpp | 18 + src/OpenSHC/Map/Units/States/UnitState.hpp | 49 + src/OpenSHC/Map/Units/States/UnitStateInt.hpp | 20 + .../Map/Units/States/UnitStateShort.hpp | 20 + .../Map/Units/States/UnitStateUnion.hpp | 75 + .../Units/States/UnitState_AppleFarmer.hpp | 30 + .../States/UnitState_AppleFarmerShort.hpp | 20 + .../Units/States/UnitState_ArabianArcher.hpp | 22 + .../States/UnitState_ArabianArcherShort.hpp | 20 + .../Map/Units/States/UnitState_DogUnit.hpp | 24 + .../Units/States/UnitState_DogUnitShort.hpp | 20 + .../Units/States/UnitState_FireThrower.hpp | 25 + .../States/UnitState_FireThrowerShort.hpp | 20 + .../Map/Units/States/UnitState_Fletcher.hpp | 31 + .../Units/States/UnitState_FletcherShort.hpp | 20 + .../Units/States/UnitState_HorseArcher.hpp | 25 + .../States/UnitState_HorseArcherShort.hpp | 20 + .../Map/Units/States/UnitState_Miller.hpp | 25 + .../Units/States/UnitState_MillerShort.hpp | 20 + .../Map/Units/States/UnitState_OxState.hpp | 25 + .../Units/States/UnitState_OxStateShort.hpp | 20 + .../Map/Units/States/UnitState_Peasant.hpp | 23 + .../Map/Units/States/UnitState_PeasantInt.hpp | 20 + .../Units/States/UnitState_PeasantShort.hpp | 20 + .../Map/Units/States/UnitState_PitchMan.hpp | 27 + .../Units/States/UnitState_PitchManShort.hpp | 20 + .../Units/States/UnitState_QuarryMason.hpp | 24 + .../States/UnitState_QuarryMasonShort.hpp | 20 + .../Units/States/UnitState_SlingerUnit.hpp | 23 + .../Units/States/UnitState_SlingerUnitInt.hpp | 20 + .../States/UnitState_SlingerUnitShort.hpp | 20 + .../Map/Units/States/UnitState_Tunneler.hpp | 32 + .../Units/States/UnitState_TunnelerShort.hpp | 20 + .../Map/Units/States/WheatFarmerStateEnum.hpp | 33 + .../States/WheatFarmerStateEnumShort.hpp | 20 + .../Map/Units/States/WoodcutterStateEnum.hpp | 33 + .../Units/States/WoodcutterStateEnumShort.hpp | 20 + src/OpenSHC/Map/Units/Tribe.hpp | 135 + src/OpenSHC/Map/Units/TribesState.func.hpp | 480 ++++ src/OpenSHC/Map/Units/TribesState.hpp | 312 +++ .../Map/Units/TroopValueState.func.hpp | 415 ++++ src/OpenSHC/Map/Units/TroopValueState.hpp | 257 ++ src/OpenSHC/Map/Units/Unit.hpp | 339 +++ .../Map/Units/UnitIDMovementDistancePair.hpp | 25 + src/OpenSHC/Map/Units/UnitInstructionType.hpp | 36 + .../Map/Units/UnitInstructionTypeInt.hpp | 18 + .../Map/Units/UnitInstructionTypeShort.hpp | 18 + src/OpenSHC/Map/Units/UnitLogicState.hpp | 23 + src/OpenSHC/Map/Units/UnitLogicStateShort.hpp | 18 + .../Map/Units/UnitPropertiesDefinedData.hpp | 81 + src/OpenSHC/Map/Units/UnitStartupType.hpp | 39 + src/OpenSHC/Map/Units/UnitStartupTypeByte.hpp | 18 + src/OpenSHC/Map/Units/UnitType.hpp | 101 + src/OpenSHC/Map/Units/UnitTypeInt.hpp | 18 + src/OpenSHC/Map/Units/UnitTypeShort.hpp | 18 + src/OpenSHC/Map/Units/UnitsState.func.hpp | 786 ++++++ src/OpenSHC/Map/Units/UnitsState.hpp | 497 ++++ src/OpenSHC/Map/Version.func.hpp | 195 ++ src/OpenSHC/Map/Version.hpp | 104 + src/OpenSHC/Map/WallAndPitchState.func.hpp | 56 + src/OpenSHC/Map/WallAndPitchState.hpp | 69 + .../Walls/WallPlacementInfoElementStruct.hpp | 28 + .../Map/Wildlife/WildlifeGridElement.hpp | 54 + src/OpenSHC/Map/WildlifeState.func.hpp | 72 + src/OpenSHC/Map/WildlifeState.hpp | 77 + src/OpenSHC/Map/WindState.hpp | 28 + src/OpenSHC/Meta.func.hpp | 709 ++++++ src/OpenSHC/Meta.hpp | 360 +++ src/OpenSHC/Random/RNG.func.hpp | 24 + src/OpenSHC/Random/RNG.hpp | 50 + src/OpenSHC/Rendering.func.hpp | 41 + src/OpenSHC/Rendering.hpp | 26 + .../Rendering/Bink/AIMessageQueue.func.hpp | 45 + src/OpenSHC/Rendering/Bink/AIMessageQueue.hpp | 68 + .../Rendering/Bink/BinkControlClass.func.hpp | 52 + .../Rendering/Bink/BinkControlClass.hpp | 78 + .../Rendering/Bink/BinkDrawingSurface.hpp | 21 + .../Rendering/Bink/BinkDrawingSurfaceInt.hpp | 18 + src/OpenSHC/Rendering/Bink/FakeBink.hpp | 27 + src/OpenSHC/Rendering/Bink/HBINK.hpp | 18 + .../Rendering/Bink/UnsortedBinkBufferFlag.hpp | 44 + .../Bink/UnsortedBinkBufferFlagInt.hpp | 18 + .../Rendering/Bink/UnsortedBinkFlag.hpp | 68 + .../Rendering/Bink/UnsortedBinkFlagInt.hpp | 18 + src/OpenSHC/Rendering/BlendingDefinedData.hpp | 31 + src/OpenSHC/Rendering/ColorMode.hpp | 19 + src/OpenSHC/Rendering/ColorModeInt.hpp | 16 + src/OpenSHC/Rendering/Colors/BGR24.hpp | 15 + src/OpenSHC/Rendering/Colors/RGB15.hpp | 15 + .../Rendering/CreditsRelatedStructure.hpp | 34 + .../Rendering/CreditsRelatedStructure2.hpp | 44 + .../Rendering/Enums/DirectDrawStatus.hpp | 21 + .../Rendering/Enums/DirectDrawStatusInt.hpp | 18 + src/OpenSHC/Rendering/Enums/GmDataIndex.hpp | 670 +++++ .../Rendering/Enums/GmDataIndexInt.hpp | 18 + src/OpenSHC/Rendering/Enums/RenderTarget.hpp | 23 + .../Rendering/Enums/RenderTargetInt.hpp | 18 + .../Rendering/MapRenderDefinedData.hpp | 237 ++ .../Rendering/ScreenResolutionArrayStruct.hpp | 37 + .../Rendering/ScreenResolutionEnum.hpp | 34 + .../Rendering/ScreenResolutionEnumInt.hpp | 16 + .../Rendering/UnitRenderHelpStructure.hpp | 29 + .../Rendering/ViewportRenderState.func.hpp | 138 ++ src/OpenSHC/Rendering/ViewportRenderState.hpp | 171 ++ src/OpenSHC/Rendering/ViewportState.hpp | 66 + .../Rendering/WindowInformation.func.hpp | 17 + src/OpenSHC/Rendering/WindowInformation.hpp | 40 + src/OpenSHC/SHDE/eMappers.hpp | 393 +++ src/OpenSHC/SHDE/eMappersInt.hpp | 16 + src/OpenSHC/Synchrony.func.hpp | 21 + src/OpenSHC/Synchrony.hpp | 16 + .../Synchrony/GameSynchronyState.func.hpp | 296 +++ src/OpenSHC/Synchrony/GameSynchronyState.hpp | 522 ++++ src/OpenSHC/Synchrony/HashContainer.hpp | 34 + .../Synchrony/HashContainerElement.hpp | 33 + src/OpenSHC/Synchrony/HashData.hpp | 22 + src/OpenSHC/Synchrony/HashDataContainer.hpp | 26 + .../Synchrony/Networking/ChatEvent.hpp | 27 + .../Networking/ConnectionLagInfo.hpp | 34 + src/OpenSHC/Synchrony/Networking/Packet.hpp | 27 + .../Synchrony/Networking/PacketUnion.hpp | 31 + .../Synchrony/Networking/PrefixedPacket.hpp | 29 + src/OpenSHC/Synchrony/ProtocolDefinedData.hpp | 152 ++ src/OpenSHC/Text/CharPointerArrayUnion.hpp | 23 + src/OpenSHC/Text/FontRenderType.hpp | 20 + src/OpenSHC/Text/FontRenderTypeInt.hpp | 16 + src/OpenSHC/Text/FontSizeClass.func.hpp | 75 + src/OpenSHC/Text/FontSizeClass.hpp | 81 + src/OpenSHC/Text/GameLanguage.hpp | 24 + src/OpenSHC/Text/GameLanguageInt.hpp | 16 + .../Text/HelpTextRelatedColorStruct.hpp | 25 + src/OpenSHC/Text/TextAlignment.hpp | 20 + src/OpenSHC/Text/TextAlignmentInt.hpp | 16 + src/OpenSHC/Text/TextArrayIndexType.hpp | 26 + src/OpenSHC/Text/TextArrayIndexTypeInt.hpp | 16 + src/OpenSHC/Text/TextEditorState.func.hpp | 170 ++ src/OpenSHC/Text/TextEditorState.hpp | 195 ++ src/OpenSHC/Text/TextManager.func.hpp | 175 ++ src/OpenSHC/Text/TextManager.hpp | 177 ++ .../Text/UnkHelpTextRelatedFontStruct.hpp | 23 + src/OpenSHC/Text/UserTextHandler.func.hpp | 92 + src/OpenSHC/Text/UserTextHandler.hpp | 90 + src/OpenSHC/UI.func.hpp | 2162 +++++++++++++++++ src/OpenSHC/UI.hpp | 1133 +++++++++ src/OpenSHC/UI/ActiveMenuTab.hpp | 32 + .../UI/BottomLeftTextDisplayState.func.hpp | 28 + src/OpenSHC/UI/BottomLeftTextDisplayState.hpp | 54 + src/OpenSHC/UI/BuildingNameRelatedStruct.hpp | 27 + .../UI/BuildingNameRelatedSubStruct.hpp | 24 + src/OpenSHC/UI/ButtonState.hpp | 25 + ...oseNetworkServiceProviderButtonActions.hpp | 23 + ...NetworkServiceProviderButtonActionsInt.hpp | 19 + src/OpenSHC/UI/DisplayElement.func.hpp | 12 + src/OpenSHC/UI/DisplayElement.hpp | 56 + src/OpenSHC/UI/DisplayElementRenderFunc.hpp | 14 + src/OpenSHC/UI/Enums/BuildMenuTabType.hpp | 39 + .../UI/Enums/BuildMenuTabTypeShort.hpp | 18 + .../Enums/BuildingsAndStatusMenuTabType.hpp | 107 + .../BuildingsAndStatusMenuTabTypeInt.hpp | 18 + src/OpenSHC/UI/Enums/CursorType.hpp | 22 + src/OpenSHC/UI/Enums/CursorTypeInt.hpp | 18 + src/OpenSHC/UI/Enums/DisplayElementID.hpp | 45 + src/OpenSHC/UI/Enums/DisplayElementIDInt.hpp | 18 + .../UI/Enums/DisplayElementIDUnion.hpp | 31 + .../Enums/DisplayElementPositionModifier.hpp | 24 + .../DisplayElementPositionModifierInt.hpp | 18 + src/OpenSHC/UI/Enums/MenuItemHandleState.hpp | 23 + .../UI/Enums/MenuItemHandleStateInt.hpp | 18 + .../UI/Enums/MenuItemRenderFunctionType.hpp | 22 + .../Enums/MenuItemRenderFunctionTypeInt.hpp | 18 + src/OpenSHC/UI/Enums/MenuItemType.hpp | 32 + src/OpenSHC/UI/Enums/MenuItemTypeInt.hpp | 18 + src/OpenSHC/UI/Enums/MenuItemUCMarker.hpp | 20 + src/OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp | 18 + src/OpenSHC/UI/Enums/MenuModalType.hpp | 95 + src/OpenSHC/UI/Enums/MenuModalTypeInt.hpp | 18 + src/OpenSHC/UI/Enums/MenuViewType.hpp | 71 + src/OpenSHC/UI/Enums/MenuViewTypeInt.hpp | 18 + src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp | 31 + .../UI/Enums/RoundedBoxEdgeRoundingLevel.hpp | 21 + .../Enums/RoundedBoxEdgeRoundingLevelInt.hpp | 18 + src/OpenSHC/UI/Enums/SoundMenuClickType.hpp | 25 + .../UI/Enums/SoundMenuClickTypeInt.hpp | 18 + ...extMessageBLLookupStructButtonTextEnum.hpp | 22 + ...MessageBLLookupStructButtonTextEnumInt.hpp | 19 + .../TextMessageBLLookupStructTypeEnum.hpp | 24 + .../TextMessageBLLookupStructTypeEnumInt.hpp | 19 + src/OpenSHC/UI/Enums/UserControlID.hpp | 311 +++ src/OpenSHC/UI/Enums/UserControlIDInt.hpp | 18 + src/OpenSHC/UI/Enums/UserControlIDShort.hpp | 18 + src/OpenSHC/UI/FwdMenuMenuItem.hpp | 11 + src/OpenSHC/UI/GreatestLordDefinedData.hpp | 22 + src/OpenSHC/UI/Helpers.func.hpp | 47 + src/OpenSHC/UI/Helpers.hpp | 30 + src/OpenSHC/UI/HoveredState.func.hpp | 31 + src/OpenSHC/UI/HoveredState.hpp | 51 + src/OpenSHC/UI/HoveredStateElement.hpp | 31 + src/OpenSHC/UI/Menu.func.hpp | 29 + src/OpenSHC/UI/Menu.hpp | 68 + src/OpenSHC/UI/MenuHandlerState.func.hpp | 39 + src/OpenSHC/UI/MenuHandlerState.hpp | 74 + .../UI/MenuIDMenuElementAddressPair.hpp | 29 + src/OpenSHC/UI/MenuItem.func.hpp | 27 + src/OpenSHC/UI/MenuItem.hpp | 83 + src/OpenSHC/UI/MenuItemActionHandler.hpp | 13 + src/OpenSHC/UI/MenuItemActionHandler_0x20.hpp | 13 + src/OpenSHC/UI/MenuItemActionHandler_0x4.hpp | 13 + src/OpenSHC/UI/MenuItemCallbackParameter.hpp | 28 + src/OpenSHC/UI/MenuItemFirstItemTypeData.hpp | 27 + src/OpenSHC/UI/MenuItemPosition.hpp | 29 + src/OpenSHC/UI/MenuItemRenderFunction.hpp | 13 + .../UI/MenuItemRenderFunction_0x20.hpp | 16 + src/OpenSHC/UI/MenuItemSecondItemTypeData.hpp | 29 + src/OpenSHC/UI/MenuItemUCInfo.hpp | 29 + src/OpenSHC/UI/MenuModal.func.hpp | 12 + src/OpenSHC/UI/MenuModal.hpp | 55 + src/OpenSHC/UI/MenuModalComposition.func.hpp | 63 + src/OpenSHC/UI/MenuModalComposition.hpp | 89 + src/OpenSHC/UI/MenuModalRenderFunction.hpp | 13 + src/OpenSHC/UI/MenuTextInputState.func.hpp | 47 + src/OpenSHC/UI/MenuTextInputState.hpp | 106 + src/OpenSHC/UI/MenuView.func.hpp | 20 + src/OpenSHC/UI/MenuView.hpp | 51 + src/OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp | 120 + src/OpenSHC/UI/MinimapViewState.func.hpp | 84 + src/OpenSHC/UI/MinimapViewState.hpp | 103 + ...indingNetworkSessions_ButtonParameters.hpp | 21 + ...ingNetworkSessions_ButtonParametersInt.hpp | 19 + src/OpenSHC/UI/Position.hpp | 23 + src/OpenSHC/UI/RenderLoadAndSaveBar.hpp | 13 + src/OpenSHC/UI/Rendering.func.hpp | 543 +++++ src/OpenSHC/UI/Rendering.hpp | 281 +++ .../Rendering/AlphaAndButtonSurface.func.hpp | 51 + .../UI/Rendering/AlphaAndButtonSurface.hpp | 65 + .../UI/Rendering/ButtonGmData.func.hpp | 21 + src/OpenSHC/UI/Rendering/ButtonGmData.hpp | 48 + .../UI/Rendering/PencilRenderCore.func.hpp | 116 + src/OpenSHC/UI/Rendering/PencilRenderCore.hpp | 113 + src/OpenSHC/UI/Rendering/Range.hpp | 25 + .../UI/Rendering/TextureRenderCore.func.hpp | 239 ++ .../UI/Rendering/TextureRenderCore.hpp | 243 ++ .../UI/Rendering/WindowAndDirectDraw.func.hpp | 101 + .../UI/Rendering/WindowAndDirectDraw.hpp | 141 ++ src/OpenSHC/UI/ScrollDirection.hpp | 26 + src/OpenSHC/UI/ScrollDirectionInt.hpp | 16 + src/OpenSHC/UI/ScrollSpeed.hpp | 20 + src/OpenSHC/UI/ScrollSpeedInt.hpp | 16 + src/OpenSHC/UI/ScrollbarOrSliderState.hpp | 25 + src/OpenSHC/UI/ScrollingHandler.func.hpp | 20 + src/OpenSHC/UI/ScrollingHandler.hpp | 66 + src/OpenSHC/UI/ShortcutDefinedData.hpp | 25 + src/OpenSHC/UI/TextInputDefinedData.hpp | 46 + src/OpenSHC/UI/TextMessageBLLookupStruct.hpp | 31 + .../UI/TextMessageBLLookupStructUnion.hpp | 32 + ...TextMessageBLLookupStructUnitsTextType.hpp | 33 + ...tMessageBLLookupStructUnitsTextTypeInt.hpp | 17 + src/OpenSHC/UI/UC.hpp | 32 + src/OpenSHC/UI/UCPointerStruct.hpp | 26 + src/OpenSHC/UI/UIButtonDefinedData.hpp | 41 + src/OpenSHC/UI/UIDragDropDefinedData.hpp | 28 + src/OpenSHC/UI/UnitSelectionDefinedData.hpp | 31 + src/OpenSHC/UI/UnknownMenuSubStruct.hpp | 23 + src/OpenSHC/UI/UserHelpDefinedData.hpp | 31 + src/OpenSHC/UI/drawCall.hpp | 13 + .../Util/FunctionTypes/NoArgCallback.hpp | 15 + src/OpenSHC/Util/IntShortUnion.hpp | 23 + src/OpenSHC/Util/Timing/Stopwatch.func.hpp | 20 + src/OpenSHC/Util/Timing/Stopwatch.hpp | 50 + .../Util/WideCharMultiByteState.func.hpp | 37 + src/OpenSHC/Util/WideCharMultiByteState.hpp | 48 + src/OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp | 15 + src/OpenSHC/WindowsHelper/Enums/CodePage.hpp | 21 + .../WindowsHelper/Enums/CodePageInt.hpp | 18 + .../WindowsHelper/Enums/FilePtrMoveMethod.hpp | 22 + .../Enums/FilePtrMoveMethodInt.hpp | 18 + .../Enums/GeneralWindowsMessage.hpp | 273 +++ .../Enums/GeneralWindowsMessageInt.hpp | 18 + .../WindowsHelper/Enums/GlobalAllocFlag.hpp | 24 + .../Enums/GlobalAllocFlagInt.hpp | 18 + .../WindowsHelper/Enums/LoadCursorDefault.hpp | 35 + .../Enums/LoadCursorDefaultInt.hpp | 18 + src/OpenSHC/WindowsHelper/Enums/OpenFlag.hpp | 38 + .../WindowsHelper/Enums/OpenFlagInt.hpp | 18 + .../WindowsHelper/Enums/RawWindowsMessage.hpp | 1018 ++++++++ .../Enums/RawWindowsMessageInt.hpp | 18 + .../WindowsHelper/Enums/WindowsDeviceCap.hpp | 59 + .../Enums/WindowsDeviceCapInt.hpp | 18 + .../Enums/WindowsSystemMetric.hpp | 114 + .../Enums/WindowsSystemMetricInt.hpp | 18 + .../WindowsHelper/Enums/WindowsVirtualKey.hpp | 181 ++ .../Enums/WindowsVirtualKeyInt.hpp | 18 + .../Structs/threadmbcinfostructWINE.hpp | 31 + src/OpenSHC/WindowsHelper/cdeclVoidFunc.hpp | 13 + src/OpenSHC/_SHCDE/eAppModes.hpp | 68 + src/OpenSHC/_SHCDE/eAppModesInt.hpp | 16 + src/OpenSHC/_SHCDE/eGM.hpp | 229 ++ src/OpenSHC/_SHCDE/eGMInt.hpp | 16 + src/OpenSHC/_SHCDE/eInBuildingModes.hpp | 112 + src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp | 16 + src/OpenSHC/_SHCDE/eMappers.hpp | 508 ++++ src/OpenSHC/_SHCDE/eMappersInt.hpp | 16 + src/OpenSHC/_SHCDE/eMusicIDs.hpp | 87 + src/OpenSHC/_SHCDE/eMusicIDsInt.hpp | 16 + src/OpenSHC/_SHCDE/eOnScreenText.hpp | 41 + src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp | 16 + src/OpenSHC/_SHCDE/eSFX.hpp | 321 +++ src/OpenSHC/_SHCDE/eSFXInt.hpp | 16 + src/OpenSHC/_SHCDE/eTextSections.hpp | 312 +++ src/OpenSHC/_SHCDE/eTextSectionsInt.hpp | 16 + 1526 files changed, 63038 insertions(+) create mode 100644 src/OpenSHC/AI/AIAttackWaveTarget.hpp create mode 100644 src/OpenSHC/AI/AIAttackWaveTargetInt.hpp create mode 100644 src/OpenSHC/AI/AIC/AICSpecification.hpp create mode 100644 src/OpenSHC/AI/AIC/AITargetChoice.hpp create mode 100644 src/OpenSHC/AI/AIC/AITargetChoiceInt.hpp create mode 100644 src/OpenSHC/AI/AICState.func.hpp create mode 100644 src/OpenSHC/AI/AICState.hpp create mode 100644 src/OpenSHC/AI/AIGridComputationResourceType.hpp create mode 100644 src/OpenSHC/AI/AIGridComputationResourceTypeInt.hpp create mode 100644 src/OpenSHC/AI/AIMapExtraInfo.hpp create mode 100644 src/OpenSHC/AI/AINervousDestroyBuildingCategory.hpp create mode 100644 src/OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp create mode 100644 src/OpenSHC/AI/AIRecruitUnitChoice.hpp create mode 100644 src/OpenSHC/AI/AIRecruitUnitChoiceInt.hpp create mode 100644 src/OpenSHC/AI/AISiegeUnitCreation.hpp create mode 100644 src/OpenSHC/AI/AIStrengthType.hpp create mode 100644 src/OpenSHC/AI/AIStrengthTypeInt.hpp create mode 100644 src/OpenSHC/AI/AITypeA.hpp create mode 100644 src/OpenSHC/AI/AITypeAByte.hpp create mode 100644 src/OpenSHC/AI/AITypeB.hpp create mode 100644 src/OpenSHC/AI/AITypeBByte.hpp create mode 100644 src/OpenSHC/AI/AIUnitBehaviourType.hpp create mode 100644 src/OpenSHC/AI/AIUnitBehaviourTypeInt.hpp create mode 100644 src/OpenSHC/AI/AIV/AIV.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVBuildLocationTile.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVBuildingType2.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVBuildingType2Int.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVBuildingType2Short.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVDefinedData.hpp create mode 100644 src/OpenSHC/AI/AIV/AIVSectionAddress.hpp create mode 100644 src/OpenSHC/AI/AIVBuildingStep.hpp create mode 100644 src/OpenSHC/AI/AIVBuildingStepStatus.hpp create mode 100644 src/OpenSHC/AI/AIVBuildingStepStatusByte.hpp create mode 100644 src/OpenSHC/AI/AIVBuildingType.hpp create mode 100644 src/OpenSHC/AI/AIVBuildingTypeShort.hpp create mode 100644 src/OpenSHC/AI/AIVState.func.hpp create mode 100644 src/OpenSHC/AI/AIVState.hpp create mode 100644 src/OpenSHC/AI/AIVUnitType.hpp create mode 100644 src/OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp create mode 100644 src/OpenSHC/AI/AIVUnitTypeIndexMapping1Int.hpp create mode 100644 src/OpenSHC/AI/AIVUnitTypeInt.hpp create mode 100644 src/OpenSHC/AI/AttackInfo/AttackInfoDefinedData.hpp create mode 100644 src/OpenSHC/AI/Siege/EngineerBuildingAndCountPair.hpp create mode 100644 src/OpenSHC/AI/Siege/SiegeInformation.hpp create mode 100644 src/OpenSHC/AI/TileDistancePair.hpp create mode 100644 src/OpenSHC/AI/Trading/AIResourceTradeCategory.hpp create mode 100644 src/OpenSHC/AI/Trading/AIResourceTradeCategoryInt.hpp create mode 100644 src/OpenSHC/AI/Trading/ResourceAICResourceMappingEntry.hpp create mode 100644 src/OpenSHC/AI/Tribes/AITribeIndex.hpp create mode 100644 src/OpenSHC/AI/Tribes/AITribeIndexInt.hpp create mode 100644 src/OpenSHC/AI/Tribes/AITribeType.hpp create mode 100644 src/OpenSHC/AI/Tribes/AITribeTypeInt.hpp create mode 100644 src/OpenSHC/AI/Tribes/AITribeTypeShort.hpp create mode 100644 src/OpenSHC/AI/Tribes/AIVUnitTypeMaxLocationPair.hpp create mode 100644 src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp create mode 100644 src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp create mode 100644 src/OpenSHC/Audio.func.hpp create mode 100644 src/OpenSHC/Audio.hpp create mode 100644 src/OpenSHC/Audio/MissingResourceState.func.hpp create mode 100644 src/OpenSHC/Audio/MissingResourceState.hpp create mode 100644 src/OpenSHC/Audio/MusicControl.hpp create mode 100644 src/OpenSHC/Audio/SFX.func.hpp create mode 100644 src/OpenSHC/Audio/SFX.hpp create mode 100644 src/OpenSHC/Audio/SFX/AmbientSFXType.hpp create mode 100644 src/OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp create mode 100644 src/OpenSHC/Audio/SFX/AmbientSfx.hpp create mode 100644 src/OpenSHC/Audio/SFX/MusicSfx.hpp create mode 100644 src/OpenSHC/Audio/SFX/NameSpeechPair.hpp create mode 100644 src/OpenSHC/Audio/SFX/ResourceLackSFX.hpp create mode 100644 src/OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp create mode 100644 src/OpenSHC/Audio/SFX/SFXDefinedData.hpp create mode 100644 src/OpenSHC/Audio/SFX/SFXFadeState.hpp create mode 100644 src/OpenSHC/Audio/SFX/SFXFadeStateInt.hpp create mode 100644 src/OpenSHC/Audio/SFX/SFXState.func.hpp create mode 100644 src/OpenSHC/Audio/SFX/SFXState.hpp create mode 100644 src/OpenSHC/Audio/SFX/SoundEffectID.hpp create mode 100644 src/OpenSHC/Audio/SFX/SoundEffectIDInt.hpp create mode 100644 src/OpenSHC/Audio/SFX/SoundStructure1.hpp create mode 100644 src/OpenSHC/Audio/SFX/SoundStructure2.hpp create mode 100644 src/OpenSHC/Audio/SFX/SpeechEffectID.hpp create mode 100644 src/OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp create mode 100644 src/OpenSHC/Audio/SFX/SpeechEffectPath.hpp create mode 100644 src/OpenSHC/Audio/SFX/UnitSpeechData.hpp create mode 100644 src/OpenSHC/Audio/SoundEffectsHelperData1.hpp create mode 100644 src/OpenSHC/Audio/Speech/SpeechDefinedData.hpp create mode 100644 src/OpenSHC/Audio/mss.func.hpp create mode 100644 src/OpenSHC/Audio/mss.hpp create mode 100644 src/OpenSHC/Audio/mss/FakeDigDriver.hpp create mode 100644 src/OpenSHC/Audio/mss/FakeSample.hpp create mode 100644 src/OpenSHC/Audio/mss/FakeStream.hpp create mode 100644 src/OpenSHC/Audio/mss/HDIGDRIVER.hpp create mode 100644 src/OpenSHC/Audio/mss/HSAMPLE.hpp create mode 100644 src/OpenSHC/Audio/mss/HSTREAM.hpp create mode 100644 src/OpenSHC/Audio/mss/SndStreamHelper.hpp create mode 100644 src/OpenSHC/Audio/mss/SoundSystem.func.hpp create mode 100644 src/OpenSHC/Audio/mss/SoundSystem.hpp create mode 100644 src/OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp create mode 100644 src/OpenSHC/Audio/mss/_enums/AILStatus.hpp create mode 100644 src/OpenSHC/Audio/mss/_enums/AILStatusInt.hpp create mode 100644 src/OpenSHC/Audio/mss/_enums/SHC_SoundFlag.hpp create mode 100644 src/OpenSHC/Audio/mss/_enums/SHC_SoundFlagInt.hpp create mode 100644 src/OpenSHC/Audio/mss/_enums/SHC_SoundStream.hpp create mode 100644 src/OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp create mode 100644 src/OpenSHC/Commands.func.hpp create mode 100644 src/OpenSHC/Commands.hpp create mode 100644 src/OpenSHC/Commands/CommandBuildingType.hpp create mode 100644 src/OpenSHC/Commands/CommandBuildingTypeInt.hpp create mode 100644 src/OpenSHC/Commands/CommandBuildingTypeShort.hpp create mode 100644 src/OpenSHC/Commands/GameCommand.hpp create mode 100644 src/OpenSHC/Commands/GameCommandParameterLocation.hpp create mode 100644 src/OpenSHC/Commands/GameCommandParameterLocationInt.hpp create mode 100644 src/OpenSHC/Commands/GameCommandParameterReadWrite.hpp create mode 100644 src/OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp create mode 100644 src/OpenSHC/Commands/GameCommandScheduling.hpp create mode 100644 src/OpenSHC/Commands/GameCommandSchedulingInt.hpp create mode 100644 src/OpenSHC/Commands/GameCommandState.hpp create mode 100644 src/OpenSHC/Commands/GameCommandStateByte.hpp create mode 100644 src/OpenSHC/Commands/GameCommandType.hpp create mode 100644 src/OpenSHC/Commands/GameCommandTypeInt.hpp create mode 100644 src/OpenSHC/Common/MapperCommandUnion.hpp create mode 100644 src/OpenSHC/Common/TruncatedInt.hpp create mode 100644 src/OpenSHC/Coordinates/XYPairShort.hpp create mode 100644 src/OpenSHC/DirectDraw/ColorPixelFormat.hpp create mode 100644 src/OpenSHC/DirectDraw/ColorPixelFormatInt.hpp create mode 100644 src/OpenSHC/DirectDraw/DDCAPS.hpp create mode 100644 src/OpenSHC/DirectDraw/DDCAPS_DX7.hpp create mode 100644 src/OpenSHC/DirectDraw/DDCOLORKEY.hpp create mode 100644 src/OpenSHC/DirectDraw/DDPIXELFORMAT.hpp create mode 100644 src/OpenSHC/DirectDraw/DDSCAPS2.hpp create mode 100644 src/OpenSHC/DirectDraw/DDSURFACEDESC.hpp create mode 100644 src/OpenSHC/DirectDraw/DDSURFACEDESC2.hpp create mode 100644 src/OpenSHC/DirectDraw/DDSURFACEDESC_u1.hpp create mode 100644 src/OpenSHC/DirectDraw/DDSURFACEDESC_u2.hpp create mode 100644 src/OpenSHC/DirectDraw/DirectDrawCreateEx.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDrawImpl.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw_VTABLE.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/CreateSurface.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/EnumDisplayModes.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/GetCaps.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/Release.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetCooperativeLevel.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetDisplayMode.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurfaceImpl.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface_VTABLE.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Blt.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/BltFast.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Flip.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetAttachedSurface.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetSurfaceDesc.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Lock.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Release.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Restore.hpp create mode 100644 src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Unlock.hpp create mode 100644 src/OpenSHC/DirectDraw/_defines/DDCAPS_SHC.hpp create mode 100644 src/OpenSHC/DirectDraw/_defines/DD_OK.hpp create mode 100644 src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp create mode 100644 src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2Int.hpp create mode 100644 src/OpenSHC/DirectPlay/CancelMessage.hpp create mode 100644 src/OpenSHC/DirectPlay/Close.hpp create mode 100644 src/OpenSHC/DirectPlay/CreatePlayer.hpp create mode 100644 src/OpenSHC/DirectPlay/DPERR.hpp create mode 100644 src/OpenSHC/DirectPlay/DPERRInt.hpp create mode 100644 src/OpenSHC/DirectPlay/DPNAME.hpp create mode 100644 src/OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp create mode 100644 src/OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp create mode 100644 src/OpenSHC/DirectPlay/DPSEND_Enum.hpp create mode 100644 src/OpenSHC/DirectPlay/DPSEND_EnumInt.hpp create mode 100644 src/OpenSHC/DirectPlay/DPSESSIONDESC2.hpp create mode 100644 src/OpenSHC/DirectPlay/DPSESSION_Enum.hpp create mode 100644 src/OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp create mode 100644 src/OpenSHC/DirectPlay/DestroyPlayer.hpp create mode 100644 src/OpenSHC/DirectPlay/EnumConnections.hpp create mode 100644 src/OpenSHC/DirectPlay/EnumConnectionsCallback.hpp create mode 100644 src/OpenSHC/DirectPlay/EnumSessions.hpp create mode 100644 src/OpenSHC/DirectPlay/EnumSessionsFlagsEnum.hpp create mode 100644 src/OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp create mode 100644 src/OpenSHC/DirectPlay/GetPlayerAddress.hpp create mode 100644 src/OpenSHC/DirectPlay/IDirectPlay4A.hpp create mode 100644 src/OpenSHC/DirectPlay/Open.hpp create mode 100644 src/OpenSHC/DirectPlay/OpenFlagsEnum.hpp create mode 100644 src/OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp create mode 100644 src/OpenSHC/DirectPlay/QueryInterface.hpp create mode 100644 src/OpenSHC/DirectPlay/Receive.hpp create mode 100644 src/OpenSHC/DirectPlay/Release.hpp create mode 100644 src/OpenSHC/DirectPlay/SendEx.hpp create mode 100644 src/OpenSHC/DirectPlay/SetSessionDesc.hpp create mode 100644 src/OpenSHC/DirectPlay/lobby/CreateCompoundAddress.hpp create mode 100644 src/OpenSHC/DirectPlay/lobby/EnumAddress.hpp create mode 100644 src/OpenSHC/DirectPlay/lobby/IDirectPlayLobby3.hpp create mode 100644 src/OpenSHC/DirectPlay/lobby/InitializeConnection.hpp create mode 100644 src/OpenSHC/DirectPlay/lobby/Release.hpp create mode 100644 src/OpenSHC/Game.func.hpp create mode 100644 src/OpenSHC/Game.hpp create mode 100644 src/OpenSHC/Game/CampaignInfoStruct1.hpp create mode 100644 src/OpenSHC/Game/CampaignInfoSubStructure1.hpp create mode 100644 src/OpenSHC/Game/CampaignTrailMission.hpp create mode 100644 src/OpenSHC/Game/GameCore.func.hpp create mode 100644 src/OpenSHC/Game/GameCore.hpp create mode 100644 src/OpenSHC/Game/GameMode.hpp create mode 100644 src/OpenSHC/Game/GameMode2.hpp create mode 100644 src/OpenSHC/Game/GameMode2Int.hpp create mode 100644 src/OpenSHC/Game/GameModeInt.hpp create mode 100644 src/OpenSHC/Game/GameStateStructures.func.hpp create mode 100644 src/OpenSHC/Game/GameStateStructures.hpp create mode 100644 src/OpenSHC/Game/Market/BuySellPair.hpp create mode 100644 src/OpenSHC/Game/MissionAestheticsDefinedData.hpp create mode 100644 src/OpenSHC/Game/MissionDefinedData.hpp create mode 100644 src/OpenSHC/Game/Player/PlayerData.hpp create mode 100644 src/OpenSHC/Game/Player/PlayerID.hpp create mode 100644 src/OpenSHC/Game/Player/PlayerType.hpp create mode 100644 src/OpenSHC/Game/Player/PlayerTypeByte.hpp create mode 100644 src/OpenSHC/Game/Player/UnknownPlayerDataStructure.hpp create mode 100644 src/OpenSHC/Game/RenderingDefinedData.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceType.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceTypeByte.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceTypeInt.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceTypeMin1.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceTypeMin1Byte.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceTypeMin1Int.hpp create mode 100644 src/OpenSHC/Game/Resources/ResourceTypeShort.hpp create mode 100644 src/OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp create mode 100644 src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortArray.hpp create mode 100644 src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortStruct.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/InGameEvent.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/InGameEventUnion.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.func.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/IngameMessageEventItemContent.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/IngameScenarioEventItemContent.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/InvasionEventItem.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp create mode 100644 src/OpenSHC/Game/ScenarioEvents/ScenarioEventItem.hpp create mode 100644 src/OpenSHC/Game/Siege/SiegeGameModeRelatedSection.hpp create mode 100644 src/OpenSHC/Game/Skirmish.func.hpp create mode 100644 src/OpenSHC/Game/Skirmish.hpp create mode 100644 src/OpenSHC/Game/Skirmish/AttackVector.hpp create mode 100644 src/OpenSHC/Game/Skirmish/SkirmishDefinedData.hpp create mode 100644 src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.func.hpp create mode 100644 src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp create mode 100644 src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructureLongName.hpp create mode 100644 src/OpenSHC/Game/Skirmish/SkirmishStatistics.hpp create mode 100644 src/OpenSHC/Game/Skirmish/StartingResourceStructureInt.hpp create mode 100644 src/OpenSHC/Game/State/MapAndTimeState.hpp create mode 100644 src/OpenSHC/Game/State/UnitIDUIDPair.hpp create mode 100644 src/OpenSHC/Game/State/UnitSelectionHotKeyEntry.hpp create mode 100644 src/OpenSHC/Game/TradeableResourcesSection.hpp create mode 100644 src/OpenSHC/Game/TrailType.hpp create mode 100644 src/OpenSHC/Game/TrailTypeInt.hpp create mode 100644 src/OpenSHC/Game/TroopDefinedData.hpp create mode 100644 src/OpenSHC/Global.func.hpp create mode 100644 src/OpenSHC/Global.hpp create mode 100644 src/OpenSHC/Global/Init.func.hpp create mode 100644 src/OpenSHC/Global/Init.hpp create mode 100644 src/OpenSHC/Globals/AlphaAndButtonSurfaceObj.hpp create mode 100644 src/OpenSHC/Globals/BOOL_CurrentMenuClickState.hpp create mode 100644 src/OpenSHC/Globals/BOOL_RelatedToInitialGranaryAndKeepPlacement.hpp create mode 100644 src/OpenSHC/Globals/BOOL_WasInteracting.hpp create mode 100644 src/OpenSHC/Globals/BottomLeftDateDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/CHAR_ARRAY_00eb0ab0.hpp create mode 100644 src/OpenSHC/Globals/CHAR_ARRAY_00eb9ac8.hpp create mode 100644 src/OpenSHC/Globals/COL_BLACK.hpp create mode 100644 src/OpenSHC/Globals/COL_BLUE.hpp create mode 100644 src/OpenSHC/Globals/COL_BRIGHT_YELLOW.hpp create mode 100644 src/OpenSHC/Globals/COL_DARK_CYAN_GREY.hpp create mode 100644 src/OpenSHC/Globals/COL_DARK_GRAYISH_GREEN.hpp create mode 100644 src/OpenSHC/Globals/COL_DARK_GREEN.hpp create mode 100644 src/OpenSHC/Globals/COL_DARK_LIME.hpp create mode 100644 src/OpenSHC/Globals/COL_DARK_RED.hpp create mode 100644 src/OpenSHC/Globals/COL_GREYISH_YELLOW.hpp create mode 100644 src/OpenSHC/Globals/COL_LIGHT_GREY.hpp create mode 100644 src/OpenSHC/Globals/COL_LIME.hpp create mode 100644 src/OpenSHC/Globals/COL_MAGENTA.hpp create mode 100644 src/OpenSHC/Globals/COL_MODERATE_GREEN.hpp create mode 100644 src/OpenSHC/Globals/COL_RED.hpp create mode 100644 src/OpenSHC/Globals/COL_VERY_DARK_GREY.hpp create mode 100644 src/OpenSHC/Globals/COL_VERY_SOFT_YELLOW.hpp create mode 100644 src/OpenSHC/Globals/COL_VIVID_BLUE.hpp create mode 100644 src/OpenSHC/Globals/COL_WHITE.hpp create mode 100644 src/OpenSHC/Globals/ConnectAndPathLinkageInfoTextDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/DAT_005b7968.hpp create mode 100644 src/OpenSHC/Globals/DAT_005b7970.hpp create mode 100644 src/OpenSHC/Globals/DAT_005c2a68.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ab5718.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ab8e10.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ab9168.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b333a8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b37cb8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b38b78.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b39074.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b39078.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b39338.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b39340.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b39360.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b39628.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b3eb30.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b42b50.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b44218.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b46120.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b47e10.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b48ee0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b48f50.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b4c700.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b4d138.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b4df40.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b4df48.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b601b8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95954.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95960.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95b2c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95b3c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95b68.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95b6c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95b70.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95b74.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b95f64.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b960bc.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b960dc.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b960f4.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b960f8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b96100.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b96108.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9610c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b96110.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b974bc.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9840c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9841c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98420.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98424.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98428.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9842c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98430.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9843c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98448.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98450.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b98454.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9845c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9869c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b986e0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b986f0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00b9870c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df2964.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df296c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df3348.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df334c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df3350.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df3374.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df33ac.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df423c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df4284.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df42b0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df51f0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df51f8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df51fc.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5200.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5530.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5538.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5540.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5544.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5554.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5558.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df555c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5560.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5564.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df556c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5588.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df558c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5590.hpp create mode 100644 src/OpenSHC/Globals/DAT_00df5644.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb0b20.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb0b24.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb0e40.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb1234.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9af4.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9af8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b0c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b28.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b2c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b30.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b34.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b38.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b3c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b40.hpp create mode 100644 src/OpenSHC/Globals/DAT_00eb9b60.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ec02f4.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ec082c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ec0840.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed2780.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed2788.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed278c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed2794.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed2798.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed27a0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed27bc.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed2bd8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed3118.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed3120.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed3124.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed313c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed3148.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed314c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed3154.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed316c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed3170.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed317c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed31a0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ed31d0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0fb4.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0fd8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0fe0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0fe8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0fec.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0ff0.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0ff4.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0ff8.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee0ffc.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1000.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1004.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1008.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee100c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1010.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1014.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1018.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee101c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1028.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee102c.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1030.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1034.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1090.hpp create mode 100644 src/OpenSHC/Globals/DAT_00ee1094.hpp create mode 100644 src/OpenSHC/Globals/DAT_02427470.hpp create mode 100644 src/OpenSHC/Globals/DAT_AICState.hpp create mode 100644 src/OpenSHC/Globals/DAT_AIVDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_AIVPlacementFit.hpp create mode 100644 src/OpenSHC/Globals/DAT_AIVState.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00c9a490.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00c9a510.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00d7d250.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00df2b78.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00eb9b68.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00ec0348.hpp create mode 100644 src/OpenSHC/Globals/DAT_ARRAY_00ed26d0.hpp create mode 100644 src/OpenSHC/Globals/DAT_AlliesCount.hpp create mode 100644 src/OpenSHC/Globals/DAT_ArrayOfStoredMenuStrings.hpp create mode 100644 src/OpenSHC/Globals/DAT_AttackInfoDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_BinkControlClass.hpp create mode 100644 src/OpenSHC/Globals/DAT_BitMapState.hpp create mode 100644 src/OpenSHC/Globals/DAT_BlendFilterArrays.hpp create mode 100644 src/OpenSHC/Globals/DAT_BlendingDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_BottomLeftTextDisplayState.hpp create mode 100644 src/OpenSHC/Globals/DAT_BuildingDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_BuildingSizeIndexMapping.hpp create mode 100644 src/OpenSHC/Globals/DAT_BuildingsState.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonBackgroundBlendStrength.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonBlendStrength.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonCurrentlyInteracting.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonH.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonUnknownZero.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonW.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonX.hpp create mode 100644 src/OpenSHC/Globals/DAT_ButtonY.hpp create mode 100644 src/OpenSHC/Globals/DAT_CheatCodeStringTrackerIndex.hpp create mode 100644 src/OpenSHC/Globals/DAT_ClickedMercUnitType.hpp create mode 100644 src/OpenSHC/Globals/DAT_ClimbLogicDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_CopyOfScenarioGold.hpp create mode 100644 src/OpenSHC/Globals/DAT_CounterFoodWarningInterval.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentBuildingID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentButtonGmDataIndex.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentButtonPictureInGm.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentEntityID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentFramerate.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentLaddermanWalledDataID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentMenuID_3.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentPlayerRanking.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentPlayerUnitLosses.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentPlayerUnitLossesHistory.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentResourceCoreName.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentRockID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentTreeID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentTribeID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentUnitSlotID.hpp create mode 100644 src/OpenSHC/Globals/DAT_CurrentlyRenderedSpriteID.hpp create mode 100644 src/OpenSHC/Globals/DAT_DecoderState.hpp create mode 100644 src/OpenSHC/Globals/DAT_DestroyedBuildingsCount.hpp create mode 100644 src/OpenSHC/Globals/DAT_DestroyedBuildingsCountHistory.hpp create mode 100644 src/OpenSHC/Globals/DAT_DirectionAlgorithmState.hpp create mode 100644 src/OpenSHC/Globals/DAT_DisableMercPostPortraits.hpp create mode 100644 src/OpenSHC/Globals/DAT_EnemyArrayIndex.hpp create mode 100644 src/OpenSHC/Globals/DAT_EnoughGoldForRequestedUnit.hpp create mode 100644 src/OpenSHC/Globals/DAT_EntityDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_EntityState.hpp create mode 100644 src/OpenSHC/Globals/DAT_FileDoesntExist.hpp create mode 100644 src/OpenSHC/Globals/DAT_FinalResultsOrderByColumn.hpp create mode 100644 src/OpenSHC/Globals/DAT_GL_Counter.hpp create mode 100644 src/OpenSHC/Globals/DAT_GMImageHeaders.hpp create mode 100644 src/OpenSHC/Globals/DAT_GMImageOffsets.hpp create mode 100644 src/OpenSHC/Globals/DAT_GMImageSizes.hpp create mode 100644 src/OpenSHC/Globals/DAT_GameCore.hpp create mode 100644 src/OpenSHC/Globals/DAT_GameLoopDurationBuffer.hpp create mode 100644 src/OpenSHC/Globals/DAT_GameLoopStopwatch.hpp create mode 100644 src/OpenSHC/Globals/DAT_GameState.hpp create mode 100644 src/OpenSHC/Globals/DAT_GameSynchronyState.hpp create mode 100644 src/OpenSHC/Globals/DAT_GmImageAddressToBeRendered.hpp create mode 100644 src/OpenSHC/Globals/DAT_GreatestLordDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_HasNoQueryPerformanceFrequency.hpp create mode 100644 src/OpenSHC/Globals/DAT_HighlightedSkirmishType.hpp create mode 100644 src/OpenSHC/Globals/DAT_HoveredState.hpp create mode 100644 src/OpenSHC/Globals/DAT_HusbandID.hpp create mode 100644 src/OpenSHC/Globals/DAT_HusbandUnitType.hpp create mode 100644 src/OpenSHC/Globals/DAT_InsertKeyState.hpp create mode 100644 src/OpenSHC/Globals/DAT_IntroBlendStrength.hpp create mode 100644 src/OpenSHC/Globals/DAT_IntroStep.hpp create mode 100644 src/OpenSHC/Globals/DAT_IntroTimestamp.hpp create mode 100644 src/OpenSHC/Globals/DAT_IntroTransitionStep.hpp create mode 100644 src/OpenSHC/Globals/DAT_IsKeepEnclosed.hpp create mode 100644 src/OpenSHC/Globals/DAT_KeepEnclosementCooldown.hpp create mode 100644 src/OpenSHC/Globals/DAT_LandscapeState.hpp create mode 100644 src/OpenSHC/Globals/DAT_LastSpeechSFXFilename.hpp create mode 100644 src/OpenSHC/Globals/DAT_LastTeamMemberIndex.hpp create mode 100644 src/OpenSHC/Globals/DAT_LoadingBarProgress.hpp create mode 100644 src/OpenSHC/Globals/DAT_LobbyAddAICurrentlyHoveredAI.hpp create mode 100644 src/OpenSHC/Globals/DAT_LowLevelMemory.hpp create mode 100644 src/OpenSHC/Globals/DAT_MainMenuSwingSwordBool.hpp create mode 100644 src/OpenSHC/Globals/DAT_MapDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_MapEditorProperties_ClickedButton.hpp create mode 100644 src/OpenSHC/Globals/DAT_MapMissionType.hpp create mode 100644 src/OpenSHC/Globals/DAT_MapNameCache.hpp create mode 100644 src/OpenSHC/Globals/DAT_MapPropertiesState.hpp create mode 100644 src/OpenSHC/Globals/DAT_MapRenderDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuHandlerState.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuModalComposition1.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuModalComposition2.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuModalComposition3.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuTextInputState.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuViewStackTop.hpp create mode 100644 src/OpenSHC/Globals/DAT_MenuView_TriggerPrepare.hpp create mode 100644 src/OpenSHC/Globals/DAT_MillisecCarry.hpp create mode 100644 src/OpenSHC/Globals/DAT_MiniMapDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_MinimapViewState.hpp create mode 100644 src/OpenSHC/Globals/DAT_MissingResourceState.hpp create mode 100644 src/OpenSHC/Globals/DAT_MissionAestheticsDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_MissionDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_MissionScores.hpp create mode 100644 src/OpenSHC/Globals/DAT_ModalMenuArrayPointerToStackTop.hpp create mode 100644 src/OpenSHC/Globals/DAT_ModifierKeyState.hpp create mode 100644 src/OpenSHC/Globals/DAT_MouseState.hpp create mode 100644 src/OpenSHC/Globals/DAT_NumberOfStoredMenuStrings.hpp create mode 100644 src/OpenSHC/Globals/DAT_OrganismDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_PathFindingState.hpp create mode 100644 src/OpenSHC/Globals/DAT_PencilRenderCore.hpp create mode 100644 src/OpenSHC/Globals/DAT_PerformanceCounterFrequency.hpp create mode 100644 src/OpenSHC/Globals/DAT_PictureNumToGmIDArray_UNUSED.hpp create mode 100644 src/OpenSHC/Globals/DAT_PointerToDisplayElementStackTop.hpp create mode 100644 src/OpenSHC/Globals/DAT_ProtocolDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderMap_DrawSomeX.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderMap_DrawSomeY.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderMap_ImageID.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderMap_YOffset.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderMiniMapOrBinkFlag.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderRelatedX.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderRelatedY.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderedUnitOwner.hpp create mode 100644 src/OpenSHC/Globals/DAT_RenderingDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_RequestedGoodsByWhoArray.hpp create mode 100644 src/OpenSHC/Globals/DAT_ResourceManager.hpp create mode 100644 src/OpenSHC/Globals/DAT_RotateMapOrPullDownTerrain.hpp create mode 100644 src/OpenSHC/Globals/DAT_SFXAmbientEventCountersRescaled.hpp create mode 100644 src/OpenSHC/Globals/DAT_SFXDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_SFXFadeDeltaAccumulator.hpp create mode 100644 src/OpenSHC/Globals/DAT_SFXFadeState.hpp create mode 100644 src/OpenSHC/Globals/DAT_SFXState.hpp create mode 100644 src/OpenSHC/Globals/DAT_SFX_Interval_Campfire.hpp create mode 100644 src/OpenSHC/Globals/DAT_SH1_SiegeAdvancedMode.hpp create mode 100644 src/OpenSHC/Globals/DAT_ScrollingHandler.hpp create mode 100644 src/OpenSHC/Globals/DAT_SentOrRequestedGoodsAmount.hpp create mode 100644 src/OpenSHC/Globals/DAT_SettingsFileState.hpp create mode 100644 src/OpenSHC/Globals/DAT_ShortcutDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_SiegeInformationArray.hpp create mode 100644 src/OpenSHC/Globals/DAT_SiegeInformationArray_2.hpp create mode 100644 src/OpenSHC/Globals/DAT_SiegeRemainingPoints.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkMasterDataEntry.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkMasters2DataArray.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkMasters2Data_Count.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkMasters2Data_Version.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkirmishDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkirmishLobbySetupStructureLongMapName.hpp create mode 100644 src/OpenSHC/Globals/DAT_SkirmishTrailRelated1.hpp create mode 100644 src/OpenSHC/Globals/DAT_SomeTeamMemberPlayerIDArray.hpp create mode 100644 src/OpenSHC/Globals/DAT_SoundEffectsHelperData1.hpp create mode 100644 src/OpenSHC/Globals/DAT_SpeechDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_StopHandlingMenuItems.hpp create mode 100644 src/OpenSHC/Globals/DAT_StoredGameMode.hpp create mode 100644 src/OpenSHC/Globals/DAT_TerrainDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_TextEditorState.hpp create mode 100644 src/OpenSHC/Globals/DAT_TextInputDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_TextManagerObject.hpp create mode 100644 src/OpenSHC/Globals/DAT_TextRelatedTime.hpp create mode 100644 src/OpenSHC/Globals/DAT_TextureRenderCoreObject.hpp create mode 100644 src/OpenSHC/Globals/DAT_TickRateBuffer.hpp create mode 100644 src/OpenSHC/Globals/DAT_TileMapState.hpp create mode 100644 src/OpenSHC/Globals/DAT_Time_Allies1.hpp create mode 100644 src/OpenSHC/Globals/DAT_TotalUnitValueLossesEnemyHistory.hpp create mode 100644 src/OpenSHC/Globals/DAT_Tribe_HighestID.hpp create mode 100644 src/OpenSHC/Globals/DAT_TribesState.hpp create mode 100644 src/OpenSHC/Globals/DAT_TroopDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_TroopValueState.hpp create mode 100644 src/OpenSHC/Globals/DAT_TutorialCurrentStep.hpp create mode 100644 src/OpenSHC/Globals/DAT_UIButtonDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_UIDragDropDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnitHasBecomeIdle.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnitPropertiesDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnitSelectionDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnitTypeRelatedCounter.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnitValueLossesPerEnemyPlayer.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnitsState.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnknownBinkCount.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnknownBinkIndex.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnknownGFXIndex.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnknownStopwatch.hpp create mode 100644 src/OpenSHC/Globals/DAT_UnknownTime_01.hpp create mode 100644 src/OpenSHC/Globals/DAT_UpdateUnitsTracker.hpp create mode 100644 src/OpenSHC/Globals/DAT_UserHelpDefinedData.hpp create mode 100644 src/OpenSHC/Globals/DAT_UserTextHandlerState.hpp create mode 100644 src/OpenSHC/Globals/DAT_VideoBikQueue.hpp create mode 100644 src/OpenSHC/Globals/DAT_ViewportRenderState.hpp create mode 100644 src/OpenSHC/Globals/DAT_WallAndPitchState.hpp create mode 100644 src/OpenSHC/Globals/DAT_WideCharMultiByteState.hpp create mode 100644 src/OpenSHC/Globals/DAT_WifeID.hpp create mode 100644 src/OpenSHC/Globals/DAT_WifeUnitType.hpp create mode 100644 src/OpenSHC/Globals/DAT_WildlifeState.hpp create mode 100644 src/OpenSHC/Globals/DAT_WindowAndDirectDraw.hpp create mode 100644 src/OpenSHC/Globals/DAT_WindowInformation.hpp create mode 100644 src/OpenSHC/Globals/DPLAY_CurrentSessionGUID.hpp create mode 100644 src/OpenSHC/Globals/DPLAY_InterfacePointer.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00b95b1c.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00b98708.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00df3364.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00df3378.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00df5568.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00eb0b18.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00eb9ac4.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ed27a8.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ed311c.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ed3138.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee0fcc.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee0fd4.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee0fdc.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1040.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1044.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1048.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee104c.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1050.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1054.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1058.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee105c.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1060.hpp create mode 100644 src/OpenSHC/Globals/DWORD_00ee1064.hpp create mode 100644 src/OpenSHC/Globals/DWORD_0242746c.hpp create mode 100644 src/OpenSHC/Globals/DWORD_KeepEnclosementTimer.hpp create mode 100644 src/OpenSHC/Globals/DWORD_LatestPLayerStatusMessageTime.hpp create mode 100644 src/OpenSHC/Globals/Dat_UnitValueLossesHistoryPerEnemyPlayer.hpp create mode 100644 src/OpenSHC/Globals/DebugNumbersDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/FLAG_ChristmasAIMessage01to04.hpp create mode 100644 src/OpenSHC/Globals/FLAG_JokeAIMessage05.hpp create mode 100644 src/OpenSHC/Globals/FLAG_JokeAIMessage06.hpp create mode 100644 src/OpenSHC/Globals/FLAG_JokeAIMessage09.hpp create mode 100644 src/OpenSHC/Globals/FLAG_JokeAIMessage12.hpp create mode 100644 src/OpenSHC/Globals/FLAG_JokeAIMessage16.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00b986e8.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00b986ec.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00b986f8.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00b98704.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00eb0e2c.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00eb9b1c.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00eb9b24.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_00ec0834.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_Between1And5.hpp create mode 100644 src/OpenSHC/Globals/FLOAT_Between1and0dot2.hpp create mode 100644 src/OpenSHC/Globals/FilePackagerObj.hpp create mode 100644 src/OpenSHC/Globals/GMTotalPicturesProcessed.hpp create mode 100644 src/OpenSHC/Globals/GUID_CLSID_DirectPlay.hpp create mode 100644 src/OpenSHC/Globals/GUID_CLSID_DirectPlayLobby.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPAID_INet.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPAID_Modem.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPAID_Phone.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPAID_ServiceProvider.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPSPGUID_IPX.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPSPGUID_MODEM.hpp create mode 100644 src/OpenSHC/Globals/GUID_DPSPGUID_TCPIP.hpp create mode 100644 src/OpenSHC/Globals/GUID_IID_IDirectPlay4.hpp create mode 100644 src/OpenSHC/Globals/GUID_IID_IDirectPlay4A.hpp create mode 100644 src/OpenSHC/Globals/GUID_IID_IDirectPlayLobby3.hpp create mode 100644 src/OpenSHC/Globals/GUID_UNKNOWN.hpp create mode 100644 src/OpenSHC/Globals/GamePausedTextDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/GameSpeedTextDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/HLP_WCHAR_Buffer.hpp create mode 100644 src/OpenSHC/Globals/IID_IDirectDraw7.hpp create mode 100644 src/OpenSHC/Globals/INT_00b95950.hpp create mode 100644 src/OpenSHC/Globals/INT_00b95ab8.hpp create mode 100644 src/OpenSHC/Globals/INT_00b95abc.hpp create mode 100644 src/OpenSHC/Globals/INT_00b95b64.hpp create mode 100644 src/OpenSHC/Globals/INT_00b95f68.hpp create mode 100644 src/OpenSHC/Globals/INT_00b95f6c.hpp create mode 100644 src/OpenSHC/Globals/INT_00b960b0.hpp create mode 100644 src/OpenSHC/Globals/INT_00b960f0.hpp create mode 100644 src/OpenSHC/Globals/INT_00b96120.hpp create mode 100644 src/OpenSHC/Globals/INT_00b9844c.hpp create mode 100644 src/OpenSHC/Globals/INT_00b98484.hpp create mode 100644 src/OpenSHC/Globals/INT_00b98664.hpp create mode 100644 src/OpenSHC/Globals/INT_00b98698.hpp create mode 100644 src/OpenSHC/Globals/INT_00df2968.hpp create mode 100644 src/OpenSHC/Globals/INT_00df2970.hpp create mode 100644 src/OpenSHC/Globals/INT_00df335c.hpp create mode 100644 src/OpenSHC/Globals/INT_00df3368.hpp create mode 100644 src/OpenSHC/Globals/INT_00df5574.hpp create mode 100644 src/OpenSHC/Globals/INT_00df557c.hpp create mode 100644 src/OpenSHC/Globals/INT_00df5580.hpp create mode 100644 src/OpenSHC/Globals/INT_00df5584.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb0e28.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb0e30.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb0e44.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb1230.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb9ac0.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb9ae8.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb9b20.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb9b44.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb9b48.hpp create mode 100644 src/OpenSHC/Globals/INT_00eb9b4c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ec02e8.hpp create mode 100644 src/OpenSHC/Globals/INT_00ec0838.hpp create mode 100644 src/OpenSHC/Globals/INT_00ec083c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed2778.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed277c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed27a4.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed27b0.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed3068.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed3114.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed3144.hpp create mode 100644 src/OpenSHC/Globals/INT_00ed315c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee1038.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2350.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2358.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee235c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2360.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee236c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2370.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2378.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee237c.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2384.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee2388.hpp create mode 100644 src/OpenSHC/Globals/INT_00ee238c.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00df5598.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00eb0af0.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00eb0b28.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00eb0e48.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00eb1238.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00eb96d8.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00eb9afc.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00ed2630.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00ed27f0.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00ed2be0.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00ed2fc8.hpp create mode 100644 src/OpenSHC/Globals/INT_ARRAY_00ed3070.hpp create mode 100644 src/OpenSHC/Globals/INT_DisableTutorialRestrictions.hpp create mode 100644 src/OpenSHC/Globals/INT_GameLoopTimeDataIndex.hpp create mode 100644 src/OpenSHC/Globals/InGameChatDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/InGameStartingGoodsCounterDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/InGameWinDefeatWindowDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/KeepAndGranaryPlacementInfoDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/LIB_00df37e0.hpp create mode 100644 src/OpenSHC/Globals/LIB_00df37e4.hpp create mode 100644 src/OpenSHC/Globals/LIB_00df37e8.hpp create mode 100644 src/OpenSHC/Globals/LIB_00df37ec.hpp create mode 100644 src/OpenSHC/Globals/MSVC_SecurityCookie.hpp create mode 100644 src/OpenSHC/Globals/MSVC_SecurityCookie_Inverse.hpp create mode 100644 src/OpenSHC/Globals/MenuModa_TacticalPowerBar.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_Allies.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_AlliesOrder.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_AlliesRequestGoods.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_AlliesSendGoods.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_BasicAiLordSelect.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_BuildingAvailability.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_BuildingHelpText.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_Chat.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_ChooseNetworkServiceProvider.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_ChooseRandomNumberOfEnemies.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_CreditsScroll.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataAiInfo.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataAivStateUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataCurrentPlayerData.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataMapData.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataMousePointing.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataNetwork.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataSplitInfo.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataUnitData.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DebugDataZoneDataUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DeleteGameRecord.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DisableArabTroops.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DisableEuroTroops.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DisableWeapon.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DisplayAiLordMessage.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_DisplayScenarioHelpText.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_EditorMapTypeQuickChange.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_EnterTitleOnGameStart.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_ExtendedAiLordSelect.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_FindingNetworkSessions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_GameplayOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_GreatestLord.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_IdentityOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_InGameHelpText.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_LoadMap.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_MainMenuOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_MapDescriptionEditor.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_NetworkOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_NewEvent.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_NewEventAction.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_NewEventCondition.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_NewInvasion.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_OnlineQuitGame.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_OnlineVoteQuitGame.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_OverlaySlider.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_PauseMenu.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_PauseMenuOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_ProgressBarBox.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_QuitDialog.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_ReceiveMapFrom.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_Roundtable.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_SaveMap.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_SendMapTo.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_SkirmishConnectionOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_SkirmishPlayOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_SoundOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_StartGoods.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TraderSettings.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TriggerEvent.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TriggerEventOrInvasion.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TriggerEventSlider.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TriggerInvasion.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TutorialBox.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_TutorialBoxWithLeave.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_UnusedChooseMessageBox.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_UnusedCreateMessageEvent.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_UnusedCreateTimedMessageEvent.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_UnusedSetName.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_UnusedSiegeAttackingForceUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_UnusedWinCondition.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_VideoOptions.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_WaitingForHost.hpp create mode 100644 src/OpenSHC/Globals/MenuModal_YesNoDialog.hpp create mode 100644 src/OpenSHC/Globals/MenuView_BuildMenu.hpp create mode 100644 src/OpenSHC/Globals/MenuView_BuildingAndStatusMenu.hpp create mode 100644 src/OpenSHC/Globals/MenuView_CampaignUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuView_Credits.hpp create mode 100644 src/OpenSHC/Globals/MenuView_CrusadeEndscreen.hpp create mode 100644 src/OpenSHC/Globals/MenuView_CrusadeMap.hpp create mode 100644 src/OpenSHC/Globals/MenuView_CrusadeMissionIntro.hpp create mode 100644 src/OpenSHC/Globals/MenuView_CustomScenarios.hpp create mode 100644 src/OpenSHC/Globals/MenuView_EditScenario.hpp create mode 100644 src/OpenSHC/Globals/MenuView_GameLost.hpp create mode 100644 src/OpenSHC/Globals/MenuView_GameStartEnterName.hpp create mode 100644 src/OpenSHC/Globals/MenuView_HistoricCampaignIntro.hpp create mode 100644 src/OpenSHC/Globals/MenuView_HistoricCampaignOutro.hpp create mode 100644 src/OpenSHC/Globals/MenuView_HistoricCampaignSelect.hpp create mode 100644 src/OpenSHC/Globals/MenuView_HistoricMissionIntro.hpp create mode 100644 src/OpenSHC/Globals/MenuView_HistoricMissionPicture.hpp create mode 100644 src/OpenSHC/Globals/MenuView_HistoricMissionSelect.hpp create mode 100644 src/OpenSHC/Globals/MenuView_IntroLogos.hpp create mode 100644 src/OpenSHC/Globals/MenuView_IntroVideo.hpp create mode 100644 src/OpenSHC/Globals/MenuView_LobbyMenu.hpp create mode 100644 src/OpenSHC/Globals/MenuView_MainMenu.hpp create mode 100644 src/OpenSHC/Globals/MenuView_MapEditorLandscaping.hpp create mode 100644 src/OpenSHC/Globals/MenuView_MapEditorProperties.hpp create mode 100644 src/OpenSHC/Globals/MenuView_MissionFinishedTransition.hpp create mode 100644 src/OpenSHC/Globals/MenuView_MpConnection.hpp create mode 100644 src/OpenSHC/Globals/MenuView_NewMapMapsize.hpp create mode 100644 src/OpenSHC/Globals/MenuView_NewMapMaptype.hpp create mode 100644 src/OpenSHC/Globals/MenuView_RankingGames.hpp create mode 100644 src/OpenSHC/Globals/MenuView_ScenarioDescription.hpp create mode 100644 src/OpenSHC/Globals/MenuView_SelectCrusade.hpp create mode 100644 src/OpenSHC/Globals/MenuView_SingleplayerMapChoice.hpp create mode 100644 src/OpenSHC/Globals/MenuView_Unknown21.hpp create mode 100644 src/OpenSHC/Globals/MenuView_Unknown26_CampaignRelatedUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuView_Unknown33.hpp create mode 100644 src/OpenSHC/Globals/MenuView_Unknown49DoesNothingUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuView_Unknown61ReturnToSkrimishMenuUnk.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedChooseAvailableKeeps.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedChooseGameType.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedCreateSiege.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedDemoBuyItScreen.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedEconomicGametypeSelect.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedEconomicMissionSelect.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedExtremeAd.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedHelpTextEditor.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedOldTitleMenu.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedSelectRandomNumberOfEnemies.hpp create mode 100644 src/OpenSHC/Globals/MenuView_UnusedSomeMissionStartUnk.hpp create mode 100644 src/OpenSHC/Globals/Menu_Allies.hpp create mode 100644 src/OpenSHC/Globals/Menu_AlliesOrder.hpp create mode 100644 src/OpenSHC/Globals/Menu_AlliesRequestGoods.hpp create mode 100644 src/OpenSHC/Globals/Menu_AlliesSendGoods.hpp create mode 100644 src/OpenSHC/Globals/Menu_BasicAiLordSelect.hpp create mode 100644 src/OpenSHC/Globals/Menu_BuildMenu.hpp create mode 100644 src/OpenSHC/Globals/Menu_BuildingAndStatusMenu.hpp create mode 100644 src/OpenSHC/Globals/Menu_BuildingAvailability.hpp create mode 100644 src/OpenSHC/Globals/Menu_BuildingHelpText.hpp create mode 100644 src/OpenSHC/Globals/Menu_Chat.hpp create mode 100644 src/OpenSHC/Globals/Menu_ChooseNetworkServiceProvider.hpp create mode 100644 src/OpenSHC/Globals/Menu_ChooseRandomNumberOfEnemies.hpp create mode 100644 src/OpenSHC/Globals/Menu_Credits.hpp create mode 100644 src/OpenSHC/Globals/Menu_CrusadeEndscreen.hpp create mode 100644 src/OpenSHC/Globals/Menu_CrusadeMap.hpp create mode 100644 src/OpenSHC/Globals/Menu_CrusadeMissionIntro.hpp create mode 100644 src/OpenSHC/Globals/Menu_CustomScenarios.hpp create mode 100644 src/OpenSHC/Globals/Menu_DebugModals.hpp create mode 100644 src/OpenSHC/Globals/Menu_DeleteGameRecord.hpp create mode 100644 src/OpenSHC/Globals/Menu_DisableArabTroops.hpp create mode 100644 src/OpenSHC/Globals/Menu_DisableEuroTroops.hpp create mode 100644 src/OpenSHC/Globals/Menu_DisableWeapon.hpp create mode 100644 src/OpenSHC/Globals/Menu_DisplayAiLordMessage.hpp create mode 100644 src/OpenSHC/Globals/Menu_DisplayScenarioHelpText.hpp create mode 100644 src/OpenSHC/Globals/Menu_EditScenario.hpp create mode 100644 src/OpenSHC/Globals/Menu_EditorMapTypeQuickChange.hpp create mode 100644 src/OpenSHC/Globals/Menu_Empty10.hpp create mode 100644 src/OpenSHC/Globals/Menu_Empty11.hpp create mode 100644 src/OpenSHC/Globals/Menu_EnterTitleOnGameStart.hpp create mode 100644 src/OpenSHC/Globals/Menu_ExtendedAiLordSelect.hpp create mode 100644 src/OpenSHC/Globals/Menu_FindingNetworkSessions.hpp create mode 100644 src/OpenSHC/Globals/Menu_GameLostUnk.hpp create mode 100644 src/OpenSHC/Globals/Menu_GameplayOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_GreatestLord.hpp create mode 100644 src/OpenSHC/Globals/Menu_HistoricCampaignIntroAndMissionPicture.hpp create mode 100644 src/OpenSHC/Globals/Menu_HistoricCampaignOutroAndMissionIntro.hpp create mode 100644 src/OpenSHC/Globals/Menu_HistoricCampaignSelect.hpp create mode 100644 src/OpenSHC/Globals/Menu_HistoricMissionSelect.hpp create mode 100644 src/OpenSHC/Globals/Menu_IdentityOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_InGameHelpText.hpp create mode 100644 src/OpenSHC/Globals/Menu_IntroLogos.hpp create mode 100644 src/OpenSHC/Globals/Menu_IntroVideo.hpp create mode 100644 src/OpenSHC/Globals/Menu_LoadMap.hpp create mode 100644 src/OpenSHC/Globals/Menu_LobbyMenu.hpp create mode 100644 src/OpenSHC/Globals/Menu_MainMenu.hpp create mode 100644 src/OpenSHC/Globals/Menu_MainMenuOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_MapDescriptionEditor.hpp create mode 100644 src/OpenSHC/Globals/Menu_MapEditorLandscaping.hpp create mode 100644 src/OpenSHC/Globals/Menu_MapEditorProperties.hpp create mode 100644 src/OpenSHC/Globals/Menu_MissionFinishedTransition.hpp create mode 100644 src/OpenSHC/Globals/Menu_NetworkOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_NewEvent.hpp create mode 100644 src/OpenSHC/Globals/Menu_NewEventAction.hpp create mode 100644 src/OpenSHC/Globals/Menu_NewEventCondition.hpp create mode 100644 src/OpenSHC/Globals/Menu_NewInvasion.hpp create mode 100644 src/OpenSHC/Globals/Menu_NewMapMapsize.hpp create mode 100644 src/OpenSHC/Globals/Menu_NewMapMaptype.hpp create mode 100644 src/OpenSHC/Globals/Menu_OnlineQuitGame.hpp create mode 100644 src/OpenSHC/Globals/Menu_OnlineVoteQuitGame.hpp create mode 100644 src/OpenSHC/Globals/Menu_OverlaySlider.hpp create mode 100644 src/OpenSHC/Globals/Menu_PauseMenu.hpp create mode 100644 src/OpenSHC/Globals/Menu_PauseMenuOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_ProgressBarBox.hpp create mode 100644 src/OpenSHC/Globals/Menu_QuitDialog.hpp create mode 100644 src/OpenSHC/Globals/Menu_RankingGames.hpp create mode 100644 src/OpenSHC/Globals/Menu_ReceiveMapFrom.hpp create mode 100644 src/OpenSHC/Globals/Menu_Roundtable.hpp create mode 100644 src/OpenSHC/Globals/Menu_SaveMap.hpp create mode 100644 src/OpenSHC/Globals/Menu_ScenarioDescription.hpp create mode 100644 src/OpenSHC/Globals/Menu_SelectCrusade.hpp create mode 100644 src/OpenSHC/Globals/Menu_SendMapTo.hpp create mode 100644 src/OpenSHC/Globals/Menu_SingleplayerMapChoice.hpp create mode 100644 src/OpenSHC/Globals/Menu_SkirmishConnectionOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_SkirmishPlayOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_SoundOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_StartEnterName.hpp create mode 100644 src/OpenSHC/Globals/Menu_StartGoods.hpp create mode 100644 src/OpenSHC/Globals/Menu_TacticalPowerBar.hpp create mode 100644 src/OpenSHC/Globals/Menu_TraderSettings.hpp create mode 100644 src/OpenSHC/Globals/Menu_TriggerEvent.hpp create mode 100644 src/OpenSHC/Globals/Menu_TriggerEventOrInvasion.hpp create mode 100644 src/OpenSHC/Globals/Menu_TriggerEventSlider.hpp create mode 100644 src/OpenSHC/Globals/Menu_TriggerInvasion.hpp create mode 100644 src/OpenSHC/Globals/Menu_TutorialBox.hpp create mode 100644 src/OpenSHC/Globals/Menu_TutorialBoxWithLeave.hpp create mode 100644 src/OpenSHC/Globals/Menu_Unknown26CampaignRelatedUnk.hpp create mode 100644 src/OpenSHC/Globals/Menu_Unknown27CampaignUnk.hpp create mode 100644 src/OpenSHC/Globals/Menu_Unknown_ManyThings.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedChooseAvailableKeeps.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedChooseGameType.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedChooseMessageBox.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedCreateMessageEvent.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedCreateSiege.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedCreateTimedMessageEvent.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedDemoBuyItScreen.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedEconomicGametypeSelect.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedEconomicMissionSelect.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedExtremeAd.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedHelpTextEditor.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedOldTitleMenu.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedSelectRandomNumberOfEnemies.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedSetName.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedSiegeAttackingForceUnk.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedSomeMissionStartUnk.hpp create mode 100644 src/OpenSHC/Globals/Menu_UnusedWinCondition.hpp create mode 100644 src/OpenSHC/Globals/Menu_VideoOptions.hpp create mode 100644 src/OpenSHC/Globals/Menu_WaitingForHost.hpp create mode 100644 src/OpenSHC/Globals/Menu_YesNoDialog.hpp create mode 100644 src/OpenSHC/Globals/MissionWinDefeatBannerDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/NoRushDisplayElementUnk.hpp create mode 100644 src/OpenSHC/Globals/NoTreeGrowthTextDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/PTR_ARRAY_Unknown_UnitGMHeights.hpp create mode 100644 src/OpenSHC/Globals/PTR_SetWindowLongAThunk.hpp create mode 100644 src/OpenSHC/Globals/PeopleLeftToPlaceDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/PlayerInfoOnHoverDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/PlayerPingUnkDisplayElement22.hpp create mode 100644 src/OpenSHC/Globals/ResourceMissing1DisplayElement.hpp create mode 100644 src/OpenSHC/Globals/ResourceMissing2DisplayElement.hpp create mode 100644 src/OpenSHC/Globals/SEC_RNG.hpp create mode 100644 src/OpenSHC/Globals/SEC_SkirmishLobbySetupStructure.hpp create mode 100644 src/OpenSHC/Globals/SND_SoundSystemObj.hpp create mode 100644 src/OpenSHC/Globals/SomeMissionNumberUnkDisplayElement9.hpp create mode 100644 src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement19.hpp create mode 100644 src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement28.hpp create mode 100644 src/OpenSHC/Globals/TIME_2.hpp create mode 100644 src/OpenSHC/Globals/TIME_ClickedMercUnitTypeMoment.hpp create mode 100644 src/OpenSHC/Globals/TIME_EnumerateSessionsMoment.hpp create mode 100644 src/OpenSHC/Globals/TIME_IdentityOptions.hpp create mode 100644 src/OpenSHC/Globals/TIME_IntroVideo_Prepare.hpp create mode 100644 src/OpenSHC/Globals/TIME_LastGhostSoundMoment.hpp create mode 100644 src/OpenSHC/Globals/TIME_LastVisualLoadingBarUpdate.hpp create mode 100644 src/OpenSHC/Globals/TIME_LoadSaveBar.hpp create mode 100644 src/OpenSHC/Globals/TIME_MercPostAudio.hpp create mode 100644 src/OpenSHC/Globals/TIME_PreviousClick.hpp create mode 100644 src/OpenSHC/Globals/TIME_PreviousQuery.hpp create mode 100644 src/OpenSHC/Globals/TIME_QueryMargin.hpp create mode 100644 src/OpenSHC/Globals/TIME_ReceivedMessage_1.hpp create mode 100644 src/OpenSHC/Globals/TIME_ReceivedMessage_2.hpp create mode 100644 src/OpenSHC/Globals/TIME_Sum_1.hpp create mode 100644 src/OpenSHC/Globals/TUT_RotateMapHappened.hpp create mode 100644 src/OpenSHC/Globals/TimeUntilDefeatDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/TimeUntilVictoryDisplayElement.hpp create mode 100644 src/OpenSHC/Globals/UI_MissionModeIntent.hpp create mode 100644 src/OpenSHC/Globals/UI_NetworkSessionsShadeLogic.hpp create mode 100644 src/OpenSHC/Globals/UNK_UnknownClassLocation2.hpp create mode 100644 src/OpenSHC/Globals/UNK_UnusedClass1Location.hpp create mode 100644 src/OpenSHC/Globals/UNK_UnusedTextLocation1.hpp create mode 100644 src/OpenSHC/Globals/UNK_Unused_00b9578c.hpp create mode 100644 src/OpenSHC/Globals/UNK_Unused_00df3d2c.hpp create mode 100644 src/OpenSHC/Globals/UnknownDisplayElement0.hpp create mode 100644 src/OpenSHC/Globals/UnknownDisplayElement18.hpp create mode 100644 src/OpenSHC/Globals/UnknownDisplayElement25.hpp create mode 100644 src/OpenSHC/Globals/UnknownDisplayElement7.hpp create mode 100644 src/OpenSHC/IO.func.hpp create mode 100644 src/OpenSHC/IO.hpp create mode 100644 src/OpenSHC/IO/Base64State.hpp create mode 100644 src/OpenSHC/IO/BitMapState.func.hpp create mode 100644 src/OpenSHC/IO/BitMapState.hpp create mode 100644 src/OpenSHC/IO/DecoderBuffer.func.hpp create mode 100644 src/OpenSHC/IO/DecoderBuffer.hpp create mode 100644 src/OpenSHC/IO/DecoderState.func.hpp create mode 100644 src/OpenSHC/IO/DecoderState.hpp create mode 100644 src/OpenSHC/IO/DirectoryStructNew.hpp create mode 100644 src/OpenSHC/IO/DirectoryStructOld.hpp create mode 100644 src/OpenSHC/IO/FilePackager.func.hpp create mode 100644 src/OpenSHC/IO/FilePackager.hpp create mode 100644 src/OpenSHC/IO/FileResourceType.hpp create mode 100644 src/OpenSHC/IO/FileResourceTypeInt.hpp create mode 100644 src/OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp create mode 100644 src/OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp create mode 100644 src/OpenSHC/IO/Graphics/GfxRef.hpp create mode 100644 src/OpenSHC/IO/Graphics/GmID.hpp create mode 100644 src/OpenSHC/IO/Graphics/GmIDInt.hpp create mode 100644 src/OpenSHC/IO/Graphics/GmImageType.hpp create mode 100644 src/OpenSHC/IO/Graphics/GmImageTypeInt.hpp create mode 100644 src/OpenSHC/IO/Graphics/ImageHeader.hpp create mode 100644 src/OpenSHC/IO/Graphics/TgxToken.hpp create mode 100644 src/OpenSHC/IO/Graphics/TgxTokenByte.hpp create mode 100644 src/OpenSHC/IO/Helpers/Buffer.hpp create mode 100644 src/OpenSHC/IO/Helpers/BufferHelper.hpp create mode 100644 src/OpenSHC/IO/Helpers/OPENFILENAMEA_Truncated.hpp create mode 100644 src/OpenSHC/IO/LowLevelMemory.func.hpp create mode 100644 src/OpenSHC/IO/LowLevelMemory.hpp create mode 100644 src/OpenSHC/IO/PackagedFileMagicNum.hpp create mode 100644 src/OpenSHC/IO/PackagedFileMagicNumInt.hpp create mode 100644 src/OpenSHC/IO/ResourceManager.func.hpp create mode 100644 src/OpenSHC/IO/ResourceManager.hpp create mode 100644 src/OpenSHC/IO/SettingsFileState.func.hpp create mode 100644 src/OpenSHC/IO/SettingsFileState.hpp create mode 100644 src/OpenSHC/IO/SkMasterDataEntry.hpp create mode 100644 src/OpenSHC/Input.func.hpp create mode 100644 src/OpenSHC/Input.hpp create mode 100644 src/OpenSHC/Input/InsertKeyState.func.hpp create mode 100644 src/OpenSHC/Input/InsertKeyState.hpp create mode 100644 src/OpenSHC/Input/ModifierKeyState.func.hpp create mode 100644 src/OpenSHC/Input/ModifierKeyState.hpp create mode 100644 src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnum.hpp create mode 100644 src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnumByte.hpp create mode 100644 src/OpenSHC/Input/Mouse/MouseClickInteraction.hpp create mode 100644 src/OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp create mode 100644 src/OpenSHC/Input/Mouse/MouseXYUUStruct.hpp create mode 100644 src/OpenSHC/Input/MouseState.func.hpp create mode 100644 src/OpenSHC/Input/MouseState.hpp create mode 100644 src/OpenSHC/Map.func.hpp create mode 100644 src/OpenSHC/Map.hpp create mode 100644 src/OpenSHC/Map/AnimationFrameData.hpp create mode 100644 src/OpenSHC/Map/AttackInfo.hpp create mode 100644 src/OpenSHC/Map/AttackInfoPitchRelated.hpp create mode 100644 src/OpenSHC/Map/AttackInfoSize16.hpp create mode 100644 src/OpenSHC/Map/AttackInfoSomeArrayElement.hpp create mode 100644 src/OpenSHC/Map/AttackInfoSubArrayElement1.hpp create mode 100644 src/OpenSHC/Map/AttackInfoSubArrayElement2.hpp create mode 100644 src/OpenSHC/Map/AttackInfoSubArrayElement3.hpp create mode 100644 src/OpenSHC/Map/AttackInfoSubElement.hpp create mode 100644 src/OpenSHC/Map/Buildings/Building.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingCostResource.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingCostResourceByte.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingCostStruct.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingDefinedData.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingFailReasonEnum.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingFailReasonEnumInt.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingLogicalState.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingLogicalStateShort.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingType.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingTypeInt.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingTypeShort.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingType_jtde.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingType_jtdeShort.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingsState.func.hpp create mode 100644 src/OpenSHC/Map/Buildings/BuildingsState.hpp create mode 100644 src/OpenSHC/Map/Buildings/WheatFarm/WheatFarmFieldSpec.hpp create mode 100644 src/OpenSHC/Map/ClimbData.hpp create mode 100644 src/OpenSHC/Map/Entities.func.hpp create mode 100644 src/OpenSHC/Map/Entities.hpp create mode 100644 src/OpenSHC/Map/Entities/Entity.hpp create mode 100644 src/OpenSHC/Map/Entities/EntityDefinedData.hpp create mode 100644 src/OpenSHC/Map/Entities/EntityState.func.hpp create mode 100644 src/OpenSHC/Map/Entities/EntityState.hpp create mode 100644 src/OpenSHC/Map/Entities/EntityType.hpp create mode 100644 src/OpenSHC/Map/Entities/EntityTypeInt.hpp create mode 100644 src/OpenSHC/Map/Entities/EntityTypeShort.hpp create mode 100644 src/OpenSHC/Map/Entities/ExtraEntityInfo.hpp create mode 100644 src/OpenSHC/Map/Floaters/Floater.hpp create mode 100644 src/OpenSHC/Map/GFX/UnkBytePair.hpp create mode 100644 src/OpenSHC/Map/HeatMap1114.hpp create mode 100644 src/OpenSHC/Map/LandscapeState.func.hpp create mode 100644 src/OpenSHC/Map/LandscapeState.hpp create mode 100644 src/OpenSHC/Map/Location/Point4ShortXY.hpp create mode 100644 src/OpenSHC/Map/Location/Point8.hpp create mode 100644 src/OpenSHC/Map/Location/Point8IntXY.hpp create mode 100644 src/OpenSHC/Map/Location/Point8ShortXY.hpp create mode 100644 src/OpenSHC/Map/LogicHelpers/Logic1.hpp create mode 100644 src/OpenSHC/Map/LogicHelpers/Logic1Flags.hpp create mode 100644 src/OpenSHC/Map/LogicHelpers/Logic1Int.hpp create mode 100644 src/OpenSHC/Map/LogicHelpers/Logic2.hpp create mode 100644 src/OpenSHC/Map/LogicHelpers/Logic2Flags.hpp create mode 100644 src/OpenSHC/Map/LogicHelpers/Logic2Int.hpp create mode 100644 src/OpenSHC/Map/MapColorRelatedStructure1.hpp create mode 100644 src/OpenSHC/Map/MapConstants.hpp create mode 100644 src/OpenSHC/Map/MapDefinedData.hpp create mode 100644 src/OpenSHC/Map/MapHeaderSection4IntStruct.hpp create mode 100644 src/OpenSHC/Map/MapLockState.hpp create mode 100644 src/OpenSHC/Map/MapLockStateInt.hpp create mode 100644 src/OpenSHC/Map/MapMetaInfo.hpp create mode 100644 src/OpenSHC/Map/MapPropertiesState.func.hpp create mode 100644 src/OpenSHC/Map/MapPropertiesState.hpp create mode 100644 src/OpenSHC/Map/MapSectionAddress.hpp create mode 100644 src/OpenSHC/Map/MapType2.hpp create mode 100644 src/OpenSHC/Map/MapType2Int.hpp create mode 100644 src/OpenSHC/Map/Matrices/TranslationMatrixTriplet.hpp create mode 100644 src/OpenSHC/Map/Moat.hpp create mode 100644 src/OpenSHC/Map/Navigation.func.hpp create mode 100644 src/OpenSHC/Map/Navigation.hpp create mode 100644 src/OpenSHC/Map/Navigation/Algorithms/XYPair.hpp create mode 100644 src/OpenSHC/Map/Navigation/Algorithms/XYTileObject.hpp create mode 100644 src/OpenSHC/Map/Navigation/AreaPairInt.hpp create mode 100644 src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp create mode 100644 src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp create mode 100644 src/OpenSHC/Map/Navigation/PathFindingState.func.hpp create mode 100644 src/OpenSHC/Map/Navigation/PathFindingState.hpp create mode 100644 src/OpenSHC/Map/Navigation/PathFindingStatePartB.hpp create mode 100644 src/OpenSHC/Map/Navigation/PathHelper12.hpp create mode 100644 src/OpenSHC/Map/OrganismDefinedData.hpp create mode 100644 src/OpenSHC/Map/PitchDitch.hpp create mode 100644 src/OpenSHC/Map/Rocks.func.hpp create mode 100644 src/OpenSHC/Map/Rocks.hpp create mode 100644 src/OpenSHC/Map/Rocks/Rock.hpp create mode 100644 src/OpenSHC/Map/TerrainDefinedData.hpp create mode 100644 src/OpenSHC/Map/TileMapState.func.hpp create mode 100644 src/OpenSHC/Map/TileMapState.hpp create mode 100644 src/OpenSHC/Map/Trees.func.hpp create mode 100644 src/OpenSHC/Map/Trees.hpp create mode 100644 src/OpenSHC/Map/Trees/Tree.hpp create mode 100644 src/OpenSHC/Map/Trees/TreeType.hpp create mode 100644 src/OpenSHC/Map/Trees/TreeTypeInt.hpp create mode 100644 src/OpenSHC/Map/Trees/TreeTypeShort.hpp create mode 100644 src/OpenSHC/Map/Units.func.hpp create mode 100644 src/OpenSHC/Map/Units.hpp create mode 100644 src/OpenSHC/Map/Units/Attack/TribeSizesPerTribeType.hpp create mode 100644 src/OpenSHC/Map/Units/Behavior/TargetingType.hpp create mode 100644 src/OpenSHC/Map/Units/Behavior/TargetingTypeShort.hpp create mode 100644 src/OpenSHC/Map/Units/Behavior/UnitStanceEnum.hpp create mode 100644 src/OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp create mode 100644 src/OpenSHC/Map/Units/Climbing/ClimbLogicDefinedData.hpp create mode 100644 src/OpenSHC/Map/Units/EngineerSiegeEngineMapping.hpp create mode 100644 src/OpenSHC/Map/Units/EuroRecruitableState.hpp create mode 100644 src/OpenSHC/Map/Units/EuroRecruitableStateInt.hpp create mode 100644 src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnum.hpp create mode 100644 src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp create mode 100644 src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnum.hpp create mode 100644 src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp create mode 100644 src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnum.hpp create mode 100644 src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnumShort.hpp create mode 100644 src/OpenSHC/Map/Units/SomeTribeBehaviorType.hpp create mode 100644 src/OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp create mode 100644 src/OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitStateInt.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitStateShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitStateUnion.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_AppleFarmer.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_AppleFarmerShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_ArabianArcher.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_ArabianArcherShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_DogUnit.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_DogUnitShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_FireThrower.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_FireThrowerShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_Fletcher.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_FletcherShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_HorseArcher.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_HorseArcherShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_Miller.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_MillerShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_OxState.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_OxStateShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_Peasant.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_PeasantInt.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_PeasantShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_PitchMan.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_PitchManShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_QuarryMason.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_QuarryMasonShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_SlingerUnitInt.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_SlingerUnitShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_Tunneler.hpp create mode 100644 src/OpenSHC/Map/Units/States/UnitState_TunnelerShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/WheatFarmerStateEnum.hpp create mode 100644 src/OpenSHC/Map/Units/States/WheatFarmerStateEnumShort.hpp create mode 100644 src/OpenSHC/Map/Units/States/WoodcutterStateEnum.hpp create mode 100644 src/OpenSHC/Map/Units/States/WoodcutterStateEnumShort.hpp create mode 100644 src/OpenSHC/Map/Units/Tribe.hpp create mode 100644 src/OpenSHC/Map/Units/TribesState.func.hpp create mode 100644 src/OpenSHC/Map/Units/TribesState.hpp create mode 100644 src/OpenSHC/Map/Units/TroopValueState.func.hpp create mode 100644 src/OpenSHC/Map/Units/TroopValueState.hpp create mode 100644 src/OpenSHC/Map/Units/Unit.hpp create mode 100644 src/OpenSHC/Map/Units/UnitIDMovementDistancePair.hpp create mode 100644 src/OpenSHC/Map/Units/UnitInstructionType.hpp create mode 100644 src/OpenSHC/Map/Units/UnitInstructionTypeInt.hpp create mode 100644 src/OpenSHC/Map/Units/UnitInstructionTypeShort.hpp create mode 100644 src/OpenSHC/Map/Units/UnitLogicState.hpp create mode 100644 src/OpenSHC/Map/Units/UnitLogicStateShort.hpp create mode 100644 src/OpenSHC/Map/Units/UnitPropertiesDefinedData.hpp create mode 100644 src/OpenSHC/Map/Units/UnitStartupType.hpp create mode 100644 src/OpenSHC/Map/Units/UnitStartupTypeByte.hpp create mode 100644 src/OpenSHC/Map/Units/UnitType.hpp create mode 100644 src/OpenSHC/Map/Units/UnitTypeInt.hpp create mode 100644 src/OpenSHC/Map/Units/UnitTypeShort.hpp create mode 100644 src/OpenSHC/Map/Units/UnitsState.func.hpp create mode 100644 src/OpenSHC/Map/Units/UnitsState.hpp create mode 100644 src/OpenSHC/Map/Version.func.hpp create mode 100644 src/OpenSHC/Map/Version.hpp create mode 100644 src/OpenSHC/Map/WallAndPitchState.func.hpp create mode 100644 src/OpenSHC/Map/WallAndPitchState.hpp create mode 100644 src/OpenSHC/Map/Walls/WallPlacementInfoElementStruct.hpp create mode 100644 src/OpenSHC/Map/Wildlife/WildlifeGridElement.hpp create mode 100644 src/OpenSHC/Map/WildlifeState.func.hpp create mode 100644 src/OpenSHC/Map/WildlifeState.hpp create mode 100644 src/OpenSHC/Map/WindState.hpp create mode 100644 src/OpenSHC/Meta.func.hpp create mode 100644 src/OpenSHC/Meta.hpp create mode 100644 src/OpenSHC/Random/RNG.func.hpp create mode 100644 src/OpenSHC/Random/RNG.hpp create mode 100644 src/OpenSHC/Rendering.func.hpp create mode 100644 src/OpenSHC/Rendering.hpp create mode 100644 src/OpenSHC/Rendering/Bink/AIMessageQueue.func.hpp create mode 100644 src/OpenSHC/Rendering/Bink/AIMessageQueue.hpp create mode 100644 src/OpenSHC/Rendering/Bink/BinkControlClass.func.hpp create mode 100644 src/OpenSHC/Rendering/Bink/BinkControlClass.hpp create mode 100644 src/OpenSHC/Rendering/Bink/BinkDrawingSurface.hpp create mode 100644 src/OpenSHC/Rendering/Bink/BinkDrawingSurfaceInt.hpp create mode 100644 src/OpenSHC/Rendering/Bink/FakeBink.hpp create mode 100644 src/OpenSHC/Rendering/Bink/HBINK.hpp create mode 100644 src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlag.hpp create mode 100644 src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlagInt.hpp create mode 100644 src/OpenSHC/Rendering/Bink/UnsortedBinkFlag.hpp create mode 100644 src/OpenSHC/Rendering/Bink/UnsortedBinkFlagInt.hpp create mode 100644 src/OpenSHC/Rendering/BlendingDefinedData.hpp create mode 100644 src/OpenSHC/Rendering/ColorMode.hpp create mode 100644 src/OpenSHC/Rendering/ColorModeInt.hpp create mode 100644 src/OpenSHC/Rendering/Colors/BGR24.hpp create mode 100644 src/OpenSHC/Rendering/Colors/RGB15.hpp create mode 100644 src/OpenSHC/Rendering/CreditsRelatedStructure.hpp create mode 100644 src/OpenSHC/Rendering/CreditsRelatedStructure2.hpp create mode 100644 src/OpenSHC/Rendering/Enums/DirectDrawStatus.hpp create mode 100644 src/OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp create mode 100644 src/OpenSHC/Rendering/Enums/GmDataIndex.hpp create mode 100644 src/OpenSHC/Rendering/Enums/GmDataIndexInt.hpp create mode 100644 src/OpenSHC/Rendering/Enums/RenderTarget.hpp create mode 100644 src/OpenSHC/Rendering/Enums/RenderTargetInt.hpp create mode 100644 src/OpenSHC/Rendering/MapRenderDefinedData.hpp create mode 100644 src/OpenSHC/Rendering/ScreenResolutionArrayStruct.hpp create mode 100644 src/OpenSHC/Rendering/ScreenResolutionEnum.hpp create mode 100644 src/OpenSHC/Rendering/ScreenResolutionEnumInt.hpp create mode 100644 src/OpenSHC/Rendering/UnitRenderHelpStructure.hpp create mode 100644 src/OpenSHC/Rendering/ViewportRenderState.func.hpp create mode 100644 src/OpenSHC/Rendering/ViewportRenderState.hpp create mode 100644 src/OpenSHC/Rendering/ViewportState.hpp create mode 100644 src/OpenSHC/Rendering/WindowInformation.func.hpp create mode 100644 src/OpenSHC/Rendering/WindowInformation.hpp create mode 100644 src/OpenSHC/SHDE/eMappers.hpp create mode 100644 src/OpenSHC/SHDE/eMappersInt.hpp create mode 100644 src/OpenSHC/Synchrony.func.hpp create mode 100644 src/OpenSHC/Synchrony.hpp create mode 100644 src/OpenSHC/Synchrony/GameSynchronyState.func.hpp create mode 100644 src/OpenSHC/Synchrony/GameSynchronyState.hpp create mode 100644 src/OpenSHC/Synchrony/HashContainer.hpp create mode 100644 src/OpenSHC/Synchrony/HashContainerElement.hpp create mode 100644 src/OpenSHC/Synchrony/HashData.hpp create mode 100644 src/OpenSHC/Synchrony/HashDataContainer.hpp create mode 100644 src/OpenSHC/Synchrony/Networking/ChatEvent.hpp create mode 100644 src/OpenSHC/Synchrony/Networking/ConnectionLagInfo.hpp create mode 100644 src/OpenSHC/Synchrony/Networking/Packet.hpp create mode 100644 src/OpenSHC/Synchrony/Networking/PacketUnion.hpp create mode 100644 src/OpenSHC/Synchrony/Networking/PrefixedPacket.hpp create mode 100644 src/OpenSHC/Synchrony/ProtocolDefinedData.hpp create mode 100644 src/OpenSHC/Text/CharPointerArrayUnion.hpp create mode 100644 src/OpenSHC/Text/FontRenderType.hpp create mode 100644 src/OpenSHC/Text/FontRenderTypeInt.hpp create mode 100644 src/OpenSHC/Text/FontSizeClass.func.hpp create mode 100644 src/OpenSHC/Text/FontSizeClass.hpp create mode 100644 src/OpenSHC/Text/GameLanguage.hpp create mode 100644 src/OpenSHC/Text/GameLanguageInt.hpp create mode 100644 src/OpenSHC/Text/HelpTextRelatedColorStruct.hpp create mode 100644 src/OpenSHC/Text/TextAlignment.hpp create mode 100644 src/OpenSHC/Text/TextAlignmentInt.hpp create mode 100644 src/OpenSHC/Text/TextArrayIndexType.hpp create mode 100644 src/OpenSHC/Text/TextArrayIndexTypeInt.hpp create mode 100644 src/OpenSHC/Text/TextEditorState.func.hpp create mode 100644 src/OpenSHC/Text/TextEditorState.hpp create mode 100644 src/OpenSHC/Text/TextManager.func.hpp create mode 100644 src/OpenSHC/Text/TextManager.hpp create mode 100644 src/OpenSHC/Text/UnkHelpTextRelatedFontStruct.hpp create mode 100644 src/OpenSHC/Text/UserTextHandler.func.hpp create mode 100644 src/OpenSHC/Text/UserTextHandler.hpp create mode 100644 src/OpenSHC/UI.func.hpp create mode 100644 src/OpenSHC/UI.hpp create mode 100644 src/OpenSHC/UI/ActiveMenuTab.hpp create mode 100644 src/OpenSHC/UI/BottomLeftTextDisplayState.func.hpp create mode 100644 src/OpenSHC/UI/BottomLeftTextDisplayState.hpp create mode 100644 src/OpenSHC/UI/BuildingNameRelatedStruct.hpp create mode 100644 src/OpenSHC/UI/BuildingNameRelatedSubStruct.hpp create mode 100644 src/OpenSHC/UI/ButtonState.hpp create mode 100644 src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActions.hpp create mode 100644 src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp create mode 100644 src/OpenSHC/UI/DisplayElement.func.hpp create mode 100644 src/OpenSHC/UI/DisplayElement.hpp create mode 100644 src/OpenSHC/UI/DisplayElementRenderFunc.hpp create mode 100644 src/OpenSHC/UI/Enums/BuildMenuTabType.hpp create mode 100644 src/OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp create mode 100644 src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabType.hpp create mode 100644 src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/CursorType.hpp create mode 100644 src/OpenSHC/UI/Enums/CursorTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/DisplayElementID.hpp create mode 100644 src/OpenSHC/UI/Enums/DisplayElementIDInt.hpp create mode 100644 src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp create mode 100644 src/OpenSHC/UI/Enums/DisplayElementPositionModifier.hpp create mode 100644 src/OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemHandleState.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemRenderFunctionType.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemRenderFunctionTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemType.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemUCMarker.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuModalType.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuModalTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuViewType.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuViewTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp create mode 100644 src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevel.hpp create mode 100644 src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp create mode 100644 src/OpenSHC/UI/Enums/SoundMenuClickType.hpp create mode 100644 src/OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp create mode 100644 src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnum.hpp create mode 100644 src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnumInt.hpp create mode 100644 src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnum.hpp create mode 100644 src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnumInt.hpp create mode 100644 src/OpenSHC/UI/Enums/UserControlID.hpp create mode 100644 src/OpenSHC/UI/Enums/UserControlIDInt.hpp create mode 100644 src/OpenSHC/UI/Enums/UserControlIDShort.hpp create mode 100644 src/OpenSHC/UI/FwdMenuMenuItem.hpp create mode 100644 src/OpenSHC/UI/GreatestLordDefinedData.hpp create mode 100644 src/OpenSHC/UI/Helpers.func.hpp create mode 100644 src/OpenSHC/UI/Helpers.hpp create mode 100644 src/OpenSHC/UI/HoveredState.func.hpp create mode 100644 src/OpenSHC/UI/HoveredState.hpp create mode 100644 src/OpenSHC/UI/HoveredStateElement.hpp create mode 100644 src/OpenSHC/UI/Menu.func.hpp create mode 100644 src/OpenSHC/UI/Menu.hpp create mode 100644 src/OpenSHC/UI/MenuHandlerState.func.hpp create mode 100644 src/OpenSHC/UI/MenuHandlerState.hpp create mode 100644 src/OpenSHC/UI/MenuIDMenuElementAddressPair.hpp create mode 100644 src/OpenSHC/UI/MenuItem.func.hpp create mode 100644 src/OpenSHC/UI/MenuItem.hpp create mode 100644 src/OpenSHC/UI/MenuItemActionHandler.hpp create mode 100644 src/OpenSHC/UI/MenuItemActionHandler_0x20.hpp create mode 100644 src/OpenSHC/UI/MenuItemActionHandler_0x4.hpp create mode 100644 src/OpenSHC/UI/MenuItemCallbackParameter.hpp create mode 100644 src/OpenSHC/UI/MenuItemFirstItemTypeData.hpp create mode 100644 src/OpenSHC/UI/MenuItemPosition.hpp create mode 100644 src/OpenSHC/UI/MenuItemRenderFunction.hpp create mode 100644 src/OpenSHC/UI/MenuItemRenderFunction_0x20.hpp create mode 100644 src/OpenSHC/UI/MenuItemSecondItemTypeData.hpp create mode 100644 src/OpenSHC/UI/MenuItemUCInfo.hpp create mode 100644 src/OpenSHC/UI/MenuModal.func.hpp create mode 100644 src/OpenSHC/UI/MenuModal.hpp create mode 100644 src/OpenSHC/UI/MenuModalComposition.func.hpp create mode 100644 src/OpenSHC/UI/MenuModalComposition.hpp create mode 100644 src/OpenSHC/UI/MenuModalRenderFunction.hpp create mode 100644 src/OpenSHC/UI/MenuTextInputState.func.hpp create mode 100644 src/OpenSHC/UI/MenuTextInputState.hpp create mode 100644 src/OpenSHC/UI/MenuView.func.hpp create mode 100644 src/OpenSHC/UI/MenuView.hpp create mode 100644 src/OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp create mode 100644 src/OpenSHC/UI/MinimapViewState.func.hpp create mode 100644 src/OpenSHC/UI/MinimapViewState.hpp create mode 100644 src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParameters.hpp create mode 100644 src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp create mode 100644 src/OpenSHC/UI/Position.hpp create mode 100644 src/OpenSHC/UI/RenderLoadAndSaveBar.hpp create mode 100644 src/OpenSHC/UI/Rendering.func.hpp create mode 100644 src/OpenSHC/UI/Rendering.hpp create mode 100644 src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp create mode 100644 src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp create mode 100644 src/OpenSHC/UI/Rendering/ButtonGmData.func.hpp create mode 100644 src/OpenSHC/UI/Rendering/ButtonGmData.hpp create mode 100644 src/OpenSHC/UI/Rendering/PencilRenderCore.func.hpp create mode 100644 src/OpenSHC/UI/Rendering/PencilRenderCore.hpp create mode 100644 src/OpenSHC/UI/Rendering/Range.hpp create mode 100644 src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp create mode 100644 src/OpenSHC/UI/Rendering/TextureRenderCore.hpp create mode 100644 src/OpenSHC/UI/Rendering/WindowAndDirectDraw.func.hpp create mode 100644 src/OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp create mode 100644 src/OpenSHC/UI/ScrollDirection.hpp create mode 100644 src/OpenSHC/UI/ScrollDirectionInt.hpp create mode 100644 src/OpenSHC/UI/ScrollSpeed.hpp create mode 100644 src/OpenSHC/UI/ScrollSpeedInt.hpp create mode 100644 src/OpenSHC/UI/ScrollbarOrSliderState.hpp create mode 100644 src/OpenSHC/UI/ScrollingHandler.func.hpp create mode 100644 src/OpenSHC/UI/ScrollingHandler.hpp create mode 100644 src/OpenSHC/UI/ShortcutDefinedData.hpp create mode 100644 src/OpenSHC/UI/TextInputDefinedData.hpp create mode 100644 src/OpenSHC/UI/TextMessageBLLookupStruct.hpp create mode 100644 src/OpenSHC/UI/TextMessageBLLookupStructUnion.hpp create mode 100644 src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextType.hpp create mode 100644 src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextTypeInt.hpp create mode 100644 src/OpenSHC/UI/UC.hpp create mode 100644 src/OpenSHC/UI/UCPointerStruct.hpp create mode 100644 src/OpenSHC/UI/UIButtonDefinedData.hpp create mode 100644 src/OpenSHC/UI/UIDragDropDefinedData.hpp create mode 100644 src/OpenSHC/UI/UnitSelectionDefinedData.hpp create mode 100644 src/OpenSHC/UI/UnknownMenuSubStruct.hpp create mode 100644 src/OpenSHC/UI/UserHelpDefinedData.hpp create mode 100644 src/OpenSHC/UI/drawCall.hpp create mode 100644 src/OpenSHC/Util/FunctionTypes/NoArgCallback.hpp create mode 100644 src/OpenSHC/Util/IntShortUnion.hpp create mode 100644 src/OpenSHC/Util/Timing/Stopwatch.func.hpp create mode 100644 src/OpenSHC/Util/Timing/Stopwatch.hpp create mode 100644 src/OpenSHC/Util/WideCharMultiByteState.func.hpp create mode 100644 src/OpenSHC/Util/WideCharMultiByteState.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/CodePage.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/CodePageInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethod.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethodInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessage.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessageInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlag.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlagInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/LoadCursorDefault.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/LoadCursorDefaultInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/OpenFlag.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/OpenFlagInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/RawWindowsMessage.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/RawWindowsMessageInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCap.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCapInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetric.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetricInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKey.hpp create mode 100644 src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKeyInt.hpp create mode 100644 src/OpenSHC/WindowsHelper/Structs/threadmbcinfostructWINE.hpp create mode 100644 src/OpenSHC/WindowsHelper/cdeclVoidFunc.hpp create mode 100644 src/OpenSHC/_SHCDE/eAppModes.hpp create mode 100644 src/OpenSHC/_SHCDE/eAppModesInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eGM.hpp create mode 100644 src/OpenSHC/_SHCDE/eGMInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eInBuildingModes.hpp create mode 100644 src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eMappers.hpp create mode 100644 src/OpenSHC/_SHCDE/eMappersInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eMusicIDs.hpp create mode 100644 src/OpenSHC/_SHCDE/eMusicIDsInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eOnScreenText.hpp create mode 100644 src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eSFX.hpp create mode 100644 src/OpenSHC/_SHCDE/eSFXInt.hpp create mode 100644 src/OpenSHC/_SHCDE/eTextSections.hpp create mode 100644 src/OpenSHC/_SHCDE/eTextSectionsInt.hpp diff --git a/src/OpenSHC/AI/AIAttackWaveTarget.hpp b/src/OpenSHC/AI/AIAttackWaveTarget.hpp new file mode 100644 index 0000000..2fba339 --- /dev/null +++ b/src/OpenSHC/AI/AIAttackWaveTarget.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIAttackWaveTarget.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIAttackWaveTarget { + + AIAWT_Walls = 1010, // 0x000003F2 + AIAWT_Buildings = 1013, // 0x000003F5 + AIAWT_Towers = 1014 // 0x000003F6 + + } AIAttackWaveTarget; + + static_assert_cpp98_obj(sizeof(AIAttackWaveTarget) == 4, AIAttackWaveTarget); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIAttackWaveTargetInt.hpp b/src/OpenSHC/AI/AIAttackWaveTargetInt.hpp new file mode 100644 index 0000000..f4abe26 --- /dev/null +++ b/src/OpenSHC/AI/AIAttackWaveTargetInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIAttackWaveTargetInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIAttackWaveTarget.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIAttackWaveTargetInt; + + static_assert_cpp98_obj(sizeof(AIAttackWaveTargetInt) == 4, AIAttackWaveTargetInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIC/AICSpecification.hpp b/src/OpenSHC/AI/AIC/AICSpecification.hpp new file mode 100644 index 0000000..da67682 --- /dev/null +++ b/src/OpenSHC/AI/AIC/AICSpecification.hpp @@ -0,0 +1,196 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIC/AICSpecification.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIC/AITargetChoiceInt.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIC { + + using OpenSHC::AI::AIC::AITargetChoiceInt; + +#pragma pack(push, 1) + // SIZE: 0x000002A4 + typedef struct AICSpecification { + + dword flagType; // 0x00000000 length: 4 + dword unknown001; // 0x00000004 length: 4 + dword unknown002; // 0x00000008 length: 4 + dword unknown003; // 0x0000000C length: 4 + dword unknown004; // 0x00000010 length: 4 + dword unknown005; // 0x00000014 length: 4 + dword criticalPopularity; // 0x00000018 length: 4 + dword lowestPopularity; // 0x0000001C length: 4 + dword highestPopularity; // 0x00000020 length: 4 + dword taxesMin; // 0x00000024 length: 4 + dword taxesMax; // 0x00000028 length: 4 + dword unknown011; // 0x0000002C length: 4 + dword farm1; // 0x00000030 length: 4 + dword farm2; // 0x00000034 length: 4 + dword farm3; // 0x00000038 length: 4 + dword farm4; // 0x0000003C length: 4 + dword farm5; // 0x00000040 length: 4 + dword farm6; // 0x00000044 length: 4 + dword farm7; // 0x00000048 length: 4 + dword farm8; // 0x0000004C length: 4 + dword populationPerFarm; // 0x00000050 length: 4 + dword populationPerWoodcutter; // 0x00000054 length: 4 + dword populationPerQuarry; // 0x00000058 length: 4 + dword populationPerIronmine; // 0x0000005C length: 4 + dword populationPerPitchrig; // 0x00000060 length: 4 + dword maxQuarries; // 0x00000064 length: 4 + dword maxIronmines; // 0x00000068 length: 4 + dword maxWoodcutters; // 0x0000006C length: 4 + dword maxPitchrigs; // 0x00000070 length: 4 + dword maxFarms; // 0x00000074 length: 4 + dword buildInterval; // 0x00000078 length: 4 + dword resourceRebuildDelay; // 0x0000007C length: 4 + dword maxFood; // 0x00000080 length: 4 + dword minimumApples; // 0x00000084 length: 4 + dword minimumCheese; // 0x00000088 length: 4 + dword minimumBread; // 0x0000008C length: 4 + dword minimumWheat; // 0x00000090 length: 4 + dword minimumHop; // 0x00000094 length: 4 + dword tradeAmountFood; // 0x00000098 length: 4 + dword tradeAmountEquipment; // 0x0000009C length: 4 + dword aiRequestDelay; // 0x000000A0 length: 4 + dword minimumGoodsRequiredAfterTrade; // 0x000000A4 length: 4 + dword doubleRationsFoodThreshold; // 0x000000A8 length: 4 + dword maxWood; // 0x000000AC length: 4 + dword maxStone; // 0x000000B0 length: 4 + dword maxResourceOther; // 0x000000B4 length: 4 + dword maxEquipment; // 0x000000B8 length: 4 + dword maxBeer; // 0x000000BC length: 4 + dword maxResourceVariance; // 0x000000C0 length: 4 + dword recruitGoldThreshold; // 0x000000C4 length: 4 + int blacksmithSetting; // 0x000000C8 length: 4 + int fletcherSetting; // 0x000000CC length: 4 + int poleturnerSetting; // 0x000000D0 length: 4 + dword sellResource01; // 0x000000D4 length: 4 + dword sellResource02; // 0x000000D8 length: 4 + dword sellResource03; // 0x000000DC length: 4 + dword sellResource04; // 0x000000E0 length: 4 + dword sellResource05; // 0x000000E4 length: 4 + dword sellResource06; // 0x000000E8 length: 4 + dword sellResource07; // 0x000000EC length: 4 + dword sellResource08; // 0x000000F0 length: 4 + dword sellResource09; // 0x000000F4 length: 4 + dword sellResource10; // 0x000000F8 length: 4 + dword sellResource11; // 0x000000FC length: 4 + dword sellResource12; // 0x00000100 length: 4 + dword sellResource13; // 0x00000104 length: 4 + dword sellResource14; // 0x00000108 length: 4 + dword sellResource15; // 0x0000010C length: 4 + dword defWallPatrolRallyTime; // 0x00000110 length: 4 + dword defWallPatrolGroups; // 0x00000114 length: 4 + dword defSiegeEngineGoldThreshold; // 0x00000118 length: 4 + dword defSiegeEngineBuildDelay; // 0x0000011C length: 4 + dword unknown072; // 0x00000120 length: 4 + dword unknown073; // 0x00000124 length: 4 + dword recruitProbDefDefault; // 0x00000128 length: 4 + dword recruitProbDefWeak; // 0x0000012C length: 4 + dword recruitProbDefStrong; // 0x00000130 length: 4 + dword recruitProbRaidDefault; // 0x00000134 length: 4 + dword recruitProbRaidWeak; // 0x00000138 length: 4 + dword recruitProbRaidStrong; // 0x0000013C length: 4 + dword recruitProbAttackDefault; // 0x00000140 length: 4 + dword recruitProbAttackWeak; // 0x00000144 length: 4 + dword recruitProbAttackStrong; // 0x00000148 length: 4 + dword SortieUnitRangedMin; // 0x0000014C length: 4 + dword SortieUnitRanged; // 0x00000150 length: 4 + dword SortieUnitMeleeMin; // 0x00000154 length: 4 + dword SortieUnitMelee; // 0x00000158 length: 4 + dword DefDiggingUnitMax; // 0x0000015C length: 4 + dword DefDiggingUnit; // 0x00000160 length: 4 + dword RecruitInterval; // 0x00000164 length: 4 + dword RecruitIntervalWeak; // 0x00000168 length: 4 + dword RecruitIntervalStrong; // 0x0000016C length: 4 + dword DefTotal; // 0x00000170 length: 4 + dword OuterPatrolGroupsCount; // 0x00000174 length: 4 + dword OuterPatrolGroupsMove; // 0x00000178 length: 4 + dword OuterPatrolRallyDelay; // 0x0000017C length: 4 + dword DefWalls; // 0x00000180 length: 4 + dword DefUnit1; // 0x00000184 length: 4 + dword DefUnit2; // 0x00000188 length: 4 + dword DefUnit3; // 0x0000018C length: 4 + dword DefUnit4; // 0x00000190 length: 4 + dword DefUnit5; // 0x00000194 length: 4 + dword DefUnit6; // 0x00000198 length: 4 + dword DefUnit7; // 0x0000019C length: 4 + dword DefUnit8; // 0x000001A0 length: 4 + dword RaidUnitsBase; // 0x000001A4 length: 4 + dword RaidUnitsRandom; // 0x000001A8 length: 4 + dword RaidUnit1; // 0x000001AC length: 4 + dword RaidUnit2; // 0x000001B0 length: 4 + dword RaidUnit3; // 0x000001B4 length: 4 + dword RaidUnit4; // 0x000001B8 length: 4 + dword RaidUnit5; // 0x000001BC length: 4 + dword RaidUnit6; // 0x000001C0 length: 4 + dword RaidUnit7; // 0x000001C4 length: 4 + dword RaidUnit8; // 0x000001C8 length: 4 + dword HarassingSiegeEngine1; // 0x000001CC length: 4 + dword HarassingSiegeEngine2; // 0x000001D0 length: 4 + dword HarassingSiegeEngine3; // 0x000001D4 length: 4 + dword HarassingSiegeEngine4; // 0x000001D8 length: 4 + dword HarassingSiegeEngine5; // 0x000001DC length: 4 + dword HarassingSiegeEngine6; // 0x000001E0 length: 4 + dword HarassingSiegeEngine7; // 0x000001E4 length: 4 + dword HarassingSiegeEngine8; // 0x000001E8 length: 4 + dword HarassingSiegeEnginesMax; // 0x000001EC length: 4 + dword RaidRetargetDelay; // 0x000001F0 length: 4 + dword AttForceBase; // 0x000001F4 length: 4 + dword AttForceRandom; // 0x000001F8 length: 4 + dword AttForceSupportAllyThreshold; // 0x000001FC length: 4 + dword AttForceRallyPercentage; // 0x00000200 length: 4 + dword Unknown129; // 0x00000204 length: 4 + dword AttAssaultDelay; // 0x00000208 length: 4 + dword AttUnitPatrolRecommandDelay; // 0x0000020C length: 4 + dword Unknown132; // 0x00000210 length: 4 + dword SiegeEngine1; // 0x00000214 length: 4 + dword SiegeEngine2; // 0x00000218 length: 4 + dword SiegeEngine3; // 0x0000021C length: 4 + dword SiegeEngine4; // 0x00000220 length: 4 + dword SiegeEngine5; // 0x00000224 length: 4 + dword SiegeEngine6; // 0x00000228 length: 4 + dword SiegeEngine7; // 0x0000022C length: 4 + dword SiegeEngine8; // 0x00000230 length: 4 + dword CowThrowInterval; // 0x00000234 length: 4 + dword Unknown142; // 0x00000238 length: 4 + dword AttMaxEngineers; // 0x0000023C length: 4 + dword AttDiggingUnit; // 0x00000240 length: 4 + dword AttDiggingUnitMax; // 0x00000244 length: 4 + dword AttUnit2; // 0x00000248 length: 4 + dword AttUnit2Max; // 0x0000024C length: 4 + dword AttMaxAssassins; // 0x00000250 length: 4 + dword AttMaxLaddermen; // 0x00000254 length: 4 + dword AttMaxTunnelers; // 0x00000258 length: 4 + dword AttUnitPatrol; // 0x0000025C length: 4 + dword AttUnitPatrolMax; // 0x00000260 length: 4 + dword AttUnitPatrolGroupsCount; // 0x00000264 length: 4 + dword AttUnitBackup; // 0x00000268 length: 4 + dword AttUnitBackupMax; // 0x0000026C length: 4 + dword AttUnitBackupGroupsCount; // 0x00000270 length: 4 + dword AttUnitEngage; // 0x00000274 length: 4 + dword AttUnitEngageMax; // 0x00000278 length: 4 + dword AttUnitSiegeDef; // 0x0000027C length: 4 + dword AttUnitSiegeDefMax; // 0x00000280 length: 4 + dword AttUnitSiegeDefGroupsCount; // 0x00000284 length: 4 + dword AttUnitMain1; // 0x00000288 length: 4 + dword AttUnitMain2; // 0x0000028C length: 4 + dword AttUnitMain3; // 0x00000290 length: 4 + dword AttUnitMain4; // 0x00000294 length: 4 + dword AttMaxDefault; // 0x00000298 length: 4 + dword AttMainGroupsCount; // 0x0000029C length: 4 + AITargetChoiceInt TargetChoice; // 0x000002A0 length: 4 + + } AICSpecification; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AICSpecification) == 676, AICSpecification); + } // namespace AIC +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIC/AITargetChoice.hpp b/src/OpenSHC/AI/AIC/AITargetChoice.hpp new file mode 100644 index 0000000..70fe5ac --- /dev/null +++ b/src/OpenSHC/AI/AIC/AITargetChoice.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIC/AITargetChoice.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace AIC { + typedef enum AITargetChoice { + + AITC_GOLD = 0, // 0x00000000 + AITC_BALANCED = 1, // 0x00000001 + AITC_CLOSEST = 2, // 0x00000002 + AITC_ANY = 3, // 0x00000003 + AITC_PLAYER = 4 // 0x00000004 + + } AITargetChoice; + + static_assert_cpp98_obj(sizeof(AITargetChoice) == 4, AITargetChoice); + } // namespace AIC +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIC/AITargetChoiceInt.hpp b/src/OpenSHC/AI/AIC/AITargetChoiceInt.hpp new file mode 100644 index 0000000..4126715 --- /dev/null +++ b/src/OpenSHC/AI/AIC/AITargetChoiceInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIC/AITargetChoiceInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIC/AITargetChoice.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIC { + typedef int AITargetChoiceInt; + + static_assert_cpp98_obj(sizeof(AITargetChoiceInt) == 4, AITargetChoiceInt); + } // namespace AIC +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AICState.func.hpp b/src/OpenSHC/AI/AICState.func.hpp new file mode 100644 index 0000000..d7786ea --- /dev/null +++ b/src/OpenSHC/AI/AICState.func.hpp @@ -0,0 +1,695 @@ +/** + path: 'OpenSHC/AI/AICState.func.hpp' +*/ + +#include "OpenSHC/AI/AICState.hpp" +#include "OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp" +#include "OpenSHC/AI/AIUnitBehaviourTypeInt.hpp" +#include "OpenSHC/AI/AIVUnitTypeInt.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace AI { + namespace AICState_Func { + + using OpenSHC::AI::AINervousDestroyBuildingCategoryInt; + using OpenSHC::AI::AIUnitBehaviourTypeInt; + using OpenSHC::AI::AIVUnitTypeInt; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004C6D30, &AICState::wipeAICMemory) + wipeAICMemory; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C6D60, &AICState::setAICParameters_01) + setAICParameters_01; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C7120, &AICState::setAICParameters_02) + setAICParameters_02; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C7520, &AICState::setAICParameters_03) + setAICParameters_03; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C7910, &AICState::setAICParameters_04) + setAICParameters_04; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C7D20, &AICState::setAICParameters_05) + setAICParameters_05; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C8110, &AICState::setAICParameters_06) + setAICParameters_06; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C8530, &AICState::setAICParameters_07) + setAICParameters_07; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C8920, &AICState::setAICParameters_08) + setAICParameters_08; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C8D20, &AICState::setAICParameters_09) + setAICParameters_09; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C9120, &AICState::setAICParameters_10) + setAICParameters_10; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C94F0, &AICState::setAICParameters_11) + setAICParameters_11; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C9900, &AICState::setAICParameters_12) + setAICParameters_12; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004C9CF0, &AICState::setAICParameters_13) + setAICParameters_13; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CA0C0, &AICState::setAICParameters_14) + setAICParameters_14; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CA4D0, &AICState::setAICParameters_15) + setAICParameters_15; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CA8A0, &AICState::setAICParameters_16) + setAICParameters_16; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004CAC70, &AICState::clearPlayerDataInformationChunk) + clearPlayerDataInformationChunk; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CACB0, + &AICState::setTargetForTribeBasedOnTargetChoiceLogic) + setTargetForTribeBasedOnTargetChoiceLogic; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CAEA0, &AICState::updateTaxesAndRationsForAI) + updateTaxesAndRationsForAI; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB060, &AICState::setFoodBuyPlan) + setFoodBuyPlan; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB120, &AICState::getAIBuildInterval) + getAIBuildInterval; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB150, &AICState::getResourceRebuildDelay) + getResourceRebuildDelay; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB180, &AICState::aiFarmChoice) + aiFarmChoice; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB1B0, &AICState::setNextFarmTypeToBuild) + setNextFarmTypeToBuild; + + MACRO_FUNCTION_RESOLVER( + uint (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB220, &AICState::aiShouldBuildFarm) + aiShouldBuildFarm; + + MACRO_FUNCTION_RESOLVER( + uint (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB290, &AICState::aiShouldBuildWoodcutter) + aiShouldBuildWoodcutter; + + MACRO_FUNCTION_RESOLVER( + uint (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB330, &AICState::aiShouldBuildQuarry) + aiShouldBuildQuarry; + + MACRO_FUNCTION_RESOLVER( + undefined4 (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB3A0, &AICState::aiRequiresExtraOxtethers) + aiRequiresExtraOxtethers; + + MACRO_FUNCTION_RESOLVER( + uint (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB4D0, &AICState::aiShouldBuildIronMine) + aiShouldBuildIronMine; + + MACRO_FUNCTION_RESOLVER( + uint (AICState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004CB540, &AICState::aiShouldBuildPitchrig) + aiShouldBuildPitchrig; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(PlayerID, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004CB5B0, &AICState::shouldNotBeBuildingHovel) + shouldNotBeBuildingHovel; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004CB610, &AICState::shouldWaitWithBuildingNegativeFearFactor) + shouldWaitWithBuildingNegativeFearFactor; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004CB700, &AICState::shouldWaitWithBuildingAPositiveFearFactor) + shouldWaitWithBuildingAPositiveFearFactor; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB810, &AICState::destroyHouse) + destroyHouse; + + MACRO_FUNCTION_RESOLVER(undefined4 (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB890, + &AICState::shouldDestroyWoodCutterUnk) + shouldDestroyWoodCutterUnk; + + MACRO_FUNCTION_RESOLVER(undefined4 (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CB940, + &AICState::destroyBuildingIfNoWorker) + destroyBuildingIfNoWorker; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004CB9F0, &AICState::shouldNotBuildMarketArmoryGranaryBarracksMercenarypost) + shouldNotBuildMarketArmoryGranaryBarracksMercenarypost; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CBA50, + &AICState::planToBuyWhenLowOnResourceAndSnoozeBuildings) + planToBuyWhenLowOnResourceAndSnoozeBuildings; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CBE30, + &AICState::setupWorkshopProductionType) + setupWorkshopProductionType; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, ResourceTypeInt, int), false, Address::SHC_3BB0A8C1_0x004CBFA0, + &AICState::sellGoods) + sellGoods; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, ResourceTypeInt, int), false, + Address::SHC_3BB0A8C1_0x004CC000, &AICState::buyGoods) + buyGoods; + + MACRO_FUNCTION_RESOLVER(AIUnitBehaviourTypeInt (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CC070, + &AICState::randomlySelectAttackUnitTypeToRecruit) + randomlySelectAttackUnitTypeToRecruit; + + MACRO_FUNCTION_RESOLVER(UnitTypeInt (AICState::*)(int, AIUnitBehaviourTypeInt), false, + Address::SHC_3BB0A8C1_0x004CC250, &AICState::getUnitTypeForUnitBehaviourType) + getUnitTypeForUnitBehaviourType; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004CC420, + &AICState::generateSiegeCreationInformation) + generateSiegeCreationInformation; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CC520, &AICState::recruitEngineers) + recruitEngineers; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CC5A0, + &AICState::assignRequiredIdleEngineersToNewTribe) + assignRequiredIdleEngineersToNewTribe; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CC680, &AICState::addEngineersToSelection) + addEngineersToSelection; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CC720, &AICState::addUnitsToTribe166) + addUnitsToTribe166; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CC7B0, &AICState::syncBehaviourType7UnitTribes) + syncBehaviourType7UnitTribes; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CC840, + &AICState::addUnitToTribeType10_moatdiggersUnk) + addUnitToTribeType10_moatdiggersUnk; + + MACRO_FUNCTION_RESOLVER( + undefined4 (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CC8D0, &AICState::unitIDIsRangedOrArmored) + unitIDIsRangedOrArmored; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CC910, &AICState::createTribeForUnitType) + createTribeForUnitType; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int, short*), false, Address::SHC_3BB0A8C1_0x004CC990, &AICState::smallestTribeOfUnitType) + smallestTribeOfUnitType; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CCBE0, &AICState::getDefensiveTribeForUnit) + getDefensiveTribeForUnit; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(short*, undefined, int), false, Address::SHC_3BB0A8C1_0x004CCD20, + &AICState::addUnitToSmallestBehaviourTypeTribe) + addUnitToSmallestBehaviourTypeTribe; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x004CD0C0, &AICState::sendUnitsToKeep) + sendUnitsToKeep; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CD110, &AICState::sendUnitsToCampfire) + sendUnitsToCampfire; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CD160, &AICState::digNearestMoat) + digNearestMoat; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CD250, + &AICState::canNavigateUnitsFromTileToTargetTile) + canNavigateUnitsFromTileToTargetTile; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CD2A0, &AICState::recruitHarrassingSiegeEngines) + recruitHarrassingSiegeEngines; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CD560, &AICState::recruitSortieRangedUnits) + recruitSortieRangedUnits; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CD690, &AICState::recruitSortieMeleeUnits) + recruitSortieMeleeUnits; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CD7B0, &AICState::instructTribe166ToMove) + instructTribe166ToMove; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CD8F0, &AICState::giveMoveCommandToSortieUnits) + giveMoveCommandToSortieUnits; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CDA50, + &AICState::addBuildingToSomePlayerStateArray) + addBuildingToSomePlayerStateArray; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CDAB0, + &AICState::selectBuildingFromAListOfBuildingTypes) + selectBuildingFromAListOfBuildingTypes; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CDB20, + &AICState::chooseRandomBuildingIDFromPlayersArrayOfBuildings) + chooseRandomBuildingIDFromPlayersArrayOfBuildings; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CDBC0, + &AICState::getTargetableBuildingForPlayerID) + getTargetableBuildingForPlayerID; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x004CDCA0, + &AICState::selectRandomBuildingIDFromListOfBuildingTypes) + selectRandomBuildingIDFromListOfBuildingTypes; + + MACRO_FUNCTION_RESOLVER(undefined4 (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CDCF0, + &AICState::shouldWeAttackOrWaitForTeammates) + shouldWeAttackOrWaitForTeammates; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CDE60, &AICState::setCurrentAttackStrength) + setCurrentAttackStrength; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CDF10, &AICState::setCurrentAttackRaidParameter) + setCurrentAttackRaidParameter; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CDFD0, &AICState::setAttackPrimeInfo) + setAttackPrimeInfo; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CE040, + &AICState::recomputeDistancesToAttackedKeepRelated) + recomputeDistancesToAttackedKeepRelated; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004CE110, &AICState::recomputeAttackAIZone) + recomputeAttackAIZone; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004CE1A0, &AICState::recomputeAIZonerLayer) + recomputeAIZonerLayer; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CE200, + &AICState::computeAndStoreShortestDistanceToKeepUnk) + computeAndStoreShortestDistanceToKeepUnk; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CE3B0, &AICState::setNextMoveLocationForUnits) + setNextMoveLocationForUnits; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CE430, + &AICState::removeOrganismsAndSetMoveDestinationPairs) + removeOrganismsAndSetMoveDestinationPairs; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(short*), false, Address::SHC_3BB0A8C1_0x004CE4D0, &AICState::aiRetreatUnits) + aiRetreatUnits; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, short*), false, Address::SHC_3BB0A8C1_0x004CE5F0, + &AICState::sendUnitsToPlayerIDsKeepIfPossible) + sendUnitsToPlayerIDsKeepIfPossible; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CE790, + &AICState::setRallyRelatedFlagOnAllAIAttackTribes) + setRallyRelatedFlagOnAllAIAttackTribes; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(short*), false, Address::SHC_3BB0A8C1_0x004CE830, &AICState::moveAttackTribesToLocations) + moveAttackTribesToLocations; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CE930, + &AICState::findAttackTribePositionAndPathToDefenses) + findAttackTribePositionAndPathToDefenses; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CEA50, + &AICState::makeUnitsGoDefensiveAndBackToSomeLocation) + makeUnitsGoDefensiveAndBackToSomeLocation; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CEB50, &AICState::giveMoveCommandToAttackTribes) + giveMoveCommandToAttackTribes; + + MACRO_FUNCTION_RESOLVER(uint (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CEC80, + &AICState::aiChoiceAttForceRallyPercentage) + aiChoiceAttForceRallyPercentage; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CED90, + &AICState::percentageNonMovingTribesGTEAICSpecified) + percentageNonMovingTribesGTEAICSpecified; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CEEA0, + &AICState::processAttForceRallyPercentage) + processAttForceRallyPercentage; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(CommandBuildingTypeInt), false, Address::SHC_3BB0A8C1_0x004CEFD0, + &AICState::useAITribe_0x12_toPlaceSiegeTentsAndAssignEngineers) + useAITribe_0x12_toPlaceSiegeTentsAndAssignEngineers; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF180, &AICState::useAITribe_0xe_toPlaceTunnels) + useAITribe_0xe_toPlaceTunnels; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF270, &AICState::aiAttackWave_tribe13Unk) + aiAttackWave_tribe13Unk; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF2E0, &AICState::aiAttackWave_tribe12Unk) + aiAttackWave_tribe12Unk; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF400, + &AICState::setTribe0xCtoAggressiveAndAttack) + setTribe0xCtoAggressiveAndAttack; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF470, &AICState::aiAttackWave_tribe11Unk) + aiAttackWave_tribe11Unk; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF4F0, &AICState::sendAITribe_0xf_toAttackPatrol) + sendAITribe_0xf_toAttackPatrol; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF560, + &AICState::setTribe0x11ToAggressiveAndAttackIfConditionMet) + setTribe0x11ToAggressiveAndAttackIfConditionMet; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF5E0, + &AICState::setEightTribe0xc0TribesToAggressiveAndAttack) + setEightTribe0xc0TribesToAggressiveAndAttack; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF660, &AICState::aiAttackWallsSmthUnk) + aiAttackWallsSmthUnk; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF6E0, + &AICState::setTribe0xbToAggressiveAndAttack) + setTribe0xbToAggressiveAndAttack; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF750, &AICState::sendTribeToAttack) + sendTribeToAttack; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF7C0, &AICState::commandFourTribesToMove) + commandFourTribesToMove; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CF870, &AICState::clearOutdatedAITribes) + clearOutdatedAITribes; + + MACRO_FUNCTION_RESOLVER( + undefined4 (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CF920, &AICState::giveSomeRaidCommand) + giveSomeRaidCommand; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CFA10, &AICState::addRallyPointForTribe) + addRallyPointForTribe; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CFB20, &AICState::disbandAIPlayerSiegeUnits) + disbandAIPlayerSiegeUnits; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CFBC0, &AICState::countSiegeEngineUnits) + countSiegeEngineUnits; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CFCD0, &AICState::aiAttackWaveSiegeUnitsUnk) + aiAttackWaveSiegeUnitsUnk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CFF60, &AICState::yieldCowThrow) + yieldCowThrow; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004CFFD0, &AICState::hasNoTroopsOrAllAreDiggers) + hasNoTroopsOrAllAreDiggers; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D00A0, &AICState::hasNotEnoughSupplies) + hasNotEnoughSupplies; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D0110, &AICState::setAttackWillingnessUnk) + setAttackWillingnessUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, BOOLEnum), false, Address::SHC_3BB0A8C1_0x004D0190, + &AICState::teamIsWeakRelativeToEnemy) + teamIsWeakRelativeToEnemy; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, AINervousDestroyBuildingCategoryInt), false, + Address::SHC_3BB0A8C1_0x004D0280, &AICState::destroyAnyBuildingInCategory) + destroyAnyBuildingInCategory; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, ResourceTypeInt, int), false, + Address::SHC_3BB0A8C1_0x004D0520, &AICState::isResourceLargerOrEqualThanMinimumGoodsRequiredAfterTrade) + isResourceLargerOrEqualThanMinimumGoodsRequiredAfterTrade; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D0580, &AICState::aiOfTypeInCurrentGame) + aiOfTypeInCurrentGame; + + MACRO_FUNCTION_RESOLVER( + int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D05D0, &AICState::shareGoldAmongTeamMembers) + shareGoldAmongTeamMembers; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D0830, &AICState::PlayAnger1BikFromPlayer) + PlayAnger1BikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D08B0, + &AICState::PlayPlayerKilledBiksFromKilledAndKillerPlayer) + PlayPlayerKilledBiksFromKilledAndKillerPlayer; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D0A80, + &AICState::playThanksBikFromPlayerToPlayer) + playThanksBikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004D1090, &AICState::setSomeTimeToNowIfInIngameMenu) + setSomeTimeToNowIfInIngameMenu; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004D10B0, &AICState::someChatMessageSelection) + someChatMessageSelection; + + MACRO_FUNCTION_RESOLVER(int (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D12A0, + &AICState::getCurrentDesiredAttackRaidUnitCount) + getCurrentDesiredAttackRaidUnitCount; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004D1320, + &AICState::renderDebugDataAiInfo) + renderDebugDataAiInfo; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004D18B0, &AICState::setInitialAIC) + setInitialAIC; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D1950, + &AICState::aiGiveCommandToOutpostTribesUnk) + aiGiveCommandToOutpostTribesUnk; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(uint), false, Address::SHC_3BB0A8C1_0x004D1A00, &AICState::decideOnTribeAttackLocation) + decideOnTribeAttackLocation; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, ResourceTypeInt, undefined4), false, + Address::SHC_3BB0A8C1_0x004D1F00, &AICState::requestGoods) + requestGoods; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2000, &AICState::aiCreateSiegeUnits) + aiCreateSiegeUnits; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2500, &AICState::aiRecruitEngineerForOilDuty) + aiRecruitEngineerForOilDuty; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2660, &AICState::assignUnitToATribe) + assignUnitToATribe; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2730, &AICState::addUnitToSmallestPatrolTribe) + addUnitToSmallestPatrolTribe; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2790, + &AICState::addUnitToDefensiveTroopsTribeUnk) + addUnitToDefensiveTroopsTribeUnk; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D27E0, &AICState::addUnitToItsTribe) + addUnitToItsTribe; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2830, &AICState::ifHasTribe0SendUnitsToKeep) + ifHasTribe0SendUnitsToKeep; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2870, &AICState::sendTribeAtOffset1ToCampfire) + sendTribeAtOffset1ToCampfire; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D28B0, &AICState::aiGiveOuterPatrolCommand) + aiGiveOuterPatrolCommand; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2A70, &AICState::aiGiveRaidInstructions) + aiGiveRaidInstructions; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int, AIVUnitTypeInt, int), false, Address::SHC_3BB0A8C1_0x004D2E00, + &AICState::sendTribeToAIVLocationSlot) + sendTribeToAIVLocationSlot; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2EC0, &AICState::computeAttackPossibilities) + computeAttackPossibilities; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D2F80, + &AICState::moveAttackingUnitsToNextRallyPoint) + moveAttackingUnitsToNextRallyPoint; + + MACRO_FUNCTION_RESOLVER(undefined4 (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D30E0, + &AICState::sendUnitsToAttackBreachedCastle) + sendUnitsToAttackBreachedCastle; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D3320, &AICState::updateAIStrengthState) + updateAIStrengthState; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D3780, &AICState::computeNervousness) + computeNervousness; + + MACRO_FUNCTION_RESOLVER(undefined4 (AICState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004D3850, + &AICState::determineAIPlayerHelp) + determineAIPlayerHelp; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, undefined4, int), false, Address::SHC_3BB0A8C1_0x004D38C0, + &AICState::determineAIPlayerAttackRequestResponse) + determineAIPlayerAttackRequestResponse; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004D3960, &AICState::makeOutpostTribesAttack) + makeOutpostTribesAttack; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D3AE0, &AICState::aiRecruitUnits) + aiRecruitUnits; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D3F20, &AICState::assignMoatDiggersUnk) + assignMoatDiggersUnk; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4040, &AICState::addEngineersToTribe) + addEngineersToTribe; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D40B0, &AICState::redirectTunnelersUnk) + redirectTunnelersUnk; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4130, + &AICState::sendRangedUnitTribesToAIVSlotsOrKeepIfNervous) + sendRangedUnitTribesToAIVSlotsOrKeepIfNervous; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4220, + &AICState::sendCertainUnitTribesToAIVSlotsOrKeepIfNervousAndNotEnclosed) + sendCertainUnitTribesToAIVSlotsOrKeepIfNervousAndNotEnclosed; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4340, + &AICState::sendWallPatrolUnitTribesToAIVLocations) + sendWallPatrolUnitTribesToAIVLocations; + + MACRO_FUNCTION_RESOLVER(void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D44E0, + &AICState::sendOilMenForOilPickupOrToAIVLocations) + sendOilMenForOilPickupOrToAIVLocations; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D45E0, &AICState::abortAttackAndGoIdle) + abortAttackAndGoIdle; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4630, &AICState::recreateEngineersTribe) + recreateEngineersTribe; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4680, &AICState::selectAttackTarget) + selectAttackTarget; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D1D60, &AICState::aiBuyAndSellGoods) + aiBuyAndSellGoods; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D4940, &AICState::updateTribeLocations) + updateTribeLocations; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(int), false, Address::SHC_3BB0A8C1_0x004D49E0, &AICState::updateAIPlayerState) + updateAIPlayerState; + + MACRO_FUNCTION_RESOLVER( + void (AICState::*)(), false, Address::SHC_3BB0A8C1_0x004D53E0, &AICState::updateAIBehaviour) + updateAIBehaviour; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004ECA30, &AICState::shouldNotBeBuildingGranary) + shouldNotBeBuildingGranary; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(PlayerID, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004ECA60, &AICState::shouldNotBeBuildingArmoury) + shouldNotBeBuildingArmoury; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004ECA90, &AICState::shouldNotBuildKillingPits) + shouldNotBuildKillingPits; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AICState::*)(undefined4, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004ECAB0, &AICState::woodCuttersHutWhileNoWoodAvailable) + woodCuttersHutWhileNoWoodAvailable; + + } // namespace AICState_Func +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AICState.hpp b/src/OpenSHC/AI/AICState.hpp new file mode 100644 index 0000000..b84cfe3 --- /dev/null +++ b/src/OpenSHC/AI/AICState.hpp @@ -0,0 +1,401 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AICState.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIC/AICSpecification.hpp" +#include "OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp" +#include "OpenSHC/AI/AIUnitBehaviourTypeInt.hpp" +#include "OpenSHC/AI/AIVUnitTypeInt.hpp" +#include "OpenSHC/AI/TileDistancePair.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace AI { + + using OpenSHC::AI::AINervousDestroyBuildingCategoryInt; + using OpenSHC::AI::AIUnitBehaviourTypeInt; + using OpenSHC::AI::AIVUnitTypeInt; + using OpenSHC::AI::TileDistancePair; + using OpenSHC::AI::AIC::AICSpecification; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00006D90 + class AICState { + public: + AICSpecification DAT_AICArray[20]; // 0x00000000 length: 13520 + undefined4 aiBorderTilesIndex; // 0x000034D0 length: 4 + TileDistancePair aiBorderTiles[1000]; // 0x000034D4 length: 8000 + byte unused01[512]; // 0x00005414 length: 512 + short tribeIDArray[1000]; // 0x00005614 length: 2000 + int tribeUIDArray[1000]; // 0x00005DE4 length: 4000 + undefined4 DAT_SomeTime; // 0x00006D84 length: 4 + byte unused02[8]; // 0x00006D88 length: 8 + + private: + AICState(AICState const&); + void operator=(AICState const&); + + AICState(); + ~AICState(); + + public: + // Constructor + AICState* Constructor_AICState(); + + void wipeAICMemory(); + + void setAICParameters_01(int aicID); + + void setAICParameters_02(int param_1); + + void setAICParameters_03(int param_1); + + void setAICParameters_04(int param_1); + + void setAICParameters_05(int param_1); + + void setAICParameters_06(int param_1); + + void setAICParameters_07(int param_1); + + void setAICParameters_08(int param_1); + + void setAICParameters_09(int param_1); + + void setAICParameters_10(int param_1); + + void setAICParameters_11(int param_1); + + void setAICParameters_12(int param_1); + + void setAICParameters_13(int param_1); + + void setAICParameters_14(int param_1); + + void setAICParameters_15(int param_1); + + void setAICParameters_16(int param_1); + + void clearPlayerDataInformationChunk(); + + void setTargetForTribeBasedOnTargetChoiceLogic(int owner, int tribe); + + void updateTaxesAndRationsForAI(int playerID); + + void setFoodBuyPlan(int playerID); + + int getAIBuildInterval(int playerID); + + int getResourceRebuildDelay(int param_1); + + int aiFarmChoice(PlayerID playerID); + + int setNextFarmTypeToBuild(PlayerID playerID); + + uint aiShouldBuildFarm(PlayerID playerID); + + uint aiShouldBuildWoodcutter(PlayerID playerID); + + uint aiShouldBuildQuarry(PlayerID playerID); + + undefined4 aiRequiresExtraOxtethers(int playerID); + + uint aiShouldBuildIronMine(PlayerID playerID); + + uint aiShouldBuildPitchrig(PlayerID param_1); + + BOOLEnum shouldNotBeBuildingHovel(PlayerID playerID, CommandBuildingTypeInt param_2); + + BOOLEnum shouldWaitWithBuildingNegativeFearFactor(int param_1, CommandBuildingTypeInt param_2); + + BOOLEnum shouldWaitWithBuildingAPositiveFearFactor(int playerID, CommandBuildingTypeInt param_2); + + BOOLEnum destroyHouse(int playerID); + + undefined4 shouldDestroyWoodCutterUnk(int playerID); + + undefined4 destroyBuildingIfNoWorker(int buildingID); + + BOOLEnum shouldNotBuildMarketArmoryGranaryBarracksMercenarypost(int playerID, CommandBuildingTypeInt param_2); + + void planToBuyWhenLowOnResourceAndSnoozeBuildings(int playerID); + + void setupWorkshopProductionType(int playerID, int buildingID); + + void sellGoods(int playerID, ResourceTypeInt resourceType, int amount); + + BOOLEnum buyGoods(int playerID, ResourceTypeInt resourceType, int amount); + + AIUnitBehaviourTypeInt randomlySelectAttackUnitTypeToRecruit(int playerID); + + UnitTypeInt getUnitTypeForUnitBehaviourType(int playerID, AIUnitBehaviourTypeInt unitBehaviourType); + + void generateSiegeCreationInformation(int playerID, int buildingID, int unitID); + + void recruitEngineers(int playerID); + + int assignRequiredIdleEngineersToNewTribe(int playerID, int count); + + int addEngineersToSelection(int playerID, int unitCount); + + void addUnitsToTribe166(int playerID); + + void syncBehaviourType7UnitTribes(int param_1); + + void addUnitToTribeType10_moatdiggersUnk(int unitID); + + undefined4 unitIDIsRangedOrArmored(int unitID); + + int createTribeForUnitType(int playerID, int unitSelectionTypeIndex); + + int smallestTribeOfUnitType(int playerID, short* unitType); + + int getDefensiveTribeForUnit(int playerID, int unitID); + + int addUnitToSmallestBehaviourTypeTribe(short* playerID, undefined unitID, int aiUnitBehaviourType); + + void sendUnitsToKeep(undefined4 tribeID, int playerID); + + void sendUnitsToCampfire(int tribeID, int playerID); + + void digNearestMoat(int playerID); + + BOOLEnum canNavigateUnitsFromTileToTargetTile(int tribeID, int tile); + + void recruitHarrassingSiegeEngines(int playerID); + + void recruitSortieRangedUnits(int playerID); + + void recruitSortieMeleeUnits(int playerID); + + void instructTribe166ToMove(int playerID); + + void giveMoveCommandToSortieUnits(int playerID); + + void addBuildingToSomePlayerStateArray(int buildingID); + + int selectBuildingFromAListOfBuildingTypes(int playerID); + + int chooseRandomBuildingIDFromPlayersArrayOfBuildings(int playerID); + + int getTargetableBuildingForPlayerID(int playerID, int param_2); + + int selectRandomBuildingIDFromListOfBuildingTypes(int playerID, undefined4 param_2); + + undefined4 shouldWeAttackOrWaitForTeammates(int playerID); + + void setCurrentAttackStrength(int playerID); + + void setCurrentAttackRaidParameter(int playerID); + + void setAttackPrimeInfo(int playerID, int attackedPlayerID); + + void recomputeDistancesToAttackedKeepRelated(int playerID, int useBorderDistance); + + void recomputeAttackAIZone(); + + void recomputeAIZonerLayer(); + + void computeAndStoreShortestDistanceToKeepUnk(int playerID); + + void setNextMoveLocationForUnits(int playerID); + + void removeOrganismsAndSetMoveDestinationPairs(int playerID); + + void aiRetreatUnits(short* playerID); + + void sendUnitsToPlayerIDsKeepIfPossible(int playerID1, short* playerID2); + + void setRallyRelatedFlagOnAllAIAttackTribes(int param_1); + + void moveAttackTribesToLocations(short* playerID); + + void findAttackTribePositionAndPathToDefenses(int playerID); + + void makeUnitsGoDefensiveAndBackToSomeLocation(int param_1); + + void giveMoveCommandToAttackTribes(int playerID); + + uint aiChoiceAttForceRallyPercentage(int param_1); + + BOOLEnum percentageNonMovingTribesGTEAICSpecified(int playerID); + + BOOLEnum processAttForceRallyPercentage(int playerID); + + void useAITribe_0x12_toPlaceSiegeTentsAndAssignEngineers(CommandBuildingTypeInt playerID); + + void useAITribe_0xe_toPlaceTunnels(int playerID); + + void aiAttackWave_tribe13Unk(int param_1); + + void aiAttackWave_tribe12Unk(int param_1); + + void setTribe0xCtoAggressiveAndAttack(int playerID); + + void aiAttackWave_tribe11Unk(int playerID); + + void sendAITribe_0xf_toAttackPatrol(int playerID); + + void setTribe0x11ToAggressiveAndAttackIfConditionMet(int param_1); + + void setEightTribe0xc0TribesToAggressiveAndAttack(int playerID); + + void aiAttackWallsSmthUnk(int param_1); + + void setTribe0xbToAggressiveAndAttack(int playerID); + + void sendTribeToAttack(int playerID); + + void commandFourTribesToMove(int playerID); + + void clearOutdatedAITribes(int playerID); + + undefined4 giveSomeRaidCommand(int tribeIndex, int tribeType); + + void addRallyPointForTribe(int tribeID); + + void disbandAIPlayerSiegeUnits(int playerID); + + int countSiegeEngineUnits(int playerID); + + void aiAttackWaveSiegeUnitsUnk(int playerID); + + BOOLEnum yieldCowThrow(int playerID); + + BOOLEnum hasNoTroopsOrAllAreDiggers(int playerID); + + BOOLEnum hasNotEnoughSupplies(int playerID); + + void setAttackWillingnessUnk(int param_1); + + BOOLEnum teamIsWeakRelativeToEnemy(int playerID, BOOLEnum param_2); + + void destroyAnyBuildingInCategory(int playerID, AINervousDestroyBuildingCategoryInt buildingCategory); + + BOOLEnum isResourceLargerOrEqualThanMinimumGoodsRequiredAfterTrade( + int playerID, ResourceTypeInt resourceType, int buffer); + + BOOLEnum aiOfTypeInCurrentGame(int param_1); + + int shareGoldAmongTeamMembers(int playerID, int gold); + + void PlayAnger1BikFromPlayer(int playerID); + + void PlayPlayerKilledBiksFromKilledAndKillerPlayer(int killerPlayerID, int killedPlayerID); + + void playThanksBikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void setSomeTimeToNowIfInIngameMenu(); + + void someChatMessageSelection(); + + int getCurrentDesiredAttackRaidUnitCount(int aiType, int playerID); + + void renderDebugDataAiInfo(int x, int y, int width, int height); + + void setInitialAIC(); + + void aiGiveCommandToOutpostTribesUnk(int tribeID, int tribeUID); + + void decideOnTribeAttackLocation(uint tribeID__moatWasHit); + + void requestGoods(int playerID, ResourceTypeInt resourceType, undefined4 amount); + + void aiCreateSiegeUnits(int playerID); + + void aiRecruitEngineerForOilDuty(int playerID); + + void assignUnitToATribe(int unitID); + + void addUnitToSmallestPatrolTribe(int unitID); + + void addUnitToDefensiveTroopsTribeUnk(int unitID); + + void addUnitToItsTribe(int unitID, int aiUnitBehaviourType); + + void ifHasTribe0SendUnitsToKeep(int playerID); + + void sendTribeAtOffset1ToCampfire(int playerID); + + void aiGiveOuterPatrolCommand(int playerID); + + void aiGiveRaidInstructions(int playerID); + + void sendTribeToAIVLocationSlot(int tribeID, AIVUnitTypeInt aivUnitType, int slotIndex); + + void computeAttackPossibilities(int playerID); + + void moveAttackingUnitsToNextRallyPoint(int playerID); + + undefined4 sendUnitsToAttackBreachedCastle(int attackingPlayerIndex); + + void updateAIStrengthState(int playerID, int aiRecruitUnitChoicePreference); + + void computeNervousness(int playerID); + + undefined4 determineAIPlayerHelp(int playerID, int requestedByPlayerID); + + BOOLEnum determineAIPlayerAttackRequestResponse(int playerID, undefined4 param_2, int requestedByPlayerID); + + void makeOutpostTribesAttack(); + + void aiRecruitUnits(int playerID); + + void assignMoatDiggersUnk(int playerID); + + void addEngineersToTribe(int playerID); + + void redirectTunnelersUnk(int param_1); + + void sendRangedUnitTribesToAIVSlotsOrKeepIfNervous(int playerID); + + void sendCertainUnitTribesToAIVSlotsOrKeepIfNervousAndNotEnclosed(int playerID); + + void sendWallPatrolUnitTribesToAIVLocations(int playerID); + + void sendOilMenForOilPickupOrToAIVLocations(int playerID); + + void abortAttackAndGoIdle(int playerID); + + void recreateEngineersTribe(int playerID); + + void selectAttackTarget(int playerID); + + void aiBuyAndSellGoods(int playerID); + + void updateTribeLocations(int playerID); + + void updateAIPlayerState(int playerID); + + void updateAIBehaviour(); + + BOOLEnum shouldNotBeBuildingGranary(int playerID, CommandBuildingTypeInt param_2); + + BOOLEnum shouldNotBeBuildingArmoury(PlayerID playerID, CommandBuildingTypeInt param_2); + + BOOLEnum shouldNotBuildKillingPits(int playerID, CommandBuildingTypeInt commandBuildingType); + + BOOLEnum woodCuttersHutWhileNoWoodAvailable(undefined4 playerID, CommandBuildingTypeInt param_2); + }; + + static_assert_cpp98_obj(sizeof(AICState) == 28048, AICState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(AICState, false, Address::SHC_3BB0A8C1_0x023FC8E8) pDAT_AICState; + +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIGridComputationResourceType.hpp b/src/OpenSHC/AI/AIGridComputationResourceType.hpp new file mode 100644 index 0000000..b81c19c --- /dev/null +++ b/src/OpenSHC/AI/AIGridComputationResourceType.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIGridComputationResourceType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIGridComputationResourceType { + + AIGCRT_BOULDER = 2, // 0x00000002 + AIGCRT_IRON = 3, // 0x00000003 + AIGCRT_OIL = 4 // 0x00000004 + + } AIGridComputationResourceType; + + static_assert_cpp98_obj(sizeof(AIGridComputationResourceType) == 4, AIGridComputationResourceType); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIGridComputationResourceTypeInt.hpp b/src/OpenSHC/AI/AIGridComputationResourceTypeInt.hpp new file mode 100644 index 0000000..6f71bb5 --- /dev/null +++ b/src/OpenSHC/AI/AIGridComputationResourceTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIGridComputationResourceTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIGridComputationResourceType.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIGridComputationResourceTypeInt; + + static_assert_cpp98_obj(sizeof(AIGridComputationResourceTypeInt) == 4, AIGridComputationResourceTypeInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIMapExtraInfo.hpp b/src/OpenSHC/AI/AIMapExtraInfo.hpp new file mode 100644 index 0000000..b088c67 --- /dev/null +++ b/src/OpenSHC/AI/AIMapExtraInfo.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIMapExtraInfo.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + +#pragma pack(push, 1) + // SIZE: 0x00000330 + typedef struct AIMapExtraInfo { + + int totalWoodAvailable; // 0x00000000 length: 4 + int someSeparateAreaValue; // 0x00000004 length: 4 + int currentSuitableLocationOffsetArrayIndex_fixme; // 0x00000008 length: 4 + int algorithmIterationNumber; // 0x0000000C length: 4 + int playerTotalKillingPits[9]; // 0x00000010 length: 36 + byte unused01[764]; // 0x00000034 length: 764 + + } AIMapExtraInfo; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIMapExtraInfo) == 816, AIMapExtraInfo); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AINervousDestroyBuildingCategory.hpp b/src/OpenSHC/AI/AINervousDestroyBuildingCategory.hpp new file mode 100644 index 0000000..eb2c239 --- /dev/null +++ b/src/OpenSHC/AI/AINervousDestroyBuildingCategory.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AINervousDestroyBuildingCategory.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AINervousDestroyBuildingCategory { + + AINDBC_FEAR_FACTOR_BUILDINGS = 1, // 0x00000001 + AINDBC_WORKSHOPS_AND_RELIGIOUS_BUILDINGS = 2, // 0x00000002 + AINDBC_GATEHOUSES_TOWERS_GUILDS = 3, // 0x00000003 + AINDBC_BARRACKS_MERCPOST_STABLES = 4, // 0x00000004 + AINDBC_WATER_BUILDINGS = 5, // 0x00000005 + AINDBC_RESOURCE_BUILDINGS = 6, // 0x00000006 + AINDBC_FARMS = 7 // 0x00000007 + + } AINervousDestroyBuildingCategory; + + static_assert_cpp98_obj(sizeof(AINervousDestroyBuildingCategory) == 4, AINervousDestroyBuildingCategory); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp b/src/OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp new file mode 100644 index 0000000..d58f564 --- /dev/null +++ b/src/OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AINervousDestroyBuildingCategoryInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AINervousDestroyBuildingCategory.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AINervousDestroyBuildingCategoryInt; + + static_assert_cpp98_obj(sizeof(AINervousDestroyBuildingCategoryInt) == 4, AINervousDestroyBuildingCategoryInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIRecruitUnitChoice.hpp b/src/OpenSHC/AI/AIRecruitUnitChoice.hpp new file mode 100644 index 0000000..dea3655 --- /dev/null +++ b/src/OpenSHC/AI/AIRecruitUnitChoice.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIRecruitUnitChoice.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIRecruitUnitChoice { + + AIRUC_DEFENSIVE = 0, // 0x00000000 + AIRUC_RAIDING = 1, // 0x00000001 + AIRUC_ATTACKING = 2 // 0x00000002 + + } AIRecruitUnitChoice; + + static_assert_cpp98_obj(sizeof(AIRecruitUnitChoice) == 4, AIRecruitUnitChoice); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIRecruitUnitChoiceInt.hpp b/src/OpenSHC/AI/AIRecruitUnitChoiceInt.hpp new file mode 100644 index 0000000..323d482 --- /dev/null +++ b/src/OpenSHC/AI/AIRecruitUnitChoiceInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIRecruitUnitChoiceInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIRecruitUnitChoice.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIRecruitUnitChoiceInt; + + static_assert_cpp98_obj(sizeof(AIRecruitUnitChoiceInt) == 4, AIRecruitUnitChoiceInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AISiegeUnitCreation.hpp b/src/OpenSHC/AI/AISiegeUnitCreation.hpp new file mode 100644 index 0000000..8d5ef8e --- /dev/null +++ b/src/OpenSHC/AI/AISiegeUnitCreation.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AISiegeUnitCreation.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + +#pragma pack(push, 1) + // SIZE: 0x00000014 + typedef struct AISiegeUnitCreation { + + int unitID; // 0x00000000 length: 4 + int uid; // 0x00000004 length: 4 + int delay; // 0x00000008 length: 4 + int unknown; // 0x0000000C length: 4 + int buildingID; // 0x00000010 length: 4 + + } AISiegeUnitCreation; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AISiegeUnitCreation) == 20, AISiegeUnitCreation); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIStrengthType.hpp b/src/OpenSHC/AI/AIStrengthType.hpp new file mode 100644 index 0000000..06d20ed --- /dev/null +++ b/src/OpenSHC/AI/AIStrengthType.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIStrengthType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIStrengthType { + + AIST_DEFAULT = 0, // 0x00000000 + AIST_WEAK = 1, // 0x00000001 + AIST_STRONG = 2 // 0x00000002 + + } AIStrengthType; + + static_assert_cpp98_obj(sizeof(AIStrengthType) == 4, AIStrengthType); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIStrengthTypeInt.hpp b/src/OpenSHC/AI/AIStrengthTypeInt.hpp new file mode 100644 index 0000000..2c7f05a --- /dev/null +++ b/src/OpenSHC/AI/AIStrengthTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIStrengthTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIStrengthType.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIStrengthTypeInt; + + static_assert_cpp98_obj(sizeof(AIStrengthTypeInt) == 4, AIStrengthTypeInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AITypeA.hpp b/src/OpenSHC/AI/AITypeA.hpp new file mode 100644 index 0000000..67fac8d --- /dev/null +++ b/src/OpenSHC/AI/AITypeA.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AITypeA.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AITypeA { + + AITA_NULL = 0, // 0x00000000 + AITA_RAT = 1, // 0x00000001 + AITA_SNAKE = 2, // 0x00000002 + AITA_PIG = 3, // 0x00000003 + AITA_WOLF = 4, // 0x00000004 + AITA_SALADIN = 5, // 0x00000005 + AITA_CALIPH = 6, // 0x00000006 + AITA_SULTAN = 7, // 0x00000007 + AITA_RICHARD = 8, // 0x00000008 + AITA_FREDERICK = 9, // 0x00000009 + AITA_PHILIPP = 10, // 0x0000000A + AITA_WAZIR = 11, // 0x0000000B + AITA_EMIR = 12, // 0x0000000C + AITA_NIZAR = 13, // 0x0000000D + AITA_SHERIFF = 14, // 0x0000000E + AITA_MARSHAL = 15, // 0x0000000F + AITA_ABBOT = 16 // 0x00000010 + + } AITypeA; + + static_assert_cpp98_obj(sizeof(AITypeA) == 4, AITypeA); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AITypeAByte.hpp b/src/OpenSHC/AI/AITypeAByte.hpp new file mode 100644 index 0000000..237a271 --- /dev/null +++ b/src/OpenSHC/AI/AITypeAByte.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AITypeAByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AITypeA.hpp" + +namespace OpenSHC { +namespace AI { + typedef byte AITypeAByte; + + static_assert_cpp98_obj(sizeof(AITypeAByte) == 1, AITypeAByte); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AITypeB.hpp b/src/OpenSHC/AI/AITypeB.hpp new file mode 100644 index 0000000..2a793de --- /dev/null +++ b/src/OpenSHC/AI/AITypeB.hpp @@ -0,0 +1,33 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AITypeB.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AITypeB { + + AITB_RAT = 0, // 0x00000000 + AITB_SNAKE = 1, // 0x00000001 + AITB_PIG = 2, // 0x00000002 + AITB_WOLF = 3, // 0x00000003 + AITB_SALADIN = 4, // 0x00000004 + AITB_CALIPH = 5, // 0x00000005 + AITB_SULTAN = 6, // 0x00000006 + AITB_RICHARD = 7, // 0x00000007 + AITB_FREDERICK = 8, // 0x00000008 + AITB_PHILIPP = 9, // 0x00000009 + AITB_WAZIR = 10, // 0x0000000A + AITB_EMIR = 11, // 0x0000000B + AITB_NIZAR = 12, // 0x0000000C + AITB_SHERIFF = 13, // 0x0000000D + AITB_MARSHAL = 14, // 0x0000000E + AITB_ABBOT = 15 // 0x0000000F + + } AITypeB; + + static_assert_cpp98_obj(sizeof(AITypeB) == 4, AITypeB); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AITypeBByte.hpp b/src/OpenSHC/AI/AITypeBByte.hpp new file mode 100644 index 0000000..a78dd2c --- /dev/null +++ b/src/OpenSHC/AI/AITypeBByte.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AITypeBByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AITypeB.hpp" + +namespace OpenSHC { +namespace AI { + typedef byte AITypeBByte; + + static_assert_cpp98_obj(sizeof(AITypeBByte) == 1, AITypeBByte); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIUnitBehaviourType.hpp b/src/OpenSHC/AI/AIUnitBehaviourType.hpp new file mode 100644 index 0000000..a1fc220 --- /dev/null +++ b/src/OpenSHC/AI/AIUnitBehaviourType.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIUnitBehaviourType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIUnitBehaviourType { + + AIUBT_PATROL = 4, // 0x00000004 + AIUBT_ENGINEERING = 10, // 0x0000000A + AIUBT_DIGGING = 11, // 0x0000000B + AIUBT_ASSASSINATION = 12, // 0x0000000C + AIUBT_ATTUNIT2 = 13, // 0x0000000D + AIUBT_LADDERING = 14, // 0x0000000E + AIUBT_TUNNELING = 15, // 0x0000000F + AIUBT_PATROLLING = 16, // 0x00000010 + AIUBT_BACKUPING = 17, // 0x00000011 + AIUBT_ENGAGING = 18, // 0x00000012 + AIUBT_SIEGEDEFENSE = 19, // 0x00000013 + AIUBT_ATTUNITMAIN = 20, // 0x00000014 + AIUBT_SIEGE_01 = 21, // 0x00000015 + AIUBT_HARASS_SIEGE = 22 // 0x00000016 + + } AIUnitBehaviourType; + + static_assert_cpp98_obj(sizeof(AIUnitBehaviourType) == 4, AIUnitBehaviourType); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIUnitBehaviourTypeInt.hpp b/src/OpenSHC/AI/AIUnitBehaviourTypeInt.hpp new file mode 100644 index 0000000..18fdca5 --- /dev/null +++ b/src/OpenSHC/AI/AIUnitBehaviourTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIUnitBehaviourTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIUnitBehaviourType.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIUnitBehaviourTypeInt; + + static_assert_cpp98_obj(sizeof(AIUnitBehaviourTypeInt) == 4, AIUnitBehaviourTypeInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIV.hpp b/src/OpenSHC/AI/AIV/AIV.hpp new file mode 100644 index 0000000..250f6fc --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIV.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIV.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVBuildingStep.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIV { + + using OpenSHC::AI::AIVBuildingStep; + +#pragma pack(push, 1) + // SIZE: 0x00006D98 + typedef struct AIV { + + int playerID; // 0x00000000 length: 4 + int aiType; // 0x00000004 length: 4 + int keepOrientation; // 0x00000008 length: 4 + int castleID; // 0x0000000C length: 4 + int aivSubType; // 0x00000010 length: 4 + int currentStepGoal; // 0x00000014 length: 4 + int aivPoorCounter; // 0x00000018 length: 4 + int aivPoorLimit_OR_AIC_buildInterval; // 0x0000001C length: 4 + int totalSteps; // 0x00000020 length: 4 + int keepXOffset; // 0x00000024 length: 4 + int keepYOffset; // 0x00000028 length: 4 + int keepX; // 0x0000002C length: 4 + int keepY; // 0x00000030 length: 4 + AIVBuildingStep aivBuildingSteps[1000]; // 0x00000034 length: 12000 + int locationsArray[4000]; // 0x00002F14 length: 16000 + int wallLocationsArrayIndex; // 0x00006D94 length: 4 + + } AIV; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIV) == 28056, AIV); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp b/src/OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp new file mode 100644 index 0000000..0f35810 --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace AIV { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct AIVBuildLocationOffset { + + short offset; // 0x00000000 length: 2 + short flag; // 0x00000002 length: 2 + + } AIVBuildLocationOffset; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIVBuildLocationOffset) == 4, AIVBuildLocationOffset); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVBuildLocationTile.hpp b/src/OpenSHC/AI/AIV/AIVBuildLocationTile.hpp new file mode 100644 index 0000000..5e42b9f --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVBuildLocationTile.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVBuildLocationTile.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace AIV { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct AIVBuildLocationTile { + + int tile; // 0x00000000 length: 4 + + } AIVBuildLocationTile; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIVBuildLocationTile) == 4, AIVBuildLocationTile); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp b/src/OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp new file mode 100644 index 0000000..34b6490 --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVBuildLocationOffset.hpp" +#include "OpenSHC/AI/AIV/AIVBuildLocationTile.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIV { + + using OpenSHC::AI::AIV::AIVBuildLocationOffset; + using OpenSHC::AI::AIV::AIVBuildLocationTile; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union AIVBuildLocationUnion { + + AIVBuildLocationOffset offset; // 0x00000000 length: 4 + AIVBuildLocationTile tile; // 0x00000000 length: 4 + + } AIVBuildLocationUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIVBuildLocationUnion) == 4, AIVBuildLocationUnion); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVBuildingType2.hpp b/src/OpenSHC/AI/AIV/AIVBuildingType2.hpp new file mode 100644 index 0000000..192d888 --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVBuildingType2.hpp @@ -0,0 +1,109 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVBuildingType2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace AIV { + typedef enum AIVBuildingType2 { + + AIVBT_HIGH_WALL = 10, // 0x0000000A + AIVBT_LOW_WALL = 11, // 0x0000000B + AIVBT_CRENEL = 12, // 0x0000000C + AIVBT_LOW_CRENEL = 13, // 0x0000000D + AIVBT_STAIRS_1 = 14, // 0x0000000E + AIVBT_STAIRS_2 = 15, // 0x0000000F + AIVBT_STAIRS_3 = 16, // 0x00000010 + AIVBT_STAIRS_4 = 17, // 0x00000011 + AIVBT_STAIRS_5 = 18, // 0x00000012 + AIVBT_STAIRS_6Unk = 19, // 0x00000013 + AIVBT_MOAT_A = 20, // 0x00000014 + AIVBT_MOAT_B = 21, // 0x00000015 + AIVBT_MOAT_C = 22, // 0x00000016 + AIVBT_MOAT_D = 23, // 0x00000017 + AIVBT_PITCHDITCH_2 = 24, // 0x00000018 + AIVBT_MAPPER_UNUSED_5 = 25, // 0x00000019 + AIVBT_TOWER1 = 30, // 0x0000001E + AIVBT_TOWER2 = 31, // 0x0000001F + AIVBT_TOWER3 = 32, // 0x00000020 + AIVBT_TOWER4 = 33, // 0x00000021 + AIVBT_TOWER5 = 34, // 0x00000022 + AIVBT_OIL_SMELTER = 35, // 0x00000023 + AIVBT_DOG_CAGE = 36, // 0x00000024 + AIVBT_KILLING_PIT = 37, // 0x00000025 + AIVBT_KEEP2 = 38, // 0x00000026 + AIVBT_MERCENARY_POST = 39, // 0x00000027 + AIVBT_GATEHOUSE_SMALL_A = 40, // 0x00000028 + AIVBT_GATEHOUSE_SMALL_B = 41, // 0x00000029 + AIVBT_GATEHOUSE_LARGE_A = 42, // 0x0000002A + AIVBT_GATEHOUSE_LARGE_B = 43, // 0x0000002B + AIVBT_DRAWBRIDGE = 44, // 0x0000002C + AIVBT_POLETURNER = 50, // 0x00000032 + AIVBT_FLETCHER = 51, // 0x00000033 + AIVBT_BLACKSMITH = 52, // 0x00000034 + AIVBT_TANNER = 53, // 0x00000035 + AIVBT_ARMOURER = 54, // 0x00000036 + AIVBT_BARRACKS = 55, // 0x00000037 + AIVBT_ARMOURY = 56, // 0x00000038 + AIVBT_ENGINEERS_GUILD = 57, // 0x00000039 + AIVBT_TUNNELERS_GUILD = 58, // 0x0000003A + AIVBT_STABLES = 59, // 0x0000003B + AIVBT_STOCKPILE = 60, // 0x0000003C + AIVBT_WOODCUTTERSHUT = 61, // 0x0000003D + AIVBT_QUARRY = 62, // 0x0000003E + AIVBT_OXTETHER = 63, // 0x0000003F + AIVBT_IRONMINE = 64, // 0x00000040 + AIVBT_PITCHRIG = 65, // 0x00000041 + AIVBT_MARKETPLACE = 66, // 0x00000042 + AIVBT_GRANARY = 70, // 0x00000046 + AIVBT_APPLEFARM = 71, // 0x00000047 + AIVBT_CATTLEFARM = 72, // 0x00000048 + AIVBT_WHEATFARM = 73, // 0x00000049 + AIVBT_HUNTER = 74, // 0x0000004A + AIVBT_HOPSFARM = 75, // 0x0000004B + AIVBT_MILL = 76, // 0x0000004C + AIVBT_BAKER = 77, // 0x0000004D + AIVBT_BREWER = 78, // 0x0000004E + AIVBT_INN = 79, // 0x0000004F + AIVBT_HOVEL = 80, // 0x00000050 + AIVBT_CHAPEL = 81, // 0x00000051 + AIVBT_CHURCH = 82, // 0x00000052 + AIVBT_CATHEDRAL = 83, // 0x00000053 + AIVBT_HEALER = 84, // 0x00000054 + AIVBT_WELL = 85, // 0x00000055 + AIVBT_WATERPOT = 86, // 0x00000056 + AIVBT_MAYPOLE = 90, // 0x0000005A + AIVBT_DANCING_BEAR = 91, // 0x0000005B + AIVBT_STATUE1 = 92, // 0x0000005C + AIVBT_SHRINE1 = 93, // 0x0000005D + AIVBT_TOWN_GARDEN10 = 94, // 0x0000005E + AIVBT_GARDEN07 = 95, // 0x0000005F + AIVBT_POND_1 = 96, // 0x00000060 + AIVBT_LARGE_POND_3 = 97, // 0x00000061 + AIVBT_GALLOWS = 100, // 0x00000064 + AIVBT_CESSPIT = 101, // 0x00000065 + AIVBT_STOCKS = 102, // 0x00000066 + AIVBT_BURNING_STAKE = 103, // 0x00000067 + AIVBT_DUNGEON = 104, // 0x00000068 + AIVBT_STRETCHING_RACK = 105, // 0x00000069 + AIVBT_GIBBET = 106, // 0x0000006A + AIVBT_CHOPPING_BLOCK = 107, // 0x0000006B + AIVBT_DUNKINGSTOOL = 108, // 0x0000006C + AIVBuildingType2Int__AIVBT_HIGH_CRENAL = 12, // 0x0000000C + AIVBuildingType2Int__AIVBT_LOW_CRENAL = 13, // 0x0000000D + AIVBuildingType2Int__AIVBT_STAIRS_6 = 19, // 0x00000013 + AIVBuildingType2Int__AIVBT_MOAT_a = 20, // 0x00000014 + AIVBuildingType2Int__AIVBT_MOAT_b = 21, // 0x00000015 + AIVBuildingType2Int__AIVBT_MOAT_c = 22, // 0x00000016 + AIVBuildingType2Int__AIVBT_MOAT_d = 23, // 0x00000017 + AIVBuildingType2Int__AIVBT_UNUSED_5 = 25 // 0x00000019 + + } AIVBuildingType2; + + static_assert_cpp98_obj(sizeof(AIVBuildingType2) == 4, AIVBuildingType2); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVBuildingType2Int.hpp b/src/OpenSHC/AI/AIV/AIVBuildingType2Int.hpp new file mode 100644 index 0000000..5d6c07b --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVBuildingType2Int.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVBuildingType2Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVBuildingType2.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIV { + typedef int AIVBuildingType2Int; + + static_assert_cpp98_obj(sizeof(AIVBuildingType2Int) == 4, AIVBuildingType2Int); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVBuildingType2Short.hpp b/src/OpenSHC/AI/AIV/AIVBuildingType2Short.hpp new file mode 100644 index 0000000..3846be7 --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVBuildingType2Short.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVBuildingType2Short.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVBuildingType2.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIV { + typedef short AIVBuildingType2Short; + + static_assert_cpp98_obj(sizeof(AIVBuildingType2Short) == 2, AIVBuildingType2Short); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVDefinedData.hpp b/src/OpenSHC/AI/AIV/AIVDefinedData.hpp new file mode 100644 index 0000000..b5e1122 --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVDefinedData.hpp @@ -0,0 +1,39 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVSectionAddress.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" + +namespace OpenSHC { +namespace AI { + namespace AIV { + + using OpenSHC::AI::AIV::AIVSectionAddress; + using OpenSHC::Commands::CommandBuildingTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00001CEC + typedef struct AIVDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + AIVSectionAddress DAT_AIVSectionAddressArray[14]; // 0x00000004 length: 224 + undefined1 padding_0xe4[16]; // 0x000000E4 length: 16 + CommandBuildingTypeInt field21_0xf4[79]; // 0x000000F4 length: 316 + undefined1 padding_0x230[4]; // 0x00000230 length: 4 + char DAT_AIVFileNames[16][8][50]; // 0x00000234 length: 6400 + int DAT_BuildingLocationFindingOffsetArray[9][2]; // 0x00001B34 length: 72 + int field28_0x1b7c[9][2]; // 0x00001B7C length: 72 + int field29_0x1bc4[9]; // 0x00001BC4 length: 36 + int field30_0x1be8[65]; // 0x00001BE8 length: 260 + + } AIVDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIVDefinedData) == 7404, AIVDefinedData); + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIV/AIVSectionAddress.hpp b/src/OpenSHC/AI/AIV/AIVSectionAddress.hpp new file mode 100644 index 0000000..3c934c5 --- /dev/null +++ b/src/OpenSHC/AI/AIV/AIVSectionAddress.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIV/AIVSectionAddress.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapSectionAddress.hpp" +namespace OpenSHC { +namespace AI { + namespace AIV { + + using OpenSHC::Map::MapSectionAddress; + + typedef MapSectionAddress AIVSectionAddress; + } // namespace AIV +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVBuildingStep.hpp b/src/OpenSHC/AI/AIVBuildingStep.hpp new file mode 100644 index 0000000..f52f08c --- /dev/null +++ b/src/OpenSHC/AI/AIVBuildingStep.hpp @@ -0,0 +1,35 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVBuildingStep.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVBuildLocationUnion.hpp" +#include "OpenSHC/AI/AIVBuildingStepStatusByte.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeShort.hpp" + +namespace OpenSHC { +namespace AI { + + using OpenSHC::AI::AIVBuildingStepStatusByte; + using OpenSHC::AI::AIV::AIVBuildLocationUnion; + using OpenSHC::Commands::CommandBuildingTypeShort; + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct AIVBuildingStep { + + AIVBuildingStepStatusByte buildStatus; // 0x00000000 length: 1 + byte wait; // 0x00000001 length: 1 + CommandBuildingTypeShort buildingType; // 0x00000002 length: 2 + short quantity; // 0x00000004 length: 2 + short flag3; // 0x00000006 length: 2 + AIVBuildLocationUnion location; // 0x00000008 length: 4 + + } AIVBuildingStep; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIVBuildingStep) == 12, AIVBuildingStep); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVBuildingStepStatus.hpp b/src/OpenSHC/AI/AIVBuildingStepStatus.hpp new file mode 100644 index 0000000..55accfb --- /dev/null +++ b/src/OpenSHC/AI/AIVBuildingStepStatus.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVBuildingStepStatus.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIVBuildingStepStatus { + + AIVBSS_disabled = 0, // 0x00000000 + AIVBSS_unbuilt = 1, // 0x00000001 + AIVBSS_built = 3, // 0x00000003 + AIVBSS_insufficient_roomUnk = 4, // 0x00000004 + AIVBSS_insufficient_resources = 5 // 0x00000005 + + } AIVBuildingStepStatus; + + static_assert_cpp98_obj(sizeof(AIVBuildingStepStatus) == 4, AIVBuildingStepStatus); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVBuildingStepStatusByte.hpp b/src/OpenSHC/AI/AIVBuildingStepStatusByte.hpp new file mode 100644 index 0000000..a401011 --- /dev/null +++ b/src/OpenSHC/AI/AIVBuildingStepStatusByte.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVBuildingStepStatusByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVBuildingStepStatus.hpp" + +namespace OpenSHC { +namespace AI { + typedef byte AIVBuildingStepStatusByte; + + static_assert_cpp98_obj(sizeof(AIVBuildingStepStatusByte) == 1, AIVBuildingStepStatusByte); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVBuildingType.hpp b/src/OpenSHC/AI/AIVBuildingType.hpp new file mode 100644 index 0000000..8066681 --- /dev/null +++ b/src/OpenSHC/AI/AIVBuildingType.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVBuildingType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIVBuildingType { + + AIVBT_HIGH_WALL = 25, // 0x00000019 + AIVBT_LOW_CRENEL = 26, // 0x0000001A + AIVBT_HIGH_CRENEL = 35, // 0x00000023 + AIVBT_LOW_WALL = 46, // 0x0000002E + AIVBT_GRANARY = 80, // 0x00000050 + AIVBT_TOWER1 = 110, // 0x0000006E + AIVBT_TOWER2 = 111, // 0x0000006F + AIVBT_TOWER3 = 112, // 0x00000070 + AIVBT_TOWER4 = 113, // 0x00000071 + AIVBT_TOWER5 = 114 // 0x00000072 + + } AIVBuildingType; + + static_assert_cpp98_obj(sizeof(AIVBuildingType) == 4, AIVBuildingType); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVBuildingTypeShort.hpp b/src/OpenSHC/AI/AIVBuildingTypeShort.hpp new file mode 100644 index 0000000..bcbf4b0 --- /dev/null +++ b/src/OpenSHC/AI/AIVBuildingTypeShort.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVBuildingTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVBuildingType.hpp" + +namespace OpenSHC { +namespace AI { + typedef short AIVBuildingTypeShort; + + static_assert_cpp98_obj(sizeof(AIVBuildingTypeShort) == 2, AIVBuildingTypeShort); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVState.func.hpp b/src/OpenSHC/AI/AIVState.func.hpp new file mode 100644 index 0000000..a5bad73 --- /dev/null +++ b/src/OpenSHC/AI/AIVState.func.hpp @@ -0,0 +1,166 @@ +/** + path: 'OpenSHC/AI/AIVState.func.hpp' +*/ + +#include "OpenSHC/AI/AIGridComputationResourceTypeInt.hpp" +#include "OpenSHC/AI/AIV/AIVBuildingType2Int.hpp" +#include "OpenSHC/AI/AIVState.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace AI { + namespace AIVState_Func { + + using OpenSHC::AI::AIGridComputationResourceTypeInt; + using OpenSHC::AI::AIV::AIVBuildingType2Int; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(), false, Address::SHC_3BB0A8C1_0x004ECAD0, &AIVState::setAvailableAIV) + setAvailableAIV; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(), false, Address::SHC_3BB0A8C1_0x004ECBC0, &AIVState::hostChecksLobbyAIVAvailability) + hostChecksLobbyAIVAvailability; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004ECDB0, + &AIVState::setAIVFilePresenceByFileHashArray) + setAIVFilePresenceByFileHashArray; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(), false, Address::SHC_3BB0A8C1_0x004ECE60, + &AIVState::syncAIPlayerNamesAndBuildIntervals) + syncAIPlayerNamesAndBuildIntervals; + + MACRO_FUNCTION_RESOLVER( + int (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004ECEF0, &AIVState::setupAIVMetadata) + setupAIVMetadata; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004ECF70, + &AIVState::setKeepOffsetAndOrientation) + setKeepOffsetAndOrientation; + + MACRO_FUNCTION_RESOLVER(CommandBuildingTypeInt (AIVState::*)(AIVBuildingType2Int), false, + Address::SHC_3BB0A8C1_0x004ECFE0, &AIVState::convertAIVBuildingTypeToCommandBuildingType) + convertAIVBuildingTypeToCommandBuildingType; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004ED0B0, &AIVState::rotateAIV) + rotateAIV; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004ED240, &AIVState::aiPlaceFlag) + aiPlaceFlag; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004ED300, &AIVState::aiPlaceBrazier) + aiPlaceBrazier; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004ED3B0, + &AIVState::incrementBuildingHeatMapTile) + incrementBuildingHeatMapTile; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AIVState::*)(PlayerID, int, int), false, Address::SHC_3BB0A8C1_0x004ED410, + &AIVState::aiPlaceAIVBuilding) + aiPlaceAIVBuilding; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(), false, Address::SHC_3BB0A8C1_0x004EDC90, &AIVState::clearTheHeatmaps) + clearTheHeatmaps; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004EDCB0, &AIVState::set0x13ValueTo10InHeatMap) + set0x13ValueTo10InHeatMap; + + MACRO_FUNCTION_RESOLVER(int (AIVState::*)(PlayerID, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004EDDF0, &AIVState::findSuitableLocationCloseToKeepAndPlaceBuilding) + findSuitableLocationCloseToKeepAndPlaceBuilding; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EE140, + &AIVState::findAppropriateWoodCutterLocation) + findAppropriateWoodCutterLocation; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(int, AIGridComputationResourceTypeInt), false, + Address::SHC_3BB0A8C1_0x004EE430, &AIVState::findAppropriateBuildingLocationForResourceType) + findAppropriateBuildingLocationForResourceType; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EE830, &AIVState::recomputeAIAvailableGridTiles) + recomputeAIAvailableGridTiles; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x004EEBD0, &AIVState::find2by2Location) + find2by2Location; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x004EEE10, + &AIVState::findAppropriateBuildingLocation) + findAppropriateBuildingLocation; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(), false, Address::SHC_3BB0A8C1_0x004EF090, &AIVState::wipeAIVsAndHeatMaps) + wipeAIVsAndHeatMaps; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004EF0D0, &AIVState::applyAIV) + applyAIV; + + MACRO_FUNCTION_RESOLVER( + int (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EF8C0, &AIVState::computeAIVPlacementFit) + computeAIVPlacementFit; + + MACRO_FUNCTION_RESOLVER(int (AIVState::*)(int, CommandBuildingTypeInt), false, Address::SHC_3BB0A8C1_0x004EFA60, + &AIVState::aiPlaceFarm) + aiPlaceFarm; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EFAB0, &AIVState::aiPlaceWoodcuttershut) + aiPlaceWoodcuttershut; + + MACRO_FUNCTION_RESOLVER(undefined4 (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EFB90, + &AIVState::findSpotNearEngineersGuild) + findSpotNearEngineersGuild; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004EFC30, &AIVState::aiPlaceAdditionalOxtether) + aiPlaceAdditionalOxtether; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EFD90, &AIVState::aiPlacePitchrig) + aiPlacePitchrig; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EFE30, &AIVState::aiPlaceIronMine) + aiPlaceIronMine; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004EFED0, &AIVState::aiPlaceQuarryAndOxtether) + aiPlaceQuarryAndOxtether; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AIVState::*)(PlayerID, int), false, Address::SHC_3BB0A8C1_0x004F0060, + &AIVState::executeDefaultCastleAIV) + executeDefaultCastleAIV; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004F0E80, &AIVState::recomputeHeatmaps) + recomputeHeatmaps; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(int), false, Address::SHC_3BB0A8C1_0x004F13F0, &AIVState::selectBestAIVwithRandomStart) + selectBestAIVwithRandomStart; + + MACRO_FUNCTION_RESOLVER(int (AIVState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F14F0, + &AIVState::tryPlaceAIVAndReturnFitPercentage) + tryPlaceAIVAndReturnFitPercentage; + + MACRO_FUNCTION_RESOLVER( + void (AIVState::*)(PlayerID), false, Address::SHC_3BB0A8C1_0x004F15C0, &AIVState::aiDecideOnNewBuildings) + aiDecideOnNewBuildings; + + MACRO_FUNCTION_RESOLVER(void (AIVState::*)(), false, Address::SHC_3BB0A8C1_0x004F1860, + &AIVState::updateBuildingsStateAndUpdateAIBuildingDecisions) + updateBuildingsStateAndUpdateAIBuildingDecisions; + + } // namespace AIVState_Func +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVState.hpp b/src/OpenSHC/AI/AIVState.hpp new file mode 100644 index 0000000..1ece6f8 --- /dev/null +++ b/src/OpenSHC/AI/AIVState.hpp @@ -0,0 +1,166 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVState.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIGridComputationResourceTypeInt.hpp" +#include "OpenSHC/AI/AIMapExtraInfo.hpp" +#include "OpenSHC/AI/AIV/AIV.hpp" +#include "OpenSHC/AI/AIV/AIVBuildingType2Int.hpp" +#include "OpenSHC/AI/AIV/AIVBuildingType2Short.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/Map/HeatMap1114.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace AI { + + using OpenSHC::AI::AIGridComputationResourceTypeInt; + using OpenSHC::AI::AIMapExtraInfo; + using OpenSHC::AI::AIV::AIV; + using OpenSHC::AI::AIV::AIVBuildingType2Int; + using OpenSHC::AI::AIV::AIVBuildingType2Short; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::Map::HeatMap1114; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000B6C70 + class AIVState { + public: + int totalSteps; // 0x00000000 length: 4 + AIV SEC_AIVS[9]; // 0x00000004 length: 252504 + int DAT_AIVFileHash[16][8]; // 0x0003DA5C length: 512 + int DAT_AIVFilePresent[16][8]; // 0x0003DC5C length: 512 + byte DAT_ReceivedAIVFileHash[9][512]; // 0x0003DE5C length: 4608 + int DAT_AIVFileAvailabilityPerAIArray[20]; // 0x0003F05C length: 80 + int DAT_NumberOfAIsWithCastle; // 0x0003F0AC length: 4 + int keepX; // 0x0003F0B0 length: 4 + int keepY; // 0x0003F0B4 length: 4 + int counter; // 0x0003F0B8 length: 4 + undefined1 typeInfo; // 0x0003F0BC length: 1 + undefined1 defensesHeightAndEdgeInformation; // 0x0003F0BD length: 1 + undefined1 unusedUnk; // 0x0003F0BE length: 1 + undefined1 noise; // 0x0003F0BF length: 1 + AIVBuildingType2Short constructions[10000]; // 0x0003F0C0 length: 20000 + int steps[100][100]; // 0x00043EE0 length: 40000 + short rotatedConstructions[100][100]; // 0x0004DB20 length: 20000 + int rotatedSteps[100][100]; // 0x00052940 length: 40000 + int pauses[20]; // 0x0005C580 length: 80 + int unusedPauses[30]; // 0x0005C5D0 length: 120 + int pauseDelay; // 0x0005C648 length: 4 + int unitLocations[24][10]; // 0x0005C64C length: 960 + undefined4 buildingCounter; // 0x0005CA0C length: 4 + undefined4 invalidTileCounter; // 0x0005CA10 length: 4 + AIMapExtraInfo mapExtraInfo; // 0x0005CA14 length: 816 + HeatMap1114 SEC_HeatMaps[80][80]; // 0x0005CD44 length: 307200 + int visitCount; // 0x000A7D44 length: 4 + undefined4 _valueAIndex; // 0x000A7D48 length: 4 + undefined4 _valueBIndex; // 0x000A7D4C length: 4 + int DAT_HeatMapXArray[6400]; // 0x000A7D50 length: 25600 + int DAT_HeatMapYArray[6400]; // 0x000AE150 length: 25600 + int DAT_BuildingApproriateGridXPosition; // 0x000B4550 length: 4 + int DAT_BuildingAppropriateGridYPosition; // 0x000B4554 length: 4 + byte isHandled[10000]; // 0x000B4558 length: 10000 + int aivCount; // 0x000B6C68 length: 4 + int unused01; // 0x000B6C6C length: 4 + + private: + AIVState(AIVState const&); + void operator=(AIVState const&); + + AIVState(); + ~AIVState(); + + public: + // Constructor + AIVState* Constructor_AIVState(); + + void setAvailableAIV(); + + void hostChecksLobbyAIVAvailability(); + + void setAIVFilePresenceByFileHashArray(int param_1); + + void syncAIPlayerNamesAndBuildIntervals(); + + int setupAIVMetadata(int playerID); + + void setKeepOffsetAndOrientation(int aiID, int keepX, int keepY); + + CommandBuildingTypeInt convertAIVBuildingTypeToCommandBuildingType(AIVBuildingType2Int param_1); + + void rotateAIV(int orientation); + + void aiPlaceFlag(PlayerID playerID); + + void aiPlaceBrazier(PlayerID playerID); + + void incrementBuildingHeatMapTile(int param_1, int param_2); + + BOOLEnum aiPlaceAIVBuilding(PlayerID playerID, int step, int isPausing); + + void clearTheHeatmaps(); + + void set0x13ValueTo10InHeatMap(int x, int y); + + int findSuitableLocationCloseToKeepAndPlaceBuilding( + PlayerID playerID, CommandBuildingTypeInt commandBuildingType); + + void findAppropriateWoodCutterLocation(int playerID); + + void findAppropriateBuildingLocationForResourceType( + int playerID, AIGridComputationResourceTypeInt resourceTypeNumber); + + void recomputeAIAvailableGridTiles(int playerID); + + void find2by2Location(uint gridX, uint gridY); + + void findAppropriateBuildingLocation(uint param_1, uint param_2); + + void wipeAIVsAndHeatMaps(); + + void applyAIV(int playerIDUnk, int playerID2Unk); + + int computeAIVPlacementFit(int playerID); + + int aiPlaceFarm(int playerID, CommandBuildingTypeInt buildingType); + + void aiPlaceWoodcuttershut(int playerID); + + undefined4 findSpotNearEngineersGuild(int param_1); + + void aiPlaceAdditionalOxtether(PlayerID playerID); + + void aiPlacePitchrig(int playerID); + + void aiPlaceIronMine(int playerID); + + void aiPlaceQuarryAndOxtether(int playerID); + + BOOLEnum executeDefaultCastleAIV(PlayerID playerID, int param_2); + + void recomputeHeatmaps(int terrainOnlyUnk); + + void selectBestAIVwithRandomStart(int playerID); + + int tryPlaceAIVAndReturnFitPercentage(int playerID, int castleID); + + void aiDecideOnNewBuildings(PlayerID playerID); + + void updateBuildingsStateAndUpdateAIBuildingDecisions(); + }; + + static_assert_cpp98_obj(sizeof(AIVState) == 748656, AIVState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(AIVState, false, Address::SHC_3BB0A8C1_0x01866AB0) pDAT_AIVState; + +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVUnitType.hpp b/src/OpenSHC/AI/AIVUnitType.hpp new file mode 100644 index 0000000..a2e7e41 --- /dev/null +++ b/src/OpenSHC/AI/AIVUnitType.hpp @@ -0,0 +1,39 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVUnitType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIVUnitType { + + AIVUT_NONE = 0, // 0x00000000 + AIVUT_ENGINEER = 1, // 0x00000001 + AIVUT_MANGONEL = 2, // 0x00000002 + AIVUT_BALLISTA = 3, // 0x00000003 + AIVUT_TREBUCHET = 4, // 0x00000004 + AIVUT_FIRE_BALLISTA = 5, // 0x00000005 + AIVUT_ARCHER = 6, // 0x00000006 + AIVUT_CROSSBOWMAN = 7, // 0x00000007 + AIVUT_SPEARMAN = 8, // 0x00000008 + AIVUT_PIKEMAN = 9, // 0x00000009 + AIVUT_MACEMAN = 10, // 0x0000000A + AIVUT_SWORDSMAN = 11, // 0x0000000B + AIVUT_KNIGHT = 12, // 0x0000000C + AIVUT_SLAVE = 13, // 0x0000000D + AIVUT_SLINGER = 14, // 0x0000000E + AIVUT_ASSASSIN = 15, // 0x0000000F + AIVUT_ARABIAN_ARCHER = 16, // 0x00000010 + AIVUT_HORSE_ARCHER = 17, // 0x00000011 + AIVUT_ARABIAN_SWORDSMAN = 18, // 0x00000012 + AIVUT_FIRE_THROWER = 19, // 0x00000013 + AIVUT_BRAZIER = 20, // 0x00000014 + AIVUT_FLAG = 21 // 0x00000015 + + } AIVUnitType; + + static_assert_cpp98_obj(sizeof(AIVUnitType) == 4, AIVUnitType); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp b/src/OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp new file mode 100644 index 0000000..c464e34 --- /dev/null +++ b/src/OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp @@ -0,0 +1,37 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + typedef enum AIVUnitTypeIndexMapping1 { + + AIVUTIM_NONE = 0, // 0x00000000 + AIVUTIM_ENGINEER = 1, // 0x00000001 + AIVUTIM_MANGONEL = 2, // 0x00000002 + AIVUTIM_BALLISTA = 3, // 0x00000003 + AIVUTIM_TREBUCHET = 4, // 0x00000004 + AIVUTIM_FIREBALLISTA = 5, // 0x00000005 + AIVUTIM_ARCHER = 6, // 0x00000006 + AIVUTIM_CROSSBOW = 7, // 0x00000007 + AIVUTIM_SPEARMAN = 8, // 0x00000008 + AIVUTIM_PIKEMAN = 9, // 0x00000009 + AIVUTIM_MACEMAN = 10, // 0x0000000A + AIVUTIM_SWORSDMAN = 11, // 0x0000000B + AIVUTIM_KNIGHT = 12, // 0x0000000C + AIVUTIM_SLAVE = 13, // 0x0000000D + AIVUTIM_SLINGER = 14, // 0x0000000E + AIVUTIM_ASSASSIN = 15, // 0x0000000F + AIVUTIM_ARAB_ARCHER = 16, // 0x00000010 + AIVUTIM_ARAB_HORSE_ARCHER = 17, // 0x00000011 + AIVUTIM_ARAB_SWORDSMAN = 18, // 0x00000012 + AIVUTIM_ARAB_FIRETHROWER = 19 // 0x00000013 + + } AIVUnitTypeIndexMapping1; + + static_assert_cpp98_obj(sizeof(AIVUnitTypeIndexMapping1) == 4, AIVUnitTypeIndexMapping1); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVUnitTypeIndexMapping1Int.hpp b/src/OpenSHC/AI/AIVUnitTypeIndexMapping1Int.hpp new file mode 100644 index 0000000..259f765 --- /dev/null +++ b/src/OpenSHC/AI/AIVUnitTypeIndexMapping1Int.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVUnitTypeIndexMapping1Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVUnitTypeIndexMapping1.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIVUnitTypeIndexMapping1Int; + + static_assert_cpp98_obj(sizeof(AIVUnitTypeIndexMapping1Int) == 4, AIVUnitTypeIndexMapping1Int); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AIVUnitTypeInt.hpp b/src/OpenSHC/AI/AIVUnitTypeInt.hpp new file mode 100644 index 0000000..f138e3b --- /dev/null +++ b/src/OpenSHC/AI/AIVUnitTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AIVUnitTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVUnitType.hpp" + +namespace OpenSHC { +namespace AI { + typedef int AIVUnitTypeInt; + + static_assert_cpp98_obj(sizeof(AIVUnitTypeInt) == 4, AIVUnitTypeInt); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/AttackInfo/AttackInfoDefinedData.hpp b/src/OpenSHC/AI/AttackInfo/AttackInfoDefinedData.hpp new file mode 100644 index 0000000..a9fcdaa --- /dev/null +++ b/src/OpenSHC/AI/AttackInfo/AttackInfoDefinedData.hpp @@ -0,0 +1,59 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/AttackInfo/AttackInfoDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AITribeTypeInt.hpp" +#include "OpenSHC/AI/Tribes/AITribeTypeShort.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" + +namespace OpenSHC { +namespace AI { + namespace AttackInfo { + + using OpenSHC::AI::Tribes::AITribeTypeInt; + using OpenSHC::AI::Tribes::AITribeTypeShort; + using OpenSHC::Commands::CommandBuildingTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000A34 + typedef struct AttackInfoDefinedData { + + int field0_0x0[10]; // 0x00000000 length: 40 + int field1_0x28[10]; // 0x00000028 length: 40 + int DAT_AttackWaveDurationPerAttacker[10]; // 0x00000050 length: 40 + int field3_0x78[10]; // 0x00000078 length: 40 + int field4_0xa0[10]; // 0x000000A0 length: 40 + CommandBuildingTypeInt field5_0xc8[5]; // 0x000000C8 length: 20 + int field6_0xdc; // 0x000000DC length: 4 + int field7_0xe0; // 0x000000E0 length: 4 + int field8_0xe4; // 0x000000E4 length: 4 + int field9_0xe8; // 0x000000E8 length: 4 + short field10_0xec[16][2]; // 0x000000EC length: 64 + undefined1 padding_0x12c[240]; // 0x0000012C length: 240 + AITribeTypeInt field251_0x21c[20]; // 0x0000021C length: 80 + AITribeTypeInt field252_0x26c[20]; // 0x0000026C length: 80 + AITribeTypeInt field253_0x2bc[20]; // 0x000002BC length: 80 + AITribeTypeInt field254_0x30c[20]; // 0x0000030C length: 80 + AITribeTypeInt field255_0x35c[20]; // 0x0000035C length: 80 + AITribeTypeInt field256_0x3ac[20]; // 0x000003AC length: 80 + AITribeTypeInt field257_0x3fc[20]; // 0x000003FC length: 80 + undefined1 padding_0x44c[800]; // 0x0000044C length: 800 + AITribeTypeInt field1058_0x76c[20]; // 0x0000076C length: 80 + AITribeTypeInt field1059_0x7bc[20]; // 0x000007BC length: 80 + AITribeTypeShort field1060_0x80c[40]; // 0x0000080C length: 80 + undefined1 padding_0x85c[400]; // 0x0000085C length: 400 + int field1461_0x9ec[5]; // 0x000009EC length: 20 + undefined1 padding_0xa00[12]; // 0x00000A00 length: 12 + int field1474_0xa0c; // 0x00000A0C length: 4 + undefined1 padding_0xa10[36]; // 0x00000A10 length: 36 + + } AttackInfoDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoDefinedData) == 2612, AttackInfoDefinedData); + } // namespace AttackInfo +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Siege/EngineerBuildingAndCountPair.hpp b/src/OpenSHC/AI/Siege/EngineerBuildingAndCountPair.hpp new file mode 100644 index 0000000..497ec7a --- /dev/null +++ b/src/OpenSHC/AI/Siege/EngineerBuildingAndCountPair.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Siege/EngineerBuildingAndCountPair.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" + +namespace OpenSHC { +namespace AI { + namespace Siege { + + using OpenSHC::Commands::CommandBuildingTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct EngineerBuildingAndCountPair { + + CommandBuildingTypeInt engineerBuildingType; // 0x00000000 length: 4 + int engineerCount; // 0x00000004 length: 4 + + } EngineerBuildingAndCountPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(EngineerBuildingAndCountPair) == 8, EngineerBuildingAndCountPair); + } // namespace Siege +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Siege/SiegeInformation.hpp b/src/OpenSHC/AI/Siege/SiegeInformation.hpp new file mode 100644 index 0000000..920ee56 --- /dev/null +++ b/src/OpenSHC/AI/Siege/SiegeInformation.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Siege/SiegeInformation.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace Siege { + +#pragma pack(push, 1) + // SIZE: 0x00000050 + typedef struct SiegeInformation { + + int archers; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + int field7_0x1c; // 0x0000001C length: 4 + int field8_0x20; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + int field11_0x2c; // 0x0000002C length: 4 + int field12_0x30; // 0x00000030 length: 4 + int field13_0x34; // 0x00000034 length: 4 + int field14_0x38; // 0x00000038 length: 4 + int field15_0x3c; // 0x0000003C length: 4 + int field16_0x40; // 0x00000040 length: 4 + int field17_0x44; // 0x00000044 length: 4 + int field18_0x48; // 0x00000048 length: 4 + int field19_0x4c; // 0x0000004C length: 4 + + } SiegeInformation; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SiegeInformation) == 80, SiegeInformation); + } // namespace Siege +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/TileDistancePair.hpp b/src/OpenSHC/AI/TileDistancePair.hpp new file mode 100644 index 0000000..b669287 --- /dev/null +++ b/src/OpenSHC/AI/TileDistancePair.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/TileDistancePair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct TileDistancePair { + + int tile; // 0x00000000 length: 4 + int distance; // 0x00000004 length: 4 + + } TileDistancePair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TileDistancePair) == 8, TileDistancePair); +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Trading/AIResourceTradeCategory.hpp b/src/OpenSHC/AI/Trading/AIResourceTradeCategory.hpp new file mode 100644 index 0000000..c71eb99 --- /dev/null +++ b/src/OpenSHC/AI/Trading/AIResourceTradeCategory.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Trading/AIResourceTradeCategory.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace Trading { + typedef enum AIResourceTradeCategory { + + AIRTC_IRONPITCHFLOUR = 0, // 0x00000000 + AIRTC_WOOD = 1, // 0x00000001 + AIRTC_FOOD = 2, // 0x00000002 + AIRTC_STONE = 3, // 0x00000003 + AIRTC_WEAPONS = 4, // 0x00000004 + AIRTC_ALE = 5, // 0x00000005 + AIRTC_HOPS = 6 // 0x00000006 + + } AIResourceTradeCategory; + + static_assert_cpp98_obj(sizeof(AIResourceTradeCategory) == 4, AIResourceTradeCategory); + } // namespace Trading +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Trading/AIResourceTradeCategoryInt.hpp b/src/OpenSHC/AI/Trading/AIResourceTradeCategoryInt.hpp new file mode 100644 index 0000000..1cd3b35 --- /dev/null +++ b/src/OpenSHC/AI/Trading/AIResourceTradeCategoryInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Trading/AIResourceTradeCategoryInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Trading/AIResourceTradeCategory.hpp" + +namespace OpenSHC { +namespace AI { + namespace Trading { + typedef int AIResourceTradeCategoryInt; + + static_assert_cpp98_obj(sizeof(AIResourceTradeCategoryInt) == 4, AIResourceTradeCategoryInt); + } // namespace Trading +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Trading/ResourceAICResourceMappingEntry.hpp b/src/OpenSHC/AI/Trading/ResourceAICResourceMappingEntry.hpp new file mode 100644 index 0000000..ac3dd02 --- /dev/null +++ b/src/OpenSHC/AI/Trading/ResourceAICResourceMappingEntry.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Trading/ResourceAICResourceMappingEntry.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Trading/AIResourceTradeCategoryInt.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" + +namespace OpenSHC { +namespace AI { + namespace Trading { + + using OpenSHC::AI::Trading::AIResourceTradeCategoryInt; + using OpenSHC::Game::Resources::ResourceTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct ResourceAICResourceMappingEntry { + + ResourceTypeInt game; // 0x00000000 length: 4 + AIResourceTradeCategoryInt aic; // 0x00000004 length: 4 + + } ResourceAICResourceMappingEntry; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ResourceAICResourceMappingEntry) == 8, ResourceAICResourceMappingEntry); + } // namespace Trading +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AITribeIndex.hpp b/src/OpenSHC/AI/Tribes/AITribeIndex.hpp new file mode 100644 index 0000000..bf63505 --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AITribeIndex.hpp @@ -0,0 +1,49 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AITribeIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef enum AITribeIndex { + + AITI_BREACH_BASIC_01_01 = 11, // 0x0000000B + AITI_BREACH_BASIC_02_01 = 12, // 0x0000000C + AITI_BREACH_BASIC_03_01 = 13, // 0x0000000D + AITI_BREACH_BASIC_04_01 = 14, // 0x0000000E + AITI_BREACH_BASIC_05_01 = 15, // 0x0000000F + AITI_BREACH_BASIC_05_02 = 16, // 0x00000010 + AITI_BREACH_BASIC_06_01 = 17, // 0x00000011 + AITI_BREACH_BASIC_07_01 = 18, // 0x00000012 + AITI_HARASS_SIEGE_ENGINES = 165, // 0x000000A5 + AITI_PAT_Unk = 170, // 0x000000AA + AITI_DEF_KNIGHTS = 180, // 0x000000B4 + AITI_DEF_HORSE_ARCHERS = 181, // 0x000000B5 + AITI_DEF_WALKING_RANGED = 182, // 0x000000B6 + AITI_DEF_ASSASSIN_MACE_MONK_SLAVE_SPEAR = 183, // 0x000000B7 + AITI_DEF_ARAB_SWORDSMAN_SWORDSMAN_PIKEMAN = 184, // 0x000000B8 + AITI_DEF_SIEGE = 185, // 0x000000B9 + AITI_BREACH_08_01 = 186, // 0x000000BA + AITI_BREACH_08_02 = 187, // 0x000000BB + AITI_BREACH_08_03 = 188, // 0x000000BC + AITI_BREACH_09_01 = 189, // 0x000000BD + AITI_BREACH_10_01 = 190, // 0x000000BE + AITI_BREACH_10_02 = 191, // 0x000000BF + AITI_BREACH_11_01 = 192, // 0x000000C0 + AITI_BREACH_11_02 = 193, // 0x000000C1 + AITI_BREACH_11_03 = 194, // 0x000000C2 + AITI_BREACH_11_04 = 195, // 0x000000C3 + AITI_BREACH_11_05 = 196, // 0x000000C4 + AITI_BREACH_11_06 = 197, // 0x000000C5 + AITI_BREACH_11_07 = 198, // 0x000000C6 + AITI_BREACH_11_08 = 199 // 0x000000C7 + + } AITribeIndex; + + static_assert_cpp98_obj(sizeof(AITribeIndex) == 4, AITribeIndex); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AITribeIndexInt.hpp b/src/OpenSHC/AI/Tribes/AITribeIndexInt.hpp new file mode 100644 index 0000000..890830f --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AITribeIndexInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AITribeIndexInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AITribeIndex.hpp" + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef int AITribeIndexInt; + + static_assert_cpp98_obj(sizeof(AITribeIndexInt) == 4, AITribeIndexInt); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AITribeType.hpp b/src/OpenSHC/AI/Tribes/AITribeType.hpp new file mode 100644 index 0000000..d913ba8 --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AITribeType.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AITribeType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef enum AITribeType { + + AITT_TUNNELERS = 2, // 0x00000002 + AITT_ARCHERS = 3, // 0x00000003 + AITT_LADDERMEN = 4, // 0x00000004 + AITT_SPEARMEN = 5, // 0x00000005 + AITT_PIKEMEN = 6, // 0x00000006 + AITT_CROSSBOWMEN = 7, // 0x00000007 + AITT_SWORDSMEN = 8, // 0x00000008 + AITT_MACEMEN = 9, // 0x00000009 + AITT_KNIGHTS = 10, // 0x0000000A + AITT_ENGINEERS = 11, // 0x0000000B + AITribeTypeInt__AITT_SIEGE_ENGINEERS_SIEGE_EQUIPMENT = 11 // 0x0000000B + + } AITribeType; + + static_assert_cpp98_obj(sizeof(AITribeType) == 4, AITribeType); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AITribeTypeInt.hpp b/src/OpenSHC/AI/Tribes/AITribeTypeInt.hpp new file mode 100644 index 0000000..67fbc3d --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AITribeTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AITribeTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AITribeType.hpp" + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef int AITribeTypeInt; + + static_assert_cpp98_obj(sizeof(AITribeTypeInt) == 4, AITribeTypeInt); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AITribeTypeShort.hpp b/src/OpenSHC/AI/Tribes/AITribeTypeShort.hpp new file mode 100644 index 0000000..a07c5e5 --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AITribeTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AITribeTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AITribeType.hpp" + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef short AITribeTypeShort; + + static_assert_cpp98_obj(sizeof(AITribeTypeShort) == 2, AITribeTypeShort); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AIVUnitTypeMaxLocationPair.hpp b/src/OpenSHC/AI/Tribes/AIVUnitTypeMaxLocationPair.hpp new file mode 100644 index 0000000..1fff79b --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AIVUnitTypeMaxLocationPair.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AIVUnitTypeMaxLocationPair.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVUnitTypeInt.hpp" +#include "OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp" + +namespace OpenSHC { +namespace AI { + namespace Tribes { + + using OpenSHC::AI::AIVUnitTypeInt; + using OpenSHC::AI::Tribes::AIVUnitTypeTribeArrayOffsetInt; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct AIVUnitTypeMaxLocationPair { + + AIVUnitTypeTribeArrayOffsetInt tribeArrayOffset; // 0x00000000 length: 4 + AIVUnitTypeInt aivUnitType; // 0x00000004 length: 4 + + } AIVUnitTypeMaxLocationPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AIVUnitTypeMaxLocationPair) == 8, AIVUnitTypeMaxLocationPair); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp b/src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp new file mode 100644 index 0000000..d44daac --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp @@ -0,0 +1,41 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef enum AIVUnitTypeTribeArrayOffset { + + OFFSET_0x0 = 0, // 0x00000000 + OFFSET_0xA = 10, // 0x0000000A + OFFSET_ARCHER = 20, // 0x00000014 + OFFSET_CROSSBOWMAN = 30, // 0x0000001E + OFFSET_SLINGER = 40, // 0x00000028 + OFFSET_ARAB_ARCHER = 50, // 0x00000032 + OFFSET_FIRE_THROWER = 60, // 0x0000003C + OFFSET_OILMAN = 70, // 0x00000046 + OFFSET_SPEARMAN = 80, // 0x00000050 + OFFSET_MACEMAN = 90, // 0x0000005A + OFFSET_SLAVE = 100, // 0x00000064 + OFFSET_HORSE_ARCHER = 110, // 0x0000006E + OFFSET_PIKEMAN = 120, // 0x00000078 + OFFSET_SWORDSMAN = 130, // 0x00000082 + OFFSET_KNIGHT = 140, // 0x0000008C + OFFSET_ASSASSIN = 150, // 0x00000096 + OFFSET_ARAB_SWORDSMAN = 160, // 0x000000A0 + OFFSET_0xAA = 170, // 0x000000AA + OFFSET_0xB4 = 180, // 0x000000B4 + OFFSET_0xBE = 190, // 0x000000BE + OFFSET_0xC8 = 200, // 0x000000C8 + OFFSET_0xD2 = 210 // 0x000000D2 + + } AIVUnitTypeTribeArrayOffset; + + static_assert_cpp98_obj(sizeof(AIVUnitTypeTribeArrayOffset) == 4, AIVUnitTypeTribeArrayOffset); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp b/src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp new file mode 100644 index 0000000..1513261 --- /dev/null +++ b/src/OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffsetInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AIVUnitTypeTribeArrayOffset.hpp" + +namespace OpenSHC { +namespace AI { + namespace Tribes { + typedef int AIVUnitTypeTribeArrayOffsetInt; + + static_assert_cpp98_obj(sizeof(AIVUnitTypeTribeArrayOffsetInt) == 4, AIVUnitTypeTribeArrayOffsetInt); + } // namespace Tribes +} // namespace AI +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio.func.hpp b/src/OpenSHC/Audio.func.hpp new file mode 100644 index 0000000..3922223 --- /dev/null +++ b/src/OpenSHC/Audio.func.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio.hpp" +namespace OpenSHC { +namespace Audio_Func { + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0044A720, &OpenSHC::Audio::ResetGreatestLordGenieSpeechState) + ResetGreatestLordGenieSpeechState; + +} // namespace Audio_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio.hpp b/src/OpenSHC/Audio.hpp new file mode 100644 index 0000000..2cfcd86 --- /dev/null +++ b/src/OpenSHC/Audio.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + + void __cdecl ResetGreatestLordGenieSpeechState(); + +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/MissingResourceState.func.hpp b/src/OpenSHC/Audio/MissingResourceState.func.hpp new file mode 100644 index 0000000..b57412b --- /dev/null +++ b/src/OpenSHC/Audio/MissingResourceState.func.hpp @@ -0,0 +1,23 @@ +/** + path: 'OpenSHC/Audio/MissingResourceState.func.hpp' +*/ + +#include "OpenSHC/Audio/MissingResourceState.hpp" +#include "OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp" +namespace OpenSHC { +namespace Audio { + namespace MissingResourceState_Func { + + using OpenSHC::Audio::SFX::ResourceLackSFXInt; + + MACRO_FUNCTION_RESOLVER(void (MissingResourceState::*)(int, ResourceLackSFXInt), false, + Address::SHC_3BB0A8C1_0x00471720, &MissingResourceState::playResourceLackSFX) + playResourceLackSFX; + + MACRO_FUNCTION_RESOLVER(void (MissingResourceState::*)(int, int, dword, dword), false, + Address::SHC_3BB0A8C1_0x004761E0, &MissingResourceState::renderResourceMissingText) + renderResourceMissingText; + + } // namespace MissingResourceState_Func +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/MissingResourceState.hpp b/src/OpenSHC/Audio/MissingResourceState.hpp new file mode 100644 index 0000000..2c9dbd7 --- /dev/null +++ b/src/OpenSHC/Audio/MissingResourceState.hpp @@ -0,0 +1,42 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/MissingResourceState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp" + +namespace OpenSHC { +namespace Audio { + + using OpenSHC::Audio::SFX::ResourceLackSFXInt; + +#pragma pack(push, 1) + + // SIZE: 0x00000001 + class MissingResourceState { + public: + undefined1 padding_0x0[1]; // 0x00000000 length: 1 + + private: + MissingResourceState(MissingResourceState const&); + void operator=(MissingResourceState const&); + + MissingResourceState(); + ~MissingResourceState(); + + public: + void playResourceLackSFX(int resourceTextElement, ResourceLackSFXInt resourceType); + + void renderResourceMissingText(int posX, int posY, dword textGroup, dword unusedUnk); + }; + + static_assert_cpp98_obj(sizeof(MissingResourceState) == 1, MissingResourceState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MissingResourceState, false, Address::SHC_3BB0A8C1_0x00EE1098) pDAT_MissingResourceState; + +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/MusicControl.hpp b/src/OpenSHC/Audio/MusicControl.hpp new file mode 100644 index 0000000..ff43530 --- /dev/null +++ b/src/OpenSHC/Audio/MusicControl.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/MusicControl.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + +#pragma pack(push, 1) + // SIZE: 0x00000020 + typedef struct MusicControl { + + int field0_0x0; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int volumeLevel; // 0x00000008 length: 4 + int musicTracker; // 0x0000000C length: 4 + int troopValueLevel; // 0x00000010 length: 4 + int incrementorUpTo4; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + int field7_0x1c; // 0x0000001C length: 4 + + } MusicControl; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MusicControl) == 32, MusicControl); +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX.func.hpp b/src/OpenSHC/Audio/SFX.func.hpp new file mode 100644 index 0000000..7200ecb --- /dev/null +++ b/src/OpenSHC/Audio/SFX.func.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX.hpp" +namespace OpenSHC { +namespace Audio { + namespace SFX_Func { + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0044B840, + &OpenSHC::Audio::SFX::UpdateUnitLossSpeechFeedback) + UpdateUnitLossSpeechFeedback; + + } // namespace SFX_Func +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX.hpp b/src/OpenSHC/Audio/SFX.hpp new file mode 100644 index 0000000..6f3550d --- /dev/null +++ b/src/OpenSHC/Audio/SFX.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + + void __stdcall UpdateUnitLossSpeechFeedback(); + + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/AmbientSFXType.hpp b/src/OpenSHC/Audio/SFX/AmbientSFXType.hpp new file mode 100644 index 0000000..aed967c --- /dev/null +++ b/src/OpenSHC/Audio/SFX/AmbientSFXType.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/AmbientSFXType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef enum AmbientSFXType { + + ASFXT_WIND_0 = 0, // 0x00000000 + ASFXT_WIND_1 = 1, // 0x00000001 + ASFXT_UNKNOWN = 2, // 0x00000002 + ASFXT_HEAVY = 3, // 0x00000003 + ASFXT_BATTLE_OR_INTENSE = 4 // 0x00000004 + + } AmbientSFXType; + + static_assert_cpp98_obj(sizeof(AmbientSFXType) == 4, AmbientSFXType); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp b/src/OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp new file mode 100644 index 0000000..935f06c --- /dev/null +++ b/src/OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/AmbientSFXType.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef int AmbientSFXTypeInt; + + static_assert_cpp98_obj(sizeof(AmbientSFXTypeInt) == 4, AmbientSFXTypeInt); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/AmbientSfx.hpp b/src/OpenSHC/Audio/SFX/AmbientSfx.hpp new file mode 100644 index 0000000..17352fc --- /dev/null +++ b/src/OpenSHC/Audio/SFX/AmbientSfx.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/AmbientSfx.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + +#pragma pack(push, 1) + // SIZE: 0x00000048 + typedef struct AmbientSfx { + + int field0_0x0; // 0x00000000 length: 4 + char* ambientWavs_0x8[8]; // 0x00000004 length: 32 + int volumeUnk_0x28[8]; // 0x00000024 length: 32 + int field3_0x44; // 0x00000044 length: 4 + + } AmbientSfx; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AmbientSfx) == 72, AmbientSfx); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/MusicSfx.hpp b/src/OpenSHC/Audio/SFX/MusicSfx.hpp new file mode 100644 index 0000000..9a9328d --- /dev/null +++ b/src/OpenSHC/Audio/SFX/MusicSfx.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/MusicSfx.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct MusicSfx { + + char* musicFile; // 0x00000000 length: 4 + BOOLEnum unknownFlag_0x4; // 0x00000004 length: 4 + + } MusicSfx; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MusicSfx) == 8, MusicSfx); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/NameSpeechPair.hpp b/src/OpenSHC/Audio/SFX/NameSpeechPair.hpp new file mode 100644 index 0000000..74efd66 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/NameSpeechPair.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/NameSpeechPair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + +#pragma pack(push, 1) + // SIZE: 0x000007D0 + typedef struct NameSpeechPair { + + char name[1000]; // 0x00000000 length: 1000 + char source[1000]; // 0x000003E8 length: 1000 + + } NameSpeechPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(NameSpeechPair) == 2000, NameSpeechPair); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/ResourceLackSFX.hpp b/src/OpenSHC/Audio/SFX/ResourceLackSFX.hpp new file mode 100644 index 0000000..6a30bd2 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/ResourceLackSFX.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/ResourceLackSFX.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef enum ResourceLackSFX { + + RLSFX_IRON = 1, // 0x00000001 + RLSFX_PITCH = 2, // 0x00000002 + RLSFX_GOLD = 3, // 0x00000003 + RLSFX_PARTIAL_STONEUnk = 4, // 0x00000004 + RLSFX_WOOD = 5, // 0x00000005 + RLSFX_STONE = 6 // 0x00000006 + + } ResourceLackSFX; + + static_assert_cpp98_obj(sizeof(ResourceLackSFX) == 4, ResourceLackSFX); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp b/src/OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp new file mode 100644 index 0000000..a2f594e --- /dev/null +++ b/src/OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/ResourceLackSFXInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/ResourceLackSFX.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef int ResourceLackSFXInt; + + static_assert_cpp98_obj(sizeof(ResourceLackSFXInt) == 4, ResourceLackSFXInt); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SFXDefinedData.hpp b/src/OpenSHC/Audio/SFX/SFXDefinedData.hpp new file mode 100644 index 0000000..43f7e4f --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SFXDefinedData.hpp @@ -0,0 +1,37 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SFXDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/MusicSfx.hpp" +#include "mmsystem.h" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + + using OpenSHC::Audio::SFX::MusicSfx; + +#pragma pack(push, 1) + // SIZE: 0x000004EC + typedef struct SFXDefinedData { + + MMRESULT SND_SomeTimerIdentifier; // 0x00000000 length: 4 + MusicSfx DAT_SFX_Pointers[116]; // 0x00000004 length: 928 + int field2_0x3a4[8][8]; // 0x000003A4 length: 256 + int field3_0x4a4[8]; // 0x000004A4 length: 32 + int field4_0x4c4[6]; // 0x000004C4 length: 24 + int DAT_LastUsedSpeechStream; // 0x000004DC length: 4 + undefined4 field6_0x4e0; // 0x000004E0 length: 4 + undefined4 field7_0x4e4; // 0x000004E4 length: 4 + undefined1 padding_0x4e8[4]; // 0x000004E8 length: 4 + + } SFXDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SFXDefinedData) == 1260, SFXDefinedData); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SFXFadeState.hpp b/src/OpenSHC/Audio/SFX/SFXFadeState.hpp new file mode 100644 index 0000000..6239e52 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SFXFadeState.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SFXFadeState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef enum SFXFadeState { + + SFXFS_IDLE = 0, // 0x00000000 + SFXFS_FADE_IN = 1, // 0x00000001 + SFXFS_FADE_OUT = 2 // 0x00000002 + + } SFXFadeState; + + static_assert_cpp98_obj(sizeof(SFXFadeState) == 4, SFXFadeState); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SFXFadeStateInt.hpp b/src/OpenSHC/Audio/SFX/SFXFadeStateInt.hpp new file mode 100644 index 0000000..7eed744 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SFXFadeStateInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SFXFadeStateInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/SFXFadeState.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef int SFXFadeStateInt; + + static_assert_cpp98_obj(sizeof(SFXFadeStateInt) == 4, SFXFadeStateInt); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SFXState.func.hpp b/src/OpenSHC/Audio/SFX/SFXState.func.hpp new file mode 100644 index 0000000..42ade89 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SFXState.func.hpp @@ -0,0 +1,114 @@ +/** + path: 'OpenSHC/Audio/SFX/SFXState.func.hpp' +*/ + +#include "OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp" +#include "OpenSHC/Audio/SFX/SFXState.hpp" +#include "OpenSHC/Audio/SFX/SoundEffectIDInt.hpp" +#include "OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp" +#include "OpenSHC/_SHCDE/eSFXInt.hpp" +namespace OpenSHC { +namespace Audio { + namespace SFX { + namespace SFXState_Func { + + using OpenSHC::_SHCDE::eSFXInt; + using OpenSHC::Audio::SFX::AmbientSFXTypeInt; + using OpenSHC::Audio::SFX::SoundEffectIDInt; + using OpenSHC::Audio::SFX::SpeechEffectIDInt; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(int), false, Address::SHC_3BB0A8C1_0x00449B20, &SFXState::freeMemoryAt) + freeMemoryAt; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(char*), false, Address::SHC_3BB0A8C1_0x00449B30, &SFXState::loadWavSounds) + loadWavSounds; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(SoundEffectIDInt), false, Address::SHC_3BB0A8C1_0x00449C40, + &SFXState::setUpSFXToPlayUnk) + setUpSFXToPlayUnk; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00449CC0, &SFXState::setSoundWithVariation) + setSoundWithVariation; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00449D50, &SFXState::scheduleSFXVariation) + scheduleSFXVariation; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(int, int, eSFXInt), false, Address::SHC_3BB0A8C1_0x00449DC0, + &SFXState::playSFXAtLocation) + playSFXAtLocation; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00449F10, + &SFXState::someVolumeAdjustmentFunction) + someVolumeAdjustmentFunction; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044A050, &SFXState::meth_0x44a050) + meth_0x44a050; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(int), false, Address::SHC_3BB0A8C1_0x0044A0D0, &SFXState::notifyAmbientSoundEvent) + notifyAmbientSoundEvent; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(AmbientSFXTypeInt), false, Address::SHC_3BB0A8C1_0x0044A0F0, + &SFXState::playAmbientSoundStreamUnk) + playAmbientSoundStreamUnk; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(int), false, Address::SHC_3BB0A8C1_0x0044A1B0, &SFXState::playAmbientSoundStream2Unk) + playAmbientSoundStream2Unk; + + MACRO_FUNCTION_RESOLVER( + int (SFXState::*)(char*), false, Address::SHC_3BB0A8C1_0x0044A240, &SFXState::getSoundVolumeForFilename) + getSoundVolumeForFilename; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(uint), false, Address::SHC_3BB0A8C1_0x0044A290, &SFXState::playUnitSpeechEffect) + playUnitSpeechEffect; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(SpeechEffectIDInt), false, Address::SHC_3BB0A8C1_0x0044A3A0, + &SFXState::PlaySpeechSFX) + PlaySpeechSFX; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(char*), false, Address::SHC_3BB0A8C1_0x0044A460, &SFXState::playWAVSFX) + playWAVSFX; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(char*), false, Address::SHC_3BB0A8C1_0x0044A500, &SFXState::playOnSpeechSfxStream) + playOnSpeechSfxStream; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(char*), false, Address::SHC_3BB0A8C1_0x0044A5A0, &SFXState::playSpeechSFX) + playSpeechSFX; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044A6E0, &SFXState::playSFXWeAreUnderAttack) + playSFXWeAreUnderAttack; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(int, float), false, Address::SHC_3BB0A8C1_0x0044ABB0, &SFXState::tweakVolume) + tweakVolume; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044AE90, + &SFXState::readVolumeFileAndSetupSoundVolumes) + readVolumeFileAndSetupSoundVolumes; + + MACRO_FUNCTION_RESOLVER(void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044BCA0, &SFXState::loadSFX) + loadSFX; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x0044BCE0, &SFXState::updateAmbientSoundStream) + updateAmbientSoundStream; + + MACRO_FUNCTION_RESOLVER( + void (SFXState::*)(), false, Address::SHC_3BB0A8C1_0x00449FF0, &SFXState::soundRelatedMethod1) + soundRelatedMethod1; + + } // namespace SFXState_Func + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SFXState.hpp b/src/OpenSHC/Audio/SFX/SFXState.hpp new file mode 100644 index 0000000..05334a8 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SFXState.hpp @@ -0,0 +1,107 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SFXState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/AmbientSFXTypeInt.hpp" +#include "OpenSHC/Audio/SFX/SoundEffectIDInt.hpp" +#include "OpenSHC/Audio/SFX/SoundStructure1.hpp" +#include "OpenSHC/Audio/SFX/SoundStructure2.hpp" +#include "OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp" +#include "OpenSHC/_SHCDE/eSFXInt.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + + using OpenSHC::_SHCDE::eSFXInt; + using OpenSHC::Audio::SFX::AmbientSFXTypeInt; + using OpenSHC::Audio::SFX::SoundEffectIDInt; + using OpenSHC::Audio::SFX::SoundStructure1; + using OpenSHC::Audio::SFX::SoundStructure2; + using OpenSHC::Audio::SFX::SpeechEffectIDInt; + +#pragma pack(push, 1) + + // SIZE: 0x00008E90 + class SFXState { + public: + undefined4 DAT_SFXCounter1; // 0x00000000 length: 4 + undefined4 highestSFXCounter; // 0x00000004 length: 4 + pointer* DAT_SoundFileNameArrayMemoryPointer; // 0x00000008 length: 4 + char* DAT_SoundFileNamePointersArray[1000]; // 0x0000000C length: 4000 + int DAT_SoundVolumeArray[1000]; // 0x00000FAC length: 4000 + undefined4 DAT_SoundTotalCount; // 0x00001F4C length: 4 + SoundStructure1 DAT_SoundStructures[1000]; // 0x00001F50 length: 24000 + SoundStructure2 DAT_SoundStructures2[270]; // 0x00007D10 length: 4320 + int ambientEventCounters[10][4]; // 0x00008DF0 length: 160 + + private: + SFXState(SFXState const&); + void operator=(SFXState const&); + + SFXState(); + ~SFXState(); + + public: + // Constructor + SFXState* Constructor_SFXState(); + + void freeMemoryAt(int param_1); + + void loadWavSounds(char* param_1); + + void setUpSFXToPlayUnk(SoundEffectIDInt sfxOffsetInArray); + + void setSoundWithVariation(int unknownSfxID, int volumePercentage); + + void scheduleSFXVariation(int sfxGroupID, int variationIndex); + + void playSFXAtLocation(int xPosition, int yPosition, eSFXInt sfxOffsetInArray); + + void someVolumeAdjustmentFunction(int param_1, int param_2, int param_3); + + void meth_0x44a050(); + + void notifyAmbientSoundEvent(int ambientSoundType); + + void playAmbientSoundStreamUnk(AmbientSFXTypeInt ambientSoundIndexUnk); + + void playAmbientSoundStream2Unk(int ambientSoundIndexUnk); + + int getSoundVolumeForFilename(char* soundFileName); + + void playUnitSpeechEffect(uint speechEffectID); + + void PlaySpeechSFX(SpeechEffectIDInt speechID); + + void playWAVSFX(char* wav_filename); + + void playOnSpeechSfxStream(char* filename); + + void playSpeechSFX(char* filename); + + void playSFXWeAreUnderAttack(); + + void tweakVolume(int param_1, float param_2); + + void readVolumeFileAndSetupSoundVolumes(); + + void loadSFX(); + + void updateAmbientSoundStream(); + + void soundRelatedMethod1(); + }; + + static_assert_cpp98_obj(sizeof(SFXState) == 36496, SFXState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(SFXState, false, Address::SHC_3BB0A8C1_0x00F22500) pDAT_SFXState; + + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SoundEffectID.hpp b/src/OpenSHC/Audio/SFX/SoundEffectID.hpp new file mode 100644 index 0000000..957114e --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SoundEffectID.hpp @@ -0,0 +1,201 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SoundEffectID.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef enum SoundEffectID { + + SEID_WOOD_CHOP = 2, // 0x00000002 + SEID_WOOD_SAW = 3, // 0x00000003 + SEID_STOCKS = 4, // 0x00000004 + SEID_ARROW_SHOOT = 5, // 0x00000005 + SEID_ARROW_KILL = 6, // 0x00000006 + SEID_PEOPLE_ARE_COMING_TO_THE_CASTLE = 7, // 0x00000007 + SEID_ARROW_SPLASH_IN_WATER = 8, // 0x00000008 + SEID_WATER_SPLASH = 9, // 0x00000009 + SEID_UNKNOWN_0x0A = 10, // 0x0000000A + SEID_MILL = 11, // 0x0000000B + SEID_INN = 12, // 0x0000000C + SEID_QUARRY_STONE_CHIP = 13, // 0x0000000D + SEID_QUARRY_STONE_BREAK = 14, // 0x0000000E + SEID_QUARRY_STONE_LIFT_01 = 15, // 0x0000000F + SEID_QUARRY_STONE_LIFT_02 = 16, // 0x00000010 + SEID_QUARRY_STONE_SLIDE = 17, // 0x00000011 + SEID_QUARRY_STONE_PLACE = 18, // 0x00000012 + SEID_QUARRY_STONE_LOWERED = 19, // 0x00000013 + SEID_WARCRY = 20, // 0x00000014 + SEID_QUARRY_WORKER_GRUNT = 21, // 0x00000015 + SEID_DRAWBRIDGE_LOWERING = 22, // 0x00000016 + SEID_DRAWBRIDGE_LOWERED = 23, // 0x00000017 + SEID_DRAWBRIDGE_RAISING = 24, // 0x00000018 + SEID_DRAWBRIDGE_RAISED = 25, // 0x00000019 + SEID_DRAWBRIDGE_CONTROL = 26, // 0x0000001A + SEID_IRON_DUMP = 27, // 0x0000001B + SEID_IRON_LITTLE_DUMP = 28, // 0x0000001C + SEID_IRON_BOIL = 29, // 0x0000001D + SEID_IRON_POUR = 30, // 0x0000001E + SEID_IRON_PULL = 31, // 0x0000001F + SEID_IRON_WORKER_GRUNT = 32, // 0x00000020 + SEID_FOOD_DEPOSIT = 33, // 0x00000021 + SEID_ALE_DEPOSIT = 34, // 0x00000022 + SEID_FLOUR_DEPOSIT = 35, // 0x00000023 + SEID_IRON_DEPOSIT = 36, // 0x00000024 + SEID_PITCH_DEPOSIT = 37, // 0x00000025 + SEID_STONE_DEPOSIT = 38, // 0x00000026 + SEID_SWORD_DEPOSIT = 39, // 0x00000027 + SEID_WHEAT_DEPOSIT = 40, // 0x00000028 + SEID_WOOD_DEPOSIT = 41, // 0x00000029 + SEID_TREE_FALL = 42, // 0x0000002A + SEID_TREE_BREAK = 43, // 0x0000002B + SEID_BLACKSMITH_ANVIL = 44, // 0x0000002C + SEID_BLACKSMITH_BELLOW = 45, // 0x0000002D + SEID_BLACKSMITH_COOLING = 46, // 0x0000002E + SEID_UNKNOWN_0x2F = 47, // 0x0000002F + SEID_UNKNOWN_0x30 = 48, // 0x00000030 + SEID_BLACKSMITH_FILE = 49, // 0x00000031 + SEID_BAKE_BIG = 50, // 0x00000032 + SEID_BAKE_SMALL = 51, // 0x00000033 + SEID_UNKNOWN_0x34 = 52, // 0x00000034 + SEID_PITCH_RIG_WATERLAP = 53, // 0x00000035 + SEID_PITCH_RIG_SCOOP = 54, // 0x00000036 + SEID_PITCH_RIG_POUR = 55, // 0x00000037 + SEID_TANNER_LITTLE_CUT = 56, // 0x00000038 + SEID_TANNER_BRUSH_UP = 57, // 0x00000039 + SEID_TANNER_BRUSH_DOWN = 58, // 0x0000003A + SEID_FLETCHER_FLETCH = 59, // 0x0000003B + SEID_GHOST = 60, // 0x0000003C + SEID_UNKNOWN_0x3D = 61, // 0x0000003D + SEID_STIR = 62, // 0x0000003E + SEID_FIREPLACE = 63, // 0x0000003F + SEID_ARROW_BOUNCE = 64, // 0x00000040 + SEID_SWORD_CLASH = 65, // 0x00000041 + SEID_POLETURNER_TURN = 67, // 0x00000043 + SEID_POLETURNER_SHARPEN = 68, // 0x00000044 + SEID_MOAT_DIGGING = 69, // 0x00000045 + SEID_DOG_BARK = 78, // 0x0000004E + SEID_DOG_CRY = 81, // 0x00000051 + SEID_BROOM = 82, // 0x00000052 + SEID_HORSE_DIE1 = 90, // 0x0000005A + SEID_HORSE_DIE2 = 91, // 0x0000005B + SEID_RABBIT_DIE1 = 92, // 0x0000005C + SEID_BURNING_MAN_SCREAM = 97, // 0x00000061 + SEID_BURNING_MAN_SCREAM2 = 100, // 0x00000064 + SEID_CATAPULT_SHOOT = 106, // 0x0000006A + SEID_TREBUCHET_DESTROYED = 111, // 0x0000006F + SEID_SIEGE_EQUIPMENT_DESTROYED = 112, // 0x00000070 + SEID_ARROW_HIT_SIEGE_EQUIPMENT = 115, // 0x00000073 + SEID_UNIT_MACE_KILL1 = 116, // 0x00000074 + SEID_UNIT_KILLED_BY_ARROW = 117, // 0x00000075 + SEID_UNIT_KILLED_BY_ARROW2 = 118, // 0x00000076 + SEID_New_Name = 119, // 0x00000077 + SEID_FIRE_IGNITE = 122, // 0x0000007A + SEID_CHICKEN1 = 137, // 0x00000089 + SEID_GATEHOUSE_CLOSE = 141, // 0x0000008D + SEID_GATEHOUSE_OPEN = 143, // 0x0000008F + SEID_CHILDREN_PLAY_MAYPOLE = 144, // 0x00000090 + SEID_SWORDSMAN_SWORD_SWING = 145, // 0x00000091 + SEID_GATEHOUSE_CLOSED = 147, // 0x00000093 + SEID_UNIT_MACE_KILL2 = 151, // 0x00000097 + SEID_UNIT_PENETRATION_DAMAGE = 153, // 0x00000099 + SEID_UNIT_KILLED_BY_SWORD = 154, // 0x0000009A + SEID_UNIT_TAKE_ARROW_DAMAGE3 = 155, // 0x0000009B + SEID_UNIT_TAKE_ARROW_DAMAGE1 = 156, // 0x0000009C + SEID_UNIT_TAKE_ARROW_DAMAGE2 = 157, // 0x0000009D + SEID_ENTER_TUNNEL = 159, // 0x0000009F + SEID_BABY_CRY = 162, // 0x000000A2 + SEID_SWORD_HIT_WALL = 163, // 0x000000A3 + SEID_SWORD_HIT_WOODEN_BUILDING = 164, // 0x000000A4 + SEID_STONE_HIT_UNIT = 165, // 0x000000A5 + SEID_COW_SPLASH_ON_GROUND = 166, // 0x000000A6 + SEID_DEER_HERD_RUN_AWAY = 167, // 0x000000A7 + SEID_BALLISTA_RELOAD = 168, // 0x000000A8 + SEID_BALLISTA_SHOOT = 169, // 0x000000A9 + SEID_BUILDING_DESTROYED = 170, // 0x000000AA + SEID_UNKNOWN_0xAB = 171, // 0x000000AB + SEID_FIRE_ARROW_SHOOT = 172, // 0x000000AC + SEID_SWORDSMAN_WALK = 173, // 0x000000AD + SEID_SEVERAL_SWORDSMEN_WALK = 174, // 0x000000AE + SEID_LOTS_SWORDSMEN_WALK = 175, // 0x000000AF + SEID_STONE_SPLASH_IN_WATER = 176, // 0x000000B0 + SEID_UNKNOWN_0xB1 = 177, // 0x000000B1 + SEID_BATTERING_RAM_BATTER_DOOR = 178, // 0x000000B2 + SEID_SWORD_SHEATH_OUT_01 = 179, // 0x000000B3 + SEID_SWORD_SHEATH_OUT_02 = 180, // 0x000000B4 + SEID_BUTTON_CLICK_01 = 181, // 0x000000B5 + SEID_WOMAN_SCREAM_01 = 182, // 0x000000B6 + SEID_WOMAN_SCREAM_02 = 183, // 0x000000B7 + SEID_UNKNOWN_0xB8 = 184, // 0x000000B8 + SEID_MACE_KILL = 185, // 0x000000B9 + SEID_PIKE_KILL = 186, // 0x000000BA + SEID_SPEAR_KILL = 187, // 0x000000BB + SEID_SWORD_KILL = 188, // 0x000000BC + SEID_FLIES = 189, // 0x000000BD + SEID_HARVEST = 190, // 0x000000BE + SEID_PLOW = 191, // 0x000000BF + SEID_HOWL = 192, // 0x000000C0 + SEID_DOG_RELEASE = 193, // 0x000000C1 + SEID_COW_DEATH = 194, // 0x000000C2 + SEID_UNKNOWN_0xC3 = 195, // 0x000000C3 + SEID_UNKNOWN_0xC4 = 196, // 0x000000C4 + SEID_JESTER_DEATH = 197, // 0x000000C5 + SEID_PLAYER_LORD_DEATH = 198, // 0x000000C6 + SEID_AI_LORD_DEATH = 199, // 0x000000C7 + SEID_CROW = 200, // 0x000000C8 + SEID_SEAGULL = 201, // 0x000000C9 + SEID_UNKNOWN_0xCA = 202, // 0x000000CA + SEID_FLAG_SMALL = 203, // 0x000000CB + SEID_FLAG_BIG = 204, // 0x000000CC + SEID_UKNOWN_0xCD = 205, // 0x000000CD + SEID_UKNOWN_0xCE = 206, // 0x000000CE + SEID_CHAPEL_BELL = 207, // 0x000000CF + SEID_CHURCH_BELL = 208, // 0x000000D0 + SEID_CATHEDRAL_BELL = 209, // 0x000000D1 + SEID_STRETCHING_RACK = 210, // 0x000000D2 + SEID_GALLOWS = 211, // 0x000000D3 + SEID_DUNGEON = 212, // 0x000000D4 + SEID_DUNKING_STOOL = 213, // 0x000000D5 + SEID_DUNKING_STOOL_2 = 214, // 0x000000D6 + SEID_DUNKING_STOOL_3 = 215, // 0x000000D7 + SEID_DUNKING_STOOL_4 = 216, // 0x000000D8 + SEID_DUNKING_STOOL_5 = 217, // 0x000000D9 + SEID_DUNKING_STOOL_6 = 218, // 0x000000DA + SEID_UNKNOWN_0xDB = 219, // 0x000000DB + SEID_FIRE_OUT = 220, // 0x000000DC + SEID_SLAVE_FIRE = 221, // 0x000000DD + SEID_UNKNOWN_0xDE = 222, // 0x000000DE + SEID_UNKNOWN_0xDF = 223, // 0x000000DF + SEID_GIRLY_SCREAM = 224, // 0x000000E0 + SEID_LION_ROAR = 225, // 0x000000E1 + SEID_ASSASSIN_SWING_SWORD = 226, // 0x000000E2 + SEID_ASSASSIN_HOOK_HIT = 227, // 0x000000E3 + SEID_UNKNOWN_0xE4 = 228, // 0x000000E4 + SEID_UNKNOWN_0xE5 = 229, // 0x000000E5 + SEID_UNKNOWN_0xE6 = 230, // 0x000000E6 + SEID_SLINGER_THROW = 231, // 0x000000E7 + SEID_SLAVE_ATTACK = 232, // 0x000000E8 + SEID_LORD_ATTACK = 233, // 0x000000E9 + SEID_UNKNOWN_0xEA = 234, // 0x000000EA + SEID_UNKNOWN_0xEB = 235, // 0x000000EB + SEID_UNKNOWN_0xEC = 236, // 0x000000EC + SEID_FIRE_THROW = 237, // 0x000000ED + SEID_SLING_DEATH = 238, // 0x000000EE + SEID_SLING_HIT = 239, // 0x000000EF + SEID_UNIT_DAMAGE_BY_LORD1 = 240, // 0x000000F0 + SEID_UNIT_DAMAGE_BY_LORD2 = 241, // 0x000000F1 + SEID_UNIT_DAMAGE_BY_LORD3 = 242, // 0x000000F2 + SEID_UNIT_DAMAGE1 = 246, // 0x000000F6 + SEID_UNIT_DAMAGE2 = 247, // 0x000000F7 + SEID_UNIT_DAMAGE3 = 248, // 0x000000F8 + SEID_UNIT_DAMAGE4 = 249 // 0x000000F9 + + } SoundEffectID; + + static_assert_cpp98_obj(sizeof(SoundEffectID) == 4, SoundEffectID); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SoundEffectIDInt.hpp b/src/OpenSHC/Audio/SFX/SoundEffectIDInt.hpp new file mode 100644 index 0000000..ed8e973 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SoundEffectIDInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SoundEffectIDInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/SoundEffectID.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef int SoundEffectIDInt; + + static_assert_cpp98_obj(sizeof(SoundEffectIDInt) == 4, SoundEffectIDInt); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SoundStructure1.hpp b/src/OpenSHC/Audio/SFX/SoundStructure1.hpp new file mode 100644 index 0000000..a1a0f2f --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SoundStructure1.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SoundStructure1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + +#pragma pack(push, 1) + // SIZE: 0x00000018 + typedef struct SoundStructure1 { + + int volumePercentage; // 0x00000000 length: 4 + int samplePan; // 0x00000004 length: 4 + int scheduledPlayCounter; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int baseVolumePercentageUnk; // 0x00000010 length: 4 + pointer* pointerToFilename; // 0x00000014 length: 4 + + } SoundStructure1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SoundStructure1) == 24, SoundStructure1); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SoundStructure2.hpp b/src/OpenSHC/Audio/SFX/SoundStructure2.hpp new file mode 100644 index 0000000..4713539 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SoundStructure2.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SoundStructure2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct SoundStructure2 { + + int soundID; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int variationCount; // 0x00000008 length: 4 + int variationCounter; // 0x0000000C length: 4 + + } SoundStructure2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SoundStructure2) == 16, SoundStructure2); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SpeechEffectID.hpp b/src/OpenSHC/Audio/SFX/SpeechEffectID.hpp new file mode 100644 index 0000000..0f4e61c --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SpeechEffectID.hpp @@ -0,0 +1,84 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SpeechEffectID.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef enum SpeechEffectID { + + SEID_GENERAL_STARTGAME = 0, // 0x00000000 + SEID_GENERAL_QUITGAME = 1, // 0x00000001 + SEID_GENERAL_LOADING = 2, // 0x00000002 + SEID_GENERAL_SAVING = 3, // 0x00000003 + SEID_POP_FALLING = 4, // 0x00000004 + SEID_POP_STABLE = 5, // 0x00000005 + SEID_POP_RISING = 6, // 0x00000006 + SEID_POP_IMMIGRATE = 7, // 0x00000007 + SEID_POP_EMIGRATE = 8, // 0x00000008 + SEID_POP_POPULARITY1 = 9, // 0x00000009 + SEID_POP_POPULARITY2 = 10, // 0x0000000A + SEID_POP_POPULARITY3 = 11, // 0x0000000B + SEID_POP_POPULARITY4 = 12, // 0x0000000C + SEID_POP_POPULARITY5 = 13, // 0x0000000D + SEID_POP_POPULARITY6 = 14, // 0x0000000E + SEID_POP_POPULARITY7 = 15, // 0x0000000F + SEID_POP_POPULARITY8 = 16, // 0x00000010 + SEID_FOOD_GROWING = 17, // 0x00000011 + SEID_FOOD_FALLING = 18, // 0x00000012 + SEID_FOOD_DOUBLE = 19, // 0x00000013 + SEID_FOOD_NORMAL = 20, // 0x00000014 + SEID_FOOD_HALF = 21, // 0x00000015 + SEID_FOOD_NONE = 22, // 0x00000016 + SEID_FOOD_MULTIPLE = 23, // 0x00000017 + SEID_FOOD_EXTRA = 24, // 0x00000018 + SEID_TAXES_CONSTANT = 25, // 0x00000019 + SEID_TAXES_INCREASE2 = 26, // 0x0000001A + SEID_TAXES_INCREASE1 = 27, // 0x0000001B + SEID_TAXES_DECREASE1 = 28, // 0x0000001C + SEID_TAXES_DECREASE2 = 29, // 0x0000001D + SEID_TAXES_RATE1 = 30, // 0x0000001E + SEID_TAXES_RATE2 = 31, // 0x0000001F + SEID_TAXES_RATE3 = 32, // 0x00000020 + SEID_TAXES_RATE4 = 33, // 0x00000021 + SEID_TAXES_RATE5 = 34, // 0x00000022 + SEID_TAXES_RATE6 = 35, // 0x00000023 + SEID_TAXES_RATE7 = 36, // 0x00000024 + SEID_TAXES_RATE8 = 37, // 0x00000025 + SEID_RAT_ATTACK = 38, // 0x00000026 + SEID_SNAKE_ATTACK = 39, // 0x00000027 + SEID_PIG_ATTACK = 40, // 0x00000028 + SEID_WOLF_ATTACK = 41, // 0x00000029 + SEID_RESOURCE_NEED21 = 42, // 0x0000002A + SEID_RESOURCE_NEED22 = 43, // 0x0000002B + SEID_RESOURCE_NEED23 = 44, // 0x0000002C + SEID_RESOURCE_NEED24 = 45, // 0x0000002D + SEID_RESOURCE_NEED25 = 46, // 0x0000002E + SEID_RESOURCE_NEED26 = 47, // 0x0000002F + SEID_RESOURCE_NEED27 = 48, // 0x00000030 + SEID_RESOURCE_NEED28 = 49, // 0x00000031 + SEID_RESOURCE_NEED8 = 50, // 0x00000032 + SEID_RESOURCE_NEED9 = 51, // 0x00000033 + SEID_RESOURCE_NEED10 = 52, // 0x00000034 + SEID_RESOURCE_NEED11 = 53, // 0x00000035 + SEID_RESOURCE_NEED16 = 54, // 0x00000036 + SEID_RESOURCE_NEED17 = 55, // 0x00000037 + SEID_RESOURCE_NEED18 = 56, // 0x00000038 + SEID_RESOURCE_NEED19 = 57, // 0x00000039 + SEID_RESOURCE_NEED12 = 58, // 0x0000003A + SEID_RESOURCE_NEED13 = 59, // 0x0000003B + SEID_RESOURCE_NEED14 = 60, // 0x0000003C + SEID_RESOURCE_NEED15 = 61, // 0x0000003D + SEID_RESOURCE_NEED20 = 62, // 0x0000003E + SEID_RESOURCE_NEED7 = 63, // 0x0000003F + SEID_GENERAL_MESSAGE3 = 64 // 0x00000040 + + } SpeechEffectID; + + static_assert_cpp98_obj(sizeof(SpeechEffectID) == 4, SpeechEffectID); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp b/src/OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp new file mode 100644 index 0000000..c94c8e5 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/SpeechEffectID.hpp" + +namespace OpenSHC { +namespace Audio { + namespace SFX { + typedef int SpeechEffectIDInt; + + static_assert_cpp98_obj(sizeof(SpeechEffectIDInt) == 4, SpeechEffectIDInt); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/SpeechEffectPath.hpp b/src/OpenSHC/Audio/SFX/SpeechEffectPath.hpp new file mode 100644 index 0000000..bd2ebf7 --- /dev/null +++ b/src/OpenSHC/Audio/SFX/SpeechEffectPath.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/SpeechEffectPath.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct SpeechEffectPath { + + undefined4 field0_0x0; // 0x00000000 length: 4 + pointer* europeanSound; // 0x00000004 length: 4 + pointer* arabianSound; // 0x00000008 length: 4 + undefined4 field3_0xc; // 0x0000000C length: 4 + + } SpeechEffectPath; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SpeechEffectPath) == 16, SpeechEffectPath); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SFX/UnitSpeechData.hpp b/src/OpenSHC/Audio/SFX/UnitSpeechData.hpp new file mode 100644 index 0000000..d8525ca --- /dev/null +++ b/src/OpenSHC/Audio/SFX/UnitSpeechData.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SFX/UnitSpeechData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace SFX { + +#pragma pack(push, 1) + // SIZE: 0x00000094 + typedef struct UnitSpeechData { + + int unk_1; // 0x00000000 length: 4 + char* filenames[18]; // 0x00000004 length: 72 + int unk_2; // 0x0000004C length: 4 + byte unk_3[68]; // 0x00000050 length: 68 + + } UnitSpeechData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitSpeechData) == 148, UnitSpeechData); + } // namespace SFX +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/SoundEffectsHelperData1.hpp b/src/OpenSHC/Audio/SoundEffectsHelperData1.hpp new file mode 100644 index 0000000..ead49f9 --- /dev/null +++ b/src/OpenSHC/Audio/SoundEffectsHelperData1.hpp @@ -0,0 +1,53 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/SoundEffectsHelperData1.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/MusicControl.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "mmsystem.h" + +namespace OpenSHC { +namespace Audio { + + using OpenSHC::Audio::MusicControl; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x00000088 + typedef struct SoundEffectsHelperData1 { + + undefined4 DAT_NegativeCountdownMin1ToMin4Becomes0; // 0x00000000 length: 4 + undefined4 DAT_Music_TotalTroopValue; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + MusicControl SEC_Section1079; // 0x0000000C length: 32 + int field4_0x2c; // 0x0000002C length: 4 + undefined4 SND_SomeTimerResolution; // 0x00000030 length: 4 + undefined4 field6_0x34; // 0x00000034 length: 4 + int DAT_NumberOfUsedSoundSamplePlaces; // 0x00000038 length: 4 + int field8_0x3c; // 0x0000003C length: 4 + int DAT_RandomVariationCurrentPlayingMusic_01; // 0x00000040 length: 4 + int DAT_SomeSoundTime2; // 0x00000044 length: 4 + int DAT_RandomVariationCurrentPlayingMusic_02; // 0x00000048 length: 4 + undefined4 field12_0x4c; // 0x0000004C length: 4 + undefined4 field13_0x50; // 0x00000050 length: 4 + undefined1 padding_0x54[4]; // 0x00000054 length: 4 + BOOLEnum field18_0x58; // 0x00000058 length: 4 + undefined4 field19_0x5c; // 0x0000005C length: 4 + undefined4 DAT_WinMusicVariation; // 0x00000060 length: 4 + undefined4 field21_0x64; // 0x00000064 length: 4 + undefined4 DAT_LossMusicVariation; // 0x00000068 length: 4 + DWORD DAT_enemyInsideCastleSoundWarningCooldownTimer; // 0x0000006C length: 4 + undefined4 field24_0x70; // 0x00000070 length: 4 + WAVEFORMATEX SND_Waveformat; // 0x00000074 length: 18 + undefined1 padding_0x86[2]; // 0x00000086 length: 2 + + } SoundEffectsHelperData1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SoundEffectsHelperData1) == 136, SoundEffectsHelperData1); +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/Speech/SpeechDefinedData.hpp b/src/OpenSHC/Audio/Speech/SpeechDefinedData.hpp new file mode 100644 index 0000000..777aad7 --- /dev/null +++ b/src/OpenSHC/Audio/Speech/SpeechDefinedData.hpp @@ -0,0 +1,44 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/Speech/SpeechDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/AmbientSfx.hpp" +#include "OpenSHC/Audio/SFX/NameSpeechPair.hpp" +#include "OpenSHC/Audio/SFX/SpeechEffectPath.hpp" +#include "OpenSHC/Audio/SFX/UnitSpeechData.hpp" + +namespace OpenSHC { +namespace Audio { + namespace Speech { + + using OpenSHC::Audio::SFX::AmbientSfx; + using OpenSHC::Audio::SFX::NameSpeechPair; + using OpenSHC::Audio::SFX::SpeechEffectPath; + using OpenSHC::Audio::SFX::UnitSpeechData; + +#pragma pack(push, 1) + // SIZE: 0x0049D4C4 + typedef struct SpeechDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + char SFX_WavFileGroups[2][270][8][1000]; // 0x00000004 length: 4320000 + AmbientSfx field5_0x41eb04[10]; // 0x0041EB04 length: 720 + UnitSpeechData field6_0x41edd4[42]; // 0x0041EDD4 length: 6216 + SpeechEffectPath DAT_SpeechEffectPathArray[40]; // 0x0042061C length: 640 + char DAT_SpeechEffectFileArray[65][1000]; // 0x0042089C length: 65000 + NameSpeechPair LordNameToCall[223]; // 0x00430684 length: 446000 + int field10_0x49d4b4; // 0x0049D4B4 length: 4 + undefined4 field11_0x49d4b8; // 0x0049D4B8 length: 4 + int currentStreamID; // 0x0049D4BC length: 4 + undefined1 padding_0x49d4c0[4]; // 0x0049D4C0 length: 4 + + } SpeechDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SpeechDefinedData) == 4838596, SpeechDefinedData); + } // namespace Speech +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss.func.hpp b/src/OpenSHC/Audio/mss.func.hpp new file mode 100644 index 0000000..95be586 --- /dev/null +++ b/src/OpenSHC/Audio/mss.func.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss.hpp" +#include "WinDef.h" +#include "basetsd.h" +namespace OpenSHC { +namespace Audio { + namespace mss_Func { + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2), false, + Address::SHC_3BB0A8C1_0x0047B510, &OpenSHC::Audio::mss::SndSystemTimeCallback) + SndSystemTimeCallback; + + MACRO_FUNCTION_RESOLVER(undefined4(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0057E160, + &OpenSHC::Audio::mss::RegisterMilesAILShutdown) + RegisterMilesAILShutdown; + + } // namespace mss_Func +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss.hpp b/src/OpenSHC/Audio/mss.hpp new file mode 100644 index 0000000..4208beb --- /dev/null +++ b/src/OpenSHC/Audio/mss.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "basetsd.h" +namespace OpenSHC { +namespace Audio { + namespace mss { + + void __stdcall SndSystemTimeCallback(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2); + + undefined4 __stdcall RegisterMilesAILShutdown(); + + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/FakeDigDriver.hpp b/src/OpenSHC/Audio/mss/FakeDigDriver.hpp new file mode 100644 index 0000000..e7c4673 --- /dev/null +++ b/src/OpenSHC/Audio/mss/FakeDigDriver.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/FakeDigDriver.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + +#pragma pack(push, 1) + // SIZE: 0x00000000 + typedef struct FakeDigDriver { + + } FakeDigDriver; +#pragma pack(pop) + + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/FakeSample.hpp b/src/OpenSHC/Audio/mss/FakeSample.hpp new file mode 100644 index 0000000..303a92a --- /dev/null +++ b/src/OpenSHC/Audio/mss/FakeSample.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/FakeSample.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + +#pragma pack(push, 1) + // SIZE: 0x00000000 + typedef struct FakeSample { + + } FakeSample; +#pragma pack(pop) + + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/FakeStream.hpp b/src/OpenSHC/Audio/mss/FakeStream.hpp new file mode 100644 index 0000000..8924624 --- /dev/null +++ b/src/OpenSHC/Audio/mss/FakeStream.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/FakeStream.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + +#pragma pack(push, 1) + // SIZE: 0x00000000 + typedef struct FakeStream { + + } FakeStream; +#pragma pack(pop) + + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/HDIGDRIVER.hpp b/src/OpenSHC/Audio/mss/HDIGDRIVER.hpp new file mode 100644 index 0000000..79bcdc3 --- /dev/null +++ b/src/OpenSHC/Audio/mss/HDIGDRIVER.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/HDIGDRIVER.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/FakeDigDriver.hpp" +namespace OpenSHC { +namespace Audio { + namespace mss { + + using OpenSHC::Audio::mss::FakeDigDriver; + + typedef FakeDigDriver* HDIGDRIVER; + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/HSAMPLE.hpp b/src/OpenSHC/Audio/mss/HSAMPLE.hpp new file mode 100644 index 0000000..06ca035 --- /dev/null +++ b/src/OpenSHC/Audio/mss/HSAMPLE.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/HSAMPLE.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/FakeSample.hpp" +namespace OpenSHC { +namespace Audio { + namespace mss { + + using OpenSHC::Audio::mss::FakeSample; + + typedef FakeSample* HSAMPLE; + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/HSTREAM.hpp b/src/OpenSHC/Audio/mss/HSTREAM.hpp new file mode 100644 index 0000000..9618fae --- /dev/null +++ b/src/OpenSHC/Audio/mss/HSTREAM.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/HSTREAM.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/FakeStream.hpp" +namespace OpenSHC { +namespace Audio { + namespace mss { + + using OpenSHC::Audio::mss::FakeStream; + + typedef FakeStream* HSTREAM; + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/SndStreamHelper.hpp b/src/OpenSHC/Audio/mss/SndStreamHelper.hpp new file mode 100644 index 0000000..0923245 --- /dev/null +++ b/src/OpenSHC/Audio/mss/SndStreamHelper.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/SndStreamHelper.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + +#pragma pack(push, 1) + // SIZE: 0x00000014 + typedef struct SndStreamHelper { + + int music; // 0x00000000 length: 4 + int sfx_1Unk; // 0x00000004 length: 4 + int sfx_2Unk; // 0x00000008 length: 4 + int speech_1; // 0x0000000C length: 4 + int speech_2; // 0x00000010 length: 4 + + } SndStreamHelper; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SndStreamHelper) == 20, SndStreamHelper); + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/SoundSystem.func.hpp b/src/OpenSHC/Audio/mss/SoundSystem.func.hpp new file mode 100644 index 0000000..97b7d65 --- /dev/null +++ b/src/OpenSHC/Audio/mss/SoundSystem.func.hpp @@ -0,0 +1,227 @@ +/** + path: 'OpenSHC/Audio/mss/SoundSystem.func.hpp' +*/ + +#include "OpenSHC/Audio/mss/SoundSystem.hpp" +#include "OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp" +#include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eMusicIDsInt.hpp" +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace SoundSystem_Func { + + using OpenSHC::_SHCDE::eMusicIDsInt; + using OpenSHC::Audio::mss::UnkSoundFlagsAndLoopCount; + using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + 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_0x00467810, &SoundSystem::stopMusicPlayback) + stopMusicPlayback; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00467830, &SoundSystem::endSoundStreamsUnk) + endSoundStreamsUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(SHC_SoundStreamInt), false, Address::SHC_3BB0A8C1_0x004799A0, + &SoundSystem::endSoundStream) + endSoundStream; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (SoundSystem::*)(SHC_SoundStreamInt), false, + Address::SHC_3BB0A8C1_0x00479A60, &SoundSystem::isSampleOrStreamPlaying) + isSampleOrStreamPlaying; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00479AB0, + &SoundSystem::shouldSoundXNotBePlaying) + shouldSoundXNotBePlaying; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(SHC_SoundStreamInt, int), false, + 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::*)(int), false, Address::SHC_3BB0A8C1_0x00479C80, + &SoundSystem::findSamplePlaceForSoundUnk) + findSamplePlaceForSoundUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00479CF0, + &SoundSystem::setupSampleForNextSound) + setupSampleForNextSound; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (SoundSystem::*)(int), false, Address::SHC_3BB0A8C1_0x00479D90, + &SoundSystem::getAndUpdateSampleStatus) + getAndUpdateSampleStatus; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(int), false, Address::SHC_3BB0A8C1_0x00479DF0, &SoundSystem::playSound) + playSound; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(int, int), false, Address::SHC_3BB0A8C1_0x00479E60, &SoundSystem::setVolumeUnk) + setVolumeUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00479F30, + &SoundSystem::deactivateSoundFromMenuFuncUnk) + deactivateSoundFromMenuFuncUnk; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x00479FC0, &SoundSystem::pauseAudioSample) + pauseAudioSample; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A080, &SoundSystem::resumeAudioSample) + resumeAudioSample; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A130, + &SoundSystem::mapLoadingAndLaunchGameRelated1) + mapLoadingAndLaunchGameRelated1; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(eMusicIDsInt), false, Address::SHC_3BB0A8C1_0x0047A1B0, + &SoundSystem::setupVolumeAndSoundID) + setupVolumeAndSoundID; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(eMusicIDsInt, int), false, Address::SHC_3BB0A8C1_0x0047A220, + &SoundSystem::setupVolumeAndSoundIDWithMultiplier) + setupVolumeAndSoundIDWithMultiplier; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A290, &SoundSystem::meth_0x47a290) + meth_0x47a290; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A2A0, &SoundSystem::setSomeSoundTime) + setSomeSoundTime; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A310, + &SoundSystem::setupVolumeAndSoundID0xF0_100) + setupVolumeAndSoundID0xF0_100; + + 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_0x0047A5E0, &SoundSystem::playDarMehqOrGlory) + playDarMehqOrGlory; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A630, &SoundSystem::playWinMusicVariation) + playWinMusicVariation; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A660, &SoundSystem::setupLossMusic) + setupLossMusic; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A690, &SoundSystem::shutdownSoundSystem) + shutdownSoundSystem; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A790, &SoundSystem::playMusicUnk) + playMusicUnk; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A9E0, &SoundSystem::meth_0x47a9e0) + meth_0x47a9e0; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047AA70, &SoundSystem::endSpeechSoundStreams) + endSpeechSoundStreams; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(int), false, Address::SHC_3BB0A8C1_0x0047AB10, &SoundSystem::playRandomMusic02) + playRandomMusic02; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0044A620, + &SoundSystem::handleBattleEndMusicTransition) + handleBattleEndMusicTransition; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(SHC_SoundStreamInt, char*, UnkSoundFlagsAndLoopCount), false, + 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*, int), false, Address::SHC_3BB0A8C1_0x0047B2F0, + &SoundSystem::playOrSetupMusicUnk) + playOrSetupMusicUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*, int), false, Address::SHC_3BB0A8C1_0x0047B3C0, + &SoundSystem::playOrEndMusicUnk) + playOrEndMusicUnk; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B490, &SoundSystem::openSound) + openSound; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B590, + &SoundSystem::playOnSfx1SoundStreamOnceOrOnRepeatUnk) + playOnSfx1SoundStreamOnceOrOnRepeatUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B5C0, + &SoundSystem::playSoundOnSoundStream2) + playSoundOnSoundStream2; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*), false, Address::SHC_3BB0A8C1_0x0047B5F0, + &SoundSystem::playSoundOnSpeechStream) + playSoundOnSpeechStream; + + MACRO_FUNCTION_RESOLVER( + 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*, UnkSoundFlagsAndLoopCount), false, + Address::SHC_3BB0A8C1_0x0047B760, &SoundSystem::playSomeMusicUnk) + playSomeMusicUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*, UnkSoundFlagsAndLoopCount), false, + Address::SHC_3BB0A8C1_0x0047B7D0, &SoundSystem::playOnSfx1SoundStreamUnk) + playOnSfx1SoundStreamUnk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*, UnkSoundFlagsAndLoopCount), false, + Address::SHC_3BB0A8C1_0x0047B800, &SoundSystem::playSoundOnSfxSoundStream2) + playSoundOnSfxSoundStream2; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(char*, UnkSoundFlagsAndLoopCount), false, + Address::SHC_3BB0A8C1_0x0047B830, &SoundSystem::playSoundOnStream3Unk) + playSoundOnStream3Unk; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047B870, + &SoundSystem::activateSoundFromMenuFuncUnk) + activateSoundFromMenuFuncUnk; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047A340, &SoundSystem::playRandomAmbientMusic) + playRandomAmbientMusic; + + MACRO_FUNCTION_RESOLVER(void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047BF20, + &SoundSystem::playRandomBackgroundMusicUnk) + playRandomBackgroundMusicUnk; + + MACRO_FUNCTION_RESOLVER( + void (SoundSystem::*)(), false, Address::SHC_3BB0A8C1_0x0047C400, &SoundSystem::initMiles) + initMiles; + + } // namespace SoundSystem_Func + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/SoundSystem.hpp b/src/OpenSHC/Audio/mss/SoundSystem.hpp new file mode 100644 index 0000000..ae9f315 --- /dev/null +++ b/src/OpenSHC/Audio/mss/SoundSystem.hpp @@ -0,0 +1,192 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/SoundSystem.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/HDIGDRIVER.hpp" +#include "OpenSHC/Audio/mss/HSAMPLE.hpp" +#include "OpenSHC/Audio/mss/HSTREAM.hpp" +#include "OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp" +#include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eMusicIDsInt.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Audio { + namespace mss { + + using OpenSHC::_SHCDE::eMusicIDsInt; + using OpenSHC::Audio::mss::HDIGDRIVER; + using OpenSHC::Audio::mss::HSAMPLE; + using OpenSHC::Audio::mss::HSTREAM; + using OpenSHC::Audio::mss::UnkSoundFlagsAndLoopCount; + using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0000328C + class SoundSystem { + public: + DWORD soundActiveUnk_0x0; // 0x00000000 length: 4 + HDIGDRIVER digSndDriver_0x4; // 0x00000004 length: 4 + BOOLEnum waveOutOpenUnk_0x8; // 0x00000008 length: 4 + HSTREAM stream_0xc[5]; // 0x0000000C length: 20 + int streamActiveUnk_0x20[5]; // 0x00000020 length: 20 + UnkSoundFlagsAndLoopCount streamFlagsUnkAndLoopCount_0x34[5]; // 0x00000034 length: 20 + int streamFileVolumeNextUnk_0x48[5]; // 0x00000048 length: 20 + int streamFileVolumeCurrentUnk_0x5c[5]; // 0x0000005C length: 20 + int streamVolume[5]; // 0x00000070 length: 20 + char currIdSoundFilenameUnk_0x84[200]; // 0x00000084 length: 200 + int mbr_0x14c; // 0x0000014C length: 4 + int currIdSoundFileVolumeUnk_0x150; // 0x00000150 length: 4 + dword mbr_0x154; // 0x00000154 length: 4 + dword someSoundTime_0x158; // 0x00000158 length: 4 + int streamPaused_0x15c[5]; // 0x0000015C length: 20 + HSAMPLE musicSampleUnk_0x170; // 0x00000170 length: 4 + int musicSampleFileHandleUnk_0x174; // 0x00000174 length: 4 + int musicFileHandle_0x178; // 0x00000178 length: 4 + void* sampleBufferPtrUnk_0x17c[2]; // 0x0000017C length: 8 + int sampleBufferSizeUnk_0x184; // 0x00000184 length: 4 + dword mbr_0x188; // 0x00000188 length: 4 + dword mbr_0x18c; // 0x0000018C length: 4 + HSAMPLE sample_0x190[31]; // 0x00000190 length: 124 + int sampleSoundIndex_0x20c[32]; // 0x0000020C length: 128 + int soundFileCurrSampleNum_0x28c[1000]; // 0x0000028C length: 4000 + void* soundFileDataPointerArray_0x122c[1000]; // 0x0000122C length: 4000 + int soundFileSizes_0x21cc[1000]; // 0x000021CC length: 4000 + int loadedSoundsCountAndIndex_0x316c; // 0x0000316C length: 4 + int sampleVolume; // 0x00003170 length: 4 + int sampleSndStructVolumePercentage_0x3174[32]; // 0x00003174 length: 128 + int samplePaused_0x31f4[32]; // 0x000031F4 length: 128 + undefined4 sec_Section1055_0x3274; // 0x00003274 length: 4 + int currentSoundID_0x3278; // 0x00003278 length: 4 + dword currentSoundIDVolumeUnk_0x327c; // 0x0000327C length: 4 + dword mbr_0x3280; // 0x00003280 length: 4 + int lastUsedSpeechStreamUnk_0x3284; // 0x00003284 length: 4 + dword mbr_0x3288; // 0x00003288 length: 4 + + private: + SoundSystem(SoundSystem const&); + void operator=(SoundSystem const&); + + SoundSystem(); + ~SoundSystem(); + + public: + void meth_0x424700(); + + void stopMusicPlayback(); + + void endSoundStreamsUnk(); + + void endSoundStream(SHC_SoundStreamInt sndStreamIndex); + + BOOLEnum isSampleOrStreamPlaying(SHC_SoundStreamInt streamIndex); + + BOOLEnum shouldSoundXNotBePlaying(); + + void setStreamAndSampleVolumeUnk(SHC_SoundStreamInt sndStreamIndex, int volumeParam); + + void meth_0x479b70(); + + void findSamplePlaceForSoundUnk(int soundIndex); + + void setupSampleForNextSound(int soundIndex, int sampleVolumePercentage, int samplePan); + + BOOLEnum getAndUpdateSampleStatus(int soundIndex); + + void playSound(int soundIndex); + + void setVolumeUnk(int streamIndex, int volume); + + void deactivateSoundFromMenuFuncUnk(); + + void pauseAudioSample(); + + void resumeAudioSample(); + + void mapLoadingAndLaunchGameRelated1(); + + void setupVolumeAndSoundID(eMusicIDsInt soundID); + + void setupVolumeAndSoundIDWithMultiplier(eMusicIDsInt soundID, int soundMultiplier); + + void meth_0x47a290(); + + void setSomeSoundTime(); + + void setupVolumeAndSoundID0xF0_100(); + + void setSection1079_28_4_(int param_1); + + void meth_0x47a580(); + + void playDarMehqOrGlory(); + + void playWinMusicVariation(); + + void setupLossMusic(); + + void shutdownSoundSystem(); + + void playMusicUnk(); + + void meth_0x47a9e0(); + + void endSpeechSoundStreams(); + + void playRandomMusic02(int param_1); + + void handleBattleEndMusicTransition(); + + void playSoundStreamUnk( + SHC_SoundStreamInt sndStreamIndex, char* filename, UnkSoundFlagsAndLoopCount flagsAndLoopCount); + + void meth_0x47b250(char* filename); + + void playOrSetupMusicUnk(char* filename, int someVolumeUnk); + + void playOrEndMusicUnk(char* filename, int volume); + + void openSound(char* filePath); + + void playOnSfx1SoundStreamOnceOrOnRepeatUnk(char* filename); + + void playSoundOnSoundStream2(char* filename); + + void playSoundOnSpeechStream(char* filename); + + void playSpeechSfx(char* soundFileName); + + void meth_0x47b700(char* param_1); + + void playSomeMusicUnk(char* filename, UnkSoundFlagsAndLoopCount flagsAndLoop); + + void playOnSfx1SoundStreamUnk(char* soundFileName, UnkSoundFlagsAndLoopCount flagsAndLoopCount); + + void playSoundOnSfxSoundStream2(char* filename, UnkSoundFlagsAndLoopCount flagsAndLoopCount); + + void playSoundOnStream3Unk(char* filename, UnkSoundFlagsAndLoopCount flagsAndLoopCount); + + void activateSoundFromMenuFuncUnk(); + + void playRandomAmbientMusic(); + + void playRandomBackgroundMusicUnk(); + + void initMiles(); + }; + + static_assert_cpp98_obj(sizeof(SoundSystem) == 12940, SoundSystem); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(SoundSystem, false, Address::SHC_3BB0A8C1_0x01127DD0) pDAT_SoundSystem; + + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp b/src/OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp new file mode 100644 index 0000000..b71a23e --- /dev/null +++ b/src/OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct UnkSoundFlagsAndLoopCount { + + ushort loopCount; // 0x00000000 length: 2 + undefined1 padding_0x2[1]; // 0x00000002 length: 1 + byte flagsUnk; // 0x00000003 length: 1 + + } UnkSoundFlagsAndLoopCount; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnkSoundFlagsAndLoopCount) == 4, UnkSoundFlagsAndLoopCount); + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/_enums/AILStatus.hpp b/src/OpenSHC/Audio/mss/_enums/AILStatus.hpp new file mode 100644 index 0000000..8ff2bb6 --- /dev/null +++ b/src/OpenSHC/Audio/mss/_enums/AILStatus.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/_enums/AILStatus.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace _enums { + typedef enum AILStatus { + + SND_FREE = 1, // 0x00000001 + SND_DONE = 3, // 0x00000003 + SND_PLAYING = 4, // 0x00000004 + SND_STOPPED = 8, // 0x00000008 + SND_PLAYINGBUTRELEASED = 16 // 0x00000010 + + } AILStatus; + + static_assert_cpp98_obj(sizeof(AILStatus) == 4, AILStatus); + } // namespace _enums + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/_enums/AILStatusInt.hpp b/src/OpenSHC/Audio/mss/_enums/AILStatusInt.hpp new file mode 100644 index 0000000..6007483 --- /dev/null +++ b/src/OpenSHC/Audio/mss/_enums/AILStatusInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/_enums/AILStatusInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/_enums/AILStatus.hpp" + +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace _enums { + typedef int AILStatusInt; + + static_assert_cpp98_obj(sizeof(AILStatusInt) == 4, AILStatusInt); + } // namespace _enums + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/_enums/SHC_SoundFlag.hpp b/src/OpenSHC/Audio/mss/_enums/SHC_SoundFlag.hpp new file mode 100644 index 0000000..46077a1 --- /dev/null +++ b/src/OpenSHC/Audio/mss/_enums/SHC_SoundFlag.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/_enums/SHC_SoundFlag.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace _enums { + typedef enum SHC_SoundFlag { + + SND_NOT_OVERWRITEUnk = 2147483648 // 0x80000000 + + } SHC_SoundFlag; + + static_assert_cpp98_obj(sizeof(SHC_SoundFlag) == 4, SHC_SoundFlag); + } // namespace _enums + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/_enums/SHC_SoundFlagInt.hpp b/src/OpenSHC/Audio/mss/_enums/SHC_SoundFlagInt.hpp new file mode 100644 index 0000000..6b0a5f4 --- /dev/null +++ b/src/OpenSHC/Audio/mss/_enums/SHC_SoundFlagInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/_enums/SHC_SoundFlagInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/_enums/SHC_SoundFlag.hpp" + +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace _enums { + typedef int SHC_SoundFlagInt; + + static_assert_cpp98_obj(sizeof(SHC_SoundFlagInt) == 4, SHC_SoundFlagInt); + } // namespace _enums + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/_enums/SHC_SoundStream.hpp b/src/OpenSHC/Audio/mss/_enums/SHC_SoundStream.hpp new file mode 100644 index 0000000..c3fbfda --- /dev/null +++ b/src/OpenSHC/Audio/mss/_enums/SHC_SoundStream.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/_enums/SHC_SoundStream.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace _enums { + typedef enum SHC_SoundStream { + + SND_STR_MUSIC = 0, // 0x00000000 + SND_STR_SFX_1Unk = 1, // 0x00000001 + SND_STR_SFX_2Unk = 2, // 0x00000002 + SND_STR_SPEECH_1 = 3, // 0x00000003 + SND_STR_SPEECH_2 = 4 // 0x00000004 + + } SHC_SoundStream; + + static_assert_cpp98_obj(sizeof(SHC_SoundStream) == 4, SHC_SoundStream); + } // namespace _enums + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp b/src/OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp new file mode 100644 index 0000000..fe180bb --- /dev/null +++ b/src/OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/_enums/SHC_SoundStream.hpp" + +namespace OpenSHC { +namespace Audio { + namespace mss { + namespace _enums { + typedef int SHC_SoundStreamInt; + + static_assert_cpp98_obj(sizeof(SHC_SoundStreamInt) == 4, SHC_SoundStreamInt); + } // namespace _enums + } // namespace mss +} // namespace Audio +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands.func.hpp b/src/OpenSHC/Commands.func.hpp new file mode 100644 index 0000000..55f5571 --- /dev/null +++ b/src/OpenSHC/Commands.func.hpp @@ -0,0 +1,470 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands.hpp" +namespace OpenSHC { +namespace Commands_Func { + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00429630, + &OpenSHC::Commands::QueueChangeGameIntensityOrBalance) + QueueChangeGameIntensityOrBalance; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00465700, &OpenSHC::Commands::QueueChangeTaxes) + QueueChangeTaxes; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480640, &OpenSHC::Commands::InitialAnnounceReply) + InitialAnnounceReply; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480680, &OpenSHC::Commands::AnnounceGameVersion) + AnnounceGameVersion; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480710, + &OpenSHC::Commands::AnnouncePlayerInformationSuchAsNameLordTypeAndAvailableAIVS) + AnnouncePlayerInformationSuchAsNameLordTypeAndAvailableAIVS; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480980, + &OpenSHC::Commands::ShareGameSeedAndMultiplayerSettingsAndStartGame) + ShareGameSeedAndMultiplayerSettingsAndStartGame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480B10, &OpenSHC::Commands::CommandCheckSync) + CommandCheckSync; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480BE0, &OpenSHC::Commands::AnnounceTeamsAndPositions) + AnnounceTeamsAndPositions; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480DB0, &OpenSHC::Commands::ClickNavigateMenuOrEscape) + ClickNavigateMenuOrEscape; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480E60, &OpenSHC::Commands::MakeUnitSelection) + MakeUnitSelection; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00480F00, &OpenSHC::Commands::ClickMoveUnit) + ClickMoveUnit; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481050, &OpenSHC::Commands::ClickErase) + ClickErase; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481120, &OpenSHC::Commands::ClickSetLand) + ClickSetLand; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481250, &OpenSHC::Commands::ClickRaiseLand) + ClickRaiseLand; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004813C0, &OpenSHC::Commands::ClickSetTerrain) + ClickSetTerrain; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481580, &OpenSHC::Commands::ClickHeightEqualize) + ClickHeightEqualize; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004816F0, &OpenSHC::Commands::ClickTerrainHeightMinOrMax) + ClickTerrainHeightMinOrMax; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481860, &OpenSHC::Commands::ClickCreatePlateau) + ClickCreatePlateau; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004819D0, &OpenSHC::Commands::ClickPlaceWall) + ClickPlaceWall; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481B50, &OpenSHC::Commands::ClickPlaceRockOrTree) + ClickPlaceRockOrTree; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481C80, &OpenSHC::Commands::ClickRaiseLand2Unk) + ClickRaiseLand2Unk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481D90, &OpenSHC::Commands::ClickPlaceBuilding) + ClickPlaceBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00481F40, &OpenSHC::Commands::ClickDestroyBuilding) + ClickDestroyBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004821E0, &OpenSHC::Commands::ClickRecruitUnit) + ClickRecruitUnit; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482280, &OpenSHC::Commands::_REMOVED_COMMAND1_) + _REMOVED_COMMAND1_; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482290, &OpenSHC::Commands::ClickSetBuildingProductionType) + ClickSetBuildingProductionType; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482360, &OpenSHC::Commands::ClickChangeTaxes) + ClickChangeTaxes; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004823C0, &OpenSHC::Commands::ClickChangeRations) + ClickChangeRations; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482420, &OpenSHC::Commands::ClickGiveUnitsInstruction) + ClickGiveUnitsInstruction; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482550, + &OpenSHC::Commands::ClickSomethingWithDrawBridgeUnk) + ClickSomethingWithDrawBridgeUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482620, &OpenSHC::Commands::ClickBuyOrSell) + ClickBuyOrSell; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004826C0, &OpenSHC::Commands::ClickDestroy) + ClickDestroy; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004827E0, &OpenSHC::Commands::ClickPlaceSiegeTent) + ClickPlaceSiegeTent; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482A40, &OpenSHC::Commands::ClickBuildingSleep) + ClickBuildingSleep; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482AA0, &OpenSHC::Commands::ClickCreateAnimal) + ClickCreateAnimal; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482BB0, &OpenSHC::Commands::ClickOpenOrCloseGate) + ClickOpenOrCloseGate; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00482C80, &OpenSHC::Commands::ShareDesyncedHashes) + ShareDesyncedHashes; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00483290, &OpenSHC::Commands::CommandChangeMapSelection) + CommandChangeMapSelection; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004833F0, &OpenSHC::Commands::AcknowledgeMapExistence) + AcknowledgeMapExistence; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004834B0, &OpenSHC::Commands::ShareMSVMapIndex) + ShareMSVMapIndex; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00483570, + &OpenSHC::Commands::ClickInitOrChangeGameIntensityAndBalance) + ClickInitOrChangeGameIntensityAndBalance; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00483850, &OpenSHC::Commands::SharePlayerName) + SharePlayerName; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00483A00, &OpenSHC::Commands::SendResyncCharLayer) + SendResyncCharLayer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004840C0, &OpenSHC::Commands::ResyncShortLayer) + ResyncShortLayer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004843F0, &OpenSHC::Commands::ResyncStatus2) + ResyncStatus2; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484450, &OpenSHC::Commands::ResetSyncStatusUnk) + ResetSyncStatusUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004844A0, &OpenSHC::Commands::ClickRepairTower) + ClickRepairTower; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004845B0, &OpenSHC::Commands::CommandSpawnEntity) + CommandSpawnEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004847B0, &OpenSHC::Commands::ClickUnitStance) + ClickUnitStance; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484850, &OpenSHC::Commands::ClickExtendRallyPoint) + ClickExtendRallyPoint; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484960, &OpenSHC::Commands::FUN_00484960) + FUN_00484960; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484A00, &OpenSHC::Commands::FUN_00484a00) + FUN_00484a00; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484A70, &OpenSHC::Commands::ReleaseDogs) + ReleaseDogs; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484B10, &OpenSHC::Commands::RemoveTowerSiegeEngine) + RemoveTowerSiegeEngine; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484C40, &OpenSHC::Commands::DestroyWallOrPitch) + DestroyWallOrPitch; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484DA0, &OpenSHC::Commands::DeselectUnit) + DeselectUnit; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484E10, &OpenSHC::Commands::FUN_00484e10) + FUN_00484e10; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484E70, &OpenSHC::Commands::ResyncZone) + ResyncZone; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00484F30, &OpenSHC::Commands::KickPlayerUnk) + KickPlayerUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485020, &OpenSHC::Commands::CommandSelectionReplenishAmmo) + CommandSelectionReplenishAmmo; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004850E0, &OpenSHC::Commands::BroadCastSyncRelatedStatus) + BroadCastSyncRelatedStatus; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485140, &OpenSHC::Commands::VoteKick_K_D_B_G_J) + VoteKick_K_D_B_G_J; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485210, &OpenSHC::Commands::FUN_00485210) + FUN_00485210; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004852D0, &OpenSHC::Commands::ShareAnnouncementWithHost) + ShareAnnouncementWithHost; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485330, &OpenSHC::Commands::CloseModalDialogForEveryone) + CloseModalDialogForEveryone; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485380, &OpenSHC::Commands::SomePlayerNameUpdateCommand) + SomePlayerNameUpdateCommand; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485520, &OpenSHC::Commands::FlagsAndBraziersCommandUnk) + FlagsAndBraziersCommandUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004855C0, &OpenSHC::Commands::FUN_004855c0) + FUN_004855c0; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485650, &OpenSHC::Commands::SomeKindOfMultiplayerPingUnk) + SomeKindOfMultiplayerPingUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004856E0, &OpenSHC::Commands::ShareGameStatePartialHashes) + ShareGameStatePartialHashes; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485790, &OpenSHC::Commands::ResyncStatusStart) + ResyncStatusStart; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485830, &OpenSHC::Commands::SetUnitAssemblyPoint) + SetUnitAssemblyPoint; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485C10, &OpenSHC::Commands::StartSendingMapFile) + StartSendingMapFile; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485CC0, &OpenSHC::Commands::StartReceivingMapFile) + StartReceivingMapFile; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485E80, &OpenSHC::Commands::MapSendingRelated) + MapSendingRelated; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00485F20, &OpenSHC::Commands::HostAnnounceRoundTable) + HostAnnounceRoundTable; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00486040, &OpenSHC::Commands::AddAIPlayer) + AddAIPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00486140, + &OpenSHC::Commands::SendPlayerToPlayerRequestOrResponse) + SendPlayerToPlayerRequestOrResponse; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00486320, &OpenSHC::Commands::ShareAIVHash) + ShareAIVHash; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004863A0, + &OpenSHC::Commands::UpdateSkirmishGameMenuFaceBitmap) + UpdateSkirmishGameMenuFaceBitmap; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00486530, &OpenSHC::Commands::ActiveTacticalPowers) + ActiveTacticalPowers; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004893C0, &OpenSHC::Commands::InitialAnnounceToHost) + InitialAnnounceToHost; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00489410, &OpenSHC::Commands::AssignPlayerIDToPlayerSlot) + AssignPlayerIDToPlayerSlot; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004894F0, + &OpenSHC::Commands::TriggerLobbyPlayerInformationRefresh) + TriggerLobbyPlayerInformationRefresh; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004895E0, &OpenSHC::Commands::ClickTauntOrChat) + ClickTauntOrChat; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00489880, &OpenSHC::Commands::AutoSaveTriggered) + AutoSaveTriggered; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00489AC0, &OpenSHC::Commands::SetPlayerNameUnk) + SetPlayerNameUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00489C80, &OpenSHC::Commands::CommandLoadMapHeader) + CommandLoadMapHeader; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00489E30, &OpenSHC::Commands::SubmitMSVMapIndexAndProperties) + SubmitMSVMapIndexAndProperties; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A0E0, &OpenSHC::Commands::ResyncChimp) + ResyncChimp; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A1F0, &OpenSHC::Commands::SendResyncBuilding) + SendResyncBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A2A0, &OpenSHC::Commands::SendResyncVeg) + SendResyncVeg; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A350, &OpenSHC::Commands::SendResyncTribe) + SendResyncTribe; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A460, &OpenSHC::Commands::SendResyncPlayerData) + SendResyncPlayerData; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A510, &OpenSHC::Commands::SendResyncUnknown) + SendResyncUnknown; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A710, &OpenSHC::Commands::SendResyncEntity) + SendResyncEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A7C0, &OpenSHC::Commands::SendResyncIntLayer) + SendResyncIntLayer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048A8A0, &OpenSHC::Commands::DestroyPlayer) + DestroyPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048AA80, &OpenSHC::Commands::ResyncMoat) + ResyncMoat; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048AB40, &OpenSHC::Commands::ResyncTeleClimb) + ResyncTeleClimb; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048ABF0, &OpenSHC::Commands::ResyncPitch) + ResyncPitch; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048ACB0, &OpenSHC::Commands::CommandSwitchTeams) + CommandSwitchTeams; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048B170, &OpenSHC::Commands::SyncRelatedSomething) + SyncRelatedSomething; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048B280, &OpenSHC::Commands::SendQuitGameQuestion) + SendQuitGameQuestion; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048B330, &OpenSHC::Commands::ShareQuitGameVote) + ShareQuitGameVote; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048B4E0, &OpenSHC::Commands::VoteKick_SEND_L_E_C_A_F_H_ZAP) + VoteKick_SEND_L_E_C_A_F_H_ZAP; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048B6C0, &OpenSHC::Commands::ShareMapHashForMapName) + ShareMapHashForMapName; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048B8F0, &OpenSHC::Commands::ShareMapPart) + ShareMapPart; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048BBE0, &OpenSHC::Commands::ResyncVillage) + ResyncVillage; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048BC90, &OpenSHC::Commands::ResyncAIZone) + ResyncAIZone; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048F870, &OpenSHC::Commands::AskForPlayerSlotAssignment) + AskForPlayerSlotAssignment; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048FAA0, &OpenSHC::Commands::HostShareLobbyState) + HostShareLobbyState; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0048FC20, &OpenSHC::Commands::ResyncStartCS_CS_Sub) + ResyncStartCS_CS_Sub; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048FCB0, &OpenSHC::Commands::ResyncResumeCS) + ResyncResumeCS; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0048FFD0, &OpenSHC::Commands::HostRemoveAIPlayerBySlotID) + HostRemoveAIPlayerBySlotID; + +} // namespace Commands_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands.hpp b/src/OpenSHC/Commands.hpp new file mode 100644 index 0000000..8b3f511 --- /dev/null +++ b/src/OpenSHC/Commands.hpp @@ -0,0 +1,242 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + + void __stdcall QueueChangeGameIntensityOrBalance(); + + void __stdcall QueueChangeTaxes(); + + void __stdcall InitialAnnounceReply(); + + void __stdcall AnnounceGameVersion(); + + void __stdcall AnnouncePlayerInformationSuchAsNameLordTypeAndAvailableAIVS(); + + void __stdcall ShareGameSeedAndMultiplayerSettingsAndStartGame(); + + void __stdcall CommandCheckSync(); + + void __stdcall AnnounceTeamsAndPositions(); + + void __stdcall ClickNavigateMenuOrEscape(); + + void __stdcall MakeUnitSelection(); + + void __stdcall ClickMoveUnit(); + + void __stdcall ClickErase(); + + void __stdcall ClickSetLand(); + + void __stdcall ClickRaiseLand(); + + void __stdcall ClickSetTerrain(); + + void __stdcall ClickHeightEqualize(); + + void __stdcall ClickTerrainHeightMinOrMax(); + + void __stdcall ClickCreatePlateau(); + + void __stdcall ClickPlaceWall(); + + void __stdcall ClickPlaceRockOrTree(); + + void __stdcall ClickRaiseLand2Unk(); + + void __stdcall ClickPlaceBuilding(); + + void __stdcall ClickDestroyBuilding(); + + void __stdcall ClickRecruitUnit(); + + void __stdcall _REMOVED_COMMAND1_(); + + void __stdcall ClickSetBuildingProductionType(); + + void __stdcall ClickChangeTaxes(); + + void __stdcall ClickChangeRations(); + + void __stdcall ClickGiveUnitsInstruction(); + + void __stdcall ClickSomethingWithDrawBridgeUnk(); + + void __stdcall ClickBuyOrSell(); + + void __stdcall ClickDestroy(); + + void __stdcall ClickPlaceSiegeTent(); + + void __stdcall ClickBuildingSleep(); + + void __stdcall ClickCreateAnimal(); + + void __stdcall ClickOpenOrCloseGate(); + + void __stdcall ShareDesyncedHashes(); + + void __stdcall CommandChangeMapSelection(); + + void __stdcall AcknowledgeMapExistence(); + + void __stdcall ShareMSVMapIndex(); + + void __stdcall ClickInitOrChangeGameIntensityAndBalance(); + + void __stdcall SharePlayerName(); + + void __stdcall SendResyncCharLayer(); + + void __stdcall ResyncShortLayer(); + + void __stdcall ResyncStatus2(); + + void __stdcall ResetSyncStatusUnk(); + + void __stdcall ClickRepairTower(); + + void __stdcall CommandSpawnEntity(); + + void __stdcall ClickUnitStance(); + + void __stdcall ClickExtendRallyPoint(); + + void __stdcall FUN_00484960(); + + void __stdcall FUN_00484a00(); + + void __stdcall ReleaseDogs(); + + void __stdcall RemoveTowerSiegeEngine(); + + void __stdcall DestroyWallOrPitch(); + + void __stdcall DeselectUnit(); + + void __stdcall FUN_00484e10(); + + void __stdcall ResyncZone(); + + void __stdcall KickPlayerUnk(); + + void __stdcall CommandSelectionReplenishAmmo(); + + void __stdcall BroadCastSyncRelatedStatus(); + + void __stdcall VoteKick_K_D_B_G_J(); + + void __stdcall FUN_00485210(); + + void __stdcall ShareAnnouncementWithHost(); + + void __stdcall CloseModalDialogForEveryone(); + + void __stdcall SomePlayerNameUpdateCommand(); + + void __stdcall FlagsAndBraziersCommandUnk(); + + void __stdcall FUN_004855c0(); + + void __stdcall SomeKindOfMultiplayerPingUnk(); + + void __stdcall ShareGameStatePartialHashes(); + + void __stdcall ResyncStatusStart(); + + void __stdcall SetUnitAssemblyPoint(); + + void __stdcall StartSendingMapFile(); + + void __stdcall StartReceivingMapFile(); + + void __stdcall MapSendingRelated(); + + void __stdcall HostAnnounceRoundTable(); + + void __stdcall AddAIPlayer(); + + void __stdcall SendPlayerToPlayerRequestOrResponse(); + + void __stdcall ShareAIVHash(); + + void __stdcall UpdateSkirmishGameMenuFaceBitmap(); + + void __stdcall ActiveTacticalPowers(); + + void __stdcall InitialAnnounceToHost(); + + void __stdcall AssignPlayerIDToPlayerSlot(); + + void __stdcall TriggerLobbyPlayerInformationRefresh(); + + void __stdcall ClickTauntOrChat(); + + void __stdcall AutoSaveTriggered(); + + void __stdcall SetPlayerNameUnk(); + + void __stdcall CommandLoadMapHeader(); + + void __stdcall SubmitMSVMapIndexAndProperties(); + + void __stdcall ResyncChimp(); + + void __stdcall SendResyncBuilding(); + + void __stdcall SendResyncVeg(); + + void __stdcall SendResyncTribe(); + + void __stdcall SendResyncPlayerData(); + + void __stdcall SendResyncUnknown(); + + void __stdcall SendResyncEntity(); + + void __stdcall SendResyncIntLayer(); + + void __stdcall DestroyPlayer(); + + void __stdcall ResyncMoat(); + + void __stdcall ResyncTeleClimb(); + + void __stdcall ResyncPitch(); + + void __stdcall CommandSwitchTeams(); + + void __stdcall SyncRelatedSomething(); + + void __stdcall SendQuitGameQuestion(); + + void __stdcall ShareQuitGameVote(); + + void __stdcall VoteKick_SEND_L_E_C_A_F_H_ZAP(); + + void __stdcall ShareMapHashForMapName(); + + void __stdcall ShareMapPart(); + + void __stdcall ResyncVillage(); + + void __stdcall ResyncAIZone(); + + void __stdcall AskForPlayerSlotAssignment(); + + void __stdcall HostShareLobbyState(); + + void __cdecl ResyncStartCS_CS_Sub(); + + void __stdcall ResyncResumeCS(); + + void __stdcall HostRemoveAIPlayerBySlotID(); + +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/CommandBuildingType.hpp b/src/OpenSHC/Commands/CommandBuildingType.hpp new file mode 100644 index 0000000..08a8185 --- /dev/null +++ b/src/OpenSHC/Commands/CommandBuildingType.hpp @@ -0,0 +1,253 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/CommandBuildingType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + typedef enum CommandBuildingType { + + CBT_DEFAULT = 0, // 0x00000000 + CBT_WALLNORMAL = 25, // 0x00000019 + CBT_WALLSTAIRS = 27, // 0x0000001B + CBT_TOWER = 28, // 0x0000001C + CBT_FLETCHER = 50, // 0x00000032 + CBT_WOODCUTTERSHUT = 51, // 0x00000033 + CBT_STOCKPILE = 52, // 0x00000034 + CBT_TOWNHOUSE = 53, // 0x00000035 + CBT_HOVEL = 54, // 0x00000036 + CBT_OXTETHER = 55, // 0x00000037 + CBT_QUARRY = 56, // 0x00000038 + CBT_TUNNEL = 57, // 0x00000039 + CBT_SIGNPOST = 59, // 0x0000003B + CBT_MANORHOUSE = 60, // 0x0000003C + CBT_STONEKEEP = 61, // 0x0000003D + CBT_STRONGHOLD = 62, // 0x0000003E + CBT_WOODEN_KEEP = 63, // 0x0000003F + CBT_FORTRESS = 64, // 0x00000040 + CBT_STABLES = 65, // 0x00000041 + CBT_TUNNEL_ENTRANCE = 66, // 0x00000042 + CBT_WHEATFARM = 70, // 0x00000046 + CBT_HOPFARM = 71, // 0x00000047 + CBT_APPLEFARM = 72, // 0x00000048 + CBT_DAIRYFARM = 73, // 0x00000049 + CBT_MILL = 74, // 0x0000004A + CBT_BAKERY = 75, // 0x0000004B + CBT_BREWERY = 76, // 0x0000004C + CBT_MARKETPLACE = 77, // 0x0000004D + CBT_HUNTERSHUT = 78, // 0x0000004E + CBT_GRANARY = 80, // 0x00000050 + CBT_ARMORY = 81, // 0x00000051 + CBT_POLETURNER = 82, // 0x00000052 + CBT_BLACKSMITH = 83, // 0x00000053 + CBT_ARMOURER = 84, // 0x00000054 + CBT_TANNER = 85, // 0x00000055 + CBT_MERCENARYPOST = 86, // 0x00000056 + CBT_BARRACKS = 87, // 0x00000057 + CBT_ENGINEERSGUILD = 88, // 0x00000058 + CBT_TUNNELERSGUILD = 89, // 0x00000059 + CBT_IRONMINE = 90, // 0x0000005A + CBT_PITCHRIG = 91, // 0x0000005B + CBT_INN = 92, // 0x0000005C + CBT_APOTHECARY = 93, // 0x0000005D + CBT_SIEGETOWER_PLACED = 94, // 0x0000005E + CBT_CHAPEL = 95, // 0x0000005F + CBT_CHURCH = 96, // 0x00000060 + CBT_CATHEDRAL = 97, // 0x00000061 + CBT_KILLINGPIT = 98, // 0x00000062 + CBT_PITCHDITCH = 99, // 0x00000063 + CBT_GATEHOUSELARGE1 = 101, // 0x00000065 + CBT_GATEHOUSESMALL1 = 102, // 0x00000066 + CBT_WOODGATELARGE = 103, // 0x00000067 + CBT_WOODGATESMALL = 104, // 0x00000068 + CBT_DRAWBRIDGE = 105, // 0x00000069 + CBT_DIG_MOAT = 106, // 0x0000006A + CBT_QUARRYSTOCKPILE = 109, // 0x0000006D + CBT_TOWER1 = 110, // 0x0000006E + CBT_TOWER2 = 111, // 0x0000006F + CBT_TOWER3 = 112, // 0x00000070 + CBT_TOWER4 = 113, // 0x00000071 + CBT_TOWER5 = 114, // 0x00000072 + CBT_MANGONEL1 = 115, // 0x00000073 + CBT_BALLISTA1 = 116, // 0x00000074 + CBT_UNKNOWN5 = 117, // 0x00000075 + CBT_UNKNOWN6 = 118, // 0x00000076 + CBT_UNKNOWN3 = 119, // 0x00000077 + CBT_FLAG1 = 120, // 0x00000078 + CBT_BANNER = 121, // 0x00000079 + CBT_FLAG2 = 122, // 0x0000007A + CBT_FLAG3 = 123, // 0x0000007B + CBT_HEADS_ON_SPIKES = 129, // 0x00000081 + CBT_WOODGATE1A = 140, // 0x0000008C + CBT_WOODGATE1B = 141, // 0x0000008D + CBT_WOODGATE1C = 142, // 0x0000008E + CBT_WOODGATE1D = 143, // 0x0000008F + CBT_GATEHOUSESMALL2 = 144, // 0x00000090 + CBT_GATEHOUSESMALL3 = 145, // 0x00000091 + CBT_GATEHOUSELARGE2 = 146, // 0x00000092 + CBT_GATEHOUSELARGE3 = 147, // 0x00000093 + CBT_BRAZIER = 148, // 0x00000094 + CBT_COMMUNAL_GARDEN1 = 160, // 0x000000A0 + CBT_COMMUNAL_GARDEN2 = 161, // 0x000000A1 + CBT_COMMUNAL_GARDEN3 = 162, // 0x000000A2 + CBT_COMMUNAL_GARDEN4 = 163, // 0x000000A3 + CBT_COMMUNAL_GARDEN5 = 164, // 0x000000A4 + CBT_SHRUB_GARDEN6 = 165, // 0x000000A5 + CBT_COMMUNAL_GARDEN7 = 166, // 0x000000A6 + CBT_COMMUNAL_GARDEN8 = 167, // 0x000000A7 + CBT_COMMUNAL_GARDEN9 = 168, // 0x000000A8 + CBT_TOWN_GARDEN10 = 169, // 0x000000A9 + CBT_TOWN_GARDEN11 = 170, // 0x000000AA + CBT_TOWN_GARDEN12 = 171, // 0x000000AB + CBT_MAYPOLE = 175, // 0x000000AF + CBT_GALLOWS = 176, // 0x000000B0 + CBT_STOCKS = 177, // 0x000000B1 + CBT_OUTPOST = 178, // 0x000000B2 + CBT_OUTPOST_ARAB = 179, // 0x000000B3 + CBT_OILSMELTER = 180, // 0x000000B4 + CBT_STAIRS_1 = 181, // 0x000000B5 + CBT_STAIRS_2 = 182, // 0x000000B6 + CBT_STAIRS_3 = 183, // 0x000000B7 + CBT_STAIRS_4 = 184, // 0x000000B8 + CBT_STAIRS_5 = 185, // 0x000000B9 + CBT_STAIRS_6 = 186, // 0x000000BA + CBT_CATAPULT = 190, // 0x000000BE + CBT_TREBUCHET = 191, // 0x000000BF + CBT_BATTERINGRAM = 192, // 0x000000C0 + CBT_SIEGETOWER = 193, // 0x000000C1 + CBT_PORTABLE_SHIELD = 194, // 0x000000C2 + CBT_MANGONEL2 = 210, // 0x000000D2 + CBT_BALLISTA2 = 211, // 0x000000D3 + CBT_CREATE_DEER = 220, // 0x000000DC + CBT_CREATE_LION = 221, // 0x000000DD + CBT_CREATE_RABBIT = 222, // 0x000000DE + CBT_CREATE_CAMEL = 223, // 0x000000DF + CBT_CREATE_SEAGULL = 225, // 0x000000E1 + CBT_UNKNOWN1A = 248, // 0x000000F8 + CBT_UNKNOWN1B = 249, // 0x000000F9 + CBT_UNKNOWN1C = 250, // 0x000000FA + CBT_UNKNOWN1D = 251, // 0x000000FB + CBT_UNKNOWN1E = 252, // 0x000000FC + CBT_UNKNOWN1F = 253, // 0x000000FD + CBT_UNKNOWN1G = 254, // 0x000000FE + CBT_UNKNOWN1H = 255, // 0x000000FF + CBT_UNKNOWN1I = 256, // 0x00000100 + CBT_UNKNOWN1J = 257, // 0x00000101 + CBT_UNKNOWN1K = 258, // 0x00000102 + CBT_UNKNOWN1L = 259, // 0x00000103 + CBT_UNKNOWN1M = 260, // 0x00000104 + CBT_CESSPIT1 = 301, // 0x0000012D + CBT_CESSPIT2 = 302, // 0x0000012E + CBT_CESSPIT3 = 303, // 0x0000012F + CBT_CESSPIT4 = 304, // 0x00000130 + CBT_BURNINGSTAKE = 305, // 0x00000131 + CBT_GIBBET = 306, // 0x00000132 + CBT_DUNGEON = 307, // 0x00000133 + CBT_STRETCHINGRACK = 308, // 0x00000134 + CBT_RACKFLOGGING = 309, // 0x00000135 + CBT_CHOPPINGBLOCK = 310, // 0x00000136 + CBT_DUNKINGSTOOL = 311, // 0x00000137 + CBT_DOGCAGE = 312, // 0x00000138 + CBT_STATUE1 = 313, // 0x00000139 + CBT_STATUE2 = 314, // 0x0000013A + CBT_STATUE3 = 315, // 0x0000013B + CBT_STATUE4 = 316, // 0x0000013C + CBT_STATUE5 = 317, // 0x0000013D + CBT_SHRINE1 = 318, // 0x0000013E + CBT_SHRINE2 = 319, // 0x0000013F + CBT_SHRINE3 = 320, // 0x00000140 + CBT_SHRINE4 = 321, // 0x00000141 + CBT_SHRINE5 = 322, // 0x00000142 + CBT_BEEHIVE = 323, // 0x00000143 + CBT_DANCINGBEAR = 324, // 0x00000144 + CBT_POND_1 = 325, // 0x00000145 + CBT_SMALL_POND_3 = 326, // 0x00000146 + CBT_LARGE_POND_3 = 327, // 0x00000147 + CBT_LARGE_POND_4 = 328, // 0x00000148 + CBT_BEARCAVE = 329, // 0x00000149 + CBT_WELL = 330, // 0x0000014A + CBT_WATERPOT = 342, // 0x00000156 + CBT_SLAVEUnk = 351, // 0x0000015F + CBT_FIREBALLISTA1 = 357, // 0x00000165 + CBT_FIREBALLISTA2 = 358, // 0x00000166 + CommandBuildingTypeInt__CBT_HIGH_CRENAL = 26, // 0x0000001A + CommandBuildingTypeInt__CBT_MAPPER_WHEATFARM = 30, // 0x0000001E + CommandBuildingTypeInt__CBT_MAPPER_HOPFARM = 31, // 0x0000001F + CommandBuildingTypeInt__CBT_MAPPER_APPLEFARM = 32, // 0x00000020 + CommandBuildingTypeInt__CBT_MAPPER_DAIRYFARM = 33, // 0x00000021 + CommandBuildingTypeInt__CBT_LOW_CRENAL = 35, // 0x00000023 + CommandBuildingTypeInt__CBT_MAPPER_UNDUGMOAT = 44, // 0x0000002C + CommandBuildingTypeInt__CBT_MAPPER_DUGMOAT = 45, // 0x0000002D + CommandBuildingTypeInt__CBT_LOW_WALL = 46, // 0x0000002E + CommandBuildingTypeInt__CBT_MAPPER_CAMPFIRE = 58, // 0x0000003A + CommandBuildingTypeInt__CBT_MAPPER_GATEHOUSE = 100, // 0x00000064 + CommandBuildingTypeInt__CBT_MAPPER_MOAT = 106, // 0x0000006A + CommandBuildingTypeInt__CBT_MAPPER_ANTIMOAT = 107, // 0x0000006B + CommandBuildingTypeInt__CBT_MAPPER_BALLISTA = 211, // 0x000000D3 + CommandBuildingTypeInt__CBT_MAPPER_RUINS1 = 248, // 0x000000F8 + CommandBuildingTypeInt__CBT_MAPPER_RUINS2 = 249, // 0x000000F9 + CommandBuildingTypeInt__CBT_MAPPER_RUINS3 = 250, // 0x000000FA + CommandBuildingTypeInt__CBT_MAPPER_RUINS4 = 251, // 0x000000FB + CommandBuildingTypeInt__CBT_MAPPER_RUINS5 = 252, // 0x000000FC + CommandBuildingTypeInt__CBT_MAPPER_RUINS6 = 253, // 0x000000FD + CommandBuildingTypeInt__CBT_MAPPER_RUINS7 = 254, // 0x000000FE + CommandBuildingTypeInt__CBT_MAPPER_RUINS8 = 255, // 0x000000FF + CommandBuildingTypeInt__CBT_MAPPER_RUINS9 = 256, // 0x00000100 + CommandBuildingTypeInt__CBT_MAPPER_RUINS10 = 257, // 0x00000101 + CommandBuildingTypeInt__CBT_MAPPER_RUINS11 = 258, // 0x00000102 + CommandBuildingTypeInt__CBT_MAPPER_RUINS12 = 259, // 0x00000103 + CommandBuildingTypeInt__CBT_MAPPER_RUINS13 = 260, // 0x00000104 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D + CommandBuildingTypeInt__CBT_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 + CommandBuildingTypeInt__CBT_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 + CommandBuildingTypeInt__CBT_MAPPER_MARKER_POINT1 = 350, // 0x0000015E + CommandBuildingTypeShort__CBT_HOUSE = 53, // 0x00000035 + CommandBuildingTypeShort__CBT_WOODGATE2 = 104, // 0x00000068 + CommandBuildingTypeShort__CBT_GARDEN1 = 160, // 0x000000A0 + CommandBuildingTypeShort__CBT_GARDEN2 = 161, // 0x000000A1 + CommandBuildingTypeShort__CBT_GARDEN3 = 162, // 0x000000A2 + CommandBuildingTypeShort__CBT_GARDEN4 = 163, // 0x000000A3 + CommandBuildingTypeShort__CBT_GARDEN5 = 164, // 0x000000A4 + CommandBuildingTypeShort__CBT_GARDEN6 = 165, // 0x000000A5 + CommandBuildingTypeShort__CBT_GARDEN7 = 166, // 0x000000A6 + CommandBuildingTypeShort__CBT_GARDEN8 = 167, // 0x000000A7 + CommandBuildingTypeShort__CBT_GARDEN9 = 168, // 0x000000A8 + CommandBuildingTypeShort__CBT_GARDEN10 = 169, // 0x000000A9 + CommandBuildingTypeShort__CBT_GARDEN11 = 170, // 0x000000AA + CommandBuildingTypeShort__CBT_GARDEN12 = 171, // 0x000000AB + CommandBuildingTypeShort__CBT_UNKNOWN_6a = 178, // 0x000000B2 + CommandBuildingTypeShort__CBT_UNKNOWN_6b = 179, // 0x000000B3 + CommandBuildingTypeShort__CBT_SHIELD = 194, // 0x000000C2 + CommandBuildingTypeShort__CBT_POND1 = 325, // 0x00000145 + CommandBuildingTypeShort__CBT_POND2 = 326, // 0x00000146 + CommandBuildingTypeShort__CBT_POND3 = 327, // 0x00000147 + CommandBuildingTypeShort__CBT_POND4 = 328 // 0x00000148 + + } CommandBuildingType; + + static_assert_cpp98_obj(sizeof(CommandBuildingType) == 4, CommandBuildingType); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/CommandBuildingTypeInt.hpp b/src/OpenSHC/Commands/CommandBuildingTypeInt.hpp new file mode 100644 index 0000000..09c48bd --- /dev/null +++ b/src/OpenSHC/Commands/CommandBuildingTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/CommandBuildingTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingType.hpp" + +namespace OpenSHC { +namespace Commands { + typedef int CommandBuildingTypeInt; + + static_assert_cpp98_obj(sizeof(CommandBuildingTypeInt) == 4, CommandBuildingTypeInt); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/CommandBuildingTypeShort.hpp b/src/OpenSHC/Commands/CommandBuildingTypeShort.hpp new file mode 100644 index 0000000..03d65c6 --- /dev/null +++ b/src/OpenSHC/Commands/CommandBuildingTypeShort.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/CommandBuildingTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingType.hpp" + +namespace OpenSHC { +namespace Commands { + typedef short CommandBuildingTypeShort; + + static_assert_cpp98_obj(sizeof(CommandBuildingTypeShort) == 2, CommandBuildingTypeShort); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommand.hpp b/src/OpenSHC/Commands/GameCommand.hpp new file mode 100644 index 0000000..8512c3d --- /dev/null +++ b/src/OpenSHC/Commands/GameCommand.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommand.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommandStateByte.hpp" + +namespace OpenSHC { +namespace Commands { + + using OpenSHC::Commands::GameCommandStateByte; + +#pragma pack(push, 1) + // SIZE: 0x000004F8 + typedef struct GameCommand { + + dword time; // 0x00000000 length: 4 + int playerUnk; // 0x00000004 length: 4 + char commandType; // 0x00000008 length: 1 + GameCommandStateByte stateUnk; // 0x00000009 length: 1 + undefined1 parameters; // 0x0000000A length: 1 + undefined1 padding_0xb[1261]; // 0x0000000B length: 1261 + + } GameCommand; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(GameCommand) == 1272, GameCommand); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandParameterLocation.hpp b/src/OpenSHC/Commands/GameCommandParameterLocation.hpp new file mode 100644 index 0000000..d61270b --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandParameterLocation.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandParameterLocation.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + typedef enum GameCommandParameterLocation { + + GCPL_FIXED_COMMAND_DATA_ADDRESS = 0, // 0x00000000 + GCPL_DYNAMIC_COMMAND_DATA_ADDRESS = 1 // 0x00000001 + + } GameCommandParameterLocation; + + static_assert_cpp98_obj(sizeof(GameCommandParameterLocation) == 4, GameCommandParameterLocation); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandParameterLocationInt.hpp b/src/OpenSHC/Commands/GameCommandParameterLocationInt.hpp new file mode 100644 index 0000000..26b4a37 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandParameterLocationInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandParameterLocationInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommandParameterLocation.hpp" + +namespace OpenSHC { +namespace Commands { + typedef int GameCommandParameterLocationInt; + + static_assert_cpp98_obj(sizeof(GameCommandParameterLocationInt) == 4, GameCommandParameterLocationInt); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandParameterReadWrite.hpp b/src/OpenSHC/Commands/GameCommandParameterReadWrite.hpp new file mode 100644 index 0000000..807bd6e --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandParameterReadWrite.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandParameterReadWrite.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + typedef enum GameCommandParameterReadWrite { + + GCPRW_SERIALIZE_INTO_PARAM_1 = 0, // 0x00000000 + GCPRW_DESERIALIZE_FROM_PARAM1 = 1 // 0x00000001 + + } GameCommandParameterReadWrite; + + static_assert_cpp98_obj(sizeof(GameCommandParameterReadWrite) == 4, GameCommandParameterReadWrite); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp b/src/OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp new file mode 100644 index 0000000..4a69832 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommandParameterReadWrite.hpp" + +namespace OpenSHC { +namespace Commands { + typedef int GameCommandParameterReadWriteInt; + + static_assert_cpp98_obj(sizeof(GameCommandParameterReadWriteInt) == 4, GameCommandParameterReadWriteInt); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandScheduling.hpp b/src/OpenSHC/Commands/GameCommandScheduling.hpp new file mode 100644 index 0000000..0086ec9 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandScheduling.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandScheduling.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + typedef enum GameCommandScheduling { + + GCS_EXECUTE = 0, // 0x00000000 + GCS_SCHEDULE_AND_SEND = 1, // 0x00000001 + GCS_SCHEDULE_RECEIVED_COMMAND = 2 // 0x00000002 + + } GameCommandScheduling; + + static_assert_cpp98_obj(sizeof(GameCommandScheduling) == 4, GameCommandScheduling); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandSchedulingInt.hpp b/src/OpenSHC/Commands/GameCommandSchedulingInt.hpp new file mode 100644 index 0000000..0436298 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandSchedulingInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandSchedulingInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommandScheduling.hpp" + +namespace OpenSHC { +namespace Commands { + typedef int GameCommandSchedulingInt; + + static_assert_cpp98_obj(sizeof(GameCommandSchedulingInt) == 4, GameCommandSchedulingInt); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandState.hpp b/src/OpenSHC/Commands/GameCommandState.hpp new file mode 100644 index 0000000..992d58f --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandState.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + typedef enum GameCommandState { + + GCS_UNPROCESSED = 1, // 0x00000001 + GCS_PROCESSED = 10 // 0x0000000A + + } GameCommandState; + + static_assert_cpp98_obj(sizeof(GameCommandState) == 4, GameCommandState); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandStateByte.hpp b/src/OpenSHC/Commands/GameCommandStateByte.hpp new file mode 100644 index 0000000..b9761c7 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandStateByte.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandStateByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommandState.hpp" + +namespace OpenSHC { +namespace Commands { + typedef byte GameCommandStateByte; + + static_assert_cpp98_obj(sizeof(GameCommandStateByte) == 1, GameCommandStateByte); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandType.hpp b/src/OpenSHC/Commands/GameCommandType.hpp new file mode 100644 index 0000000..b3c52b1 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandType.hpp @@ -0,0 +1,101 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Commands { + typedef enum GameCommandType { + + GCT_MULTIPLAYER_INITIATE_ANNOUNCE_HOST = 2, // 0x00000002 + GCT_MULTIPLAYER_ANNOUNCE_HOST = 3, // 0x00000003 + GCT_ASK_FOR_SLOT_ASSIGNMENT = 4, // 0x00000004 + GCT_ASSIGN_PLAYERID_TO_PLAYER_SLOT = 5, // 0x00000005 + GCT_HOST_SHARE_LOBBY_STATE = 6, // 0x00000006 + GCT_ANNOUNCE_GAME_VERSION = 7, // 0x00000007 + GCT_TRIGGER_LOBBY_PLAYER_INFORMATION_REFRESH = 9, // 0x00000009 + GCT_ANNOUNCE_PLAYER_INFO = 10, // 0x0000000A + GCT_START_MULTIPLAYER_GAME = 11, // 0x0000000B + GCT_ANNOUNCE_PLAYER_INFORMATION_AVAILABLE_AIVSSPECIALTRANSMITLOGIC = 12, // 0x0000000C + GCT_HOST_ANNOUNCE_TEAMS_AND_POSITIONS = 13, // 0x0000000D + GCT_TAUNT_OR_CHAT = 14, // 0x0000000E + GCT_UNITS_SELECT = 16, // 0x00000010 + GCT_UNITS_MOVE = 17, // 0x00000011 + GCT_UNIT_ERASE = 18, // 0x00000012 + GCT_SET_LAND = 19, // 0x00000013 + GCT_RAISE_LAND = 20, // 0x00000014 + GCT_SET_TERRAIN = 21, // 0x00000015 + GCT_TERRAIN_EQUALIZE = 22, // 0x00000016 + GCT_TERRAIN_MIN_MAX = 23, // 0x00000017 + GCT_CREATE_PLATEAU = 24, // 0x00000018 + GCT_PLACE_WALL = 25, // 0x00000019 + GCT_PLACE_TREE_OR_ROCKUnk = 26, // 0x0000001A + GCT_RAISE_LAND2Unk = 27, // 0x0000001B + GCT_PLACE_BUILDING = 28, // 0x0000001C + GCT_DESTROY_BUILDING = 29, // 0x0000001D + GCT_RECRUIT_UNIT = 31, // 0x0000001F + GCT_CHANGE_TAXES = 34, // 0x00000022 + GCT_CHANGE_RATIONS = 35, // 0x00000023 + GCT_DISBAND_AND_ATTACK_UNITS = 36, // 0x00000024 + GCT_BUY_OR_SELL = 38, // 0x00000026 + GCT_SAVE = 39, // 0x00000027 + GCT_DESTROY2Unk = 41, // 0x00000029 + GCT_SIEGE_TENT = 42, // 0x0000002A + GCT_BUILDING_SLEEP = 43, // 0x0000002B + GCT_CREATE_ANIMAL = 44, // 0x0000002C + GCT_OPEN_OR_CLOSE_GATE = 45, // 0x0000002D + GCT_SHARE_DESYNC_HASHES = 46, // 0x0000002E + GCT_CHANGE_MAP_SELECTION = 47, // 0x0000002F + GCT_LOAD_MAP_HEADER = 48, // 0x00000030 + GCT_ACKNOLEDGE_MAP_EXISTENCE = 49, // 0x00000031 + GCT_CHANGE_GAME_INTENSITY_OR_BALANCE = 52, // 0x00000034 + GCT_GAME_DESYNCUnk = 54, // 0x00000036 + GCT_CHECK_GAME_SYNCUnk = 55, // 0x00000037 + GCT_SEND_RESYNC_UNIT = 56, // 0x00000038 + GCT_SEND_RESYNC_BUILDING = 57, // 0x00000039 + GCT_SEND_RESYNC_TREE = 58, // 0x0000003A + GCT_SEND_RESYNC_UNITSELECTION = 59, // 0x0000003B + GCT_SEND_RESYNC_PLAYERDATA = 60, // 0x0000003C + GCT_SEND_RESYNC_UNKNOWN = 61, // 0x0000003D + GCT_SEND_RESYNC_ENTITY = 62, // 0x0000003E + GCT_SEND_RESYNC_TILEMAPDATA1 = 63, // 0x0000003F + GCT_SEND_RESYNC_TILEMAPDATA2 = 64, // 0x00000040 + GCT_SEND_RESYNC_LOGICALTILEMAP = 65, // 0x00000041 + GCT_SEND_KEEP_ALIVE = 66, // 0x00000042 + GCT_SET_SYNC_STATUS_0 = 67, // 0x00000043 + GCT_REPAIR_TOWER = 68, // 0x00000044 + GCT_SPAWN_ENTITY = 69, // 0x00000045 + GCT_UNIT_STANCE = 70, // 0x00000046 + GCT_UNIT_EXTEND_RALLY_POINT = 71, // 0x00000047 + GCT_UNIT_DESELECT = 78, // 0x0000004E + GCT_SEND_RESYNC_MOAT = 80, // 0x00000050 + GCT_SEND_RESYNC_CLIMB_DATA = 81, // 0x00000051 + GCT_SEND_RESYNC_PITCH_DITCH = 82, // 0x00000052 + GCT_SEND_RESYNC_UNKNOWN2 = 84, // 0x00000054 + GCT_QUIT_MULTIPLAYERGAME = 87, // 0x00000057 + GCT_BROADCAST_SYNC_RELATED_STATUS_1 = 88, // 0x00000058 + GCT_KILL_GAME = 89, // 0x00000059 + GCT_SEND_QUIT_GAME_VOTE = 92, // 0x0000005C + GCT_CLOSE_MODAL_DIALOG_FOR_ALL = 94, // 0x0000005E + GCT_LEAVE_GAME = 95, // 0x0000005F + GCT_SHARE_GAME_STATE_PARTIAL_HASHES = 100, // 0x00000064 + GCT_SHARE_SYNC_STATUS = 101, // 0x00000065 + GCT_START_OR_STOP_SEND_MAP_FILEUnk = 104, // 0x00000068 + GCT_RECEIVE_SENT_MAPPARTUnk = 105, // 0x00000069 + GCT_LOAD_SKIRMISH_SCREEN = 109, // 0x0000006D + GCT_SKIRMISH_ADD_AI_PLAYER = 111, // 0x0000006F + GCT_SEND_PLAYER_TO_PLAYER_REQUEST = 113, // 0x00000071 + GCT_HOST_SHARE_AIV = 114, // 0x00000072 + GCT_HOST_SHARE_HEATMAP = 115, // 0x00000073 + GCT_SHARE_AIV_HASH = 116, // 0x00000074 + GCT_UPDATE_LOBBY_FACE_BITMAPSPECIALTRANSMITLOGIC = 117, // 0x00000075 + GCT_HOST_REMOVE_PLAYER_BY_SLOT = 118, // 0x00000076 + GCT_ACTIVATE_TACTICAL_POWERS = 119 // 0x00000077 + + } GameCommandType; + + static_assert_cpp98_obj(sizeof(GameCommandType) == 4, GameCommandType); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Commands/GameCommandTypeInt.hpp b/src/OpenSHC/Commands/GameCommandTypeInt.hpp new file mode 100644 index 0000000..bc71f65 --- /dev/null +++ b/src/OpenSHC/Commands/GameCommandTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Commands/GameCommandTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommandType.hpp" + +namespace OpenSHC { +namespace Commands { + typedef int GameCommandTypeInt; + + static_assert_cpp98_obj(sizeof(GameCommandTypeInt) == 4, GameCommandTypeInt); +} // namespace Commands +} // namespace OpenSHC diff --git a/src/OpenSHC/Common/MapperCommandUnion.hpp b/src/OpenSHC/Common/MapperCommandUnion.hpp new file mode 100644 index 0000000..844ab04 --- /dev/null +++ b/src/OpenSHC/Common/MapperCommandUnion.hpp @@ -0,0 +1,35 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Common/MapperCommandUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeShort.hpp" +#include "OpenSHC/SHDE/eMappersInt.hpp" +#include "OpenSHC/_SHCDE/eMappersInt.hpp" + +namespace OpenSHC { +namespace Common { + + using OpenSHC::_SHCDE::eMappersInt; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Commands::CommandBuildingTypeShort; + using OpenSHC::SHDE::eMappersInt; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union MapperCommandUnion { + + eMappersInt sh1; // 0x00000000 length: 4 + CommandBuildingTypeInt shc; // 0x00000000 length: 4 + CommandBuildingTypeShort shcShort; // 0x00000000 length: 2 + eMappersInt shcde; // 0x00000000 length: 4 + + } MapperCommandUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapperCommandUnion) == 4, MapperCommandUnion); +} // namespace Common +} // namespace OpenSHC diff --git a/src/OpenSHC/Common/TruncatedInt.hpp b/src/OpenSHC/Common/TruncatedInt.hpp new file mode 100644 index 0000000..9fa0010 --- /dev/null +++ b/src/OpenSHC/Common/TruncatedInt.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Common/TruncatedInt.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Common { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union TruncatedInt { + + int intValue; // 0x00000000 length: 4 + short shortValue; // 0x00000000 length: 2 + byte byteValue; // 0x00000000 length: 1 + + } TruncatedInt; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TruncatedInt) == 4, TruncatedInt); +} // namespace Common +} // namespace OpenSHC diff --git a/src/OpenSHC/Coordinates/XYPairShort.hpp b/src/OpenSHC/Coordinates/XYPairShort.hpp new file mode 100644 index 0000000..ba6a88d --- /dev/null +++ b/src/OpenSHC/Coordinates/XYPairShort.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Coordinates/XYPairShort.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Coordinates { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct XYPairShort { + + short x; // 0x00000000 length: 2 + short y; // 0x00000002 length: 2 + + } XYPairShort; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(XYPairShort) == 4, XYPairShort); +} // namespace Coordinates +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/ColorPixelFormat.hpp b/src/OpenSHC/DirectDraw/ColorPixelFormat.hpp new file mode 100644 index 0000000..e09ca3a --- /dev/null +++ b/src/OpenSHC/DirectDraw/ColorPixelFormat.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/ColorPixelFormat.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectDraw { + typedef enum ColorPixelFormat { + + CPF_RGB15 = 1365, // 0x00000555 + CPF_RGB16 = 1381 // 0x00000565 + + } ColorPixelFormat; + + static_assert_cpp98_obj(sizeof(ColorPixelFormat) == 4, ColorPixelFormat); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/ColorPixelFormatInt.hpp b/src/OpenSHC/DirectDraw/ColorPixelFormatInt.hpp new file mode 100644 index 0000000..e78cc24 --- /dev/null +++ b/src/OpenSHC/DirectDraw/ColorPixelFormatInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/ColorPixelFormatInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectDraw/ColorPixelFormat.hpp" + +namespace OpenSHC { +namespace DirectDraw { + typedef int ColorPixelFormatInt; + + static_assert_cpp98_obj(sizeof(ColorPixelFormatInt) == 4, ColorPixelFormatInt); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDCAPS.hpp b/src/OpenSHC/DirectDraw/DDCAPS.hpp new file mode 100644 index 0000000..bdf4061 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDCAPS.hpp @@ -0,0 +1,60 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDCAPS.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x000000AC + typedef struct DDCAPS { + + DWORD dwSize; // 0x00000000 length: 4 + DWORD dwCaps; // 0x00000004 length: 4 + DDCAPS_DX7_dwCaps2Int dwCaps2; // 0x00000008 length: 4 + DWORD dwCKeyCaps; // 0x0000000C length: 4 + DWORD dwFXCaps; // 0x00000010 length: 4 + DWORD dwFXAlphaCaps; // 0x00000014 length: 4 + DWORD dwPalCaps; // 0x00000018 length: 4 + DWORD dwSVCaps; // 0x0000001C length: 4 + DWORD dwAlphaBltConstBitDepths; // 0x00000020 length: 4 + DWORD dwAlphaBltPixelBitDepths; // 0x00000024 length: 4 + DWORD dwAlphaBltSurfaceBitDepths; // 0x00000028 length: 4 + DWORD dwAlphaOverlayConstBitDepths; // 0x0000002C length: 4 + DWORD dwAlphaOverlayPixelBitDepths; // 0x00000030 length: 4 + DWORD dwAlphaOverlaySurfaceBitDepths; // 0x00000034 length: 4 + DWORD dwZBufferBitDepths; // 0x00000038 length: 4 + DWORD dwVidMemTotal; // 0x0000003C length: 4 + DWORD dwVidMemFree; // 0x00000040 length: 4 + DWORD dwMaxVisibleOverlays; // 0x00000044 length: 4 + DWORD dwCurrVisibleOverlays; // 0x00000048 length: 4 + DWORD dwNumFourCCCodes; // 0x0000004C length: 4 + DWORD dwAlignBoundarySrc; // 0x00000050 length: 4 + DWORD dwAlignSizeSrc; // 0x00000054 length: 4 + DWORD dwAlignBoundaryDest; // 0x00000058 length: 4 + DWORD dwAlignSizeDest; // 0x0000005C length: 4 + DWORD dwAlignStrideAlign; // 0x00000060 length: 4 + DWORD dwRops[8]; // 0x00000064 length: 32 + DWORD ddsCaps; // 0x00000084 length: 4 + DWORD dwMinOverlayStretch; // 0x00000088 length: 4 + DWORD dwMaxOverlayStretch; // 0x0000008C length: 4 + DWORD dwMinLiveVideoStretch; // 0x00000090 length: 4 + DWORD dwMaxLiveVideoStretch; // 0x00000094 length: 4 + DWORD dwMinHwCodecStretch; // 0x00000098 length: 4 + DWORD dwMaxHwCodecStretch; // 0x0000009C length: 4 + DWORD dwReserved1; // 0x000000A0 length: 4 + DWORD dwReserved2; // 0x000000A4 length: 4 + DWORD dwReserved3; // 0x000000A8 length: 4 + + } DDCAPS; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDCAPS) == 172, DDCAPS); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDCAPS_DX7.hpp b/src/OpenSHC/DirectDraw/DDCAPS_DX7.hpp new file mode 100644 index 0000000..f2f13bf --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDCAPS_DX7.hpp @@ -0,0 +1,81 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDCAPS_DX7.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x0000017C + typedef struct DDCAPS_DX7 { + + DWORD dwSize; // 0x00000000 length: 4 + DWORD dwCaps; // 0x00000004 length: 4 + DDCAPS_DX7_dwCaps2Int dwCaps2; // 0x00000008 length: 4 + DWORD dwCKeyCaps; // 0x0000000C length: 4 + DWORD dwFXCaps; // 0x00000010 length: 4 + DWORD dwFXAlphaCaps; // 0x00000014 length: 4 + DWORD dwPalCaps; // 0x00000018 length: 4 + DWORD dwSVCaps; // 0x0000001C length: 4 + DWORD dwAlphaBltConstBitDepths; // 0x00000020 length: 4 + DWORD dwAlphaBltPixelBitDepths; // 0x00000024 length: 4 + DWORD dwAlphaBltSurfaceBitDepths; // 0x00000028 length: 4 + DWORD dwAlphaOverlayConstBitDepths; // 0x0000002C length: 4 + DWORD dwAlphaOverlayPixelBitDepths; // 0x00000030 length: 4 + DWORD dwAlphaOverlaySurfaceBitDepths; // 0x00000034 length: 4 + DWORD dwZBufferBitDepths; // 0x00000038 length: 4 + DWORD dwVidMemTotal; // 0x0000003C length: 4 + DWORD dwVidMemFree; // 0x00000040 length: 4 + DWORD dwMaxVisibleOverlays; // 0x00000044 length: 4 + DWORD dwCurrVisibleOverlays; // 0x00000048 length: 4 + DWORD dwNumFourCCCodes; // 0x0000004C length: 4 + DWORD dwAlignBoundarySrc; // 0x00000050 length: 4 + DWORD dwAlignSizeSrc; // 0x00000054 length: 4 + DWORD dwAlignBoundaryDest; // 0x00000058 length: 4 + DWORD dwAlignSizeDest; // 0x0000005C length: 4 + DWORD dwAlignStrideAlign; // 0x00000060 length: 4 + DWORD dwRops[8]; // 0x00000064 length: 32 + DWORD ddsOldCaps; // 0x00000084 length: 4 + DWORD dwMinOverlayStretch; // 0x00000088 length: 4 + DWORD dwMaxOverlayStretch; // 0x0000008C length: 4 + DWORD dwMinLiveVideoStretch; // 0x00000090 length: 4 + DWORD dwMaxLiveVideoStretch; // 0x00000094 length: 4 + DWORD dwMinHwCodecStretch; // 0x00000098 length: 4 + DWORD dwMaxHwCodecStretch; // 0x0000009C length: 4 + DWORD dwReserved1; // 0x000000A0 length: 4 + DWORD dwReserved2; // 0x000000A4 length: 4 + DWORD dwReserved3; // 0x000000A8 length: 4 + DWORD dwSVBCaps; // 0x000000AC length: 4 + DWORD dwSVBCKeyCaps; // 0x000000B0 length: 4 + DWORD dwSVBFXCaps; // 0x000000B4 length: 4 + DWORD dwSVBRops[8]; // 0x000000B8 length: 32 + DWORD dwVSBCaps; // 0x000000D8 length: 4 + DWORD dwVSBCKeyCaps; // 0x000000DC length: 4 + DWORD dwVSBFXCaps; // 0x000000E0 length: 4 + DWORD dwVSBRops[8]; // 0x000000E4 length: 32 + DWORD dwSSBCaps; // 0x00000104 length: 4 + DWORD dwSSBCKeyCaps; // 0x00000108 length: 4 + DWORD dwSSBFXCaps; // 0x0000010C length: 4 + DWORD dwSSBRops[8]; // 0x00000110 length: 32 + DWORD dwMaxVideoPorts; // 0x00000130 length: 4 + DWORD dwCurrVideoPorts; // 0x00000134 length: 4 + DWORD dwSVBCaps2; // 0x00000138 length: 4 + DWORD dwNLVBCaps; // 0x0000013C length: 4 + DWORD dwNLVBCaps2; // 0x00000140 length: 4 + DWORD dwNLVBCKeyCaps; // 0x00000144 length: 4 + DWORD dwNLVBFXCaps; // 0x00000148 length: 4 + DWORD dwNLVBRops[8]; // 0x0000014C length: 32 + DDSCAPS2 ddsCaps; // 0x0000016C length: 16 + + } DDCAPS_DX7; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDCAPS_DX7) == 380, DDCAPS_DX7); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDCOLORKEY.hpp b/src/OpenSHC/DirectDraw/DDCOLORKEY.hpp new file mode 100644 index 0000000..4829390 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDCOLORKEY.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDCOLORKEY.hpp' +*/ + +#pragma once + +#include "WinDef.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct DDCOLORKEY { + + DWORD field0_0x0; // 0x00000000 length: 4 + DWORD field1_0x4; // 0x00000004 length: 4 + + } DDCOLORKEY; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDCOLORKEY) == 8, DDCOLORKEY); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDPIXELFORMAT.hpp b/src/OpenSHC/DirectDraw/DDPIXELFORMAT.hpp new file mode 100644 index 0000000..93a9e2b --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDPIXELFORMAT.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDPIXELFORMAT.hpp' +*/ + +#pragma once + +#include "WinDef.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x00000020 + typedef struct DDPIXELFORMAT { + + DWORD dwSize; // 0x00000000 length: 4 + DWORD dwFlags; // 0x00000004 length: 4 + DWORD dwFourCC; // 0x00000008 length: 4 + DWORD union_bitCountOrDepth; // 0x0000000C length: 4 + DWORD union_bitMask_RorY; // 0x00000010 length: 4 + DWORD union_bitMask_GorU; // 0x00000014 length: 4 + DWORD union_bitMask_BorV; // 0x00000018 length: 4 + DWORD union_bitMask_AlphaOrZBit; // 0x0000001C length: 4 + + } DDPIXELFORMAT; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDPIXELFORMAT) == 32, DDPIXELFORMAT); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDSCAPS2.hpp b/src/OpenSHC/DirectDraw/DDSCAPS2.hpp new file mode 100644 index 0000000..1130420 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDSCAPS2.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDSCAPS2.hpp' +*/ + +#pragma once + +#include "WinDef.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct DDSCAPS2 { + + DWORD dwCaps; // 0x00000000 length: 4 + DWORD dwCaps2; // 0x00000004 length: 4 + DWORD dwCaps3; // 0x00000008 length: 4 + DWORD dwCaps4OrDwVolumeDepth; // 0x0000000C length: 4 + + } DDSCAPS2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDSCAPS2) == 16, DDSCAPS2); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDSURFACEDESC.hpp b/src/OpenSHC/DirectDraw/DDSURFACEDESC.hpp new file mode 100644 index 0000000..43d07d0 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDSURFACEDESC.hpp @@ -0,0 +1,40 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDSURFACEDESC.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x0000006C + typedef struct DDSURFACEDESC { + + DWORD dwSize; // 0x00000000 length: 4 + DWORD dwFlags; // 0x00000004 length: 4 + DWORD dwHeight; // 0x00000008 length: 4 + DWORD dwWidth; // 0x0000000C length: 4 + DDSURFACEDESC_u1 pitchOrLinearSize; // 0x00000010 length: 4 + DWORD dwBackBufferCount; // 0x00000014 length: 4 + DDSURFACEDESC_u2 mipMapCountOrZBufferBitDepthOrRefreshRate; // 0x00000018 length: 4 + DWORD dwAlphaBitDepth; // 0x0000001C length: 4 + DWORD dwReserved; // 0x00000020 length: 4 + LPVOID lpSurface; // 0x00000024 length: 4 + DDCOLORKEY ddckCKDestOverlay; // 0x00000028 length: 8 + DDCOLORKEY ddckCKDestBlt; // 0x00000030 length: 8 + DDCOLORKEY ddckCKSrcOverlay; // 0x00000038 length: 8 + DDCOLORKEY ddckCKSrcBlt; // 0x00000040 length: 8 + DDPIXELFORMAT ddpfPixelFormat; // 0x00000048 length: 32 + DWORD ddsCaps; // 0x00000068 length: 4 + + } DDSURFACEDESC; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDSURFACEDESC) == 108, DDSURFACEDESC); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDSURFACEDESC2.hpp b/src/OpenSHC/DirectDraw/DDSURFACEDESC2.hpp new file mode 100644 index 0000000..bf95512 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDSURFACEDESC2.hpp @@ -0,0 +1,49 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDSURFACEDESC2.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x000000B8 + typedef struct DDSURFACEDESC2 { + + DWORD dwSize; // 0x00000000 length: 4 + DWORD dwFlags; // 0x00000004 length: 4 + DWORD dwHeight; // 0x00000008 length: 4 + DWORD dwWidth; // 0x0000000C length: 4 + long lPitch; // 0x00000010 length: 4 + DWORD dwLinearSize; // 0x00000014 length: 4 + DWORD dwBackBufferCount; // 0x00000018 length: 4 + DWORD dwDepth; // 0x0000001C length: 4 + DWORD dwMipMapCount; // 0x00000020 length: 4 + DWORD dwRefreshRate; // 0x00000024 length: 4 + DWORD dwSrcVBHandle; // 0x00000028 length: 4 + DWORD dwAlphaBitDepth; // 0x0000002C length: 4 + DWORD dwReserved; // 0x00000030 length: 4 + LPVOID lpSurface; // 0x00000034 length: 4 + DDCOLORKEY ddckCKDestOverlay; // 0x00000038 length: 8 + DWORD dwEmptyFaceColor; // 0x00000040 length: 4 + DDCOLORKEY ddckCKDestBlt; // 0x00000044 length: 8 + DDCOLORKEY ddckCKSrcOverlay; // 0x0000004C length: 8 + DDCOLORKEY ddckCKSrcBlt; // 0x00000054 length: 8 + DDPIXELFORMAT ddpfPixelFormat; // 0x0000005C length: 32 + undefined1 padding_0x7c[32]; // 0x0000007C length: 32 + DWORD dwFVF; // 0x0000009C length: 4 + DDSCAPS2 ddsCaps; // 0x000000A0 length: 16 + undefined1 padding_0xb0[4]; // 0x000000B0 length: 4 + DWORD dwTextureStage; // 0x000000B4 length: 4 + + } DDSURFACEDESC2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDSURFACEDESC2) == 184, DDSURFACEDESC2); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDSURFACEDESC_u1.hpp b/src/OpenSHC/DirectDraw/DDSURFACEDESC_u1.hpp new file mode 100644 index 0000000..bd0d3c4 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDSURFACEDESC_u1.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDSURFACEDESC_u1.hpp' +*/ + +#pragma once + +#include "WinDef.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union DDSURFACEDESC_u1 { + + long lPitch; // 0x00000000 length: 4 + DWORD dwLinearSize; // 0x00000000 length: 4 + + } DDSURFACEDESC_u1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDSURFACEDESC_u1) == 4, DDSURFACEDESC_u1); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DDSURFACEDESC_u2.hpp b/src/OpenSHC/DirectDraw/DDSURFACEDESC_u2.hpp new file mode 100644 index 0000000..0e4527a --- /dev/null +++ b/src/OpenSHC/DirectDraw/DDSURFACEDESC_u2.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DDSURFACEDESC_u2.hpp' +*/ + +#pragma once + +#include "WinDef.h" + +namespace OpenSHC { +namespace DirectDraw { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union DDSURFACEDESC_u2 { + + DWORD dwMipMapCount; // 0x00000000 length: 4 + DWORD dwZBufferBitDepth; // 0x00000000 length: 4 + DWORD dwRefreshRate; // 0x00000000 length: 4 + + } DDSURFACEDESC_u2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DDSURFACEDESC_u2) == 4, DDSURFACEDESC_u2); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/DirectDrawCreateEx.hpp b/src/OpenSHC/DirectDraw/DirectDrawCreateEx.hpp new file mode 100644 index 0000000..40e4342 --- /dev/null +++ b/src/OpenSHC/DirectDraw/DirectDrawCreateEx.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/DirectDrawCreateEx.hpp' +*/ + +#pragma once + +#include "ddraw.h" +#include "guiddef.h" +#include "unknwn.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + + typedef HRESULT(__stdcall DirectDrawCreateEx)(GUID*, IDirectDraw**, GUID*, IUnknown*); +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw.hpp new file mode 100644 index 0000000..e60c0ed --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw.hpp' +*/ + +#pragma once + +#include "ddraw.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + + typedef IDirectDrawImpl IDirectDraw; + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDrawImpl.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDrawImpl.hpp new file mode 100644 index 0000000..ac1ad55 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDrawImpl.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDrawImpl.hpp' +*/ + +#pragma once + +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct IDirectDrawImpl { + + IDirectDraw_VTABLE* vTable; // 0x00000000 length: 4 + + } IDirectDrawImpl; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IDirectDrawImpl) == 4, IDirectDrawImpl); + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw_VTABLE.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw_VTABLE.hpp new file mode 100644 index 0000000..8943e76 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw_VTABLE.hpp @@ -0,0 +1,36 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/IDirectDraw_VTABLE.hpp' +*/ + +#pragma once + +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + +#pragma pack(push, 1) + // SIZE: 0x00000058 + typedef struct IDirectDraw_VTABLE { + + undefined1 padding_0x0[8]; // 0x00000000 length: 8 + Release* Release; // 0x00000008 length: 4 + undefined1 padding_0xc[12]; // 0x0000000C length: 12 + CreateSurface* CreateSurface; // 0x00000018 length: 4 + undefined1 padding_0x1c[4]; // 0x0000001C length: 4 + EnumDisplayModes* EnumDisplayModes; // 0x00000020 length: 4 + undefined1 padding_0x24[8]; // 0x00000024 length: 8 + GetCaps* GetCaps; // 0x0000002C length: 4 + undefined1 padding_0x30[32]; // 0x00000030 length: 32 + SetCooperativeLevel* SetCooperativeLevel; // 0x00000050 length: 4 + SetDisplayMode* SetDisplayMode; // 0x00000054 length: 4 + + } IDirectDraw_VTABLE; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IDirectDraw_VTABLE) == 88, IDirectDraw_VTABLE); + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/CreateSurface.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/CreateSurface.hpp new file mode 100644 index 0000000..324c6cf --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/CreateSurface.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/functions/CreateSurface.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "unknwn.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + namespace functions { + + typedef HRESULT(__stdcall CreateSurface)(IDirectDraw*, DDSURFACEDESC*, LPVOID*, IUnknown*); + } // namespace functions + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/EnumDisplayModes.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/EnumDisplayModes.hpp new file mode 100644 index 0000000..1704e43 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/EnumDisplayModes.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/functions/EnumDisplayModes.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + namespace functions { + + typedef HRESULT(__stdcall EnumDisplayModes)(IDirectDraw*, DWORD, DDSURFACEDESC*, LPVOID, undefined4); + } // namespace functions + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/GetCaps.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/GetCaps.hpp new file mode 100644 index 0000000..7529558 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/GetCaps.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/functions/GetCaps.hpp' +*/ + +#pragma once + +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + namespace functions { + + typedef HRESULT(__stdcall GetCaps)(IDirectDraw*, DDCAPS_SHC*, DDCAPS_SHC*); + } // namespace functions + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/Release.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/Release.hpp new file mode 100644 index 0000000..681e277 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/Release.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/functions/Release.hpp' +*/ + +#pragma once + +#include "ddraw.h" +#include "wtypes.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + namespace functions { + + typedef ULONG(__stdcall Release)(IDirectDraw*); + } // namespace functions + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetCooperativeLevel.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetCooperativeLevel.hpp new file mode 100644 index 0000000..eb60ffa --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetCooperativeLevel.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetCooperativeLevel.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + namespace functions { + + typedef HRESULT(__stdcall SetCooperativeLevel)(IDirectDraw*, HWND, DWORD); + } // namespace functions + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetDisplayMode.hpp b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetDisplayMode.hpp new file mode 100644 index 0000000..86412f6 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetDisplayMode.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawInterface/functions/SetDisplayMode.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawInterface { + namespace functions { + + typedef HRESULT(__stdcall SetDisplayMode)(IDirectDraw*, DWORD, DWORD, DWORD); + } // namespace functions + } // namespace IDirectDrawInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface.hpp new file mode 100644 index 0000000..ed9b24e --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface.hpp' +*/ + +#pragma once + +#include "ddraw.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + + typedef IDirectDrawSurfaceImpl IDirectDrawSurface; + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurfaceImpl.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurfaceImpl.hpp new file mode 100644 index 0000000..da770f1 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurfaceImpl.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurfaceImpl.hpp' +*/ + +#pragma once + +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct IDirectDrawSurfaceImpl { + + IDirectDrawSurface_VTABLE* vTable; // 0x00000000 length: 4 + + } IDirectDrawSurfaceImpl; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IDirectDrawSurfaceImpl) == 4, IDirectDrawSurfaceImpl); + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface_VTABLE.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface_VTABLE.hpp new file mode 100644 index 0000000..eb123c3 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface_VTABLE.hpp @@ -0,0 +1,42 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/IDirectDrawSurface_VTABLE.hpp' +*/ + +#pragma once + +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + +#pragma pack(push, 1) + // SIZE: 0x00000084 + typedef struct IDirectDrawSurface_VTABLE { + + undefined1 padding_0x0[8]; // 0x00000000 length: 8 + Release* Release; // 0x00000008 length: 4 + undefined1 padding_0xc[8]; // 0x0000000C length: 8 + Blt* Blt; // 0x00000014 length: 4 + undefined1 padding_0x18[4]; // 0x00000018 length: 4 + BltFast* BltFast; // 0x0000001C length: 4 + undefined1 padding_0x20[12]; // 0x00000020 length: 12 + Flip* Flip; // 0x0000002C length: 4 + GetAttachedSurface* GetAttachedSurface; // 0x00000030 length: 4 + undefined1 padding_0x34[36]; // 0x00000034 length: 36 + GetSurfaceDesc* GetSurfaceDesc; // 0x00000058 length: 4 + undefined1 padding_0x5c[8]; // 0x0000005C length: 8 + Lock* Lock; // 0x00000064 length: 4 + undefined1 padding_0x68[4]; // 0x00000068 length: 4 + Restore* Restore; // 0x0000006C length: 4 + undefined1 padding_0x70[16]; // 0x00000070 length: 16 + Unlock* Unlock; // 0x00000080 length: 4 + + } IDirectDrawSurface_VTABLE; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IDirectDrawSurface_VTABLE) == 132, IDirectDrawSurface_VTABLE); + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Blt.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Blt.hpp new file mode 100644 index 0000000..05d1e7e --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Blt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Blt.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall Blt)(IDirectDrawSurface*, LPRECT, IDirectDrawSurface*, LPRECT, DWORD, LPVOID); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/BltFast.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/BltFast.hpp new file mode 100644 index 0000000..158ce0d --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/BltFast.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/BltFast.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall BltFast)(IDirectDrawSurface*, DWORD, DWORD, IDirectDrawSurface*, LPRECT, DWORD); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Flip.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Flip.hpp new file mode 100644 index 0000000..309677e --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Flip.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Flip.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall Flip)(IDirectDrawSurface*, IDirectDrawSurface*, DWORD); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetAttachedSurface.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetAttachedSurface.hpp new file mode 100644 index 0000000..aade423 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetAttachedSurface.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetAttachedSurface.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall GetAttachedSurface)(IDirectDrawSurface*, DWORD*, IDirectDrawSurface**); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetSurfaceDesc.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetSurfaceDesc.hpp new file mode 100644 index 0000000..07cbb1f --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetSurfaceDesc.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/GetSurfaceDesc.hpp' +*/ + +#pragma once + +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall GetSurfaceDesc)(IDirectDrawSurface*, DDSURFACEDESC*); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Lock.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Lock.hpp new file mode 100644 index 0000000..c95fbdd --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Lock.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Lock.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall Lock)(IDirectDrawSurface*, LPRECT, DDSURFACEDESC*, DWORD, HANDLE); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Release.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Release.hpp new file mode 100644 index 0000000..fa62917 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Release.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Release.hpp' +*/ + +#pragma once + +#include "ddraw.h" +#include "wtypes.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef ULONG(__stdcall Release)(IDirectDrawSurface*); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Restore.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Restore.hpp new file mode 100644 index 0000000..1977574 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Restore.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Restore.hpp' +*/ + +#pragma once + +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall Restore)(IDirectDrawSurface*); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Unlock.hpp b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Unlock.hpp new file mode 100644 index 0000000..6f6c2c6 --- /dev/null +++ b/src/OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Unlock.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/IDirectDrawSurfaceInterface/functions/Unlock.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectDraw { + namespace IDirectDrawSurfaceInterface { + namespace functions { + + typedef HRESULT(__stdcall Unlock)(IDirectDrawSurface*, LPRECT); + } // namespace functions + } // namespace IDirectDrawSurfaceInterface +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/_defines/DDCAPS_SHC.hpp b/src/OpenSHC/DirectDraw/_defines/DDCAPS_SHC.hpp new file mode 100644 index 0000000..06ced53 --- /dev/null +++ b/src/OpenSHC/DirectDraw/_defines/DDCAPS_SHC.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/_defines/DDCAPS_SHC.hpp' +*/ + +#pragma once + +#include "ddraw.h" +namespace OpenSHC { +namespace DirectDraw { + namespace _defines { + + typedef DDCAPS_DX7 DDCAPS_SHC; + } // namespace _defines +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/_defines/DD_OK.hpp b/src/OpenSHC/DirectDraw/_defines/DD_OK.hpp new file mode 100644 index 0000000..f00700b --- /dev/null +++ b/src/OpenSHC/DirectDraw/_defines/DD_OK.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/_defines/DD_OK.hpp' +*/ + +#pragma once + +#include "winerror.h" +namespace OpenSHC { +namespace DirectDraw { + namespace _defines { + + typedef define_S_OK DD_OK; + } // namespace _defines +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp b/src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp new file mode 100644 index 0000000..db1fbfe --- /dev/null +++ b/src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp @@ -0,0 +1,49 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectDraw { + namespace _enums { + typedef enum DDCAPS_DX7_dwCaps2 { + + DDCAPS2_CANSHARERESOURCE = -2147483648, // 0x-80000000 + DDCAPS2_CERTIFIED = 1, // 0x00000001 + DDCAPS2_NO2DDURING3DSCENE = 2, // 0x00000002 + DDCAPS2_VIDEOPORT = 4, // 0x00000004 + DDCAPS2_AUTOFLIPOVERLAY = 8, // 0x00000008 + DDCAPS2_CANBOBINTERLEAVED = 16, // 0x00000010 + DDCAPS2_CANBOBNONINTERLEAVED = 32, // 0x00000020 + DDCAPS2_COLORCONTROLOVERLAY = 64, // 0x00000040 + DDCAPS2_COLORCONTROLPRIMARY = 128, // 0x00000080 + DDCAPS2_CANDROPZ16BIT = 256, // 0x00000100 + DDCAPS2_NONLOCALVIDMEM = 512, // 0x00000200 + DDCAPS2_NONLOCALVIDMEMCAPS = 1024, // 0x00000400 + DDCAPS2_NOPAGELOCKREQUIRED = 2048, // 0x00000800 + DDCAPS2_WIDESURFACES = 4096, // 0x00001000 + DDCAPS2_CANFLIPODDEVEN = 8192, // 0x00002000 + DDCAPS2_CANBOBHARDWARE = 16384, // 0x00004000 + DDCAPS2_COPYFOURCC = 32768, // 0x00008000 + DDCAPS2_PRIMARYGAMMA = 131072, // 0x00020000 + DDCAPS2_CANRENDERWINDOWED = 524288, // 0x00080000 + DDCAPS2_CANCALIBRATEGAMMA = 1048576, // 0x00100000 + DDCAPS2_FLIPINTERVAL = 2097152, // 0x00200000 + DDCAPS2_FLIPNOVSYNC = 4194304, // 0x00400000 + DDCAPS2_CANMANAGETEXTURE = 8388608, // 0x00800000 + DDCAPS2_TEXMANINNONLOCALVIDMEM = 16777216, // 0x01000000 + DDCAPS2_STEREO = 33554432, // 0x02000000 + DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL = 67108864, // 0x04000000 + DDCAPS2_RESERVED1 = 134217728, // 0x08000000 + DDCAPS2_CANMANAGERESOURCE = 268435456, // 0x10000000 + DDCAPS2_DYNAMICTEXTURES = 536870912, // 0x20000000 + DDCAPS2_CANAUTOGENMIPMAP = 1073741824 // 0x40000000 + + } DDCAPS_DX7_dwCaps2; + + static_assert_cpp98_obj(sizeof(DDCAPS_DX7_dwCaps2) == 4, DDCAPS_DX7_dwCaps2); + } // namespace _enums +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2Int.hpp b/src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2Int.hpp new file mode 100644 index 0000000..a6b9ff5 --- /dev/null +++ b/src/OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2Int.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectDraw/_enums/DDCAPS_DX7_dwCaps2.hpp" + +namespace OpenSHC { +namespace DirectDraw { + namespace _enums { + typedef int DDCAPS_DX7_dwCaps2Int; + + static_assert_cpp98_obj(sizeof(DDCAPS_DX7_dwCaps2Int) == 4, DDCAPS_DX7_dwCaps2Int); + } // namespace _enums +} // namespace DirectDraw +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/CancelMessage.hpp b/src/OpenSHC/DirectPlay/CancelMessage.hpp new file mode 100644 index 0000000..e71760d --- /dev/null +++ b/src/OpenSHC/DirectPlay/CancelMessage.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/CancelMessage.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + typedef HRESULT(__stdcall CancelMessage)(void*, DWORD, DWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/Close.hpp b/src/OpenSHC/DirectPlay/Close.hpp new file mode 100644 index 0000000..aa91c41 --- /dev/null +++ b/src/OpenSHC/DirectPlay/Close.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/Close.hpp' +*/ + +#pragma once + +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + typedef HRESULT(__stdcall Close)(void*); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/CreatePlayer.hpp b/src/OpenSHC/DirectPlay/CreatePlayer.hpp new file mode 100644 index 0000000..c2213fd --- /dev/null +++ b/src/OpenSHC/DirectPlay/CreatePlayer.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/CreatePlayer.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPNAME.hpp" +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::DPNAME; + + typedef HRESULT(__stdcall CreatePlayer)(void*, undefined4, DPNAME*, HANDLE, LPVOID, DWORD, DWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPERR.hpp b/src/OpenSHC/DirectPlay/DPERR.hpp new file mode 100644 index 0000000..84414ba --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPERR.hpp @@ -0,0 +1,84 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPERR.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectPlay { + typedef enum DPERR { + + DPERR_PENDING = -2147483638, // 0x-7FFFFFF6 + DPERR_UNSUPPORTED = -2147467263, // 0x-7FFFBFFF + DPERR_NOINTERFACE = -2147467262, // 0x-7FFFBFFE + DPERR_GENERIC = -2147467259, // 0x-7FFFBFFB + DPERR_NOMEMORY = -2147024882, // 0x-7FF8FFF2 + DPERR_OUTOFMEMORY = -2147024882, // 0x-7FF8FFF2 + DPERR_INVALIDPARAM = -2147024809, // 0x-7FF8FFA9 + DPERR_INVALIDPARAMS = -2147024809, // 0x-7FF8FFA9 + DPERR_ALREADYINITIALIZED = -2005467131, // 0x-7788FFFB + DPERR_ACCESSDENIED = -2005467126, // 0x-7788FFF6 + DPERR_ACTIVEPLAYERS = -2005467116, // 0x-7788FFEC + DPERR_BUFFERTOOSMALL = -2005467106, // 0x-7788FFE2 + DPERR_CANTADDPLAYER = -2005467096, // 0x-7788FFD8 + DPERR_CANTCREATEGROUP = -2005467086, // 0x-7788FFCE + DPERR_CANTCREATEPLAYER = -2005467076, // 0x-7788FFC4 + DPERR_CANTCREATESESSION = -2005467066, // 0x-7788FFBA + DPERR_CAPSNOTAVAILABLEYET = -2005467056, // 0x-7788FFB0 + DPERR_EXCEPTION = -2005467046, // 0x-7788FFA6 + DPERR_INVALIDFLAGS = -2005467016, // 0x-7788FF88 + DPERR_INVALIDOBJECT = -2005467006, // 0x-7788FF7E + DPERR_INVALIDPLAYER = -2005466986, // 0x-7788FF6A + DPERR_INVALIDGROUP = -2005466981, // 0x-7788FF65 + DPERR_NOCAPS = -2005466976, // 0x-7788FF60 + DPERR_NOCONNECTION = -2005466966, // 0x-7788FF56 + DPERR_NOMESSAGES = -2005466946, // 0x-7788FF42 + DPERR_NONAMESERVERFOUND = -2005466936, // 0x-7788FF38 + DPERR_NOPLAYERS = -2005466926, // 0x-7788FF2E + DPERR_NOSESSIONS = -2005466916, // 0x-7788FF24 + DPERR_SENDTOOBIG = -2005466906, // 0x-7788FF1A + DPERR_TIMEOUT = -2005466896, // 0x-7788FF10 + DPERR_UNAVAILABLE = -2005466886, // 0x-7788FF06 + DPERR_BUSY = -2005466866, // 0x-7788FEF2 + DPERR_USERCANCEL = -2005466856, // 0x-7788FEE8 + DPERR_CANNOTCREATESERVER = -2005466846, // 0x-7788FEDE + DPERR_PLAYERLOST = -2005466836, // 0x-7788FED4 + DPERR_SESSIONLOST = -2005466826, // 0x-7788FECA + DPERR_UNINITIALIZED = -2005466816, // 0x-7788FEC0 + DPERR_NONEWPLAYERS = -2005466806, // 0x-7788FEB6 + DPERR_INVALIDPASSWORD = -2005466796, // 0x-7788FEAC + DPERR_CONNECTING = -2005466786, // 0x-7788FEA2 + DPERR_CONNECTIONLOST = -2005466776, // 0x-7788FE98 + DPERR_UNKNOWNMESSAGE = -2005466766, // 0x-7788FE8E + DPERR_CANCELFAILED = -2005466756, // 0x-7788FE84 + DPERR_INVALIDPRIORITY = -2005466746, // 0x-7788FE7A + DPERR_NOTHANDLED = -2005466736, // 0x-7788FE70 + DPERR_CANCELLED = -2005466726, // 0x-7788FE66 + DPERR_ABORTED = -2005466716, // 0x-7788FE5C + DPERR_BUFFERTOOLARGE = -2005466136, // 0x-7788FC18 + DPERR_CANTCREATEPROCESS = -2005466126, // 0x-7788FC0E + DPERR_APPNOTSTARTED = -2005466116, // 0x-7788FC04 + DPERR_INVALIDINTERFACE = -2005466106, // 0x-7788FBFA + DPERR_NOSERVICEPROVIDER = -2005466096, // 0x-7788FBF0 + DPERR_UNKNOWNAPPLICATION = -2005466086, // 0x-7788FBE6 + DPERR_NOTLOBBIED = -2005466066, // 0x-7788FBD2 + DPERR_SERVICEPROVIDERLOADED = -2005466056, // 0x-7788FBC8 + DPERR_ALREADYREGISTERED = -2005466046, // 0x-7788FBBE + DPERR_NOTREGISTERED = -2005466036, // 0x-7788FBB4 + DPERR_AUTHENTICATIONFAILED = -2005465136, // 0x-7788F830 + DPERR_CANTLOADSSPI = -2005465126, // 0x-7788F826 + DPERR_ENCRYPTIONFAILED = -2005465116, // 0x-7788F81C + DPERR_SIGNFAILED = -2005465106, // 0x-7788F812 + DPERR_CANTLOADSECURITYPACKAGE = -2005465096, // 0x-7788F808 + DPERR_ENCRYPTIONNOTSUPPORTED = -2005465086, // 0x-7788F7FE + DPERR_CANTLOADCAPI = -2005465076, // 0x-7788F7F4 + DPERR_NOTLOGGEDIN = -2005465066, // 0x-7788F7EA + DPERR_LOGONDENIED = -2005465056, // 0x-7788F7E0 + DPERR_DP_OK = 0 // 0x00000000 + + } DPERR; + + static_assert_cpp98_obj(sizeof(DPERR) == 4, DPERR); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPERRInt.hpp b/src/OpenSHC/DirectPlay/DPERRInt.hpp new file mode 100644 index 0000000..255b179 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPERRInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPERRInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPERR.hpp" + +namespace OpenSHC { +namespace DirectPlay { + typedef int DPERRInt; + + static_assert_cpp98_obj(sizeof(DPERRInt) == 4, DPERRInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPNAME.hpp b/src/OpenSHC/DirectPlay/DPNAME.hpp new file mode 100644 index 0000000..ef06b35 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPNAME.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPNAME.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" + +namespace OpenSHC { +namespace DirectPlay { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct DPNAME { + + DWORD dwSize; // 0x00000000 length: 4 + DWORD dwFlags; // 0x00000004 length: 4 + LPWSTR lpszShortName; // 0x00000008 length: 4 + LPWSTR lpszLongName; // 0x0000000C length: 4 + + } DPNAME; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DPNAME) == 16, DPNAME); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp b/src/OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp new file mode 100644 index 0000000..ac06ed9 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectPlay { + typedef enum DPRECEIVE_Enum { + + DPRECEIVE_ALL = 1, // 0x00000001 + DPRECEIVE_TOPLAYER = 2, // 0x00000002 + DPRECEIVE_FROMPLAYER = 4, // 0x00000004 + DPRECEIVE_PEEK = 8 // 0x00000008 + + } DPRECEIVE_Enum; + + static_assert_cpp98_obj(sizeof(DPRECEIVE_Enum) == 4, DPRECEIVE_Enum); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp b/src/OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp new file mode 100644 index 0000000..840e944 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPRECEIVE_Enum.hpp" + +namespace OpenSHC { +namespace DirectPlay { + typedef int DPRECEIVE_EnumInt; + + static_assert_cpp98_obj(sizeof(DPRECEIVE_EnumInt) == 4, DPRECEIVE_EnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPSEND_Enum.hpp b/src/OpenSHC/DirectPlay/DPSEND_Enum.hpp new file mode 100644 index 0000000..2b4ed97 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPSEND_Enum.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPSEND_Enum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectPlay { + typedef enum DPSEND_Enum { + + DPSEND_GUARANTEED = 1, // 0x00000001 + DPSEND_HIGHPRIORITY = 2, // 0x00000002 + DPSEND_OPENSTREAM = 8, // 0x00000008 + DPSEND_CLOSESTREAM = 16, // 0x00000010 + DPSEND_SIGNED = 32, // 0x00000020 + DPSEND_ENCRYPTED = 64, // 0x00000040 + DPSEND_LOBBYSYSTEMMESSAGE = 128, // 0x00000080 + DPSEND_ASYNC = 512, // 0x00000200 + DPSEND_NOSENDCOMPLETEMSG = 1024, // 0x00000400 + DPSEND_MAX_PRI = 65535, // 0x0000FFFF + DPSEND_MAX_PRIORITY = 65535 // 0x0000FFFF + + } DPSEND_Enum; + + static_assert_cpp98_obj(sizeof(DPSEND_Enum) == 4, DPSEND_Enum); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPSEND_EnumInt.hpp b/src/OpenSHC/DirectPlay/DPSEND_EnumInt.hpp new file mode 100644 index 0000000..cf91092 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPSEND_EnumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPSEND_EnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPSEND_Enum.hpp" + +namespace OpenSHC { +namespace DirectPlay { + typedef int DPSEND_EnumInt; + + static_assert_cpp98_obj(sizeof(DPSEND_EnumInt) == 4, DPSEND_EnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPSESSIONDESC2.hpp b/src/OpenSHC/DirectPlay/DPSESSIONDESC2.hpp new file mode 100644 index 0000000..0bb37b1 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPSESSIONDESC2.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPSESSIONDESC2.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp" +#include "WinDef.h" +#include "basetsd.h" +#include "guiddef.h" +#include "winnt.h" + +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::DPSESSION_EnumInt; + +#pragma pack(push, 1) + // SIZE: 0x00000050 + typedef struct DPSESSIONDESC2 { + + DWORD dwSize; // 0x00000000 length: 4 + DPSESSION_EnumInt dwFlags; // 0x00000004 length: 4 + GUID guidInstance; // 0x00000008 length: 16 + GUID guidApplication; // 0x00000018 length: 16 + DWORD dwMaxPlayers; // 0x00000028 length: 4 + DWORD dwCurrentPlayers; // 0x0000002C length: 4 + LPWSTR lpszSessionName; // 0x00000030 length: 4 + LPWSTR lpszPassword; // 0x00000034 length: 4 + DWORD_PTR dwReserved1; // 0x00000038 length: 4 + DWORD_PTR dwReserved2; // 0x0000003C length: 4 + DWORD_PTR dwUser1; // 0x00000040 length: 4 + DWORD_PTR dwUser2; // 0x00000044 length: 4 + DWORD_PTR dwUser3; // 0x00000048 length: 4 + DWORD_PTR dwUser4; // 0x0000004C length: 4 + + } DPSESSIONDESC2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DPSESSIONDESC2) == 80, DPSESSIONDESC2); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPSESSION_Enum.hpp b/src/OpenSHC/DirectPlay/DPSESSION_Enum.hpp new file mode 100644 index 0000000..d3a3e8c --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPSESSION_Enum.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPSESSION_Enum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectPlay { + typedef enum DPSESSION_Enum { + + DPSESSION_NEWPLAYERSDISABLED = 1, // 0x00000001 + DPSESSION_MIGRATEHOST = 4, // 0x00000004 + DPSESSION_NOMESSAGEID = 8, // 0x00000008 + DPSESSION_JOINDISABLED = 32, // 0x00000020 + DPSESSION_KEEPALIVE = 64, // 0x00000040 + DPSESSION_NODATAMESSAGES = 128, // 0x00000080 + DPSESSION_SECURESERVER = 256, // 0x00000100 + DPSESSION_PRIVATE = 512, // 0x00000200 + DPSESSION_PASSWORDREQUIRED = 1024, // 0x00000400 + DPSESSION_MULTICASTSERVER = 2048, // 0x00000800 + DPSESSION_CLIENTSERVER = 4096, // 0x00001000 + DPSESSION_DIRECTPLAYPROTOCOL = 8192, // 0x00002000 + DPSESSION_NOPRESERVEORDER = 16384, // 0x00004000 + DPSESSION_OPTIMIZELATENCY = 32768 // 0x00008000 + + } DPSESSION_Enum; + + static_assert_cpp98_obj(sizeof(DPSESSION_Enum) == 4, DPSESSION_Enum); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp b/src/OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp new file mode 100644 index 0000000..8c51f3b --- /dev/null +++ b/src/OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DPSESSION_EnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPSESSION_Enum.hpp" + +namespace OpenSHC { +namespace DirectPlay { + typedef int DPSESSION_EnumInt; + + static_assert_cpp98_obj(sizeof(DPSESSION_EnumInt) == 4, DPSESSION_EnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/DestroyPlayer.hpp b/src/OpenSHC/DirectPlay/DestroyPlayer.hpp new file mode 100644 index 0000000..d2eac24 --- /dev/null +++ b/src/OpenSHC/DirectPlay/DestroyPlayer.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/DestroyPlayer.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + typedef HRESULT(__stdcall DestroyPlayer)(void*, DWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/EnumConnections.hpp b/src/OpenSHC/DirectPlay/EnumConnections.hpp new file mode 100644 index 0000000..fdf6e43 --- /dev/null +++ b/src/OpenSHC/DirectPlay/EnumConnections.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/EnumConnections.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/EnumConnectionsCallback.hpp" +#include "OpenSHC/DirectPlay/IDirectPlay4A.hpp" +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::EnumConnectionsCallback; + using OpenSHC::DirectPlay::IDirectPlay4A; + + typedef HRESULT(__stdcall EnumConnections)(IDirectPlay4A*, LPCGUID, EnumConnectionsCallback*, LPVOID, DWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/EnumConnectionsCallback.hpp b/src/OpenSHC/DirectPlay/EnumConnectionsCallback.hpp new file mode 100644 index 0000000..d7a89bb --- /dev/null +++ b/src/OpenSHC/DirectPlay/EnumConnectionsCallback.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/EnumConnectionsCallback.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPNAME.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::DPNAME; + + typedef BOOL(__stdcall EnumConnectionsCallback)(LPCGUID, LPVOID, DWORD, DPNAME*, DWORD, LPVOID); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/EnumSessions.hpp b/src/OpenSHC/DirectPlay/EnumSessions.hpp new file mode 100644 index 0000000..8b1f7de --- /dev/null +++ b/src/OpenSHC/DirectPlay/EnumSessions.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/EnumSessions.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp" +#include "OpenSHC/dplay/DPSESSIONDESC2.hpp" +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::EnumSessionsFlagsEnumInt; + using OpenSHC::dplay::DPSESSIONDESC2; + + typedef HRESULT(__stdcall EnumSessions)( + void*, DPSESSIONDESC2*, DWORD, undefined4, LPVOID, EnumSessionsFlagsEnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/EnumSessionsFlagsEnum.hpp b/src/OpenSHC/DirectPlay/EnumSessionsFlagsEnum.hpp new file mode 100644 index 0000000..21530b6 --- /dev/null +++ b/src/OpenSHC/DirectPlay/EnumSessionsFlagsEnum.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/EnumSessionsFlagsEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectPlay { + typedef enum EnumSessionsFlagsEnum { + + ESFE_AVAILABLE = 1, // 0x00000001 + ESFE_ALL = 2, // 0x00000002 + ESFE_ASYNC_ENUMERATION = 16, // 0x00000010 + ESFE_ASYNC_ENUMERATION_STOP = 32, // 0x00000020 + ESFE_PASSWORD_REQUIRED = 64, // 0x00000040 + ESFE_RETURN_STATUS = 128 // 0x00000080 + + } EnumSessionsFlagsEnum; + + static_assert_cpp98_obj(sizeof(EnumSessionsFlagsEnum) == 4, EnumSessionsFlagsEnum); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp b/src/OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp new file mode 100644 index 0000000..d2ec176 --- /dev/null +++ b/src/OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/EnumSessionsFlagsEnum.hpp" + +namespace OpenSHC { +namespace DirectPlay { + typedef int EnumSessionsFlagsEnumInt; + + static_assert_cpp98_obj(sizeof(EnumSessionsFlagsEnumInt) == 4, EnumSessionsFlagsEnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/GetPlayerAddress.hpp b/src/OpenSHC/DirectPlay/GetPlayerAddress.hpp new file mode 100644 index 0000000..c6e2380 --- /dev/null +++ b/src/OpenSHC/DirectPlay/GetPlayerAddress.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/GetPlayerAddress.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + typedef HRESULT(__stdcall GetPlayerAddress)(void*, undefined4, LPVOID, LPDWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/IDirectPlay4A.hpp b/src/OpenSHC/DirectPlay/IDirectPlay4A.hpp new file mode 100644 index 0000000..ae30b64 --- /dev/null +++ b/src/OpenSHC/DirectPlay/IDirectPlay4A.hpp @@ -0,0 +1,78 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/IDirectPlay4A.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/CancelMessage.hpp" +#include "OpenSHC/DirectPlay/Close.hpp" +#include "OpenSHC/DirectPlay/CreatePlayer.hpp" +#include "OpenSHC/DirectPlay/DestroyPlayer.hpp" +#include "OpenSHC/DirectPlay/EnumConnections.hpp" +#include "OpenSHC/DirectPlay/EnumSessions.hpp" +#include "OpenSHC/DirectPlay/GetPlayerAddress.hpp" +#include "OpenSHC/DirectPlay/Open.hpp" +#include "OpenSHC/DirectPlay/QueryInterface.hpp" +#include "OpenSHC/DirectPlay/Receive.hpp" +#include "OpenSHC/DirectPlay/Release.hpp" +#include "OpenSHC/DirectPlay/SendEx.hpp" +#include "OpenSHC/DirectPlay/SetSessionDesc.hpp" +#include "OpenSHC/DirectPlay/lobby/InitializeConnection.hpp" + +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::CancelMessage; + using OpenSHC::DirectPlay::Close; + using OpenSHC::DirectPlay::CreatePlayer; + using OpenSHC::DirectPlay::DestroyPlayer; + using OpenSHC::DirectPlay::EnumConnections; + using OpenSHC::DirectPlay::EnumSessions; + using OpenSHC::DirectPlay::GetPlayerAddress; + using OpenSHC::DirectPlay::Open; + using OpenSHC::DirectPlay::QueryInterface; + using OpenSHC::DirectPlay::Receive; + using OpenSHC::DirectPlay::Release; + using OpenSHC::DirectPlay::SendEx; + using OpenSHC::DirectPlay::SetSessionDesc; + using OpenSHC::DirectPlay::lobby::InitializeConnection; + +#pragma pack(push, 1) + // SIZE: 0x000000D4 + typedef struct IDirectPlay4A { + + QueryInterface* QueryInterface; // 0x00000000 length: 4 + undefined1 padding_0x4[4]; // 0x00000004 length: 4 + Release* Release; // 0x00000008 length: 4 + undefined1 padding_0xc[4]; // 0x0000000C length: 4 + Close* Close; // 0x00000010 length: 4 + undefined1 padding_0x14[4]; // 0x00000014 length: 4 + CreatePlayer* CreatePlayer; // 0x00000018 length: 4 + undefined1 padding_0x1c[8]; // 0x0000001C length: 8 + DestroyPlayer* DestroyPlayer; // 0x00000024 length: 4 + undefined1 padding_0x28[12]; // 0x00000028 length: 12 + EnumSessions* EnumSessions; // 0x00000034 length: 4 + undefined1 padding_0x38[16]; // 0x00000038 length: 16 + GetPlayerAddress* GetPlayerAddress; // 0x00000048 length: 4 + undefined1 padding_0x4c[20]; // 0x0000004C length: 20 + Open* Open; // 0x00000060 length: 4 + Receive* Receive; // 0x00000064 length: 4 + undefined1 padding_0x68[20]; // 0x00000068 length: 20 + SetSessionDesc* SetSessionDesc; // 0x0000007C length: 4 + undefined1 padding_0x80[12]; // 0x00000080 length: 12 + EnumConnections* EnumConnections; // 0x0000008C length: 4 + undefined1 padding_0x90[8]; // 0x00000090 length: 8 + InitializeConnection* InitializeConnection; // 0x00000098 length: 4 + undefined1 padding_0x9c[40]; // 0x0000009C length: 40 + SendEx* SendEx; // 0x000000C4 length: 4 + undefined1 padding_0xc8[4]; // 0x000000C8 length: 4 + CancelMessage* CancelMessage; // 0x000000CC length: 4 + undefined1 padding_0xd0[4]; // 0x000000D0 length: 4 + + } IDirectPlay4A; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IDirectPlay4A) == 212, IDirectPlay4A); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/Open.hpp b/src/OpenSHC/DirectPlay/Open.hpp new file mode 100644 index 0000000..33337f8 --- /dev/null +++ b/src/OpenSHC/DirectPlay/Open.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/Open.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp" +#include "OpenSHC/dplay/DPSESSIONDESC2.hpp" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::OpenFlagsEnumInt; + using OpenSHC::dplay::DPSESSIONDESC2; + + typedef HRESULT(__stdcall Open)(void*, DPSESSIONDESC2*, OpenFlagsEnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/OpenFlagsEnum.hpp b/src/OpenSHC/DirectPlay/OpenFlagsEnum.hpp new file mode 100644 index 0000000..eb24a26 --- /dev/null +++ b/src/OpenSHC/DirectPlay/OpenFlagsEnum.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/OpenFlagsEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DirectPlay { + typedef enum OpenFlagsEnum { + + OFE_JOIN = 1, // 0x00000001 + OFE_CREATE = 2, // 0x00000002 + OFE_RETURN_STATUS = 128 // 0x00000080 + + } OpenFlagsEnum; + + static_assert_cpp98_obj(sizeof(OpenFlagsEnum) == 4, OpenFlagsEnum); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp b/src/OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp new file mode 100644 index 0000000..a184161 --- /dev/null +++ b/src/OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/OpenFlagsEnum.hpp" + +namespace OpenSHC { +namespace DirectPlay { + typedef int OpenFlagsEnumInt; + + static_assert_cpp98_obj(sizeof(OpenFlagsEnumInt) == 4, OpenFlagsEnumInt); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/QueryInterface.hpp b/src/OpenSHC/DirectPlay/QueryInterface.hpp new file mode 100644 index 0000000..83530a3 --- /dev/null +++ b/src/OpenSHC/DirectPlay/QueryInterface.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/QueryInterface.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + typedef HRESULT(__stdcall QueryInterface)(void*, undefined4, LPVOID*); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/Receive.hpp b/src/OpenSHC/DirectPlay/Receive.hpp new file mode 100644 index 0000000..db26cb2 --- /dev/null +++ b/src/OpenSHC/DirectPlay/Receive.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/Receive.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPRECEIVE_EnumInt.hpp" +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::DPRECEIVE_EnumInt; + + typedef HRESULT(__stdcall Receive)(void*, undefined4, undefined4, DPRECEIVE_EnumInt, LPVOID, LPDWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/Release.hpp b/src/OpenSHC/DirectPlay/Release.hpp new file mode 100644 index 0000000..fa9437f --- /dev/null +++ b/src/OpenSHC/DirectPlay/Release.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/Release.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/IDirectPlay4A.hpp" +#include "wtypes.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::IDirectPlay4A; + + typedef ULONG(__stdcall Release)(IDirectPlay4A*); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/SendEx.hpp b/src/OpenSHC/DirectPlay/SendEx.hpp new file mode 100644 index 0000000..bb11832 --- /dev/null +++ b/src/OpenSHC/DirectPlay/SendEx.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/SendEx.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPSEND_EnumInt.hpp" +#include "WinDef.h" +#include "basetsd.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::DPSEND_EnumInt; + + typedef HRESULT(__stdcall SendEx)( + void*, undefined4, undefined4, DPSEND_EnumInt, LPVOID, DWORD, DWORD, DWORD, LPVOID, DWORD_PTR*); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/SetSessionDesc.hpp b/src/OpenSHC/DirectPlay/SetSessionDesc.hpp new file mode 100644 index 0000000..7c1c07a --- /dev/null +++ b/src/OpenSHC/DirectPlay/SetSessionDesc.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/SetSessionDesc.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPSESSIONDESC2.hpp" +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + + using OpenSHC::DirectPlay::DPSESSIONDESC2; + + typedef HRESULT(__stdcall SetSessionDesc)(void*, DPSESSIONDESC2*, DWORD); +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/lobby/CreateCompoundAddress.hpp b/src/OpenSHC/DirectPlay/lobby/CreateCompoundAddress.hpp new file mode 100644 index 0000000..78428ce --- /dev/null +++ b/src/OpenSHC/DirectPlay/lobby/CreateCompoundAddress.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/lobby/CreateCompoundAddress.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/DPERRInt.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace DirectPlay { + namespace lobby { + + using OpenSHC::DirectPlay::DPERRInt; + + typedef DPERRInt(__stdcall CreateCompoundAddress)(void*, undefined4, DWORD, LPVOID, LPDWORD); + } // namespace lobby +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/lobby/EnumAddress.hpp b/src/OpenSHC/DirectPlay/lobby/EnumAddress.hpp new file mode 100644 index 0000000..4f3647a --- /dev/null +++ b/src/OpenSHC/DirectPlay/lobby/EnumAddress.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/lobby/EnumAddress.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + namespace lobby { + + typedef HRESULT(__stdcall EnumAddress)(void*, void*, LPCVOID, DWORD, LPVOID); + } // namespace lobby +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/lobby/IDirectPlayLobby3.hpp b/src/OpenSHC/DirectPlay/lobby/IDirectPlayLobby3.hpp new file mode 100644 index 0000000..6cebae2 --- /dev/null +++ b/src/OpenSHC/DirectPlay/lobby/IDirectPlayLobby3.hpp @@ -0,0 +1,37 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/lobby/IDirectPlayLobby3.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/lobby/CreateCompoundAddress.hpp" +#include "OpenSHC/DirectPlay/lobby/EnumAddress.hpp" +#include "ddraw.h" + +namespace OpenSHC { +namespace DirectPlay { + namespace lobby { + + using OpenSHC::DirectPlay::lobby::CreateCompoundAddress; + using OpenSHC::DirectPlay::lobby::EnumAddress; + +#pragma pack(push, 1) + // SIZE: 0x0000004C + typedef struct IDirectPlayLobby3 { + + undefined1 padding_0x0[8]; // 0x00000000 length: 8 + Release* Release; // 0x00000008 length: 4 + undefined1 padding_0xc[8]; // 0x0000000C length: 8 + EnumAddress* EnumAddress; // 0x00000014 length: 4 + undefined1 padding_0x18[32]; // 0x00000018 length: 32 + CreateCompoundAddress* CreateCompoundAddress; // 0x00000038 length: 4 + undefined1 padding_0x3c[16]; // 0x0000003C length: 16 + + } IDirectPlayLobby3; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IDirectPlayLobby3) == 76, IDirectPlayLobby3); + } // namespace lobby +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/lobby/InitializeConnection.hpp b/src/OpenSHC/DirectPlay/lobby/InitializeConnection.hpp new file mode 100644 index 0000000..9a6357d --- /dev/null +++ b/src/OpenSHC/DirectPlay/lobby/InitializeConnection.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/lobby/InitializeConnection.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace DirectPlay { + namespace lobby { + + typedef HRESULT(__stdcall InitializeConnection)(void*, LPVOID, DWORD); + } // namespace lobby +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/lobby/Release.hpp b/src/OpenSHC/DirectPlay/lobby/Release.hpp new file mode 100644 index 0000000..7da5a19 --- /dev/null +++ b/src/OpenSHC/DirectPlay/lobby/Release.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DirectPlay/lobby/Release.hpp' +*/ + +#pragma once + +#include "wtypes.h" +namespace OpenSHC { +namespace DirectPlay { + namespace lobby { + + typedef ULONG(__stdcall Release)(void*); + } // namespace lobby +} // namespace DirectPlay +} // namespace OpenSHC diff --git a/src/OpenSHC/Game.func.hpp b/src/OpenSHC/Game.func.hpp new file mode 100644 index 0000000..d13cdac --- /dev/null +++ b/src/OpenSHC/Game.func.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Game_Func { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int value), false, Address::SHC_3BB0A8C1_0x0044AA70, &OpenSHC::Game::UpdateUnitValueLoss) + UpdateUnitValueLoss; + + MACRO_FUNCTION_RESOLVER(int(__cdecl*)(int larger, int smaller), false, Address::SHC_3BB0A8C1_0x0044AAB0, + &OpenSHC::Game::RelativeValueForGenie) + RelativeValueForGenie; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__cdecl*)(undefined4 actionType, int actionParam), false, + Address::SHC_3BB0A8C1_0x004BD800, &OpenSHC::Game::Tutorial_IsActionAllowed) + Tutorial_IsActionAllowed; + +} // namespace Game_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Game.hpp b/src/OpenSHC/Game.hpp new file mode 100644 index 0000000..c618ac7 --- /dev/null +++ b/src/OpenSHC/Game.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Game { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + void __cdecl UpdateUnitValueLoss(int value); + + int __cdecl RelativeValueForGenie(int larger, int smaller); + + BOOLEnum __cdecl Tutorial_IsActionAllowed(undefined4 actionType, int actionParam); + +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/CampaignInfoStruct1.hpp b/src/OpenSHC/Game/CampaignInfoStruct1.hpp new file mode 100644 index 0000000..4d5909f --- /dev/null +++ b/src/OpenSHC/Game/CampaignInfoStruct1.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/CampaignInfoStruct1.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/CampaignInfoSubStructure1.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::Game::CampaignInfoSubStructure1; + +#pragma pack(push, 1) + // SIZE: 0x00000058 + typedef struct CampaignInfoStruct1 { + + CampaignInfoSubStructure1 sub; // 0x00000000 length: 84 + undefined4 field1_0x54; // 0x00000054 length: 4 + + } CampaignInfoStruct1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(CampaignInfoStruct1) == 88, CampaignInfoStruct1); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/CampaignInfoSubStructure1.hpp b/src/OpenSHC/Game/CampaignInfoSubStructure1.hpp new file mode 100644 index 0000000..deda02e --- /dev/null +++ b/src/OpenSHC/Game/CampaignInfoSubStructure1.hpp @@ -0,0 +1,42 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/CampaignInfoSubStructure1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + +#pragma pack(push, 1) + // SIZE: 0x00000054 + typedef struct CampaignInfoSubStructure1 { + + undefined4 field0_0x0; // 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 + undefined4 field8_0x20; // 0x00000020 length: 4 + undefined4 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 + + } CampaignInfoSubStructure1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(CampaignInfoSubStructure1) == 84, CampaignInfoSubStructure1); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/CampaignTrailMission.hpp b/src/OpenSHC/Game/CampaignTrailMission.hpp new file mode 100644 index 0000000..3037e69 --- /dev/null +++ b/src/OpenSHC/Game/CampaignTrailMission.hpp @@ -0,0 +1,57 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/CampaignTrailMission.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + +#pragma pack(push, 1) + // SIZE: 0x00000090 + typedef struct CampaignTrailMission { + + pointer* mapNameAddress; // 0x00000000 length: 4 + int fairness; // 0x00000004 length: 4 + int startLevels; // 0x00000008 length: 4 + int numberOfPlayers; // 0x0000000C length: 4 + int player1AI; // 0x00000010 length: 4 + int player2AI; // 0x00000014 length: 4 + int player3AI; // 0x00000018 length: 4 + int player4AI; // 0x0000001C length: 4 + int player5AI; // 0x00000020 length: 4 + int player6AI; // 0x00000024 length: 4 + int player7AI; // 0x00000028 length: 4 + int player8AI; // 0x0000002C length: 4 + int position1; // 0x00000030 length: 4 + int position2; // 0x00000034 length: 4 + int position3; // 0x00000038 length: 4 + int position4; // 0x0000003C length: 4 + int position5; // 0x00000040 length: 4 + int position6; // 0x00000044 length: 4 + int position7; // 0x00000048 length: 4 + int position8; // 0x0000004C length: 4 + int team1; // 0x00000050 length: 4 + int team2; // 0x00000054 length: 4 + int team3; // 0x00000058 length: 4 + int team4; // 0x0000005C length: 4 + int team5; // 0x00000060 length: 4 + int team6; // 0x00000064 length: 4 + int team7; // 0x00000068 length: 4 + int team8; // 0x0000006C length: 4 + int aiv1; // 0x00000070 length: 4 + int aiv2; // 0x00000074 length: 4 + int aiv3; // 0x00000078 length: 4 + int aiv4; // 0x0000007C length: 4 + int aiv5; // 0x00000080 length: 4 + int aiv6; // 0x00000084 length: 4 + int aiv7; // 0x00000088 length: 4 + int aiv8; // 0x0000008C length: 4 + + } CampaignTrailMission; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(CampaignTrailMission) == 144, CampaignTrailMission); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameCore.func.hpp b/src/OpenSHC/Game/GameCore.func.hpp new file mode 100644 index 0000000..7f8d546 --- /dev/null +++ b/src/OpenSHC/Game/GameCore.func.hpp @@ -0,0 +1,78 @@ +/** + path: 'OpenSHC/Game/GameCore.func.hpp' +*/ + +#include "OpenSHC/Game/GameCore.hpp" +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Game { + namespace GameCore_Func { + + using OpenSHC::UI::Enums::MenuViewTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046B2F0, &GameCore::setViewOnExitUnk) + setViewOnExitUnk; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046B300, &GameCore::setTabToSwitchTo) + setTabToSwitchTo; + + MACRO_FUNCTION_RESOLVER(void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046B320, &GameCore::meth_0x46b320) + meth_0x46b320; + + MACRO_FUNCTION_RESOLVER(void (GameCore::*)(MenuViewTypeInt, int), false, Address::SHC_3BB0A8C1_0x0046B340, + &GameCore::switchToMenuView) + switchToMenuView; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046B980, &GameCore::processMenuViewSwitch) + processMenuViewSwitch; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046BB20, &GameCore::viewportAndScrollingRelated) + viewportAndScrollingRelated; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046BB60, &GameCore::getAreWeInAInGameMenu) + getAreWeInAInGameMenu; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046BB80, &GameCore::isInBuildingTab) + isInBuildingTab; + + MACRO_FUNCTION_RESOLVER(void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046BBD0, + &GameCore::removeJesterAndLadyUnitsInCertainMissions) + removeJesterAndLadyUnitsInCertainMissions; + + MACRO_FUNCTION_RESOLVER(void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046BC90, &GameCore::FUN_0046bc90) + FUN_0046bc90; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x0046BD20, &GameCore::isGameHaltingMenuOpen) + isGameHaltingMenuOpen; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(int), false, Address::SHC_3BB0A8C1_0x0046BD50, &GameCore::setStartDateUnk) + setStartDateUnk; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x004718F0, &GameCore::incrementMissionProgress) + incrementMissionProgress; + + MACRO_FUNCTION_RESOLVER(void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x004719E0, + &GameCore::switchToScenarioDescriptionMenuView) + switchToScenarioDescriptionMenuView; + + MACRO_FUNCTION_RESOLVER(void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x00471A00, &GameCore::meth_0x471a00) + meth_0x471a00; + + MACRO_FUNCTION_RESOLVER( + void (GameCore::*)(), false, Address::SHC_3BB0A8C1_0x00471AA0, &GameCore::hideOrUnhideUI) + hideOrUnhideUI; + + } // namespace GameCore_Func +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameCore.hpp b/src/OpenSHC/Game/GameCore.hpp new file mode 100644 index 0000000..003d868 --- /dev/null +++ b/src/OpenSHC/Game/GameCore.hpp @@ -0,0 +1,270 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/GameCore.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/GameMode2Int.hpp" +#include "OpenSHC/Game/TrailTypeInt.hpp" +#include "OpenSHC/Map/MapLockStateInt.hpp" +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +#include "OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp" +#include "OpenSHC/UI/ActiveMenuTab.hpp" +#include "OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp" +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/UI/MenuItemActionHandler.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::Game::GameMode2Int; + using OpenSHC::Game::TrailTypeInt; + using OpenSHC::Map::MapLockStateInt; + using OpenSHC::Map::Navigation::Algorithms::XYPair; + using OpenSHC::Rendering::Enums::DirectDrawStatusInt; + using OpenSHC::UI::ActiveMenuTab; + using OpenSHC::UI::MenuItemActionHandler; + using OpenSHC::UI::Enums::BuildMenuTabTypeShort; + using OpenSHC::UI::Enums::MenuViewTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00002380 + class GameCore { + public: + DirectDrawStatusInt directDrawStatus; // 0x00000000 length: 4 + int menuSwitchDelay; // 0x00000004 length: 4 + dword menuRenderMoment; // 0x00000008 length: 4 + MenuViewTypeInt currentMenuViewType; // 0x0000000C length: 4 + ActiveMenuTab activeMenuTab; // 0x00000010 length: 4 + dword unknownAlwaysZero01; // 0x00000014 length: 4 + MenuViewTypeInt menuViewToSwitchTo; // 0x00000018 length: 4 + ActiveMenuTab menuTabToSwitchTo; // 0x0000001C length: 4 + dword field8_0x20; // 0x00000020 length: 4 + ActiveMenuTab buildmenuMenuTabToSwitchTo; // 0x00000024 length: 4 + dword buildingandstatusmenuMenuTabToSwitchTo; // 0x00000028 length: 4 + dword landscapingmenuMenuTabToSwitchTo; // 0x0000002C length: 4 + dword field12_0x30; // 0x00000030 length: 4 + ActiveMenuTab unknownActiveMenuTabToSwitchTo; // 0x00000034 length: 4 + BuildMenuTabTypeShort tabTypeSiegeSubset; // 0x00000038 length: 4 + dword historicCampaignNumber; // 0x0000003C length: 4 + int missionNumber1to20; // 0x00000040 length: 4 + int progressCallToArms; // 0x00000044 length: 4 + int progressSaladinsConquest; // 0x00000048 length: 4 + int progressTheKingsCrusade; // 0x0000004C length: 4 + int progressCrusaderStates; // 0x00000050 length: 4 + dword furthestMission; // 0x00000054 length: 4 + dword unlockAllHistoricalCampaigns; // 0x00000058 length: 4 + dword unused1; // 0x0000005C length: 4 + dword section1066; // 0x00000060 length: 4 + dword field25_0x64; // 0x00000064 length: 4 + GameMode2Int gameMode_2; // 0x00000068 length: 4 + int field27_0x6c; // 0x0000006C length: 4 + dword specialMultiplayerState; // 0x00000070 length: 4 + dword field29_0x74; // 0x00000074 length: 4 + int mapU4Int1; // 0x00000078 length: 4 + int mapU4Int1_2; // 0x0000007C length: 4 + dword field32_0x80; // 0x00000080 length: 4 + int battleLevel; // 0x00000084 length: 4 + dword cowPoisonTrackerUnk; // 0x00000088 length: 4 + int someSoundMatchTime_1; // 0x0000008C length: 4 + dword field36_0x90; // 0x00000090 length: 4 + int battleLevel2; // 0x00000094 length: 4 + dword mapTimeInTicks; // 0x00000098 length: 4 + dword section1127; // 0x0000009C length: 4 + dword field40_0xa0; // 0x000000A0 length: 4 + BOOLEnum currentlyInGameUnk_0xa4; // 0x000000A4 length: 4 + dword gameSpeedMultiplicator; // 0x000000A8 length: 4 + dword performedGameTicksThisLoop; // 0x000000AC length: 4 + dword gameTicksThisLoop; // 0x000000B0 length: 4 + dword gameTicksLastLoop; // 0x000000B4 length: 4 + dword averageTimePerGameTick; // 0x000000B8 length: 4 + dword timeBeforeRunningGameTicksThisLoop; // 0x000000BC length: 4 + int countdown; // 0x000000C0 length: 4 + int uniqueGameObjectTracker; // 0x000000C4 length: 4 + dword gameSpeedLevel; // 0x000000C8 length: 4 + dword settingBubbleHelp; // 0x000000CC length: 4 + BOOLEnum isTimeHalted; // 0x000000D0 length: 4 + dword section1076; // 0x000000D4 length: 4 + dword isTimeHalted2; // 0x000000D8 length: 4 + dword field55_0xdc; // 0x000000DC length: 4 + int missionDifficulty; // 0x000000E0 length: 4 + int missionDifficulty2; // 0x000000E4 length: 4 + int missionDifficulty_2; // 0x000000E8 length: 4 + int missionDifficulty_3; // 0x000000EC length: 4 + int missionDifficulty_1; // 0x000000F0 length: 4 + int missionDifficulty_0; // 0x000000F4 length: 4 + dword field62_0xf8; // 0x000000F8 length: 4 + BOOLEnum solitaryAllBuildingsAreFree; // 0x000000FC length: 4 + int field64_0x100; // 0x00000100 length: 4 + dword field65_0x104; // 0x00000104 length: 4 + dword field66_0x108; // 0x00000108 length: 4 + dword unknownAlwaysZero; // 0x0000010C length: 4 + dword unknownAlwaysZero02; // 0x00000110 length: 4 + int unknownAlwaysZero03; // 0x00000114 length: 4 + BOOLEnum unknownFlag_0x118; // 0x00000118 length: 4 + DWORD unknownTime_0x11c; // 0x0000011C length: 4 + byte unused_0x120[8]; // 0x00000120 length: 8 + int scribeAnimationFrameCopy; // 0x00000128 length: 4 + int taxesSettingUnk; // 0x0000012C length: 4 + BOOLEnum unknownScribeRelatedFlag_0x130; // 0x00000130 length: 4 + int scribeAnimationFrame; // 0x00000134 length: 4 + int scribeAnimationFrame2; // 0x00000138 length: 4 + int taxestimeUnk; // 0x0000013C length: 4 + byte unused_0x140[4]; // 0x00000140 length: 4 + int field80_0x144; // 0x00000144 length: 4 + int field81_0x148; // 0x00000148 length: 4 + dword isBinkVideoPlaying; // 0x0000014C length: 4 + dword section1095; // 0x00000150 length: 4 + dword newPlayerID; // 0x00000154 length: 4 + dword hasMenuRenderedUnk; // 0x00000158 length: 4 + dword field86_0x15c; // 0x0000015C length: 4 + int xbowProducible_logic; // 0x00000160 length: 4 + int pikeProducible_logic; // 0x00000164 length: 4 + int swordProducible_logic; // 0x00000168 length: 4 + int bowProducible_logic; // 0x0000016C length: 4 + int spearProducible_logic; // 0x00000170 length: 4 + int maceProducible_logic; // 0x00000174 length: 4 + byte unused_0x178[2024]; // 0x00000178 length: 2024 + BOOLEnum cheatModeFlag; // 0x00000960 length: 4 + BOOLEnum solitaryAltUDungeon; // 0x00000964 length: 4 + dword descriptionUseStringTable; // 0x00000968 length: 4 + dword descriptionStringTableIndex; // 0x0000096C length: 4 + char temporaryTextBufferOfSize1000[1000]; // 0x00000970 length: 1000 + char standaloneFilename[1001]; // 0x00000D58 length: 1001 + byte unused_0x1141[1003]; // 0x00001141 length: 1003 + int mapU4Int0; // 0x0000152C length: 4 + int mapU4Int0_2; // 0x00001530 length: 4 + dword U2_mapType_singleOrMulti; // 0x00001534 length: 4 + dword mapU2MiddleBytes; // 0x00001538 length: 4 + dword field105_0x153c; // 0x0000153C length: 4 + dword field106_0x1540; // 0x00001540 length: 4 + dword field107_0x1544; // 0x00001544 length: 4 + dword field108_0x1548; // 0x00001548 length: 4 + int mapU2PlayersCount; // 0x0000154C length: 4 + int mapU4Int3_balanced; // 0x00001550 length: 4 + int mapDescUseStringTable; // 0x00001554 length: 4 + int mapDescUseStringTableIndex; // 0x00001558 length: 4 + char mapDescription[1000]; // 0x0000155C length: 1000 + byte unused_0x1944[1004]; // 0x00001944 length: 1004 + int mapType; // 0x00001D30 length: 4 + int sh1MapKeeps[5]; // 0x00001D34 length: 20 + int mapPlayerCount; // 0x00001D48 length: 4 + XYPair keepPositions[8]; // 0x00001D4C length: 64 + int savedMapBalance; // 0x00001D8C length: 4 + MapLockStateInt U3_mapLockedState; // 0x00001D90 length: 4 + MapLockStateInt savedMapLocked; // 0x00001D94 length: 4 + dword field122_0x1d98; // 0x00001D98 length: 4 + int mapU3EndInt; // 0x00001D9C length: 4 + int savedMapEndInt2; // 0x00001DA0 length: 4 + int canBeginMainLoop; // 0x00001DA4 length: 4 + int twohundred; // 0x00001DA8 length: 4 + byte unused_0x1dac[4]; // 0x00001DAC length: 4 + MenuItemActionHandler* menuType7_MenuItemClickHandlerUnk; // 0x00001DB0 length: 4 + int numOfAIsWithCastleUnk; // 0x00001DB4 length: 4 + int arrayOfLordIdsWithAIVsUnk[16]; // 0x00001DB8 length: 64 + int furthestSkirmishTrailMission; // 0x00001DF8 length: 4 + int skirmishTrailMonthsTakenOrChicken[50]; // 0x00001DFC length: 200 + int skirmishTrailStartDateInMonths[50]; // 0x00001EC4 length: 200 + dword skirmishTrailYearReached; // 0x00001F8C length: 4 + dword skirmishTrailStartDateMonths; // 0x00001F90 length: 4 + BOOLEnum isSkirmishTrail; // 0x00001F94 length: 4 + dword skirmishTrailProgress; // 0x00001F98 length: 4 + TrailTypeInt currentTrailType; // 0x00001F9C length: 4 + int furthestWarchestTrailMission; // 0x00001FA0 length: 4 + int warchestTrailMonthsTakenOrChicken[50]; // 0x00001FA4 length: 200 + int warchestTrailStartDatesInMonths[50]; // 0x0000206C length: 200 + dword warchestTrailYearReached; // 0x00002134 length: 4 + dword warchestTrailStartDateMonths; // 0x00002138 length: 4 + dword field144_0x213c; // 0x0000213C length: 4 + dword warchestTrailProgress; // 0x00002140 length: 4 + int furthestExtremeTrailMission; // 0x00002144 length: 4 + int extremeTrailMonthsTakenOrChicken[50]; // 0x00002148 length: 200 + int extremeTrailStartDatesInMonths[50]; // 0x00002210 length: 200 + dword extremeTrailYearReached; // 0x000022D8 length: 4 + dword extremeTrailStartDateMonths; // 0x000022DC length: 4 + dword field151_0x22e0; // 0x000022E0 length: 4 + int extremeTrailProgress; // 0x000022E4 length: 4 + int lordIconUnk; // 0x000022E8 length: 4 + int lordIcons[9]; // 0x000022EC length: 36 + byte unused_0x2310[4]; // 0x00002310 length: 4 + int selectedLordTypeUnk; // 0x00002314 length: 4 + int selectedLordType_2Unk; // 0x00002318 length: 4 + int selectedLordTypes[9]; // 0x0000231C length: 36 + dword field159_0x2340; // 0x00002340 length: 4 + dword gamePausedLogical; // 0x00002344 length: 4 + int viewportFocusBeforeBarracksHotkey; // 0x00002348 length: 4 + int viewportFocusBeforeMercenaryHotkey; // 0x0000234C length: 4 + int viewportFocusBeforeGranaryHotkey; // 0x00002350 length: 4 + int viewportFocusBeforeMarketHotkey; // 0x00002354 length: 4 + int viewportFocusBeforeKeepHotkey; // 0x00002358 length: 4 + int viewportFocusBeforeArmoryHotkey; // 0x0000235C length: 4 + int viewportFocusBeforeEngineersGuildHotkey; // 0x00002360 length: 4 + int field168_0x2364; // 0x00002364 length: 4 + BOOLEnum genieVoiceActive; // 0x00002368 length: 4 + uint timeSum_2; // 0x0000236C length: 4 + dword gameDuration; // 0x00002370 length: 4 + byte tacticalPowersDisplayFlag; // 0x00002374 length: 1 + byte unusedOption1; // 0x00002375 length: 1 + byte isVictoryOrDefeatUnk; // 0x00002376 length: 1 + byte skipStoreSKMasters; // 0x00002377 length: 1 + byte altRToggleMinimapHideWildlife; // 0x00002378 length: 1 + byte unused_0x2379[3]; // 0x00002379 length: 3 + dword forty; // 0x0000237C length: 4 + + private: + GameCore(GameCore const&); + void operator=(GameCore const&); + + GameCore(); + ~GameCore(); + + public: + // Constructor + GameCore* Constructor_GameCore(); + + void setViewOnExitUnk(); + + void setTabToSwitchTo(); + + void meth_0x46b320(); + + void switchToMenuView(MenuViewTypeInt menuID, int delay); + + void processMenuViewSwitch(); + + void viewportAndScrollingRelated(); + + BOOLEnum getAreWeInAInGameMenu(); + + BOOLEnum isInBuildingTab(); + + void removeJesterAndLadyUnitsInCertainMissions(); + + void FUN_0046bc90(); + + BOOLEnum isGameHaltingMenuOpen(); + + void setStartDateUnk(int param_1); + + void incrementMissionProgress(); + + void switchToScenarioDescriptionMenuView(); + + void meth_0x471a00(); + + void hideOrUnhideUI(); + }; + + static_assert_cpp98_obj(sizeof(GameCore) == 9088, GameCore); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(GameCore, false, Address::SHC_3BB0A8C1_0x01FE7D10) pDAT_GameCore; + +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameMode.hpp b/src/OpenSHC/Game/GameMode.hpp new file mode 100644 index 0000000..28270bc --- /dev/null +++ b/src/OpenSHC/Game/GameMode.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/GameMode.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + typedef enum GameMode { + + GM_SOLITARY = 0, // 0x00000000 + GM_MULTIPLAYER = 1, // 0x00000001 + GM_MULTIPLAYER_END_OF_GAME = 2, // 0x00000002 + GM_SKIRMISH_SINGLE_PLAYER = 99, // 0x00000063 + GM_SKIRMISH_END_OF_GAME_SINGLE_PLAYER = 666 // 0x0000029A + + } GameMode; + + static_assert_cpp98_obj(sizeof(GameMode) == 4, GameMode); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameMode2.hpp b/src/OpenSHC/Game/GameMode2.hpp new file mode 100644 index 0000000..bd033bb --- /dev/null +++ b/src/OpenSHC/Game/GameMode2.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/GameMode2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + typedef enum GameMode2 { + + GM_CAMPAIGN_MISSION = 0, // 0x00000000 + GM_EDITOR = 1, // 0x00000001 + GM_BUILDERUnk = 2, // 0x00000002 + GM_SKIRMISH_AND_MULTIPLAYER = 3, // 0x00000003 + GM_CRUSADER_TUTORIAL = 4, // 0x00000004 + GM_ECONOMIC_CAMPAIGN_SH1 = 5, // 0x00000005 + GM_SIEGE_THAT = 6, // 0x00000006 + GM_SHCDE_MAP_TRAIL = 11, // 0x0000000B + GM_SHCDE_MAP_TRAIL2 = 13 // 0x0000000D + + } GameMode2; + + static_assert_cpp98_obj(sizeof(GameMode2) == 4, GameMode2); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameMode2Int.hpp b/src/OpenSHC/Game/GameMode2Int.hpp new file mode 100644 index 0000000..38fd55e --- /dev/null +++ b/src/OpenSHC/Game/GameMode2Int.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/GameMode2Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/GameMode2.hpp" + +namespace OpenSHC { +namespace Game { + typedef int GameMode2Int; + + static_assert_cpp98_obj(sizeof(GameMode2Int) == 4, GameMode2Int); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameModeInt.hpp b/src/OpenSHC/Game/GameModeInt.hpp new file mode 100644 index 0000000..55c0be1 --- /dev/null +++ b/src/OpenSHC/Game/GameModeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/GameModeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/GameMode.hpp" + +namespace OpenSHC { +namespace Game { + typedef int GameModeInt; + + static_assert_cpp98_obj(sizeof(GameModeInt) == 4, GameModeInt); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameStateStructures.func.hpp b/src/OpenSHC/Game/GameStateStructures.func.hpp new file mode 100644 index 0000000..60e6980 --- /dev/null +++ b/src/OpenSHC/Game/GameStateStructures.func.hpp @@ -0,0 +1,417 @@ +/** + path: 'OpenSHC/Game/GameStateStructures.func.hpp' +*/ + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/GameStateStructures.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Game { + namespace GameStateStructures_Func { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(bool (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00401090, + &GameStateStructures::isSameTeam) + isSameTeam; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00455D40, + &GameStateStructures::clearMapAndTimeAndPlayerData) + clearMapAndTimeAndPlayerData; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00455D90, + &GameStateStructures::meth_0x455d90) + meth_0x455d90; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00455E10, + &GameStateStructures::resetVariousCountsAndStatisticsAndStartGoodsAndResources) + resetVariousCountsAndStatisticsAndStartGoodsAndResources; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004560F0, + &GameStateStructures::resetCountsAndStatistics) + resetCountsAndStatistics; + + MACRO_FUNCTION_RESOLVER(bool (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004563B0, + &GameStateStructures::isFullIDEqualsToMinus1) + isFullIDEqualsToMinus1; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004563D0, + &GameStateStructures::processUnitLossStatistic) + processUnitLossStatistic; + + MACRO_FUNCTION_RESOLVER(uint (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004565A0, + &GameStateStructures::setLastEncounteredTroopUnit) + setLastEncounteredTroopUnit; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(BOOLEnum, int), false, Address::SHC_3BB0A8C1_0x00456670, + &GameStateStructures::updateDateAndTime) + updateDateAndTime; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00456750, + &GameStateStructures::setMonthAndYear) + setMonthAndYear; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004567A0, + &GameStateStructures::meth_0x4567a0) + meth_0x4567a0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00456810, + &GameStateStructures::computeSignPostEntryData) + computeSignPostEntryData; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00456870, + &GameStateStructures::nof_fpoints_locationFinder) + nof_fpoints_locationFinder; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004568B0, + &GameStateStructures::calculateAttackVectorsToCampFireOfPlayer) + calculateAttackVectorsToCampFireOfPlayer; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004568F0, + &GameStateStructures::meth_0x4568f0) + meth_0x4568f0; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004569E0, + &GameStateStructures::meth_0x4569e0) + meth_0x4569e0; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00456AD0, + &GameStateStructures::meth_0x456ad0) + meth_0x456ad0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00456C50, + &GameStateStructures::clearDataAndSignpostDataIfNecessary) + clearDataAndSignpostDataIfNecessary; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00456EF0, + &GameStateStructures::addSignpostToBuildingEntryData) + addSignpostToBuildingEntryData; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(uint, int, int), false, Address::SHC_3BB0A8C1_0x00456FD0, + &GameStateStructures::meth_0x456fd0) + meth_0x456fd0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004572A0, + &GameStateStructures::meth_0x4572a0) + meth_0x4572a0; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004574C0, + &GameStateStructures::checkKeepEnclosed) + checkKeepEnclosed; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004576E0, + &GameStateStructures::canNavigateFromKeepToKeep) + canNavigateFromKeepToKeep; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00457770, + &GameStateStructures::canUnitsNavigateFromKeepToKeep) + canUnitsNavigateFromKeepToKeep; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00457800, + &GameStateStructures::unitsCanMoveFromKeepOfPlayerToAnotherArea) + unitsCanMoveFromKeepOfPlayerToAnotherArea; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int, int, int), false, + Address::SHC_3BB0A8C1_0x00457870, &GameStateStructures::meth_0x457870) + meth_0x457870; + + MACRO_FUNCTION_RESOLVER(bool (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004578F0, + &GameStateStructures::meth_0x4578f0) + meth_0x4578f0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(uint), false, Address::SHC_3BB0A8C1_0x00457960, + &GameStateStructures::updatePrimaryBuildingPlayerDataReferences) + updatePrimaryBuildingPlayerDataReferences; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00457A70, + &GameStateStructures::changePlayerOwnership) + changePlayerOwnership; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00457AD0, + &GameStateStructures::swapOwnership) + swapOwnership; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00457B40, + &GameStateStructures::destroyPlayerCompletely) + destroyPlayerCompletely; + + MACRO_FUNCTION_RESOLVER(undefined4 (GameStateStructures::*)(CommandBuildingTypeInt, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00457B80, &GameStateStructures::checkRequiredResourcesForBuildingOrPlanToBuy) + checkRequiredResourcesForBuildingOrPlanToBuy; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00457E80, + &GameStateStructures::getWallTilesThatCanBeBuilt) + getWallTilesThatCanBeBuilt; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00457F20, + &GameStateStructures::showPopAndGoldPopup) + showPopAndGoldPopup; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00457FD0, + &GameStateStructures::createStatsPopUpEntities) + createStatsPopUpEntities; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00458070, &GameStateStructures::displayPlayerTradeVisualEffect) + displayPlayerTradeVisualEffect; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004580C0, + &GameStateStructures::spawnChicken) + spawnChicken; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458280, + &GameStateStructures::spawnMotherOrChild) + spawnMotherOrChild; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004585B0, + &GameStateStructures::playerHasACampground) + playerHasACampground; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004585F0, + &GameStateStructures::moveUnitAroundCampfire) + moveUnitAroundCampfire; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004586D0, + &GameStateStructures::meth_0x4586d0) + meth_0x4586d0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004586F0, + &GameStateStructures::meth_0x4586f0) + meth_0x4586f0; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00458700, + &GameStateStructures::meth_0x458700) + meth_0x458700; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(ResourceTypeInt), false, + Address::SHC_3BB0A8C1_0x00458740, &GameStateStructures::isResourceTypeTradeable) + isResourceTypeTradeable; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458760, + &GameStateStructures::anyGoodsAreAllowedForSale) + anyGoodsAreAllowedForSale; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(ResourceTypeInt), false, Address::SHC_3BB0A8C1_0x004587A0, + &GameStateStructures::getNextGoodFilteringUnallowed) + getNextGoodFilteringUnallowed; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(ResourceTypeInt), false, Address::SHC_3BB0A8C1_0x00458820, + &GameStateStructures::getPreviousGoodsFilteringUnallowed) + getPreviousGoodsFilteringUnallowed; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x00458890, + &GameStateStructures::getBatchBuyPrice) + getBatchBuyPrice; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x004588A0, &GameStateStructures::getBuyPrice) + getBuyPrice; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004588D0, + &GameStateStructures::meth_0x4588d0) + meth_0x4588d0; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(ResourceTypeInt), false, Address::SHC_3BB0A8C1_0x004588F0, + &GameStateStructures::getSalePriceOfGood) + getSalePriceOfGood; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00458910, + &GameStateStructures::getSellPrice) + getSellPrice; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00458940, + &GameStateStructures::getSellResourceAmount) + getSellResourceAmount; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458990, + &GameStateStructures::setVariousGameStateToInitialValues) + setVariousGameStateToInitialValues; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004589E0, + &GameStateStructures::processPeasantsForBuildings) + processPeasantsForBuildings; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458A70, + &GameStateStructures::updateFoodTypesInStockForAllPlayers) + updateFoodTypesInStockForAllPlayers; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458AD0, + &GameStateStructures::processFoodConsumption) + processFoodConsumption; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458D50, + &GameStateStructures::updateAleRate) + updateAleRate; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00458E20, + &GameStateStructures::computeAleCoverage) + computeAleCoverage; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458E60, + &GameStateStructures::updateCrowding) + updateCrowding; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458EC0, + &GameStateStructures::updateFearFactorProductivity) + updateFearFactorProductivity; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00458F70, + &GameStateStructures::recomputeReligionBonuses) + recomputeReligionBonuses; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00459080, + &GameStateStructures::calculateTaxIncomeForPlayer) + calculateTaxIncomeForPlayer; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00459140, + &GameStateStructures::calculateTaxBribeExpenseForPlayer) + calculateTaxBribeExpenseForPlayer; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00459170, + &GameStateStructures::getNumberToDisplayPlayerTaxIncome) + getNumberToDisplayPlayerTaxIncome; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004591B0, + &GameStateStructures::getNumberToDisplayBribeIncome) + getNumberToDisplayBribeIncome; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x004591F0, + &GameStateStructures::despawnPeasantOrWorker) + despawnPeasantOrWorker; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00459490, + &GameStateStructures::spawnDrunkard) + spawnDrunkard; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004595D0, + &GameStateStructures::singlePlayerHasKeepAndGranaryCheck) + singlePlayerHasKeepAndGranaryCheck; + + MACRO_FUNCTION_RESOLVER( + void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00459640, &GameStateStructures::resetTeams) + resetTeams; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x004596D0, + &GameStateStructures::getTeamsDifferent) + getTeamsDifferent; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00459700, + &GameStateStructures::findAITeamMate) + findAITeamMate; + + MACRO_FUNCTION_RESOLVER(uint (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00459740, + &GameStateStructures::TeamToBitFlagsUnk) + TeamToBitFlagsUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004597D0, + &GameStateStructures::meth_0x4597d0) + meth_0x4597d0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x004598B0, + &GameStateStructures::recountStablesAndHorses) + recountStablesAndHorses; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00459930, + &GameStateStructures::linkageBetweenHorseUnitAndStableUnk) + linkageBetweenHorseUnitAndStableUnk; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00459A20, + &GameStateStructures::spawnPoisonCloudsAroundBuilding) + spawnPoisonCloudsAroundBuilding; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00459B50, + &GameStateStructures::playSFXNoSpaceInTheStockPile) + playSFXNoSpaceInTheStockPile; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x00459BB0, + &GameStateStructures::FUN_00459bb0) + FUN_00459bb0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00459BE0, + &GameStateStructures::fillWith0xFF) + fillWith0xFF; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x00459C10, + &GameStateStructures::assignSelectionToKey) + assignSelectionToKey; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00459E40, + &GameStateStructures::HandleActivateTacticalPowers) + HandleActivateTacticalPowers; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0045A060, &GameStateStructures::renderDebugDataCurrentPlayerData) + renderDebugDataCurrentPlayerData; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x0045AE10, + &GameStateStructures::addBuildingInRegistry) + addBuildingInRegistry; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045AE70, + &GameStateStructures::resetBuildingsCurrentIndexCounter) + resetBuildingsCurrentIndexCounter; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x0045AEB0, + &GameStateStructures::selectARandomBuildingOwnedByPlayer) + selectARandomBuildingOwnedByPlayer; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045AF00, + &GameStateStructures::resetSomethingBuildingRelatedForAllPlayers) + resetSomethingBuildingRelatedForAllPlayers; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045AF30, + &GameStateStructures::computePopulationStatistics) + computePopulationStatistics; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045B1C0, + &GameStateStructures::clearEnemyRelatedStructures) + clearEnemyRelatedStructures; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045B3E0, + &GameStateStructures::meth_0x45b3e0) + meth_0x45b3e0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int), false, Address::SHC_3BB0A8C1_0x0045B460, + &GameStateStructures::switchPlayerOwnership) + switchPlayerOwnership; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045B6B0, + &GameStateStructures::updateTrader) + updateTrader; + + MACRO_FUNCTION_RESOLVER(int (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x0045B7F0, + &GameStateStructures::getSalesPrice) + getSalesPrice; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045B830, + &GameStateStructures::updatePopularity) + updatePopularity; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045BF50, + &GameStateStructures::updateTaxing) + updateTaxing; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(int, int), false, Address::SHC_3BB0A8C1_0x0045C050, + &GameStateStructures::spawnPoisonCloudsAtRandomStorageOrArmyBuilding) + spawnPoisonCloudsAtRandomStorageOrArmyBuilding; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x0045C1C0, &GameStateStructures::meth_0x45c1c0) + meth_0x45c1c0; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x0045B4A0, + &GameStateStructures::processSingleTimeTick) + processSingleTimeTick; + + MACRO_FUNCTION_RESOLVER(void (GameStateStructures::*)(), false, Address::SHC_3BB0A8C1_0x00459D80, + &GameStateStructures::processGameTick) + processGameTick; + + } // namespace GameStateStructures_Func +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/GameStateStructures.hpp b/src/OpenSHC/Game/GameStateStructures.hpp new file mode 100644 index 0000000..c3c4c0f --- /dev/null +++ b/src/OpenSHC/Game/GameStateStructures.hpp @@ -0,0 +1,254 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/GameStateStructures.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerData.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Game/State/MapAndTimeState.hpp" +#include "OpenSHC/Game/State/UnitSelectionHotKeyEntry.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerData; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Game::State::MapAndTimeState; + using OpenSHC::Game::State::UnitSelectionHotKeyEntry; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00093BF4 + class GameStateStructures { + public: + UnitSelectionHotKeyEntry section1099Array[10]; // 0x00000000 length: 200000 + PlayerData playerDataArray[9]; // 0x00030D40 length: 133524 + MapAndTimeState mapAndTime; // 0x000516D4 length: 262608 + int gameTicksLoadBalancer; // 0x000918A4 length: 4 + short first500BuildingsPerPlayer[9][500]; // 0x000918A8 length: 9000 + int first500BuildingsCurrentIndexCounter[9]; // 0x00093BD0 length: 36 + + private: + GameStateStructures(GameStateStructures const&); + void operator=(GameStateStructures const&); + + GameStateStructures(); + ~GameStateStructures(); + + public: + bool isSameTeam(int playerID1, int playerID2); + + void clearMapAndTimeAndPlayerData(); + + void meth_0x455d90(); + + void resetVariousCountsAndStatisticsAndStartGoodsAndResources(); + + void resetCountsAndStatistics(); + + bool isFullIDEqualsToMinus1(int param_1); + + void processUnitLossStatistic(int playerID, int unitID); + + uint setLastEncounteredTroopUnit(int playerID, int unitID); + + void updateDateAndTime(BOOLEnum startOfWeekAsCurrentTickIs0, int currentTick); + + void setMonthAndYear(int month, int year); + + void meth_0x4567a0(); + + void computeSignPostEntryData(); + + void nof_fpoints_locationFinder(); + + void calculateAttackVectorsToCampFireOfPlayer(int playerID); + + int meth_0x4568f0(); + + BOOLEnum meth_0x4569e0(); + + int meth_0x456ad0(); + + void clearDataAndSignpostDataIfNecessary(); + + void addSignpostToBuildingEntryData(int buildingID); + + void meth_0x456fd0(uint param_1, int param_2, int param_3); + + void meth_0x4572a0(int playerID, int param_2); + + BOOLEnum checkKeepEnclosed(int playerID); + + BOOLEnum canNavigateFromKeepToKeep(int playerID1, int playerID2); + + BOOLEnum canUnitsNavigateFromKeepToKeep(int playerID, int targetPlayerID); + + BOOLEnum unitsCanMoveFromKeepOfPlayerToAnotherArea(int playerID); + + BOOLEnum meth_0x457870(int param_1, int param_2, int param_3); + + bool meth_0x4578f0(int param_1, int param_2, int param_3); + + void updatePrimaryBuildingPlayerDataReferences(uint buildingID); + + void changePlayerOwnership(int fromPlayer, int toPlayer); + + void swapOwnership(int playerID_1, int playerID_2); + + void destroyPlayerCompletely(int playerID); + + undefined4 checkRequiredResourcesForBuildingOrPlanToBuy( + CommandBuildingTypeInt commandBuildingType, int playerID, BOOLEnum playResourceLackMsgUnk); + + int getWallTilesThatCanBeBuilt(int playerID, int wallMaterial); + + void showPopAndGoldPopup(); + + void createStatsPopUpEntities(); + + void displayPlayerTradeVisualEffect(int playerID, int param_2, int amount, undefined4 resourceType); + + void spawnChicken(); + + void spawnMotherOrChild(); + + BOOLEnum playerHasACampground(int playerID); + + int moveUnitAroundCampfire(int unitID, int availablePeasants); + + void meth_0x4586d0(); + + void meth_0x4586f0(); + + int meth_0x458700(int param_1); + + BOOLEnum isResourceTypeTradeable(ResourceTypeInt resourceType); + + BOOLEnum anyGoodsAreAllowedForSale(); + + int getNextGoodFilteringUnallowed(ResourceTypeInt param_1); + + int getPreviousGoodsFilteringUnallowed(ResourceTypeInt param_1); + + int getBatchBuyPrice(undefined4 playerID, int resourceType); + + int getBuyPrice(undefined4 playerID, int resourceType, int amount); + + int meth_0x4588d0(int param_1); + + int getSalePriceOfGood(ResourceTypeInt param_1); + + int getSellPrice(int playerID, int resourceType, int amount); + + int getSellResourceAmount(int playerID, int resourceType); + + void setVariousGameStateToInitialValues(); + + void processPeasantsForBuildings(); + + void updateFoodTypesInStockForAllPlayers(); + + void processFoodConsumption(); + + void updateAleRate(); + + int computeAleCoverage(int playerID); + + void updateCrowding(); + + void updateFearFactorProductivity(); + + void recomputeReligionBonuses(); + + int calculateTaxIncomeForPlayer(int playerIndex, int taxStep, int currentPeasants); + + int calculateTaxBribeExpenseForPlayer(int playerIndex, int taxStep, int currentPopulation); + + int getNumberToDisplayPlayerTaxIncome(int playerIndex, int taxStep, int currentPopulation); + + int getNumberToDisplayBribeIncome(int playerIndex, int taxStep, int currentPopulation); + + void despawnPeasantOrWorker(int playerID); + + void spawnDrunkard(int param_1); + + int singlePlayerHasKeepAndGranaryCheck(); + + void resetTeams(); + + BOOLEnum getTeamsDifferent(int firstPlayerId, int secondPlayerId); + + int findAITeamMate(int playerID1); + + uint TeamToBitFlagsUnk(int unitID); + + BOOLEnum meth_0x4597d0(); + + void recountStablesAndHorses(); + + int linkageBetweenHorseUnitAndStableUnk(int playerID, int unitID); + + void spawnPoisonCloudsAroundBuilding(int buildingID); + + void playSFXNoSpaceInTheStockPile(int playerID); + + void FUN_00459bb0(int param_1); + + void fillWith0xFF(); + + void assignSelectionToKey(int number, int tribeID); + + void HandleActivateTacticalPowers(int param_1, int powerType, int param_3); + + void renderDebugDataCurrentPlayerData(int x, int y, int width, int height); + + void addBuildingInRegistry(int buildingID); + + void resetBuildingsCurrentIndexCounter(); + + int selectARandomBuildingOwnedByPlayer(int playerID); + + void resetSomethingBuildingRelatedForAllPlayers(); + + void computePopulationStatistics(); + + void clearEnemyRelatedStructures(); + + void meth_0x45b3e0(); + + void switchPlayerOwnership(int playerID); + + void updateTrader(); + + int getSalesPrice(int playerID, int resourceType); + + void updatePopularity(); + + void updateTaxing(); + + void spawnPoisonCloudsAtRandomStorageOrArmyBuilding(int playerID, int count); + + void meth_0x45c1c0(PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + void processSingleTimeTick(); + + void processGameTick(); + }; + + static_assert_cpp98_obj(sizeof(GameStateStructures) == 605172, GameStateStructures); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(GameStateStructures, false, Address::SHC_3BB0A8C1_0x0112B0B8) pDAT_GameStateStructures; + +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Market/BuySellPair.hpp b/src/OpenSHC/Game/Market/BuySellPair.hpp new file mode 100644 index 0000000..0ab7105 --- /dev/null +++ b/src/OpenSHC/Game/Market/BuySellPair.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Market/BuySellPair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Market { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct BuySellPair { + + int buyPrice; // 0x00000000 length: 4 + int salesPrice; // 0x00000004 length: 4 + + } BuySellPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BuySellPair) == 8, BuySellPair); + } // namespace Market +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/MissionAestheticsDefinedData.hpp b/src/OpenSHC/Game/MissionAestheticsDefinedData.hpp new file mode 100644 index 0000000..a415754 --- /dev/null +++ b/src/OpenSHC/Game/MissionAestheticsDefinedData.hpp @@ -0,0 +1,1274 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/MissionAestheticsDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/BuildingNameRelatedStruct.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::UI::BuildingNameRelatedStruct; + +#pragma pack(push, 1) + // SIZE: 0x00005504 + typedef struct MissionAestheticsDefinedData { + + char** field0_0x0; // 0x00000000 length: 4 + char** field1_0x4; // 0x00000004 length: 4 + char** field2_0x8; // 0x00000008 length: 4 + char** field3_0xc; // 0x0000000C length: 4 + char** field4_0x10; // 0x00000010 length: 4 + char** field5_0x14; // 0x00000014 length: 4 + char** field6_0x18; // 0x00000018 length: 4 + char** field7_0x1c; // 0x0000001C length: 4 + char** field8_0x20; // 0x00000020 length: 4 + char** field9_0x24; // 0x00000024 length: 4 + char** field10_0x28; // 0x00000028 length: 4 + char** field11_0x2c; // 0x0000002C length: 4 + char** field12_0x30; // 0x00000030 length: 4 + char** field13_0x34; // 0x00000034 length: 4 + char** field14_0x38; // 0x00000038 length: 4 + char** field15_0x3c; // 0x0000003C length: 4 + char** field16_0x40; // 0x00000040 length: 4 + char** field17_0x44; // 0x00000044 length: 4 + char** field18_0x48; // 0x00000048 length: 4 + char** field19_0x4c; // 0x0000004C length: 4 + char** field20_0x50; // 0x00000050 length: 4 + char** field21_0x54; // 0x00000054 length: 4 + char** field22_0x58; // 0x00000058 length: 4 + char** field23_0x5c; // 0x0000005C length: 4 + char** field24_0x60; // 0x00000060 length: 4 + char** field25_0x64; // 0x00000064 length: 4 + char** field26_0x68; // 0x00000068 length: 4 + char** field27_0x6c; // 0x0000006C length: 4 + char** field28_0x70; // 0x00000070 length: 4 + char** field29_0x74; // 0x00000074 length: 4 + char** field30_0x78; // 0x00000078 length: 4 + char** field31_0x7c; // 0x0000007C length: 4 + char** field32_0x80; // 0x00000080 length: 4 + char** field33_0x84; // 0x00000084 length: 4 + char** field34_0x88; // 0x00000088 length: 4 + char** field35_0x8c; // 0x0000008C length: 4 + char** field36_0x90; // 0x00000090 length: 4 + char** field37_0x94; // 0x00000094 length: 4 + char** field38_0x98; // 0x00000098 length: 4 + char** field39_0x9c; // 0x0000009C length: 4 + char** field40_0xa0; // 0x000000A0 length: 4 + char** field41_0xa4; // 0x000000A4 length: 4 + char** field42_0xa8; // 0x000000A8 length: 4 + char** field43_0xac; // 0x000000AC length: 4 + char** field44_0xb0; // 0x000000B0 length: 4 + char** field45_0xb4; // 0x000000B4 length: 4 + char** field46_0xb8; // 0x000000B8 length: 4 + char** field47_0xbc; // 0x000000BC length: 4 + char** field48_0xc0; // 0x000000C0 length: 4 + char** field49_0xc4; // 0x000000C4 length: 4 + char** field50_0xc8; // 0x000000C8 length: 4 + char** field51_0xcc; // 0x000000CC length: 4 + char** field52_0xd0; // 0x000000D0 length: 4 + char** field53_0xd4; // 0x000000D4 length: 4 + char** field54_0xd8; // 0x000000D8 length: 4 + char** field55_0xdc; // 0x000000DC length: 4 + char** field56_0xe0; // 0x000000E0 length: 4 + char** field57_0xe4; // 0x000000E4 length: 4 + char** field58_0xe8; // 0x000000E8 length: 4 + char** field59_0xec; // 0x000000EC length: 4 + char** field60_0xf0; // 0x000000F0 length: 4 + char** field61_0xf4; // 0x000000F4 length: 4 + char** field62_0xf8; // 0x000000F8 length: 4 + char** field63_0xfc; // 0x000000FC length: 4 + char** field64_0x100; // 0x00000100 length: 4 + char** field65_0x104; // 0x00000104 length: 4 + char** field66_0x108; // 0x00000108 length: 4 + char** field67_0x10c; // 0x0000010C length: 4 + char** field68_0x110; // 0x00000110 length: 4 + char** field69_0x114; // 0x00000114 length: 4 + char** field70_0x118; // 0x00000118 length: 4 + char** field71_0x11c; // 0x0000011C length: 4 + char** field72_0x120; // 0x00000120 length: 4 + char** field73_0x124; // 0x00000124 length: 4 + char** field74_0x128; // 0x00000128 length: 4 + char** field75_0x12c; // 0x0000012C length: 4 + char** field76_0x130; // 0x00000130 length: 4 + char** field77_0x134; // 0x00000134 length: 4 + char** field78_0x138; // 0x00000138 length: 4 + char** field79_0x13c; // 0x0000013C length: 4 + char** field80_0x140; // 0x00000140 length: 4 + char** field81_0x144; // 0x00000144 length: 4 + char** field82_0x148; // 0x00000148 length: 4 + char** field83_0x14c; // 0x0000014C length: 4 + char** field84_0x150; // 0x00000150 length: 4 + char** field85_0x154; // 0x00000154 length: 4 + char** field86_0x158; // 0x00000158 length: 4 + char** field87_0x15c; // 0x0000015C length: 4 + char** field88_0x160; // 0x00000160 length: 4 + char** field89_0x164; // 0x00000164 length: 4 + char** field90_0x168; // 0x00000168 length: 4 + char** field91_0x16c; // 0x0000016C length: 4 + int field92_0x170[5]; // 0x00000170 length: 20 + char** field93_0x184; // 0x00000184 length: 4 + char** field94_0x188; // 0x00000188 length: 4 + char** field95_0x18c; // 0x0000018C length: 4 + char** field96_0x190; // 0x00000190 length: 4 + char** field97_0x194; // 0x00000194 length: 4 + char** field98_0x198; // 0x00000198 length: 4 + char** field99_0x19c; // 0x0000019C length: 4 + char** field100_0x1a0; // 0x000001A0 length: 4 + char** field101_0x1a4; // 0x000001A4 length: 4 + char** field102_0x1a8; // 0x000001A8 length: 4 + char** field103_0x1ac; // 0x000001AC length: 4 + char** field104_0x1b0; // 0x000001B0 length: 4 + char** field105_0x1b4; // 0x000001B4 length: 4 + char** field106_0x1b8; // 0x000001B8 length: 4 + char** field107_0x1bc; // 0x000001BC length: 4 + char** field108_0x1c0; // 0x000001C0 length: 4 + char** field109_0x1c4; // 0x000001C4 length: 4 + char** field110_0x1c8; // 0x000001C8 length: 4 + char** field111_0x1cc; // 0x000001CC length: 4 + char** field112_0x1d0; // 0x000001D0 length: 4 + char** field113_0x1d4; // 0x000001D4 length: 4 + char** field114_0x1d8; // 0x000001D8 length: 4 + char** field115_0x1dc; // 0x000001DC length: 4 + char** field116_0x1e0; // 0x000001E0 length: 4 + char** field117_0x1e4; // 0x000001E4 length: 4 + char** field118_0x1e8; // 0x000001E8 length: 4 + char** field119_0x1ec; // 0x000001EC length: 4 + char** field120_0x1f0; // 0x000001F0 length: 4 + char** field121_0x1f4; // 0x000001F4 length: 4 + char** field122_0x1f8; // 0x000001F8 length: 4 + char** field123_0x1fc; // 0x000001FC length: 4 + char** field124_0x200; // 0x00000200 length: 4 + char** field125_0x204; // 0x00000204 length: 4 + char** field126_0x208; // 0x00000208 length: 4 + char** field127_0x20c; // 0x0000020C length: 4 + char** field128_0x210; // 0x00000210 length: 4 + char** field129_0x214; // 0x00000214 length: 4 + char** field130_0x218; // 0x00000218 length: 4 + char** field131_0x21c; // 0x0000021C length: 4 + char** field132_0x220; // 0x00000220 length: 4 + char** field133_0x224; // 0x00000224 length: 4 + char** field134_0x228; // 0x00000228 length: 4 + char** field135_0x22c; // 0x0000022C length: 4 + char** field136_0x230; // 0x00000230 length: 4 + char** field137_0x234; // 0x00000234 length: 4 + char** field138_0x238; // 0x00000238 length: 4 + char** field139_0x23c; // 0x0000023C length: 4 + char** field140_0x240; // 0x00000240 length: 4 + char** field141_0x244; // 0x00000244 length: 4 + char** field142_0x248; // 0x00000248 length: 4 + char** field143_0x24c; // 0x0000024C length: 4 + char** field144_0x250; // 0x00000250 length: 4 + char** field145_0x254; // 0x00000254 length: 4 + char** field146_0x258; // 0x00000258 length: 4 + char** field147_0x25c; // 0x0000025C length: 4 + char** field148_0x260; // 0x00000260 length: 4 + char** field149_0x264; // 0x00000264 length: 4 + char** field150_0x268; // 0x00000268 length: 4 + char** field151_0x26c; // 0x0000026C length: 4 + char** field152_0x270; // 0x00000270 length: 4 + char** field153_0x274; // 0x00000274 length: 4 + char** field154_0x278; // 0x00000278 length: 4 + char** field155_0x27c; // 0x0000027C length: 4 + char** field156_0x280; // 0x00000280 length: 4 + char** field157_0x284; // 0x00000284 length: 4 + char** field158_0x288; // 0x00000288 length: 4 + char** field159_0x28c; // 0x0000028C length: 4 + char** field160_0x290; // 0x00000290 length: 4 + char** field161_0x294; // 0x00000294 length: 4 + char** field162_0x298; // 0x00000298 length: 4 + char** field163_0x29c; // 0x0000029C length: 4 + char** field164_0x2a0; // 0x000002A0 length: 4 + char** field165_0x2a4; // 0x000002A4 length: 4 + char** field166_0x2a8; // 0x000002A8 length: 4 + char** field167_0x2ac; // 0x000002AC length: 4 + char** field168_0x2b0; // 0x000002B0 length: 4 + char** field169_0x2b4; // 0x000002B4 length: 4 + char** field170_0x2b8; // 0x000002B8 length: 4 + char** field171_0x2bc; // 0x000002BC length: 4 + char** field172_0x2c0; // 0x000002C0 length: 4 + char** field173_0x2c4; // 0x000002C4 length: 4 + char** field174_0x2c8; // 0x000002C8 length: 4 + char** field175_0x2cc; // 0x000002CC length: 4 + char** field176_0x2d0; // 0x000002D0 length: 4 + char** field177_0x2d4; // 0x000002D4 length: 4 + char** field178_0x2d8; // 0x000002D8 length: 4 + char** field179_0x2dc; // 0x000002DC length: 4 + char** field180_0x2e0; // 0x000002E0 length: 4 + char** field181_0x2e4; // 0x000002E4 length: 4 + char** field182_0x2e8; // 0x000002E8 length: 4 + char** field183_0x2ec; // 0x000002EC length: 4 + char** field184_0x2f0; // 0x000002F0 length: 4 + char** field185_0x2f4; // 0x000002F4 length: 4 + char** field186_0x2f8; // 0x000002F8 length: 4 + char** field187_0x2fc; // 0x000002FC length: 4 + char** field188_0x300; // 0x00000300 length: 4 + char** field189_0x304; // 0x00000304 length: 4 + char** field190_0x308; // 0x00000308 length: 4 + char** field191_0x30c; // 0x0000030C length: 4 + char** field192_0x310; // 0x00000310 length: 4 + char** field193_0x314; // 0x00000314 length: 4 + char** field194_0x318; // 0x00000318 length: 4 + char** field195_0x31c; // 0x0000031C length: 4 + char** field196_0x320; // 0x00000320 length: 4 + char** field197_0x324; // 0x00000324 length: 4 + char** field198_0x328; // 0x00000328 length: 4 + char** field199_0x32c; // 0x0000032C length: 4 + char** field200_0x330; // 0x00000330 length: 4 + char** field201_0x334; // 0x00000334 length: 4 + char** field202_0x338; // 0x00000338 length: 4 + char** field203_0x33c; // 0x0000033C length: 4 + char** field204_0x340; // 0x00000340 length: 4 + char** field205_0x344; // 0x00000344 length: 4 + char** field206_0x348; // 0x00000348 length: 4 + char** field207_0x34c; // 0x0000034C length: 4 + char** field208_0x350; // 0x00000350 length: 4 + char** field209_0x354; // 0x00000354 length: 4 + char** field210_0x358; // 0x00000358 length: 4 + char** field211_0x35c; // 0x0000035C length: 4 + char** field212_0x360; // 0x00000360 length: 4 + char** field213_0x364; // 0x00000364 length: 4 + char** field214_0x368; // 0x00000368 length: 4 + char** field215_0x36c; // 0x0000036C length: 4 + char** field216_0x370; // 0x00000370 length: 4 + char** field217_0x374; // 0x00000374 length: 4 + char** field218_0x378; // 0x00000378 length: 4 + char** field219_0x37c; // 0x0000037C length: 4 + char** field220_0x380; // 0x00000380 length: 4 + char** field221_0x384; // 0x00000384 length: 4 + char** field222_0x388; // 0x00000388 length: 4 + char** field223_0x38c; // 0x0000038C length: 4 + char** field224_0x390; // 0x00000390 length: 4 + char** field225_0x394; // 0x00000394 length: 4 + char** field226_0x398; // 0x00000398 length: 4 + char** field227_0x39c; // 0x0000039C length: 4 + char** field228_0x3a0; // 0x000003A0 length: 4 + char** field229_0x3a4; // 0x000003A4 length: 4 + char** field230_0x3a8; // 0x000003A8 length: 4 + char** field231_0x3ac; // 0x000003AC length: 4 + char** field232_0x3b0; // 0x000003B0 length: 4 + char** field233_0x3b4; // 0x000003B4 length: 4 + char** field234_0x3b8; // 0x000003B8 length: 4 + char** field235_0x3bc; // 0x000003BC length: 4 + char** field236_0x3c0; // 0x000003C0 length: 4 + char** field237_0x3c4; // 0x000003C4 length: 4 + char** field238_0x3c8; // 0x000003C8 length: 4 + char** field239_0x3cc; // 0x000003CC length: 4 + char** field240_0x3d0; // 0x000003D0 length: 4 + char** field241_0x3d4; // 0x000003D4 length: 4 + char** field242_0x3d8; // 0x000003D8 length: 4 + char** field243_0x3dc; // 0x000003DC length: 4 + char** field244_0x3e0; // 0x000003E0 length: 4 + char** field245_0x3e4; // 0x000003E4 length: 4 + char** field246_0x3e8; // 0x000003E8 length: 4 + char** field247_0x3ec; // 0x000003EC length: 4 + char** field248_0x3f0; // 0x000003F0 length: 4 + char** field249_0x3f4; // 0x000003F4 length: 4 + char** field250_0x3f8; // 0x000003F8 length: 4 + char** field251_0x3fc; // 0x000003FC length: 4 + char** field252_0x400; // 0x00000400 length: 4 + char** field253_0x404; // 0x00000404 length: 4 + char** field254_0x408; // 0x00000408 length: 4 + char** field255_0x40c; // 0x0000040C length: 4 + char** field256_0x410; // 0x00000410 length: 4 + char** field257_0x414; // 0x00000414 length: 4 + char** field258_0x418; // 0x00000418 length: 4 + char** field259_0x41c; // 0x0000041C length: 4 + char** field260_0x420; // 0x00000420 length: 4 + char** field261_0x424; // 0x00000424 length: 4 + char** field262_0x428; // 0x00000428 length: 4 + char** field263_0x42c; // 0x0000042C length: 4 + char** field264_0x430; // 0x00000430 length: 4 + char** field265_0x434; // 0x00000434 length: 4 + char** field266_0x438; // 0x00000438 length: 4 + char** field267_0x43c; // 0x0000043C length: 4 + char** field268_0x440; // 0x00000440 length: 4 + char** field269_0x444; // 0x00000444 length: 4 + char** field270_0x448; // 0x00000448 length: 4 + char** field271_0x44c; // 0x0000044C length: 4 + char** field272_0x450; // 0x00000450 length: 4 + char** field273_0x454; // 0x00000454 length: 4 + char** field274_0x458; // 0x00000458 length: 4 + char** field275_0x45c; // 0x0000045C length: 4 + char** field276_0x460; // 0x00000460 length: 4 + char** field277_0x464; // 0x00000464 length: 4 + char** field278_0x468; // 0x00000468 length: 4 + char** field279_0x46c; // 0x0000046C length: 4 + char** field280_0x470; // 0x00000470 length: 4 + char** field281_0x474; // 0x00000474 length: 4 + char** field282_0x478; // 0x00000478 length: 4 + char** field283_0x47c; // 0x0000047C length: 4 + char** field284_0x480; // 0x00000480 length: 4 + char** field285_0x484; // 0x00000484 length: 4 + char** field286_0x488; // 0x00000488 length: 4 + char** field287_0x48c; // 0x0000048C length: 4 + char** field288_0x490; // 0x00000490 length: 4 + char** field289_0x494; // 0x00000494 length: 4 + char** field290_0x498; // 0x00000498 length: 4 + char** field291_0x49c; // 0x0000049C length: 4 + char** field292_0x4a0; // 0x000004A0 length: 4 + char** field293_0x4a4; // 0x000004A4 length: 4 + char** field294_0x4a8; // 0x000004A8 length: 4 + char** field295_0x4ac; // 0x000004AC length: 4 + char** field296_0x4b0; // 0x000004B0 length: 4 + char** field297_0x4b4; // 0x000004B4 length: 4 + char** field298_0x4b8; // 0x000004B8 length: 4 + char** field299_0x4bc; // 0x000004BC length: 4 + char** field300_0x4c0; // 0x000004C0 length: 4 + char** field301_0x4c4; // 0x000004C4 length: 4 + char** field302_0x4c8; // 0x000004C8 length: 4 + char** field303_0x4cc; // 0x000004CC length: 4 + char** field304_0x4d0; // 0x000004D0 length: 4 + char** field305_0x4d4; // 0x000004D4 length: 4 + char** field306_0x4d8; // 0x000004D8 length: 4 + char** field307_0x4dc; // 0x000004DC length: 4 + char** field308_0x4e0; // 0x000004E0 length: 4 + char** field309_0x4e4; // 0x000004E4 length: 4 + char** field310_0x4e8; // 0x000004E8 length: 4 + char** field311_0x4ec; // 0x000004EC length: 4 + char** field312_0x4f0; // 0x000004F0 length: 4 + char** field313_0x4f4; // 0x000004F4 length: 4 + char** field314_0x4f8; // 0x000004F8 length: 4 + char** field315_0x4fc; // 0x000004FC length: 4 + char** field316_0x500; // 0x00000500 length: 4 + char** field317_0x504; // 0x00000504 length: 4 + char** field318_0x508; // 0x00000508 length: 4 + char** field319_0x50c; // 0x0000050C length: 4 + char** field320_0x510; // 0x00000510 length: 4 + char** field321_0x514; // 0x00000514 length: 4 + char** field322_0x518; // 0x00000518 length: 4 + char** field323_0x51c; // 0x0000051C length: 4 + char** field324_0x520; // 0x00000520 length: 4 + char** field325_0x524; // 0x00000524 length: 4 + char** field326_0x528; // 0x00000528 length: 4 + char** field327_0x52c; // 0x0000052C length: 4 + char** field328_0x530; // 0x00000530 length: 4 + char** field329_0x534; // 0x00000534 length: 4 + char** field330_0x538; // 0x00000538 length: 4 + char** field331_0x53c; // 0x0000053C length: 4 + char** field332_0x540; // 0x00000540 length: 4 + char** field333_0x544; // 0x00000544 length: 4 + char** field334_0x548; // 0x00000548 length: 4 + char** field335_0x54c; // 0x0000054C length: 4 + char** field336_0x550; // 0x00000550 length: 4 + char** field337_0x554; // 0x00000554 length: 4 + char** field338_0x558; // 0x00000558 length: 4 + char** field339_0x55c; // 0x0000055C length: 4 + char** field340_0x560; // 0x00000560 length: 4 + char** field341_0x564; // 0x00000564 length: 4 + char** field342_0x568; // 0x00000568 length: 4 + char** field343_0x56c; // 0x0000056C length: 4 + char** field344_0x570; // 0x00000570 length: 4 + char** field345_0x574; // 0x00000574 length: 4 + char** field346_0x578; // 0x00000578 length: 4 + char** field347_0x57c; // 0x0000057C length: 4 + char** field348_0x580; // 0x00000580 length: 4 + char** field349_0x584; // 0x00000584 length: 4 + char** field350_0x588; // 0x00000588 length: 4 + char** field351_0x58c; // 0x0000058C length: 4 + char** field352_0x590; // 0x00000590 length: 4 + char** field353_0x594; // 0x00000594 length: 4 + char** field354_0x598; // 0x00000598 length: 4 + char** field355_0x59c; // 0x0000059C length: 4 + char** field356_0x5a0; // 0x000005A0 length: 4 + char** field357_0x5a4; // 0x000005A4 length: 4 + char** field358_0x5a8; // 0x000005A8 length: 4 + char** field359_0x5ac; // 0x000005AC length: 4 + char** field360_0x5b0; // 0x000005B0 length: 4 + char** field361_0x5b4; // 0x000005B4 length: 4 + char** field362_0x5b8; // 0x000005B8 length: 4 + char** field363_0x5bc; // 0x000005BC length: 4 + char** field364_0x5c0; // 0x000005C0 length: 4 + char** field365_0x5c4; // 0x000005C4 length: 4 + char** field366_0x5c8; // 0x000005C8 length: 4 + char** field367_0x5cc; // 0x000005CC length: 4 + char** field368_0x5d0; // 0x000005D0 length: 4 + char** field369_0x5d4; // 0x000005D4 length: 4 + char** field370_0x5d8; // 0x000005D8 length: 4 + char** field371_0x5dc; // 0x000005DC length: 4 + char** field372_0x5e0; // 0x000005E0 length: 4 + char** field373_0x5e4; // 0x000005E4 length: 4 + char** field374_0x5e8; // 0x000005E8 length: 4 + char** field375_0x5ec; // 0x000005EC length: 4 + char** field376_0x5f0; // 0x000005F0 length: 4 + char** field377_0x5f4; // 0x000005F4 length: 4 + char** field378_0x5f8; // 0x000005F8 length: 4 + char** field379_0x5fc; // 0x000005FC length: 4 + char** field380_0x600; // 0x00000600 length: 4 + char** field381_0x604; // 0x00000604 length: 4 + char** field382_0x608; // 0x00000608 length: 4 + char** field383_0x60c; // 0x0000060C length: 4 + char** field384_0x610; // 0x00000610 length: 4 + char** field385_0x614; // 0x00000614 length: 4 + char** field386_0x618; // 0x00000618 length: 4 + char** field387_0x61c; // 0x0000061C length: 4 + char** field388_0x620; // 0x00000620 length: 4 + char** field389_0x624; // 0x00000624 length: 4 + char** field390_0x628; // 0x00000628 length: 4 + char** field391_0x62c; // 0x0000062C length: 4 + char** field392_0x630; // 0x00000630 length: 4 + char** field393_0x634; // 0x00000634 length: 4 + char** field394_0x638; // 0x00000638 length: 4 + char** field395_0x63c; // 0x0000063C length: 4 + char** field396_0x640; // 0x00000640 length: 4 + char** field397_0x644; // 0x00000644 length: 4 + char** field398_0x648; // 0x00000648 length: 4 + char** field399_0x64c; // 0x0000064C length: 4 + char** field400_0x650; // 0x00000650 length: 4 + char** field401_0x654; // 0x00000654 length: 4 + char** field402_0x658; // 0x00000658 length: 4 + char** field403_0x65c; // 0x0000065C length: 4 + char** field404_0x660; // 0x00000660 length: 4 + char** field405_0x664; // 0x00000664 length: 4 + char** field406_0x668; // 0x00000668 length: 4 + char** field407_0x66c; // 0x0000066C length: 4 + char** field408_0x670; // 0x00000670 length: 4 + char** field409_0x674; // 0x00000674 length: 4 + char** field410_0x678; // 0x00000678 length: 4 + char** field411_0x67c; // 0x0000067C length: 4 + char** field412_0x680; // 0x00000680 length: 4 + char** field413_0x684; // 0x00000684 length: 4 + char** field414_0x688; // 0x00000688 length: 4 + char** field415_0x68c; // 0x0000068C length: 4 + char** field416_0x690; // 0x00000690 length: 4 + char** field417_0x694; // 0x00000694 length: 4 + char** field418_0x698; // 0x00000698 length: 4 + char** field419_0x69c; // 0x0000069C length: 4 + char** field420_0x6a0; // 0x000006A0 length: 4 + char** field421_0x6a4; // 0x000006A4 length: 4 + char** field422_0x6a8; // 0x000006A8 length: 4 + char** field423_0x6ac; // 0x000006AC length: 4 + char** field424_0x6b0; // 0x000006B0 length: 4 + char** field425_0x6b4; // 0x000006B4 length: 4 + char** field426_0x6b8; // 0x000006B8 length: 4 + char** field427_0x6bc; // 0x000006BC length: 4 + char** field428_0x6c0; // 0x000006C0 length: 4 + char** field429_0x6c4; // 0x000006C4 length: 4 + char** field430_0x6c8; // 0x000006C8 length: 4 + char** field431_0x6cc; // 0x000006CC length: 4 + char** field432_0x6d0; // 0x000006D0 length: 4 + char** field433_0x6d4; // 0x000006D4 length: 4 + char** field434_0x6d8; // 0x000006D8 length: 4 + char** field435_0x6dc; // 0x000006DC length: 4 + char** field436_0x6e0; // 0x000006E0 length: 4 + char** field437_0x6e4; // 0x000006E4 length: 4 + char** field438_0x6e8; // 0x000006E8 length: 4 + char** field439_0x6ec; // 0x000006EC length: 4 + char** field440_0x6f0; // 0x000006F0 length: 4 + char** field441_0x6f4; // 0x000006F4 length: 4 + char** field442_0x6f8; // 0x000006F8 length: 4 + char** field443_0x6fc; // 0x000006FC length: 4 + char** field444_0x700; // 0x00000700 length: 4 + char** field445_0x704; // 0x00000704 length: 4 + char** field446_0x708; // 0x00000708 length: 4 + char** field447_0x70c; // 0x0000070C length: 4 + char** field448_0x710; // 0x00000710 length: 4 + char** field449_0x714; // 0x00000714 length: 4 + char** field450_0x718; // 0x00000718 length: 4 + char** field451_0x71c; // 0x0000071C length: 4 + char** field452_0x720; // 0x00000720 length: 4 + char** field453_0x724; // 0x00000724 length: 4 + char** field454_0x728; // 0x00000728 length: 4 + char** field455_0x72c; // 0x0000072C length: 4 + char** field456_0x730; // 0x00000730 length: 4 + char** field457_0x734; // 0x00000734 length: 4 + char** field458_0x738; // 0x00000738 length: 4 + char** field459_0x73c; // 0x0000073C length: 4 + char** field460_0x740; // 0x00000740 length: 4 + char** field461_0x744; // 0x00000744 length: 4 + char** field462_0x748; // 0x00000748 length: 4 + char** field463_0x74c; // 0x0000074C length: 4 + char** field464_0x750; // 0x00000750 length: 4 + char** field465_0x754; // 0x00000754 length: 4 + char** field466_0x758; // 0x00000758 length: 4 + char** field467_0x75c; // 0x0000075C length: 4 + char** field468_0x760; // 0x00000760 length: 4 + char** field469_0x764; // 0x00000764 length: 4 + char** field470_0x768; // 0x00000768 length: 4 + char** field471_0x76c; // 0x0000076C length: 4 + char** field472_0x770; // 0x00000770 length: 4 + char** field473_0x774; // 0x00000774 length: 4 + char** field474_0x778; // 0x00000778 length: 4 + char** field475_0x77c; // 0x0000077C length: 4 + char** field476_0x780; // 0x00000780 length: 4 + char** field477_0x784; // 0x00000784 length: 4 + char** field478_0x788; // 0x00000788 length: 4 + char** field479_0x78c; // 0x0000078C length: 4 + char** field480_0x790; // 0x00000790 length: 4 + char** field481_0x794; // 0x00000794 length: 4 + char** field482_0x798; // 0x00000798 length: 4 + char** field483_0x79c; // 0x0000079C length: 4 + char** field484_0x7a0; // 0x000007A0 length: 4 + char** field485_0x7a4; // 0x000007A4 length: 4 + char** field486_0x7a8; // 0x000007A8 length: 4 + char** field487_0x7ac; // 0x000007AC length: 4 + char** field488_0x7b0; // 0x000007B0 length: 4 + char** field489_0x7b4; // 0x000007B4 length: 4 + char** field490_0x7b8; // 0x000007B8 length: 4 + char** field491_0x7bc; // 0x000007BC length: 4 + char** field492_0x7c0; // 0x000007C0 length: 4 + char** field493_0x7c4; // 0x000007C4 length: 4 + char** field494_0x7c8; // 0x000007C8 length: 4 + char** field495_0x7cc; // 0x000007CC length: 4 + char** field496_0x7d0; // 0x000007D0 length: 4 + char** field497_0x7d4; // 0x000007D4 length: 4 + char** field498_0x7d8; // 0x000007D8 length: 4 + char** field499_0x7dc; // 0x000007DC length: 4 + char** field500_0x7e0; // 0x000007E0 length: 4 + char** field501_0x7e4; // 0x000007E4 length: 4 + char** field502_0x7e8; // 0x000007E8 length: 4 + char** field503_0x7ec; // 0x000007EC length: 4 + char** field504_0x7f0; // 0x000007F0 length: 4 + char** field505_0x7f4; // 0x000007F4 length: 4 + char** field506_0x7f8; // 0x000007F8 length: 4 + char** field507_0x7fc; // 0x000007FC length: 4 + char** field508_0x800; // 0x00000800 length: 4 + char** field509_0x804; // 0x00000804 length: 4 + char** field510_0x808; // 0x00000808 length: 4 + char** field511_0x80c; // 0x0000080C length: 4 + char** field512_0x810; // 0x00000810 length: 4 + char** field513_0x814; // 0x00000814 length: 4 + char** field514_0x818; // 0x00000818 length: 4 + char** field515_0x81c; // 0x0000081C length: 4 + char** field516_0x820; // 0x00000820 length: 4 + char** field517_0x824; // 0x00000824 length: 4 + char** field518_0x828; // 0x00000828 length: 4 + char** field519_0x82c; // 0x0000082C length: 4 + char** field520_0x830; // 0x00000830 length: 4 + char** field521_0x834; // 0x00000834 length: 4 + char** field522_0x838; // 0x00000838 length: 4 + char** field523_0x83c; // 0x0000083C length: 4 + char** field524_0x840; // 0x00000840 length: 4 + char** field525_0x844; // 0x00000844 length: 4 + char** field526_0x848; // 0x00000848 length: 4 + char** field527_0x84c; // 0x0000084C length: 4 + char** field528_0x850; // 0x00000850 length: 4 + char** field529_0x854; // 0x00000854 length: 4 + char** field530_0x858; // 0x00000858 length: 4 + char** field531_0x85c; // 0x0000085C length: 4 + char** field532_0x860; // 0x00000860 length: 4 + char** field533_0x864; // 0x00000864 length: 4 + char** field534_0x868; // 0x00000868 length: 4 + char** field535_0x86c; // 0x0000086C length: 4 + char** field536_0x870; // 0x00000870 length: 4 + char** field537_0x874; // 0x00000874 length: 4 + char** field538_0x878; // 0x00000878 length: 4 + char** field539_0x87c; // 0x0000087C length: 4 + char** field540_0x880; // 0x00000880 length: 4 + char** field541_0x884; // 0x00000884 length: 4 + char** field542_0x888; // 0x00000888 length: 4 + char** field543_0x88c; // 0x0000088C length: 4 + char** field544_0x890; // 0x00000890 length: 4 + char** field545_0x894; // 0x00000894 length: 4 + char** field546_0x898; // 0x00000898 length: 4 + char** field547_0x89c; // 0x0000089C length: 4 + char** field548_0x8a0; // 0x000008A0 length: 4 + char** field549_0x8a4; // 0x000008A4 length: 4 + char** field550_0x8a8; // 0x000008A8 length: 4 + char** field551_0x8ac; // 0x000008AC length: 4 + char** field552_0x8b0; // 0x000008B0 length: 4 + char** field553_0x8b4; // 0x000008B4 length: 4 + char** field554_0x8b8; // 0x000008B8 length: 4 + char** field555_0x8bc; // 0x000008BC length: 4 + char** field556_0x8c0; // 0x000008C0 length: 4 + char** field557_0x8c4; // 0x000008C4 length: 4 + char** field558_0x8c8; // 0x000008C8 length: 4 + char** field559_0x8cc; // 0x000008CC length: 4 + char** field560_0x8d0; // 0x000008D0 length: 4 + char** field561_0x8d4; // 0x000008D4 length: 4 + char** field562_0x8d8; // 0x000008D8 length: 4 + char** field563_0x8dc; // 0x000008DC length: 4 + char** field564_0x8e0; // 0x000008E0 length: 4 + char** field565_0x8e4; // 0x000008E4 length: 4 + char** field566_0x8e8; // 0x000008E8 length: 4 + char** field567_0x8ec; // 0x000008EC length: 4 + char** field568_0x8f0; // 0x000008F0 length: 4 + char** field569_0x8f4; // 0x000008F4 length: 4 + char** field570_0x8f8; // 0x000008F8 length: 4 + char** field571_0x8fc; // 0x000008FC length: 4 + char** field572_0x900; // 0x00000900 length: 4 + char** field573_0x904; // 0x00000904 length: 4 + char** field574_0x908; // 0x00000908 length: 4 + char** field575_0x90c; // 0x0000090C length: 4 + char** field576_0x910; // 0x00000910 length: 4 + char** field577_0x914; // 0x00000914 length: 4 + char** field578_0x918; // 0x00000918 length: 4 + char** field579_0x91c; // 0x0000091C length: 4 + char** field580_0x920; // 0x00000920 length: 4 + char** field581_0x924; // 0x00000924 length: 4 + char** field582_0x928; // 0x00000928 length: 4 + char** field583_0x92c; // 0x0000092C length: 4 + char** field584_0x930; // 0x00000930 length: 4 + char** field585_0x934; // 0x00000934 length: 4 + char** field586_0x938; // 0x00000938 length: 4 + char** field587_0x93c; // 0x0000093C length: 4 + char** field588_0x940; // 0x00000940 length: 4 + char** field589_0x944; // 0x00000944 length: 4 + char** field590_0x948; // 0x00000948 length: 4 + char** field591_0x94c; // 0x0000094C length: 4 + char** field592_0x950; // 0x00000950 length: 4 + char** field593_0x954; // 0x00000954 length: 4 + char** field594_0x958; // 0x00000958 length: 4 + char** field595_0x95c; // 0x0000095C length: 4 + char** field596_0x960; // 0x00000960 length: 4 + char** field597_0x964; // 0x00000964 length: 4 + char** field598_0x968; // 0x00000968 length: 4 + char** field599_0x96c; // 0x0000096C length: 4 + char** field600_0x970; // 0x00000970 length: 4 + char** field601_0x974; // 0x00000974 length: 4 + char** field602_0x978; // 0x00000978 length: 4 + char** field603_0x97c; // 0x0000097C length: 4 + char** field604_0x980; // 0x00000980 length: 4 + char** field605_0x984; // 0x00000984 length: 4 + char** field606_0x988; // 0x00000988 length: 4 + char** field607_0x98c; // 0x0000098C length: 4 + char** field608_0x990; // 0x00000990 length: 4 + char** field609_0x994; // 0x00000994 length: 4 + char** field610_0x998; // 0x00000998 length: 4 + char** field611_0x99c; // 0x0000099C length: 4 + char** field612_0x9a0; // 0x000009A0 length: 4 + char** field613_0x9a4; // 0x000009A4 length: 4 + char** field614_0x9a8; // 0x000009A8 length: 4 + char** field615_0x9ac; // 0x000009AC length: 4 + char** field616_0x9b0; // 0x000009B0 length: 4 + char** field617_0x9b4; // 0x000009B4 length: 4 + char** field618_0x9b8; // 0x000009B8 length: 4 + char** field619_0x9bc; // 0x000009BC length: 4 + char** field620_0x9c0; // 0x000009C0 length: 4 + char** field621_0x9c4; // 0x000009C4 length: 4 + char** field622_0x9c8; // 0x000009C8 length: 4 + char** field623_0x9cc; // 0x000009CC length: 4 + char** field624_0x9d0; // 0x000009D0 length: 4 + char** field625_0x9d4; // 0x000009D4 length: 4 + char** field626_0x9d8; // 0x000009D8 length: 4 + char** field627_0x9dc; // 0x000009DC length: 4 + char** field628_0x9e0; // 0x000009E0 length: 4 + char** field629_0x9e4; // 0x000009E4 length: 4 + char** field630_0x9e8; // 0x000009E8 length: 4 + char** field631_0x9ec; // 0x000009EC length: 4 + char** field632_0x9f0; // 0x000009F0 length: 4 + char** field633_0x9f4; // 0x000009F4 length: 4 + char** field634_0x9f8; // 0x000009F8 length: 4 + char** field635_0x9fc; // 0x000009FC length: 4 + char** field636_0xa00; // 0x00000A00 length: 4 + char** field637_0xa04; // 0x00000A04 length: 4 + char** field638_0xa08; // 0x00000A08 length: 4 + char** field639_0xa0c; // 0x00000A0C length: 4 + char** field640_0xa10; // 0x00000A10 length: 4 + char** field641_0xa14; // 0x00000A14 length: 4 + char** field642_0xa18; // 0x00000A18 length: 4 + char** field643_0xa1c; // 0x00000A1C length: 4 + char** field644_0xa20; // 0x00000A20 length: 4 + char** field645_0xa24; // 0x00000A24 length: 4 + char** field646_0xa28; // 0x00000A28 length: 4 + char** field647_0xa2c; // 0x00000A2C length: 4 + char** field648_0xa30; // 0x00000A30 length: 4 + char** field649_0xa34; // 0x00000A34 length: 4 + char** field650_0xa38; // 0x00000A38 length: 4 + char** field651_0xa3c; // 0x00000A3C length: 4 + char** field652_0xa40; // 0x00000A40 length: 4 + char** field653_0xa44; // 0x00000A44 length: 4 + int field654_0xa48; // 0x00000A48 length: 4 + int field655_0xa4c; // 0x00000A4C length: 4 + int field656_0xa50; // 0x00000A50 length: 4 + int field657_0xa54; // 0x00000A54 length: 4 + int field658_0xa58; // 0x00000A58 length: 4 + int field659_0xa5c; // 0x00000A5C length: 4 + int field660_0xa60; // 0x00000A60 length: 4 + char** field661_0xa64; // 0x00000A64 length: 4 + char** field662_0xa68; // 0x00000A68 length: 4 + char** field663_0xa6c; // 0x00000A6C length: 4 + char** field664_0xa70; // 0x00000A70 length: 4 + char** field665_0xa74; // 0x00000A74 length: 4 + char** field666_0xa78; // 0x00000A78 length: 4 + char** field667_0xa7c; // 0x00000A7C length: 4 + char** field668_0xa80; // 0x00000A80 length: 4 + char** field669_0xa84; // 0x00000A84 length: 4 + char** field670_0xa88; // 0x00000A88 length: 4 + char** field671_0xa8c; // 0x00000A8C length: 4 + char** field672_0xa90; // 0x00000A90 length: 4 + char** field673_0xa94; // 0x00000A94 length: 4 + char** field674_0xa98; // 0x00000A98 length: 4 + char** field675_0xa9c; // 0x00000A9C length: 4 + char** field676_0xaa0; // 0x00000AA0 length: 4 + char** field677_0xaa4; // 0x00000AA4 length: 4 + char** field678_0xaa8; // 0x00000AA8 length: 4 + char** field679_0xaac; // 0x00000AAC length: 4 + char** field680_0xab0; // 0x00000AB0 length: 4 + char** field681_0xab4; // 0x00000AB4 length: 4 + char** field682_0xab8; // 0x00000AB8 length: 4 + char** field683_0xabc; // 0x00000ABC length: 4 + char** field684_0xac0; // 0x00000AC0 length: 4 + char** field685_0xac4; // 0x00000AC4 length: 4 + char** field686_0xac8; // 0x00000AC8 length: 4 + char** field687_0xacc; // 0x00000ACC length: 4 + char** field688_0xad0; // 0x00000AD0 length: 4 + char** field689_0xad4; // 0x00000AD4 length: 4 + char** field690_0xad8; // 0x00000AD8 length: 4 + char** field691_0xadc; // 0x00000ADC length: 4 + char** field692_0xae0; // 0x00000AE0 length: 4 + char** field693_0xae4; // 0x00000AE4 length: 4 + char** field694_0xae8; // 0x00000AE8 length: 4 + char** field695_0xaec; // 0x00000AEC length: 4 + char** field696_0xaf0; // 0x00000AF0 length: 4 + char** field697_0xaf4; // 0x00000AF4 length: 4 + char** field698_0xaf8; // 0x00000AF8 length: 4 + char** field699_0xafc; // 0x00000AFC length: 4 + char** field700_0xb00; // 0x00000B00 length: 4 + char** field701_0xb04; // 0x00000B04 length: 4 + char** field702_0xb08; // 0x00000B08 length: 4 + char** field703_0xb0c; // 0x00000B0C length: 4 + char** field704_0xb10; // 0x00000B10 length: 4 + char** field705_0xb14; // 0x00000B14 length: 4 + char** field706_0xb18; // 0x00000B18 length: 4 + char** field707_0xb1c; // 0x00000B1C length: 4 + char** field708_0xb20; // 0x00000B20 length: 4 + char** field709_0xb24; // 0x00000B24 length: 4 + char** field710_0xb28; // 0x00000B28 length: 4 + char** field711_0xb2c; // 0x00000B2C length: 4 + char** field712_0xb30; // 0x00000B30 length: 4 + char** field713_0xb34; // 0x00000B34 length: 4 + char** field714_0xb38; // 0x00000B38 length: 4 + char** field715_0xb3c; // 0x00000B3C length: 4 + char** field716_0xb40; // 0x00000B40 length: 4 + char** field717_0xb44; // 0x00000B44 length: 4 + char** field718_0xb48; // 0x00000B48 length: 4 + char** field719_0xb4c; // 0x00000B4C length: 4 + char** field720_0xb50; // 0x00000B50 length: 4 + char** field721_0xb54; // 0x00000B54 length: 4 + char** field722_0xb58; // 0x00000B58 length: 4 + char** field723_0xb5c; // 0x00000B5C length: 4 + char** field724_0xb60; // 0x00000B60 length: 4 + char** field725_0xb64; // 0x00000B64 length: 4 + char** field726_0xb68; // 0x00000B68 length: 4 + char** field727_0xb6c; // 0x00000B6C length: 4 + char** field728_0xb70; // 0x00000B70 length: 4 + char** field729_0xb74; // 0x00000B74 length: 4 + char** field730_0xb78; // 0x00000B78 length: 4 + char** field731_0xb7c; // 0x00000B7C length: 4 + char** field732_0xb80; // 0x00000B80 length: 4 + char** field733_0xb84; // 0x00000B84 length: 4 + char** field734_0xb88; // 0x00000B88 length: 4 + char** field735_0xb8c; // 0x00000B8C length: 4 + char** field736_0xb90; // 0x00000B90 length: 4 + char** field737_0xb94; // 0x00000B94 length: 4 + char** field738_0xb98; // 0x00000B98 length: 4 + char** field739_0xb9c; // 0x00000B9C length: 4 + char** field740_0xba0; // 0x00000BA0 length: 4 + char** field741_0xba4; // 0x00000BA4 length: 4 + char** field742_0xba8; // 0x00000BA8 length: 4 + char** field743_0xbac; // 0x00000BAC length: 4 + char** field744_0xbb0; // 0x00000BB0 length: 4 + char** field745_0xbb4; // 0x00000BB4 length: 4 + char** field746_0xbb8; // 0x00000BB8 length: 4 + char** field747_0xbbc; // 0x00000BBC length: 4 + char** field748_0xbc0; // 0x00000BC0 length: 4 + char** field749_0xbc4; // 0x00000BC4 length: 4 + char** field750_0xbc8; // 0x00000BC8 length: 4 + char** field751_0xbcc; // 0x00000BCC length: 4 + char** field752_0xbd0; // 0x00000BD0 length: 4 + char** field753_0xbd4; // 0x00000BD4 length: 4 + char** field754_0xbd8; // 0x00000BD8 length: 4 + char** field755_0xbdc; // 0x00000BDC length: 4 + char** field756_0xbe0; // 0x00000BE0 length: 4 + char** field757_0xbe4; // 0x00000BE4 length: 4 + char** field758_0xbe8; // 0x00000BE8 length: 4 + char** field759_0xbec; // 0x00000BEC length: 4 + char** field760_0xbf0; // 0x00000BF0 length: 4 + char** field761_0xbf4; // 0x00000BF4 length: 4 + char** field762_0xbf8; // 0x00000BF8 length: 4 + char** field763_0xbfc; // 0x00000BFC length: 4 + char** field764_0xc00; // 0x00000C00 length: 4 + char** field765_0xc04; // 0x00000C04 length: 4 + char** field766_0xc08; // 0x00000C08 length: 4 + char** field767_0xc0c; // 0x00000C0C length: 4 + char** field768_0xc10; // 0x00000C10 length: 4 + char** field769_0xc14; // 0x00000C14 length: 4 + char** field770_0xc18; // 0x00000C18 length: 4 + char** field771_0xc1c; // 0x00000C1C length: 4 + char** field772_0xc20; // 0x00000C20 length: 4 + char** field773_0xc24; // 0x00000C24 length: 4 + char** field774_0xc28; // 0x00000C28 length: 4 + char** field775_0xc2c; // 0x00000C2C length: 4 + char** field776_0xc30; // 0x00000C30 length: 4 + char** field777_0xc34; // 0x00000C34 length: 4 + char** field778_0xc38; // 0x00000C38 length: 4 + char** field779_0xc3c; // 0x00000C3C length: 4 + char** field780_0xc40; // 0x00000C40 length: 4 + char** field781_0xc44; // 0x00000C44 length: 4 + char** field782_0xc48; // 0x00000C48 length: 4 + char** field783_0xc4c; // 0x00000C4C length: 4 + char** field784_0xc50; // 0x00000C50 length: 4 + char** field785_0xc54; // 0x00000C54 length: 4 + char** field786_0xc58; // 0x00000C58 length: 4 + char** field787_0xc5c; // 0x00000C5C length: 4 + char** field788_0xc60; // 0x00000C60 length: 4 + char** field789_0xc64; // 0x00000C64 length: 4 + char** field790_0xc68; // 0x00000C68 length: 4 + char** field791_0xc6c; // 0x00000C6C length: 4 + char** field792_0xc70; // 0x00000C70 length: 4 + char** field793_0xc74; // 0x00000C74 length: 4 + char** field794_0xc78; // 0x00000C78 length: 4 + char** field795_0xc7c; // 0x00000C7C length: 4 + char** field796_0xc80; // 0x00000C80 length: 4 + char** field797_0xc84; // 0x00000C84 length: 4 + char** field798_0xc88; // 0x00000C88 length: 4 + char** field799_0xc8c; // 0x00000C8C length: 4 + char** field800_0xc90; // 0x00000C90 length: 4 + char** field801_0xc94; // 0x00000C94 length: 4 + char** field802_0xc98; // 0x00000C98 length: 4 + char** field803_0xc9c; // 0x00000C9C length: 4 + char** field804_0xca0; // 0x00000CA0 length: 4 + char** field805_0xca4; // 0x00000CA4 length: 4 + char** field806_0xca8; // 0x00000CA8 length: 4 + char** field807_0xcac; // 0x00000CAC length: 4 + char** field808_0xcb0; // 0x00000CB0 length: 4 + char** field809_0xcb4; // 0x00000CB4 length: 4 + char** field810_0xcb8; // 0x00000CB8 length: 4 + char** field811_0xcbc; // 0x00000CBC length: 4 + char** field812_0xcc0; // 0x00000CC0 length: 4 + char** field813_0xcc4; // 0x00000CC4 length: 4 + char** field814_0xcc8; // 0x00000CC8 length: 4 + char** field815_0xccc; // 0x00000CCC length: 4 + char** field816_0xcd0; // 0x00000CD0 length: 4 + char** field817_0xcd4; // 0x00000CD4 length: 4 + char** field818_0xcd8; // 0x00000CD8 length: 4 + char** field819_0xcdc; // 0x00000CDC length: 4 + char** field820_0xce0; // 0x00000CE0 length: 4 + char** field821_0xce4; // 0x00000CE4 length: 4 + char** field822_0xce8; // 0x00000CE8 length: 4 + char** field823_0xcec; // 0x00000CEC length: 4 + char** field824_0xcf0; // 0x00000CF0 length: 4 + char** field825_0xcf4; // 0x00000CF4 length: 4 + char** field826_0xcf8; // 0x00000CF8 length: 4 + char** field827_0xcfc; // 0x00000CFC length: 4 + char** field828_0xd00; // 0x00000D00 length: 4 + char** field829_0xd04; // 0x00000D04 length: 4 + char** field830_0xd08; // 0x00000D08 length: 4 + char** field831_0xd0c; // 0x00000D0C length: 4 + char** field832_0xd10; // 0x00000D10 length: 4 + char** field833_0xd14; // 0x00000D14 length: 4 + char** field834_0xd18; // 0x00000D18 length: 4 + char** field835_0xd1c; // 0x00000D1C length: 4 + char** field836_0xd20; // 0x00000D20 length: 4 + char** field837_0xd24; // 0x00000D24 length: 4 + char** field838_0xd28; // 0x00000D28 length: 4 + char** field839_0xd2c; // 0x00000D2C length: 4 + char** field840_0xd30; // 0x00000D30 length: 4 + char** field841_0xd34; // 0x00000D34 length: 4 + char** field842_0xd38; // 0x00000D38 length: 4 + char** field843_0xd3c; // 0x00000D3C length: 4 + char** field844_0xd40; // 0x00000D40 length: 4 + char** field845_0xd44; // 0x00000D44 length: 4 + char** field846_0xd48; // 0x00000D48 length: 4 + char** field847_0xd4c; // 0x00000D4C length: 4 + char** field848_0xd50; // 0x00000D50 length: 4 + char** field849_0xd54; // 0x00000D54 length: 4 + char** field850_0xd58; // 0x00000D58 length: 4 + char** field851_0xd5c; // 0x00000D5C length: 4 + char** field852_0xd60; // 0x00000D60 length: 4 + char** field853_0xd64; // 0x00000D64 length: 4 + char** field854_0xd68; // 0x00000D68 length: 4 + char** field855_0xd6c; // 0x00000D6C length: 4 + char** field856_0xd70; // 0x00000D70 length: 4 + char** field857_0xd74; // 0x00000D74 length: 4 + char** field858_0xd78; // 0x00000D78 length: 4 + char** field859_0xd7c; // 0x00000D7C length: 4 + char** field860_0xd80; // 0x00000D80 length: 4 + char** field861_0xd84; // 0x00000D84 length: 4 + char** field862_0xd88; // 0x00000D88 length: 4 + char** field863_0xd8c; // 0x00000D8C length: 4 + char** field864_0xd90; // 0x00000D90 length: 4 + char** field865_0xd94; // 0x00000D94 length: 4 + char** field866_0xd98; // 0x00000D98 length: 4 + char** field867_0xd9c; // 0x00000D9C length: 4 + char** field868_0xda0; // 0x00000DA0 length: 4 + char** field869_0xda4; // 0x00000DA4 length: 4 + char** field870_0xda8; // 0x00000DA8 length: 4 + char** field871_0xdac; // 0x00000DAC length: 4 + char** field872_0xdb0; // 0x00000DB0 length: 4 + char** field873_0xdb4; // 0x00000DB4 length: 4 + char** field874_0xdb8; // 0x00000DB8 length: 4 + char** field875_0xdbc; // 0x00000DBC length: 4 + char** field876_0xdc0; // 0x00000DC0 length: 4 + char** field877_0xdc4; // 0x00000DC4 length: 4 + char** field878_0xdc8; // 0x00000DC8 length: 4 + char** field879_0xdcc; // 0x00000DCC length: 4 + char** field880_0xdd0; // 0x00000DD0 length: 4 + char** field881_0xdd4; // 0x00000DD4 length: 4 + char** field882_0xdd8; // 0x00000DD8 length: 4 + char** field883_0xddc; // 0x00000DDC length: 4 + char** field884_0xde0; // 0x00000DE0 length: 4 + char** field885_0xde4; // 0x00000DE4 length: 4 + char** field886_0xde8; // 0x00000DE8 length: 4 + char** field887_0xdec; // 0x00000DEC length: 4 + char** field888_0xdf0; // 0x00000DF0 length: 4 + char** field889_0xdf4; // 0x00000DF4 length: 4 + char** field890_0xdf8; // 0x00000DF8 length: 4 + char** field891_0xdfc; // 0x00000DFC length: 4 + char** field892_0xe00; // 0x00000E00 length: 4 + char** field893_0xe04; // 0x00000E04 length: 4 + char** field894_0xe08; // 0x00000E08 length: 4 + char** field895_0xe0c; // 0x00000E0C length: 4 + char** field896_0xe10; // 0x00000E10 length: 4 + char** field897_0xe14; // 0x00000E14 length: 4 + char** field898_0xe18; // 0x00000E18 length: 4 + char** field899_0xe1c; // 0x00000E1C length: 4 + char** field900_0xe20; // 0x00000E20 length: 4 + char** field901_0xe24; // 0x00000E24 length: 4 + char** field902_0xe28; // 0x00000E28 length: 4 + char** field903_0xe2c; // 0x00000E2C length: 4 + char** field904_0xe30; // 0x00000E30 length: 4 + char** field905_0xe34; // 0x00000E34 length: 4 + char** field906_0xe38; // 0x00000E38 length: 4 + char** field907_0xe3c; // 0x00000E3C length: 4 + char** field908_0xe40; // 0x00000E40 length: 4 + char** field909_0xe44; // 0x00000E44 length: 4 + char** field910_0xe48; // 0x00000E48 length: 4 + char** field911_0xe4c; // 0x00000E4C length: 4 + char** field912_0xe50; // 0x00000E50 length: 4 + char** field913_0xe54; // 0x00000E54 length: 4 + char** field914_0xe58; // 0x00000E58 length: 4 + char** field915_0xe5c; // 0x00000E5C length: 4 + char** field916_0xe60; // 0x00000E60 length: 4 + char** field917_0xe64; // 0x00000E64 length: 4 + char** field918_0xe68; // 0x00000E68 length: 4 + char** field919_0xe6c; // 0x00000E6C length: 4 + char** field920_0xe70; // 0x00000E70 length: 4 + char** field921_0xe74; // 0x00000E74 length: 4 + char** field922_0xe78; // 0x00000E78 length: 4 + char** field923_0xe7c; // 0x00000E7C length: 4 + char** field924_0xe80; // 0x00000E80 length: 4 + char** field925_0xe84; // 0x00000E84 length: 4 + char** field926_0xe88; // 0x00000E88 length: 4 + char** field927_0xe8c; // 0x00000E8C length: 4 + char** field928_0xe90; // 0x00000E90 length: 4 + char** field929_0xe94; // 0x00000E94 length: 4 + char** field930_0xe98; // 0x00000E98 length: 4 + char** field931_0xe9c; // 0x00000E9C length: 4 + char** field932_0xea0; // 0x00000EA0 length: 4 + char** field933_0xea4; // 0x00000EA4 length: 4 + char** field934_0xea8; // 0x00000EA8 length: 4 + char** field935_0xeac; // 0x00000EAC length: 4 + char** field936_0xeb0; // 0x00000EB0 length: 4 + char** field937_0xeb4; // 0x00000EB4 length: 4 + char** field938_0xeb8; // 0x00000EB8 length: 4 + char** field939_0xebc; // 0x00000EBC length: 4 + char** field940_0xec0; // 0x00000EC0 length: 4 + char** field941_0xec4; // 0x00000EC4 length: 4 + char** field942_0xec8; // 0x00000EC8 length: 4 + char** field943_0xecc; // 0x00000ECC length: 4 + char** field944_0xed0; // 0x00000ED0 length: 4 + char** field945_0xed4; // 0x00000ED4 length: 4 + char** field946_0xed8; // 0x00000ED8 length: 4 + char** field947_0xedc; // 0x00000EDC length: 4 + char** field948_0xee0; // 0x00000EE0 length: 4 + char** field949_0xee4; // 0x00000EE4 length: 4 + char** field950_0xee8; // 0x00000EE8 length: 4 + char** field951_0xeec; // 0x00000EEC length: 4 + char** field952_0xef0; // 0x00000EF0 length: 4 + char** field953_0xef4; // 0x00000EF4 length: 4 + char** field954_0xef8; // 0x00000EF8 length: 4 + char** field955_0xefc; // 0x00000EFC length: 4 + char** field956_0xf00; // 0x00000F00 length: 4 + char** field957_0xf04; // 0x00000F04 length: 4 + char** field958_0xf08; // 0x00000F08 length: 4 + char** field959_0xf0c; // 0x00000F0C length: 4 + char** field960_0xf10; // 0x00000F10 length: 4 + char** field961_0xf14; // 0x00000F14 length: 4 + char** field962_0xf18; // 0x00000F18 length: 4 + char** field963_0xf1c; // 0x00000F1C length: 4 + char** field964_0xf20; // 0x00000F20 length: 4 + char** field965_0xf24; // 0x00000F24 length: 4 + char** field966_0xf28; // 0x00000F28 length: 4 + char** field967_0xf2c; // 0x00000F2C length: 4 + char** field968_0xf30; // 0x00000F30 length: 4 + char** field969_0xf34; // 0x00000F34 length: 4 + char** field970_0xf38; // 0x00000F38 length: 4 + char** field971_0xf3c; // 0x00000F3C length: 4 + char** field972_0xf40; // 0x00000F40 length: 4 + char** field973_0xf44; // 0x00000F44 length: 4 + char** field974_0xf48; // 0x00000F48 length: 4 + char** field975_0xf4c; // 0x00000F4C length: 4 + char** field976_0xf50; // 0x00000F50 length: 4 + char** field977_0xf54; // 0x00000F54 length: 4 + char** field978_0xf58; // 0x00000F58 length: 4 + char** field979_0xf5c; // 0x00000F5C length: 4 + char** field980_0xf60; // 0x00000F60 length: 4 + char** field981_0xf64; // 0x00000F64 length: 4 + char** field982_0xf68; // 0x00000F68 length: 4 + char** field983_0xf6c; // 0x00000F6C length: 4 + char** field984_0xf70; // 0x00000F70 length: 4 + char** field985_0xf74; // 0x00000F74 length: 4 + char** field986_0xf78; // 0x00000F78 length: 4 + char** field987_0xf7c; // 0x00000F7C length: 4 + char** field988_0xf80; // 0x00000F80 length: 4 + char** field989_0xf84; // 0x00000F84 length: 4 + char** field990_0xf88; // 0x00000F88 length: 4 + char** field991_0xf8c; // 0x00000F8C length: 4 + char** field992_0xf90; // 0x00000F90 length: 4 + char** field993_0xf94; // 0x00000F94 length: 4 + char** field994_0xf98; // 0x00000F98 length: 4 + char** field995_0xf9c; // 0x00000F9C length: 4 + char** field996_0xfa0; // 0x00000FA0 length: 4 + char** field997_0xfa4; // 0x00000FA4 length: 4 + char** field998_0xfa8; // 0x00000FA8 length: 4 + char** field999_0xfac; // 0x00000FAC length: 4 + char** field1000_0xfb0; // 0x00000FB0 length: 4 + char** field1001_0xfb4; // 0x00000FB4 length: 4 + char** field1002_0xfb8; // 0x00000FB8 length: 4 + char** field1003_0xfbc; // 0x00000FBC length: 4 + char** field1004_0xfc0; // 0x00000FC0 length: 4 + char** field1005_0xfc4; // 0x00000FC4 length: 4 + char** field1006_0xfc8; // 0x00000FC8 length: 4 + char** field1007_0xfcc; // 0x00000FCC length: 4 + char** field1008_0xfd0; // 0x00000FD0 length: 4 + char** field1009_0xfd4; // 0x00000FD4 length: 4 + char** field1010_0xfd8; // 0x00000FD8 length: 4 + char** field1011_0xfdc; // 0x00000FDC length: 4 + char** field1012_0xfe0; // 0x00000FE0 length: 4 + char** field1013_0xfe4; // 0x00000FE4 length: 4 + char** field1014_0xfe8; // 0x00000FE8 length: 4 + char** field1015_0xfec; // 0x00000FEC length: 4 + char** field1016_0xff0; // 0x00000FF0 length: 4 + char** field1017_0xff4; // 0x00000FF4 length: 4 + char** field1018_0xff8; // 0x00000FF8 length: 4 + char** field1019_0xffc; // 0x00000FFC length: 4 + char** field1020_0x1000; // 0x00001000 length: 4 + char** field1021_0x1004; // 0x00001004 length: 4 + char** field1022_0x1008; // 0x00001008 length: 4 + char** field1023_0x100c; // 0x0000100C length: 4 + char** field1024_0x1010; // 0x00001010 length: 4 + char** field1025_0x1014; // 0x00001014 length: 4 + char** field1026_0x1018; // 0x00001018 length: 4 + char** field1027_0x101c; // 0x0000101C length: 4 + char** field1028_0x1020; // 0x00001020 length: 4 + char** field1029_0x1024; // 0x00001024 length: 4 + char** field1030_0x1028; // 0x00001028 length: 4 + char** field1031_0x102c; // 0x0000102C length: 4 + char** field1032_0x1030; // 0x00001030 length: 4 + char** field1033_0x1034; // 0x00001034 length: 4 + char** field1034_0x1038; // 0x00001038 length: 4 + char** field1035_0x103c; // 0x0000103C length: 4 + char** field1036_0x1040; // 0x00001040 length: 4 + char** field1037_0x1044; // 0x00001044 length: 4 + char** field1038_0x1048; // 0x00001048 length: 4 + char** field1039_0x104c; // 0x0000104C length: 4 + char** field1040_0x1050; // 0x00001050 length: 4 + char** field1041_0x1054; // 0x00001054 length: 4 + char** field1042_0x1058; // 0x00001058 length: 4 + char** field1043_0x105c; // 0x0000105C length: 4 + char** field1044_0x1060; // 0x00001060 length: 4 + char** field1045_0x1064; // 0x00001064 length: 4 + char** field1046_0x1068; // 0x00001068 length: 4 + char** field1047_0x106c; // 0x0000106C length: 4 + char** field1048_0x1070; // 0x00001070 length: 4 + char** field1049_0x1074; // 0x00001074 length: 4 + char** field1050_0x1078; // 0x00001078 length: 4 + char** field1051_0x107c; // 0x0000107C length: 4 + char** field1052_0x1080; // 0x00001080 length: 4 + char** field1053_0x1084; // 0x00001084 length: 4 + char** field1054_0x1088; // 0x00001088 length: 4 + char** field1055_0x108c; // 0x0000108C length: 4 + char** field1056_0x1090; // 0x00001090 length: 4 + char** field1057_0x1094; // 0x00001094 length: 4 + char** field1058_0x1098; // 0x00001098 length: 4 + char** field1059_0x109c; // 0x0000109C length: 4 + char** field1060_0x10a0; // 0x000010A0 length: 4 + char** field1061_0x10a4; // 0x000010A4 length: 4 + char** field1062_0x10a8; // 0x000010A8 length: 4 + char** field1063_0x10ac; // 0x000010AC length: 4 + char** field1064_0x10b0; // 0x000010B0 length: 4 + char** field1065_0x10b4; // 0x000010B4 length: 4 + char** field1066_0x10b8; // 0x000010B8 length: 4 + char** field1067_0x10bc; // 0x000010BC length: 4 + char** field1068_0x10c0; // 0x000010C0 length: 4 + char** field1069_0x10c4; // 0x000010C4 length: 4 + char** field1070_0x10c8; // 0x000010C8 length: 4 + char** field1071_0x10cc; // 0x000010CC length: 4 + char** field1072_0x10d0; // 0x000010D0 length: 4 + char** field1073_0x10d4; // 0x000010D4 length: 4 + char** field1074_0x10d8; // 0x000010D8 length: 4 + char** field1075_0x10dc; // 0x000010DC length: 4 + char** field1076_0x10e0; // 0x000010E0 length: 4 + char** field1077_0x10e4; // 0x000010E4 length: 4 + char** field1078_0x10e8; // 0x000010E8 length: 4 + char** field1079_0x10ec; // 0x000010EC length: 4 + char** field1080_0x10f0; // 0x000010F0 length: 4 + char** field1081_0x10f4; // 0x000010F4 length: 4 + char** field1082_0x10f8; // 0x000010F8 length: 4 + char** field1083_0x10fc; // 0x000010FC length: 4 + char** field1084_0x1100; // 0x00001100 length: 4 + char** field1085_0x1104; // 0x00001104 length: 4 + char** field1086_0x1108; // 0x00001108 length: 4 + char** field1087_0x110c; // 0x0000110C length: 4 + char** field1088_0x1110; // 0x00001110 length: 4 + char** field1089_0x1114; // 0x00001114 length: 4 + char** field1090_0x1118; // 0x00001118 length: 4 + char** field1091_0x111c; // 0x0000111C length: 4 + char** field1092_0x1120; // 0x00001120 length: 4 + char** field1093_0x1124; // 0x00001124 length: 4 + char** field1094_0x1128; // 0x00001128 length: 4 + char** field1095_0x112c; // 0x0000112C length: 4 + char** field1096_0x1130; // 0x00001130 length: 4 + char** field1097_0x1134; // 0x00001134 length: 4 + char** field1098_0x1138; // 0x00001138 length: 4 + char** field1099_0x113c; // 0x0000113C length: 4 + char** field1100_0x1140; // 0x00001140 length: 4 + char** field1101_0x1144; // 0x00001144 length: 4 + char** field1102_0x1148; // 0x00001148 length: 4 + char** field1103_0x114c; // 0x0000114C length: 4 + char** field1104_0x1150; // 0x00001150 length: 4 + char** field1105_0x1154; // 0x00001154 length: 4 + char** field1106_0x1158; // 0x00001158 length: 4 + char** field1107_0x115c; // 0x0000115C length: 4 + char** field1108_0x1160; // 0x00001160 length: 4 + char** field1109_0x1164; // 0x00001164 length: 4 + char** field1110_0x1168; // 0x00001168 length: 4 + char** field1111_0x116c; // 0x0000116C length: 4 + char** field1112_0x1170; // 0x00001170 length: 4 + char** field1113_0x1174; // 0x00001174 length: 4 + char** field1114_0x1178; // 0x00001178 length: 4 + char** field1115_0x117c; // 0x0000117C length: 4 + char** field1116_0x1180; // 0x00001180 length: 4 + char** field1117_0x1184; // 0x00001184 length: 4 + char** field1118_0x1188; // 0x00001188 length: 4 + char** field1119_0x118c; // 0x0000118C length: 4 + char** field1120_0x1190; // 0x00001190 length: 4 + char** field1121_0x1194; // 0x00001194 length: 4 + char** field1122_0x1198; // 0x00001198 length: 4 + char** field1123_0x119c; // 0x0000119C length: 4 + char** field1124_0x11a0; // 0x000011A0 length: 4 + char** field1125_0x11a4; // 0x000011A4 length: 4 + char** field1126_0x11a8; // 0x000011A8 length: 4 + char** field1127_0x11ac; // 0x000011AC length: 4 + char** field1128_0x11b0; // 0x000011B0 length: 4 + char** field1129_0x11b4; // 0x000011B4 length: 4 + char** field1130_0x11b8; // 0x000011B8 length: 4 + char** field1131_0x11bc; // 0x000011BC length: 4 + char** field1132_0x11c0; // 0x000011C0 length: 4 + char** field1133_0x11c4; // 0x000011C4 length: 4 + char** field1134_0x11c8; // 0x000011C8 length: 4 + char** field1135_0x11cc; // 0x000011CC length: 4 + char** field1136_0x11d0; // 0x000011D0 length: 4 + char** field1137_0x11d4; // 0x000011D4 length: 4 + char** field1138_0x11d8; // 0x000011D8 length: 4 + char** field1139_0x11dc; // 0x000011DC length: 4 + char** field1140_0x11e0; // 0x000011E0 length: 4 + char** field1141_0x11e4; // 0x000011E4 length: 4 + char** field1142_0x11e8; // 0x000011E8 length: 4 + char** field1143_0x11ec; // 0x000011EC length: 4 + char** field1144_0x11f0; // 0x000011F0 length: 4 + char** field1145_0x11f4; // 0x000011F4 length: 4 + char** field1146_0x11f8; // 0x000011F8 length: 4 + char** field1147_0x11fc; // 0x000011FC length: 4 + char** field1148_0x1200; // 0x00001200 length: 4 + char** field1149_0x1204; // 0x00001204 length: 4 + char** field1150_0x1208; // 0x00001208 length: 4 + char** field1151_0x120c; // 0x0000120C length: 4 + char** field1152_0x1210; // 0x00001210 length: 4 + char** field1153_0x1214; // 0x00001214 length: 4 + char** field1154_0x1218; // 0x00001218 length: 4 + char** field1155_0x121c; // 0x0000121C length: 4 + char** field1156_0x1220; // 0x00001220 length: 4 + char** field1157_0x1224; // 0x00001224 length: 4 + char** field1158_0x1228; // 0x00001228 length: 4 + char** field1159_0x122c; // 0x0000122C length: 4 + char** field1160_0x1230; // 0x00001230 length: 4 + char** field1161_0x1234; // 0x00001234 length: 4 + char** field1162_0x1238; // 0x00001238 length: 4 + char** field1163_0x123c; // 0x0000123C length: 4 + char** field1164_0x1240; // 0x00001240 length: 4 + char** field1165_0x1244; // 0x00001244 length: 4 + char** field1166_0x1248; // 0x00001248 length: 4 + char** field1167_0x124c; // 0x0000124C length: 4 + char** field1168_0x1250; // 0x00001250 length: 4 + char** field1169_0x1254; // 0x00001254 length: 4 + char** field1170_0x1258; // 0x00001258 length: 4 + char** field1171_0x125c; // 0x0000125C length: 4 + char** field1172_0x1260; // 0x00001260 length: 4 + char** field1173_0x1264; // 0x00001264 length: 4 + char** field1174_0x1268; // 0x00001268 length: 4 + char** field1175_0x126c; // 0x0000126C length: 4 + char** field1176_0x1270; // 0x00001270 length: 4 + char** field1177_0x1274; // 0x00001274 length: 4 + char** field1178_0x1278; // 0x00001278 length: 4 + char** field1179_0x127c; // 0x0000127C length: 4 + char** field1180_0x1280; // 0x00001280 length: 4 + char** field1181_0x1284; // 0x00001284 length: 4 + char** field1182_0x1288; // 0x00001288 length: 4 + char** field1183_0x128c; // 0x0000128C length: 4 + char** field1184_0x1290; // 0x00001290 length: 4 + char** field1185_0x1294; // 0x00001294 length: 4 + char** field1186_0x1298; // 0x00001298 length: 4 + char** field1187_0x129c; // 0x0000129C length: 4 + char** field1188_0x12a0; // 0x000012A0 length: 4 + char** field1189_0x12a4; // 0x000012A4 length: 4 + char** field1190_0x12a8; // 0x000012A8 length: 4 + char** field1191_0x12ac; // 0x000012AC length: 4 + char** field1192_0x12b0; // 0x000012B0 length: 4 + char** field1193_0x12b4; // 0x000012B4 length: 4 + char** field1194_0x12b8; // 0x000012B8 length: 4 + char** field1195_0x12bc; // 0x000012BC length: 4 + char** field1196_0x12c0; // 0x000012C0 length: 4 + char** field1197_0x12c4; // 0x000012C4 length: 4 + char** field1198_0x12c8; // 0x000012C8 length: 4 + char** field1199_0x12cc; // 0x000012CC length: 4 + char** field1200_0x12d0; // 0x000012D0 length: 4 + char** field1201_0x12d4; // 0x000012D4 length: 4 + char** field1202_0x12d8; // 0x000012D8 length: 4 + char** field1203_0x12dc; // 0x000012DC length: 4 + char** field1204_0x12e0; // 0x000012E0 length: 4 + char** field1205_0x12e4; // 0x000012E4 length: 4 + char** field1206_0x12e8; // 0x000012E8 length: 4 + char** field1207_0x12ec; // 0x000012EC length: 4 + char** field1208_0x12f0; // 0x000012F0 length: 4 + char** field1209_0x12f4; // 0x000012F4 length: 4 + char** field1210_0x12f8; // 0x000012F8 length: 4 + char** field1211_0x12fc; // 0x000012FC length: 4 + char** field1212_0x1300; // 0x00001300 length: 4 + char** field1213_0x1304; // 0x00001304 length: 4 + char** field1214_0x1308; // 0x00001308 length: 4 + char** field1215_0x130c; // 0x0000130C length: 4 + char** field1216_0x1310; // 0x00001310 length: 4 + char** field1217_0x1314; // 0x00001314 length: 4 + char** field1218_0x1318; // 0x00001318 length: 4 + char** field1219_0x131c; // 0x0000131C length: 4 + char** field1220_0x1320; // 0x00001320 length: 4 + char** field1221_0x1324; // 0x00001324 length: 4 + int field1222_0x1328[7]; // 0x00001328 length: 28 + int unknown3[914]; // 0x00001344 length: 3656 + int field1224_0x218c[6]; // 0x0000218C length: 24 + int field1225_0x21a4[4]; // 0x000021A4 length: 16 + int DAT_DifficultyEventMultipliers[4]; // 0x000021B4 length: 16 + int field1227_0x21c4[40]; // 0x000021C4 length: 160 + int field1228_0x2264[40]; // 0x00002264 length: 160 + int field1229_0x2304[40]; // 0x00002304 length: 160 + int field1230_0x23a4[40]; // 0x000023A4 length: 160 + byte field1231_0x2444[32][100]; // 0x00002444 length: 3200 + int field1232_0x30c4[25]; // 0x000030C4 length: 100 + int field1233_0x3128; // 0x00003128 length: 4 + int field1234_0x312c[174]; // 0x0000312C length: 696 + int field1235_0x33e4[25]; // 0x000033E4 length: 100 + int field1236_0x3448[5]; // 0x00003448 length: 20 + int field1237_0x345c[22]; // 0x0000345C length: 88 + int field1238_0x34b4[40]; // 0x000034B4 length: 160 + int field1239_0x3554[30]; // 0x00003554 length: 120 + int DAT_InvasionUnitLimits[24]; // 0x000035CC length: 96 + int field1241_0x362c[10]; // 0x0000362C length: 40 + BuildingNameRelatedStruct DAT_BuildingNameRelatedStructArray[67]; // 0x00003654 length: 2680 + int ARRAY_BuildingAvailabilityStructIndexForName[69]; // 0x000040CC length: 276 + undefined1 padding_0x41e0[4]; // 0x000041E0 length: 4 + char field1248_0x41e4[46][3][32]; // 0x000041E4 length: 4416 + int field1249_0x5324[40]; // 0x00005324 length: 160 + int field1250_0x53c4[40]; // 0x000053C4 length: 160 + int field1251_0x5464[40]; // 0x00005464 length: 160 + + } MissionAestheticsDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MissionAestheticsDefinedData) == 21764, MissionAestheticsDefinedData); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/MissionDefinedData.hpp b/src/OpenSHC/Game/MissionDefinedData.hpp new file mode 100644 index 0000000..106ed36 --- /dev/null +++ b/src/OpenSHC/Game/MissionDefinedData.hpp @@ -0,0 +1,63 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/MissionDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/CampaignInfoStruct1.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::Game::CampaignInfoStruct1; + +#pragma pack(push, 1) + // SIZE: 0x000016C4 + typedef struct MissionDefinedData { + + char** field0_0x0; // 0x00000000 length: 4 + char** field1_0x4; // 0x00000004 length: 4 + char** field2_0x8; // 0x00000008 length: 4 + char** field3_0xc; // 0x0000000C length: 4 + char** field4_0x10; // 0x00000010 length: 4 + char** field5_0x14; // 0x00000014 length: 4 + char** field6_0x18; // 0x00000018 length: 4 + char** field7_0x1c; // 0x0000001C length: 4 + char** field8_0x20; // 0x00000020 length: 4 + undefined1 padding_0x24[4]; // 0x00000024 length: 4 + CampaignInfoStruct1 field13_0x28; // 0x00000028 length: 88 + int field14_0x80[461]; // 0x00000080 length: 1844 + char** field15_0x7b4; // 0x000007B4 length: 4 + char** field16_0x7b8; // 0x000007B8 length: 4 + char** field17_0x7bc; // 0x000007BC length: 4 + char** field18_0x7c0; // 0x000007C0 length: 4 + char** field19_0x7c4; // 0x000007C4 length: 4 + char** field20_0x7c8; // 0x000007C8 length: 4 + char** field21_0x7cc; // 0x000007CC length: 4 + char** field22_0x7d0; // 0x000007D0 length: 4 + int field23_0x7d4[18][2]; // 0x000007D4 length: 144 + char field24_0x864[20][32]; // 0x00000864 length: 640 + int field25_0xae4[5]; // 0x00000AE4 length: 20 + int field26_0xaf8[2]; // 0x00000AF8 length: 8 + int field27_0xb00[20]; // 0x00000B00 length: 80 + int sortColumn; // 0x00000B50 length: 4 + int field29_0xb54[26]; // 0x00000B54 length: 104 + int field30_0xbbc[50][2]; // 0x00000BBC length: 400 + int field31_0xd4c[30][2]; // 0x00000D4C length: 240 + int field32_0xe3c[30][2]; // 0x00000E3C length: 240 + int field33_0xf2c[50]; // 0x00000F2C length: 200 + int field34_0xff4[50][4]; // 0x00000FF4 length: 800 + int field35_0x1314[22]; // 0x00001314 length: 88 + undefined4 descending; // 0x0000136C length: 4 + int field37_0x1370; // 0x00001370 length: 4 + undefined1 padding_0x1374[8]; // 0x00001374 length: 8 + int field46_0x137c[50]; // 0x0000137C length: 200 + char field47_0x1444[20][32]; // 0x00001444 length: 640 + + } MissionDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MissionDefinedData) == 5828, MissionDefinedData); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Player/PlayerData.hpp b/src/OpenSHC/Game/Player/PlayerData.hpp new file mode 100644 index 0000000..add0aa0 --- /dev/null +++ b/src/OpenSHC/Game/Player/PlayerData.hpp @@ -0,0 +1,518 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Player/PlayerData.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIRecruitUnitChoiceInt.hpp" +#include "OpenSHC/AI/AISiegeUnitCreation.hpp" +#include "OpenSHC/AI/AIStrengthTypeInt.hpp" +#include "OpenSHC/Coordinates/XYPairShort.hpp" +#include "OpenSHC/Game/Player/UnknownPlayerDataStructure.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Game { + namespace Player { + + using OpenSHC::AI::AIRecruitUnitChoiceInt; + using OpenSHC::AI::AISiegeUnitCreation; + using OpenSHC::AI::AIStrengthTypeInt; + using OpenSHC::Coordinates::XYPairShort; + using OpenSHC::Game::Player::UnknownPlayerDataStructure; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x000039F4 + typedef struct PlayerData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + int openOrCloseGateClick; // 0x00000004 length: 4 + undefined1 padding_0x8[8]; // 0x00000008 length: 8 + ResourceTypeInt weaponRelated; // 0x00000010 length: 4 + int taxesSliderUI; // 0x00000014 length: 4 + int rationsSetting3; // 0x00000018 length: 4 + int gateOpenOrCloseClick; // 0x0000001C length: 4 + int taxesSetting2; // 0x00000020 length: 4 + int rationsSetting2; // 0x00000024 length: 4 + ResourceTypeInt marketSelectedResourceType; // 0x00000028 length: 4 + int storageAlmostFullOrEmptyUnk; // 0x0000002C length: 4 + int field21_0x30; // 0x00000030 length: 4 + int someCount47; // 0x00000034 length: 4 + int someCount45; // 0x00000038 length: 4 + int textYOffset; // 0x0000003C length: 4 + short field25_0x40; // 0x00000040 length: 2 + short field26_0x42; // 0x00000042 length: 2 + int field27_0x44; // 0x00000044 length: 4 + short field28_0x48; // 0x00000048 length: 2 + undefined2 someCount32; // 0x0000004A length: 2 + undefined2 someCount33; // 0x0000004C length: 2 + undefined1 padding_0x4e[2]; // 0x0000004E length: 2 + dword lastTimeSFXNoPlaceInStockpile; // 0x00000050 length: 4 + int marketGold; // 0x00000054 length: 4 + undefined1 padding_0x58[8]; // 0x00000058 length: 8 + int popularity; // 0x00000060 length: 4 + undefined1 padding_0x64[4]; // 0x00000064 length: 4 + int countEconomyBuilding_fixme; // 0x00000068 length: 4 + int vclock; // 0x0000006C length: 4 + int vclockIncrement; // 0x00000070 length: 4 + int populationCap; // 0x00000074 length: 4 + int currentPopulation_2; // 0x00000078 length: 4 + undefined1 padding_0x7c[4]; // 0x0000007C length: 4 + int crowding; // 0x00000080 length: 4 + int countEntities; // 0x00000084 length: 4 + int availablePeasantsAtFire; // 0x00000088 length: 4 + int availablePeasantsOrHousedPeasants; // 0x0000008C length: 4 + int count; // 0x00000090 length: 4 + uint keepBuildingID; // 0x00000094 length: 4 + int someKeepRelatedX; // 0x00000098 length: 4 + int someKeepRelatedY; // 0x0000009C length: 4 + int field65_0xa0; // 0x000000A0 length: 4 + int field66_0xa4; // 0x000000A4 length: 4 + undefined1 padding_0xa8[20]; // 0x000000A8 length: 20 + int firstStockpileRef; // 0x000000BC length: 4 + int field88_0xc0; // 0x000000C0 length: 4 + int field89_0xc4; // 0x000000C4 length: 4 + int field90_0xc8; // 0x000000C8 length: 4 + int field91_0xcc; // 0x000000CC length: 4 + undefined1 padding_0xd0[20]; // 0x000000D0 length: 20 + int firstGranaryRef; // 0x000000E4 length: 4 + int field113_0xe8; // 0x000000E8 length: 4 + int field114_0xec; // 0x000000EC length: 4 + int field115_0xf0; // 0x000000F0 length: 4 + int field116_0xf4; // 0x000000F4 length: 4 + undefined1 padding_0xf8[20]; // 0x000000F8 length: 20 + int firstArmoryRef; // 0x0000010C length: 4 + int field138_0x110; // 0x00000110 length: 4 + int field139_0x114; // 0x00000114 length: 4 + int field140_0x118; // 0x00000118 length: 4 + int field141_0x11c; // 0x0000011C length: 4 + undefined1 padding_0x120[60]; // 0x00000120 length: 60 + int barracksID; // 0x0000015C length: 4 + int field203_0x160; // 0x00000160 length: 4 + int field204_0x164; // 0x00000164 length: 4 + int field205_0x168; // 0x00000168 length: 4 + int field206_0x16c; // 0x0000016C length: 4 + undefined1 padding_0x170[20]; // 0x00000170 length: 20 + int field227_0x184; // 0x00000184 length: 4 + int field228_0x188; // 0x00000188 length: 4 + int field229_0x18c; // 0x0000018C length: 4 + int field230_0x190; // 0x00000190 length: 4 + int field231_0x194; // 0x00000194 length: 4 + undefined1 padding_0x198[20]; // 0x00000198 length: 20 + int marketplaceRef; // 0x000001AC length: 4 + int field253_0x1b0; // 0x000001B0 length: 4 + int field254_0x1b4; // 0x000001B4 length: 4 + int field255_0x1b8; // 0x000001B8 length: 4 + int field256_0x1bc; // 0x000001BC length: 4 + undefined1 padding_0x1c0[20]; // 0x000001C0 length: 20 + int campgroundBuildingID; // 0x000001D4 length: 4 + int someX_keepCampfire; // 0x000001D8 length: 4 + int someY_keepCampfire; // 0x000001DC length: 4 + int keepBuildingTile; // 0x000001E0 length: 4 + int field281_0x1e4; // 0x000001E4 length: 4 + undefined1 padding_0x1e8[20]; // 0x000001E8 length: 20 + int engineersGuildID; // 0x000001FC length: 4 + int field303_0x200; // 0x00000200 length: 4 + int field304_0x204; // 0x00000204 length: 4 + int field305_0x208; // 0x00000208 length: 4 + int field306_0x20c; // 0x0000020C length: 4 + undefined1 padding_0x210[20]; // 0x00000210 length: 20 + int tunnelersGuildID; // 0x00000224 length: 4 + int field328_0x228; // 0x00000228 length: 4 + int field329_0x22c; // 0x0000022C length: 4 + int field330_0x230; // 0x00000230 length: 4 + int field331_0x234; // 0x00000234 length: 4 + undefined1 padding_0x238[20]; // 0x00000238 length: 20 + int mercenaryPostID; // 0x0000024C length: 4 + int field353_0x250; // 0x00000250 length: 4 + int field354_0x254; // 0x00000254 length: 4 + int field355_0x258; // 0x00000258 length: 4 + int field356_0x25c; // 0x0000025C length: 4 + undefined1 padding_0x260[20]; // 0x00000260 length: 20 + int armyBuildingID_oilsmelterUnk; // 0x00000274 length: 4 + int field378_0x278; // 0x00000278 length: 4 + int field379_0x27c; // 0x0000027C length: 4 + int field380_0x280; // 0x00000280 length: 4 + int field381_0x284; // 0x00000284 length: 4 + undefined1 padding_0x288[300]; // 0x00000288 length: 300 + int storedPopularityPercent; // 0x000003B4 length: 4 + int previousArmySize; // 0x000003B8 length: 4 + int currentSiegeWeaponCount; // 0x000003BC length: 4 + int previousSiegeWeaponsCount; // 0x000003C0 length: 4 + undefined1 padding_0x3c4[128]; // 0x000003C4 length: 128 + int popularityAtWeekTick100; // 0x00000444 length: 4 + int currentGoldDelayed; // 0x00000448 length: 4 + int counterTrackingPopGoldPopup; // 0x0000044C length: 4 + int field817_0x450; // 0x00000450 length: 4 + int hasInitialResourceRecievingStarted; // 0x00000454 length: 4 + undefined1 padding_0x458[4]; // 0x00000458 length: 4 + int unkWheatFarmOrientation; // 0x0000045C length: 4 + undefined1 unkHopFarmVariation; // 0x00000460 length: 1 + undefined1 padding_0x461[7]; // 0x00000461 length: 7 + int dairyFarmVariationMod4; // 0x00000468 length: 4 + int startResources[25]; // 0x0000046C length: 100 + int currentResources[25]; // 0x000004D0 length: 100 + undefined1 padding_0x534[4]; // 0x00000534 length: 4 + int someCount04; // 0x00000538 length: 4 + int armySize; // 0x0000053C length: 4 + undefined1 padding_0x540[24]; // 0x00000540 length: 24 + XYPairShort campgroundLocationsUnk[6][72]; // 0x00000558 length: 1728 + int field866_0xc18; // 0x00000C18 length: 4 + undefined1 padding_0xc1c[4]; // 0x00000C1C length: 4 + XYPairShort engineersCampgroundArray[25]; // 0x00000C20 length: 100 + int field872_0xc84; // 0x00000C84 length: 4 + undefined1 padding_0xc88[4]; // 0x00000C88 length: 4 + undefined4 someCount27; // 0x00000C8C length: 4 + XYPairShort buildingRelatedXYArray_1[25]; // 0x00000C90 length: 100 + int buildingRelatedXYArray_1_countUnk; // 0x00000CF4 length: 4 + undefined1 padding_0xcf8[4]; // 0x00000CF8 length: 4 + undefined4 someCount29; // 0x00000CFC length: 4 + short enemyIDArray[2500]; // 0x00000D00 length: 5000 + int enemies; // 0x00002088 length: 4 + int breadCount; // 0x0000208C length: 4 + int cheeseCount; // 0x00002090 length: 4 + int meatCount; // 0x00002094 length: 4 + int appleCount; // 0x00002098 length: 4 + int totalFood; // 0x0000209C length: 4 + int foodTypesInStock; // 0x000020A0 length: 4 + int weeksWithoutFood; // 0x000020A4 length: 4 + int foodTypesCurrentlyEaten; // 0x000020A8 length: 4 + int foodTypeToBeEatenNext; // 0x000020AC length: 4 + int foodClockSpeed; // 0x000020B0 length: 4 + int foodClock; // 0x000020B4 length: 4 + int currentArchers; // 0x000020B8 length: 4 + int currentCrossbowmen; // 0x000020BC length: 4 + int currentSpearmen; // 0x000020C0 length: 4 + int currentPikemen; // 0x000020C4 length: 4 + int currentMacemen; // 0x000020C8 length: 4 + int currentSwordsmen; // 0x000020CC length: 4 + int currentKnights; // 0x000020D0 length: 4 + int currentLaddermen; // 0x000020D4 length: 4 + int currentEngineers; // 0x000020D8 length: 4 + int currentTunnelers; // 0x000020DC length: 4 + int countArabianArcher; // 0x000020E0 length: 4 + int countSlaves2; // 0x000020E4 length: 4 + int countSlingers2; // 0x000020E8 length: 4 + int countAssassins; // 0x000020EC length: 4 + int countHorseArchers; // 0x000020F0 length: 4 + int countArabSwordsman; // 0x000020F4 length: 4 + int countFirethrowers; // 0x000020F8 length: 4 + undefined1 padding_0x20fc[20]; // 0x000020FC length: 20 + int popularityChangeAleBased; // 0x00002110 length: 4 + int popularityChangeBasedOnReligion; // 0x00002114 length: 4 + int popularityChangeFearFactorBased; // 0x00002118 length: 4 + int fearFactorProductivityUnk; // 0x0000211C length: 4 + undefined1 padding_0x2120[4]; // 0x00002120 length: 4 + int workingInnsCount; // 0x00002124 length: 4 + int aleRate; // 0x00002128 length: 4 + int badStuffCount; // 0x0000212C length: 4 + int goodStuffCount; // 0x00002130 length: 4 + int fearFactorLevel; // 0x00002134 length: 4 + int objectsLeftUntilNextLevel; // 0x00002138 length: 4 + undefined1 padding_0x213c[4]; // 0x0000213C length: 4 + int lastMonthsBribeTax; // 0x00002140 length: 4 + int taxBribeMonthlyAccumulator; // 0x00002144 length: 4 + int totalEnemyUnitsCount; // 0x00002148 length: 4 + byte partialWoodCounter; // 0x0000214C length: 1 + undefined1 padding_0x214d[3]; // 0x0000214D length: 3 + byte partialStoneCounter; // 0x00002150 length: 1 + undefined1 padding_0x2151[3]; // 0x00002151 length: 3 + int lastMonthsIncomeTax; // 0x00002154 length: 4 + int taxIncomeMonthlyAccumulator; // 0x00002158 length: 4 + int popularityChangeBasedOnTax; // 0x0000215C length: 4 + uint popularityChangeBasedOnFood; // 0x00002160 length: 4 + int popularityChangeBasedOnCrowding; // 0x00002164 length: 4 + int field969_0x2168; // 0x00002168 length: 4 + uint someCount40; // 0x0000216C length: 4 + int someCount43; // 0x00002170 length: 4 + int field972_0x2174; // 0x00002174 length: 4 + int field973_0x2178; // 0x00002178 length: 4 + int nonInteractiveCitizenCountUnk; // 0x0000217C length: 4 + int currentPopulation; // 0x00002180 length: 4 + int populationRelatedCrowdingCountUnk; // 0x00002184 length: 4 + int taxesSetting; // 0x00002188 length: 4 + int rationsSetting; // 0x0000218C length: 4 + int field979_0x2190; // 0x00002190 length: 4 + bool snoozedBuildings[100]; // 0x00002194 length: 100 + int lordID; // 0x000021F8 length: 4 + int lordUID; // 0x000021FC length: 4 + int ladyIDUnk; // 0x00002200 length: 4 + int someUnitIDSelfRef; // 0x00002204 length: 4 + int jesterIDUnk; // 0x00002208 length: 4 + int someUnitIDSelfRef_2; // 0x0000220C length: 4 + int lordKilledByPlayerID; // 0x00002210 length: 4 + int playerRelatedFlag; // 0x00002214 length: 4 + short stoneGainedUnk; // 0x00002218 length: 2 + short woodGainedUnk; // 0x0000221A length: 2 + int chickenCount2; // 0x0000221C length: 4 + int childTargetIDUnk; // 0x00002220 length: 4 + int childUID; // 0x00002224 length: 4 + int someCount09; // 0x00002228 length: 4 + int field995_0x222c; // 0x0000222C length: 4 + int troopsLost; // 0x00002230 length: 4 + int troopsKilled; // 0x00002234 length: 4 + int blessedPeopleCountUnk; // 0x00002238 length: 4 + int _unblessedPeopleCountUnk; // 0x0000223C length: 4 + int blessedPeoplePercentage; // 0x00002240 length: 4 + int playerDeathRelated; // 0x00002244 length: 4 + short lastMonthsGold; // 0x00002248 length: 2 + short beforeLastMonthsGold; // 0x0000224A length: 2 + short someCount42; // 0x0000224C length: 2 + short someCount41; // 0x0000224E length: 2 + short someCount44; // 0x00002250 length: 2 + short availableHorses; // 0x00002252 length: 2 + int someCount02; // 0x00002254 length: 4 + int someCount03; // 0x00002258 length: 4 + short freshUnitTribeIDs[4]; // 0x0000225C length: 8 + int freshUnitTribeUIDs[4]; // 0x00002264 length: 16 + int aiControlStatusRelated; // 0x00002274 length: 4 + int counter; // 0x00002278 length: 4 + short pitchDitchCounterTo4; // 0x0000227C length: 2 + short previousBlessedPeoplePercentage; // 0x0000227E length: 2 + short isFoodTypeBanned[4]; // 0x00002280 length: 8 + int religionVar1; // 0x00002288 length: 4 + int ownsChurchUnk; // 0x0000228C length: 4 + int ownsCathedralUnk; // 0x00002290 length: 4 + int popularityReligionBasedDiv25; // 0x00002294 length: 4 + int priestCountUnk; // 0x00002298 length: 4 + int field1022_0x229c; // 0x0000229C length: 4 + int weightedLosses; // 0x000022A0 length: 4 + uint beerPercentage; // 0x000022A4 length: 4 + short pitchDitchTileCount; // 0x000022A8 length: 2 + short moatTileCount; // 0x000022AA length: 2 + short someCount48; // 0x000022AC length: 2 + short someCount49; // 0x000022AE length: 2 + short someCount50; // 0x000022B0 length: 2 + short someCount51; // 0x000022B2 length: 2 + short someCount52; // 0x000022B4 length: 2 + short someCount53; // 0x000022B6 length: 2 + short someCount54; // 0x000022B8 length: 2 + short someCount55; // 0x000022BA length: 2 + short someCount56; // 0x000022BC length: 2 + short someCount57; // 0x000022BE length: 2 + short someCount58; // 0x000022C0 length: 2 + short someCount59; // 0x000022C2 length: 2 + int someCount60; // 0x000022C4 length: 4 + int someUnitID01; // 0x000022C8 length: 4 + int field1041_0x22cc; // 0x000022CC length: 4 + int countInns; // 0x000022D0 length: 4 + int lastlastEncounteredEnemyPlayerID; // 0x000022D4 length: 4 + undefined1 padding_0x22d8[4]; // 0x000022D8 length: 4 + int sumOfTotalEnemyUnitsCount; // 0x000022DC length: 4 + XYPairShort barracksAssemblyPoints[7]; // 0x000022E0 length: 28 + int aivID; // 0x000022FC length: 4 + int aiType; // 0x00002300 length: 4 + undefined1 padding_0x2304[52]; // 0x00002304 length: 52 + UnknownPlayerDataStructure structure; // 0x00002338 length: 1728 + int structureRelated1; // 0x000029F8 length: 4 + undefined1 padding_0x29fc[4]; // 0x000029FC length: 4 + undefined4 rallySearchOffsetsUnk[6]; // 0x00002A00 length: 24 + undefined4 rallySearchOffset; // 0x00002A18 length: 4 + undefined4 someCount20; // 0x00002A1C length: 4 + undefined4 someCount21; // 0x00002A20 length: 4 + undefined4 someCount22; // 0x00002A24 length: 4 + int countArabianArchersRelated; // 0x00002A28 length: 4 + int countRelatedToHorseArchers; // 0x00002A2C length: 4 + int countSlaves; // 0x00002A30 length: 4 + int countAssassinsAndArabianSwordsman; // 0x00002A34 length: 4 + int countSlingers; // 0x00002A38 length: 4 + int countFireThrowers; // 0x00002A3C length: 4 + undefined4 someCount23; // 0x00002A40 length: 4 + undefined4 someCount24; // 0x00002A44 length: 4 + undefined4 someCount25; // 0x00002A48 length: 4 + undefined4 someCount26; // 0x00002A4C length: 4 + int hovelCountUpToEight; // 0x00002A50 length: 4 + int aiFarmIndex; // 0x00002A54 length: 4 + undefined1 padding_0x2a58[16]; // 0x00002A58 length: 16 + int hasMarketUnk; // 0x00002A68 length: 4 + BOOLEnum willBuy; // 0x00002A6C length: 4 + int resourcesToAcquireArray[24]; // 0x00002A70 length: 96 + undefined1 padding_0x2ad0[4]; // 0x00002AD0 length: 4 + int highestLoadedQuarryUnk; // 0x00002AD4 length: 4 + BOOLEnum granaryIsAlmostFilledUp; // 0x00002AD8 length: 4 + undefined4 isArmouryAlmostFilledUp; // 0x00002ADC length: 4 + int resourceRebuildDelay; // 0x00002AE0 length: 4 + int populationGrowthStatisticCounter; // 0x00002AE4 length: 4 + int populationGrowth[8]; // 0x00002AE8 length: 32 + int averagePopulationGrowthUnk; // 0x00002B08 length: 4 + int previousAvailablePeasants; // 0x00002B0C length: 4 + undefined1 padding_0x2b10[4]; // 0x00002B10 length: 4 + int farmsWithoutWorkers; // 0x00002B14 length: 4 + int countWoodcutters; // 0x00002B18 length: 4 + int noLabourerBuildingCount; // 0x00002B1C length: 4 + int someCount10; // 0x00002B20 length: 4 + int someCount11; // 0x00002B24 length: 4 + int noWoodTracker; // 0x00002B28 length: 4 + int noIronTracker; // 0x00002B2C length: 4 + int noFlourTracker; // 0x00002B30 length: 4 + int noHopsTracker; // 0x00002B34 length: 4 + int someResourceCounter; // 0x00002B38 length: 4 + int noBeerCounterUnk; // 0x00002B3C length: 4 + undefined4 someCount12; // 0x00002B40 length: 4 + undefined4 someCount13; // 0x00002B44 length: 4 + int aivNegativeFearFactorDelay; // 0x00002B48 length: 4 + int aivPositiveFearFactorDelay; // 0x00002B4C length: 4 + int defWallPatrolRallyTimeWaitCounter; // 0x00002B50 length: 4 + int defWallPatrolRallyTimeHits; // 0x00002B54 length: 4 + int field1179_0x2b58; // 0x00002B58 length: 4 + int engineerCountRelated; // 0x00002B5C length: 4 + int field1181_0x2b60; // 0x00002B60 length: 4 + int closestEnemyDistanceToTheLord; // 0x00002B64 length: 4 + undefined1 padding_0x2b68[4]; // 0x00002B68 length: 4 + int field1187_0x2b6c; // 0x00002B6C length: 4 + int outerPatrolRallyDelayTracker; // 0x00002B70 length: 4 + int aiStrengthState; // 0x00002B74 length: 4 + int raidRetargetDelayCounter; // 0x00002B78 length: 4 + int someTile; // 0x00002B7C length: 4 + int someX; // 0x00002B80 length: 4 + int someY; // 0x00002B84 length: 4 + int countFletchersPoleturners; // 0x00002B88 length: 4 + int countArmorersAndBlacksmiths; // 0x00002B8C length: 4 + int countBakers; // 0x00002B90 length: 4 + int countBrewers; // 0x00002B94 length: 4 + int shortestDistanceTile; // 0x00002B98 length: 4 + int shortestDistanceY; // 0x00002B9C length: 4 + int shortestDistanceX; // 0x00002BA0 length: 4 + int aiPlayerState; // 0x00002BA4 length: 4 + int totalAttackingEngineerTroops; // 0x00002BA8 length: 4 + int totalDiggingUnitTroops; // 0x00002BAC length: 4 + int totalAssassinTroops; // 0x00002BB0 length: 4 + int totalUnit2Troops; // 0x00002BB4 length: 4 + int totalLaddermenTroops; // 0x00002BB8 length: 4 + int totalTunnelerTroops; // 0x00002BBC length: 4 + int totalUnitPatrolTroops; // 0x00002BC0 length: 4 + int totalUnitBackupTroops; // 0x00002BC4 length: 4 + int totalUnitEngageTroops; // 0x00002BC8 length: 4 + int totalUnitSiegeDefTroops; // 0x00002BCC length: 4 + int totalMaxDefaultTroops; // 0x00002BD0 length: 4 + int attackedPlayerID_2Unk; // 0x00002BD4 length: 4 + int attackedPlayerID; // 0x00002BD8 length: 4 + int attackedByPlayerArrayUnk; // 0x00002BDC length: 4 + int field1216_0x2be0; // 0x00002BE0 length: 4 + undefined1 padding_0x2be4[4]; // 0x00002BE4 length: 4 + int unusedEnemyAttackTracker[9][8]; // 0x00002BE8 length: 288 + undefined1 padding_0x2d08[20]; // 0x00002D08 length: 20 + int aivUnitLocationSlots[22][10]; // 0x00002D1C length: 880 + int aivUnitLocationSlotLocationCount[22]; // 0x0000308C length: 88 + int totalTroopsType0; // 0x000030E4 length: 4 + int totalDefensiveTroopsUnk; // 0x000030E8 length: 4 + int totalRaidingTroopsUnk; // 0x000030EC length: 4 + int totalAttackTroops; // 0x000030F0 length: 4 + AIStrengthTypeInt aiStrengthFeeling; // 0x000030F4 length: 4 + AIRecruitUnitChoiceInt aiRecruitUnitChoiceState; // 0x000030F8 length: 4 + int field1250_0x30fc; // 0x000030FC length: 4 + int aiDefUnitChoiceIndex; // 0x00003100 length: 4 + int aiRaidUnitChoiceIndex; // 0x00003104 length: 4 + int aiAttUnitMainChoiceIndex; // 0x00003108 length: 4 + short aiTribeIDs[200]; // 0x0000310C length: 400 + int aiTribeUIDs[200]; // 0x0000329C length: 800 + short top100TargetableBuildings[100]; // 0x000035BC length: 200 + int top100TargetableBuildingsTracker; // 0x00003684 length: 4 + int someCounter2; // 0x00003688 length: 4 + AISiegeUnitCreation aiSiegeCreationInformation[4][5]; // 0x0000368C length: 400 + int attackAssaultDelayRelatedValue; // 0x0000381C length: 4 + int isNotNervousByEnemyTroopValue; // 0x00003820 length: 4 + short requestedGoodsArray1Unk[10]; // 0x00003824 length: 20 + short requestedGoodsArray2Unk[10]; // 0x00003838 length: 20 + int requestStateUnk; // 0x0000384C length: 4 + int requestedAttackTargetUnk; // 0x00003850 length: 4 + int unitPatrolRecommandRelatedDelayValue; // 0x00003854 length: 4 + int aiCowThrowCounter; // 0x00003858 length: 4 + int field1268_0x385c; // 0x0000385C length: 4 + int aiResourceBuildingFocusIndicator; // 0x00003860 length: 4 + int aivCurrentPauseIndex; // 0x00003864 length: 4 + int aivCurrentPause; // 0x00003868 length: 4 + short aivPauses[20]; // 0x0000386C length: 40 + int aivPauseDelay; // 0x00003894 length: 4 + int aiRequestDelay; // 0x00003898 length: 4 + int nervousBikCountdown; // 0x0000389C length: 4 + int currentWaveRandomAttackingStrength; // 0x000038A0 length: 4 + int someAiCountdown3; // 0x000038A4 length: 4 + int someAiCountdown4; // 0x000038A8 length: 4 + int someAiCountdown5; // 0x000038AC length: 4 + int someAiCountdown6; // 0x000038B0 length: 4 + undefined1 padding_0x38b4[4]; // 0x000038B4 length: 4 + int totalEnemyTroopValueByPlayerID[9]; // 0x000038B8 length: 36 + undefined1 padding_0x38dc[4]; // 0x000038DC length: 4 + int totalEnemyTroopValue; // 0x000038E0 length: 4 + int playerID_askerUnk; // 0x000038E4 length: 4 + int totalTroopValue; // 0x000038E8 length: 4 + int aiBuildingDestroyChoiceTracker; // 0x000038EC length: 4 + int aiNervousActionsTracker; // 0x000038F0 length: 4 + int currentAttackRaidParameter; // 0x000038F4 length: 4 + int monkTribeIDUnk; // 0x000038F8 length: 4 + int monkTribeUIDUnk; // 0x000038FC length: 4 + int healerCount; // 0x00003900 length: 4 + int count_2; // 0x00003904 length: 4 + int relatedToUnknown132; // 0x00003908 length: 4 + int someTotalDefenseTroopsRelatedCountdown; // 0x0000390C length: 4 + int totalEnemyRangedTroopValue; // 0x00003910 length: 4 + int harrassingSiegeEnginesIndex; // 0x00003914 length: 4 + int harrasingEngineRecruitTimeout; // 0x00003918 length: 4 + int harassingSiegeEnginesCountUnk; // 0x0000391C length: 4 + int totalTeamTroopValue; // 0x00003920 length: 4 + int currentAttackWave; // 0x00003924 length: 4 + int countFarms; // 0x00003928 length: 4 + int someCountdown01; // 0x0000392C length: 4 + int field1310_0x3930; // 0x00003930 length: 4 + int someXPosition; // 0x00003934 length: 4 + int someYPosition; // 0x00003938 length: 4 + int totalTroopsType6; // 0x0000393C length: 4 + int unknownCounter_01; // 0x00003940 length: 4 + int totalTroopsType7; // 0x00003944 length: 4 + int lastEncounteredTroopUnitID; // 0x00003948 length: 4 + int lastEncounteredTroopUnitUID; // 0x0000394C length: 4 + short mercenaryAssemblyPoints[7][2]; // 0x00003950 length: 28 + int field1319_0x396c; // 0x0000396C length: 4 + int attackTicker; // 0x00003970 length: 4 + int canStartSpending; // 0x00003974 length: 4 + short algoTreeCooldownUnk; // 0x00003978 length: 2 + short algoOasisCooldownUnk; // 0x0000397A length: 2 + short algoBoulderCooldownUnk; // 0x0000397C length: 2 + short algoIronCooldownUnk; // 0x0000397E length: 2 + short algoOilCooldownUnk; // 0x00003980 length: 2 + short availableTreeGridTiles; // 0x00003982 length: 2 + short availableOasisGridTiles; // 0x00003984 length: 2 + short availableBoulderGridTiles; // 0x00003986 length: 2 + short availableIronGridTiles; // 0x00003988 length: 2 + short availableOilGridTiles; // 0x0000398A length: 2 + int countIronMines; // 0x0000398C length: 4 + int countPitchRigs; // 0x00003990 length: 4 + int countStoneQuarries; // 0x00003994 length: 4 + int unknownPathBorderDistanceRelated; // 0x00003998 length: 4 + int someCount46; // 0x0000399C length: 4 + short keepEnclosementRelatedCountdown; // 0x000039A0 length: 2 + short defensesDamagedByPlayer; // 0x000039A2 length: 2 + XYPairShort engineersAssemblyPoints[2]; // 0x000039A4 length: 8 + short tunnelersGuildAssemblyPointX; // 0x000039AC length: 2 + short tunnelersGuildAssemblyPointY; // 0x000039AE length: 2 + short cathedralAssemblyPointX; // 0x000039B0 length: 2 + short cathedralAssemblyPointY; // 0x000039B2 length: 2 + undefined1 padding_0x39b4[4]; // 0x000039B4 length: 4 + undefined2 someCount28; // 0x000039B8 length: 2 + undefined2 someCount30; // 0x000039BA length: 2 + short unknownCounter01; // 0x000039BC length: 2 + undefined2 someCount31; // 0x000039BE length: 2 + short relativeStrengthOfTeamComparedToEnemy; // 0x000039C0 length: 2 + short aiStateCounter; // 0x000039C2 length: 2 + short commemorationShrinePlacementCountdown; // 0x000039C4 length: 2 + short someKeepRelatedX2; // 0x000039C6 length: 2 + short someKeepRelatedY2; // 0x000039C8 length: 2 + short dogCageCount; // 0x000039CA length: 2 + int unknownHarrassingSiegeRelated; // 0x000039CC length: 4 + int ignitionTime; // 0x000039D0 length: 4 + int tacticalPowersBarLevel; // 0x000039D4 length: 4 + int goldDonation; // 0x000039D8 length: 4 + undefined1 padding_0x39dc[24]; // 0x000039DC length: 24 + + } PlayerData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(PlayerData) == 14836, PlayerData); + } // namespace Player +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Player/PlayerID.hpp b/src/OpenSHC/Game/Player/PlayerID.hpp new file mode 100644 index 0000000..fba9a23 --- /dev/null +++ b/src/OpenSHC/Game/Player/PlayerID.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Player/PlayerID.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Player { + + typedef int PlayerID; + } // namespace Player +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Player/PlayerType.hpp b/src/OpenSHC/Game/Player/PlayerType.hpp new file mode 100644 index 0000000..da33d91 --- /dev/null +++ b/src/OpenSHC/Game/Player/PlayerType.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Player/PlayerType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Player { + typedef enum PlayerType { + + PT_HUMAN = 0, // 0x00000000 + PT_AI = 1 // 0x00000001 + + } PlayerType; + + static_assert_cpp98_obj(sizeof(PlayerType) == 4, PlayerType); + } // namespace Player +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Player/PlayerTypeByte.hpp b/src/OpenSHC/Game/Player/PlayerTypeByte.hpp new file mode 100644 index 0000000..fb07995 --- /dev/null +++ b/src/OpenSHC/Game/Player/PlayerTypeByte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Player/PlayerTypeByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Player/PlayerType.hpp" + +namespace OpenSHC { +namespace Game { + namespace Player { + typedef byte PlayerTypeByte; + + static_assert_cpp98_obj(sizeof(PlayerTypeByte) == 1, PlayerTypeByte); + } // namespace Player +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Player/UnknownPlayerDataStructure.hpp b/src/OpenSHC/Game/Player/UnknownPlayerDataStructure.hpp new file mode 100644 index 0000000..26f0721 --- /dev/null +++ b/src/OpenSHC/Game/Player/UnknownPlayerDataStructure.hpp @@ -0,0 +1,45 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Player/UnknownPlayerDataStructure.hpp' +*/ + +#pragma once + +#include "OpenSHC/Coordinates/XYPairShort.hpp" + +namespace OpenSHC { +namespace Game { + namespace Player { + + using OpenSHC::Coordinates::XYPairShort; + +#pragma pack(push, 1) + // SIZE: 0x000006C0 + typedef struct UnknownPlayerDataStructure { + + XYPairShort mercenaryOutpostCampgroundLocations[24]; // 0x00000000 length: 96 + XYPairShort xyPairs2[24]; // 0x00000060 length: 96 + XYPairShort xyPairs3[24]; // 0x000000C0 length: 96 + XYPairShort field3_0x120[24]; // 0x00000120 length: 96 + XYPairShort field4_0x180[24]; // 0x00000180 length: 96 + XYPairShort field5_0x1e0[24]; // 0x000001E0 length: 96 + XYPairShort field6_0x240[24]; // 0x00000240 length: 96 + XYPairShort field7_0x2a0[24]; // 0x000002A0 length: 96 + XYPairShort field8_0x300[24]; // 0x00000300 length: 96 + XYPairShort field9_0x360[24]; // 0x00000360 length: 96 + XYPairShort field10_0x3c0[24]; // 0x000003C0 length: 96 + XYPairShort field11_0x420[24]; // 0x00000420 length: 96 + XYPairShort field12_0x480[24]; // 0x00000480 length: 96 + XYPairShort field13_0x4e0[24]; // 0x000004E0 length: 96 + XYPairShort field14_0x540[24]; // 0x00000540 length: 96 + XYPairShort field15_0x5a0[24]; // 0x000005A0 length: 96 + XYPairShort field16_0x600[24]; // 0x00000600 length: 96 + XYPairShort field17_0x660[24]; // 0x00000660 length: 96 + + } UnknownPlayerDataStructure; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnknownPlayerDataStructure) == 1728, UnknownPlayerDataStructure); + } // namespace Player +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/RenderingDefinedData.hpp b/src/OpenSHC/Game/RenderingDefinedData.hpp new file mode 100644 index 0000000..e421e57 --- /dev/null +++ b/src/OpenSHC/Game/RenderingDefinedData.hpp @@ -0,0 +1,257 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/RenderingDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Game/Skirmish/StartingResourceStructureInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/UI/MenuIDMenuElementAddressPair.hpp" +#include "OpenSHC/UI/MenuItem.hpp" +#include "OpenSHC/UI/Position.hpp" +#include "OpenSHC/UI/TextMessageBLLookupStruct.hpp" +#include "OpenSHC/UI/UC.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Game::Skirmish::StartingResourceStructureInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::UI::MenuIDMenuElementAddressPair; + using OpenSHC::UI::MenuItem; + using OpenSHC::UI::Position; + using OpenSHC::UI::TextMessageBLLookupStruct; + using OpenSHC::UI::UC; + +#pragma pack(push, 1) + // SIZE: 0x000557E4 + typedef struct RenderingDefinedData { + + int DAT_StartGold[3]; // 0x00000000 length: 12 + char ARRAY_MalePeasantSFXNames[128][32]; // 0x0000000C length: 4096 + char ARRAY_FemalePeasantSFXNames[128][32]; // 0x0000100C length: 4096 + UC ARRAY_UCArray[292]; // 0x0000200C length: 144832 + MenuItem MenuItems_Unknown_ManyThings[1]; // 0x000255CC length: 80 + MenuItem MenuItems_IntroLogos[2]; // 0x0002561C length: 160 + MenuItem MenuItems_IntroVideo[1]; // 0x000256BC length: 80 + MenuItem MenuItems_StartEnterName[1]; // 0x0002570C length: 80 + MenuItem MenuItems_MainMenu[13]; // 0x0002575C length: 1040 + MenuItem MenuItems_HistoricCampaignSelect[9]; // 0x00025B6C length: 720 + MenuItem MenuItems_UnusedEconomicGametypeSelect[8]; // 0x00025E3C length: 640 + MenuItem MenuItems_CustomScenarios[8]; // 0x000260BC length: 640 + MenuItem MenuItems_UnusedSomeMissionStartUnk[4]; // 0x0002633C length: 320 + MenuItem MenuItems_HistoricMissionSelect[10]; // 0x0002647C length: 800 + MenuItem MenuItems_UnusedEconomicMissionSelect[11]; // 0x0002679C length: 880 + MenuItem MenuItems_UnusedSetName[5]; // 0x00026B0C length: 400 + MenuItem MenuItems_UnusedOldTitleMenu[4]; // 0x00026C9C length: 320 + MenuItem MenuItems_LobbyMenu[93]; // 0x00026DDC length: 7440 + MenuItem MenuItems_SkirmishConnectionOptions[5]; // 0x00028AEC length: 400 + MenuItem MenuItems_SkirmishPlayOptions[9]; // 0x00028C7C length: 720 + MenuItem MenuItems_SendMapTo[4]; // 0x00028F4C length: 320 + MenuItem MenuItems_ReceiveMapFrom[3]; // 0x0002908C length: 240 + MenuItem MenuItems_UnusedSelectRandomNumberOfEnemies[9]; // 0x0002917C length: 720 + MenuItem MenuItems_ChooseRandomNumberOfEnemies[11]; // 0x0002944C length: 880 + MenuItem MenuItems_SelectCrusade[6]; // 0x000297BC length: 480 + MenuItem MenuItems_BasicAiLordSelect[11]; // 0x0002999C length: 880 + MenuItem MenuItems_ExtendedAiLordSelect[19]; // 0x00029D0C length: 1520 + MenuItem MenuItems_Roundtable[25]; // 0x0002A2FC length: 2000 + MenuItem MenuItems_OverlaySlider[3]; // 0x0002AACC length: 240 + MenuItem MenuItems_UnusedWinCondition[13]; // 0x0002ABBC length: 1040 + MenuItem MenuItems_SingleplayerMapChoice[46]; // 0x0002AFCC length: 3680 + MenuItem MenuItems_MapEditorProperties[16]; // 0x0002BE2C length: 1280 + MenuItem MenuItems_NewMapMaptype[8]; // 0x0002C32C length: 640 + MenuItem MenuItems_NewMapMapsize[7]; // 0x0002C5AC length: 560 + MenuItem MenuItems_UnusedChooseAvailableKeeps[14]; // 0x0002C7DC length: 1120 + MenuItem MenuItems_UnusedChooseGameType[9]; // 0x0002CC3C length: 720 + MenuItem MenuItems_UnusedCreateSiege[10]; // 0x0002CF0C length: 800 + MenuItem MenuItems_Unknown26CampaignRelatedUnk[1]; // 0x0002D22C length: 80 + MenuItem MenuItems_Unknown27CampaignUnk[3]; // 0x0002D27C length: 240 + MenuItem MenuItems_UnusedExtremeAd[1]; // 0x0002D36C length: 80 + MenuItem MenuItems_HistoricCampaignIntroAndMissionPicture[1]; // 0x0002D3BC length: 80 + MenuItem MenuItems_HistoricCampaignOutroAndMissionIntro[1]; // 0x0002D40C length: 80 + MenuItem MenuItems_ScenarioDescription[12]; // 0x0002D45C length: 960 + MenuItem MenuItems_CrusadeMissionIntro[4]; // 0x0002D81C length: 320 + MenuItem MenuItems_CrusadeMap[7]; // 0x0002D95C length: 560 + MenuItem MenuItems_RankingGames[28]; // 0x0002DB8C length: 2240 + MenuItem MenuItems_CrusadeEndscreen[3]; // 0x0002E44C length: 240 + MenuItem MenuItems_MissionFinishedTransition[61]; // 0x0002E53C length: 4880 + MenuItem MenuItems_GameLostUnk[61]; // 0x0002F84C length: 4880 + MenuItem MenuItems_ChooseNetworkServiceProvider[37]; // 0x00030B5C length: 2960 + MenuItem MenuItems_FindingNetworkSessions[20]; // 0x000316EC length: 1600 + MenuItem MenuItems_WaitingForHost[4]; // 0x00031D2C length: 320 + MenuItem MenuItems_BuildMenu[297]; // 0x00031E6C length: 23760 + MenuItem MenuItems_BuildingAndStatusMenu[295]; // 0x00037B3C length: 23600 + MenuItem MenuItems_PauseMenu[10]; // 0x0003D76C length: 800 + MenuItem MenuItems_PauseMenuOptions[6]; // 0x0003DA8C length: 480 + MenuItem MenuItems_MainMenuOptions[10]; // 0x0003DC6C length: 800 + MenuItem MenuItems_GameplayOptions[8]; // 0x0003DF8C length: 640 + MenuItem MenuItems_VideoOptions[10]; // 0x0003E20C length: 800 + MenuItem MenuItems_SoundOptions[16]; // 0x0003E52C length: 1280 + MenuItem MenuItems_IdentityOptions[11]; // 0x0003EA2C length: 880 + MenuItem MenuItems_EnterTitleOnGameStart[5]; // 0x0003ED9C length: 400 + MenuItem MenuItems_NetworkOptions[3]; // 0x0003EF2C length: 240 + MenuItem MenuItems_LoadMap[27]; // 0x0003F01C length: 2160 + MenuItem MenuItems_SaveMap[29]; // 0x0003F88C length: 2320 + MenuItem MenuItem_YesNoDialog[4]; // 0x0004019C length: 320 + MenuItem MenuItems_QuitDialog[4]; // 0x000402DC length: 320 + MenuItem MenuItems_DeleteGameRecord[4]; // 0x0004041C length: 320 + MenuItem MenuItems_TacticalPowerBar[2]; // 0x0004055C length: 160 + MenuItem MenuItems_ProgressBarBox[2]; // 0x000405FC length: 160 + MenuItem MenuItems_Chat[45]; // 0x0004069C length: 3600 + MenuItem MenuItems_Allies[17]; // 0x000414AC length: 1360 + MenuItem MenuItem_AlliesOrder[12]; // 0x000419FC length: 960 + MenuItem MenuItems_AlliesRequestGoods[32]; // 0x00041DBC length: 2560 + MenuItem MenuItems_AlliesSendGoods[32]; // 0x000427BC length: 2560 + MenuItem MenuItems_GreatestLord[7]; // 0x000431BC length: 560 + MenuItem MenuItems_OnlineQuitGame[5]; // 0x000433EC length: 400 + MenuItem MenuItems_OnlineVoteQuitGame[4]; // 0x0004357C length: 320 + MenuItem MenuItems_DebugModals[2]; // 0x000436BC length: 160 + MenuItem MenuItems_DisplayAiLordMessage[1]; // 0x0004375C length: 80 + MenuItem MenuItems_TutorialBox[4]; // 0x000437AC length: 320 + MenuItem MenuItems_TutorialBoxWithLeave[5]; // 0x000438EC length: 400 + MenuItem MenuItems_UnusedHelpTextEditor[33]; // 0x00043A7C length: 2640 + MenuItem MenuItems_BuildingHelpText[9]; // 0x000444CC length: 720 + MenuItem MenuItems_InGameHelpText[9]; // 0x0004479C length: 720 + MenuItem MenuItems_DisplayScenarioHelpText[8]; // 0x00044A6C length: 640 + MenuItem MenuItems_Credits[1]; // 0x00044CEC length: 80 + MenuItem MenuItems_MapDescriptionEditor[12]; // 0x00044D3C length: 960 + MenuItem MenuItems_UnusedDemoBuyItScreen[6]; // 0x000450FC length: 480 + MenuItem MenuItems_EditorMapTypeQuickChange[8]; // 0x000452DC length: 640 + MenuItem MenuItems_Empty10[1]; // 0x0004555C length: 80 + MenuItem MenuItems_Empty11[1]; // 0x000455AC length: 80 + MenuItem MenuItems_Menu_MapEditorLandscaping[100]; // 0x000455FC length: 8000 + MenuItem MenuItems_EditScenario[44]; // 0x0004753C length: 3520 + MenuItem MenuItems_UnusedChooseMessageBox[21]; // 0x000482FC length: 1680 + MenuItem MenuItems_TraderSettings[23]; // 0x0004898C length: 1840 + MenuItem MenuItems_StartGoods[23]; // 0x000490BC length: 1840 + MenuItem MenuItems_UnusedSiegeAttackingForceUnk[21]; // 0x000497EC length: 1680 + MenuItem MenuItems_NewInvasion[37]; // 0x00049E7C length: 2960 + MenuItem MenuItems_UnusedCreateTimedMessageEvent[36]; // 0x0004AA0C length: 2880 + MenuItem MenuItems_NewEvent[9]; // 0x0004B54C length: 720 + MenuItem MenuItems_NewEventCondition[50]; // 0x0004B81C length: 4000 + MenuItem MenuItems_NewEventAction[28]; // 0x0004C7BC length: 2240 + MenuItem MenuItems_UnusedCreateMessageEvent[32]; // 0x0004D07C length: 2560 + MenuItem MenuItems_BuildingAvailability[66]; // 0x0004DA7C length: 5280 + MenuItem MenuItems_DisableEuroTroops[10]; // 0x0004EF1C length: 800 + MenuItem MenuItems_DisableArabTroops[10]; // 0x0004F23C length: 800 + MenuItem MenuItems_DisableWeapon[9]; // 0x0004F55C length: 720 + MenuItem MenuItems_TriggerInvasion[33]; // 0x0004F82C length: 2640 + MenuItem MenuItems_TriggerEventOrInvasion[5]; // 0x0005027C length: 400 + MenuItem MenuItems_TriggerEvent[13]; // 0x0005040C length: 1040 + MenuItem MenuItems_TriggerEventSlider[5]; // 0x0005081C length: 400 + MenuIDMenuElementAddressPair DAT_MenuViewIDMenuMapping[51]; // 0x000509AC length: 408 + TextMessageBLLookupStruct DAT_TextMessageLookupTable[422]; // 0x00050B44 length: 6752 + int field114_0x525a4[27]; // 0x000525A4 length: 108 + uint DAT_ColorTable1[9]; // 0x00052610 length: 36 + undefined1 padding_0x52634[100]; // 0x00052634 length: 100 + BGR24 DAT_ColorArray[9]; // 0x00052698 length: 36 + undefined1 padding_0x526bc[208]; // 0x000526BC length: 208 + StartingResourceStructureInt DAT_StartGoods[3]; // 0x0005278C length: 300 + int DAT_HumanAdvantageArray; // 0x000528B8 length: 4 + int field427_0x528bc; // 0x000528BC length: 4 + int field428_0x528c0; // 0x000528C0 length: 4 + int field429_0x528c4; // 0x000528C4 length: 4 + int field430_0x528c8; // 0x000528C8 length: 4 + int field431_0x528cc; // 0x000528CC length: 4 + int DAT_AIAdvantageArray; // 0x000528D0 length: 4 + int field433_0x528d4; // 0x000528D4 length: 4 + int field434_0x528d8; // 0x000528D8 length: 4 + int field435_0x528dc; // 0x000528DC length: 4 + int field436_0x528e0; // 0x000528E0 length: 4 + int field437_0x528e4; // 0x000528E4 length: 4 + undefined1 padding_0x528e8[4]; // 0x000528E8 length: 4 + int DAT_StartingTroops[20][3][20]; // 0x000528EC length: 4800 + undefined1 padding_0x53bac[8]; // 0x00053BAC length: 8 + int field451_0x53bb4[24]; // 0x00053BB4 length: 96 + int DAT_StartGoldPerFairnessLevel[3][5][2]; // 0x00053C14 length: 120 + int field453_0x53c8c[20][20]; // 0x00053C8C length: 1600 + undefined1 padding_0x542cc[440]; // 0x000542CC length: 440 + int field894_0x54484[18][10]; // 0x00054484 length: 720 + int DAT_BuyPricePerResource[26]; // 0x00054754 length: 104 + int DAT_SalesPricePerResource[25]; // 0x000547BC length: 100 + int DAT_NoRushTicks[5]; // 0x00054820 length: 20 + int DAT_TroopTypeValuesPart; // 0x00054834 length: 4 + undefined1 padding_0x54838[84]; // 0x00054838 length: 84 + int TROOP_VALUE_ARCHER; // 0x0005488C length: 4 + int TROOP_VALUE_CROSSBOW; // 0x00054890 length: 4 + int TROOP_VALUE_SPEARMAN; // 0x00054894 length: 4 + int TROOP_VALUE_PIKEMAN; // 0x00054898 length: 4 + int TROOP_VALUE_MACEMAN; // 0x0005489C length: 4 + int TROOP_VALUE_SWORDSMAN; // 0x000548A0 length: 4 + int TROOP_VALUE_KNIGHT; // 0x000548A4 length: 4 + int TROOP_VALUE_LADDERMAN; // 0x000548A8 length: 4 + int TROOP_VALUE_ENGINEER; // 0x000548AC length: 4 + int TROOP_VALUE_MONK; // 0x000548B0 length: 4 + int TROOP_VALUE_TUNNELER; // 0x000548B4 length: 4 + int TROOP_VALUE_A_ARCHER; // 0x000548B8 length: 4 + int TROOP_VALUE_SLAVE; // 0x000548BC length: 4 + int TROOP_VALUE_SLINGER; // 0x000548C0 length: 4 + int TROOP_VALUE_ASSASSIN; // 0x000548C4 length: 4 + int TROOP_VALUE_HARCHER; // 0x000548C8 length: 4 + int TROOP_VALUE_A_SWORDSMAN; // 0x000548CC length: 4 + int TROOP_VALUE_FIRETHROWER; // 0x000548D0 length: 4 + int TROOP_VALUE_S_FBALLISTA; // 0x000548D4 length: 4 + int TROOP_VALUE_CATAPULT; // 0x000548D8 length: 4 + int field1003_0x548dc; // 0x000548DC length: 4 + int field1004_0x548e0; // 0x000548E0 length: 4 + int field1005_0x548e4; // 0x000548E4 length: 4 + int field1006_0x548e8; // 0x000548E8 length: 4 + int field1007_0x548ec; // 0x000548EC length: 4 + int field1008_0x548f0; // 0x000548F0 length: 4 + int field1009_0x548f4; // 0x000548F4 length: 4 + int field1010_0x548f8; // 0x000548F8 length: 4 + int field1011_0x548fc; // 0x000548FC length: 4 + int field1012_0x54900; // 0x00054900 length: 4 + int field1013_0x54904; // 0x00054904 length: 4 + int field1014_0x54908; // 0x00054908 length: 4 + int field1015_0x5490c; // 0x0005490C length: 4 + int field1016_0x54910; // 0x00054910 length: 4 + int field1017_0x54914; // 0x00054914 length: 4 + int field1018_0x54918; // 0x00054918 length: 4 + int field1019_0x5491c; // 0x0005491C length: 4 + int field1020_0x54920; // 0x00054920 length: 4 + int field1021_0x54924; // 0x00054924 length: 4 + int field1022_0x54928; // 0x00054928 length: 4 + int field1023_0x5492c; // 0x0005492C length: 4 + int field1024_0x54930; // 0x00054930 length: 4 + int field1025_0x54934; // 0x00054934 length: 4 + int field1026_0x54938; // 0x00054938 length: 4 + int field1027_0x5493c[24]; // 0x0005493C length: 96 + int field1028_0x5499c[24]; // 0x0005499C length: 96 + int field1029_0x549fc[24]; // 0x000549FC length: 96 + UnitTypeInt field1030_0x54a5c[28]; // 0x00054A5C length: 112 + char* DAT_ChimpTgxArray[70]; // 0x00054ACC length: 280 + char* DAT_ChimpTgxSketchArray[80]; // 0x00054BE4 length: 320 + char* DAT_ChimpHelpArray[70]; // 0x00054D24 length: 280 + char* DAT_ChimpBikArray[70]; // 0x00054E3C length: 280 + char* DAT_BuildingHelpArray[108]; // 0x00054F54 length: 432 + char* DAT_BuildingBikArray[108]; // 0x00055104 length: 432 + char* DAT_BuildingTgxSketchArray[108]; // 0x000552B4 length: 432 + ResourceTypeInt field1038_0x55464[8]; // 0x00055464 length: 32 + int field1039_0x55484[8]; // 0x00055484 length: 32 + Position DAT_StockpileIconsPositionNudges[8]; // 0x000554A4 length: 64 + int field1041_0x554e4[8]; // 0x000554E4 length: 32 + int field1042_0x55504[8]; // 0x00055504 length: 32 + Position field1043_0x55524[8]; // 0x00055524 length: 64 + int DAT_MarketStonksOrder[20]; // 0x00055564 length: 80 + ResourceTypeInt DAT_FoodTypes[8]; // 0x000555B4 length: 32 + int DAT_RawResourceTypes[4]; // 0x000555D4 length: 16 + int field1047_0x555e4[8]; // 0x000555E4 length: 32 + Position field1048_0x55604[25]; // 0x00055604 length: 200 + int field1049_0x556cc[7][3]; // 0x000556CC length: 84 + int field1050_0x55720[4]; // 0x00055720 length: 16 + undefined1 padding_0x55730[68]; // 0x00055730 length: 68 + UnitTypeInt DAT_UnitTypeGroups[3][9]; // 0x00055774 length: 108 + int field1120_0x557e0; // 0x000557E0 length: 4 + + } RenderingDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(RenderingDefinedData) == 350180, RenderingDefinedData); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceType.hpp b/src/OpenSHC/Game/Resources/ResourceType.hpp new file mode 100644 index 0000000..bf75823 --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceType.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef enum ResourceType { + + RT_LOGS = 1, // 0x00000001 + RT_WOOD = 2, // 0x00000002 + RT_HOPS = 3, // 0x00000003 + RT_STONE = 4, // 0x00000004 + RT_PARTIALSTONE = 5, // 0x00000005 + RT_IRON = 6, // 0x00000006 + RT_PITCH = 7, // 0x00000007 + RT_PARTIALPITCH = 8, // 0x00000008 + RT_WHEAT = 9, // 0x00000009 + RT_BREAD = 10, // 0x0000000A + RT_CHEESE = 11, // 0x0000000B + RT_MEAT = 12, // 0x0000000C + RT_APPLE = 13, // 0x0000000D + RT_ALE = 14, // 0x0000000E + RT_GOLD = 15, // 0x0000000F + RT_FLOUR = 16, // 0x00000010 + RT_BOW = 17, // 0x00000011 + RT_CROSSBOW = 18, // 0x00000012 + RT_SPEAR = 19, // 0x00000013 + RT_PIKE = 20, // 0x00000014 + RT_MACE = 21, // 0x00000015 + RT_SWORD = 22, // 0x00000016 + RT_LEATHERARMOR = 23, // 0x00000017 + RT_IRONARMOR = 24 // 0x00000018 + + } ResourceType; + + static_assert_cpp98_obj(sizeof(ResourceType) == 4, ResourceType); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceTypeByte.hpp b/src/OpenSHC/Game/Resources/ResourceTypeByte.hpp new file mode 100644 index 0000000..2753083 --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceTypeByte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceTypeByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceType.hpp" + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef byte ResourceTypeByte; + + static_assert_cpp98_obj(sizeof(ResourceTypeByte) == 1, ResourceTypeByte); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceTypeInt.hpp b/src/OpenSHC/Game/Resources/ResourceTypeInt.hpp new file mode 100644 index 0000000..31feb15 --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceType.hpp" + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef int ResourceTypeInt; + + static_assert_cpp98_obj(sizeof(ResourceTypeInt) == 4, ResourceTypeInt); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceTypeMin1.hpp b/src/OpenSHC/Game/Resources/ResourceTypeMin1.hpp new file mode 100644 index 0000000..6dbe90c --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceTypeMin1.hpp @@ -0,0 +1,44 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceTypeMin1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef enum ResourceTypeMin1 { + + RTM_LOGS = 0, // 0x00000000 + RTM_WOOD = 1, // 0x00000001 + RTM_HOPS = 2, // 0x00000002 + RTM_STONE = 3, // 0x00000003 + RTM_PARTIALSTONE = 4, // 0x00000004 + RTM_IRON = 5, // 0x00000005 + RTM_PITCH = 6, // 0x00000006 + RTM_PARTIALPITCH = 7, // 0x00000007 + RTM_WHEAT = 8, // 0x00000008 + RTM_BREAD = 9, // 0x00000009 + RTM_CHEESE = 10, // 0x0000000A + RTM_MEAT = 11, // 0x0000000B + RTM_APPLE = 12, // 0x0000000C + RTM_ALE = 13, // 0x0000000D + RTM_GOLD = 14, // 0x0000000E + RTM_FLOUR = 15, // 0x0000000F + RTM_BOW = 16, // 0x00000010 + RTM_CROSSBOW = 17, // 0x00000011 + RTM_SPEAR = 18, // 0x00000012 + RTM_PIKE = 19, // 0x00000013 + RTM_MACE = 20, // 0x00000014 + RTM_SWORD = 21, // 0x00000015 + RTM_LEATHERARMOR = 22, // 0x00000016 + RTM_IRONARMOR = 23, // 0x00000017 + ResourceTypeMin1Byte__RTM_PITCH_REFINED = 7 // 0x00000007 + + } ResourceTypeMin1; + + static_assert_cpp98_obj(sizeof(ResourceTypeMin1) == 4, ResourceTypeMin1); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceTypeMin1Byte.hpp b/src/OpenSHC/Game/Resources/ResourceTypeMin1Byte.hpp new file mode 100644 index 0000000..4511d31 --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceTypeMin1Byte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceTypeMin1Byte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceTypeMin1.hpp" + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef byte ResourceTypeMin1Byte; + + static_assert_cpp98_obj(sizeof(ResourceTypeMin1Byte) == 1, ResourceTypeMin1Byte); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceTypeMin1Int.hpp b/src/OpenSHC/Game/Resources/ResourceTypeMin1Int.hpp new file mode 100644 index 0000000..a2c234d --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceTypeMin1Int.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceTypeMin1Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceTypeMin1.hpp" + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef int ResourceTypeMin1Int; + + static_assert_cpp98_obj(sizeof(ResourceTypeMin1Int) == 4, ResourceTypeMin1Int); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Resources/ResourceTypeShort.hpp b/src/OpenSHC/Game/Resources/ResourceTypeShort.hpp new file mode 100644 index 0000000..86f9f18 --- /dev/null +++ b/src/OpenSHC/Game/Resources/ResourceTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Resources/ResourceTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceType.hpp" + +namespace OpenSHC { +namespace Game { + namespace Resources { + typedef short ResourceTypeShort; + + static_assert_cpp98_obj(sizeof(ResourceTypeShort) == 2, ResourceTypeShort); + } // namespace Resources +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp b/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp new file mode 100644 index 0000000..c73b91b --- /dev/null +++ b/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Scenario/BarracksRecruitabilityShortArray.hpp" +#include "OpenSHC/Game/Scenario/BarracksRecruitabilityShortStruct.hpp" + +namespace OpenSHC { +namespace Game { + namespace Scenario { + + using OpenSHC::Game::Scenario::BarracksRecruitabilityShortArray; + using OpenSHC::Game::Scenario::BarracksRecruitabilityShortStruct; + +#pragma pack(push, 1) + // SIZE: 0x0000000E + typedef union BarracksRecruitabilityShort { + + BarracksRecruitabilityShortStruct recruitability; // 0x00000000 length: 14 + BarracksRecruitabilityShortArray array; // 0x00000000 length: 14 + + } BarracksRecruitabilityShort; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BarracksRecruitabilityShort) == 14, BarracksRecruitabilityShort); + } // namespace Scenario +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortArray.hpp b/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortArray.hpp new file mode 100644 index 0000000..ac87c23 --- /dev/null +++ b/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortArray.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Scenario/BarracksRecruitabilityShortArray.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Scenario { + +#pragma pack(push, 1) + // SIZE: 0x0000000E + typedef struct BarracksRecruitabilityShortArray { + + short barracksRecruitability[7]; // 0x00000000 length: 14 + + } BarracksRecruitabilityShortArray; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BarracksRecruitabilityShortArray) == 14, BarracksRecruitabilityShortArray); + } // namespace Scenario +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortStruct.hpp b/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortStruct.hpp new file mode 100644 index 0000000..be98ede --- /dev/null +++ b/src/OpenSHC/Game/Scenario/BarracksRecruitabilityShortStruct.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Scenario/BarracksRecruitabilityShortStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Scenario { + +#pragma pack(push, 1) + // SIZE: 0x0000000E + typedef struct BarracksRecruitabilityShortStruct { + + short archers; // 0x00000000 length: 2 + short crossbowmen; // 0x00000002 length: 2 + short spearmen; // 0x00000004 length: 2 + short pikemen; // 0x00000006 length: 2 + short macemen; // 0x00000008 length: 2 + short swordsmen; // 0x0000000A length: 2 + short knights; // 0x0000000C length: 2 + + } BarracksRecruitabilityShortStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BarracksRecruitabilityShortStruct) == 14, BarracksRecruitabilityShortStruct); + } // namespace Scenario +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/InGameEvent.hpp b/src/OpenSHC/Game/ScenarioEvents/InGameEvent.hpp new file mode 100644 index 0000000..5b48307 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/InGameEvent.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/InGameEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp" + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + + using OpenSHC::Game::ScenarioEvents::IngameEventHeader; + +#pragma pack(push, 1) + // SIZE: 0x000000E4 + typedef struct InGameEvent { + + IngameEventHeader header; // 0x00000000 length: 16 + int intensity; // 0x00000010 length: 4 + undefined eventData[208]; // 0x00000014 length: 208 + + } InGameEvent; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(InGameEvent) == 228, InGameEvent); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp b/src/OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp new file mode 100644 index 0000000..896da6a --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp @@ -0,0 +1,63 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + +#pragma pack(push, 1) + // SIZE: 0x000000A0 + typedef struct InGameEventExtra { + + int conditionOneIsTrue; // 0x00000000 length: 4 + int conditionTwoIsTrue; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + int field7_0x1c; // 0x0000001C length: 4 + int field8_0x20; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + int field11_0x2c; // 0x0000002C length: 4 + int field12_0x30; // 0x00000030 length: 4 + int field13_0x34; // 0x00000034 length: 4 + int field14_0x38; // 0x00000038 length: 4 + int field15_0x3c; // 0x0000003C length: 4 + int field16_0x40; // 0x00000040 length: 4 + int field17_0x44; // 0x00000044 length: 4 + int field18_0x48; // 0x00000048 length: 4 + int field19_0x4c; // 0x0000004C length: 4 + int field20_0x50; // 0x00000050 length: 4 + int field21_0x54; // 0x00000054 length: 4 + int field22_0x58; // 0x00000058 length: 4 + int field23_0x5c; // 0x0000005C length: 4 + int field24_0x60; // 0x00000060 length: 4 + int field25_0x64; // 0x00000064 length: 4 + int field26_0x68; // 0x00000068 length: 4 + int field27_0x6c; // 0x0000006C length: 4 + int field28_0x70; // 0x00000070 length: 4 + int field29_0x74; // 0x00000074 length: 4 + int field30_0x78; // 0x00000078 length: 4 + int field31_0x7c; // 0x0000007C length: 4 + int field32_0x80; // 0x00000080 length: 4 + int field33_0x84; // 0x00000084 length: 4 + int field34_0x88; // 0x00000088 length: 4 + int field35_0x8c; // 0x0000008C length: 4 + int field36_0x90; // 0x00000090 length: 4 + int field37_0x94; // 0x00000094 length: 4 + int field38_0x98; // 0x00000098 length: 4 + int field39_0x9c; // 0x0000009C length: 4 + + } InGameEventExtra; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(InGameEventExtra) == 160, InGameEventExtra); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/InGameEventUnion.hpp b/src/OpenSHC/Game/ScenarioEvents/InGameEventUnion.hpp new file mode 100644 index 0000000..0769c29 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/InGameEventUnion.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/InGameEventUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp" +#include "OpenSHC/Game/ScenarioEvents/IngameMessageEventItemContent.hpp" +#include "OpenSHC/Game/ScenarioEvents/IngameScenarioEventItemContent.hpp" + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + + using OpenSHC::Game::ScenarioEvents::IngameInvasionEventItemContent; + using OpenSHC::Game::ScenarioEvents::IngameMessageEventItemContent; + using OpenSHC::Game::ScenarioEvents::IngameScenarioEventItemContent; + +#pragma pack(push, 1) + // SIZE: 0x000000D4 + typedef union InGameEventUnion { + + IngameScenarioEventItemContent scenario; // 0x00000000 length: 212 + IngameInvasionEventItemContent invasion; // 0x00000000 length: 176 + IngameMessageEventItemContent message; // 0x00000000 length: 8 + + } InGameEventUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(InGameEventUnion) == 212, InGameEventUnion); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.func.hpp b/src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.func.hpp new file mode 100644 index 0000000..93bf764 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.func.hpp @@ -0,0 +1,25 @@ +/** + path: 'OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.func.hpp' +*/ + +#include "OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp" +#include "OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp" +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + namespace InGameEventUnionVersion_Func { + + using OpenSHC::Game::ScenarioEvents::ScenarioEventCondition; + + MACRO_FUNCTION_RESOLVER(undefined4 (InGameEventUnionVersion::*)(), false, Address::SHC_3BB0A8C1_0x004B7730, + &InGameEventUnionVersion::resetEvent) + resetEvent; + + MACRO_FUNCTION_RESOLVER(ScenarioEventCondition* (InGameEventUnionVersion::*)(), false, + Address::SHC_3BB0A8C1_0x004B77A0, &InGameEventUnionVersion::initializeScenarioEvent) + initializeScenarioEvent; + + } // namespace InGameEventUnionVersion_Func + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp b/src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp new file mode 100644 index 0000000..47bfc4a --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp @@ -0,0 +1,47 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/ScenarioEvents/InGameEventUnion.hpp" +#include "OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp" +#include "OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp" + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + + using OpenSHC::Game::ScenarioEvents::IngameEventHeader; + using OpenSHC::Game::ScenarioEvents::InGameEventUnion; + using OpenSHC::Game::ScenarioEvents::ScenarioEventCondition; + +#pragma pack(push, 1) + + // SIZE: 0x000000E4 + class InGameEventUnionVersion { + public: + IngameEventHeader header; // 0x00000000 length: 16 + InGameEventUnion data; // 0x00000010 length: 212 + + private: + InGameEventUnionVersion(InGameEventUnionVersion const&); + void operator=(InGameEventUnionVersion const&); + + InGameEventUnionVersion(); + ~InGameEventUnionVersion(); + + public: + undefined4 resetEvent(); + + ScenarioEventCondition* initializeScenarioEvent(); + }; + + static_assert_cpp98_obj(sizeof(InGameEventUnionVersion) == 228, InGameEventUnionVersion); + +#pragma pack(pop) + + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp b/src/OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp new file mode 100644 index 0000000..5887880 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct IngameEventHeader { + + int month; // 0x00000000 length: 4 + int year; // 0x00000004 length: 4 + int tl_type; // 0x00000008 length: 4 + short done; // 0x0000000C length: 2 + short pre_done; // 0x0000000E length: 2 + + } IngameEventHeader; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IngameEventHeader) == 16, IngameEventHeader); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp b/src/OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp new file mode 100644 index 0000000..d5bf2d1 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp @@ -0,0 +1,32 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + +#pragma pack(push, 1) + // SIZE: 0x000000B0 + typedef struct IngameInvasionEventItemContent { + + int totalUnitCount; // 0x00000000 length: 4 + int unitCountsPerUnitType[24]; // 0x00000004 length: 96 + int invasionPoint; // 0x00000064 length: 4 + int messageMonth; // 0x00000068 length: 4 + int messageYear; // 0x0000006C length: 4 + int repeatMonths; // 0x00000070 length: 4 + int crusaderArabian; // 0x00000074 length: 4 + int markerIDUnk; // 0x00000078 length: 4 + undefined1 padding_0x7c[52]; // 0x0000007C length: 52 + + } IngameInvasionEventItemContent; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IngameInvasionEventItemContent) == 176, IngameInvasionEventItemContent); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/IngameMessageEventItemContent.hpp b/src/OpenSHC/Game/ScenarioEvents/IngameMessageEventItemContent.hpp new file mode 100644 index 0000000..c70a7ac --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/IngameMessageEventItemContent.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/IngameMessageEventItemContent.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct IngameMessageEventItemContent { + + int messageID; // 0x00000000 length: 4 + int action; // 0x00000004 length: 4 + + } IngameMessageEventItemContent; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IngameMessageEventItemContent) == 8, IngameMessageEventItemContent); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/IngameScenarioEventItemContent.hpp b/src/OpenSHC/Game/ScenarioEvents/IngameScenarioEventItemContent.hpp new file mode 100644 index 0000000..20265b3 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/IngameScenarioEventItemContent.hpp @@ -0,0 +1,35 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/IngameScenarioEventItemContent.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp" + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + + using OpenSHC::Game::ScenarioEvents::ScenarioEventCondition; + +#pragma pack(push, 1) + // SIZE: 0x000000D4 + typedef struct IngameScenarioEventItemContent { + + int actionData; // 0x00000000 length: 4 + int ScenarioEventType; // 0x00000004 length: 4 + byte allOrAnyCondition; // 0x00000008 length: 1 + byte magic; // 0x00000009 length: 1 + byte repeat; // 0x0000000A length: 1 + byte repeatMonths; // 0x0000000B length: 1 + ScenarioEventCondition conditions[39]; // 0x0000000C length: 156 + undefined1 padding_0xa8[44]; // 0x000000A8 length: 44 + + } IngameScenarioEventItemContent; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IngameScenarioEventItemContent) == 212, IngameScenarioEventItemContent); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/InvasionEventItem.hpp b/src/OpenSHC/Game/ScenarioEvents/InvasionEventItem.hpp new file mode 100644 index 0000000..5da3d88 --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/InvasionEventItem.hpp @@ -0,0 +1,36 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/InvasionEventItem.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp" + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + + using OpenSHC::Game::ScenarioEvents::IngameEventHeader; + +#pragma pack(push, 1) + // SIZE: 0x000000E4 + typedef struct InvasionEventItem { + + IngameEventHeader header; // 0x00000000 length: 16 + int intensity; // 0x00000010 length: 4 + int units[24]; // 0x00000014 length: 96 + int magic; // 0x00000074 length: 4 + int messageMonth; // 0x00000078 length: 4 + int messageYear; // 0x0000007C length: 4 + int repeatMonths; // 0x00000080 length: 4 + int crusaderArabian; // 0x00000084 length: 4 + undefined1 padding_0x88[92]; // 0x00000088 length: 92 + + } InvasionEventItem; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(InvasionEventItem) == 228, InvasionEventItem); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp b/src/OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp new file mode 100644 index 0000000..8cf0cec --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct ScenarioEventCondition { + + short value; // 0x00000000 length: 2 + byte subType; // 0x00000002 length: 1 + byte enabled; // 0x00000003 length: 1 + + } ScenarioEventCondition; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ScenarioEventCondition) == 4, ScenarioEventCondition); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/ScenarioEvents/ScenarioEventItem.hpp b/src/OpenSHC/Game/ScenarioEvents/ScenarioEventItem.hpp new file mode 100644 index 0000000..3dce6fe --- /dev/null +++ b/src/OpenSHC/Game/ScenarioEvents/ScenarioEventItem.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/ScenarioEvents/ScenarioEventItem.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp" +#include "OpenSHC/Game/ScenarioEvents/ScenarioEventCondition.hpp" + +namespace OpenSHC { +namespace Game { + namespace ScenarioEvents { + + using OpenSHC::Game::ScenarioEvents::IngameEventHeader; + using OpenSHC::Game::ScenarioEvents::ScenarioEventCondition; + +#pragma pack(push, 1) + // SIZE: 0x000000E4 + typedef struct ScenarioEventItem { + + IngameEventHeader header; // 0x00000000 length: 16 + int intensity; // 0x00000010 length: 4 + int ScenarioEventType; // 0x00000014 length: 4 + byte allOrAnyCondition; // 0x00000018 length: 1 + byte magic; // 0x00000019 length: 1 + byte repeat; // 0x0000001A length: 1 + byte repeatMonths; // 0x0000001B length: 1 + ScenarioEventCondition conditions[39]; // 0x0000001C length: 156 + undefined1 padding_0xb8[44]; // 0x000000B8 length: 44 + + } ScenarioEventItem; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ScenarioEventItem) == 228, ScenarioEventItem); + } // namespace ScenarioEvents +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Siege/SiegeGameModeRelatedSection.hpp b/src/OpenSHC/Game/Siege/SiegeGameModeRelatedSection.hpp new file mode 100644 index 0000000..8352eff --- /dev/null +++ b/src/OpenSHC/Game/Siege/SiegeGameModeRelatedSection.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Siege/SiegeGameModeRelatedSection.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Siege { + +#pragma pack(push, 1) + // SIZE: 0x0000001C + typedef struct SiegeGameModeRelatedSection { + + int field0_0x0; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + + } SiegeGameModeRelatedSection; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SiegeGameModeRelatedSection) == 28, SiegeGameModeRelatedSection); + } // namespace Siege +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish.func.hpp b/src/OpenSHC/Game/Skirmish.func.hpp new file mode 100644 index 0000000..c11139c --- /dev/null +++ b/src/OpenSHC/Game/Skirmish.func.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Skirmish.hpp" +namespace OpenSHC { +namespace Game { + namespace Skirmish_Func { + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004AC570, &OpenSHC::Game::Skirmish::RecalculateAllies) + RecalculateAllies; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int index), false, Address::SHC_3BB0A8C1_0x004D5370, + &OpenSHC::Game::Skirmish::SkirmishLeaderboard_DeleteEntry) + SkirmishLeaderboard_DeleteEntry; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int reverseOrder), false, Address::SHC_3BB0A8C1_0x004D9290, + &OpenSHC::Game::Skirmish::Skirmish_SortAIOpponentOrder) + Skirmish_SortAIOpponentOrder; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004D9400, + &OpenSHC::Game::Skirmish::Skirmish_PrepareLeaderboardView) + Skirmish_PrepareLeaderboardView; + + } // namespace Skirmish_Func +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish.hpp b/src/OpenSHC/Game/Skirmish.hpp new file mode 100644 index 0000000..e738f02 --- /dev/null +++ b/src/OpenSHC/Game/Skirmish.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + + void __cdecl RecalculateAllies(); + + void __cdecl SkirmishLeaderboard_DeleteEntry(int index); + + void __cdecl Skirmish_SortAIOpponentOrder(int reverseOrder); + + void __cdecl Skirmish_PrepareLeaderboardView(); + + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/AttackVector.hpp b/src/OpenSHC/Game/Skirmish/AttackVector.hpp new file mode 100644 index 0000000..1f8e4a7 --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/AttackVector.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish/AttackVector.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct AttackVector { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + int tribeID; // 0x00000008 length: 4 + int tribeUIDUnk; // 0x0000000C length: 4 + + } AttackVector; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackVector) == 16, AttackVector); + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/SkirmishDefinedData.hpp b/src/OpenSHC/Game/Skirmish/SkirmishDefinedData.hpp new file mode 100644 index 0000000..c3b6812 --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/SkirmishDefinedData.hpp @@ -0,0 +1,83 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish/SkirmishDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Trading/ResourceAICResourceMappingEntry.hpp" +#include "OpenSHC/AI/Tribes/AIVUnitTypeMaxLocationPair.hpp" +#include "OpenSHC/Game/CampaignTrailMission.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Units/EngineerSiegeEngineMapping.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + + using OpenSHC::AI::Trading::ResourceAICResourceMappingEntry; + using OpenSHC::AI::Tribes::AIVUnitTypeMaxLocationPair; + using OpenSHC::Game::CampaignTrailMission; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Units::EngineerSiegeEngineMapping; + using OpenSHC::Map::Units::UnitTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x0000401C + typedef struct SkirmishDefinedData { + + UnitTypeInt DAT_UnitTypes_RangedAndArmored[7]; // 0x00000000 length: 28 + int DAT_AIType_MaxLordHealth_Mapping[17][2]; // 0x0000001C length: 136 + char** field2_0xa4; // 0x000000A4 length: 4 + char** field3_0xa8; // 0x000000A8 length: 4 + char** field4_0xac; // 0x000000AC length: 4 + char** field5_0xb0; // 0x000000B0 length: 4 + char** field6_0xb4; // 0x000000B4 length: 4 + char** field7_0xb8; // 0x000000B8 length: 4 + char** field8_0xbc; // 0x000000BC length: 4 + char** field9_0xc0; // 0x000000C0 length: 4 + char** field10_0xc4; // 0x000000C4 length: 4 + char** field11_0xc8; // 0x000000C8 length: 4 + char** field12_0xcc; // 0x000000CC length: 4 + char** field13_0xd0; // 0x000000D0 length: 4 + char** field14_0xd4; // 0x000000D4 length: 4 + char** field15_0xd8; // 0x000000D8 length: 4 + char** field16_0xdc; // 0x000000DC length: 4 + char** field17_0xe0; // 0x000000E0 length: 4 + char** field18_0xe4; // 0x000000E4 length: 4 + int DAT_AIUnitBehaviourTypeMapping[11]; // 0x000000E8 length: 44 + CampaignTrailMission DAT_SkirmishTrailMissions[50]; // 0x00000114 length: 7200 + CampaignTrailMission DAT_WarchestTrailMissions[30]; // 0x00001D34 length: 4320 + CampaignTrailMission DAT_ExtremeTrailMissions[20]; // 0x00002E14 length: 2880 + ResourceAICResourceMappingEntry DAT_AIResourceTradeAICMapping[20]; // 0x00003954 length: 160 + ResourceTypeInt DAT_ResourceAcqusitionPreferenceOrder[20]; // 0x000039F4 length: 80 + int field25_0x3a44[6]; // 0x00003A44 length: 24 + int DAT_AIBehaviourTypeUnitRequired[11][2]; // 0x00003A5C length: 88 + UnitTypeInt DAT_SomeAIUnitTypeArray[20]; // 0x00003AB4 length: 80 + int DAT_AiTribeIDOffsetForUnitType[20]; // 0x00003B04 length: 80 + EngineerSiegeEngineMapping DAT_SiegeEngineMetaInfoArray[4]; // 0x00003B54 length: 64 + UnitTypeInt DefenseTribesUnitTypeArray[20]; // 0x00003B94 length: 80 + AIVUnitTypeMaxLocationPair AIVUnitTypeMaxLocationPairArray_RangedUnits[6]; // 0x00003BE4 length: 48 + AIVUnitTypeMaxLocationPair AIVUnitTypeMaxLocationPairArray_GroundUnits[6]; // 0x00003C14 length: 48 + AIVUnitTypeMaxLocationPair AIVUnitTypeMaxLocationPairArray_PatrolUnits[3]; // 0x00003C44 length: 24 + int DAT_TribeTypeID[6]; // 0x00003C5C length: 24 + BuildingTypeInt field35_0x3c74[46]; // 0x00003C74 length: 184 + BuildingTypeInt field36_0x3d2c[46]; // 0x00003D2C length: 184 + BuildingTypeInt field37_0x3de4[46]; // 0x00003DE4 length: 184 + int DAT_AttackTribes_AITribeType_MaxTribeCount_Mapping[11][2]; // 0x00003E9C length: 88 + int DAT_SiegeEngineCommandBuildingTypes[6]; // 0x00003EF4 length: 24 + int DAT_SiegeEngineUnitType[6]; // 0x00003F0C length: 24 + int DAT_SiegeEngineTypeRequiredEngineers[6]; // 0x00003F24 length: 24 + int DAT_BreachTribeTypes_TribeGroupCount_Mapping[11][2]; // 0x00003F3C length: 88 + int field43_0x3f94[34]; // 0x00003F94 length: 136 + + } SkirmishDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SkirmishDefinedData) == 16412, SkirmishDefinedData); + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.func.hpp b/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.func.hpp new file mode 100644 index 0000000..8cf46d3 --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.func.hpp @@ -0,0 +1,22 @@ +/** + path: 'OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.func.hpp' +*/ + +#include "OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp" +namespace OpenSHC { +namespace Game { + namespace Skirmish { + namespace SkirmishLobbySetupStructure_Func { + + MACRO_FUNCTION_RESOLVER(void (SkirmishLobbySetupStructure::*)(), false, Address::SHC_3BB0A8C1_0x00486C40, + &SkirmishLobbySetupStructure::commitSkirmishSettings) + commitSkirmishSettings; + + MACRO_FUNCTION_RESOLVER(void (SkirmishLobbySetupStructure::*)(), false, Address::SHC_3BB0A8C1_0x00490060, + &SkirmishLobbySetupStructure::restoreSkirmishLobbySetup) + restoreSkirmishLobbySetup; + + } // namespace SkirmishLobbySetupStructure_Func + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp b/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp new file mode 100644 index 0000000..1b0cecc --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp @@ -0,0 +1,67 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + +#pragma pack(push, 1) + + // SIZE: 0x00000108 + class SkirmishLobbySetupStructure { + public: + dword mapu4int2; // 0x00000000 length: 4 + dword mbr_0x4; // 0x00000004 length: 4 + char mapName[80]; // 0x00000008 length: 80 + byte roundTableOrderArray[9]; // 0x00000058 length: 9 + byte playerGroupArray[9]; // 0x00000061 length: 9 + byte slot1Position; // 0x0000006A length: 1 + byte slot2Position; // 0x0000006B length: 1 + byte slot3Position; // 0x0000006C length: 1 + byte slot4Position; // 0x0000006D length: 1 + byte slot5Position; // 0x0000006E length: 1 + byte slot6Position; // 0x0000006F length: 1 + byte slot7Position; // 0x00000070 length: 1 + byte slot8Position; // 0x00000071 length: 1 + undefined1 padding_0x72[2]; // 0x00000072 length: 2 + int currentPlayerSlotID; // 0x00000074 length: 4 + int currentAdvantageBalance; // 0x00000078 length: 4 + int currentAdvantageGroup; // 0x0000007C length: 4 + dword mbr_0x80; // 0x00000080 length: 4 + int currentAIArray[9]; // 0x00000084 length: 36 + int aiVariationArray[9]; // 0x000000A8 length: 36 + int playerLordTypeArray[9]; // 0x000000CC length: 36 + dword mbr_0xf0; // 0x000000F0 length: 4 + dword selectedLordType; // 0x000000F4 length: 4 + dword popularity; // 0x000000F8 length: 4 + dword mbr_0xfc; // 0x000000FC length: 4 + dword mapSelectionScrollOffset; // 0x00000100 length: 4 + dword mapSelectionRelativeSelected; // 0x00000104 length: 4 + + private: + SkirmishLobbySetupStructure(SkirmishLobbySetupStructure const&); + void operator=(SkirmishLobbySetupStructure const&); + + SkirmishLobbySetupStructure(); + ~SkirmishLobbySetupStructure(); + + public: + void commitSkirmishSettings(); + + void restoreSkirmishLobbySetup(); + }; + + static_assert_cpp98_obj(sizeof(SkirmishLobbySetupStructure) == 264, SkirmishLobbySetupStructure); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(SkirmishLobbySetupStructure, false, Address::SHC_3BB0A8C1_0x00DF4118) + pDAT_SkirmishLobbySetupStructure; + + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructureLongName.hpp b/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructureLongName.hpp new file mode 100644 index 0000000..eb68cc6 --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/SkirmishLobbySetupStructureLongName.hpp @@ -0,0 +1,51 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish/SkirmishLobbySetupStructureLongName.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + +#pragma pack(push, 1) + // SIZE: 0x000004A0 + typedef struct SkirmishLobbySetupStructureLongName { + + dword mapu4int2; // 0x00000000 length: 4 + dword mbr_0x4; // 0x00000004 length: 4 + char mapName[1000]; // 0x00000008 length: 1000 + byte roundTableOrderArray[9]; // 0x000003F0 length: 9 + byte playerGroupArray[9]; // 0x000003F9 length: 9 + byte slot1Position; // 0x00000402 length: 1 + byte slot2Position; // 0x00000403 length: 1 + byte slot3Position; // 0x00000404 length: 1 + byte slot4Position; // 0x00000405 length: 1 + byte slot5Position; // 0x00000406 length: 1 + byte slot6Position; // 0x00000407 length: 1 + byte slot7Position; // 0x00000408 length: 1 + byte slot8Position; // 0x00000409 length: 1 + undefined1 padding_0x40a[2]; // 0x0000040A length: 2 + int currentPlayerSlotID; // 0x0000040C length: 4 + int currentAdvantageBalance; // 0x00000410 length: 4 + int currentAdvantageGroup; // 0x00000414 length: 4 + dword mbr_0x80; // 0x00000418 length: 4 + int currentAIArray[9]; // 0x0000041C length: 36 + int aiVariationArray[9]; // 0x00000440 length: 36 + int playerLordTypeArray[9]; // 0x00000464 length: 36 + dword mbr_0xf0; // 0x00000488 length: 4 + dword selectedLordType; // 0x0000048C length: 4 + dword popularity; // 0x00000490 length: 4 + dword mbr_0xfc; // 0x00000494 length: 4 + dword mapSelectionScrollOffset; // 0x00000498 length: 4 + dword mapSelectionRelativeSelected; // 0x0000049C length: 4 + + } SkirmishLobbySetupStructureLongName; +#pragma pack(pop) + + static_assert_cpp98_obj( + sizeof(SkirmishLobbySetupStructureLongName) == 1184, SkirmishLobbySetupStructureLongName); + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/SkirmishStatistics.hpp b/src/OpenSHC/Game/Skirmish/SkirmishStatistics.hpp new file mode 100644 index 0000000..ddf636f --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/SkirmishStatistics.hpp @@ -0,0 +1,55 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish/SkirmishStatistics.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + +#pragma pack(push, 1) + // SIZE: 0x00000778 + typedef struct SkirmishStatistics { + + char names[9][90]; // 0x00000000 length: 810 + byte active[9]; // 0x0000032A length: 9 + byte padding0; // 0x00000333 length: 1 + int finalGold[9]; // 0x00000334 length: 36 + short finalMaxPopulation[9]; // 0x00000358 length: 18 + byte finalMaxGoodThings[9]; // 0x0000036A length: 9 + byte padding1; // 0x00000373 length: 1 + int finalTimeAlive[9]; // 0x00000374 length: 36 + int finalKillMatrix[9][9]; // 0x00000398 length: 324 + int finalBuildingsBurned[9]; // 0x000004DC length: 36 + int finalFoodProduced[9]; // 0x00000500 length: 36 + int finalIronProduced[9]; // 0x00000524 length: 36 + int finalStoneProduced[9]; // 0x00000548 length: 36 + int finalWoodProduced[9]; // 0x0000056C length: 36 + int finalPitchProduced[9]; // 0x00000590 length: 36 + byte finalMaxBadThings[9]; // 0x000005B4 length: 9 + byte finalKilledLords[9]; // 0x000005BD length: 9 + byte padding2[2]; // 0x000005C6 length: 2 + int finalWeaponsProduced[9]; // 0x000005C8 length: 36 + int finalBuidingsDestroyed[9]; // 0x000005EC length: 36 + int finalTroopsKilledWeighted[9]; // 0x00000610 length: 36 + int finalBuildingsDestroyedWeighted[9]; // 0x00000634 length: 36 + int finalTroopsProduced[9]; // 0x00000658 length: 36 + int finalGoodsRecieved[9]; // 0x0000067C length: 36 + int finalGoodsSent[9]; // 0x000006A0 length: 36 + int unusedUnk[9]; // 0x000006C4 length: 36 + int finalDateOfDeathInMonths[9]; // 0x000006E8 length: 36 + int yearStart; // 0x0000070C length: 4 + int monthStart; // 0x00000710 length: 4 + int yearEnd; // 0x00000714 length: 4 + int monthEnd; // 0x00000718 length: 4 + byte padding3[92]; // 0x0000071C length: 92 + + } SkirmishStatistics; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SkirmishStatistics) == 1912, SkirmishStatistics); + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/Skirmish/StartingResourceStructureInt.hpp b/src/OpenSHC/Game/Skirmish/StartingResourceStructureInt.hpp new file mode 100644 index 0000000..6a30fb0 --- /dev/null +++ b/src/OpenSHC/Game/Skirmish/StartingResourceStructureInt.hpp @@ -0,0 +1,48 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/Skirmish/StartingResourceStructureInt.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace Skirmish { + +#pragma pack(push, 1) + // SIZE: 0x00000064 + typedef struct StartingResourceStructureInt { + + int invalid1; // 0x00000000 length: 4 + int invalid2; // 0x00000004 length: 4 + int wood; // 0x00000008 length: 4 + int hops; // 0x0000000C length: 4 + int stone; // 0x00000010 length: 4 + int partialstone; // 0x00000014 length: 4 + int iron; // 0x00000018 length: 4 + int pitch; // 0x0000001C length: 4 + int partialpitch; // 0x00000020 length: 4 + int wheat; // 0x00000024 length: 4 + int bread; // 0x00000028 length: 4 + int cheese; // 0x0000002C length: 4 + int meat; // 0x00000030 length: 4 + int apple; // 0x00000034 length: 4 + int beer; // 0x00000038 length: 4 + int gold; // 0x0000003C length: 4 + int flour; // 0x00000040 length: 4 + int bows; // 0x00000044 length: 4 + int crossbows; // 0x00000048 length: 4 + int spear; // 0x0000004C length: 4 + int pike; // 0x00000050 length: 4 + int mace; // 0x00000054 length: 4 + int sword; // 0x00000058 length: 4 + int leatherarmor; // 0x0000005C length: 4 + int metalarmor; // 0x00000060 length: 4 + + } StartingResourceStructureInt; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(StartingResourceStructureInt) == 100, StartingResourceStructureInt); + } // namespace Skirmish +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/State/MapAndTimeState.hpp b/src/OpenSHC/Game/State/MapAndTimeState.hpp new file mode 100644 index 0000000..e090d95 --- /dev/null +++ b/src/OpenSHC/Game/State/MapAndTimeState.hpp @@ -0,0 +1,303 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/State/MapAndTimeState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Market/BuySellPair.hpp" +#include "OpenSHC/Game/Skirmish/AttackVector.hpp" +#include "OpenSHC/Map/Location/Point8IntXY.hpp" +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +#include "OpenSHC/Map/Navigation/Algorithms/XYTileObject.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Game { + namespace State { + + using OpenSHC::Game::Market::BuySellPair; + using OpenSHC::Game::Skirmish::AttackVector; + using OpenSHC::Map::Location::Point8IntXY; + using OpenSHC::Map::Navigation::Algorithms::XYPair; + using OpenSHC::Map::Navigation::Algorithms::XYTileObject; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x000401D0 + typedef struct MapAndTimeState { + + int field0_0x0; // 0x00000000 length: 4 + BOOLEnum singlePlayerHasKeepAndGranary; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + int field7_0x1c; // 0x0000001C length: 4 + int field8_0x20; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + int field11_0x2c; // 0x0000002C length: 4 + int field12_0x30; // 0x00000030 length: 4 + int field13_0x34; // 0x00000034 length: 4 + int field14_0x38; // 0x00000038 length: 4 + int field15_0x3c; // 0x0000003C length: 4 + int field16_0x40; // 0x00000040 length: 4 + int field17_0x44; // 0x00000044 length: 4 + int field18_0x48; // 0x00000048 length: 4 + int field19_0x4c; // 0x0000004C length: 4 + int field20_0x50; // 0x00000050 length: 4 + int field21_0x54; // 0x00000054 length: 4 + int field22_0x58[2][5]; // 0x00000058 length: 40 + int field23_0x80; // 0x00000080 length: 4 + int field24_0x84; // 0x00000084 length: 4 + int field25_0x88; // 0x00000088 length: 4 + int field26_0x8c; // 0x0000008C length: 4 + int field27_0x90; // 0x00000090 length: 4 + int field28_0x94; // 0x00000094 length: 4 + int field29_0x98; // 0x00000098 length: 4 + int field30_0x9c; // 0x0000009C length: 4 + int field31_0xa0; // 0x000000A0 length: 4 + int field32_0xa4; // 0x000000A4 length: 4 + int field33_0xa8; // 0x000000A8 length: 4 + int field34_0xac; // 0x000000AC length: 4 + int field35_0xb0; // 0x000000B0 length: 4 + int field36_0xb4; // 0x000000B4 length: 4 + int field37_0xb8; // 0x000000B8 length: 4 + int field38_0xbc; // 0x000000BC length: 4 + int field39_0xc0; // 0x000000C0 length: 4 + int field40_0xc4; // 0x000000C4 length: 4 + int field41_0xc8; // 0x000000C8 length: 4 + int emenyHitArray[9]; // 0x000000CC length: 36 + int field43_0xf0; // 0x000000F0 length: 4 + int field44_0xf4; // 0x000000F4 length: 4 + int field45_0xf8; // 0x000000F8 length: 4 + DWORD gameOverTime; // 0x000000FC length: 4 + int drunkenManStatus; // 0x00000100 length: 4 + undefined1 padding_0x104[148]; // 0x00000104 length: 148 + int field196_0x198; // 0x00000198 length: 4 + undefined1 padding_0x19c[380]; // 0x0000019C length: 380 + int cathedralRelated1; // 0x00000318 length: 4 + undefined1 padding_0x31c[8]; // 0x0000031C length: 8 + int week; // 0x00000324 length: 4 + int month; // 0x00000328 length: 4 + int year; // 0x0000032C length: 4 + undefined1 padding_0x330[8]; // 0x00000330 length: 8 + int monthChanged; // 0x00000338 length: 4 + int yearChanged; // 0x0000033C length: 4 + int weekChanged; // 0x00000340 length: 4 + int strongWalls2; // 0x00000344 length: 4 + int field601_0x348; // 0x00000348 length: 4 + int counterForUpdatingSeparateAreaTileMaps; // 0x0000034C length: 4 + int totalGameTicksUnk; // 0x00000350 length: 4 + int treeSpreadCounter; // 0x00000354 length: 4 + int newOrganisms; // 0x00000358 length: 4 + int treeSpreadInterval; // 0x0000035C length: 4 + int newOrganismsValue2; // 0x00000360 length: 4 + BOOLEnum startOfDay; // 0x00000364 length: 4 + int section1023; // 0x00000368 length: 4 + undefined1 padding_0x36c[436]; // 0x0000036C length: 436 + XYPair somePairArray; // 0x00000520 length: 8 + undefined1 padding_0x528[312]; // 0x00000528 length: 312 + int startGoods[25]; // 0x00000660 length: 100 + undefined1 padding_0x6c4[4]; // 0x000006C4 length: 4 + int field1364_0x6c8; // 0x000006C8 length: 4 + int field1365_0x6cc; // 0x000006CC length: 4 + int field1366_0x6d0; // 0x000006D0 length: 4 + int field1367_0x6d4; // 0x000006D4 length: 4 + int field1368_0x6d8; // 0x000006D8 length: 4 + int field1369_0x6dc; // 0x000006DC length: 4 + int field1370_0x6e0; // 0x000006E0 length: 4 + int field1371_0x6e4; // 0x000006E4 length: 4 + int field1372_0x6e8; // 0x000006E8 length: 4 + int field1373_0x6ec; // 0x000006EC length: 4 + int field1374_0x6f0; // 0x000006F0 length: 4 + int field1375_0x6f4; // 0x000006F4 length: 4 + int field1376_0x6f8; // 0x000006F8 length: 4 + int field1377_0x6fc; // 0x000006FC length: 4 + int field1378_0x700; // 0x00000700 length: 4 + int field1379_0x704; // 0x00000704 length: 4 + int field1380_0x708; // 0x00000708 length: 4 + int field1381_0x70c; // 0x0000070C length: 4 + int field1382_0x710; // 0x00000710 length: 4 + int startingPopularity; // 0x00000714 length: 4 + undefined1 padding_0x718[4]; // 0x00000718 length: 4 + int field1388_0x71c; // 0x0000071C length: 4 + int field1389_0x720; // 0x00000720 length: 4 + int traderRelated1; // 0x00000724 length: 4 + int traderRelatedCounter2; // 0x00000728 length: 4 + int traderRelatedCounter1; // 0x0000072C length: 4 + int traderRelated2; // 0x00000730 length: 4 + int field1394_0x734; // 0x00000734 length: 4 + undefined1 padding_0x738[72]; // 0x00000738 length: 72 + BuySellPair copyOfBuyAndSalesPrice[25]; // 0x00000780 length: 200 + BuySellPair buyAndSalesPriceArray[25]; // 0x00000848 length: 200 + int unknownResouceFlagArray1[25]; // 0x00000910 length: 100 + int unknownResourceFlagArray2[25]; // 0x00000974 length: 100 + int isResourceTradeable[25]; // 0x000009D8 length: 100 + int field1472_0xa3c; // 0x00000A3C length: 4 + short deerSpawnLocationsXY[4][2]; // 0x00000A40 length: 16 + int field1474_0xa50; // 0x00000A50 length: 4 + undefined1 padding_0xa54[800]; // 0x00000A54 length: 800 + BOOLEnum gameOver; // 0x00000D74 length: 4 + int unknownCountdown01; // 0x00000D78 length: 4 + int euroRecruitable[7]; // 0x00000D7C length: 28 + int euroRecruitableCopy_index_0; // 0x00000D98 length: 4 + int euroRecruitableCopy_index_1_b; // 0x00000D9C length: 4 + int euroRecruitableCopy_index_2; // 0x00000DA0 length: 4 + int euroRecruitableCopy_index_3_b; // 0x00000DA4 length: 4 + int field2282_0xda8; // 0x00000DA8 length: 4 + int euroRecruitableCopy_index_6_a; // 0x00000DAC length: 4 + int euroRecruitableCopy_index_1_a; // 0x00000DB0 length: 4 + int euroRecruitableCopy_index_3_a_and_6_b; // 0x00000DB4 length: 4 + int euroRecruitableCopy_index_6_c; // 0x00000DB8 length: 4 + int playerTeams[9]; // 0x00000DBC length: 36 + int difficulty; // 0x00000DE0 length: 4 + short scenarioRationsSetting; // 0x00000DE4 length: 2 + short scenarioTaxesSetting; // 0x00000DE6 length: 2 + short scenarioGold; // 0x00000DE8 length: 2 + short editScenarioExtraOptions; // 0x00000DEA length: 2 + short field2293_0xdec; // 0x00000DEC length: 2 + short field2294_0xdee; // 0x00000DEE length: 2 + short field2295_0xdf0[4][2]; // 0x00000DF0 length: 16 + short field2296_0xe00; // 0x00000E00 length: 2 + short field2297_0xe02; // 0x00000E02 length: 2 + short playerPopulationStatistics[9][300]; // 0x00000E04 length: 5400 + int populationIndex; // 0x0000231C length: 4 + undefined1 padding_0x2320[816]; // 0x00002320 length: 816 + int signpostsMapEdgeDataCounter; // 0x00002650 length: 4 + int field3117_0x2654; // 0x00002654 length: 4 + int field3118_0x2658; // 0x00002658 length: 4 + int field3119_0x265c; // 0x0000265C length: 4 + int field3120_0x2660; // 0x00002660 length: 4 + int field3121_0x2664; // 0x00002664 length: 4 + int field3122_0x2668; // 0x00002668 length: 4 + int field3123_0x266c; // 0x0000266C length: 4 + int field3124_0x2670; // 0x00002670 length: 4 + int field3125_0x2674; // 0x00002674 length: 4 + int field3126_0x2678; // 0x00002678 length: 4 + int field3127_0x267c; // 0x0000267C length: 4 + int field3128_0x2680; // 0x00002680 length: 4 + int field3129_0x2684; // 0x00002684 length: 4 + int field3130_0x2688; // 0x00002688 length: 4 + int field3131_0x268c; // 0x0000268C length: 4 + int field3132_0x2690; // 0x00002690 length: 4 + int field3133_0x2694; // 0x00002694 length: 4 + int field3134_0x2698; // 0x00002698 length: 4 + int field3135_0x269c; // 0x0000269C length: 4 + int field3136_0x26a0; // 0x000026A0 length: 4 + int field3137_0x26a4; // 0x000026A4 length: 4 + int field3138_0x26a8; // 0x000026A8 length: 4 + int field3139_0x26ac; // 0x000026AC length: 4 + int field3140_0x26b0; // 0x000026B0 length: 4 + int field3141_0x26b4; // 0x000026B4 length: 4 + int field3142_0x26b8; // 0x000026B8 length: 4 + int field3143_0x26bc; // 0x000026BC length: 4 + int field3144_0x26c0; // 0x000026C0 length: 4 + int field3145_0x26c4; // 0x000026C4 length: 4 + int field3146_0x26c8; // 0x000026C8 length: 4 + int field3147_0x26cc; // 0x000026CC length: 4 + int field3148_0x26d0; // 0x000026D0 length: 4 + int field3149_0x26d4; // 0x000026D4 length: 4 + int field3150_0x26d8; // 0x000026D8 length: 4 + int field3151_0x26dc; // 0x000026DC length: 4 + int field3152_0x26e0; // 0x000026E0 length: 4 + int field3153_0x26e4; // 0x000026E4 length: 4 + int field3154_0x26e8; // 0x000026E8 length: 4 + int field3155_0x26ec; // 0x000026EC length: 4 + int field3156_0x26f0; // 0x000026F0 length: 4 + int field3157_0x26f4; // 0x000026F4 length: 4 + int field3158_0x26f8; // 0x000026F8 length: 4 + int field3159_0x26fc; // 0x000026FC length: 4 + int field3160_0x2700; // 0x00002700 length: 4 + int field3161_0x2704; // 0x00002704 length: 4 + int field3162_0x2708; // 0x00002708 length: 4 + int field3163_0x270c; // 0x0000270C length: 4 + int field3164_0x2710; // 0x00002710 length: 4 + int field3165_0x2714; // 0x00002714 length: 4 + int field3166_0x2718; // 0x00002718 length: 4 + int field3167_0x271c; // 0x0000271C length: 4 + int field3168_0x2720; // 0x00002720 length: 4 + int field3169_0x2724; // 0x00002724 length: 4 + int field3170_0x2728; // 0x00002728 length: 4 + int field3171_0x272c; // 0x0000272C length: 4 + int field3172_0x2730; // 0x00002730 length: 4 + int field3173_0x2734; // 0x00002734 length: 4 + int field3174_0x2738; // 0x00002738 length: 4 + int field3175_0x273c; // 0x0000273C length: 4 + int field3176_0x2740; // 0x00002740 length: 4 + int field3177_0x2744; // 0x00002744 length: 4 + int field3178_0x2748; // 0x00002748 length: 4 + int field3179_0x274c; // 0x0000274C length: 4 + int field3180_0x2750; // 0x00002750 length: 4 + int field3181_0x2754; // 0x00002754 length: 4 + int field3182_0x2758; // 0x00002758 length: 4 + int field3183_0x275c; // 0x0000275C length: 4 + int field3184_0x2760; // 0x00002760 length: 4 + int field3185_0x2764; // 0x00002764 length: 4 + int field3186_0x2768; // 0x00002768 length: 4 + int field3187_0x276c; // 0x0000276C length: 4 + int field3188_0x2770; // 0x00002770 length: 4 + int gameEventRelatedCountdown; // 0x00002774 length: 4 + int unk_signpostDistance; // 0x00002778 length: 4 + int field3191_0x277c; // 0x0000277C length: 4 + short rabbitSpawnXY[4][2]; // 0x00002780 length: 16 + int field3193_0x2790; // 0x00002790 length: 4 + short camelSpawnXY[4][2]; // 0x00002794 length: 16 + int field3195_0x27a4; // 0x000027A4 length: 4 + int field3196_0x27a8; // 0x000027A8 length: 4 + int field3197_0x27ac; // 0x000027AC length: 4 + int somePlayerID; // 0x000027B0 length: 4 + short playerIsAlive[9]; // 0x000027B4 length: 18 + short field3200_0x27c6; // 0x000027C6 length: 2 + int field3201_0x27c8; // 0x000027C8 length: 4 + int deerCount; // 0x000027CC length: 4 + int armySizeLimit; // 0x000027D0 length: 4 + short field3204_0x27d4; // 0x000027D4 length: 2 + short field3205_0x27d6; // 0x000027D6 length: 2 + short yearCopy; // 0x000027D8 length: 2 + short monthCopy; // 0x000027DA length: 2 + short field3208_0x27dc; // 0x000027DC length: 2 + short field3209_0x27de; // 0x000027DE length: 2 + int noDogs; // 0x000027E0 length: 4 + int field3211_0x27e4; // 0x000027E4 length: 4 + int field3212_0x27e8; // 0x000027E8 length: 4 + int noCowThrowing; // 0x000027EC length: 4 + int totalNoRushTicks; // 0x000027F0 length: 4 + int noRushTicksLeftUnk; // 0x000027F4 length: 4 + int rawDeerCount; // 0x000027F8 length: 4 + undefined1 padding_0x27fc[252]; // 0x000027FC length: 252 + int mercRecruitable[7]; // 0x000028F8 length: 28 + undefined1 padding_0x2914[4]; // 0x00002914 length: 4 + int signpostIDs[8]; // 0x00002918 length: 32 + undefined1 padding_0x2938[32]; // 0x00002938 length: 32 + int signpostEntryData[8][4]; // 0x00002958 length: 128 + undefined1 padding_0x29d8[124]; // 0x000029D8 length: 124 + int strongWalls; // 0x00002A54 length: 4 + XYTileObject signpostsMapEdge[7][50]; // 0x00002A58 length: 5600 + undefined1 padding_0x4038[480]; // 0x00004038 length: 480 + Point8IntXY aiTribeMoveDestinationXYPairArray1[5][8]; // 0x00004218 length: 320 + XYPair unitMoveDestinationXYPairs[8][40]; // 0x00004358 length: 2560 + AttackVector attackVectors[9][50]; // 0x00004D58 length: 7200 + undefined1 padding_0x6978[800]; // 0x00006978 length: 800 + int playerGroupArray[9]; // 0x00006C98 length: 36 + undefined1 padding_0x6cbc[4]; // 0x00006CBC length: 4 + int playerBuildingInfoIndex[9]; // 0x00006CC0 length: 36 + int playerEnemyBuildingIDs[9][2000]; // 0x00006CE4 length: 72000 + int playerEnemyBuildingUID[9][2000]; // 0x00018624 length: 72000 + int playerEnemenyUnitUIDShortList[9][2500]; // 0x00029F64 length: 90000 + int dayTicks; // 0x0003FEF4 length: 4 + int weekTicks; // 0x0003FEF8 length: 4 + int monthTicks; // 0x0003FEFC length: 4 + byte unused_0x3ff00[80]; // 0x0003FF00 length: 80 + int startingTroops[8][20]; // 0x0003FF50 length: 640 + + } MapAndTimeState; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapAndTimeState) == 262608, MapAndTimeState); + } // namespace State +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/State/UnitIDUIDPair.hpp b/src/OpenSHC/Game/State/UnitIDUIDPair.hpp new file mode 100644 index 0000000..2d84196 --- /dev/null +++ b/src/OpenSHC/Game/State/UnitIDUIDPair.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/State/UnitIDUIDPair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + namespace State { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct UnitIDUIDPair { + + int id; // 0x00000000 length: 4 + int uid; // 0x00000004 length: 4 + + } UnitIDUIDPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitIDUIDPair) == 8, UnitIDUIDPair); + } // namespace State +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/State/UnitSelectionHotKeyEntry.hpp b/src/OpenSHC/Game/State/UnitSelectionHotKeyEntry.hpp new file mode 100644 index 0000000..8dae595 --- /dev/null +++ b/src/OpenSHC/Game/State/UnitSelectionHotKeyEntry.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/State/UnitSelectionHotKeyEntry.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/State/UnitIDUIDPair.hpp" + +namespace OpenSHC { +namespace Game { + namespace State { + + using OpenSHC::Game::State::UnitIDUIDPair; + +#pragma pack(push, 1) + // SIZE: 0x00004E20 + typedef struct UnitSelectionHotKeyEntry { + + UnitIDUIDPair units[2500]; // 0x00000000 length: 20000 + + } UnitSelectionHotKeyEntry; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitSelectionHotKeyEntry) == 20000, UnitSelectionHotKeyEntry); + } // namespace State +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/TradeableResourcesSection.hpp b/src/OpenSHC/Game/TradeableResourcesSection.hpp new file mode 100644 index 0000000..bdcd9e8 --- /dev/null +++ b/src/OpenSHC/Game/TradeableResourcesSection.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/TradeableResourcesSection.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x00000064 + typedef struct TradeableResourcesSection { + + BOOLEnum tradeabilityArray[25]; // 0x00000000 length: 100 + + } TradeableResourcesSection; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TradeableResourcesSection) == 100, TradeableResourcesSection); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/TrailType.hpp b/src/OpenSHC/Game/TrailType.hpp new file mode 100644 index 0000000..1905f95 --- /dev/null +++ b/src/OpenSHC/Game/TrailType.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/TrailType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Game { + typedef enum TrailType { + + TT_FIRST_EDITION = 0, // 0x00000000 + TT_WARCHEST = 1, // 0x00000001 + TT_EXTREME = 2 // 0x00000002 + + } TrailType; + + static_assert_cpp98_obj(sizeof(TrailType) == 4, TrailType); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/TrailTypeInt.hpp b/src/OpenSHC/Game/TrailTypeInt.hpp new file mode 100644 index 0000000..f93443e --- /dev/null +++ b/src/OpenSHC/Game/TrailTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/TrailTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/TrailType.hpp" + +namespace OpenSHC { +namespace Game { + typedef int TrailTypeInt; + + static_assert_cpp98_obj(sizeof(TrailTypeInt) == 4, TrailTypeInt); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Game/TroopDefinedData.hpp b/src/OpenSHC/Game/TroopDefinedData.hpp new file mode 100644 index 0000000..9be67d6 --- /dev/null +++ b/src/OpenSHC/Game/TroopDefinedData.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Game/TroopDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" + +namespace OpenSHC { +namespace Game { + + using OpenSHC::Game::Resources::ResourceTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000354 + typedef struct TroopDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + int DAT_PeasantSpawnClockIncrementSolitaryPopLessThan101[21]; // 0x00000004 length: 84 + undefined1 padding_0x58[4]; // 0x00000058 length: 4 + int DAT_PeasantSpawnClockIncrementSolitaryPopMoreThan100[21]; // 0x0000005C length: 84 + undefined1 padding_0xb0[4]; // 0x000000B0 length: 4 + int DAT_PeasantSpawnClockIncrementSkirmish[21]; // 0x000000B4 length: 84 + undefined1 padding_0x108[264]; // 0x00000108 length: 264 + int field279_0x210[38]; // 0x00000210 length: 152 + int field280_0x2a8; // 0x000002A8 length: 4 + ResourceTypeInt DAT_MarketResourceCycleArray[21]; // 0x000002AC length: 84 + uint DAT_BarracksUnitCost[7]; // 0x00000300 length: 28 + undefined1 padding_0x31c[12]; // 0x0000031C length: 12 + int DAT_NonEuroUnitCost[11]; // 0x00000328 length: 44 + + } TroopDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TroopDefinedData) == 852, TroopDefinedData); +} // namespace Game +} // namespace OpenSHC diff --git a/src/OpenSHC/Global.func.hpp b/src/OpenSHC/Global.func.hpp new file mode 100644 index 0000000..3bd443f --- /dev/null +++ b/src/OpenSHC/Global.func.hpp @@ -0,0 +1,1307 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Global.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVUnitTypeInt.hpp" +#include "OpenSHC/DirectPlay/DPNAME.hpp" +#include "OpenSHC/DirectPlay/DPSESSIONDESC2.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Global.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeShort.hpp" +#include "OpenSHC/Map/Units/EuroRecruitableStateInt.hpp" +#include "OpenSHC/Map/Units/States/UnitStateShort.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp" +#include "OpenSHC/UI/DisplayElement.hpp" +#include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "crtdefs.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace Global_Func { + + using OpenSHC::AI::AIVUnitTypeInt; + using OpenSHC::DirectPlay::DPNAME; + using OpenSHC::DirectPlay::DPSESSIONDESC2; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeShort; + using OpenSHC::Map::Units::EuroRecruitableStateInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Map::Units::States::UnitStateShort; + using OpenSHC::Rendering::Enums::DirectDrawStatusInt; + using OpenSHC::UI::DisplayElement; + using OpenSHC::UI::Enums::DisplayElementIDInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004038A0, &OpenSHC::Global::SetCurrentEntityID3000) + SetCurrentEntityID3000; + + MACRO_FUNCTION_RESOLVER(uint(__cdecl*)(int param_1, int x, int y, int param_4, int param_5), false, + Address::SHC_3BB0A8C1_0x00405130, &OpenSHC::Global::SomeFireSpreadFunction) + SomeFireSpreadFunction; + + MACRO_FUNCTION_RESOLVER( + uint(__cdecl*)(int playerID, int miniTileX, int miniTileY, int tileHeightMin8, int two, int fireIntensity), + false, Address::SHC_3BB0A8C1_0x004052E0, &OpenSHC::Global::IgniteFireAtMiniTile) + IgniteFireAtMiniTile; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int x, int y, int height, int param_5, int param_6), false, + Address::SHC_3BB0A8C1_0x004054E0, &OpenSHC::Global::AFireSpreadFunction) + AFireSpreadFunction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int x, int y, int height, int param_5), false, + Address::SHC_3BB0A8C1_0x00407160, &OpenSHC::Global::SetPlaceOnFire) + SetPlaceOnFire; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00410CA0, &OpenSHC::Global::UpdateHovel) + UpdateHovel; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00410D20, &OpenSHC::Global::UpdateWoodcuttersHut) + UpdateWoodcuttersHut; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00410EE0, &OpenSHC::Global::UpdatePitchRig) + UpdatePitchRig; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004113C0, &OpenSHC::Global::UpdateMercenaryPost) + UpdateMercenaryPost; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00411480, &OpenSHC::Global::UpdateBarracks) + UpdateBarracks; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00411540, &OpenSHC::Global::UpdateOutpostBuilding) + UpdateOutpostBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00412360, &OpenSHC::Global::UpdateStockpile) + UpdateStockpile; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00412730, &OpenSHC::Global::UpdateArmory) + UpdateArmory; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00412D50, &OpenSHC::Global::UpdateFletchersWorkshop) + UpdateFletchersWorkshop; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004130D0, &OpenSHC::Global::UpdateBlacksmithsWorkshop) + UpdateBlacksmithsWorkshop; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004138D0, &OpenSHC::Global::UpdatePoleturnersWorkshop) + UpdatePoleturnersWorkshop; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00413DC0, &OpenSHC::Global::UpdateArmorersWorkshop) + UpdateArmorersWorkshop; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004140B0, &OpenSHC::Global::UpdateTannersWorkshop) + UpdateTannersWorkshop; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00414720, &OpenSHC::Global::UpdateBakery) + UpdateBakery; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00414B60, &OpenSHC::Global::UpdateBrewery) + UpdateBrewery; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00415110, &OpenSHC::Global::UpdateGranary) + UpdateGranary; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004156F0, &OpenSHC::Global::UpdateInn) + UpdateInn; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00415A80, &OpenSHC::Global::UpdateApothecary) + UpdateApothecary; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00415BF0, &OpenSHC::Global::UpdateTunnelersGuild) + UpdateTunnelersGuild; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00415C90, &OpenSHC::Global::UpdateMarketplace) + UpdateMarketplace; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00415E80, &OpenSHC::Global::UpdateOilSmelter) + UpdateOilSmelter; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00416540, &OpenSHC::Global::UpdateWheatFarm) + UpdateWheatFarm; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00416630, &OpenSHC::Global::UpdateHopsFarm) + UpdateHopsFarm; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00416720, &OpenSHC::Global::UpdateAppleFarm) + UpdateAppleFarm; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004167E0, &OpenSHC::Global::UpdateDairyFarm) + UpdateDairyFarm; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00416F80, &OpenSHC::Global::UpdateMill) + UpdateMill; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004174E0, &OpenSHC::Global::UpdateStables) + UpdateStables; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00417740, &OpenSHC::Global::UpdateBuildingShared2) + UpdateBuildingShared2; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004177E0, &OpenSHC::Global::UpdateCathedral) + UpdateCathedral; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004178E0, &OpenSHC::Global::UpdateKeepManorHouse) + UpdateKeepManorHouse; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004179B0, &OpenSHC::Global::UpdateKeepStoneKeep) + UpdateKeepStoneKeep; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00417AA0, &OpenSHC::Global::UpdateKeepStronghold) + UpdateKeepStronghold; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00417B90, &OpenSHC::Global::UpdateDrawBridge) + UpdateDrawBridge; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00417FD0, &OpenSHC::Global::UpdateTunnel) + UpdateTunnel; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004180E0, &OpenSHC::Global::UpdateBuildingShared1) + UpdateBuildingShared1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418100, &OpenSHC::Global::UpdateCampGround) + UpdateCampGround; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004184A0, &OpenSHC::Global::UpdateParadeGround2) + UpdateParadeGround2; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004184D0, &OpenSHC::Global::UpdateParadeGround3) + UpdateParadeGround3; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418500, &OpenSHC::Global::UpdateParadeGround4) + UpdateParadeGround4; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418530, &OpenSHC::Global::UpdateBadBuildingGallows) + UpdateBadBuildingGallows; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418640, &OpenSHC::Global::UpdateBadBuildingStocks) + UpdateBadBuildingStocks; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418740, &OpenSHC::Global::UpdateGoodBuildingMaypole) + UpdateGoodBuildingMaypole; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418880, &OpenSHC::Global::UpdateGoodBuildingGarden) + UpdateGoodBuildingGarden; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004188C0, &OpenSHC::Global::UpdatePlacedSiegeTower) + UpdatePlacedSiegeTower; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418900, &OpenSHC::Global::UpdateWellOrWaterpot) + UpdateWellOrWaterpot; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004189A0, &OpenSHC::Global::UpdateKeepDoorLeft) + UpdateKeepDoorLeft; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418A60, &OpenSHC::Global::UpdateKeepDoorRight) + UpdateKeepDoorRight; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418B20, &OpenSHC::Global::UpdateKeepDoor) + UpdateKeepDoor; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418C80, &OpenSHC::Global::UpdateTower1) + UpdateTower1; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418F70, + &OpenSHC::Global::UpdateBadBuildingCessPitOrDancingBearUnk) + UpdateBadBuildingCessPitOrDancingBearUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00418F90, &OpenSHC::Global::UpdateBadBuildingBurningStake) + UpdateBadBuildingBurningStake; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004190D0, &OpenSHC::Global::UpdateBadBuildingGibbet) + UpdateBadBuildingGibbet; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419190, &OpenSHC::Global::UpdateBadBuildingDungeon) + UpdateBadBuildingDungeon; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419290, &OpenSHC::Global::UpdateBadBuildingStretchingRack) + UpdateBadBuildingStretchingRack; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419340, &OpenSHC::Global::UpdateBadBuildingRackFlogging) + UpdateBadBuildingRackFlogging; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419370, &OpenSHC::Global::UpdateBadBuildingChoppingBlock) + UpdateBadBuildingChoppingBlock; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419420, &OpenSHC::Global::UpdateBadBuildingDunkingStool) + UpdateBadBuildingDunkingStool; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419630, &OpenSHC::Global::UpdateGoodBuildingStatue) + UpdateGoodBuildingStatue; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00419670, &OpenSHC::Global::UpdateGoodBuildingShrine) + UpdateGoodBuildingShrine; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004196D0, &OpenSHC::Global::UpdateDancingBear) + UpdateDancingBear; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A460, + &OpenSHC::Global::DestroyDrawbridgesInFirst10Buildings) + DestroyDrawbridgesInFirst10Buildings; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A620, &OpenSHC::Global::ClearBuildings1000AndHigher) + ClearBuildings1000AndHigher; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041CA00, &OpenSHC::Global::UpdateOxTether) + UpdateOxTether; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041CC70, &OpenSHC::Global::UpdateIronMine) + UpdateIronMine; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041D510, &OpenSHC::Global::UpdateQuarry) + UpdateQuarry; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041E240, &OpenSHC::Global::UpdateFireBallistaBuilding) + UpdateFireBallistaBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041E650, &OpenSHC::Global::UpdateKillingPit) + UpdateKillingPit; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041E870, &OpenSHC::Global::UpdateTower2) + UpdateTower2; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041EB00, &OpenSHC::Global::UpdateTower3) + UpdateTower3; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041EDA0, &OpenSHC::Global::UpdateTower4) + UpdateTower4; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041F110, &OpenSHC::Global::UpdateTower5) + UpdateTower5; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041F3B0, &OpenSHC::Global::UpdateCatapultBuilding) + UpdateCatapultBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041F7C0, &OpenSHC::Global::UpdateTrebutchetBuilding) + UpdateTrebutchetBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041FC90, &OpenSHC::Global::UpdateSiegeTowerBuilding) + UpdateSiegeTowerBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00420120, &OpenSHC::Global::UpdateBatteringRamBuilding) + UpdateBatteringRamBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004205B0, &OpenSHC::Global::UpdateShieldBuilding) + UpdateShieldBuilding; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00420A30, &OpenSHC::Global::UpdateDogCage) + UpdateDogCage; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00423370, &OpenSHC::Global::UpdateHuntersPost) + UpdateHuntersPost; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004238B0, &OpenSHC::Global::UpdateGateHouseLarge) + UpdateGateHouseLarge; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00423CD0, &OpenSHC::Global::UpdateGateHouseSmall) + UpdateGateHouseSmall; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004240D0, &OpenSHC::Global::UpdateWoodGate1) + UpdateWoodGate1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424BD0, &OpenSHC::Global::LoadTGX_shc_back) + LoadTGX_shc_back; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424BE0, &OpenSHC::Global::DrawOuterMenuBorder) + DrawOuterMenuBorder; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00427180, &OpenSHC::Global::MainMenu_Unknown21_Prepare) + MainMenu_Unknown21_Prepare; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00427210, + &OpenSHC::Global::AModalDialogIsActiveButIsNotQuitting) + AModalDialogIsActiveButIsNotQuitting; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004274F0, &OpenSHC::Global::InitSkirmishLobbyData) + InitSkirmishLobbyData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID), false, Address::SHC_3BB0A8C1_0x00428050, + &OpenSHC::Global::ResetAiVariationArrayValue) + ResetAiVariationArrayValue; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00428480, &OpenSHC::Global::PutPlayerIntoRandomSlot) + PutPlayerIntoRandomSlot; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int playerID), false, Address::SHC_3BB0A8C1_0x004285C0, &OpenSHC::Global::RemovePositionOfPlayer) + RemovePositionOfPlayer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00429650, &OpenSHC::Global::CallbackSetMultiplayerSpeedLevel) + CallbackSetMultiplayerSpeedLevel; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00429710, + &OpenSHC::Global::SetupSkirmishBalanceAndOrIntensity) + SetupSkirmishBalanceAndOrIntensity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042A8E0, &OpenSHC::Global::SetAIPlayerNickNames) + SetAIPlayerNickNames; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(int playerID), false, Address::SHC_3BB0A8C1_0x0042AC60, &OpenSHC::Global::GetPlayerPosition) + GetPlayerPosition; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042C190, &OpenSHC::Global::ClearSiegeInformationArray2) + ClearSiegeInformationArray2; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042C620, + &OpenSHC::Global::LaunchSinglePlayerGameUnk) + LaunchSinglePlayerGameUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042F010, &OpenSHC::Global::InitializeBasicMap) + InitializeBasicMap; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00431990, &OpenSHC::Global::ResetSomeValuesFunctionUnk) + ResetSomeValuesFunctionUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x004380E0, + &OpenSHC::Global::PlayPlacementWarning) + PlayPlacementWarning; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004381D0, &OpenSHC::Global::PlaceUnit) + PlaceUnit; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int buildingIndexUnk), false, Address::SHC_3BB0A8C1_0x00439730, + &OpenSHC::Global::HandleBuildingSelectionSpeech) + HandleBuildingSelectionSpeech; + + MACRO_FUNCTION_RESOLVER(HCURSOR(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00440430, + &OpenSHC::Global::SetCursorDependingOnProgramState) + SetCursorDependingOnProgramState; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004410D0, + &OpenSHC::Global::DisplayMapDescriptionAndAllocatePlayersToSlots) + DisplayMapDescriptionAndAllocatePlayersToSlots; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int whichCastle), false, Address::SHC_3BB0A8C1_0x00441270, &OpenSHC::Global::LaunchSkirmishGame) + LaunchSkirmishGame; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(int playerID), false, Address::SHC_3BB0A8C1_0x0044A830, &OpenSHC::Global::ComputePlayerPoints1) + ComputePlayerPoints1; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(UnitTypeInt unitType, int actionID), false, + Address::SHC_3BB0A8C1_0x0044B210, &OpenSHC::Global::PlayUnitSpeech) + PlayUnitSpeech; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(int playerID), false, Address::SHC_3BB0A8C1_0x0044B680, &OpenSHC::Global::ComputePlayerRanking) + ComputePlayerRanking; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(int rankingPosition), false, Address::SHC_3BB0A8C1_0x0044B760, &OpenSHC::Global::GetPlayerAtRank) + GetPlayerAtRank; + + MACRO_FUNCTION_RESOLVER( + int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0044B7D0, &OpenSHC::Global::IfAiGreatestLordGetAiType) + IfAiGreatestLordGetAiType; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0044B800, &OpenSHC::Global::GetLowestRankedAlivePlayer) + GetLowestRankedAlivePlayer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0044C400, &OpenSHC::Global::ComputeCurrentPlayerRanking) + ComputeCurrentPlayerRanking; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0044C410, &OpenSHC::Global::PlaySFXVoices) + PlaySFXVoices; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0044E510, &OpenSHC::Global::InitBlendFilterArraysUnk) + InitBlendFilterArraysUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(wchar_t* destination, wchar_t* format), false, + Address::SHC_3BB0A8C1_0x0045D060, &OpenSHC::Global::PrintToDestination) + PrintToDestination; + + MACRO_FUNCTION_RESOLVER(EuroRecruitableStateInt(__cdecl*)(int barrackUnitIdUnk), false, + Address::SHC_3BB0A8C1_0x00464DA0, &OpenSHC::Global::IsEuroUnitRecruitableUnk) + IsEuroUnitRecruitableUnk; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00464E80, &OpenSHC::Global::GetUnitRecruitPermission) + GetUnitRecruitPermission; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int unitType, undefined4 recruitmentBuildingID), false, + Address::SHC_3BB0A8C1_0x00464EF0, &OpenSHC::Global::ProcessRecruitUnit) + ProcessRecruitUnit; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00465080, &OpenSHC::Global::CheckIfEnoughGoldForLadderman) + CheckIfEnoughGoldForLadderman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004650A0, &OpenSHC::Global::CheckIfEnoughGoldForMonk) + CheckIfEnoughGoldForMonk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004650C0, &OpenSHC::Global::CheckGoldResource) + CheckGoldResource; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004650F0, &OpenSHC::Global::CheckIfEnoughGoldForTunneler) + CheckIfEnoughGoldForTunneler; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(undefined4 playerID, int buildingID, ushort producedItemType, int buildingUID), false, + Address::SHC_3BB0A8C1_0x004652A0, &OpenSHC::Global::SetBuildingProductionType) + SetBuildingProductionType; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int taxesSetting), false, Address::SHC_3BB0A8C1_0x00465800, + &OpenSHC::Global::ChangeTaxes) + ChangeTaxes; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int rationsSetting), false, Address::SHC_3BB0A8C1_0x00465890, + &OpenSHC::Global::ChangeRations) + ChangeRations; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int state, ResourceTypeInt resourceTypePlus1), false, + Address::SHC_3BB0A8C1_0x00465DB0, &OpenSHC::Global::SetPlayerBuyingResultStateUnk) + SetPlayerBuyingResultStateUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int buyOrSell, ResourceTypeInt resourceType), false, + Address::SHC_3BB0A8C1_0x00465E60, &OpenSHC::Global::ProcessBuyOrSell) + ProcessBuyOrSell; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x00465F20, + &OpenSHC::Global::TryAcquireAmmunitionOrPlanToBuyStone) + TryAcquireAmmunitionOrPlanToBuyStone; + + MACRO_FUNCTION_RESOLVER(short*(__cdecl*)(int playerID, int param_2), false, Address::SHC_3BB0A8C1_0x00465F90, + &OpenSHC::Global::SelectionReplenishAmmo) + SelectionReplenishAmmo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int buildingType), false, Address::SHC_3BB0A8C1_0x004660F0, + &OpenSHC::Global::ProcessBuildingSleepUpdate) + ProcessBuildingSleepUpdate; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int playerID, int buildingID, int requiredWood, int requiredStone, int gameObjectID), false, + Address::SHC_3BB0A8C1_0x00466260, &OpenSHC::Global::ProcessTowerRepair) + ProcessTowerRepair; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int buildingID, int buildingUID), false, + Address::SHC_3BB0A8C1_0x00466430, &OpenSHC::Global::ReleaseDogs2) + ReleaseDogs2; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00466E00, + &OpenSHC::Global::SetEnoughGoldForRequestedUnitToTrueUnk) + SetEnoughGoldForRequestedUnitToTrueUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00467890, &OpenSHC::Global::SetSomeColorsUnk) + SetSomeColorsUnk; + + MACRO_FUNCTION_RESOLVER(HRESULT(__stdcall*)(DDSURFACEDESC* displayDesc, LPVOID userParam), false, + 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(byte(__stdcall*)(byte value, int bits), false, Address::SHC_3BB0A8C1_0x0046CE30, + &OpenSHC::Global::RotateByteLeft) + RotateByteLeft; + + MACRO_FUNCTION_RESOLVER(char*(__cdecl*)(char* mapName, int* hardcodedMapDescriptionGroupNum), false, + Address::SHC_3BB0A8C1_0x0046D390, &OpenSHC::Global::GetStringBasedOnHardcodedMaps) + GetStringBasedOnHardcodedMaps; + + MACRO_FUNCTION_RESOLVER(DirectDrawStatusInt(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0046F4F0, + &OpenSHC::Global::DetectDXVersionByLoadingDDRAW) + DetectDXVersionByLoadingDDRAW; + + MACRO_FUNCTION_RESOLVER( + byte(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0046F570, &OpenSHC::Global::TestOSVersion) + TestOSVersion; + + MACRO_FUNCTION_RESOLVER(BOOL(__stdcall*)(LPCGUID lpguidSP, LPVOID lpConnection, DWORD dwConnectionSize, + DPNAME* lpName, DWORD dwFlags, LPVOID lpContext), + false, Address::SHC_3BB0A8C1_0x0047D5B0, &OpenSHC::Global::EnumConnectionsCallback) + EnumConnectionsCallback; + + MACRO_FUNCTION_RESOLVER( + bool(__stdcall*)(DPSESSIONDESC2* lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext), false, + Address::SHC_3BB0A8C1_0x0047DF40, &OpenSHC::Global::EnumSessionsCallback_addSession_async) + EnumSessionsCallback_addSession_async; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__stdcall*)(int* param_1, undefined4 param_2, char* param_3), false, + Address::SHC_3BB0A8C1_0x0047E160, &OpenSHC::Global::DirectPlayModemRelated_MemoryAllocationFunction) + DirectPlayModemRelated_MemoryAllocationFunction; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(int size, char* src, void* dst), false, Address::SHC_3BB0A8C1_0x0047E7E0, + &OpenSHC::Global::CompressOrCreateLengthPrefixedPacketUnk) + CompressOrCreateLengthPrefixedPacketUnk; + + MACRO_FUNCTION_RESOLVER( + int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0047EEB0, &OpenSHC::Global::ComputeSomeHashOnUnitArray) + ComputeSomeHashOnUnitArray; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00486AD0, &OpenSHC::Global::UpgradeOldSection1124) + UpgradeOldSection1124; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(char* dest, size_t size, undefined4 playerID), false, + Address::SHC_3BB0A8C1_0x00488480, &OpenSHC::Global::MemCopyFromParameter) + MemCopyFromParameter; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00493050, &OpenSHC::Global::SetupPreviewMinimapDataUnk) + SetupPreviewMinimapDataUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00495840, &OpenSHC::Global::ProgressBarRelated) + ProgressBarRelated; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00496E40, &OpenSHC::Global::ClearPathFindingTileMaps) + ClearPathFindingTileMaps; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004A4D60, &OpenSHC::Global::UpdateLadderManState01) + UpdateLadderManState01; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004A4E40, &OpenSHC::Global::UpdateLadderManState03) + UpdateLadderManState03; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004A4F90, &OpenSHC::Global::UpdateLadderManState04) + UpdateLadderManState04; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004A50E0, &OpenSHC::Global::UpdateLadderManState05) + UpdateLadderManState05; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004A5230, &OpenSHC::Global::UpdateLadderManState07) + UpdateLadderManState07; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004AD110, + &OpenSHC::Global::ProcessAllyAcceptsRequest) + ProcessAllyAcceptsRequest; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004AD1E0, + &OpenSHC::Global::ProcessAllyDeniesRequest2) + ProcessAllyDeniesRequest2; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int targetPlayerID, int playerID, int requestedByPlayerID, int param_4), + false, Address::SHC_3BB0A8C1_0x004AD2F0, &OpenSHC::Global::ProcessAllyRequestAttackDefense) + ProcessAllyRequestAttackDefense; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int askedPlayerID, int param_2, int amount, int askee), false, + Address::SHC_3BB0A8C1_0x004AD7C0, &OpenSHC::Global::ProcessAllyRequestingGoods) + ProcessAllyRequestingGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, ResourceTypeInt param_2, int param_3, int param_4), false, + Address::SHC_3BB0A8C1_0x004ADDD0, &OpenSHC::Global::ProcessAllyGoodsRequest) + ProcessAllyGoodsRequest; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004AE010, + &OpenSHC::Global::ProcessAllyDeniesRequest) + ProcessAllyDeniesRequest; + + MACRO_FUNCTION_RESOLVER(DisplayElement*(__cdecl*)(int elementID), false, Address::SHC_3BB0A8C1_0x004AF630, + &OpenSHC::Global::FindDisplayElementWithID) + FindDisplayElementWithID; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(DisplayElementIDInt displayElementID, dword elementState), false, + Address::SHC_3BB0A8C1_0x004AF650, &OpenSHC::Global::CheckDisplayElementByIDAndSetForUnlimitedDisplay) + CheckDisplayElementByIDAndSetForUnlimitedDisplay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(DisplayElementIDInt elementId, dword elementState, int displayDuration), + false, Address::SHC_3BB0A8C1_0x004AF680, &OpenSHC::Global::ActivateGameSpeedAndResourceLackDisplayElementUnk) + ActivateGameSpeedAndResourceLackDisplayElementUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__cdecl*)(DisplayElementIDInt displayElementID), false, + Address::SHC_3BB0A8C1_0x004AF6E0, &OpenSHC::Global::GetIfDisplayElementStateNotZero) + GetIfDisplayElementStateNotZero; + + MACRO_FUNCTION_RESOLVER(LRESULT(__stdcall*)(HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam), false, + Address::SHC_3BB0A8C1_0x004B2AE0, &OpenSHC::Global::WindowMsgProcessingFunc) + WindowMsgProcessingFunc; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B7AB0, + &OpenSHC::Global::GetDifficultyMultipliedValue) + GetDifficultyMultipliedValue; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004B8200, &OpenSHC::Global::SumUnitPoints) + SumUnitPoints; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, BuildingTypeInt buildingType), false, + Address::SHC_3BB0A8C1_0x004BC690, &OpenSHC::Global::FUN_004bc690) + FUN_004bc690; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004BC770, &OpenSHC::Global::FUN_004bc770) + FUN_004bc770; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int skirmishTrailMission), false, Address::SHC_3BB0A8C1_0x004C68D0, + &OpenSHC::Global::SetupSkirmishMode) + SetupSkirmishMode; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int missionID), false, Address::SHC_3BB0A8C1_0x004C6B20, + &OpenSHC::Global::LoadSkirmishCampaignData) + LoadSkirmishCampaignData; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004C6CD0, &OpenSHC::Global::StoreTime) + StoreTime; + + MACRO_FUNCTION_RESOLVER(AIVUnitTypeInt(__stdcall*)(int unitID, int param_2), false, + Address::SHC_3BB0A8C1_0x004CC390, &OpenSHC::Global::GetUnitTypeIndexForUnitID) + GetUnitTypeIndexForUnitID; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(int playerID, int maxAmount, BOOLEnum checkOnly), false, + Address::SHC_3BB0A8C1_0x004CCFB0, &OpenSHC::Global::ChecksAndGenerateAITribesForPlayerIfNotExisting) + ChecksAndGenerateAITribesForPlayerIfNotExisting; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__stdcall*)(int tribeID, BOOLEnum ignoreShooting, BOOLEnum includeMoving), false, + Address::SHC_3BB0A8C1_0x004CD070, &OpenSHC::Global::CheckTribeActivityPercentages) + CheckTribeActivityPercentages; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D07C0, + &OpenSHC::Global::PlayTauntToAttackedPlayerBikFromPlayer) + PlayTauntToAttackedPlayerBikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0A20, + &OpenSHC::Global::PlayGoodsRequestBikFromPlayerToPlayer) + PlayGoodsRequestBikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D0B10, + &OpenSHC::Global::PlayNervous2BikFromPlayer) + PlayNervous2BikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D0B70, + &OpenSHC::Global::PlayGoodsNotSentBikFromPlayer) + PlayGoodsNotSentBikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0BB0, + &OpenSHC::Global::PlayGoodsSentBikFromPlayerToPlayer) + PlayGoodsSentBikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0C00, + &OpenSHC::Global::PlayAnger2BikFromPlayerToPlayer) + PlayAnger2BikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0C70, + &OpenSHC::Global::PlayVictory2BikFromPlayerToPlayer) + PlayVictory2BikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D0CF0, + &OpenSHC::Global::PlayNervous1BikFromPlayer) + PlayNervous1BikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D0D40, + &OpenSHC::Global::PlayRequestHelpBikFromPlayer) + PlayRequestHelpBikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0DB0, + &OpenSHC::Global::PlayWillNotHelp1BikFromPlayerToPlayer) + PlayWillNotHelp1BikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0E00, + &OpenSHC::Global::PlayWillNotHelp2BikFromPlayerToPlayer) + PlayWillNotHelp2BikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0E50, + &OpenSHC::Global::PlayWillHelpBikFromPlayerToPlayer) + PlayWillHelpBikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0EA0, + &OpenSHC::Global::PlayWillNotAttack1BikFromPlayerToPlayer) + PlayWillNotAttack1BikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0EF0, + &OpenSHC::Global::PlayWillNotAttack2BikFromPlayerToPlayer) + PlayWillNotAttack2BikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int targetPlayerID), false, Address::SHC_3BB0A8C1_0x004D0F40, + &OpenSHC::Global::PlayWillAttackBikFromPlayerToPlayer) + PlayWillAttackBikFromPlayerToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID, int aiType), false, Address::SHC_3BB0A8C1_0x004D0F90, + &OpenSHC::Global::PlayJokeBikFromAIToHuman) + PlayJokeBikFromAIToHuman; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D0FC0, + &OpenSHC::Global::PlayFriendlyVictoryBikFromPlayer) + PlayFriendlyVictoryBikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D1000, + &OpenSHC::Global::PlayTeamWinningBikFromPlayer) + PlayTeamWinningBikFromPlayer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D1050, + &OpenSHC::Global::PlayNoHelpBikFromPlayer) + PlayNoHelpBikFromPlayer; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__cdecl*)(int score), false, Address::SHC_3BB0A8C1_0x004D1700, + &OpenSHC::Global::StoreCurrentGameIntoTemporarySKMasterEntry) + StoreCurrentGameIntoTemporarySKMasterEntry; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int score), false, Address::SHC_3BB0A8C1_0x004D52A0, &OpenSHC::Global::StoreGameIntoSKMasters) + StoreGameIntoSKMasters; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(int playerID), false, Address::SHC_3BB0A8C1_0x004D5780, &OpenSHC::Global::ComputeSkMasterScore) + ComputeSkMasterScore; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004D7200, &OpenSHC::Global::ResetEventStatusUnk) + ResetEventStatusUnk; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004D9D90, &OpenSHC::Global::TacticalPowersFill) + TacticalPowersFill; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(ushort color), false, Address::SHC_3BB0A8C1_0x004DA360, &OpenSHC::Global::ColorEntireScreen) + ColorEntireScreen; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int loadedMenuStringIndex, int xPos, int yPos, int maxWidth, uint color, + int fontSize, BOOLEnum isSingleLine), + false, Address::SHC_3BB0A8C1_0x004DA670, &OpenSHC::Global::DrawLoadedMenuStringHelper) + DrawLoadedMenuStringHelper; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int loadedMenuStringIndex, int xPos, int yPos, int maxWidth, uint color, + int fontSize, BOOLEnum isSingleLine, int blendStrength), + false, Address::SHC_3BB0A8C1_0x004DA6E0, &OpenSHC::Global::DrawLoadedMenuStringHelperWithBlending) + DrawLoadedMenuStringHelperWithBlending; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(char* textToStore), false, Address::SHC_3BB0A8C1_0x004DA750, + &OpenSHC::Global::StoreStringInMenuStringArray) + StoreStringInMenuStringArray; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int state, undefined4 xSpace, undefined4 param_3, undefined4 ySpace, undefined4 someX, + undefined4 someY, undefined4 param_7, int param_8, undefined4 param_9), + false, Address::SHC_3BB0A8C1_0x004DAD40, &OpenSHC::Global::InsertElementIntoAnArrayAt_ec0348) + InsertElementIntoAnArrayAt_ec0348; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4, + undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8), + false, Address::SHC_3BB0A8C1_0x004DAE00, &OpenSHC::Global::InsertElementIntoArrayAt_ec0348_3) + InsertElementIntoArrayAt_ec0348_3; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, undefined4 xSpace, undefined4 param_3, undefined4 param_4, + undefined4 ySpace, undefined4 someX, int param_7, undefined4 someY, undefined4 param_9), + false, Address::SHC_3BB0A8C1_0x004DAE90, &OpenSHC::Global::InsertElementIntoArrayAt_ec0348_2) + InsertElementIntoArrayAt_ec0348_2; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(char* filename), false, Address::SHC_3BB0A8C1_0x004DAF50, + &OpenSHC::Global::LoadScoresFileToMemory) + LoadScoresFileToMemory; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004DB210, &OpenSHC::Global::PrepareHistoryBook) + PrepareHistoryBook; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(char* param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004E1810, + &OpenSHC::Global::WriteMissionToScoresFile) + WriteMissionToScoresFile; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(int param_1, int param_2, int param_3, undefined4 param_4, int param_5), + false, Address::SHC_3BB0A8C1_0x004E3870, &OpenSHC::Global::renderSomethingMap3) + renderSomethingMap3; + + MACRO_FUNCTION_RESOLVER( + int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004EDD00, &OpenSHC::Global::SomeComputationWithSeparateAreas) + SomeComputationWithSeparateAreas; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F37B0, &OpenSHC::Global::VersioningFixTrees) + VersioningFixTrees; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F3840, &OpenSHC::Global::RemoveCertainRockTypesUnk) + RemoveCertainRockTypesUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F3900, &OpenSHC::Global::RemoveRocksBeyond1000) + RemoveRocksBeyond1000; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(int playerID, int playerID2), false, Address::SHC_3BB0A8C1_0x00500290, + &OpenSHC::Global::ReturnMoatIDForPlayerIDs) + ReturnMoatIDForPlayerIDs; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005011C0, &OpenSHC::Global::UpgradeMapLogicToVersion_125) + UpgradeMapLogicToVersion_125; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00501440, &OpenSHC::Global::UpgradeMapLogicToVersion_128) + UpgradeMapLogicToVersion_128; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00501490, &OpenSHC::Global::UpgradeMapLogicToVersion_102) + UpgradeMapLogicToVersion_102; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005014F0, &OpenSHC::Global::UpgradeMapLogicToVersion_120) + UpgradeMapLogicToVersion_120; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005016D0, &OpenSHC::Global::UpgradeMapLogicToVersion_145) + UpgradeMapLogicToVersion_145; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00501730, &OpenSHC::Global::UpgradeMapLogicToVersion_147) + UpgradeMapLogicToVersion_147; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__stdcall*)(int buildingID), false, Address::SHC_3BB0A8C1_0x0051AC80, + &OpenSHC::Global::AttackInfoHasHigh2Building) + AttackInfoHasHigh2Building; + + MACRO_FUNCTION_RESOLVER(undefined4(__stdcall*)(int buildingID), false, Address::SHC_3BB0A8C1_0x0051ACB0, + &OpenSHC::Global::AttackInfoHasArch2Building) + AttackInfoHasArch2Building; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(uint x, uint y, int tribeID), false, Address::SHC_3BB0A8C1_0x0051B190, + &OpenSHC::Global::AssignTribeToSupportPoint) + AssignTribeToSupportPoint; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0051D5D0, &OpenSHC::Global::DecrementTileMap1104) + DecrementTileMap1104; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005232E0, &OpenSHC::Global::ClearAnimalSpawnLocationsUnk) + ClearAnimalSpawnLocationsUnk; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int unitID), false, Address::SHC_3BB0A8C1_0x00530720, &OpenSHC::Global::updateLogicAndClimbData) + updateLogicAndClimbData; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int unitID), false, Address::SHC_3BB0A8C1_0x00530760, &OpenSHC::Global::detachLadderman) + detachLadderman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005307B0, &OpenSHC::Global::UpdateSiegeTent) + UpdateSiegeTent; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005309E0, &OpenSHC::Global::UpdateBurningAnimal1) + UpdateBurningAnimal1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00530A90, &OpenSHC::Global::UpdateBurningAnimal2) + UpdateBurningAnimal2; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int unitID, BOOLEnum updateAV), false, Address::SHC_3BB0A8C1_0x00530B40, + &OpenSHC::Global::IncrementAndOptionalUpdateAVValueRelated) + IncrementAndOptionalUpdateAVValueRelated; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__cdecl*)(int unitID, UnitStateShort nextUnitState), false, + Address::SHC_3BB0A8C1_0x00530C40, &OpenSHC::Global::ConsiderHavingABreakNowUnk) + ConsiderHavingABreakNowUnk; + + MACRO_FUNCTION_RESOLVER(undefined4(__cdecl*)(int unitID, int shouldFindNewGoodThing, int param_3), false, + 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(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( + uint(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00530EB0, &OpenSHC::Global::TryPlayStockpileIsFullNoiseUnk) + TryPlayStockpileIsFullNoiseUnk; + + MACRO_FUNCTION_RESOLVER(BuildingTypeShort*(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00530F20, + &OpenSHC::Global::PlaySound_StockpileIsFullMyLordUnk) + PlaySound_StockpileIsFullMyLordUnk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0053A020, &OpenSHC::Global::CurrentUnitHasHealer) + CurrentUnitHasHealer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053BC20, &OpenSHC::Global::UpdateBurningMan) + UpdateBurningMan; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053BE00, &OpenSHC::Global::UpdateCamel) + UpdateCamel; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053C300, &OpenSHC::Global::UpdateShield) + UpdateShield; + + MACRO_FUNCTION_RESOLVER(BOOLEnum(__cdecl*)(int unitID), false, Address::SHC_3BB0A8C1_0x0053CAC0, + &OpenSHC::Global::ConsiderTakingABreakUnk) + ConsiderTakingABreakUnk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053EAA0, &OpenSHC::Global::UpdatePeasant) + UpdatePeasant; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053F940, &OpenSHC::Global::UpdateOx) + UpdateOx; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005401D0, &OpenSHC::Global::UpdateMiner) + UpdateMiner; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00540440, &OpenSHC::Global::UpdateHealer) + UpdateHealer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00540EC0, &OpenSHC::Global::UpdateInnkeeper) + UpdateInnkeeper; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005416B0, &OpenSHC::Global::UpdateMerchant) + UpdateMerchant; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00541A30, &OpenSHC::Global::UpdateMerchantHorse) + UpdateMerchantHorse; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00541DE0, &OpenSHC::Global::UpdateDeer) + UpdateDeer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00542630, &OpenSHC::Global::UpdateRabbit) + UpdateRabbit; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00542D10, &OpenSHC::Global::UpdateCow) + UpdateCow; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00543340, &OpenSHC::Global::UpdateFireWatch) + UpdateFireWatch; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00543B80, &OpenSHC::Global::UpdateGhost) + UpdateGhost; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00543DC0, &OpenSHC::Global::UpdateLady) + UpdateLady; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00544750, &OpenSHC::Global::UpdateSiegeTower) + UpdateSiegeTower; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005459B0, &OpenSHC::Global::UpdateBatteringRam) + UpdateBatteringRam; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005464F0, &OpenSHC::Global::UpdateChicken) + UpdateChicken; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00546BC0, &OpenSHC::Global::UpdateMother) + UpdateMother; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005477C0, &OpenSHC::Global::UpdateChild) + UpdateChild; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00549090, &OpenSHC::Global::UpdateJuggler) + UpdateJuggler; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00549650, &OpenSHC::Global::UpdateFireEater) + UpdateFireEater; + + MACRO_FUNCTION_RESOLVER( + undefined4(__cdecl*)(int unitID), false, Address::SHC_3BB0A8C1_0x00549B30, &OpenSHC::Global::SetRestingForUnit) + SetRestingForUnit; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0054C710, &OpenSHC::Global::UpdateWoodcutter) + UpdateWoodcutter; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0054D8F0, &OpenSHC::Global::UpdateFletcher) + UpdateFletcher; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0054E6C0, &OpenSHC::Global::UpdateTunneler) + UpdateTunneler; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0054F860, &OpenSHC::Global::UpdateHunter) + UpdateHunter; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00550A50, &OpenSHC::Global::UpdateQuarryMason) + UpdateQuarryMason; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00550D70, &OpenSHC::Global::UpdateQuarryWorker) + UpdateQuarryWorker; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00551980, &OpenSHC::Global::UpdatePitchman) + UpdatePitchman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005521D0, &OpenSHC::Global::UpdateWheatFarmer) + UpdateWheatFarmer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00552F80, &OpenSHC::Global::UpdateHopsFarmer) + UpdateHopsFarmer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00553AE0, &OpenSHC::Global::UpdateAppleFarmer) + UpdateAppleFarmer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00554500, &OpenSHC::Global::UpdateDairyFarmer) + UpdateDairyFarmer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00554CC0, &OpenSHC::Global::UpdateMiller) + UpdateMiller; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00555880, &OpenSHC::Global::UpdateBaker) + UpdateBaker; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005565D0, &OpenSHC::Global::UpdateBrewer) + UpdateBrewer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00557230, &OpenSHC::Global::UpdatePoleTurner) + UpdatePoleTurner; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00557F70, &OpenSHC::Global::UpdateBlacksmith) + UpdateBlacksmith; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00558CB0, &OpenSHC::Global::UpdateArmorer) + UpdateArmorer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005598D0, &OpenSHC::Global::UpdateTanner) + UpdateTanner; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0055A800, &OpenSHC::Global::UpdateCrusaderArcher) + UpdateCrusaderArcher; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0055C7B0, &OpenSHC::Global::UpdateCrossbowman) + UpdateCrossbowman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0055DA50, &OpenSHC::Global::UpdateSpearman) + UpdateSpearman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0055F110, &OpenSHC::Global::UpdatePikeman) + UpdatePikeman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00560700, &OpenSHC::Global::UpdateMaceman) + UpdateMaceman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00561C10, &OpenSHC::Global::UpdateSwordsman) + UpdateSwordsman; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00562AA0, &OpenSHC::Global::UpdateKnight) + UpdateKnight; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00563910, &OpenSHC::Global::UpdateLadderman) + UpdateLadderman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00564250, &OpenSHC::Global::UpdateEngineer) + UpdateEngineer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00566010, &OpenSHC::Global::UpdateMinerIronFetcher) + UpdateMinerIronFetcher; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00566750, &OpenSHC::Global::UpdatePriest) + UpdatePriest; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00567320, &OpenSHC::Global::UpdateDrunkard) + UpdateDrunkard; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00567640, &OpenSHC::Global::UpdateMonk) + UpdateMonk; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00568320, &OpenSHC::Global::UpdateCatapult) + UpdateCatapult; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00569410, &OpenSHC::Global::UpdateTrebuchet) + UpdateTrebuchet; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056A3F0, &OpenSHC::Global::UpdateMangonel) + UpdateMangonel; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056B0E0, &OpenSHC::Global::UpdateLion) + UpdateLion; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056B970, &OpenSHC::Global::UpdateHunterDog) + UpdateHunterDog; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056C560, &OpenSHC::Global::UpdateLord) + UpdateLord; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056E190, &OpenSHC::Global::UpdateJester) + UpdateJester; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056ECD0, &OpenSHC::Global::UpdateBallista) + UpdateBallista; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0056F9B0, &OpenSHC::Global::UpdateCageDog) + UpdateCageDog; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00570400, &OpenSHC::Global::UpdateArabianArcher) + UpdateArabianArcher; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00571C00, &OpenSHC::Global::UpdateSlave) + UpdateSlave; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00572E80, &OpenSHC::Global::UpdateSlinger) + UpdateSlinger; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005744D0, &OpenSHC::Global::UpdateAssassin) + UpdateAssassin; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(short* unitID), false, Address::SHC_3BB0A8C1_0x00575820, + &OpenSHC::Global::HorseArcher_DoShooting) + HorseArcher_DoShooting; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00575C40, &OpenSHC::Global::UpdateArabianSwordsman) + UpdateArabianSwordsman; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005769F0, &OpenSHC::Global::UpdateFireThrower) + UpdateFireThrower; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00577CC0, &OpenSHC::Global::UpdateFireBallista) + UpdateFireBallista; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0057AB50, &OpenSHC::Global::UpdateHorseArcher) + UpdateHorseArcher; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0057B9C0, + &OpenSHC::Global::PlayJokeVideoBasedOnCurrentTimeAndPlayTime) + PlayJokeVideoBasedOnCurrentTimeAndPlayTime; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(HINSTANCE hInstance, undefined4 param_2, char* commandLineArguments, undefined4 param_4), + false, Address::SHC_3BB0A8C1_0x0057BE10, &OpenSHC::Global::MainGameLoop) + MainGameLoop; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(ulong param_1), false, Address::SHC_3BB0A8C1_0x005816EE, &OpenSHC::Global::SetRNGSeed) + SetRNGSeed; + + MACRO_FUNCTION_RESOLVER( + char*(__cdecl*)(char* string), false, Address::SHC_3BB0A8C1_0x005818EB, &OpenSHC::Global::StringToLowerCase) + StringToLowerCase; + + MACRO_FUNCTION_RESOLVER( + int(__cdecl*)(HANDLE hFile), false, Address::SHC_3BB0A8C1_0x005826FB, &OpenSHC::Global::GetFilePtrPos) + GetFilePtrPos; + +} // namespace Global_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Global.hpp b/src/OpenSHC/Global.hpp new file mode 100644 index 0000000..94bebc6 --- /dev/null +++ b/src/OpenSHC/Global.hpp @@ -0,0 +1,703 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Global.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVUnitTypeInt.hpp" +#include "OpenSHC/DirectPlay/DPNAME.hpp" +#include "OpenSHC/DirectPlay/DPSESSIONDESC2.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeShort.hpp" +#include "OpenSHC/Map/Units/EuroRecruitableStateInt.hpp" +#include "OpenSHC/Map/Units/States/UnitStateShort.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp" +#include "OpenSHC/UI/DisplayElement.hpp" +#include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "crtdefs.h" +#include "ddraw.h" +#include "winnt.h" +namespace OpenSHC { +namespace Global { + + using OpenSHC::AI::AIVUnitTypeInt; + using OpenSHC::DirectPlay::DPNAME; + using OpenSHC::DirectPlay::DPSESSIONDESC2; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeShort; + using OpenSHC::Map::Units::EuroRecruitableStateInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Map::Units::States::UnitStateShort; + using OpenSHC::Rendering::Enums::DirectDrawStatusInt; + using OpenSHC::UI::DisplayElement; + using OpenSHC::UI::Enums::DisplayElementIDInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + void __stdcall SetCurrentEntityID3000(); + + uint __cdecl SomeFireSpreadFunction(int param_1, int x, int y, int param_4, int param_5); + + uint __cdecl IgniteFireAtMiniTile( + int playerID, int miniTileX, int miniTileY, int tileHeightMin8, int two, int fireIntensity); + + void __cdecl AFireSpreadFunction(int playerID, int x, int y, int height, int param_5, int param_6); + + void __cdecl SetPlaceOnFire(int playerID, int x, int y, int height, int param_5); + + void __stdcall UpdateHovel(); + + void __stdcall UpdateWoodcuttersHut(); + + void __stdcall UpdatePitchRig(); + + void __stdcall UpdateMercenaryPost(); + + void __stdcall UpdateBarracks(); + + void __stdcall UpdateOutpostBuilding(); + + void __stdcall UpdateStockpile(); + + void __stdcall UpdateArmory(); + + void __stdcall UpdateFletchersWorkshop(); + + void __stdcall UpdateBlacksmithsWorkshop(); + + void __stdcall UpdatePoleturnersWorkshop(); + + void __stdcall UpdateArmorersWorkshop(); + + void __stdcall UpdateTannersWorkshop(); + + void __stdcall UpdateBakery(); + + void __stdcall UpdateBrewery(); + + void __stdcall UpdateGranary(); + + void __stdcall UpdateInn(); + + void __stdcall UpdateApothecary(); + + void __stdcall UpdateTunnelersGuild(); + + void __stdcall UpdateMarketplace(); + + void __stdcall UpdateOilSmelter(); + + void __stdcall UpdateWheatFarm(); + + void __stdcall UpdateHopsFarm(); + + void __stdcall UpdateAppleFarm(); + + void __stdcall UpdateDairyFarm(); + + void __stdcall UpdateMill(); + + void __stdcall UpdateStables(); + + void __stdcall UpdateBuildingShared2(); + + void __stdcall UpdateCathedral(); + + void __stdcall UpdateKeepManorHouse(); + + void __stdcall UpdateKeepStoneKeep(); + + void __stdcall UpdateKeepStronghold(); + + void __stdcall UpdateDrawBridge(); + + void __stdcall UpdateTunnel(); + + void __stdcall UpdateBuildingShared1(); + + void __stdcall UpdateCampGround(); + + void __stdcall UpdateParadeGround2(); + + void __stdcall UpdateParadeGround3(); + + void __stdcall UpdateParadeGround4(); + + void __stdcall UpdateBadBuildingGallows(); + + void __stdcall UpdateBadBuildingStocks(); + + void __stdcall UpdateGoodBuildingMaypole(); + + void __stdcall UpdateGoodBuildingGarden(); + + void __stdcall UpdatePlacedSiegeTower(); + + void __stdcall UpdateWellOrWaterpot(); + + void __stdcall UpdateKeepDoorLeft(); + + void __stdcall UpdateKeepDoorRight(); + + void __stdcall UpdateKeepDoor(); + + void __stdcall UpdateTower1(); + + void __stdcall UpdateBadBuildingCessPitOrDancingBearUnk(); + + void __stdcall UpdateBadBuildingBurningStake(); + + void __stdcall UpdateBadBuildingGibbet(); + + void __stdcall UpdateBadBuildingDungeon(); + + void __stdcall UpdateBadBuildingStretchingRack(); + + void __stdcall UpdateBadBuildingRackFlogging(); + + void __stdcall UpdateBadBuildingChoppingBlock(); + + void __stdcall UpdateBadBuildingDunkingStool(); + + void __stdcall UpdateGoodBuildingStatue(); + + void __stdcall UpdateGoodBuildingShrine(); + + void __stdcall UpdateDancingBear(); + + void __stdcall DestroyDrawbridgesInFirst10Buildings(); + + void __stdcall ClearBuildings1000AndHigher(); + + void __stdcall UpdateOxTether(); + + void __stdcall UpdateIronMine(); + + void __stdcall UpdateQuarry(); + + void __stdcall UpdateFireBallistaBuilding(); + + void __stdcall UpdateKillingPit(); + + void __stdcall UpdateTower2(); + + void __stdcall UpdateTower3(); + + void __stdcall UpdateTower4(); + + void __stdcall UpdateTower5(); + + void __stdcall UpdateCatapultBuilding(); + + void __stdcall UpdateTrebutchetBuilding(); + + void __stdcall UpdateSiegeTowerBuilding(); + + void __stdcall UpdateBatteringRamBuilding(); + + void __stdcall UpdateShieldBuilding(); + + void __stdcall UpdateDogCage(); + + void __stdcall UpdateHuntersPost(); + + void __stdcall UpdateGateHouseLarge(); + + void __stdcall UpdateGateHouseSmall(); + + void __stdcall UpdateWoodGate1(); + + void __stdcall LoadTGX_shc_back(); + + void __stdcall DrawOuterMenuBorder(); + + void __stdcall MainMenu_Unknown21_Prepare(); + + BOOLEnum __stdcall AModalDialogIsActiveButIsNotQuitting(); + + void __stdcall InitSkirmishLobbyData(); + + void __cdecl ResetAiVariationArrayValue(int playerID); + + void __cdecl PutPlayerIntoRandomSlot(int param_1); + + void __cdecl RemovePositionOfPlayer(int playerID); + + void __stdcall CallbackSetMultiplayerSpeedLevel(); + + void __stdcall SetupSkirmishBalanceAndOrIntensity(); + + void __stdcall SetAIPlayerNickNames(); + + int __cdecl GetPlayerPosition(int playerID); + + void __stdcall ClearSiegeInformationArray2(); + + void __cdecl LaunchSinglePlayerGameUnk(int param_1); + + void __stdcall InitializeBasicMap(); + + void __stdcall ResetSomeValuesFunctionUnk(); + + void __cdecl PlayPlacementWarning(undefined4 param_1); + + void __stdcall PlaceUnit(); + + void __cdecl HandleBuildingSelectionSpeech(int buildingIndexUnk); + + HCURSOR __stdcall SetCursorDependingOnProgramState(); + + void __stdcall DisplayMapDescriptionAndAllocatePlayersToSlots(); + + void __cdecl LaunchSkirmishGame(int whichCastle); + + int __cdecl ComputePlayerPoints1(int playerID); + + void __stdcall PlayUnitSpeech(UnitTypeInt unitType, int actionID); + + int __cdecl ComputePlayerRanking(int playerID); + + int __cdecl GetPlayerAtRank(int rankingPosition); + + int __stdcall IfAiGreatestLordGetAiType(); + + void __stdcall GetLowestRankedAlivePlayer(); + + void __stdcall ComputeCurrentPlayerRanking(); + + void __stdcall PlaySFXVoices(); + + void __stdcall InitBlendFilterArraysUnk(); + + void __cdecl PrintToDestination(wchar_t* destination, wchar_t* format); + + EuroRecruitableStateInt __cdecl IsEuroUnitRecruitableUnk(int barrackUnitIdUnk); + + int __cdecl GetUnitRecruitPermission(int param_1); + + void __cdecl ProcessRecruitUnit(int playerID, int unitType, undefined4 recruitmentBuildingID); + + void __stdcall CheckIfEnoughGoldForLadderman(); + + void __stdcall CheckIfEnoughGoldForMonk(); + + BOOLEnum __cdecl CheckGoldResource(int param_1); + + void __stdcall CheckIfEnoughGoldForTunneler(); + + void __cdecl SetBuildingProductionType( + undefined4 playerID, int buildingID, ushort producedItemType, int buildingUID); + + void __cdecl ChangeTaxes(int playerID, int taxesSetting); + + void __cdecl ChangeRations(int playerID, int rationsSetting); + + void __cdecl SetPlayerBuyingResultStateUnk(int state, ResourceTypeInt resourceTypePlus1); + + void __cdecl ProcessBuyOrSell(int playerID, int buyOrSell, ResourceTypeInt resourceType); + + void __cdecl TryAcquireAmmunitionOrPlanToBuyStone(int param_1, int param_2); + + short* __cdecl SelectionReplenishAmmo(int playerID, int param_2); + + void __cdecl ProcessBuildingSleepUpdate(int playerID, int buildingType); + + void __cdecl ProcessTowerRepair( + int playerID, int buildingID, int requiredWood, int requiredStone, int gameObjectID); + + void __cdecl ReleaseDogs2(int param_1, int buildingID, int buildingUID); + + void __stdcall SetEnoughGoldForRequestedUnitToTrueUnk(); + + void __stdcall SetSomeColorsUnk(); + + HRESULT __stdcall EnumDisplayModesCallback(DDSURFACEDESC* displayDesc, LPVOID userParam); + + void __stdcall FUN_Useless(); + + byte __stdcall RotateByteLeft(byte value, int bits); + + char* __cdecl GetStringBasedOnHardcodedMaps(char* mapName, int* hardcodedMapDescriptionGroupNum); + + DirectDrawStatusInt __stdcall DetectDXVersionByLoadingDDRAW(); + + byte __stdcall TestOSVersion(); + + BOOL __stdcall EnumConnectionsCallback( + LPCGUID lpguidSP, LPVOID lpConnection, DWORD dwConnectionSize, DPNAME* lpName, DWORD dwFlags, LPVOID lpContext); + + bool __stdcall EnumSessionsCallback_addSession_async( + DPSESSIONDESC2* lpThisSD, LPDWORD lpdwTimeOut, DWORD dwFlags, LPVOID lpContext); + + BOOLEnum __stdcall DirectPlayModemRelated_MemoryAllocationFunction(int* param_1, undefined4 param_2, char* param_3); + + int __stdcall CompressOrCreateLengthPrefixedPacketUnk(int size, char* src, void* dst); + + int __stdcall ComputeSomeHashOnUnitArray(); + + void __stdcall UpgradeOldSection1124(); + + void __cdecl MemCopyFromParameter(char* dest, size_t size, undefined4 playerID); + + void __stdcall SetupPreviewMinimapDataUnk(); + + void __stdcall ProgressBarRelated(); + + void __stdcall ClearPathFindingTileMaps(); + + void __stdcall UpdateLadderManState01(); + + void __stdcall UpdateLadderManState03(); + + void __stdcall UpdateLadderManState04(); + + void __stdcall UpdateLadderManState05(); + + void __stdcall UpdateLadderManState07(); + + void __cdecl ProcessAllyAcceptsRequest(int param_1, int param_2); + + void __cdecl ProcessAllyDeniesRequest2(int param_1, int param_2); + + void __cdecl ProcessAllyRequestAttackDefense( + int targetPlayerID, int playerID, int requestedByPlayerID, int param_4); + + void __cdecl ProcessAllyRequestingGoods(int askedPlayerID, int param_2, int amount, int askee); + + void __cdecl ProcessAllyGoodsRequest(int param_1, ResourceTypeInt param_2, int param_3, int param_4); + + void __cdecl ProcessAllyDeniesRequest(int param_1, int param_2); + + DisplayElement* __cdecl FindDisplayElementWithID(int elementID); + + void __cdecl CheckDisplayElementByIDAndSetForUnlimitedDisplay( + DisplayElementIDInt displayElementID, dword elementState); + + void __cdecl ActivateGameSpeedAndResourceLackDisplayElementUnk( + DisplayElementIDInt elementId, dword elementState, int displayDuration); + + BOOLEnum __cdecl GetIfDisplayElementStateNotZero(DisplayElementIDInt displayElementID); + + LRESULT __stdcall WindowMsgProcessingFunc(HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam); + + int __stdcall GetDifficultyMultipliedValue(int param_1); + + void __cdecl SumUnitPoints(); + + void __cdecl FUN_004bc690(int param_1, BuildingTypeInt buildingType); + + void __stdcall FUN_004bc770(); + + void __cdecl SetupSkirmishMode(int skirmishTrailMission); + + void __cdecl LoadSkirmishCampaignData(int missionID); + + int __stdcall StoreTime(); + + AIVUnitTypeInt __stdcall GetUnitTypeIndexForUnitID(int unitID, int param_2); + + int __stdcall ChecksAndGenerateAITribesForPlayerIfNotExisting(int playerID, int maxAmount, BOOLEnum checkOnly); + + BOOLEnum __stdcall CheckTribeActivityPercentages(int tribeID, BOOLEnum ignoreShooting, BOOLEnum includeMoving); + + void __stdcall PlayTauntToAttackedPlayerBikFromPlayer(int playerID); + + void __stdcall PlayGoodsRequestBikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayNervous2BikFromPlayer(int playerID); + + void __stdcall PlayGoodsNotSentBikFromPlayer(int playerID); + + void __stdcall PlayGoodsSentBikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayAnger2BikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayVictory2BikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayNervous1BikFromPlayer(int playerID); + + void __stdcall PlayRequestHelpBikFromPlayer(int playerID); + + void __stdcall PlayWillNotHelp1BikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayWillNotHelp2BikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayWillHelpBikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayWillNotAttack1BikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayWillNotAttack2BikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayWillAttackBikFromPlayerToPlayer(int playerID, int targetPlayerID); + + void __stdcall PlayJokeBikFromAIToHuman(int playerID, int aiType); + + void __stdcall PlayFriendlyVictoryBikFromPlayer(int playerID); + + void __stdcall PlayTeamWinningBikFromPlayer(int playerID); + + void __stdcall PlayNoHelpBikFromPlayer(int playerID); + + BOOLEnum __cdecl StoreCurrentGameIntoTemporarySKMasterEntry(int score); + + void __cdecl StoreGameIntoSKMasters(int score); + + int __cdecl ComputeSkMasterScore(int playerID); + + void __cdecl ResetEventStatusUnk(); + + void __cdecl TacticalPowersFill(); + + void __cdecl ColorEntireScreen(ushort color); + + void __cdecl DrawLoadedMenuStringHelper( + int loadedMenuStringIndex, int xPos, int yPos, int maxWidth, uint color, int fontSize, BOOLEnum isSingleLine); + + void __cdecl DrawLoadedMenuStringHelperWithBlending(int loadedMenuStringIndex, int xPos, int yPos, int maxWidth, + uint color, int fontSize, BOOLEnum isSingleLine, int blendStrength); + + void __cdecl StoreStringInMenuStringArray(char* textToStore); + + void __cdecl InsertElementIntoAnArrayAt_ec0348(int state, undefined4 xSpace, undefined4 param_3, undefined4 ySpace, + undefined4 someX, undefined4 someY, undefined4 param_7, int param_8, undefined4 param_9); + + void __cdecl InsertElementIntoArrayAt_ec0348_3(int param_1, undefined4 param_2, undefined4 param_3, + undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8); + + void __cdecl InsertElementIntoArrayAt_ec0348_2(int param_1, undefined4 xSpace, undefined4 param_3, + undefined4 param_4, undefined4 ySpace, undefined4 someX, int param_7, undefined4 someY, undefined4 param_9); + + void __cdecl LoadScoresFileToMemory(char* filename); + + int __cdecl PrepareHistoryBook(); + + void __cdecl WriteMissionToScoresFile(char* param_1, int param_2); + + void __stdcall renderSomethingMap3(int param_1, int param_2, int param_3, undefined4 param_4, int param_5); + + int __stdcall SomeComputationWithSeparateAreas(); + + void __stdcall VersioningFixTrees(); + + void __stdcall RemoveCertainRockTypesUnk(); + + void __stdcall RemoveRocksBeyond1000(); + + int __stdcall ReturnMoatIDForPlayerIDs(int playerID, int playerID2); + + void __stdcall UpgradeMapLogicToVersion_125(); + + void __stdcall UpgradeMapLogicToVersion_128(); + + void __stdcall UpgradeMapLogicToVersion_102(); + + void __stdcall UpgradeMapLogicToVersion_120(); + + void __stdcall UpgradeMapLogicToVersion_145(); + + void __stdcall UpgradeMapLogicToVersion_147(); + + BOOLEnum __stdcall AttackInfoHasHigh2Building(int buildingID); + + undefined4 __stdcall AttackInfoHasArch2Building(int buildingID); + + int __stdcall AssignTribeToSupportPoint(uint x, uint y, int tribeID); + + void __cdecl DecrementTileMap1104(); + + void __stdcall ClearAnimalSpawnLocationsUnk(); + + void __cdecl updateLogicAndClimbData(int unitID); + + void __cdecl detachLadderman(int unitID); + + void __stdcall UpdateSiegeTent(); + + void __stdcall UpdateBurningAnimal1(); + + void __stdcall UpdateBurningAnimal2(); + + void __cdecl IncrementAndOptionalUpdateAVValueRelated(int unitID, BOOLEnum updateAV); + + BOOLEnum __cdecl ConsiderHavingABreakNowUnk(int unitID, UnitStateShort nextUnitState); + + undefined4 __cdecl SetStateToFreetimeWalking(int unitID, int shouldFindNewGoodThing, int param_3); + + bool __cdecl FUN_00530d50(int param_1); + + int __cdecl ComputeGoodsProduced(int unitID, int goodsCount, BOOLEnum boost); + + BuildingTypeShort* __stdcall FUN_00530e00(); + + uint __stdcall TryPlayStockpileIsFullNoiseUnk(); + + BuildingTypeShort* __stdcall PlaySound_StockpileIsFullMyLordUnk(); + + BOOLEnum __cdecl CurrentUnitHasHealer(); + + void __stdcall UpdateBurningMan(); + + void __stdcall UpdateCamel(); + + void __stdcall UpdateShield(); + + BOOLEnum __cdecl ConsiderTakingABreakUnk(int unitID); + + void __stdcall UpdatePeasant(); + + void __stdcall UpdateOx(); + + void __stdcall UpdateMiner(); + + void __stdcall UpdateHealer(); + + void __stdcall UpdateInnkeeper(); + + void __stdcall UpdateMerchant(); + + void __stdcall UpdateMerchantHorse(); + + void __stdcall UpdateDeer(); + + void __stdcall UpdateRabbit(); + + void __stdcall UpdateCow(); + + void __stdcall UpdateFireWatch(); + + void __stdcall UpdateGhost(); + + void __stdcall UpdateLady(); + + void __stdcall UpdateSiegeTower(); + + void __stdcall UpdateBatteringRam(); + + void __stdcall UpdateChicken(); + + void __stdcall UpdateMother(); + + void __stdcall UpdateChild(); + + void __stdcall UpdateJuggler(); + + void __stdcall UpdateFireEater(); + + undefined4 __cdecl SetRestingForUnit(int unitID); + + BOOLEnum __stdcall UpdateWoodcutter(); + + void __stdcall UpdateFletcher(); + + void __stdcall UpdateTunneler(); + + void __stdcall UpdateHunter(); + + void __stdcall UpdateQuarryMason(); + + void __stdcall UpdateQuarryWorker(); + + void __stdcall UpdatePitchman(); + + void __stdcall UpdateWheatFarmer(); + + void __stdcall UpdateHopsFarmer(); + + void __stdcall UpdateAppleFarmer(); + + void __stdcall UpdateDairyFarmer(); + + void __stdcall UpdateMiller(); + + void __stdcall UpdateBaker(); + + void __stdcall UpdateBrewer(); + + void __stdcall UpdatePoleTurner(); + + void __stdcall UpdateBlacksmith(); + + void __stdcall UpdateArmorer(); + + void __stdcall UpdateTanner(); + + void __stdcall UpdateCrusaderArcher(); + + void __stdcall UpdateCrossbowman(); + + void __stdcall UpdateSpearman(); + + void __stdcall UpdatePikeman(); + + void __stdcall UpdateMaceman(); + + void __stdcall UpdateSwordsman(); + + void __stdcall UpdateKnight(); + + void __stdcall UpdateLadderman(); + + void __stdcall UpdateEngineer(); + + void __stdcall UpdateMinerIronFetcher(); + + void __stdcall UpdatePriest(); + + void __stdcall UpdateDrunkard(); + + void __stdcall UpdateMonk(); + + void __stdcall UpdateCatapult(); + + void __stdcall UpdateTrebuchet(); + + void __stdcall UpdateMangonel(); + + void __stdcall UpdateLion(); + + void __stdcall UpdateHunterDog(); + + void __stdcall UpdateLord(); + + void __stdcall UpdateJester(); + + void __stdcall UpdateBallista(); + + void __stdcall UpdateCageDog(); + + void __stdcall UpdateArabianArcher(); + + void __stdcall UpdateSlave(); + + void __stdcall UpdateSlinger(); + + void __stdcall UpdateAssassin(); + + void __cdecl HorseArcher_DoShooting(short* unitID); + + void __stdcall UpdateArabianSwordsman(); + + void __stdcall UpdateFireThrower(); + + void __stdcall UpdateFireBallista(); + + void __stdcall UpdateHorseArcher(); + + void __stdcall PlayJokeVideoBasedOnCurrentTimeAndPlayTime(); + + void __stdcall MainGameLoop( + HINSTANCE hInstance, undefined4 param_2, char* commandLineArguments, undefined4 param_4); + + void __cdecl SetRNGSeed(ulong param_1); + + char* __cdecl StringToLowerCase(char* string); + + int __cdecl GetFilePtrPos(HANDLE hFile); + +} // namespace Global +} // namespace OpenSHC diff --git a/src/OpenSHC/Global/Init.func.hpp b/src/OpenSHC/Global/Init.func.hpp new file mode 100644 index 0000000..551b47a --- /dev/null +++ b/src/OpenSHC/Global/Init.func.hpp @@ -0,0 +1,1259 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Global/Init.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Global/Init.hpp" +namespace OpenSHC { +namespace Global { + namespace Init_Func { + + MACRO_FUNCTION_RESOLVER( + void*(__thiscall*)(), false, Address::SHC_3BB0A8C1_0x00467F50, &OpenSHC::Global::Init::Constructor_Empty) + Constructor_Empty; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A170, + &OpenSHC::Global::Init::Constructor_MenuView_Reduced) + Constructor_MenuView_Reduced; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A190, + &OpenSHC::Global::Init::Constructor_MenuView_IntroLogos) + Constructor_MenuView_IntroLogos; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A1C0, + &OpenSHC::Global::Init::Constructor_MenuView_HistoricMissionSelect) + Constructor_MenuView_HistoricMissionSelect; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A1F0, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedEconomicMissionSelect) + Constructor_MenuView_UnusedEconomicMissionSelect; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A220, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedSomeMissionStartUnk) + Constructor_MenuView_UnusedSomeMissionStartUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A250, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedOldTitleMenu) + Constructor_MenuView_UnusedOldTitleMenu; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A280, + &OpenSHC::Global::Init::Constructor_MenuView_MpConnection) + Constructor_MenuView_MpConnection; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A2B0, + &OpenSHC::Global::Init::Constructor_MenuView_Unknown21) + Constructor_MenuView_Unknown21; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A2E0, + &OpenSHC::Global::Init::Constructor_MenuView_LobbyMenu) + Constructor_MenuView_LobbyMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A310, + &OpenSHC::Global::Init::Constructor_MenuView_Unknown33) + Constructor_MenuView_Unknown33; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A340, + &OpenSHC::Global::Init::Constructor_MenuView_Unknown61ReturnToSkrimishMenuUnk) + Constructor_MenuView_Unknown61ReturnToSkrimishMenuUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A370, + &OpenSHC::Global::Init::Constructor_MenuView_SingleplayerMapChoice) + Constructor_MenuView_SingleplayerMapChoice; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A3A0, + &OpenSHC::Global::Init::Constructor_MenuView_Unknown49DoesNothingUnk) + Constructor_MenuView_Unknown49DoesNothingUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A3D0, + &OpenSHC::Global::Init::Constructor_MenuView_MapEditorLandscaping) + Constructor_MenuView_MapEditorLandscaping; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A400, + &OpenSHC::Global::Init::Constructor_MenuView_BuildMenu) + Constructor_MenuView_BuildMenu; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A430, + &OpenSHC::Global::Init::Constructor_MenuView_BuildingAndStatusMenu) + Constructor_MenuView_BuildingAndStatusMenu; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A460, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedHelpTextEditor) + Constructor_MenuView_UnusedHelpTextEditor; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A490, + &OpenSHC::Global::Init::Constructor_MenuView_MapEditorProperties) + Constructor_MenuView_MapEditorProperties; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A4C0, + &OpenSHC::Global::Init::Constructor_MenuView_NewMapMaptype) + Constructor_MenuView_NewMapMaptype; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A4F0, + &OpenSHC::Global::Init::Constructor_MenuView_NewMapMapsize) + Constructor_MenuView_NewMapMapsize; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A520, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedChooseAvailableKeeps) + Constructor_MenuView_UnusedChooseAvailableKeeps; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A550, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedChooseGameType) + Constructor_MenuView_UnusedChooseGameType; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A580, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedCreateSiege) + Constructor_MenuView_UnusedCreateSiege; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A5B0, + &OpenSHC::Global::Init::Constructor_MenuView_Unknown26_CampaignRelatedUnk) + Constructor_MenuView_Unknown26_CampaignRelatedUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A5E0, + &OpenSHC::Global::Init::Constructor_MenuView_CampaignUnk) + Constructor_MenuView_CampaignUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A610, + &OpenSHC::Global::Init::Constructor_MenuView_ScenarioDescription) + Constructor_MenuView_ScenarioDescription; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A640, + &OpenSHC::Global::Init::Constructor_MenuView_MissionFinishedTransition) + Constructor_MenuView_MissionFinishedTransition; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A670, + &OpenSHC::Global::Init::Constructor_MenuView_GameLost) + Constructor_MenuView_GameLost; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A6A0, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedExtremeAd) + Constructor_MenuView_UnusedExtremeAd; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A6D0, + &OpenSHC::Global::Init::Constructor_MenuView_EditScenario) + Constructor_MenuView_EditScenario; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A700, + &OpenSHC::Global::Init::Constructor_MenuView_GameStartEnterName) + Constructor_MenuView_GameStartEnterName; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A730, + &OpenSHC::Global::Init::Constructor_MenuView_MainMenu) + Constructor_MenuView_MainMenu; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A760, + &OpenSHC::Global::Init::Constructor_MenuView_HistoricCampaignSelect) + Constructor_MenuView_HistoricCampaignSelect; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A790, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedEconomicGametypeSelect) + Constructor_MenuView_UnusedEconomicGametypeSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A7C0, + &OpenSHC::Global::Init::Constructor_MenuView_CustomScenarios) + Constructor_MenuView_CustomScenarios; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A7F0, + &OpenSHC::Global::Init::Constructor_MenuView_Credits) + Constructor_MenuView_Credits; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A820, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedDemoBuyItScreen) + Constructor_MenuView_UnusedDemoBuyItScreen; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A850, + &OpenSHC::Global::Init::Constructor_MenuView_IntroVideo) + Constructor_MenuView_IntroVideo; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059A880, + &OpenSHC::Global::Init::Constructor_MenuView_HistoricMissionPicture) + Constructor_MenuView_HistoricMissionPicture; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A8B0, + &OpenSHC::Global::Init::Constructor_MenuView_HistoricMissionIntro) + Constructor_MenuView_HistoricMissionIntro; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A8E0, + &OpenSHC::Global::Init::Constructor_MenuView_HistoricCampaignIntro) + Constructor_MenuView_HistoricCampaignIntro; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A910, + &OpenSHC::Global::Init::Constructor_MenuView_HistoricCampaignOutro) + Constructor_MenuView_HistoricCampaignOutro; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A940, + &OpenSHC::Global::Init::Constructor_MenuView_UnusedSelectRandomNumberOfEnemies) + Constructor_MenuView_UnusedSelectRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A970, + &OpenSHC::Global::Init::Constructor_MenuView_SelectCrusade) + Constructor_MenuView_SelectCrusade; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A9A0, + &OpenSHC::Global::Init::Constructor_MenuView_CrusadeMissionIntro) + Constructor_MenuView_CrusadeMissionIntro; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059A9D0, + &OpenSHC::Global::Init::Constructor_MenuView_CrusadeMap) + Constructor_MenuView_CrusadeMap; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AA00, + &OpenSHC::Global::Init::Constructor_MenuView_RankingGames) + Constructor_MenuView_RankingGames; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AA30, + &OpenSHC::Global::Init::Constructor_MenuView_CrusadeEndscreen) + Constructor_MenuView_CrusadeEndscreen; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AA60, + &OpenSHC::Global::Init::Constructor_Menu_Unknown_ManyThings) + Constructor_Menu_Unknown_ManyThings; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AA70, + &OpenSHC::Global::Init::Constructor_Menu_IntroLogos) + Constructor_Menu_IntroLogos; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AA80, + &OpenSHC::Global::Init::Constructor_Menu_IntroVideo) + Constructor_Menu_IntroVideo; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AA90, + &OpenSHC::Global::Init::Constructor_Menu_StartEnterName) + Constructor_Menu_StartEnterName; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AAA0, + &OpenSHC::Global::Init::Constructor_Menu_MainMenu) + Constructor_Menu_MainMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AAB0, + &OpenSHC::Global::Init::Constructor_Menu_HistoricCampaignSelect) + Constructor_Menu_HistoricCampaignSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AAC0, + &OpenSHC::Global::Init::Constructor_Menu_UnusedEconomicGametypeSelect) + Constructor_Menu_UnusedEconomicGametypeSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AAD0, + &OpenSHC::Global::Init::Constructor_Menu_CustomScenarios) + Constructor_Menu_CustomScenarios; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AAE0, + &OpenSHC::Global::Init::Constructor_Menu_UnusedSomeMissionStartUnk) + Constructor_Menu_UnusedSomeMissionStartUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AAF0, + &OpenSHC::Global::Init::Constructor_Menu_HistoricMissionSelect) + Constructor_Menu_HistoricMissionSelect; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AB00, + &OpenSHC::Global::Init::Constructor_Menu_UnusedEconomicMissionSelect) + Constructor_Menu_UnusedEconomicMissionSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB10, + &OpenSHC::Global::Init::Constructor_Menu_UnusedSetName) + Constructor_Menu_UnusedSetName; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB20, + &OpenSHC::Global::Init::Constructor_Menu_UnusedOldTitleMenu) + Constructor_Menu_UnusedOldTitleMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB30, + &OpenSHC::Global::Init::Constructor_Menu_LobbyMenu) + Constructor_Menu_LobbyMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB40, + &OpenSHC::Global::Init::Constructor_Menu_SkirmishConnectionOptions) + Constructor_Menu_SkirmishConnectionOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB50, + &OpenSHC::Global::Init::Constructor_Menu_SkirmishPlayOptions) + Constructor_Menu_SkirmishPlayOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB60, + &OpenSHC::Global::Init::Constructor_Menu_SendMapTo) + Constructor_Menu_SendMapTo; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB70, + &OpenSHC::Global::Init::Constructor_Menu_ReceiveMapFrom) + Constructor_Menu_ReceiveMapFrom; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB80, + &OpenSHC::Global::Init::Constructor_Menu_UnusedSelectRandomNumberOfEnemies) + Constructor_Menu_UnusedSelectRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AB90, + &OpenSHC::Global::Init::Constructor_Menu_ChooseRandomNumberOfEnemies) + Constructor_Menu_ChooseRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059ABA0, + &OpenSHC::Global::Init::Constructor_Menu_SelectCrusade) + Constructor_Menu_SelectCrusade; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ABB0, + &OpenSHC::Global::Init::Constructor_Menu_BasicAiLordSelect) + Constructor_Menu_BasicAiLordSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ABC0, + &OpenSHC::Global::Init::Constructor_Menu_ExtendedAiLordSelect) + Constructor_Menu_ExtendedAiLordSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ABD0, + &OpenSHC::Global::Init::Constructor_Menu_Roundtable) + Constructor_Menu_Roundtable; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ABE0, + &OpenSHC::Global::Init::Constructor_Menu_OverlaySlider) + Constructor_Menu_OverlaySlider; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ABF0, + &OpenSHC::Global::Init::Constructor_Menu_UnusedWinCondition) + Constructor_Menu_UnusedWinCondition; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AC00, + &OpenSHC::Global::Init::Constructor_Menu_SingleplayerMapChoice) + Constructor_Menu_SingleplayerMapChoice; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC10, + &OpenSHC::Global::Init::Constructor_Menu_MapEditorProperties) + Constructor_Menu_MapEditorProperties; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC20, + &OpenSHC::Global::Init::Constructor_Menu_NewMapMaptype) + Constructor_Menu_NewMapMaptype; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC30, + &OpenSHC::Global::Init::Constructor_Menu_NewMapMapsize) + Constructor_Menu_NewMapMapsize; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC40, + &OpenSHC::Global::Init::Constructor_Menu_UnusedChooseAvailableKeeps) + Constructor_Menu_UnusedChooseAvailableKeeps; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC50, + &OpenSHC::Global::Init::Constructor_Menu_UnusedChooseGameType) + Constructor_Menu_UnusedChooseGameType; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AC60, + &OpenSHC::Global::Init::Constructor_Menu_UnusedCreateSiege) + Constructor_Menu_UnusedCreateSiege; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC70, + &OpenSHC::Global::Init::Constructor_Menu_Unknown26CampaignRelatedUnk) + Constructor_Menu_Unknown26CampaignRelatedUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC80, + &OpenSHC::Global::Init::Constructor_Menu_Unknown27CampaignUnk) + Constructor_Menu_Unknown27CampaignUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AC90, + &OpenSHC::Global::Init::Constructor_Menu_UnusedExtremeAd) + Constructor_Menu_UnusedExtremeAd; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ACA0, + &OpenSHC::Global::Init::Constructor_Menu_HistoricCampaignIntroAndMissionPicture) + Constructor_Menu_HistoricCampaignIntroAndMissionPicture; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ACB0, + &OpenSHC::Global::Init::Constructor_Menu_HistoricCampaignOutroAndMissionIntro) + Constructor_Menu_HistoricCampaignOutroAndMissionIntro; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059ACC0, + &OpenSHC::Global::Init::Constructor_Menu_ScenarioDescription) + Constructor_Menu_ScenarioDescription; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ACD0, + &OpenSHC::Global::Init::Constructor_Menu_CrusadeMissionIntro) + Constructor_Menu_CrusadeMissionIntro; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ACE0, + &OpenSHC::Global::Init::Constructor_Menu_CrusadeMap) + Constructor_Menu_CrusadeMap; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ACF0, + &OpenSHC::Global::Init::Constructor_Menu_RankingGames) + Constructor_Menu_RankingGames; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD00, + &OpenSHC::Global::Init::Constructor_Menu_CrusadeEndscreen) + Constructor_Menu_CrusadeEndscreen; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AD10, + &OpenSHC::Global::Init::Constructor_Menu_MissionFinishedTransition) + Constructor_Menu_MissionFinishedTransition; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AD20, + &OpenSHC::Global::Init::Constructor_Menu_GameLostUnk) + Constructor_Menu_GameLostUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD30, + &OpenSHC::Global::Init::Constructor_Menu_ChooseNetworkServiceProvider) + Constructor_Menu_ChooseNetworkServiceProvider; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD40, + &OpenSHC::Global::Init::Constructor_Menu_FindingNetworkSessions) + Constructor_Menu_FindingNetworkSessions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD50, + &OpenSHC::Global::Init::Constructor_Menu_WaitingForHost) + Constructor_Menu_WaitingForHost; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD60, + &OpenSHC::Global::Init::Constructor_Menu_BuildMenu) + Constructor_Menu_BuildMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD70, + &OpenSHC::Global::Init::Constructor_Menu_BuildingAndStatusMenu) + Constructor_Menu_BuildingAndStatusMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD80, + &OpenSHC::Global::Init::Constructor_Menu_PauseMenu) + Constructor_Menu_PauseMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AD90, + &OpenSHC::Global::Init::Constructor_Menu_PauseMenuOptions) + Constructor_Menu_PauseMenuOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ADA0, + &OpenSHC::Global::Init::Constructor_Menu_MainMenuOptions) + Constructor_Menu_MainMenuOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ADB0, + &OpenSHC::Global::Init::Constructor_Menu_GameplayOptions) + Constructor_Menu_GameplayOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ADC0, + &OpenSHC::Global::Init::Constructor_Menu_VideoOptions) + Constructor_Menu_VideoOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ADD0, + &OpenSHC::Global::Init::Constructor_Menu_SoundOptions) + Constructor_Menu_SoundOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ADE0, + &OpenSHC::Global::Init::Constructor_Menu_IdentityOptions) + Constructor_Menu_IdentityOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059ADF0, + &OpenSHC::Global::Init::Constructor_Menu_EnterTitleOnGameStart) + Constructor_Menu_EnterTitleOnGameStart; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE00, + &OpenSHC::Global::Init::Constructor_Menu_NetworkOptions) + Constructor_Menu_NetworkOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE10, + &OpenSHC::Global::Init::Constructor_Menu_LoadMap) + Constructor_Menu_LoadMap; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE20, + &OpenSHC::Global::Init::Constructor_Menu_SaveMap) + Constructor_Menu_SaveMap; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE30, + &OpenSHC::Global::Init::Constructor_Menu_YesNoDialog) + Constructor_Menu_YesNoDialog; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE40, + &OpenSHC::Global::Init::Constructor_Menu_QuitDialog) + Constructor_Menu_QuitDialog; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE50, + &OpenSHC::Global::Init::Constructor_Menu_DeleteGameRecord) + Constructor_Menu_DeleteGameRecord; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE60, + &OpenSHC::Global::Init::Constructor_Menu_TacticalPowerBar) + Constructor_Menu_TacticalPowerBar; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE70, + &OpenSHC::Global::Init::Constructor_Menu_ProgressBarBox) + Constructor_Menu_ProgressBarBox; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE80, + &OpenSHC::Global::Init::Constructor_Menu_Chat) + Constructor_Menu_Chat; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AE90, + &OpenSHC::Global::Init::Constructor_Menu_Allies) + Constructor_Menu_Allies; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AEA0, + &OpenSHC::Global::Init::Constructor_Menu_AlliesOrder) + Constructor_Menu_AlliesOrder; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AEB0, + &OpenSHC::Global::Init::Constructor_Menu_AlliesRequestGoods) + Constructor_Menu_AlliesRequestGoods; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AEC0, + &OpenSHC::Global::Init::Constructor_Menu_AlliesSendGoods) + Constructor_Menu_AlliesSendGoods; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AED0, + &OpenSHC::Global::Init::Constructor_Menu_GreatestLord) + Constructor_Menu_GreatestLord; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AEE0, + &OpenSHC::Global::Init::Constructor_Menu_OnlineQuitGame) + Constructor_Menu_OnlineQuitGame; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AEF0, + &OpenSHC::Global::Init::Constructor_Menu_OnlineVoteQuitGame) + Constructor_Menu_OnlineVoteQuitGame; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF00, + &OpenSHC::Global::Init::Constructor_Menu_DebugModals) + Constructor_Menu_DebugModals; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF10, + &OpenSHC::Global::Init::Constructor_Menu_DisplayAiLordMessage) + Constructor_Menu_DisplayAiLordMessage; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF20, + &OpenSHC::Global::Init::Constructor_Menu_TutorialBox) + Constructor_Menu_TutorialBox; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF30, + &OpenSHC::Global::Init::Constructor_Menu_TutorialBoxWithLeave) + Constructor_Menu_TutorialBoxWithLeave; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AF40, + &OpenSHC::Global::Init::Constructor_Menu_UnusedHelpTextEditor) + Constructor_Menu_UnusedHelpTextEditor; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF50, + &OpenSHC::Global::Init::Constructor_Menu_BuildingHelpText) + Constructor_Menu_BuildingHelpText; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF60, + &OpenSHC::Global::Init::Constructor_Menu_InGameHelpText) + Constructor_Menu_InGameHelpText; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF70, + &OpenSHC::Global::Init::Constructor_Menu_DisplayScenarioHelpText) + Constructor_Menu_DisplayScenarioHelpText; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF80, + &OpenSHC::Global::Init::Constructor_Menu_Credits) + Constructor_Menu_Credits; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AF90, + &OpenSHC::Global::Init::Constructor_Menu_MapDescriptionEditor) + Constructor_Menu_MapDescriptionEditor; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AFA0, + &OpenSHC::Global::Init::Constructor_Menu_UnusedDemoBuyItScreen) + Constructor_Menu_UnusedDemoBuyItScreen; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AFB0, + &OpenSHC::Global::Init::Constructor_Menu_EditorMapTypeQuickChange) + Constructor_Menu_EditorMapTypeQuickChange; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AFC0, + &OpenSHC::Global::Init::Constructor_Menu_Empty10) + Constructor_Menu_Empty10; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059AFD0, + &OpenSHC::Global::Init::Constructor_Menu_Empty11) + Constructor_Menu_Empty11; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AFE0, + &OpenSHC::Global::Init::Constructor_Menu_MapEditorLandscaping) + Constructor_Menu_MapEditorLandscaping; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059AFF0, + &OpenSHC::Global::Init::Constructor_Menu_EditScenario) + Constructor_Menu_EditScenario; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B000, + &OpenSHC::Global::Init::Constructor_Menu_UnusedChooseMessageBox) + Constructor_Menu_UnusedChooseMessageBox; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B010, + &OpenSHC::Global::Init::Constructor_Menu_TraderSettings) + Constructor_Menu_TraderSettings; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B020, + &OpenSHC::Global::Init::Constructor_Menu_StartGoods) + Constructor_Menu_StartGoods; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B030, + &OpenSHC::Global::Init::Constructor_Menu_UnusedSiegeAttackingForceUnk) + Constructor_Menu_UnusedSiegeAttackingForceUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B040, + &OpenSHC::Global::Init::Constructor_Menu_NewInvasion) + Constructor_Menu_NewInvasion; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B050, + &OpenSHC::Global::Init::Constructor_Menu_UnusedCreateTimedMessageEvent) + Constructor_Menu_UnusedCreateTimedMessageEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B060, + &OpenSHC::Global::Init::Constructor_Menu_NewEvent) + Constructor_Menu_NewEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B070, + &OpenSHC::Global::Init::Constructor_Menu_NewEventCondition) + Constructor_Menu_NewEventCondition; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B080, + &OpenSHC::Global::Init::Constructor_Menu_NewEventAction) + Constructor_Menu_NewEventAction; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B090, + &OpenSHC::Global::Init::Constructor_Menu_UnusedCreateMessageEvent) + Constructor_Menu_UnusedCreateMessageEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B0A0, + &OpenSHC::Global::Init::Constructor_Menu_BuildingAvailability) + Constructor_Menu_BuildingAvailability; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B0B0, + &OpenSHC::Global::Init::Constructor_Menu_DisableEuroTroops) + Constructor_Menu_DisableEuroTroops; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B0C0, + &OpenSHC::Global::Init::Constructor_Menu_DisableArabTroops) + Constructor_Menu_DisableArabTroops; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B0D0, + &OpenSHC::Global::Init::Constructor_Menu_DisableWeapon) + Constructor_Menu_DisableWeapon; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B0E0, + &OpenSHC::Global::Init::Constructor_Menu_TriggerInvasion) + Constructor_Menu_TriggerInvasion; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B0F0, + &OpenSHC::Global::Init::Constructor_Menu_TriggerEventOrInvasion) + Constructor_Menu_TriggerEventOrInvasion; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B100, + &OpenSHC::Global::Init::Constructor_Menu_TriggerEvent) + Constructor_Menu_TriggerEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B110, + &OpenSHC::Global::Init::Constructor_Menu_TriggerEventSlider) + Constructor_Menu_TriggerEventSlider; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B120, + &OpenSHC::Global::Init::Constructor_MenuModal_OverlaySlider) + Constructor_MenuModal_OverlaySlider; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B160, + &OpenSHC::Global::Init::Constructor_MenuModal_UnusedWinCondition) + Constructor_MenuModal_UnusedWinCondition; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B1A0, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataCurrentPlayerData) + Constructor_MenuModal_DebugDataCurrentPlayerData; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B1E0, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataAiInfo) + Constructor_MenuModal_DebugDataAiInfo; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B220, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataUnitData) + Constructor_MenuModal_DebugDataUnitData; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B260, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataZoneDataUnk) + Constructor_MenuModal_DebugDataZoneDataUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B2A0, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataNetwork) + Constructor_MenuModal_DebugDataNetwork; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B2E0, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataMousePointing) + Constructor_MenuModal_DebugDataMousePointing; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B320, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataSplitInfo) + Constructor_MenuModal_DebugDataSplitInfo; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B360, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataMapData) + Constructor_MenuModal_DebugDataMapData; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B3A0, + &OpenSHC::Global::Init::Constructor_MenuModal_PauseMenu) + Constructor_MenuModal_PauseMenu; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B3E0, + &OpenSHC::Global::Init::Constructor_MenuModal_VideoOptions) + Constructor_MenuModal_VideoOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B420, + &OpenSHC::Global::Init::Constructor_MenuModal_SoundOptions) + Constructor_MenuModal_SoundOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B460, + &OpenSHC::Global::Init::Constructor_MenuModal_NetworkOptions) + Constructor_MenuModal_NetworkOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B4A0, + &OpenSHC::Global::Init::Constructor_MenuModal_LoadMap) + Constructor_MenuModal_LoadMap; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B4E0, + &OpenSHC::Global::Init::Constructor_MenuModal_SaveMap) + Constructor_MenuModal_SaveMap; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B520, + &OpenSHC::Global::Init::Constructor_MenuModal_YesNoDialog) + Constructor_MenuModal_YesNoDialog; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B560, + &OpenSHC::Global::Init::Constructor_MenuModal_QuitDialog) + Constructor_MenuModal_QuitDialog; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B5A0, + &OpenSHC::Global::Init::Constructor_MenuModal_PauseMenuOptions) + Constructor_MenuModal_PauseMenuOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B5E0, + &OpenSHC::Global::Init::Constructor_MenuModal_MainMenuOptions) + Constructor_MenuModal_MainMenuOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B620, + &OpenSHC::Global::Init::Constructor_MenuModal_GameplayOptions) + Constructor_MenuModal_GameplayOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B660, + &OpenSHC::Global::Init::Constructor_MenuModal_IdentityOptions) + Constructor_MenuModal_IdentityOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B6A0, + &OpenSHC::Global::Init::Constructor_MenuModal_EnterTitleOnGameStart) + Constructor_MenuModal_EnterTitleOnGameStart; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B6E0, + &OpenSHC::Global::Init::Constructor_MenuModal_ProgressBarBox) + Constructor_MenuModal_ProgressBarBox; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B720, + &OpenSHC::Global::Init::Constructor_MenuModal_BuildingHelpText) + Constructor_MenuModal_BuildingHelpText; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B760, + &OpenSHC::Global::Init::Constructor_MenuModal_InGameHelpText) + Constructor_MenuModal_InGameHelpText; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B7A0, + &OpenSHC::Global::Init::Constructor_MenuModal_MapDescriptionEditor) + Constructor_MenuModal_MapDescriptionEditor; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B7E0, + &OpenSHC::Global::Init::Constructor_MenuModal_ChooseNetworkServiceProvider) + Constructor_MenuModal_ChooseNetworkServiceProvider; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B820, + &OpenSHC::Global::Init::Constructor_MenuModal_FindingNetworkSessions) + Constructor_MenuModal_FindingNetworkSessions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B860, + &OpenSHC::Global::Init::Constructor_MenuModal_DisplayAiLordMessage) + Constructor_MenuModal_DisplayAiLordMessage; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B8A0, + &OpenSHC::Global::Init::Constructor_MenuModal_WaitingForHost) + Constructor_MenuModal_WaitingForHost; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B8E0, + &OpenSHC::Global::Init::Constructor_MenuModal_UnusedSetName) + Constructor_MenuModal_UnusedSetName; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B920, + &OpenSHC::Global::Init::Constructor_MenuModal_UnusedChooseMessageBox) + Constructor_MenuModal_UnusedChooseMessageBox; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B960, + &OpenSHC::Global::Init::Constructor_MenuModal_TraderSettings) + Constructor_MenuModal_TraderSettings; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B9A0, + &OpenSHC::Global::Init::Constructor_MenuModal_StartGoods) + Constructor_MenuModal_StartGoods; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059B9E0, + &OpenSHC::Global::Init::Constructor_MenuModal_UnusedSiegeAttackingForceUnk) + Constructor_MenuModal_UnusedSiegeAttackingForceUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BA20, + &OpenSHC::Global::Init::Constructor_MenuModal_NewInvasion) + Constructor_MenuModal_NewInvasion; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BA60, + &OpenSHC::Global::Init::Constructor_MenuModal_UnusedCreateTimedMessageEvent) + Constructor_MenuModal_UnusedCreateTimedMessageEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BAA0, + &OpenSHC::Global::Init::Constructor_MenuModal_NewEvent) + Constructor_MenuModal_NewEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BAE0, + &OpenSHC::Global::Init::Constructor_MenuModal_NewEventCondition) + Constructor_MenuModal_NewEventCondition; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BB20, + &OpenSHC::Global::Init::Constructor_MenuModal_NewEventAction) + Constructor_MenuModal_NewEventAction; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BB60, + &OpenSHC::Global::Init::Constructor_MenuModal_UnusedCreateMessageEvent) + Constructor_MenuModal_UnusedCreateMessageEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BBA0, + &OpenSHC::Global::Init::Constructor_MenuModal_BuildingAvailability) + Constructor_MenuModal_BuildingAvailability; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BBE0, + &OpenSHC::Global::Init::Constructor_MenuModal_DisableEuroTroops) + Constructor_MenuModal_DisableEuroTroops; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BC20, + &OpenSHC::Global::Init::Constructor_MenuModal_DisableArabTroops) + Constructor_MenuModal_DisableArabTroops; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BC60, + &OpenSHC::Global::Init::Constructor_MenuModal_DisableWeapon) + Constructor_MenuModal_DisableWeapon; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BCA0, + &OpenSHC::Global::Init::Constructor_MenuModal_TutorialBox) + Constructor_MenuModal_TutorialBox; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059BCE0, + &OpenSHC::Global::Init::Constructor_MenuModal_TutorialBoxWithLeave) + Constructor_MenuModal_TutorialBoxWithLeave; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BD20, + &OpenSHC::Global::Init::Constructor_MenuModal_DisplayScenarioHelpText) + Constructor_MenuModal_DisplayScenarioHelpText; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BD60, + &OpenSHC::Global::Init::Constructor_MenuModal_Chat) + Constructor_MenuModal_Chat; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BDA0, + &OpenSHC::Global::Init::Constructor_MenuModal_CreditsScroll) + Constructor_MenuModal_CreditsScroll; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BDE0, + &OpenSHC::Global::Init::Constructor_MenuModal_EditorMapTypeQuickChange) + Constructor_MenuModal_EditorMapTypeQuickChange; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BE20, + &OpenSHC::Global::Init::Constructor_MenuModal_SkirmishConnectionOptions) + Constructor_MenuModal_SkirmishConnectionOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BE60, + &OpenSHC::Global::Init::Constructor_MenuModal_SkirmishPlayOptions) + Constructor_MenuModal_SkirmishPlayOptions; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BEA0, + &OpenSHC::Global::Init::Constructor_MenuModal_OnlineQuitGame) + Constructor_MenuModal_OnlineQuitGame; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BEE0, + &OpenSHC::Global::Init::Constructor_MenuModal_OnlineVoteQuitGame) + Constructor_MenuModal_OnlineVoteQuitGame; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BF20, + &OpenSHC::Global::Init::Constructor_MenuModal_TriggerInvasion) + Constructor_MenuModal_TriggerInvasion; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BF60, + &OpenSHC::Global::Init::Constructor_MenuModal_TriggerEvent) + Constructor_MenuModal_TriggerEvent; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BFA0, + &OpenSHC::Global::Init::Constructor_MenuModal_TriggerEventOrInvasion) + Constructor_MenuModal_TriggerEventOrInvasion; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059BFE0, + &OpenSHC::Global::Init::Constructor_MenuModal_TriggerEventSlider) + Constructor_MenuModal_TriggerEventSlider; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C020, + &OpenSHC::Global::Init::Constructor_MenuModal_SendMapTo) + Constructor_MenuModal_SendMapTo; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C060, + &OpenSHC::Global::Init::Constructor_MenuModal_ReceiveMapFrom) + Constructor_MenuModal_ReceiveMapFrom; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C0A0, + &OpenSHC::Global::Init::Constructor_MenuModal_BasicAiLordSelect) + Constructor_MenuModal_BasicAiLordSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C0F0, + &OpenSHC::Global::Init::Constructor_MenuModal_ExtendedAiLordSelect) + Constructor_MenuModal_ExtendedAiLordSelect; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C140, + &OpenSHC::Global::Init::Constructor_MenuModal_Roundtable) + Constructor_MenuModal_Roundtable; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C180, + &OpenSHC::Global::Init::Constructor_MenuModal_Allies) + Constructor_MenuModal_Allies; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C1C0, + &OpenSHC::Global::Init::Constructor_MenuModal_AlliesOrder) + Constructor_MenuModal_AlliesOrder; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C200, + &OpenSHC::Global::Init::Constructor_MenuModal_AlliesRequestGoods) + Constructor_MenuModal_AlliesRequestGoods; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C240, + &OpenSHC::Global::Init::Constructor_MenuModal_GreatestLord) + Constructor_MenuModal_GreatestLord; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C280, + &OpenSHC::Global::Init::Constructor_MenuModal_AlliesSendGoods) + Constructor_MenuModal_AlliesSendGoods; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C2C0, + &OpenSHC::Global::Init::Constructor_MenuModal_ChooseRandomNumberOfEnemies) + Constructor_MenuModal_ChooseRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C300, + &OpenSHC::Global::Init::Constructor_MenuModal_DeleteGameRecord) + Constructor_MenuModal_DeleteGameRecord; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C340, + &OpenSHC::Global::Init::Constructor_MenuModal_TacticalPowerBar) + Constructor_MenuModal_TacticalPowerBar; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C380, + &OpenSHC::Global::Init::Constructor_MenuModal_DebugDataAivStateUnk) + Constructor_MenuModal_DebugDataAivStateUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C3C0, + &OpenSHC::Global::Init::CreateUnknownDisplayElement0) + CreateUnknownDisplayElement0; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C3E0, + &OpenSHC::Global::Init::CreateBottomLeftDateDisplayElement) + CreateBottomLeftDateDisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C400, + &OpenSHC::Global::Init::CreateUnknownDisplayElement18) + CreateUnknownDisplayElement18; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C420, + &OpenSHC::Global::Init::CreateInGameStartingGoodsCounterDisplayElement) + CreateInGameStartingGoodsCounterDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C440, + &OpenSHC::Global::Init::CreateConnectAndPathLinkageInfoTextDisplayElement) + CreateConnectAndPathLinkageInfoTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C460, + &OpenSHC::Global::Init::CreateInGameChatDisplayElementUnk) + CreateInGameChatDisplayElementUnk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C480, + &OpenSHC::Global::Init::CreateResourceMissing1DisplayElement) + CreateResourceMissing1DisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C4A0, + &OpenSHC::Global::Init::CreateResourceMissing2DisplayElement) + CreateResourceMissing2DisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C4C0, + &OpenSHC::Global::Init::CreateDebugNumbersDisplayElement) + CreateDebugNumbersDisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C4E0, + &OpenSHC::Global::Init::CreateUnknownDisplayElement7) + CreateUnknownDisplayElement7; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C500, + &OpenSHC::Global::Init::CreateSomeMissionNumberUnkDisplayElement9) + CreateSomeMissionNumberUnkDisplayElement9; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C520, + &OpenSHC::Global::Init::CreateNoTreeGrowthTextDisplayElement) + CreateNoTreeGrowthTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C540, + &OpenSHC::Global::Init::CreateInGameWinDefeatWindowDisplayElement) + CreateInGameWinDefeatWindowDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C560, + &OpenSHC::Global::Init::CreateMissionWinDefeatBannerDisplayElement) + CreateMissionWinDefeatBannerDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C580, + &OpenSHC::Global::Init::CreateSomeMultiplayerInfoUnkDisplayElement19) + CreateSomeMultiplayerInfoUnkDisplayElement19; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C5A0, + &OpenSHC::Global::Init::CreateKeepAndGranaryPlacementInfoDisplayElement) + CreateKeepAndGranaryPlacementInfoDisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C5C0, + &OpenSHC::Global::Init::CreatePlayerInfoOnHoverDisplayElement) + CreatePlayerInfoOnHoverDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C5E0, + &OpenSHC::Global::Init::CreatePlayerPingUnkDisplayElement22) + CreatePlayerPingUnkDisplayElement22; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C600, + &OpenSHC::Global::Init::CreateGamePausedTextDisplayElement) + CreateGamePausedTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C620, + &OpenSHC::Global::Init::CreateGameSpeedTextDisplayElement) + CreateGameSpeedTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C640, + &OpenSHC::Global::Init::CreateUnknownDisplayElement25) + CreateUnknownDisplayElement25; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C660, + &OpenSHC::Global::Init::CreateTimeUntilVictoryDisplayElement) + CreateTimeUntilVictoryDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C680, + &OpenSHC::Global::Init::CreateNoRushDisplayElementUnk) + CreateNoRushDisplayElementUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C6A0, + &OpenSHC::Global::Init::CreateTimeUntilDefeatDisplayElement) + CreateTimeUntilDefeatDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C6C0, + &OpenSHC::Global::Init::CreateSomeMultiplayerInfoUnkDisplayElement28) + CreateSomeMultiplayerInfoUnkDisplayElement28; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C6E0, + &OpenSHC::Global::Init::CreatePeopleLeftToPlaceDisplayElement) + CreatePeopleLeftToPlaceDisplayElement; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C700, + &OpenSHC::Global::Init::Constructor_UnknownClass1) + Constructor_UnknownClass1; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C720, + &OpenSHC::Global::Init::Constructor_WindowAndDirectDraw) + Constructor_WindowAndDirectDraw; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C740, + &OpenSHC::Global::Init::Constructor_WindowInformation) + Constructor_WindowInformation; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C760, + &OpenSHC::Global::Init::Constructor_MouseState) + Constructor_MouseState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C780, + &OpenSHC::Global::Init::Constructor_ModifierKeyState) + Constructor_ModifierKeyState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C7A0, + &OpenSHC::Global::Init::Constructor_ScrollingHandler) + Constructor_ScrollingHandler; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C7C0, + &OpenSHC::Global::Init::Constructor_InsertKeyState) + Constructor_InsertKeyState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C7E0, + &OpenSHC::Global::Init::Constructor_PencilRenderCoreObj) + Constructor_PencilRenderCoreObj; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C800, + &OpenSHC::Global::Init::Constructor_UserTextHandler) + Constructor_UserTextHandler; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C820, + &OpenSHC::Global::Init::Constructor_TextManagerObj) + Constructor_TextManagerObj; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C840, + &OpenSHC::Global::Init::Constructor_UnusedClass1Unk) + Constructor_UnusedClass1Unk; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C860, + &OpenSHC::Global::Init::Constructor_RNGState) + Constructor_RNGState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C880, + &OpenSHC::Global::Init::Constructor_LowLevelMemory) + Constructor_LowLevelMemory; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C8A0, + &OpenSHC::Global::Init::Constructor_GameCore) + Constructor_GameCore; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C8C0, + &OpenSHC::Global::Init::Constructor_ResourceManager) + Constructor_ResourceManager; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C8E0, + &OpenSHC::Global::Init::Constructor_BitMapState) + Constructor_BitMapState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C900, + &OpenSHC::Global::Init::Constructor_DirectionAlgorithmState) + Constructor_DirectionAlgorithmState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C920, + &OpenSHC::Global::Init::Constructor_Stopwatch_Gameloop) + Constructor_Stopwatch_Gameloop; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C940, + &OpenSHC::Global::Init::Constructor_Stopwatch_Unknown) + Constructor_Stopwatch_Unknown; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C960, + &OpenSHC::Global::Init::Constructor_FilePackager) + Constructor_FilePackager; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C980, + &OpenSHC::Global::Init::Constructor_DecoderState) + Constructor_DecoderState; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0059C9A0, + &OpenSHC::Global::Init::Constructor_TextureRenderingCore) + Constructor_TextureRenderingCore; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C9D0, + &OpenSHC::Global::Init::Constructor_SFXState) + Constructor_SFXState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059C9F0, + &OpenSHC::Global::Init::Constructor_AlphaAndButtonSurface) + Constructor_AlphaAndButtonSurface; + + MACRO_FUNCTION_RESOLVER( + undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CA10, &OpenSHC::Global::Init::Constructor_Empty1) + Constructor_Empty1; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CA20, + &OpenSHC::Global::Init::Constructor_ViewportRenderState) + Constructor_ViewportRenderState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CA40, + &OpenSHC::Global::Init::Constructor_MiniMapView) + Constructor_MiniMapView; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CA60, + &OpenSHC::Global::Init::Constructor_MenuModalComposition1) + Constructor_MenuModalComposition1; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CA80, + &OpenSHC::Global::Init::Constructor_MenuModalComposition2) + Constructor_MenuModalComposition2; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CAA0, + &OpenSHC::Global::Init::Constructor_MenuModalComposition3) + Constructor_MenuModalComposition3; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CAC0, + &OpenSHC::Global::Init::Constructor_TileMapState) + Constructor_TileMapState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CAE0, + &OpenSHC::Global::Init::Constructor_WildlifeState) + Constructor_WildlifeState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CB00, + &OpenSHC::Global::Init::Constructor_PathFindingState) + Constructor_PathFindingState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CB20, + &OpenSHC::Global::Init::Constructor_UnitsState) + Constructor_UnitsState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CB40, + &OpenSHC::Global::Init::Constructor_EntityState) + Constructor_EntityState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CB60, + &OpenSHC::Global::Init::Constructor_TribesState) + Constructor_TribesState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CB80, + &OpenSHC::Global::Init::Constructor_TroopValueState) + Constructor_TroopValueState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CBA0, + &OpenSHC::Global::Init::Constructor_BuildingsState) + Constructor_BuildingsState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CBC0, + &OpenSHC::Global::Init::Constructor_AIVState) + Constructor_AIVState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CBE0, + &OpenSHC::Global::Init::Constructor_AICState) + Constructor_AICState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CC00, + &OpenSHC::Global::Init::Constructor_LandscapeState) + Constructor_LandscapeState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CC20, + &OpenSHC::Global::Init::Constructor_GameState) + Constructor_GameState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CC40, + &OpenSHC::Global::Init::Constructor_MenuTextInputState) + Constructor_MenuTextInputState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CC60, + &OpenSHC::Global::Init::Constructor_TextEditorState) + Constructor_TextEditorState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CC80, + &OpenSHC::Global::Init::Constructor_BinkControlClass) + Constructor_BinkControlClass; + + MACRO_FUNCTION_RESOLVER( + undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CC90, &OpenSHC::Global::Init::Constructor_Empty2) + Constructor_Empty2; + + MACRO_FUNCTION_RESOLVER(void(__thiscall*)(), false, Address::SHC_3BB0A8C1_0x0059CCA0, + &OpenSHC::Global::Init::Constructor_HoveredState) + Constructor_HoveredState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CCB0, + &OpenSHC::Global::Init::Constructor_MapPropertiesState) + Constructor_MapPropertiesState; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CCD0, + &OpenSHC::Global::Init::Constructor_GameSynchronyState) + Constructor_GameSynchronyState; + + MACRO_FUNCTION_RESOLVER( + undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CCE6, &OpenSHC::Global::Init::Constructor_Locks) + Constructor_Locks; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CCFC, + &OpenSHC::Global::Init::Constructor_CreateLocaleMemoryRelated) + Constructor_CreateLocaleMemoryRelated; + + MACRO_FUNCTION_RESOLVER( + undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD08, &OpenSHC::Global::Init::Constructor_Locks2) + Constructor_Locks2; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD1E, + &OpenSHC::Global::Init::Constructor_CRelated) + Constructor_CRelated; + + MACRO_FUNCTION_RESOLVER(undefined(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CED0, + &OpenSHC::Global::Init::Destructor_MenuView_MissionFinishedTransition) + Destructor_MenuView_MissionFinishedTransition; + + } // namespace Init_Func +} // namespace Global +} // namespace OpenSHC diff --git a/src/OpenSHC/Global/Init.hpp b/src/OpenSHC/Global/Init.hpp new file mode 100644 index 0000000..786e17e --- /dev/null +++ b/src/OpenSHC/Global/Init.hpp @@ -0,0 +1,636 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Global/Init.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Global { + namespace Init { + + void* __thiscall Constructor_Empty(); + + undefined __cdecl Constructor_MenuView_Reduced(); + + void __stdcall Constructor_MenuView_IntroLogos(); + + undefined __cdecl Constructor_MenuView_HistoricMissionSelect(); + + void __stdcall Constructor_MenuView_UnusedEconomicMissionSelect(); + + void __stdcall Constructor_MenuView_UnusedSomeMissionStartUnk(); + + undefined __cdecl Constructor_MenuView_UnusedOldTitleMenu(); + + void __stdcall Constructor_MenuView_MpConnection(); + + undefined __cdecl Constructor_MenuView_Unknown21(); + + undefined __cdecl Constructor_MenuView_LobbyMenu(); + + undefined __cdecl Constructor_MenuView_Unknown33(); + + undefined __cdecl Constructor_MenuView_Unknown61ReturnToSkrimishMenuUnk(); + + undefined __cdecl Constructor_MenuView_SingleplayerMapChoice(); + + void __stdcall Constructor_MenuView_Unknown49DoesNothingUnk(); + + undefined __cdecl Constructor_MenuView_MapEditorLandscaping(); + + undefined __cdecl Constructor_MenuView_BuildMenu(); + + void __stdcall Constructor_MenuView_BuildingAndStatusMenu(); + + void __stdcall Constructor_MenuView_UnusedHelpTextEditor(); + + void __stdcall Constructor_MenuView_MapEditorProperties(); + + undefined __cdecl Constructor_MenuView_NewMapMaptype(); + + void __stdcall Constructor_MenuView_NewMapMapsize(); + + void __stdcall Constructor_MenuView_UnusedChooseAvailableKeeps(); + + undefined __cdecl Constructor_MenuView_UnusedChooseGameType(); + + void __stdcall Constructor_MenuView_UnusedCreateSiege(); + + void __stdcall Constructor_MenuView_Unknown26_CampaignRelatedUnk(); + + void __stdcall Constructor_MenuView_CampaignUnk(); + + undefined __cdecl Constructor_MenuView_ScenarioDescription(); + + void __stdcall Constructor_MenuView_MissionFinishedTransition(); + + void __stdcall Constructor_MenuView_GameLost(); + + undefined __cdecl Constructor_MenuView_UnusedExtremeAd(); + + void __stdcall Constructor_MenuView_EditScenario(); + + undefined __cdecl Constructor_MenuView_GameStartEnterName(); + + void __stdcall Constructor_MenuView_MainMenu(); + + void __stdcall Constructor_MenuView_HistoricCampaignSelect(); + + void __stdcall Constructor_MenuView_UnusedEconomicGametypeSelect(); + + undefined __cdecl Constructor_MenuView_CustomScenarios(); + + void __stdcall Constructor_MenuView_Credits(); + + void __stdcall Constructor_MenuView_UnusedDemoBuyItScreen(); + + void __stdcall Constructor_MenuView_IntroVideo(); + + void __stdcall Constructor_MenuView_HistoricMissionPicture(); + + undefined __cdecl Constructor_MenuView_HistoricMissionIntro(); + + undefined __cdecl Constructor_MenuView_HistoricCampaignIntro(); + + undefined __cdecl Constructor_MenuView_HistoricCampaignOutro(); + + undefined __cdecl Constructor_MenuView_UnusedSelectRandomNumberOfEnemies(); + + undefined __cdecl Constructor_MenuView_SelectCrusade(); + + undefined __cdecl Constructor_MenuView_CrusadeMissionIntro(); + + undefined __cdecl Constructor_MenuView_CrusadeMap(); + + undefined __cdecl Constructor_MenuView_RankingGames(); + + undefined __cdecl Constructor_MenuView_CrusadeEndscreen(); + + undefined __cdecl Constructor_Menu_Unknown_ManyThings(); + + undefined __cdecl Constructor_Menu_IntroLogos(); + + undefined __cdecl Constructor_Menu_IntroVideo(); + + undefined __cdecl Constructor_Menu_StartEnterName(); + + void __stdcall Constructor_Menu_MainMenu(); + + undefined __cdecl Constructor_Menu_HistoricCampaignSelect(); + + undefined __cdecl Constructor_Menu_UnusedEconomicGametypeSelect(); + + undefined __cdecl Constructor_Menu_CustomScenarios(); + + undefined __cdecl Constructor_Menu_UnusedSomeMissionStartUnk(); + + void __stdcall Constructor_Menu_HistoricMissionSelect(); + + void __stdcall Constructor_Menu_UnusedEconomicMissionSelect(); + + undefined __cdecl Constructor_Menu_UnusedSetName(); + + undefined __cdecl Constructor_Menu_UnusedOldTitleMenu(); + + undefined __cdecl Constructor_Menu_LobbyMenu(); + + undefined __cdecl Constructor_Menu_SkirmishConnectionOptions(); + + undefined __cdecl Constructor_Menu_SkirmishPlayOptions(); + + undefined __cdecl Constructor_Menu_SendMapTo(); + + undefined __cdecl Constructor_Menu_ReceiveMapFrom(); + + undefined __cdecl Constructor_Menu_UnusedSelectRandomNumberOfEnemies(); + + undefined __cdecl Constructor_Menu_ChooseRandomNumberOfEnemies(); + + void __stdcall Constructor_Menu_SelectCrusade(); + + undefined __cdecl Constructor_Menu_BasicAiLordSelect(); + + undefined __cdecl Constructor_Menu_ExtendedAiLordSelect(); + + undefined __cdecl Constructor_Menu_Roundtable(); + + undefined __cdecl Constructor_Menu_OverlaySlider(); + + undefined __cdecl Constructor_Menu_UnusedWinCondition(); + + undefined __cdecl Constructor_Menu_SingleplayerMapChoice(); + + void __stdcall Constructor_Menu_MapEditorProperties(); + + void __stdcall Constructor_Menu_NewMapMaptype(); + + void __stdcall Constructor_Menu_NewMapMapsize(); + + void __stdcall Constructor_Menu_UnusedChooseAvailableKeeps(); + + void __stdcall Constructor_Menu_UnusedChooseGameType(); + + undefined __cdecl Constructor_Menu_UnusedCreateSiege(); + + void __stdcall Constructor_Menu_Unknown26CampaignRelatedUnk(); + + void __stdcall Constructor_Menu_Unknown27CampaignUnk(); + + void __stdcall Constructor_Menu_UnusedExtremeAd(); + + undefined __cdecl Constructor_Menu_HistoricCampaignIntroAndMissionPicture(); + + undefined __cdecl Constructor_Menu_HistoricCampaignOutroAndMissionIntro(); + + void __stdcall Constructor_Menu_ScenarioDescription(); + + undefined __cdecl Constructor_Menu_CrusadeMissionIntro(); + + undefined __cdecl Constructor_Menu_CrusadeMap(); + + undefined __cdecl Constructor_Menu_RankingGames(); + + undefined __cdecl Constructor_Menu_CrusadeEndscreen(); + + void __stdcall Constructor_Menu_MissionFinishedTransition(); + + void __stdcall Constructor_Menu_GameLostUnk(); + + undefined __cdecl Constructor_Menu_ChooseNetworkServiceProvider(); + + undefined __cdecl Constructor_Menu_FindingNetworkSessions(); + + undefined __cdecl Constructor_Menu_WaitingForHost(); + + undefined __cdecl Constructor_Menu_BuildMenu(); + + undefined __cdecl Constructor_Menu_BuildingAndStatusMenu(); + + undefined __cdecl Constructor_Menu_PauseMenu(); + + undefined __cdecl Constructor_Menu_PauseMenuOptions(); + + undefined __cdecl Constructor_Menu_MainMenuOptions(); + + undefined __cdecl Constructor_Menu_GameplayOptions(); + + undefined __cdecl Constructor_Menu_VideoOptions(); + + undefined __cdecl Constructor_Menu_SoundOptions(); + + undefined __cdecl Constructor_Menu_IdentityOptions(); + + undefined __cdecl Constructor_Menu_EnterTitleOnGameStart(); + + undefined __cdecl Constructor_Menu_NetworkOptions(); + + undefined __cdecl Constructor_Menu_LoadMap(); + + undefined __cdecl Constructor_Menu_SaveMap(); + + undefined __cdecl Constructor_Menu_YesNoDialog(); + + undefined __cdecl Constructor_Menu_QuitDialog(); + + undefined __cdecl Constructor_Menu_DeleteGameRecord(); + + undefined __cdecl Constructor_Menu_TacticalPowerBar(); + + undefined __cdecl Constructor_Menu_ProgressBarBox(); + + undefined __cdecl Constructor_Menu_Chat(); + + undefined __cdecl Constructor_Menu_Allies(); + + undefined __cdecl Constructor_Menu_AlliesOrder(); + + undefined __cdecl Constructor_Menu_AlliesRequestGoods(); + + undefined __cdecl Constructor_Menu_AlliesSendGoods(); + + undefined __cdecl Constructor_Menu_GreatestLord(); + + undefined __cdecl Constructor_Menu_OnlineQuitGame(); + + undefined __cdecl Constructor_Menu_OnlineVoteQuitGame(); + + undefined __cdecl Constructor_Menu_DebugModals(); + + undefined __cdecl Constructor_Menu_DisplayAiLordMessage(); + + undefined __cdecl Constructor_Menu_TutorialBox(); + + undefined __cdecl Constructor_Menu_TutorialBoxWithLeave(); + + void __stdcall Constructor_Menu_UnusedHelpTextEditor(); + + undefined __cdecl Constructor_Menu_BuildingHelpText(); + + undefined __cdecl Constructor_Menu_InGameHelpText(); + + undefined __cdecl Constructor_Menu_DisplayScenarioHelpText(); + + undefined __cdecl Constructor_Menu_Credits(); + + undefined __cdecl Constructor_Menu_MapDescriptionEditor(); + + undefined __cdecl Constructor_Menu_UnusedDemoBuyItScreen(); + + undefined __cdecl Constructor_Menu_EditorMapTypeQuickChange(); + + undefined __cdecl Constructor_Menu_Empty10(); + + undefined __cdecl Constructor_Menu_Empty11(); + + void __stdcall Constructor_Menu_MapEditorLandscaping(); + + void __stdcall Constructor_Menu_EditScenario(); + + undefined __cdecl Constructor_Menu_UnusedChooseMessageBox(); + + undefined __cdecl Constructor_Menu_TraderSettings(); + + undefined __cdecl Constructor_Menu_StartGoods(); + + undefined __cdecl Constructor_Menu_UnusedSiegeAttackingForceUnk(); + + undefined __cdecl Constructor_Menu_NewInvasion(); + + undefined __cdecl Constructor_Menu_UnusedCreateTimedMessageEvent(); + + undefined __cdecl Constructor_Menu_NewEvent(); + + undefined __cdecl Constructor_Menu_NewEventCondition(); + + undefined __cdecl Constructor_Menu_NewEventAction(); + + undefined __cdecl Constructor_Menu_UnusedCreateMessageEvent(); + + undefined __cdecl Constructor_Menu_BuildingAvailability(); + + undefined __cdecl Constructor_Menu_DisableEuroTroops(); + + undefined __cdecl Constructor_Menu_DisableArabTroops(); + + undefined __cdecl Constructor_Menu_DisableWeapon(); + + undefined __cdecl Constructor_Menu_TriggerInvasion(); + + undefined __cdecl Constructor_Menu_TriggerEventOrInvasion(); + + undefined __cdecl Constructor_Menu_TriggerEvent(); + + undefined __cdecl Constructor_Menu_TriggerEventSlider(); + + undefined __cdecl Constructor_MenuModal_OverlaySlider(); + + undefined __cdecl Constructor_MenuModal_UnusedWinCondition(); + + undefined __cdecl Constructor_MenuModal_DebugDataCurrentPlayerData(); + + undefined __cdecl Constructor_MenuModal_DebugDataAiInfo(); + + undefined __cdecl Constructor_MenuModal_DebugDataUnitData(); + + undefined __cdecl Constructor_MenuModal_DebugDataZoneDataUnk(); + + undefined __cdecl Constructor_MenuModal_DebugDataNetwork(); + + undefined __cdecl Constructor_MenuModal_DebugDataMousePointing(); + + undefined __cdecl Constructor_MenuModal_DebugDataSplitInfo(); + + undefined __cdecl Constructor_MenuModal_DebugDataMapData(); + + undefined __cdecl Constructor_MenuModal_PauseMenu(); + + undefined __cdecl Constructor_MenuModal_VideoOptions(); + + undefined __cdecl Constructor_MenuModal_SoundOptions(); + + undefined __cdecl Constructor_MenuModal_NetworkOptions(); + + undefined __cdecl Constructor_MenuModal_LoadMap(); + + undefined __cdecl Constructor_MenuModal_SaveMap(); + + undefined __cdecl Constructor_MenuModal_YesNoDialog(); + + undefined __cdecl Constructor_MenuModal_QuitDialog(); + + undefined __cdecl Constructor_MenuModal_PauseMenuOptions(); + + undefined __cdecl Constructor_MenuModal_MainMenuOptions(); + + undefined __cdecl Constructor_MenuModal_GameplayOptions(); + + undefined __cdecl Constructor_MenuModal_IdentityOptions(); + + undefined __cdecl Constructor_MenuModal_EnterTitleOnGameStart(); + + undefined __cdecl Constructor_MenuModal_ProgressBarBox(); + + undefined __cdecl Constructor_MenuModal_BuildingHelpText(); + + undefined __cdecl Constructor_MenuModal_InGameHelpText(); + + undefined __cdecl Constructor_MenuModal_MapDescriptionEditor(); + + undefined __cdecl Constructor_MenuModal_ChooseNetworkServiceProvider(); + + undefined __cdecl Constructor_MenuModal_FindingNetworkSessions(); + + undefined __cdecl Constructor_MenuModal_DisplayAiLordMessage(); + + undefined __cdecl Constructor_MenuModal_WaitingForHost(); + + undefined __cdecl Constructor_MenuModal_UnusedSetName(); + + undefined __cdecl Constructor_MenuModal_UnusedChooseMessageBox(); + + undefined __cdecl Constructor_MenuModal_TraderSettings(); + + undefined __cdecl Constructor_MenuModal_StartGoods(); + + undefined __cdecl Constructor_MenuModal_UnusedSiegeAttackingForceUnk(); + + undefined __cdecl Constructor_MenuModal_NewInvasion(); + + undefined __cdecl Constructor_MenuModal_UnusedCreateTimedMessageEvent(); + + undefined __cdecl Constructor_MenuModal_NewEvent(); + + undefined __cdecl Constructor_MenuModal_NewEventCondition(); + + undefined __cdecl Constructor_MenuModal_NewEventAction(); + + undefined __cdecl Constructor_MenuModal_UnusedCreateMessageEvent(); + + undefined __cdecl Constructor_MenuModal_BuildingAvailability(); + + undefined __cdecl Constructor_MenuModal_DisableEuroTroops(); + + undefined __cdecl Constructor_MenuModal_DisableArabTroops(); + + undefined __cdecl Constructor_MenuModal_DisableWeapon(); + + undefined __cdecl Constructor_MenuModal_TutorialBox(); + + void __stdcall Constructor_MenuModal_TutorialBoxWithLeave(); + + undefined __cdecl Constructor_MenuModal_DisplayScenarioHelpText(); + + undefined __cdecl Constructor_MenuModal_Chat(); + + undefined __cdecl Constructor_MenuModal_CreditsScroll(); + + undefined __cdecl Constructor_MenuModal_EditorMapTypeQuickChange(); + + undefined __cdecl Constructor_MenuModal_SkirmishConnectionOptions(); + + undefined __cdecl Constructor_MenuModal_SkirmishPlayOptions(); + + undefined __cdecl Constructor_MenuModal_OnlineQuitGame(); + + undefined __cdecl Constructor_MenuModal_OnlineVoteQuitGame(); + + undefined __cdecl Constructor_MenuModal_TriggerInvasion(); + + undefined __cdecl Constructor_MenuModal_TriggerEvent(); + + undefined __cdecl Constructor_MenuModal_TriggerEventOrInvasion(); + + undefined __cdecl Constructor_MenuModal_TriggerEventSlider(); + + undefined __cdecl Constructor_MenuModal_SendMapTo(); + + undefined __cdecl Constructor_MenuModal_ReceiveMapFrom(); + + undefined __cdecl Constructor_MenuModal_BasicAiLordSelect(); + + undefined __cdecl Constructor_MenuModal_ExtendedAiLordSelect(); + + undefined __cdecl Constructor_MenuModal_Roundtable(); + + undefined __cdecl Constructor_MenuModal_Allies(); + + undefined __cdecl Constructor_MenuModal_AlliesOrder(); + + undefined __cdecl Constructor_MenuModal_AlliesRequestGoods(); + + undefined __cdecl Constructor_MenuModal_GreatestLord(); + + undefined __cdecl Constructor_MenuModal_AlliesSendGoods(); + + undefined __cdecl Constructor_MenuModal_ChooseRandomNumberOfEnemies(); + + undefined __cdecl Constructor_MenuModal_DeleteGameRecord(); + + undefined __cdecl Constructor_MenuModal_TacticalPowerBar(); + + undefined __cdecl Constructor_MenuModal_DebugDataAivStateUnk(); + + undefined __cdecl CreateUnknownDisplayElement0(); + + undefined __cdecl CreateBottomLeftDateDisplayElement(); + + undefined __cdecl CreateUnknownDisplayElement18(); + + undefined __cdecl CreateInGameStartingGoodsCounterDisplayElement(); + + void __stdcall CreateConnectAndPathLinkageInfoTextDisplayElement(); + + void __stdcall CreateInGameChatDisplayElementUnk(); + + undefined __cdecl CreateResourceMissing1DisplayElement(); + + undefined __cdecl CreateResourceMissing2DisplayElement(); + + undefined __cdecl CreateDebugNumbersDisplayElement(); + + undefined __cdecl CreateUnknownDisplayElement7(); + + void __stdcall CreateSomeMissionNumberUnkDisplayElement9(); + + void __stdcall CreateNoTreeGrowthTextDisplayElement(); + + void __stdcall CreateInGameWinDefeatWindowDisplayElement(); + + void __stdcall CreateMissionWinDefeatBannerDisplayElement(); + + void __stdcall CreateSomeMultiplayerInfoUnkDisplayElement19(); + + void __stdcall CreateKeepAndGranaryPlacementInfoDisplayElement(); + + undefined __cdecl CreatePlayerInfoOnHoverDisplayElement(); + + void __stdcall CreatePlayerPingUnkDisplayElement22(); + + undefined __cdecl CreateGamePausedTextDisplayElement(); + + undefined __cdecl CreateGameSpeedTextDisplayElement(); + + void __stdcall CreateUnknownDisplayElement25(); + + void __stdcall CreateTimeUntilVictoryDisplayElement(); + + void __stdcall CreateNoRushDisplayElementUnk(); + + void __stdcall CreateTimeUntilDefeatDisplayElement(); + + void __stdcall CreateSomeMultiplayerInfoUnkDisplayElement28(); + + void __stdcall CreatePeopleLeftToPlaceDisplayElement(); + + undefined __cdecl Constructor_UnknownClass1(); + + undefined __cdecl Constructor_WindowAndDirectDraw(); + + undefined __cdecl Constructor_WindowInformation(); + + undefined __cdecl Constructor_MouseState(); + + undefined __cdecl Constructor_ModifierKeyState(); + + undefined __cdecl Constructor_ScrollingHandler(); + + undefined __cdecl Constructor_InsertKeyState(); + + undefined __cdecl Constructor_PencilRenderCoreObj(); + + void __stdcall Constructor_UserTextHandler(); + + void __stdcall Constructor_TextManagerObj(); + + undefined __cdecl Constructor_UnusedClass1Unk(); + + undefined __cdecl Constructor_RNGState(); + + undefined __cdecl Constructor_LowLevelMemory(); + + undefined __cdecl Constructor_GameCore(); + + undefined __cdecl Constructor_ResourceManager(); + + undefined __cdecl Constructor_BitMapState(); + + undefined __cdecl Constructor_DirectionAlgorithmState(); + + undefined __cdecl Constructor_Stopwatch_Gameloop(); + + undefined __cdecl Constructor_Stopwatch_Unknown(); + + undefined __cdecl Constructor_FilePackager(); + + undefined __cdecl Constructor_DecoderState(); + + void __stdcall Constructor_TextureRenderingCore(); + + undefined __cdecl Constructor_SFXState(); + + undefined __cdecl Constructor_AlphaAndButtonSurface(); + + undefined __cdecl Constructor_Empty1(); + + undefined __cdecl Constructor_ViewportRenderState(); + + undefined __cdecl Constructor_MiniMapView(); + + undefined __cdecl Constructor_MenuModalComposition1(); + + undefined __cdecl Constructor_MenuModalComposition2(); + + undefined __cdecl Constructor_MenuModalComposition3(); + + undefined __cdecl Constructor_TileMapState(); + + undefined __cdecl Constructor_WildlifeState(); + + undefined __cdecl Constructor_PathFindingState(); + + undefined __cdecl Constructor_UnitsState(); + + undefined __cdecl Constructor_EntityState(); + + undefined __cdecl Constructor_TribesState(); + + undefined __cdecl Constructor_TroopValueState(); + + undefined __cdecl Constructor_BuildingsState(); + + undefined __cdecl Constructor_AIVState(); + + undefined __cdecl Constructor_AICState(); + + undefined __cdecl Constructor_LandscapeState(); + + undefined __cdecl Constructor_GameState(); + + undefined __cdecl Constructor_MenuTextInputState(); + + undefined __cdecl Constructor_TextEditorState(); + + undefined __cdecl Constructor_BinkControlClass(); + + undefined __cdecl Constructor_Empty2(); + + void __thiscall Constructor_HoveredState(); + + undefined __cdecl Constructor_MapPropertiesState(); + + undefined __cdecl Constructor_GameSynchronyState(); + + undefined __cdecl Constructor_Locks(); + + undefined __cdecl Constructor_CreateLocaleMemoryRelated(); + + undefined __cdecl Constructor_Locks2(); + + undefined __cdecl Constructor_CRelated(); + + undefined __cdecl Destructor_MenuView_MissionFinishedTransition(); + + } // namespace Init +} // namespace Global +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/AlphaAndButtonSurfaceObj.hpp b/src/OpenSHC/Globals/AlphaAndButtonSurfaceObj.hpp new file mode 100644 index 0000000..b712ff0 --- /dev/null +++ b/src/OpenSHC/Globals/AlphaAndButtonSurfaceObj.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/AlphaAndButtonSurfaceObj.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Rendering::AlphaAndButtonSurface; + +MACRO_STRUCT_RESOLVER(AlphaAndButtonSurface, false, Address::SHC_3BB0A8C1_0x00F2C7BC) AlphaAndButtonSurfaceObj; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/BOOL_CurrentMenuClickState.hpp b/src/OpenSHC/Globals/BOOL_CurrentMenuClickState.hpp new file mode 100644 index 0000000..70d5f93 --- /dev/null +++ b/src/OpenSHC/Globals/BOOL_CurrentMenuClickState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/BOOL_CurrentMenuClickState.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00ED31D4) BOOL_CurrentMenuClickState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/BOOL_RelatedToInitialGranaryAndKeepPlacement.hpp b/src/OpenSHC/Globals/BOOL_RelatedToInitialGranaryAndKeepPlacement.hpp new file mode 100644 index 0000000..e19e946 --- /dev/null +++ b/src/OpenSHC/Globals/BOOL_RelatedToInitialGranaryAndKeepPlacement.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/BOOL_RelatedToInitialGranaryAndKeepPlacement.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00DF42A0) BOOL_RelatedToInitialGranaryAndKeepPlacement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/BOOL_WasInteracting.hpp b/src/OpenSHC/Globals/BOOL_WasInteracting.hpp new file mode 100644 index 0000000..018e9db --- /dev/null +++ b/src/OpenSHC/Globals/BOOL_WasInteracting.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/BOOL_WasInteracting.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00B98408) BOOL_WasInteracting; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/BottomLeftDateDisplayElement.hpp b/src/OpenSHC/Globals/BottomLeftDateDisplayElement.hpp new file mode 100644 index 0000000..502f413 --- /dev/null +++ b/src/OpenSHC/Globals/BottomLeftDateDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/BottomLeftDateDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF517C) BottomLeftDateDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/CHAR_ARRAY_00eb0ab0.hpp b/src/OpenSHC/Globals/CHAR_ARRAY_00eb0ab0.hpp new file mode 100644 index 0000000..692c672 --- /dev/null +++ b/src/OpenSHC/Globals/CHAR_ARRAY_00eb0ab0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/CHAR_ARRAY_00eb0ab0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(char[64], false, Address::SHC_3BB0A8C1_0x00EB0AB0) CHAR_ARRAY_00eb0ab0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/CHAR_ARRAY_00eb9ac8.hpp b/src/OpenSHC/Globals/CHAR_ARRAY_00eb9ac8.hpp new file mode 100644 index 0000000..3a673d1 --- /dev/null +++ b/src/OpenSHC/Globals/CHAR_ARRAY_00eb9ac8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/CHAR_ARRAY_00eb9ac8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(char[32], false, Address::SHC_3BB0A8C1_0x00EB9AC8) CHAR_ARRAY_00eb9ac8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_BLACK.hpp b/src/OpenSHC/Globals/COL_BLACK.hpp new file mode 100644 index 0000000..f1d7213 --- /dev/null +++ b/src/OpenSHC/Globals/COL_BLACK.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_BLACK.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33D0) COL_BLACK; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_BLUE.hpp b/src/OpenSHC/Globals/COL_BLUE.hpp new file mode 100644 index 0000000..90eb110 --- /dev/null +++ b/src/OpenSHC/Globals/COL_BLUE.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_BLUE.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF339C) COL_BLUE; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_BRIGHT_YELLOW.hpp b/src/OpenSHC/Globals/COL_BRIGHT_YELLOW.hpp new file mode 100644 index 0000000..cd5676b --- /dev/null +++ b/src/OpenSHC/Globals/COL_BRIGHT_YELLOW.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_BRIGHT_YELLOW.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33D4) COL_BRIGHT_YELLOW; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_DARK_CYAN_GREY.hpp b/src/OpenSHC/Globals/COL_DARK_CYAN_GREY.hpp new file mode 100644 index 0000000..55d3942 --- /dev/null +++ b/src/OpenSHC/Globals/COL_DARK_CYAN_GREY.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_DARK_CYAN_GREY.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33B0) COL_DARK_CYAN_GREY; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_DARK_GRAYISH_GREEN.hpp b/src/OpenSHC/Globals/COL_DARK_GRAYISH_GREEN.hpp new file mode 100644 index 0000000..ef71e92 --- /dev/null +++ b/src/OpenSHC/Globals/COL_DARK_GRAYISH_GREEN.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_DARK_GRAYISH_GREEN.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33A8) COL_DARK_GRAYISH_GREEN; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_DARK_GREEN.hpp b/src/OpenSHC/Globals/COL_DARK_GREEN.hpp new file mode 100644 index 0000000..8104832 --- /dev/null +++ b/src/OpenSHC/Globals/COL_DARK_GREEN.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_DARK_GREEN.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33E0) COL_DARK_GREEN; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_DARK_LIME.hpp b/src/OpenSHC/Globals/COL_DARK_LIME.hpp new file mode 100644 index 0000000..a9d0d48 --- /dev/null +++ b/src/OpenSHC/Globals/COL_DARK_LIME.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_DARK_LIME.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33BC) COL_DARK_LIME; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_DARK_RED.hpp b/src/OpenSHC/Globals/COL_DARK_RED.hpp new file mode 100644 index 0000000..b23bd49 --- /dev/null +++ b/src/OpenSHC/Globals/COL_DARK_RED.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_DARK_RED.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33C0) COL_DARK_RED; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_GREYISH_YELLOW.hpp b/src/OpenSHC/Globals/COL_GREYISH_YELLOW.hpp new file mode 100644 index 0000000..1c5addf --- /dev/null +++ b/src/OpenSHC/Globals/COL_GREYISH_YELLOW.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_GREYISH_YELLOW.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33D8) COL_GREYISH_YELLOW; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_LIGHT_GREY.hpp b/src/OpenSHC/Globals/COL_LIGHT_GREY.hpp new file mode 100644 index 0000000..4b1dfbf --- /dev/null +++ b/src/OpenSHC/Globals/COL_LIGHT_GREY.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_LIGHT_GREY.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33F0) COL_LIGHT_GREY; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_LIME.hpp b/src/OpenSHC/Globals/COL_LIME.hpp new file mode 100644 index 0000000..f8de0dc --- /dev/null +++ b/src/OpenSHC/Globals/COL_LIME.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_LIME.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33CC) COL_LIME; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_MAGENTA.hpp b/src/OpenSHC/Globals/COL_MAGENTA.hpp new file mode 100644 index 0000000..b23ddaa --- /dev/null +++ b/src/OpenSHC/Globals/COL_MAGENTA.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_MAGENTA.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33A0) COL_MAGENTA; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_MODERATE_GREEN.hpp b/src/OpenSHC/Globals/COL_MODERATE_GREEN.hpp new file mode 100644 index 0000000..03b7407 --- /dev/null +++ b/src/OpenSHC/Globals/COL_MODERATE_GREEN.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_MODERATE_GREEN.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF3390) COL_MODERATE_GREEN; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_RED.hpp b/src/OpenSHC/Globals/COL_RED.hpp new file mode 100644 index 0000000..1e506d2 --- /dev/null +++ b/src/OpenSHC/Globals/COL_RED.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_RED.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33C4) COL_RED; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_VERY_DARK_GREY.hpp b/src/OpenSHC/Globals/COL_VERY_DARK_GREY.hpp new file mode 100644 index 0000000..3ecc982 --- /dev/null +++ b/src/OpenSHC/Globals/COL_VERY_DARK_GREY.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_VERY_DARK_GREY.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33DC) COL_VERY_DARK_GREY; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_VERY_SOFT_YELLOW.hpp b/src/OpenSHC/Globals/COL_VERY_SOFT_YELLOW.hpp new file mode 100644 index 0000000..147cb1d --- /dev/null +++ b/src/OpenSHC/Globals/COL_VERY_SOFT_YELLOW.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_VERY_SOFT_YELLOW.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33B4) COL_VERY_SOFT_YELLOW; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_VIVID_BLUE.hpp b/src/OpenSHC/Globals/COL_VIVID_BLUE.hpp new file mode 100644 index 0000000..7f4592d --- /dev/null +++ b/src/OpenSHC/Globals/COL_VIVID_BLUE.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_VIVID_BLUE.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF33A4) COL_VIVID_BLUE; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/COL_WHITE.hpp b/src/OpenSHC/Globals/COL_WHITE.hpp new file mode 100644 index 0000000..2be2ce0 --- /dev/null +++ b/src/OpenSHC/Globals/COL_WHITE.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/COL_WHITE.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(ushort, false, Address::SHC_3BB0A8C1_0x00DF338C) COL_WHITE; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/ConnectAndPathLinkageInfoTextDisplayElement.hpp b/src/OpenSHC/Globals/ConnectAndPathLinkageInfoTextDisplayElement.hpp new file mode 100644 index 0000000..5cec418 --- /dev/null +++ b/src/OpenSHC/Globals/ConnectAndPathLinkageInfoTextDisplayElement.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/ConnectAndPathLinkageInfoTextDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4C28) +ConnectAndPathLinkageInfoTextDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_005b7968.hpp b/src/OpenSHC/Globals/DAT_005b7968.hpp new file mode 100644 index 0000000..df95fd6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_005b7968.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_005b7968.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x005B7968) DAT_005b7968; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_005b7970.hpp b/src/OpenSHC/Globals/DAT_005b7970.hpp new file mode 100644 index 0000000..343a39f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_005b7970.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_005b7970.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x005B7970) DAT_005b7970; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_005c2a68.hpp b/src/OpenSHC/Globals/DAT_005c2a68.hpp new file mode 100644 index 0000000..0ac09aa --- /dev/null +++ b/src/OpenSHC/Globals/DAT_005c2a68.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_005c2a68.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x005C2A68) DAT_005c2a68; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ab5718.hpp b/src/OpenSHC/Globals/DAT_00ab5718.hpp new file mode 100644 index 0000000..c5aee5c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ab5718.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ab5718.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00AB5718) DAT_00ab5718; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ab8e10.hpp b/src/OpenSHC/Globals/DAT_00ab8e10.hpp new file mode 100644 index 0000000..48fc6ef --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ab8e10.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ab8e10.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00AB8E10) DAT_00ab8e10; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ab9168.hpp b/src/OpenSHC/Globals/DAT_00ab9168.hpp new file mode 100644 index 0000000..fbfedfd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ab9168.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ab9168.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00AB9168) DAT_00ab9168; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b333a8.hpp b/src/OpenSHC/Globals/DAT_00b333a8.hpp new file mode 100644 index 0000000..1aae472 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b333a8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b333a8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B333A8) DAT_00b333a8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b37cb8.hpp b/src/OpenSHC/Globals/DAT_00b37cb8.hpp new file mode 100644 index 0000000..7a4f4d5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b37cb8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b37cb8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B37CB8) DAT_00b37cb8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b38b78.hpp b/src/OpenSHC/Globals/DAT_00b38b78.hpp new file mode 100644 index 0000000..5292c2c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b38b78.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b38b78.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B38B78) DAT_00b38b78; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b39074.hpp b/src/OpenSHC/Globals/DAT_00b39074.hpp new file mode 100644 index 0000000..ca6fdc9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b39074.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b39074.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B39074) DAT_00b39074; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b39078.hpp b/src/OpenSHC/Globals/DAT_00b39078.hpp new file mode 100644 index 0000000..677eb04 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b39078.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b39078.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B39078) DAT_00b39078; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b39338.hpp b/src/OpenSHC/Globals/DAT_00b39338.hpp new file mode 100644 index 0000000..16bfd29 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b39338.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b39338.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B39338) DAT_00b39338; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b39340.hpp b/src/OpenSHC/Globals/DAT_00b39340.hpp new file mode 100644 index 0000000..6e44828 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b39340.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b39340.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B39340) DAT_00b39340; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b39360.hpp b/src/OpenSHC/Globals/DAT_00b39360.hpp new file mode 100644 index 0000000..647c39b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b39360.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b39360.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B39360) DAT_00b39360; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b39628.hpp b/src/OpenSHC/Globals/DAT_00b39628.hpp new file mode 100644 index 0000000..0790990 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b39628.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b39628.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B39628) DAT_00b39628; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b3eb30.hpp b/src/OpenSHC/Globals/DAT_00b3eb30.hpp new file mode 100644 index 0000000..00b1e54 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b3eb30.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b3eb30.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B3EB30) DAT_00b3eb30; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b42b50.hpp b/src/OpenSHC/Globals/DAT_00b42b50.hpp new file mode 100644 index 0000000..ffed3d1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b42b50.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b42b50.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B42B50) DAT_00b42b50; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b44218.hpp b/src/OpenSHC/Globals/DAT_00b44218.hpp new file mode 100644 index 0000000..62c1588 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b44218.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b44218.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B44218) DAT_00b44218; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b46120.hpp b/src/OpenSHC/Globals/DAT_00b46120.hpp new file mode 100644 index 0000000..d2fde7e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b46120.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b46120.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B46120) DAT_00b46120; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b47e10.hpp b/src/OpenSHC/Globals/DAT_00b47e10.hpp new file mode 100644 index 0000000..b703b5b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b47e10.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b47e10.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B47E10) DAT_00b47e10; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b48ee0.hpp b/src/OpenSHC/Globals/DAT_00b48ee0.hpp new file mode 100644 index 0000000..754b5bf --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b48ee0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b48ee0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B48EE0) DAT_00b48ee0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b48f50.hpp b/src/OpenSHC/Globals/DAT_00b48f50.hpp new file mode 100644 index 0000000..7e0f0f3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b48f50.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b48f50.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B48F50) DAT_00b48f50; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b4c700.hpp b/src/OpenSHC/Globals/DAT_00b4c700.hpp new file mode 100644 index 0000000..d6edbd5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b4c700.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b4c700.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B4C700) DAT_00b4c700; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b4d138.hpp b/src/OpenSHC/Globals/DAT_00b4d138.hpp new file mode 100644 index 0000000..8143e26 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b4d138.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b4d138.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B4D138) DAT_00b4d138; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b4df40.hpp b/src/OpenSHC/Globals/DAT_00b4df40.hpp new file mode 100644 index 0000000..273fa2c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b4df40.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b4df40.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B4DF40) DAT_00b4df40; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b4df48.hpp b/src/OpenSHC/Globals/DAT_00b4df48.hpp new file mode 100644 index 0000000..7186544 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b4df48.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b4df48.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B4DF48) DAT_00b4df48; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b601b8.hpp b/src/OpenSHC/Globals/DAT_00b601b8.hpp new file mode 100644 index 0000000..205ef6f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b601b8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b601b8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer, false, Address::SHC_3BB0A8C1_0x00B601B8) DAT_00b601b8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95954.hpp b/src/OpenSHC/Globals/DAT_00b95954.hpp new file mode 100644 index 0000000..243f4a7 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95954.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95954.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95954) DAT_00b95954; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95960.hpp b/src/OpenSHC/Globals/DAT_00b95960.hpp new file mode 100644 index 0000000..dab7af1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95960.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95960.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95960) DAT_00b95960; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95b2c.hpp b/src/OpenSHC/Globals/DAT_00b95b2c.hpp new file mode 100644 index 0000000..421dac3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95b2c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95b2c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B2C) DAT_00b95b2c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95b3c.hpp b/src/OpenSHC/Globals/DAT_00b95b3c.hpp new file mode 100644 index 0000000..4c93ab6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95b3c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95b3c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B3C) DAT_00b95b3c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95b68.hpp b/src/OpenSHC/Globals/DAT_00b95b68.hpp new file mode 100644 index 0000000..a2d7ab0 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95b68.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95b68.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B68) DAT_00b95b68; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95b6c.hpp b/src/OpenSHC/Globals/DAT_00b95b6c.hpp new file mode 100644 index 0000000..fe7f4ff --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95b6c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95b6c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B6C) DAT_00b95b6c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95b70.hpp b/src/OpenSHC/Globals/DAT_00b95b70.hpp new file mode 100644 index 0000000..4a9675f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95b70.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95b70.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B70) DAT_00b95b70; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95b74.hpp b/src/OpenSHC/Globals/DAT_00b95b74.hpp new file mode 100644 index 0000000..b6353f6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95b74.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95b74.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B74) DAT_00b95b74; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b95f64.hpp b/src/OpenSHC/Globals/DAT_00b95f64.hpp new file mode 100644 index 0000000..5d9d0f9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b95f64.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b95f64.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95F64) DAT_00b95f64; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b960bc.hpp b/src/OpenSHC/Globals/DAT_00b960bc.hpp new file mode 100644 index 0000000..906aaa3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b960bc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b960bc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960BC) DAT_00b960bc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b960dc.hpp b/src/OpenSHC/Globals/DAT_00b960dc.hpp new file mode 100644 index 0000000..b9353a9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b960dc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b960dc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960DC) DAT_00b960dc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b960f4.hpp b/src/OpenSHC/Globals/DAT_00b960f4.hpp new file mode 100644 index 0000000..77b4a0c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b960f4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b960f4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960F4) DAT_00b960f4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b960f8.hpp b/src/OpenSHC/Globals/DAT_00b960f8.hpp new file mode 100644 index 0000000..91409ed --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b960f8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b960f8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960F8) DAT_00b960f8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b96100.hpp b/src/OpenSHC/Globals/DAT_00b96100.hpp new file mode 100644 index 0000000..e0ed61b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b96100.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b96100.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B96100) DAT_00b96100; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b96108.hpp b/src/OpenSHC/Globals/DAT_00b96108.hpp new file mode 100644 index 0000000..b1193ee --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b96108.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b96108.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B96108) DAT_00b96108; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9610c.hpp b/src/OpenSHC/Globals/DAT_00b9610c.hpp new file mode 100644 index 0000000..57775a4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9610c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9610c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9610C) DAT_00b9610c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b96110.hpp b/src/OpenSHC/Globals/DAT_00b96110.hpp new file mode 100644 index 0000000..d750bc6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b96110.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b96110.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B96110) DAT_00b96110; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b974bc.hpp b/src/OpenSHC/Globals/DAT_00b974bc.hpp new file mode 100644 index 0000000..ce49573 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b974bc.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b974bc.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B974BC) DAT_00b974bc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9840c.hpp b/src/OpenSHC/Globals/DAT_00b9840c.hpp new file mode 100644 index 0000000..0b1ed9c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9840c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9840c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9840C) DAT_00b9840c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9841c.hpp b/src/OpenSHC/Globals/DAT_00b9841c.hpp new file mode 100644 index 0000000..5fd54fb --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9841c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9841c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9841C) DAT_00b9841c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98420.hpp b/src/OpenSHC/Globals/DAT_00b98420.hpp new file mode 100644 index 0000000..503c401 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98420.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98420.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98420) DAT_00b98420; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98424.hpp b/src/OpenSHC/Globals/DAT_00b98424.hpp new file mode 100644 index 0000000..c73fe0e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98424.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98424.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98424) DAT_00b98424; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98428.hpp b/src/OpenSHC/Globals/DAT_00b98428.hpp new file mode 100644 index 0000000..2fb21b3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98428.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98428.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98428) DAT_00b98428; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9842c.hpp b/src/OpenSHC/Globals/DAT_00b9842c.hpp new file mode 100644 index 0000000..1ac61b3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9842c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9842c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9842C) DAT_00b9842c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98430.hpp b/src/OpenSHC/Globals/DAT_00b98430.hpp new file mode 100644 index 0000000..6437ac4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98430.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98430.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98430) DAT_00b98430; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9843c.hpp b/src/OpenSHC/Globals/DAT_00b9843c.hpp new file mode 100644 index 0000000..fe57366 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9843c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9843c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9843C) DAT_00b9843c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98448.hpp b/src/OpenSHC/Globals/DAT_00b98448.hpp new file mode 100644 index 0000000..6feee2d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98448.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98448.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98448) DAT_00b98448; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98450.hpp b/src/OpenSHC/Globals/DAT_00b98450.hpp new file mode 100644 index 0000000..d812f54 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98450.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98450.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98450) DAT_00b98450; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b98454.hpp b/src/OpenSHC/Globals/DAT_00b98454.hpp new file mode 100644 index 0000000..593e1ce --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b98454.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b98454.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98454) DAT_00b98454; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9845c.hpp b/src/OpenSHC/Globals/DAT_00b9845c.hpp new file mode 100644 index 0000000..0be29c2 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9845c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9845c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9845C) DAT_00b9845c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9869c.hpp b/src/OpenSHC/Globals/DAT_00b9869c.hpp new file mode 100644 index 0000000..7d1748d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9869c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9869c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9869C) DAT_00b9869c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b986e0.hpp b/src/OpenSHC/Globals/DAT_00b986e0.hpp new file mode 100644 index 0000000..b7e7377 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b986e0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b986e0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B986E0) DAT_00b986e0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b986f0.hpp b/src/OpenSHC/Globals/DAT_00b986f0.hpp new file mode 100644 index 0000000..efccb33 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b986f0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b986f0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B986F0) DAT_00b986f0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00b9870c.hpp b/src/OpenSHC/Globals/DAT_00b9870c.hpp new file mode 100644 index 0000000..ea66dfe --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00b9870c.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00b9870c.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00B9870C) DAT_00b9870c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df2964.hpp b/src/OpenSHC/Globals/DAT_00df2964.hpp new file mode 100644 index 0000000..1484429 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df2964.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df2964.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF2964) DAT_00df2964; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df296c.hpp b/src/OpenSHC/Globals/DAT_00df296c.hpp new file mode 100644 index 0000000..7b07152 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df296c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df296c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF296C) DAT_00df296c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df3348.hpp b/src/OpenSHC/Globals/DAT_00df3348.hpp new file mode 100644 index 0000000..9f802d9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df3348.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df3348.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF3348) DAT_00df3348; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df334c.hpp b/src/OpenSHC/Globals/DAT_00df334c.hpp new file mode 100644 index 0000000..7af5f53 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df334c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df334c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF334C) DAT_00df334c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df3350.hpp b/src/OpenSHC/Globals/DAT_00df3350.hpp new file mode 100644 index 0000000..7f44b19 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df3350.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df3350.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF3350) DAT_00df3350; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df3374.hpp b/src/OpenSHC/Globals/DAT_00df3374.hpp new file mode 100644 index 0000000..20bc69b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df3374.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df3374.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF3374) DAT_00df3374; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df33ac.hpp b/src/OpenSHC/Globals/DAT_00df33ac.hpp new file mode 100644 index 0000000..0be7083 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df33ac.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df33ac.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF33AC) DAT_00df33ac; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df423c.hpp b/src/OpenSHC/Globals/DAT_00df423c.hpp new file mode 100644 index 0000000..5b46800 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df423c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df423c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF423C) DAT_00df423c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df4284.hpp b/src/OpenSHC/Globals/DAT_00df4284.hpp new file mode 100644 index 0000000..24aba9f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df4284.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df4284.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF4284) DAT_00df4284; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df42b0.hpp b/src/OpenSHC/Globals/DAT_00df42b0.hpp new file mode 100644 index 0000000..5903388 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df42b0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df42b0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF42B0) DAT_00df42b0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df51f0.hpp b/src/OpenSHC/Globals/DAT_00df51f0.hpp new file mode 100644 index 0000000..de26aff --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df51f0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df51f0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF51F0) DAT_00df51f0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df51f8.hpp b/src/OpenSHC/Globals/DAT_00df51f8.hpp new file mode 100644 index 0000000..c50d9be --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df51f8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df51f8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF51F8) DAT_00df51f8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df51fc.hpp b/src/OpenSHC/Globals/DAT_00df51fc.hpp new file mode 100644 index 0000000..10a7298 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df51fc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df51fc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF51FC) DAT_00df51fc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5200.hpp b/src/OpenSHC/Globals/DAT_00df5200.hpp new file mode 100644 index 0000000..db30fce --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5200.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5200.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5200) DAT_00df5200; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5530.hpp b/src/OpenSHC/Globals/DAT_00df5530.hpp new file mode 100644 index 0000000..ac36d78 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5530.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5530.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5530) DAT_00df5530; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5538.hpp b/src/OpenSHC/Globals/DAT_00df5538.hpp new file mode 100644 index 0000000..5d98598 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5538.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5538.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5538) DAT_00df5538; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5540.hpp b/src/OpenSHC/Globals/DAT_00df5540.hpp new file mode 100644 index 0000000..6413e9b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5540.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5540.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5540) DAT_00df5540; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5544.hpp b/src/OpenSHC/Globals/DAT_00df5544.hpp new file mode 100644 index 0000000..fa6c520 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5544.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5544.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5544) DAT_00df5544; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5554.hpp b/src/OpenSHC/Globals/DAT_00df5554.hpp new file mode 100644 index 0000000..c64c06d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5554.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5554.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5554) DAT_00df5554; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5558.hpp b/src/OpenSHC/Globals/DAT_00df5558.hpp new file mode 100644 index 0000000..c1065bd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5558.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5558.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5558) DAT_00df5558; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df555c.hpp b/src/OpenSHC/Globals/DAT_00df555c.hpp new file mode 100644 index 0000000..18395e3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df555c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df555c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF555C) DAT_00df555c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5560.hpp b/src/OpenSHC/Globals/DAT_00df5560.hpp new file mode 100644 index 0000000..9be2b62 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5560.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5560.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5560) DAT_00df5560; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5564.hpp b/src/OpenSHC/Globals/DAT_00df5564.hpp new file mode 100644 index 0000000..8a2a287 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5564.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5564.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5564) DAT_00df5564; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df556c.hpp b/src/OpenSHC/Globals/DAT_00df556c.hpp new file mode 100644 index 0000000..f41e709 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df556c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df556c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF556C) DAT_00df556c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5588.hpp b/src/OpenSHC/Globals/DAT_00df5588.hpp new file mode 100644 index 0000000..8218416 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5588.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5588.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5588) DAT_00df5588; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df558c.hpp b/src/OpenSHC/Globals/DAT_00df558c.hpp new file mode 100644 index 0000000..92cca49 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df558c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df558c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF558C) DAT_00df558c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5590.hpp b/src/OpenSHC/Globals/DAT_00df5590.hpp new file mode 100644 index 0000000..dbdf14d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5590.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5590.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5590) DAT_00df5590; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00df5644.hpp b/src/OpenSHC/Globals/DAT_00df5644.hpp new file mode 100644 index 0000000..3bff7f8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00df5644.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00df5644.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5644) DAT_00df5644; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb0b20.hpp b/src/OpenSHC/Globals/DAT_00eb0b20.hpp new file mode 100644 index 0000000..789e396 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb0b20.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb0b20.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB0B20) DAT_00eb0b20; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb0b24.hpp b/src/OpenSHC/Globals/DAT_00eb0b24.hpp new file mode 100644 index 0000000..190598f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb0b24.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb0b24.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB0B24) DAT_00eb0b24; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb0e40.hpp b/src/OpenSHC/Globals/DAT_00eb0e40.hpp new file mode 100644 index 0000000..71aecad --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb0e40.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb0e40.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB0E40) DAT_00eb0e40; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb1234.hpp b/src/OpenSHC/Globals/DAT_00eb1234.hpp new file mode 100644 index 0000000..8bc6c38 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb1234.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb1234.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB1234) DAT_00eb1234; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9af4.hpp b/src/OpenSHC/Globals/DAT_00eb9af4.hpp new file mode 100644 index 0000000..5aab75b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9af4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9af4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9AF4) DAT_00eb9af4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9af8.hpp b/src/OpenSHC/Globals/DAT_00eb9af8.hpp new file mode 100644 index 0000000..5bb3da9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9af8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9af8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9AF8) DAT_00eb9af8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b0c.hpp b/src/OpenSHC/Globals/DAT_00eb9b0c.hpp new file mode 100644 index 0000000..1792df1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b0c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b0c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B0C) DAT_00eb9b0c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b28.hpp b/src/OpenSHC/Globals/DAT_00eb9b28.hpp new file mode 100644 index 0000000..4ccd3d6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b28.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b28.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B28) DAT_00eb9b28; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b2c.hpp b/src/OpenSHC/Globals/DAT_00eb9b2c.hpp new file mode 100644 index 0000000..e65f1f3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b2c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b2c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B2C) DAT_00eb9b2c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b30.hpp b/src/OpenSHC/Globals/DAT_00eb9b30.hpp new file mode 100644 index 0000000..416a2be --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b30.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b30.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B30) DAT_00eb9b30; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b34.hpp b/src/OpenSHC/Globals/DAT_00eb9b34.hpp new file mode 100644 index 0000000..1a2cf34 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b34.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b34.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B34) DAT_00eb9b34; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b38.hpp b/src/OpenSHC/Globals/DAT_00eb9b38.hpp new file mode 100644 index 0000000..bf0638b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b38.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b38.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B38) DAT_00eb9b38; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b3c.hpp b/src/OpenSHC/Globals/DAT_00eb9b3c.hpp new file mode 100644 index 0000000..e616802 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b3c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b3c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B3C) DAT_00eb9b3c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b40.hpp b/src/OpenSHC/Globals/DAT_00eb9b40.hpp new file mode 100644 index 0000000..90cef29 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b40.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b40.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B40) DAT_00eb9b40; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00eb9b60.hpp b/src/OpenSHC/Globals/DAT_00eb9b60.hpp new file mode 100644 index 0000000..e3ba5d1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00eb9b60.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00eb9b60.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B60) DAT_00eb9b60; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ec02f4.hpp b/src/OpenSHC/Globals/DAT_00ec02f4.hpp new file mode 100644 index 0000000..e55c705 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ec02f4.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ec02f4.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/CampaignInfoSubStructure1.hpp" +namespace OpenSHC { + +using OpenSHC::Game::CampaignInfoSubStructure1; + +MACRO_STRUCT_RESOLVER(CampaignInfoSubStructure1, false, Address::SHC_3BB0A8C1_0x00EC02F4) DAT_00ec02f4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ec082c.hpp b/src/OpenSHC/Globals/DAT_00ec082c.hpp new file mode 100644 index 0000000..454fe93 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ec082c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ec082c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EC082C) DAT_00ec082c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ec0840.hpp b/src/OpenSHC/Globals/DAT_00ec0840.hpp new file mode 100644 index 0000000..8c737ae --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ec0840.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ec0840.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp" +namespace OpenSHC { + +using OpenSHC::IO::Graphics::GFXRelatedBuffer1; + +MACRO_STRUCT_RESOLVER(GFXRelatedBuffer1, false, Address::SHC_3BB0A8C1_0x00EC0840) DAT_00ec0840; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed2780.hpp b/src/OpenSHC/Globals/DAT_00ed2780.hpp new file mode 100644 index 0000000..5cf1296 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed2780.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed2780.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED2780) DAT_00ed2780; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed2788.hpp b/src/OpenSHC/Globals/DAT_00ed2788.hpp new file mode 100644 index 0000000..d56b65f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed2788.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed2788.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED2788) DAT_00ed2788; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed278c.hpp b/src/OpenSHC/Globals/DAT_00ed278c.hpp new file mode 100644 index 0000000..c2d01ce --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed278c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed278c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED278C) DAT_00ed278c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed2794.hpp b/src/OpenSHC/Globals/DAT_00ed2794.hpp new file mode 100644 index 0000000..956531d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed2794.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed2794.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED2794) DAT_00ed2794; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed2798.hpp b/src/OpenSHC/Globals/DAT_00ed2798.hpp new file mode 100644 index 0000000..b88ad5f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed2798.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed2798.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED2798) DAT_00ed2798; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed27a0.hpp b/src/OpenSHC/Globals/DAT_00ed27a0.hpp new file mode 100644 index 0000000..5a0642a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed27a0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed27a0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED27A0) DAT_00ed27a0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed27bc.hpp b/src/OpenSHC/Globals/DAT_00ed27bc.hpp new file mode 100644 index 0000000..671e2d4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed27bc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed27bc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED27BC) DAT_00ed27bc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed2bd8.hpp b/src/OpenSHC/Globals/DAT_00ed2bd8.hpp new file mode 100644 index 0000000..db2d0a5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed2bd8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed2bd8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED2BD8) DAT_00ed2bd8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed3118.hpp b/src/OpenSHC/Globals/DAT_00ed3118.hpp new file mode 100644 index 0000000..7859c58 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed3118.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed3118.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3118) DAT_00ed3118; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed3120.hpp b/src/OpenSHC/Globals/DAT_00ed3120.hpp new file mode 100644 index 0000000..2c8d713 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed3120.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed3120.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3120) DAT_00ed3120; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed3124.hpp b/src/OpenSHC/Globals/DAT_00ed3124.hpp new file mode 100644 index 0000000..a20c0e4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed3124.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed3124.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3124) DAT_00ed3124; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed313c.hpp b/src/OpenSHC/Globals/DAT_00ed313c.hpp new file mode 100644 index 0000000..f0a06da --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed313c.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed313c.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00ED313C) DAT_00ed313c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed3148.hpp b/src/OpenSHC/Globals/DAT_00ed3148.hpp new file mode 100644 index 0000000..145f8f8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed3148.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed3148.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3148) DAT_00ed3148; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed314c.hpp b/src/OpenSHC/Globals/DAT_00ed314c.hpp new file mode 100644 index 0000000..8e4e3ba --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed314c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed314c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED314C) DAT_00ed314c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed3154.hpp b/src/OpenSHC/Globals/DAT_00ed3154.hpp new file mode 100644 index 0000000..b6e6652 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed3154.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed3154.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3154) DAT_00ed3154; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed316c.hpp b/src/OpenSHC/Globals/DAT_00ed316c.hpp new file mode 100644 index 0000000..4823d71 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed316c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed316c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED316C) DAT_00ed316c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed3170.hpp b/src/OpenSHC/Globals/DAT_00ed3170.hpp new file mode 100644 index 0000000..d90bbb2 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed3170.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed3170.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3170) DAT_00ed3170; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed317c.hpp b/src/OpenSHC/Globals/DAT_00ed317c.hpp new file mode 100644 index 0000000..00e451b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed317c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed317c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED317C) DAT_00ed317c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed31a0.hpp b/src/OpenSHC/Globals/DAT_00ed31a0.hpp new file mode 100644 index 0000000..e83d3fb --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed31a0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed31a0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31A0) DAT_00ed31a0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ed31d0.hpp b/src/OpenSHC/Globals/DAT_00ed31d0.hpp new file mode 100644 index 0000000..698133a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ed31d0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ed31d0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31D0) DAT_00ed31d0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0fb4.hpp b/src/OpenSHC/Globals/DAT_00ee0fb4.hpp new file mode 100644 index 0000000..c10133b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0fb4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0fb4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FB4) DAT_00ee0fb4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0fd8.hpp b/src/OpenSHC/Globals/DAT_00ee0fd8.hpp new file mode 100644 index 0000000..a116829 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0fd8.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0fd8.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE0FD8) DAT_00ee0fd8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0fe0.hpp b/src/OpenSHC/Globals/DAT_00ee0fe0.hpp new file mode 100644 index 0000000..46dc332 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0fe0.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0fe0.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00EE0FE0) DAT_00ee0fe0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0fe8.hpp b/src/OpenSHC/Globals/DAT_00ee0fe8.hpp new file mode 100644 index 0000000..b313e1a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0fe8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0fe8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FE8) DAT_00ee0fe8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0fec.hpp b/src/OpenSHC/Globals/DAT_00ee0fec.hpp new file mode 100644 index 0000000..525ef6c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0fec.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0fec.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FEC) DAT_00ee0fec; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0ff0.hpp b/src/OpenSHC/Globals/DAT_00ee0ff0.hpp new file mode 100644 index 0000000..e4d996c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0ff0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0ff0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FF0) DAT_00ee0ff0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0ff4.hpp b/src/OpenSHC/Globals/DAT_00ee0ff4.hpp new file mode 100644 index 0000000..dc9f22e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0ff4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0ff4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FF4) DAT_00ee0ff4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0ff8.hpp b/src/OpenSHC/Globals/DAT_00ee0ff8.hpp new file mode 100644 index 0000000..955cefb --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0ff8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0ff8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FF8) DAT_00ee0ff8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee0ffc.hpp b/src/OpenSHC/Globals/DAT_00ee0ffc.hpp new file mode 100644 index 0000000..88d9b9d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee0ffc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee0ffc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FFC) DAT_00ee0ffc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1000.hpp b/src/OpenSHC/Globals/DAT_00ee1000.hpp new file mode 100644 index 0000000..0fb9e76 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1000.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1000.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1000) DAT_00ee1000; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1004.hpp b/src/OpenSHC/Globals/DAT_00ee1004.hpp new file mode 100644 index 0000000..c6625d0 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1004.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1004.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1004) DAT_00ee1004; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1008.hpp b/src/OpenSHC/Globals/DAT_00ee1008.hpp new file mode 100644 index 0000000..aee8564 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1008.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1008.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1008) DAT_00ee1008; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee100c.hpp b/src/OpenSHC/Globals/DAT_00ee100c.hpp new file mode 100644 index 0000000..4019b45 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee100c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee100c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE100C) DAT_00ee100c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1010.hpp b/src/OpenSHC/Globals/DAT_00ee1010.hpp new file mode 100644 index 0000000..764c1b9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1010.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1010.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1010) DAT_00ee1010; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1014.hpp b/src/OpenSHC/Globals/DAT_00ee1014.hpp new file mode 100644 index 0000000..d5f03a4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1014.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1014.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1014) DAT_00ee1014; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1018.hpp b/src/OpenSHC/Globals/DAT_00ee1018.hpp new file mode 100644 index 0000000..d89e50d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1018.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1018.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1018) DAT_00ee1018; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee101c.hpp b/src/OpenSHC/Globals/DAT_00ee101c.hpp new file mode 100644 index 0000000..4b325c1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee101c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee101c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE101C) DAT_00ee101c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1028.hpp b/src/OpenSHC/Globals/DAT_00ee1028.hpp new file mode 100644 index 0000000..f4932f6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1028.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1028.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1028) DAT_00ee1028; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee102c.hpp b/src/OpenSHC/Globals/DAT_00ee102c.hpp new file mode 100644 index 0000000..c364db6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee102c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee102c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE102C) DAT_00ee102c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1030.hpp b/src/OpenSHC/Globals/DAT_00ee1030.hpp new file mode 100644 index 0000000..281bfab --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1030.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1030.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1030) DAT_00ee1030; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1034.hpp b/src/OpenSHC/Globals/DAT_00ee1034.hpp new file mode 100644 index 0000000..e1ddb9a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1034.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1034.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1034) DAT_00ee1034; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1090.hpp b/src/OpenSHC/Globals/DAT_00ee1090.hpp new file mode 100644 index 0000000..505c1df --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1090.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1090.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1090) DAT_00ee1090; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_00ee1094.hpp b/src/OpenSHC/Globals/DAT_00ee1094.hpp new file mode 100644 index 0000000..941f293 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_00ee1094.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_00ee1094.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE1094) DAT_00ee1094; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_02427470.hpp b/src/OpenSHC/Globals/DAT_02427470.hpp new file mode 100644 index 0000000..ea82da6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_02427470.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_02427470.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x02427470) DAT_02427470; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_AICState.hpp b/src/OpenSHC/Globals/DAT_AICState.hpp new file mode 100644 index 0000000..1891c63 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_AICState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_AICState.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AICState.hpp" +namespace OpenSHC { + +using OpenSHC::AI::AICState; + +MACRO_STRUCT_RESOLVER(AICState, false, Address::SHC_3BB0A8C1_0x023FC8E8) DAT_AICState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_AIVDefinedData.hpp b/src/OpenSHC/Globals/DAT_AIVDefinedData.hpp new file mode 100644 index 0000000..ed20629 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_AIVDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_AIVDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::AI::AIV::AIVDefinedData; + +MACRO_STRUCT_RESOLVER(AIVDefinedData, false, Address::SHC_3BB0A8C1_0x00B46124) DAT_AIVDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_AIVPlacementFit.hpp b/src/OpenSHC/Globals/DAT_AIVPlacementFit.hpp new file mode 100644 index 0000000..4a6ed7c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_AIVPlacementFit.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_AIVPlacementFit.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[9], false, Address::SHC_3BB0A8C1_0x00B95B40) DAT_AIVPlacementFit; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_AIVState.hpp b/src/OpenSHC/Globals/DAT_AIVState.hpp new file mode 100644 index 0000000..34e1a11 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_AIVState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_AIVState.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIVState.hpp" +namespace OpenSHC { + +using OpenSHC::AI::AIVState; + +MACRO_STRUCT_RESOLVER(AIVState, false, Address::SHC_3BB0A8C1_0x01866AB0) DAT_AIVState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00c9a490.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00c9a490.hpp new file mode 100644 index 0000000..dfeff50 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00c9a490.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00c9a490.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer[32], false, Address::SHC_3BB0A8C1_0x00C9A490) DAT_ARRAY_00c9a490; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00c9a510.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00c9a510.hpp new file mode 100644 index 0000000..3097f60 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00c9a510.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00c9a510.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer[32], false, Address::SHC_3BB0A8C1_0x00C9A510) DAT_ARRAY_00c9a510; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00d7d250.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00d7d250.hpp new file mode 100644 index 0000000..6c3d4dd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00d7d250.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00d7d250.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer[32], false, Address::SHC_3BB0A8C1_0x00D7D250) DAT_ARRAY_00d7d250; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00df2b78.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00df2b78.hpp new file mode 100644 index 0000000..6cf7b75 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00df2b78.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00df2b78.hpp' +*/ + +#pragma once + +#include "winapi_32/WCHAR.hpp" +namespace OpenSHC { + +using winapi_32::WCHAR; + +MACRO_STRUCT_RESOLVER(WCHAR[1000], false, Address::SHC_3BB0A8C1_0x00DF2B78) DAT_ARRAY_00df2b78; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00eb9b68.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00eb9b68.hpp new file mode 100644 index 0000000..9ff1637 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00eb9b68.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00eb9b68.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/CreditsRelatedStructure2.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::CreditsRelatedStructure2; + +MACRO_STRUCT_RESOLVER(CreditsRelatedStructure2[288], false, Address::SHC_3BB0A8C1_0x00EB9B68) DAT_ARRAY_00eb9b68; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00ec0348.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00ec0348.hpp new file mode 100644 index 0000000..d8037a6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00ec0348.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00ec0348.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/CreditsRelatedStructure.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::CreditsRelatedStructure; + +MACRO_STRUCT_RESOLVER(CreditsRelatedStructure[24], false, Address::SHC_3BB0A8C1_0x00EC0348) DAT_ARRAY_00ec0348; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ARRAY_00ed26d0.hpp b/src/OpenSHC/Globals/DAT_ARRAY_00ed26d0.hpp new file mode 100644 index 0000000..d157bcb --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ARRAY_00ed26d0.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ARRAY_00ed26d0.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Navigation::Algorithms::XYPair; + +MACRO_STRUCT_RESOLVER(XYPair[21], false, Address::SHC_3BB0A8C1_0x00ED26D0) DAT_ARRAY_00ed26d0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_AlliesCount.hpp b/src/OpenSHC/Globals/DAT_AlliesCount.hpp new file mode 100644 index 0000000..6e2cabe --- /dev/null +++ b/src/OpenSHC/Globals/DAT_AlliesCount.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_AlliesCount.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF429C) DAT_AlliesCount; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ArrayOfStoredMenuStrings.hpp b/src/OpenSHC/Globals/DAT_ArrayOfStoredMenuStrings.hpp new file mode 100644 index 0000000..d9b2a1c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ArrayOfStoredMenuStrings.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ArrayOfStoredMenuStrings.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(char[33][1024], false, Address::SHC_3BB0A8C1_0x00EB12D8) DAT_ArrayOfStoredMenuStrings; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_AttackInfoDefinedData.hpp b/src/OpenSHC/Globals/DAT_AttackInfoDefinedData.hpp new file mode 100644 index 0000000..7d673cf --- /dev/null +++ b/src/OpenSHC/Globals/DAT_AttackInfoDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_AttackInfoDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AttackInfo/AttackInfoDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::AI::AttackInfo::AttackInfoDefinedData; + +MACRO_STRUCT_RESOLVER(AttackInfoDefinedData, false, Address::SHC_3BB0A8C1_0x00B4C704) DAT_AttackInfoDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BinkControlClass.hpp b/src/OpenSHC/Globals/DAT_BinkControlClass.hpp new file mode 100644 index 0000000..f6b290c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BinkControlClass.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BinkControlClass.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Bink/BinkControlClass.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::Bink::BinkControlClass; + +MACRO_STRUCT_RESOLVER(BinkControlClass, false, Address::SHC_3BB0A8C1_0x02157518) DAT_BinkControlClass; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BitMapState.hpp b/src/OpenSHC/Globals/DAT_BitMapState.hpp new file mode 100644 index 0000000..e06ae5d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BitMapState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BitMapState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/BitMapState.hpp" +namespace OpenSHC { + +using OpenSHC::IO::BitMapState; + +MACRO_STRUCT_RESOLVER(BitMapState, false, Address::SHC_3BB0A8C1_0x011BECB0) DAT_BitMapState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BlendFilterArrays.hpp b/src/OpenSHC/Globals/DAT_BlendFilterArrays.hpp new file mode 100644 index 0000000..afa40d5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BlendFilterArrays.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BlendFilterArrays.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(short[33][64][4], false, Address::SHC_3BB0A8C1_0x00D7D2D8) DAT_BlendFilterArrays; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BlendingDefinedData.hpp b/src/OpenSHC/Globals/DAT_BlendingDefinedData.hpp new file mode 100644 index 0000000..dea5448 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BlendingDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BlendingDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/BlendingDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::BlendingDefinedData; + +MACRO_STRUCT_RESOLVER(BlendingDefinedData, false, Address::SHC_3BB0A8C1_0x00AB571C) DAT_BlendingDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BottomLeftTextDisplayState.hpp b/src/OpenSHC/Globals/DAT_BottomLeftTextDisplayState.hpp new file mode 100644 index 0000000..4ecbb31 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BottomLeftTextDisplayState.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BottomLeftTextDisplayState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/BottomLeftTextDisplayState.hpp" +namespace OpenSHC { + +using OpenSHC::UI::BottomLeftTextDisplayState; + +MACRO_STRUCT_RESOLVER(BottomLeftTextDisplayState, false, Address::SHC_3BB0A8C1_0x00EE106C) +DAT_BottomLeftTextDisplayState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BuildingDefinedData.hpp b/src/OpenSHC/Globals/DAT_BuildingDefinedData.hpp new file mode 100644 index 0000000..ca3cc3c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BuildingDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BuildingDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Buildings::BuildingDefinedData; + +MACRO_STRUCT_RESOLVER(BuildingDefinedData, false, Address::SHC_3BB0A8C1_0x005B7974) DAT_BuildingDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BuildingSizeIndexMapping.hpp b/src/OpenSHC/Globals/DAT_BuildingSizeIndexMapping.hpp new file mode 100644 index 0000000..4afeea0 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BuildingSizeIndexMapping.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BuildingSizeIndexMapping.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[14][169][6], false, Address::SHC_3BB0A8C1_0x00ED31E0) DAT_BuildingSizeIndexMapping; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_BuildingsState.hpp b/src/OpenSHC/Globals/DAT_BuildingsState.hpp new file mode 100644 index 0000000..66d6d21 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_BuildingsState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_BuildingsState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingsState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Buildings::BuildingsState; + +MACRO_STRUCT_RESOLVER(BuildingsState, false, Address::SHC_3BB0A8C1_0x00F98520) DAT_BuildingsState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonBackgroundBlendStrength.hpp b/src/OpenSHC/Globals/DAT_ButtonBackgroundBlendStrength.hpp new file mode 100644 index 0000000..8b237db --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonBackgroundBlendStrength.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonBackgroundBlendStrength.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960E8) DAT_ButtonBackgroundBlendStrength; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonBlendStrength.hpp b/src/OpenSHC/Globals/DAT_ButtonBlendStrength.hpp new file mode 100644 index 0000000..0139f71 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonBlendStrength.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonBlendStrength.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31C4) DAT_ButtonBlendStrength; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonCurrentlyInteracting.hpp b/src/OpenSHC/Globals/DAT_ButtonCurrentlyInteracting.hpp new file mode 100644 index 0000000..5b92394 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonCurrentlyInteracting.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonCurrentlyInteracting.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00ED31B8) DAT_ButtonCurrentlyInteracting; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonH.hpp b/src/OpenSHC/Globals/DAT_ButtonH.hpp new file mode 100644 index 0000000..97de36f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonH.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonH.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31B4) DAT_ButtonH; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonUnknownZero.hpp b/src/OpenSHC/Globals/DAT_ButtonUnknownZero.hpp new file mode 100644 index 0000000..53797ca --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonUnknownZero.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonUnknownZero.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED31CC) DAT_ButtonUnknownZero; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonW.hpp b/src/OpenSHC/Globals/DAT_ButtonW.hpp new file mode 100644 index 0000000..5b8107d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonW.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonW.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31B0) DAT_ButtonW; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonX.hpp b/src/OpenSHC/Globals/DAT_ButtonX.hpp new file mode 100644 index 0000000..a219829 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonX.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonX.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31A8) DAT_ButtonX; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ButtonY.hpp b/src/OpenSHC/Globals/DAT_ButtonY.hpp new file mode 100644 index 0000000..44669b1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ButtonY.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ButtonY.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31AC) DAT_ButtonY; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CheatCodeStringTrackerIndex.hpp b/src/OpenSHC/Globals/DAT_CheatCodeStringTrackerIndex.hpp new file mode 100644 index 0000000..dabf7d4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CheatCodeStringTrackerIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CheatCodeStringTrackerIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF553C) DAT_CheatCodeStringTrackerIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ClickedMercUnitType.hpp b/src/OpenSHC/Globals/DAT_ClickedMercUnitType.hpp new file mode 100644 index 0000000..9585263 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ClickedMercUnitType.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ClickedMercUnitType.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::UnitTypeInt; + +MACRO_STRUCT_RESOLVER(UnitTypeInt, false, Address::SHC_3BB0A8C1_0x00DF3380) DAT_ClickedMercUnitType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ClimbLogicDefinedData.hpp b/src/OpenSHC/Globals/DAT_ClimbLogicDefinedData.hpp new file mode 100644 index 0000000..a44ab52 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ClimbLogicDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ClimbLogicDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Climbing/ClimbLogicDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::Climbing::ClimbLogicDefinedData; + +MACRO_STRUCT_RESOLVER(ClimbLogicDefinedData, false, Address::SHC_3BB0A8C1_0x00B3907C) DAT_ClimbLogicDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CopyOfScenarioGold.hpp b/src/OpenSHC/Globals/DAT_CopyOfScenarioGold.hpp new file mode 100644 index 0000000..7913e5c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CopyOfScenarioGold.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CopyOfScenarioGold.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF5594) DAT_CopyOfScenarioGold; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CounterFoodWarningInterval.hpp b/src/OpenSHC/Globals/DAT_CounterFoodWarningInterval.hpp new file mode 100644 index 0000000..0335eb9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CounterFoodWarningInterval.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CounterFoodWarningInterval.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF2960) DAT_CounterFoodWarningInterval; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentBuildingID.hpp b/src/OpenSHC/Globals/DAT_CurrentBuildingID.hpp new file mode 100644 index 0000000..210aac9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentBuildingID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentBuildingID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95788) DAT_CurrentBuildingID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentButtonGmDataIndex.hpp b/src/OpenSHC/Globals/DAT_CurrentButtonGmDataIndex.hpp new file mode 100644 index 0000000..2881256 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentButtonGmDataIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentButtonGmDataIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31BC) DAT_CurrentButtonGmDataIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentButtonPictureInGm.hpp b/src/OpenSHC/Globals/DAT_CurrentButtonPictureInGm.hpp new file mode 100644 index 0000000..afae875 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentButtonPictureInGm.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentButtonPictureInGm.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31C0) DAT_CurrentButtonPictureInGm; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentEntityID.hpp b/src/OpenSHC/Globals/DAT_CurrentEntityID.hpp new file mode 100644 index 0000000..d7568a2 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentEntityID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentEntityID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(uint, false, Address::SHC_3BB0A8C1_0x00B95780) DAT_CurrentEntityID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentFramerate.hpp b/src/OpenSHC/Globals/DAT_CurrentFramerate.hpp new file mode 100644 index 0000000..4c07ddf --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentFramerate.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentFramerate.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF4268) DAT_CurrentFramerate; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentLaddermanWalledDataID.hpp b/src/OpenSHC/Globals/DAT_CurrentLaddermanWalledDataID.hpp new file mode 100644 index 0000000..fe95dd6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentLaddermanWalledDataID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentLaddermanWalledDataID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF4238) DAT_CurrentLaddermanWalledDataID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentMenuID_3.hpp b/src/OpenSHC/Globals/DAT_CurrentMenuID_3.hpp new file mode 100644 index 0000000..cecf0e1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentMenuID_3.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentMenuID_3.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EC0830) DAT_CurrentMenuID_3; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentPlayerRanking.hpp b/src/OpenSHC/Globals/DAT_CurrentPlayerRanking.hpp new file mode 100644 index 0000000..a0ce3a1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentPlayerRanking.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentPlayerRanking.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B98668) DAT_CurrentPlayerRanking; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentPlayerUnitLosses.hpp b/src/OpenSHC/Globals/DAT_CurrentPlayerUnitLosses.hpp new file mode 100644 index 0000000..ca13fea --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentPlayerUnitLosses.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentPlayerUnitLosses.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98658) DAT_CurrentPlayerUnitLosses; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentPlayerUnitLossesHistory.hpp b/src/OpenSHC/Globals/DAT_CurrentPlayerUnitLossesHistory.hpp new file mode 100644 index 0000000..5f45064 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentPlayerUnitLossesHistory.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentPlayerUnitLossesHistory.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[10], false, Address::SHC_3BB0A8C1_0x00B98630) DAT_CurrentPlayerUnitLossesHistory; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentResourceCoreName.hpp b/src/OpenSHC/Globals/DAT_CurrentResourceCoreName.hpp new file mode 100644 index 0000000..fac1fd6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentResourceCoreName.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentResourceCoreName.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(char[1001], false, Address::SHC_3BB0A8C1_0x00DF33F7) DAT_CurrentResourceCoreName; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentRockID.hpp b/src/OpenSHC/Globals/DAT_CurrentRockID.hpp new file mode 100644 index 0000000..f1c6e17 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentRockID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentRockID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3198) DAT_CurrentRockID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentTreeID.hpp b/src/OpenSHC/Globals/DAT_CurrentTreeID.hpp new file mode 100644 index 0000000..cb0bfc4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentTreeID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentTreeID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED319C) DAT_CurrentTreeID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentTribeID.hpp b/src/OpenSHC/Globals/DAT_CurrentTribeID.hpp new file mode 100644 index 0000000..a5083b4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentTribeID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentTribeID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FB0) DAT_CurrentTribeID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentUnitSlotID.hpp b/src/OpenSHC/Globals/DAT_CurrentUnitSlotID.hpp new file mode 100644 index 0000000..ef82923 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentUnitSlotID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentUnitSlotID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(uint, false, Address::SHC_3BB0A8C1_0x00EE0FC8) DAT_CurrentUnitSlotID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_CurrentlyRenderedSpriteID.hpp b/src/OpenSHC/Globals/DAT_CurrentlyRenderedSpriteID.hpp new file mode 100644 index 0000000..5d2617e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_CurrentlyRenderedSpriteID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_CurrentlyRenderedSpriteID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3180) DAT_CurrentlyRenderedSpriteID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_DecoderState.hpp b/src/OpenSHC/Globals/DAT_DecoderState.hpp new file mode 100644 index 0000000..3a44d4d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_DecoderState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_DecoderState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/DecoderState.hpp" +namespace OpenSHC { + +using OpenSHC::IO::DecoderState; + +MACRO_STRUCT_RESOLVER(DecoderState, false, Address::SHC_3BB0A8C1_0x00F2CC24) DAT_DecoderState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_DestroyedBuildingsCount.hpp b/src/OpenSHC/Globals/DAT_DestroyedBuildingsCount.hpp new file mode 100644 index 0000000..296c64d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_DestroyedBuildingsCount.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_DestroyedBuildingsCount.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B9861C) DAT_DestroyedBuildingsCount; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_DestroyedBuildingsCountHistory.hpp b/src/OpenSHC/Globals/DAT_DestroyedBuildingsCountHistory.hpp new file mode 100644 index 0000000..65b46e6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_DestroyedBuildingsCountHistory.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_DestroyedBuildingsCountHistory.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[4], false, Address::SHC_3BB0A8C1_0x00B98620) DAT_DestroyedBuildingsCountHistory; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_DirectionAlgorithmState.hpp b/src/OpenSHC/Globals/DAT_DirectionAlgorithmState.hpp new file mode 100644 index 0000000..7fc3e93 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_DirectionAlgorithmState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_DirectionAlgorithmState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Navigation::DirectionAlgorithmState; + +MACRO_STRUCT_RESOLVER(DirectionAlgorithmState, false, Address::SHC_3BB0A8C1_0x00EE23BC) DAT_DirectionAlgorithmState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_DisableMercPostPortraits.hpp b/src/OpenSHC/Globals/DAT_DisableMercPostPortraits.hpp new file mode 100644 index 0000000..5ec946d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_DisableMercPostPortraits.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_DisableMercPostPortraits.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF3354) DAT_DisableMercPostPortraits; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_EnemyArrayIndex.hpp b/src/OpenSHC/Globals/DAT_EnemyArrayIndex.hpp new file mode 100644 index 0000000..4d98f65 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_EnemyArrayIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_EnemyArrayIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF4294) DAT_EnemyArrayIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_EnoughGoldForRequestedUnit.hpp b/src/OpenSHC/Globals/DAT_EnoughGoldForRequestedUnit.hpp new file mode 100644 index 0000000..edd25a5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_EnoughGoldForRequestedUnit.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_EnoughGoldForRequestedUnit.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00DF3358) DAT_EnoughGoldForRequestedUnit; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_EntityDefinedData.hpp b/src/OpenSHC/Globals/DAT_EntityDefinedData.hpp new file mode 100644 index 0000000..213a8d3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_EntityDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_EntityDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Entities/EntityDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Entities::EntityDefinedData; + +MACRO_STRUCT_RESOLVER(EntityDefinedData, false, Address::SHC_3BB0A8C1_0x005B6004) DAT_EntityDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_EntityState.hpp b/src/OpenSHC/Globals/DAT_EntityState.hpp new file mode 100644 index 0000000..6e19569 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_EntityState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_EntityState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Entities/EntityState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Entities::EntityState; + +MACRO_STRUCT_RESOLVER(EntityState, false, Address::SHC_3BB0A8C1_0x02350300) DAT_EntityState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_FileDoesntExist.hpp b/src/OpenSHC/Globals/DAT_FileDoesntExist.hpp new file mode 100644 index 0000000..3c35f4c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_FileDoesntExist.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_FileDoesntExist.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00DF5570) DAT_FileDoesntExist; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_FinalResultsOrderByColumn.hpp b/src/OpenSHC/Globals/DAT_FinalResultsOrderByColumn.hpp new file mode 100644 index 0000000..7c7e394 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_FinalResultsOrderByColumn.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_FinalResultsOrderByColumn.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9B64) DAT_FinalResultsOrderByColumn; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GL_Counter.hpp b/src/OpenSHC/Globals/DAT_GL_Counter.hpp new file mode 100644 index 0000000..f6b3b22 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GL_Counter.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GL_Counter.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B986F4) DAT_GL_Counter; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GMImageHeaders.hpp b/src/OpenSHC/Globals/DAT_GMImageHeaders.hpp new file mode 100644 index 0000000..c965201 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GMImageHeaders.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GMImageHeaders.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/ImageHeader.hpp" +namespace OpenSHC { + +using OpenSHC::IO::Graphics::ImageHeader; + +MACRO_STRUCT_RESOLVER(ImageHeader[66000], false, Address::SHC_3BB0A8C1_0x00B98790) DAT_GMImageHeaders; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GMImageOffsets.hpp b/src/OpenSHC/Globals/DAT_GMImageOffsets.hpp new file mode 100644 index 0000000..0d1c4f8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GMImageOffsets.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GMImageOffsets.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[116000], false, Address::SHC_3BB0A8C1_0x00D0BA10) DAT_GMImageOffsets; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GMImageSizes.hpp b/src/OpenSHC/Globals/DAT_GMImageSizes.hpp new file mode 100644 index 0000000..ea6063a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GMImageSizes.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GMImageSizes.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[116000], false, Address::SHC_3BB0A8C1_0x00C9A590) DAT_GMImageSizes; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GameCore.hpp b/src/OpenSHC/Globals/DAT_GameCore.hpp new file mode 100644 index 0000000..1de4b32 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GameCore.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GameCore.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/GameCore.hpp" +namespace OpenSHC { + +using OpenSHC::Game::GameCore; + +MACRO_STRUCT_RESOLVER(GameCore, false, Address::SHC_3BB0A8C1_0x01FE7D10) DAT_GameCore; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GameLoopDurationBuffer.hpp b/src/OpenSHC/Globals/DAT_GameLoopDurationBuffer.hpp new file mode 100644 index 0000000..6edd9e6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GameLoopDurationBuffer.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GameLoopDurationBuffer.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[100], false, Address::SHC_3BB0A8C1_0x00DF5398) DAT_GameLoopDurationBuffer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GameLoopStopwatch.hpp b/src/OpenSHC/Globals/DAT_GameLoopStopwatch.hpp new file mode 100644 index 0000000..148089f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GameLoopStopwatch.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GameLoopStopwatch.hpp' +*/ + +#pragma once + +#include "OpenSHC/Util/Timing/Stopwatch.hpp" +namespace OpenSHC { + +using OpenSHC::Util::Timing::Stopwatch; + +MACRO_STRUCT_RESOLVER(Stopwatch, false, Address::SHC_3BB0A8C1_0x0165271C) DAT_GameLoopStopwatch; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GameState.hpp b/src/OpenSHC/Globals/DAT_GameState.hpp new file mode 100644 index 0000000..dac22a7 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GameState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GameState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/GameStateStructures.hpp" +namespace OpenSHC { + +using OpenSHC::Game::GameStateStructures; + +MACRO_STRUCT_RESOLVER(GameStateStructures, false, Address::SHC_3BB0A8C1_0x0112B0B8) DAT_GameState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GameSynchronyState.hpp b/src/OpenSHC/Globals/DAT_GameSynchronyState.hpp new file mode 100644 index 0000000..e7d7d57 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GameSynchronyState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GameSynchronyState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony/GameSynchronyState.hpp" +namespace OpenSHC { + +using OpenSHC::Synchrony::GameSynchronyState; + +MACRO_STRUCT_RESOLVER(GameSynchronyState, false, Address::SHC_3BB0A8C1_0x0191D768) DAT_GameSynchronyState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GmImageAddressToBeRendered.hpp b/src/OpenSHC/Globals/DAT_GmImageAddressToBeRendered.hpp new file mode 100644 index 0000000..8556300 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GmImageAddressToBeRendered.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GmImageAddressToBeRendered.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3174) DAT_GmImageAddressToBeRendered; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_GreatestLordDefinedData.hpp b/src/OpenSHC/Globals/DAT_GreatestLordDefinedData.hpp new file mode 100644 index 0000000..7d189f8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_GreatestLordDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_GreatestLordDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/GreatestLordDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::GreatestLordDefinedData; + +MACRO_STRUCT_RESOLVER(GreatestLordDefinedData, false, Address::SHC_3BB0A8C1_0x00B3933C) DAT_GreatestLordDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_HasNoQueryPerformanceFrequency.hpp b/src/OpenSHC/Globals/DAT_HasNoQueryPerformanceFrequency.hpp new file mode 100644 index 0000000..6e8927a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_HasNoQueryPerformanceFrequency.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_HasNoQueryPerformanceFrequency.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00DF3398) DAT_HasNoQueryPerformanceFrequency; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_HighlightedSkirmishType.hpp b/src/OpenSHC/Globals/DAT_HighlightedSkirmishType.hpp new file mode 100644 index 0000000..9fffbfd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_HighlightedSkirmishType.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_HighlightedSkirmishType.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95B28) DAT_HighlightedSkirmishType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_HoveredState.hpp b/src/OpenSHC/Globals/DAT_HoveredState.hpp new file mode 100644 index 0000000..33acc60 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_HoveredState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_HoveredState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/HoveredState.hpp" +namespace OpenSHC { + +using OpenSHC::UI::HoveredState; + +MACRO_STRUCT_RESOLVER(HoveredState, false, Address::SHC_3BB0A8C1_0x00F2C7D0) DAT_HoveredState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_HusbandID.hpp b/src/OpenSHC/Globals/DAT_HusbandID.hpp new file mode 100644 index 0000000..587d06d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_HusbandID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_HusbandID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98440) DAT_HusbandID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_HusbandUnitType.hpp b/src/OpenSHC/Globals/DAT_HusbandUnitType.hpp new file mode 100644 index 0000000..4b5ab78 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_HusbandUnitType.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_HusbandUnitType.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::UnitTypeInt; + +MACRO_STRUCT_RESOLVER(UnitTypeInt, false, Address::SHC_3BB0A8C1_0x00B98438) DAT_HusbandUnitType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_InsertKeyState.hpp b/src/OpenSHC/Globals/DAT_InsertKeyState.hpp new file mode 100644 index 0000000..f98f806 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_InsertKeyState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_InsertKeyState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input/InsertKeyState.hpp" +namespace OpenSHC { + +using OpenSHC::Input::InsertKeyState; + +MACRO_STRUCT_RESOLVER(InsertKeyState, false, Address::SHC_3BB0A8C1_0x00EE239C) DAT_InsertKeyState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_IntroBlendStrength.hpp b/src/OpenSHC/Globals/DAT_IntroBlendStrength.hpp new file mode 100644 index 0000000..3fd4477 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_IntroBlendStrength.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_IntroBlendStrength.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B96118) DAT_IntroBlendStrength; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_IntroStep.hpp b/src/OpenSHC/Globals/DAT_IntroStep.hpp new file mode 100644 index 0000000..7ca9e25 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_IntroStep.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_IntroStep.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9611C) DAT_IntroStep; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_IntroTimestamp.hpp b/src/OpenSHC/Globals/DAT_IntroTimestamp.hpp new file mode 100644 index 0000000..4806534 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_IntroTimestamp.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_IntroTimestamp.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00B960D8) DAT_IntroTimestamp; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_IntroTransitionStep.hpp b/src/OpenSHC/Globals/DAT_IntroTransitionStep.hpp new file mode 100644 index 0000000..c0cc661 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_IntroTransitionStep.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_IntroTransitionStep.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B96114) DAT_IntroTransitionStep; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_IsKeepEnclosed.hpp b/src/OpenSHC/Globals/DAT_IsKeepEnclosed.hpp new file mode 100644 index 0000000..4e7fd34 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_IsKeepEnclosed.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_IsKeepEnclosed.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B9865C) DAT_IsKeepEnclosed; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_KeepEnclosementCooldown.hpp b/src/OpenSHC/Globals/DAT_KeepEnclosementCooldown.hpp new file mode 100644 index 0000000..66a9e6a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_KeepEnclosementCooldown.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_KeepEnclosementCooldown.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00B98660) DAT_KeepEnclosementCooldown; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_LandscapeState.hpp b/src/OpenSHC/Globals/DAT_LandscapeState.hpp new file mode 100644 index 0000000..c801159 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_LandscapeState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_LandscapeState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/LandscapeState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::LandscapeState; + +MACRO_STRUCT_RESOLVER(LandscapeState, false, Address::SHC_3BB0A8C1_0x00F2CC38) DAT_LandscapeState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_LastSpeechSFXFilename.hpp b/src/OpenSHC/Globals/DAT_LastSpeechSFXFilename.hpp new file mode 100644 index 0000000..73079cf --- /dev/null +++ b/src/OpenSHC/Globals/DAT_LastSpeechSFXFilename.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_LastSpeechSFXFilename.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(char[64], false, Address::SHC_3BB0A8C1_0x00B986A0) DAT_LastSpeechSFXFilename; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_LastTeamMemberIndex.hpp b/src/OpenSHC/Globals/DAT_LastTeamMemberIndex.hpp new file mode 100644 index 0000000..0c5faa5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_LastTeamMemberIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_LastTeamMemberIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF42A8) DAT_LastTeamMemberIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_LoadingBarProgress.hpp b/src/OpenSHC/Globals/DAT_LoadingBarProgress.hpp new file mode 100644 index 0000000..51202a5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_LoadingBarProgress.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_LoadingBarProgress.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00D7D2D0) DAT_LoadingBarProgress; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_LobbyAddAICurrentlyHoveredAI.hpp b/src/OpenSHC/Globals/DAT_LobbyAddAICurrentlyHoveredAI.hpp new file mode 100644 index 0000000..c9973ae --- /dev/null +++ b/src/OpenSHC/Globals/DAT_LobbyAddAICurrentlyHoveredAI.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_LobbyAddAICurrentlyHoveredAI.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF4248) DAT_LobbyAddAICurrentlyHoveredAI; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_LowLevelMemory.hpp b/src/OpenSHC/Globals/DAT_LowLevelMemory.hpp new file mode 100644 index 0000000..588ae5d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_LowLevelMemory.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_LowLevelMemory.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/LowLevelMemory.hpp" +namespace OpenSHC { + +using OpenSHC::IO::LowLevelMemory; + +MACRO_STRUCT_RESOLVER(LowLevelMemory, false, Address::SHC_3BB0A8C1_0x0165272C) DAT_LowLevelMemory; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MainMenuSwingSwordBool.hpp b/src/OpenSHC/Globals/DAT_MainMenuSwingSwordBool.hpp new file mode 100644 index 0000000..d04bd8b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MainMenuSwingSwordBool.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MainMenuSwingSwordBool.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95964) DAT_MainMenuSwingSwordBool; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MapDefinedData.hpp b/src/OpenSHC/Globals/DAT_MapDefinedData.hpp new file mode 100644 index 0000000..bfe887f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MapDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MapDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::MapDefinedData; + +MACRO_STRUCT_RESOLVER(MapDefinedData, false, Address::SHC_3BB0A8C1_0x00B601BC) DAT_MapDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MapEditorProperties_ClickedButton.hpp b/src/OpenSHC/Globals/DAT_MapEditorProperties_ClickedButton.hpp new file mode 100644 index 0000000..e99fe84 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MapEditorProperties_ClickedButton.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MapEditorProperties_ClickedButton.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95AC4) DAT_MapEditorProperties_ClickedButton; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MapMissionType.hpp b/src/OpenSHC/Globals/DAT_MapMissionType.hpp new file mode 100644 index 0000000..ea40e40 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MapMissionType.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MapMissionType.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95B38) DAT_MapMissionType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MapNameCache.hpp b/src/OpenSHC/Globals/DAT_MapNameCache.hpp new file mode 100644 index 0000000..1f8744f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MapNameCache.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MapNameCache.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(char[1004], false, Address::SHC_3BB0A8C1_0x00B95B78) DAT_MapNameCache; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MapPropertiesState.hpp b/src/OpenSHC/Globals/DAT_MapPropertiesState.hpp new file mode 100644 index 0000000..926be94 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MapPropertiesState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MapPropertiesState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapPropertiesState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::MapPropertiesState; + +MACRO_STRUCT_RESOLVER(MapPropertiesState, false, Address::SHC_3BB0A8C1_0x01653858) DAT_MapPropertiesState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MapRenderDefinedData.hpp b/src/OpenSHC/Globals/DAT_MapRenderDefinedData.hpp new file mode 100644 index 0000000..0f0be03 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MapRenderDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MapRenderDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/MapRenderDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::MapRenderDefinedData; + +MACRO_STRUCT_RESOLVER(MapRenderDefinedData, false, Address::SHC_3BB0A8C1_0x00B4421C) DAT_MapRenderDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuHandlerState.hpp b/src/OpenSHC/Globals/DAT_MenuHandlerState.hpp new file mode 100644 index 0000000..27f36f1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuHandlerState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuHandlerState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuHandlerState.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuHandlerState; + +MACRO_STRUCT_RESOLVER(MenuHandlerState, false, Address::SHC_3BB0A8C1_0x00F2B390) DAT_MenuHandlerState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuModalComposition1.hpp b/src/OpenSHC/Globals/DAT_MenuModalComposition1.hpp new file mode 100644 index 0000000..33a0000 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuModalComposition1.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuModalComposition1.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModalComposition.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModalComposition; + +MACRO_STRUCT_RESOLVER(MenuModalComposition, false, Address::SHC_3BB0A8C1_0x01FE7C90) DAT_MenuModalComposition1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuModalComposition2.hpp b/src/OpenSHC/Globals/DAT_MenuModalComposition2.hpp new file mode 100644 index 0000000..cd63ac7 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuModalComposition2.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuModalComposition2.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModalComposition.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModalComposition; + +MACRO_STRUCT_RESOLVER(MenuModalComposition, false, Address::SHC_3BB0A8C1_0x02403678) DAT_MenuModalComposition2; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuModalComposition3.hpp b/src/OpenSHC/Globals/DAT_MenuModalComposition3.hpp new file mode 100644 index 0000000..a8e03a1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuModalComposition3.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuModalComposition3.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModalComposition.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModalComposition; + +MACRO_STRUCT_RESOLVER(MenuModalComposition, false, Address::SHC_3BB0A8C1_0x01667EF8) DAT_MenuModalComposition3; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuTextInputState.hpp b/src/OpenSHC/Globals/DAT_MenuTextInputState.hpp new file mode 100644 index 0000000..7d907aa --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuTextInputState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuTextInputState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuTextInputState.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuTextInputState; + +MACRO_STRUCT_RESOLVER(MenuTextInputState, false, Address::SHC_3BB0A8C1_0x011265A8) DAT_MenuTextInputState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuViewStackTop.hpp b/src/OpenSHC/Globals/DAT_MenuViewStackTop.hpp new file mode 100644 index 0000000..2663bf5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuViewStackTop.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuViewStackTop.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView*, false, Address::SHC_3BB0A8C1_0x00ED31D8) DAT_MenuViewStackTop; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MenuView_TriggerPrepare.hpp b/src/OpenSHC/Globals/DAT_MenuView_TriggerPrepare.hpp new file mode 100644 index 0000000..0839ba3 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MenuView_TriggerPrepare.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MenuView_TriggerPrepare.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00ED31A4) DAT_MenuView_TriggerPrepare; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MillisecCarry.hpp b/src/OpenSHC/Globals/DAT_MillisecCarry.hpp new file mode 100644 index 0000000..9de219c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MillisecCarry.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MillisecCarry.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF4228) DAT_MillisecCarry; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MiniMapDefinedData.hpp b/src/OpenSHC/Globals/DAT_MiniMapDefinedData.hpp new file mode 100644 index 0000000..d515cb1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MiniMapDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MiniMapDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MiniMap::MiniMapDefinedData; + +MACRO_STRUCT_RESOLVER(MiniMapDefinedData, false, Address::SHC_3BB0A8C1_0x00B39364) DAT_MiniMapDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MinimapViewState.hpp b/src/OpenSHC/Globals/DAT_MinimapViewState.hpp new file mode 100644 index 0000000..438dd4d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MinimapViewState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MinimapViewState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MinimapViewState.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MinimapViewState; + +MACRO_STRUCT_RESOLVER(MinimapViewState, false, Address::SHC_3BB0A8C1_0x01A31610) DAT_MinimapViewState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MissingResourceState.hpp b/src/OpenSHC/Globals/DAT_MissingResourceState.hpp new file mode 100644 index 0000000..8f3c484 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MissingResourceState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MissingResourceState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/MissingResourceState.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::MissingResourceState; + +MACRO_STRUCT_RESOLVER(MissingResourceState, false, Address::SHC_3BB0A8C1_0x00EE1098) DAT_MissingResourceState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MissionAestheticsDefinedData.hpp b/src/OpenSHC/Globals/DAT_MissionAestheticsDefinedData.hpp new file mode 100644 index 0000000..aa1cc9b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MissionAestheticsDefinedData.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MissionAestheticsDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/MissionAestheticsDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Game::MissionAestheticsDefinedData; + +MACRO_STRUCT_RESOLVER(MissionAestheticsDefinedData, false, Address::SHC_3BB0A8C1_0x00B3962C) +DAT_MissionAestheticsDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MissionDefinedData.hpp b/src/OpenSHC/Globals/DAT_MissionDefinedData.hpp new file mode 100644 index 0000000..aadd164 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MissionDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MissionDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/MissionDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Game::MissionDefinedData; + +MACRO_STRUCT_RESOLVER(MissionDefinedData, false, Address::SHC_3BB0A8C1_0x00B42B54) DAT_MissionDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MissionScores.hpp b/src/OpenSHC/Globals/DAT_MissionScores.hpp new file mode 100644 index 0000000..ed91ab6 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MissionScores.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MissionScores.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[10], false, Address::SHC_3BB0A8C1_0x00ED27C8) DAT_MissionScores; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ModalMenuArrayPointerToStackTop.hpp b/src/OpenSHC/Globals/DAT_ModalMenuArrayPointerToStackTop.hpp new file mode 100644 index 0000000..9117f16 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ModalMenuArrayPointerToStackTop.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ModalMenuArrayPointerToStackTop.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal*, false, Address::SHC_3BB0A8C1_0x00DF42A4) DAT_ModalMenuArrayPointerToStackTop; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ModifierKeyState.hpp b/src/OpenSHC/Globals/DAT_ModifierKeyState.hpp new file mode 100644 index 0000000..4437050 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ModifierKeyState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ModifierKeyState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input/ModifierKeyState.hpp" +namespace OpenSHC { + +using OpenSHC::Input::ModifierKeyState; + +MACRO_STRUCT_RESOLVER(ModifierKeyState, false, Address::SHC_3BB0A8C1_0x00F224E8) DAT_ModifierKeyState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_MouseState.hpp b/src/OpenSHC/Globals/DAT_MouseState.hpp new file mode 100644 index 0000000..b2cbebd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_MouseState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_MouseState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input/MouseState.hpp" +namespace OpenSHC { + +using OpenSHC::Input::MouseState; + +MACRO_STRUCT_RESOLVER(MouseState, false, Address::SHC_3BB0A8C1_0x00F2C9B0) DAT_MouseState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_NumberOfStoredMenuStrings.hpp b/src/OpenSHC/Globals/DAT_NumberOfStoredMenuStrings.hpp new file mode 100644 index 0000000..d33fc1f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_NumberOfStoredMenuStrings.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_NumberOfStoredMenuStrings.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EC02EC) DAT_NumberOfStoredMenuStrings; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_OrganismDefinedData.hpp b/src/OpenSHC/Globals/DAT_OrganismDefinedData.hpp new file mode 100644 index 0000000..5eac04c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_OrganismDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_OrganismDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/OrganismDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::OrganismDefinedData; + +MACRO_STRUCT_RESOLVER(OrganismDefinedData, false, Address::SHC_3BB0A8C1_0x00B47E14) DAT_OrganismDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_PathFindingState.hpp b/src/OpenSHC/Globals/DAT_PathFindingState.hpp new file mode 100644 index 0000000..5509ef1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_PathFindingState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_PathFindingState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/PathFindingState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Navigation::PathFindingState; + +MACRO_STRUCT_RESOLVER(PathFindingState, false, Address::SHC_3BB0A8C1_0x012BB8C8) DAT_PathFindingState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_PencilRenderCore.hpp b/src/OpenSHC/Globals/DAT_PencilRenderCore.hpp new file mode 100644 index 0000000..e7ba9c1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_PencilRenderCore.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_PencilRenderCore.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Rendering/PencilRenderCore.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Rendering::PencilRenderCore; + +MACRO_STRUCT_RESOLVER(PencilRenderCore, false, Address::SHC_3BB0A8C1_0x0191D720) DAT_PencilRenderCore; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_PerformanceCounterFrequency.hpp b/src/OpenSHC/Globals/DAT_PerformanceCounterFrequency.hpp new file mode 100644 index 0000000..4e60a39 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_PerformanceCounterFrequency.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_PerformanceCounterFrequency.hpp' +*/ + +#pragma once + +#include "winnt.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(LARGE_INTEGER, false, Address::SHC_3BB0A8C1_0x00DF33E8) DAT_PerformanceCounterFrequency; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_PictureNumToGmIDArray_UNUSED.hpp b/src/OpenSHC/Globals/DAT_PictureNumToGmIDArray_UNUSED.hpp new file mode 100644 index 0000000..f28f692 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_PictureNumToGmIDArray_UNUSED.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_PictureNumToGmIDArray_UNUSED.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[116000], false, Address::SHC_3BB0A8C1_0x00D814D8) DAT_PictureNumToGmIDArray_UNUSED; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_PointerToDisplayElementStackTop.hpp b/src/OpenSHC/Globals/DAT_PointerToDisplayElementStackTop.hpp new file mode 100644 index 0000000..f0a8623 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_PointerToDisplayElementStackTop.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_PointerToDisplayElementStackTop.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement*, false, Address::SHC_3BB0A8C1_0x00DF42B4) DAT_PointerToDisplayElementStackTop; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ProtocolDefinedData.hpp b/src/OpenSHC/Globals/DAT_ProtocolDefinedData.hpp new file mode 100644 index 0000000..e67b11e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ProtocolDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ProtocolDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony/ProtocolDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Synchrony::ProtocolDefinedData; + +MACRO_STRUCT_RESOLVER(ProtocolDefinedData, false, Address::SHC_3BB0A8C1_0x00B38B7C) DAT_ProtocolDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderMap_DrawSomeX.hpp b/src/OpenSHC/Globals/DAT_RenderMap_DrawSomeX.hpp new file mode 100644 index 0000000..47b1c2e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderMap_DrawSomeX.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderMap_DrawSomeX.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3178) DAT_RenderMap_DrawSomeX; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderMap_DrawSomeY.hpp b/src/OpenSHC/Globals/DAT_RenderMap_DrawSomeY.hpp new file mode 100644 index 0000000..4b67522 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderMap_DrawSomeY.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderMap_DrawSomeY.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3160) DAT_RenderMap_DrawSomeY; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderMap_ImageID.hpp b/src/OpenSHC/Globals/DAT_RenderMap_ImageID.hpp new file mode 100644 index 0000000..773283d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderMap_ImageID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderMap_ImageID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3168) DAT_RenderMap_ImageID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderMap_YOffset.hpp b/src/OpenSHC/Globals/DAT_RenderMap_YOffset.hpp new file mode 100644 index 0000000..a512f8a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderMap_YOffset.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderMap_YOffset.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3164) DAT_RenderMap_YOffset; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderMiniMapOrBinkFlag.hpp b/src/OpenSHC/Globals/DAT_RenderMiniMapOrBinkFlag.hpp new file mode 100644 index 0000000..0ec6c63 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderMiniMapOrBinkFlag.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderMiniMapOrBinkFlag.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x02427474) DAT_RenderMiniMapOrBinkFlag; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderRelatedX.hpp b/src/OpenSHC/Globals/DAT_RenderRelatedX.hpp new file mode 100644 index 0000000..f30301f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderRelatedX.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderRelatedX.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED306C) DAT_RenderRelatedX; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderRelatedY.hpp b/src/OpenSHC/Globals/DAT_RenderRelatedY.hpp new file mode 100644 index 0000000..6fed218 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderRelatedY.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderRelatedY.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB0E3C) DAT_RenderRelatedY; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderedUnitOwner.hpp b/src/OpenSHC/Globals/DAT_RenderedUnitOwner.hpp new file mode 100644 index 0000000..1c38be4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderedUnitOwner.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderedUnitOwner.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED3158) DAT_RenderedUnitOwner; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RenderingDefinedData.hpp b/src/OpenSHC/Globals/DAT_RenderingDefinedData.hpp new file mode 100644 index 0000000..640feab --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RenderingDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RenderingDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/RenderingDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Game::RenderingDefinedData; + +MACRO_STRUCT_RESOLVER(RenderingDefinedData, false, Address::SHC_3BB0A8C1_0x005C2A6C) DAT_RenderingDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RequestedGoodsByWhoArray.hpp b/src/OpenSHC/Globals/DAT_RequestedGoodsByWhoArray.hpp new file mode 100644 index 0000000..a5e3051 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RequestedGoodsByWhoArray.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RequestedGoodsByWhoArray.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[7], false, Address::SHC_3BB0A8C1_0x00DF424C) DAT_RequestedGoodsByWhoArray; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ResourceManager.hpp b/src/OpenSHC/Globals/DAT_ResourceManager.hpp new file mode 100644 index 0000000..2db64d0 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ResourceManager.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ResourceManager.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/ResourceManager.hpp" +namespace OpenSHC { + +using OpenSHC::IO::ResourceManager; + +MACRO_STRUCT_RESOLVER(ResourceManager, false, Address::SHC_3BB0A8C1_0x011BF130) DAT_ResourceManager; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_RotateMapOrPullDownTerrain.hpp b/src/OpenSHC/Globals/DAT_RotateMapOrPullDownTerrain.hpp new file mode 100644 index 0000000..d537e8e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_RotateMapOrPullDownTerrain.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_RotateMapOrPullDownTerrain.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF295C) DAT_RotateMapOrPullDownTerrain; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SFXAmbientEventCountersRescaled.hpp b/src/OpenSHC/Globals/DAT_SFXAmbientEventCountersRescaled.hpp new file mode 100644 index 0000000..169cdcd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SFXAmbientEventCountersRescaled.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SFXAmbientEventCountersRescaled.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[10], false, Address::SHC_3BB0A8C1_0x00B985F0) DAT_SFXAmbientEventCountersRescaled; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SFXDefinedData.hpp b/src/OpenSHC/Globals/DAT_SFXDefinedData.hpp new file mode 100644 index 0000000..30ea93f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SFXDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SFXDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/SFXDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::SFX::SFXDefinedData; + +MACRO_STRUCT_RESOLVER(SFXDefinedData, false, Address::SHC_3BB0A8C1_0x00B3868C) DAT_SFXDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SFXFadeDeltaAccumulator.hpp b/src/OpenSHC/Globals/DAT_SFXFadeDeltaAccumulator.hpp new file mode 100644 index 0000000..ab81ed4 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SFXFadeDeltaAccumulator.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SFXFadeDeltaAccumulator.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00B98700) DAT_SFXFadeDeltaAccumulator; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SFXFadeState.hpp b/src/OpenSHC/Globals/DAT_SFXFadeState.hpp new file mode 100644 index 0000000..277163b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SFXFadeState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SFXFadeState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/SFXFadeStateInt.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::SFX::SFXFadeStateInt; + +MACRO_STRUCT_RESOLVER(SFXFadeStateInt, false, Address::SHC_3BB0A8C1_0x00B986FC) DAT_SFXFadeState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SFXState.hpp b/src/OpenSHC/Globals/DAT_SFXState.hpp new file mode 100644 index 0000000..12f1981 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SFXState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SFXState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SFX/SFXState.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::SFX::SFXState; + +MACRO_STRUCT_RESOLVER(SFXState, false, Address::SHC_3BB0A8C1_0x00F22500) DAT_SFXState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SFX_Interval_Campfire.hpp b/src/OpenSHC/Globals/DAT_SFX_Interval_Campfire.hpp new file mode 100644 index 0000000..bdefa0c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SFX_Interval_Campfire.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SFX_Interval_Campfire.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B95948) DAT_SFX_Interval_Campfire; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SH1_SiegeAdvancedMode.hpp b/src/OpenSHC/Globals/DAT_SH1_SiegeAdvancedMode.hpp new file mode 100644 index 0000000..8e0ec6f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SH1_SiegeAdvancedMode.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SH1_SiegeAdvancedMode.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960C8) DAT_SH1_SiegeAdvancedMode; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ScrollingHandler.hpp b/src/OpenSHC/Globals/DAT_ScrollingHandler.hpp new file mode 100644 index 0000000..19ae560 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ScrollingHandler.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ScrollingHandler.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ScrollingHandler.hpp" +namespace OpenSHC { + +using OpenSHC::UI::ScrollingHandler; + +MACRO_STRUCT_RESOLVER(ScrollingHandler, false, Address::SHC_3BB0A8C1_0x0112B070) DAT_ScrollingHandler; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SentOrRequestedGoodsAmount.hpp b/src/OpenSHC/Globals/DAT_SentOrRequestedGoodsAmount.hpp new file mode 100644 index 0000000..cb15321 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SentOrRequestedGoodsAmount.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SentOrRequestedGoodsAmount.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF428C) DAT_SentOrRequestedGoodsAmount; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SettingsFileState.hpp b/src/OpenSHC/Globals/DAT_SettingsFileState.hpp new file mode 100644 index 0000000..7e9bdf8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SettingsFileState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SettingsFileState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/SettingsFileState.hpp" +namespace OpenSHC { + +using OpenSHC::IO::SettingsFileState; + +MACRO_STRUCT_RESOLVER(SettingsFileState, false, Address::SHC_3BB0A8C1_0x00EE109A) DAT_SettingsFileState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ShortcutDefinedData.hpp b/src/OpenSHC/Globals/DAT_ShortcutDefinedData.hpp new file mode 100644 index 0000000..f4b3a8e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ShortcutDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ShortcutDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ShortcutDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::ShortcutDefinedData; + +MACRO_STRUCT_RESOLVER(ShortcutDefinedData, false, Address::SHC_3BB0A8C1_0x00B39344) DAT_ShortcutDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SiegeInformationArray.hpp b/src/OpenSHC/Globals/DAT_SiegeInformationArray.hpp new file mode 100644 index 0000000..757026e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SiegeInformationArray.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SiegeInformationArray.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[21], false, Address::SHC_3BB0A8C1_0x00B95AC8) DAT_SiegeInformationArray; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SiegeInformationArray_2.hpp b/src/OpenSHC/Globals/DAT_SiegeInformationArray_2.hpp new file mode 100644 index 0000000..aa89646 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SiegeInformationArray_2.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SiegeInformationArray_2.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[4][7][3], false, Address::SHC_3BB0A8C1_0x00B95968) DAT_SiegeInformationArray_2; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SiegeRemainingPoints.hpp b/src/OpenSHC/Globals/DAT_SiegeRemainingPoints.hpp new file mode 100644 index 0000000..640eefd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SiegeRemainingPoints.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SiegeRemainingPoints.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B960B4) DAT_SiegeRemainingPoints; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkMasterDataEntry.hpp b/src/OpenSHC/Globals/DAT_SkMasterDataEntry.hpp new file mode 100644 index 0000000..0af1854 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkMasterDataEntry.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkMasterDataEntry.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/SkMasterDataEntry.hpp" +namespace OpenSHC { + +using OpenSHC::IO::SkMasterDataEntry; + +MACRO_STRUCT_RESOLVER(SkMasterDataEntry, false, Address::SHC_3BB0A8C1_0x00DF5658) DAT_SkMasterDataEntry; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkMasters2DataArray.hpp b/src/OpenSHC/Globals/DAT_SkMasters2DataArray.hpp new file mode 100644 index 0000000..173705e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkMasters2DataArray.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkMasters2DataArray.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/SkMasterDataEntry.hpp" +namespace OpenSHC { + +using OpenSHC::IO::SkMasterDataEntry; + +MACRO_STRUCT_RESOLVER(SkMasterDataEntry[250], false, Address::SHC_3BB0A8C1_0x00DF6250) DAT_SkMasters2DataArray; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkMasters2Data_Count.hpp b/src/OpenSHC/Globals/DAT_SkMasters2Data_Count.hpp new file mode 100644 index 0000000..4a1b6a2 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkMasters2Data_Count.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkMasters2Data_Count.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF624C) DAT_SkMasters2Data_Count; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkMasters2Data_Version.hpp b/src/OpenSHC/Globals/DAT_SkMasters2Data_Version.hpp new file mode 100644 index 0000000..399c855 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkMasters2Data_Version.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkMasters2Data_Version.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF6248) DAT_SkMasters2Data_Version; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkirmishDefinedData.hpp b/src/OpenSHC/Globals/DAT_SkirmishDefinedData.hpp new file mode 100644 index 0000000..16c4051 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkirmishDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkirmishDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Skirmish/SkirmishDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Game::Skirmish::SkirmishDefinedData; + +MACRO_STRUCT_RESOLVER(SkirmishDefinedData, false, Address::SHC_3BB0A8C1_0x00B3EB34) DAT_SkirmishDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkirmishLobbySetupStructureLongMapName.hpp b/src/OpenSHC/Globals/DAT_SkirmishLobbySetupStructureLongMapName.hpp new file mode 100644 index 0000000..99be7b2 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkirmishLobbySetupStructureLongMapName.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkirmishLobbySetupStructureLongMapName.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Skirmish/SkirmishLobbySetupStructureLongName.hpp" +namespace OpenSHC { + +using OpenSHC::Game::Skirmish::SkirmishLobbySetupStructureLongName; + +MACRO_STRUCT_RESOLVER(SkirmishLobbySetupStructureLongName, false, Address::SHC_3BB0A8C1_0x00DF3878) +DAT_SkirmishLobbySetupStructureLongMapName; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SkirmishTrailRelated1.hpp b/src/OpenSHC/Globals/DAT_SkirmishTrailRelated1.hpp new file mode 100644 index 0000000..8e73c7d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SkirmishTrailRelated1.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SkirmishTrailRelated1.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED27C0) DAT_SkirmishTrailRelated1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SomeTeamMemberPlayerIDArray.hpp b/src/OpenSHC/Globals/DAT_SomeTeamMemberPlayerIDArray.hpp new file mode 100644 index 0000000..1487e53 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SomeTeamMemberPlayerIDArray.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SomeTeamMemberPlayerIDArray.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[6], false, Address::SHC_3BB0A8C1_0x00DF426C) DAT_SomeTeamMemberPlayerIDArray; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SoundEffectsHelperData1.hpp b/src/OpenSHC/Globals/DAT_SoundEffectsHelperData1.hpp new file mode 100644 index 0000000..5453011 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SoundEffectsHelperData1.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SoundEffectsHelperData1.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/SoundEffectsHelperData1.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::SoundEffectsHelperData1; + +MACRO_STRUCT_RESOLVER(SoundEffectsHelperData1, false, Address::SHC_3BB0A8C1_0x00DF37F0) DAT_SoundEffectsHelperData1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_SpeechDefinedData.hpp b/src/OpenSHC/Globals/DAT_SpeechDefinedData.hpp new file mode 100644 index 0000000..d4c6893 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_SpeechDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_SpeechDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/Speech/SpeechDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::Speech::SpeechDefinedData; + +MACRO_STRUCT_RESOLVER(SpeechDefinedData, false, Address::SHC_3BB0A8C1_0x00618254) DAT_SpeechDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_StopHandlingMenuItems.hpp b/src/OpenSHC/Globals/DAT_StopHandlingMenuItems.hpp new file mode 100644 index 0000000..ec5cd45 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_StopHandlingMenuItems.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_StopHandlingMenuItems.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00ED31C8) DAT_StopHandlingMenuItems; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_StoredGameMode.hpp b/src/OpenSHC/Globals/DAT_StoredGameMode.hpp new file mode 100644 index 0000000..e2ba5cf --- /dev/null +++ b/src/OpenSHC/Globals/DAT_StoredGameMode.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_StoredGameMode.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B58) DAT_StoredGameMode; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TerrainDefinedData.hpp b/src/OpenSHC/Globals/DAT_TerrainDefinedData.hpp new file mode 100644 index 0000000..799648b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TerrainDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TerrainDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/TerrainDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::TerrainDefinedData; + +MACRO_STRUCT_RESOLVER(TerrainDefinedData, false, Address::SHC_3BB0A8C1_0x00B48F54) DAT_TerrainDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TextEditorState.hpp b/src/OpenSHC/Globals/DAT_TextEditorState.hpp new file mode 100644 index 0000000..bec53f8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TextEditorState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TextEditorState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/TextEditorState.hpp" +namespace OpenSHC { + +using OpenSHC::Text::TextEditorState; + +MACRO_STRUCT_RESOLVER(TextEditorState, false, Address::SHC_3BB0A8C1_0x02403AF8) DAT_TextEditorState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TextInputDefinedData.hpp b/src/OpenSHC/Globals/DAT_TextInputDefinedData.hpp new file mode 100644 index 0000000..8de1e47 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TextInputDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TextInputDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/TextInputDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::TextInputDefinedData; + +MACRO_STRUCT_RESOLVER(TextInputDefinedData, false, Address::SHC_3BB0A8C1_0x00B37CBC) DAT_TextInputDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TextManagerObject.hpp b/src/OpenSHC/Globals/DAT_TextManagerObject.hpp new file mode 100644 index 0000000..df7a159 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TextManagerObject.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TextManagerObject.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/TextManager.hpp" +namespace OpenSHC { + +using OpenSHC::Text::TextManager; + +MACRO_STRUCT_RESOLVER(TextManager, false, Address::SHC_3BB0A8C1_0x02157578) DAT_TextManagerObject; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TextRelatedTime.hpp b/src/OpenSHC/Globals/DAT_TextRelatedTime.hpp new file mode 100644 index 0000000..14ff8f9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TextRelatedTime.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TextRelatedTime.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00ED31DC) DAT_TextRelatedTime; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TextureRenderCoreObject.hpp b/src/OpenSHC/Globals/DAT_TextureRenderCoreObject.hpp new file mode 100644 index 0000000..22811ed --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TextureRenderCoreObject.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TextureRenderCoreObject.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Rendering/TextureRenderCore.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Rendering::TextureRenderCore; + +MACRO_STRUCT_RESOLVER(TextureRenderCore, false, Address::SHC_3BB0A8C1_0x01FEA090) DAT_TextureRenderCoreObject; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TickRateBuffer.hpp b/src/OpenSHC/Globals/DAT_TickRateBuffer.hpp new file mode 100644 index 0000000..b25539d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TickRateBuffer.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TickRateBuffer.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[100], false, Address::SHC_3BB0A8C1_0x00DF5208) DAT_TickRateBuffer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TileMapState.hpp b/src/OpenSHC/Globals/DAT_TileMapState.hpp new file mode 100644 index 0000000..54baca1 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TileMapState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TileMapState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/TileMapState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::TileMapState; + +MACRO_STRUCT_RESOLVER(TileMapState, false, Address::SHC_3BB0A8C1_0x01A93208) DAT_TileMapState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_Time_Allies1.hpp b/src/OpenSHC/Globals/DAT_Time_Allies1.hpp new file mode 100644 index 0000000..48e7055 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_Time_Allies1.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_Time_Allies1.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF42AC) DAT_Time_Allies1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TotalUnitValueLossesEnemyHistory.hpp b/src/OpenSHC/Globals/DAT_TotalUnitValueLossesEnemyHistory.hpp new file mode 100644 index 0000000..7f50a7f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TotalUnitValueLossesEnemyHistory.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TotalUnitValueLossesEnemyHistory.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[10], false, Address::SHC_3BB0A8C1_0x00B98670) DAT_TotalUnitValueLossesEnemyHistory; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_Tribe_HighestID.hpp b/src/OpenSHC/Globals/DAT_Tribe_HighestID.hpp new file mode 100644 index 0000000..bb51e00 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_Tribe_HighestID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_Tribe_HighestID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FB8) DAT_Tribe_HighestID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TribesState.hpp b/src/OpenSHC/Globals/DAT_TribesState.hpp new file mode 100644 index 0000000..cb05fdd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TribesState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TribesState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/TribesState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::TribesState; + +MACRO_STRUCT_RESOLVER(TribesState, false, Address::SHC_3BB0A8C1_0x01667F78) DAT_TribesState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TroopDefinedData.hpp b/src/OpenSHC/Globals/DAT_TroopDefinedData.hpp new file mode 100644 index 0000000..b02a87b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TroopDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TroopDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/TroopDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Game::TroopDefinedData; + +MACRO_STRUCT_RESOLVER(TroopDefinedData, false, Address::SHC_3BB0A8C1_0x00AB8E14) DAT_TroopDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TroopValueState.hpp b/src/OpenSHC/Globals/DAT_TroopValueState.hpp new file mode 100644 index 0000000..66e90c8 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TroopValueState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TroopValueState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/TroopValueState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::TroopValueState; + +MACRO_STRUCT_RESOLVER(TroopValueState, false, Address::SHC_3BB0A8C1_0x01763348) DAT_TroopValueState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_TutorialCurrentStep.hpp b/src/OpenSHC/Globals/DAT_TutorialCurrentStep.hpp new file mode 100644 index 0000000..c77d716 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_TutorialCurrentStep.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_TutorialCurrentStep.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5550) DAT_TutorialCurrentStep; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UIButtonDefinedData.hpp b/src/OpenSHC/Globals/DAT_UIButtonDefinedData.hpp new file mode 100644 index 0000000..ef102c2 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UIButtonDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UIButtonDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/UIButtonDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::UIButtonDefinedData; + +MACRO_STRUCT_RESOLVER(UIButtonDefinedData, false, Address::SHC_3BB0A8C1_0x00B333AC) DAT_UIButtonDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UIDragDropDefinedData.hpp b/src/OpenSHC/Globals/DAT_UIDragDropDefinedData.hpp new file mode 100644 index 0000000..b651a1e --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UIDragDropDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UIDragDropDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/UIDragDropDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::UIDragDropDefinedData; + +MACRO_STRUCT_RESOLVER(UIDragDropDefinedData, false, Address::SHC_3BB0A8C1_0x00B48EE4) DAT_UIDragDropDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnitHasBecomeIdle.hpp b/src/OpenSHC/Globals/DAT_UnitHasBecomeIdle.hpp new file mode 100644 index 0000000..2250f70 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnitHasBecomeIdle.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnitHasBecomeIdle.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FBC) DAT_UnitHasBecomeIdle; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnitPropertiesDefinedData.hpp b/src/OpenSHC/Globals/DAT_UnitPropertiesDefinedData.hpp new file mode 100644 index 0000000..bb9ccca --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnitPropertiesDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnitPropertiesDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitPropertiesDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::UnitPropertiesDefinedData; + +MACRO_STRUCT_RESOLVER(UnitPropertiesDefinedData, false, Address::SHC_3BB0A8C1_0x00B4DF4C) DAT_UnitPropertiesDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnitSelectionDefinedData.hpp b/src/OpenSHC/Globals/DAT_UnitSelectionDefinedData.hpp new file mode 100644 index 0000000..bcac2f9 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnitSelectionDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnitSelectionDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/UnitSelectionDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::UnitSelectionDefinedData; + +MACRO_STRUCT_RESOLVER(UnitSelectionDefinedData, false, Address::SHC_3BB0A8C1_0x00B4D13C) DAT_UnitSelectionDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnitTypeRelatedCounter.hpp b/src/OpenSHC/Globals/DAT_UnitTypeRelatedCounter.hpp new file mode 100644 index 0000000..65c9a2c --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnitTypeRelatedCounter.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnitTypeRelatedCounter.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[80], false, Address::SHC_3BB0A8C1_0x00B95F70) DAT_UnitTypeRelatedCounter; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnitValueLossesPerEnemyPlayer.hpp b/src/OpenSHC/Globals/DAT_UnitValueLossesPerEnemyPlayer.hpp new file mode 100644 index 0000000..9e767fe --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnitValueLossesPerEnemyPlayer.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnitValueLossesPerEnemyPlayer.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[9], false, Address::SHC_3BB0A8C1_0x00B98460) DAT_UnitValueLossesPerEnemyPlayer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnitsState.hpp b/src/OpenSHC/Globals/DAT_UnitsState.hpp new file mode 100644 index 0000000..2a2413b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnitsState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnitsState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitsState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::UnitsState; + +MACRO_STRUCT_RESOLVER(UnitsState, false, Address::SHC_3BB0A8C1_0x01387F38) DAT_UnitsState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnknownBinkCount.hpp b/src/OpenSHC/Globals/DAT_UnknownBinkCount.hpp new file mode 100644 index 0000000..eb3216a --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnknownBinkCount.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnknownBinkCount.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9B50) DAT_UnknownBinkCount; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnknownBinkIndex.hpp b/src/OpenSHC/Globals/DAT_UnknownBinkIndex.hpp new file mode 100644 index 0000000..9d8dd27 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnknownBinkIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnknownBinkIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EB9AF0) DAT_UnknownBinkIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnknownGFXIndex.hpp b/src/OpenSHC/Globals/DAT_UnknownGFXIndex.hpp new file mode 100644 index 0000000..9672916 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnknownGFXIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnknownGFXIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B9595C) DAT_UnknownGFXIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnknownStopwatch.hpp b/src/OpenSHC/Globals/DAT_UnknownStopwatch.hpp new file mode 100644 index 0000000..2b5a199 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnknownStopwatch.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnknownStopwatch.hpp' +*/ + +#pragma once + +#include "OpenSHC/Util/Timing/Stopwatch.hpp" +namespace OpenSHC { + +using OpenSHC::Util::Timing::Stopwatch; + +MACRO_STRUCT_RESOLVER(Stopwatch, false, Address::SHC_3BB0A8C1_0x0112B05C) DAT_UnknownStopwatch; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UnknownTime_01.hpp b/src/OpenSHC/Globals/DAT_UnknownTime_01.hpp new file mode 100644 index 0000000..2e3055b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UnknownTime_01.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UnknownTime_01.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF5638) DAT_UnknownTime_01; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UpdateUnitsTracker.hpp b/src/OpenSHC/Globals/DAT_UpdateUnitsTracker.hpp new file mode 100644 index 0000000..91f195d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UpdateUnitsTracker.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UpdateUnitsTracker.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00EE0FC4) DAT_UpdateUnitsTracker; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UserHelpDefinedData.hpp b/src/OpenSHC/Globals/DAT_UserHelpDefinedData.hpp new file mode 100644 index 0000000..0ab417d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UserHelpDefinedData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UserHelpDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/UserHelpDefinedData.hpp" +namespace OpenSHC { + +using OpenSHC::UI::UserHelpDefinedData; + +MACRO_STRUCT_RESOLVER(UserHelpDefinedData, false, Address::SHC_3BB0A8C1_0x00AB916C) DAT_UserHelpDefinedData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_UserTextHandlerState.hpp b/src/OpenSHC/Globals/DAT_UserTextHandlerState.hpp new file mode 100644 index 0000000..e7d0528 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_UserTextHandlerState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_UserTextHandlerState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/UserTextHandler.hpp" +namespace OpenSHC { + +using OpenSHC::Text::UserTextHandler; + +MACRO_STRUCT_RESOLVER(UserTextHandler, false, Address::SHC_3BB0A8C1_0x01652740) DAT_UserTextHandlerState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_VideoBikQueue.hpp b/src/OpenSHC/Globals/DAT_VideoBikQueue.hpp new file mode 100644 index 0000000..70cf26f --- /dev/null +++ b/src/OpenSHC/Globals/DAT_VideoBikQueue.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_VideoBikQueue.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Bink/AIMessageQueue.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::Bink::AIMessageQueue; + +MACRO_STRUCT_RESOLVER(AIMessageQueue, false, Address::SHC_3BB0A8C1_0x00EE10A0) DAT_VideoBikQueue; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_ViewportRenderState.hpp b/src/OpenSHC/Globals/DAT_ViewportRenderState.hpp new file mode 100644 index 0000000..502f2bd --- /dev/null +++ b/src/OpenSHC/Globals/DAT_ViewportRenderState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_ViewportRenderState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/ViewportRenderState.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::ViewportRenderState; + +MACRO_STRUCT_RESOLVER(ViewportRenderState, false, Address::SHC_3BB0A8C1_0x021AEBD8) DAT_ViewportRenderState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WallAndPitchState.hpp b/src/OpenSHC/Globals/DAT_WallAndPitchState.hpp new file mode 100644 index 0000000..72081e5 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WallAndPitchState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WallAndPitchState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/WallAndPitchState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::WallAndPitchState; + +MACRO_STRUCT_RESOLVER(WallAndPitchState, false, Address::SHC_3BB0A8C1_0x00EE19D0) DAT_WallAndPitchState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WideCharMultiByteState.hpp b/src/OpenSHC/Globals/DAT_WideCharMultiByteState.hpp new file mode 100644 index 0000000..c3e959b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WideCharMultiByteState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WideCharMultiByteState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Util/WideCharMultiByteState.hpp" +namespace OpenSHC { + +using OpenSHC::Util::WideCharMultiByteState; + +MACRO_STRUCT_RESOLVER(WideCharMultiByteState, false, Address::SHC_3BB0A8C1_0x00EE1099) DAT_WideCharMultiByteState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WifeID.hpp b/src/OpenSHC/Globals/DAT_WifeID.hpp new file mode 100644 index 0000000..7f42b6d --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WifeID.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WifeID.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B98444) DAT_WifeID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WifeUnitType.hpp b/src/OpenSHC/Globals/DAT_WifeUnitType.hpp new file mode 100644 index 0000000..da36035 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WifeUnitType.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WifeUnitType.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +namespace OpenSHC { + +using OpenSHC::Map::Units::UnitTypeInt; + +MACRO_STRUCT_RESOLVER(UnitTypeInt, false, Address::SHC_3BB0A8C1_0x00B98434) DAT_WifeUnitType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WildlifeState.hpp b/src/OpenSHC/Globals/DAT_WildlifeState.hpp new file mode 100644 index 0000000..7858791 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WildlifeState.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WildlifeState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/WildlifeState.hpp" +namespace OpenSHC { + +using OpenSHC::Map::WildlifeState; + +MACRO_STRUCT_RESOLVER(WildlifeState, false, Address::SHC_3BB0A8C1_0x00EE23D8) DAT_WildlifeState; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WindowAndDirectDraw.hpp b/src/OpenSHC/Globals/DAT_WindowAndDirectDraw.hpp new file mode 100644 index 0000000..6ec2f54 --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WindowAndDirectDraw.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WindowAndDirectDraw.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Rendering::WindowAndDirectDraw; + +MACRO_STRUCT_RESOLVER(WindowAndDirectDraw, false, Address::SHC_3BB0A8C1_0x00F98338) DAT_WindowAndDirectDraw; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DAT_WindowInformation.hpp b/src/OpenSHC/Globals/DAT_WindowInformation.hpp new file mode 100644 index 0000000..5d18f9b --- /dev/null +++ b/src/OpenSHC/Globals/DAT_WindowInformation.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DAT_WindowInformation.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/WindowInformation.hpp" +namespace OpenSHC { + +using OpenSHC::Rendering::WindowInformation; + +MACRO_STRUCT_RESOLVER(WindowInformation, false, Address::SHC_3BB0A8C1_0x01A27980) DAT_WindowInformation; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DPLAY_CurrentSessionGUID.hpp b/src/OpenSHC/Globals/DPLAY_CurrentSessionGUID.hpp new file mode 100644 index 0000000..6b015b3 --- /dev/null +++ b/src/OpenSHC/Globals/DPLAY_CurrentSessionGUID.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DPLAY_CurrentSessionGUID.hpp' +*/ + +#pragma once + +#include "guiddef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x00DF3D1C) DPLAY_CurrentSessionGUID; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DPLAY_InterfacePointer.hpp b/src/OpenSHC/Globals/DPLAY_InterfacePointer.hpp new file mode 100644 index 0000000..ae90663 --- /dev/null +++ b/src/OpenSHC/Globals/DPLAY_InterfacePointer.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DPLAY_InterfacePointer.hpp' +*/ + +#pragma once + +#include "OpenSHC/DirectPlay/IDirectPlay4A.hpp" +namespace OpenSHC { + +using OpenSHC::DirectPlay::IDirectPlay4A; + +MACRO_STRUCT_RESOLVER(IDirectPlay4A**, false, Address::SHC_3BB0A8C1_0x00DF3D18) DPLAY_InterfacePointer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00b95b1c.hpp b/src/OpenSHC/Globals/DWORD_00b95b1c.hpp new file mode 100644 index 0000000..c4384ad --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00b95b1c.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00b95b1c.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00B95B1C) DWORD_00b95b1c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00b98708.hpp b/src/OpenSHC/Globals/DWORD_00b98708.hpp new file mode 100644 index 0000000..021ff0a --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00b98708.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00b98708.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00B98708) DWORD_00b98708; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00df3364.hpp b/src/OpenSHC/Globals/DWORD_00df3364.hpp new file mode 100644 index 0000000..275fcf7 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00df3364.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00df3364.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF3364) DWORD_00df3364; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00df3378.hpp b/src/OpenSHC/Globals/DWORD_00df3378.hpp new file mode 100644 index 0000000..666608a --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00df3378.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00df3378.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF3378) DWORD_00df3378; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00df5568.hpp b/src/OpenSHC/Globals/DWORD_00df5568.hpp new file mode 100644 index 0000000..876f69c --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00df5568.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00df5568.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF5568) DWORD_00df5568; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00eb0b18.hpp b/src/OpenSHC/Globals/DWORD_00eb0b18.hpp new file mode 100644 index 0000000..a60e118 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00eb0b18.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00eb0b18.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EB0B18) DWORD_00eb0b18; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00eb9ac4.hpp b/src/OpenSHC/Globals/DWORD_00eb9ac4.hpp new file mode 100644 index 0000000..6293f46 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00eb9ac4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00eb9ac4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00EB9AC4) DWORD_00eb9ac4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ed27a8.hpp b/src/OpenSHC/Globals/DWORD_00ed27a8.hpp new file mode 100644 index 0000000..b2d047b --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ed27a8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ed27a8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00ED27A8) DWORD_00ed27a8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ed311c.hpp b/src/OpenSHC/Globals/DWORD_00ed311c.hpp new file mode 100644 index 0000000..9c817f2 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ed311c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ed311c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00ED311C) DWORD_00ed311c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ed3138.hpp b/src/OpenSHC/Globals/DWORD_00ed3138.hpp new file mode 100644 index 0000000..392a818 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ed3138.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ed3138.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00ED3138) DWORD_00ed3138; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee0fcc.hpp b/src/OpenSHC/Globals/DWORD_00ee0fcc.hpp new file mode 100644 index 0000000..69022da --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee0fcc.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee0fcc.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE0FCC) DWORD_00ee0fcc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee0fd4.hpp b/src/OpenSHC/Globals/DWORD_00ee0fd4.hpp new file mode 100644 index 0000000..63c3350 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee0fd4.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee0fd4.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE0FD4) DWORD_00ee0fd4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee0fdc.hpp b/src/OpenSHC/Globals/DWORD_00ee0fdc.hpp new file mode 100644 index 0000000..c45f0e5 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee0fdc.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee0fdc.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE0FDC) DWORD_00ee0fdc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1040.hpp b/src/OpenSHC/Globals/DWORD_00ee1040.hpp new file mode 100644 index 0000000..4b5df66 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1040.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1040.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1040) DWORD_00ee1040; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1044.hpp b/src/OpenSHC/Globals/DWORD_00ee1044.hpp new file mode 100644 index 0000000..c79299c --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1044.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1044.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1044) DWORD_00ee1044; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1048.hpp b/src/OpenSHC/Globals/DWORD_00ee1048.hpp new file mode 100644 index 0000000..0180b83 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1048.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1048.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1048) DWORD_00ee1048; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee104c.hpp b/src/OpenSHC/Globals/DWORD_00ee104c.hpp new file mode 100644 index 0000000..348c70c --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee104c.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee104c.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE104C) DWORD_00ee104c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1050.hpp b/src/OpenSHC/Globals/DWORD_00ee1050.hpp new file mode 100644 index 0000000..44473d7 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1050.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1050.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1050) DWORD_00ee1050; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1054.hpp b/src/OpenSHC/Globals/DWORD_00ee1054.hpp new file mode 100644 index 0000000..dff02ce --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1054.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1054.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1054) DWORD_00ee1054; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1058.hpp b/src/OpenSHC/Globals/DWORD_00ee1058.hpp new file mode 100644 index 0000000..d91de3f --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1058.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1058.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1058) DWORD_00ee1058; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee105c.hpp b/src/OpenSHC/Globals/DWORD_00ee105c.hpp new file mode 100644 index 0000000..b962ccc --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee105c.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee105c.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE105C) DWORD_00ee105c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1060.hpp b/src/OpenSHC/Globals/DWORD_00ee1060.hpp new file mode 100644 index 0000000..b95d6b6 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1060.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1060.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1060) DWORD_00ee1060; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_00ee1064.hpp b/src/OpenSHC/Globals/DWORD_00ee1064.hpp new file mode 100644 index 0000000..d1a7bd9 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_00ee1064.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_00ee1064.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE1064) DWORD_00ee1064; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_0242746c.hpp b/src/OpenSHC/Globals/DWORD_0242746c.hpp new file mode 100644 index 0000000..2fe0550 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_0242746c.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_0242746c.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x0242746C) DWORD_0242746c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_KeepEnclosementTimer.hpp b/src/OpenSHC/Globals/DWORD_KeepEnclosementTimer.hpp new file mode 100644 index 0000000..74ba188 --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_KeepEnclosementTimer.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_KeepEnclosementTimer.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00B98618) DWORD_KeepEnclosementTimer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DWORD_LatestPLayerStatusMessageTime.hpp b/src/OpenSHC/Globals/DWORD_LatestPLayerStatusMessageTime.hpp new file mode 100644 index 0000000..12e8afc --- /dev/null +++ b/src/OpenSHC/Globals/DWORD_LatestPLayerStatusMessageTime.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DWORD_LatestPLayerStatusMessageTime.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00B9866C) DWORD_LatestPLayerStatusMessageTime; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Dat_UnitValueLossesHistoryPerEnemyPlayer.hpp b/src/OpenSHC/Globals/Dat_UnitValueLossesHistoryPerEnemyPlayer.hpp new file mode 100644 index 0000000..8253688 --- /dev/null +++ b/src/OpenSHC/Globals/Dat_UnitValueLossesHistoryPerEnemyPlayer.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Dat_UnitValueLossesHistoryPerEnemyPlayer.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[9][10], false, Address::SHC_3BB0A8C1_0x00B98488) Dat_UnitValueLossesHistoryPerEnemyPlayer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/DebugNumbersDisplayElement.hpp b/src/OpenSHC/Globals/DebugNumbersDisplayElement.hpp new file mode 100644 index 0000000..b0770e1 --- /dev/null +++ b/src/OpenSHC/Globals/DebugNumbersDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/DebugNumbersDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF437C) DebugNumbersDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLAG_ChristmasAIMessage01to04.hpp b/src/OpenSHC/Globals/FLAG_ChristmasAIMessage01to04.hpp new file mode 100644 index 0000000..dd0804c --- /dev/null +++ b/src/OpenSHC/Globals/FLAG_ChristmasAIMessage01to04.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLAG_ChristmasAIMessage01to04.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE2354) FLAG_ChristmasAIMessage01to04; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLAG_JokeAIMessage05.hpp b/src/OpenSHC/Globals/FLAG_JokeAIMessage05.hpp new file mode 100644 index 0000000..8b39c33 --- /dev/null +++ b/src/OpenSHC/Globals/FLAG_JokeAIMessage05.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLAG_JokeAIMessage05.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE2364) FLAG_JokeAIMessage05; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLAG_JokeAIMessage06.hpp b/src/OpenSHC/Globals/FLAG_JokeAIMessage06.hpp new file mode 100644 index 0000000..18cb12a --- /dev/null +++ b/src/OpenSHC/Globals/FLAG_JokeAIMessage06.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLAG_JokeAIMessage06.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE2368) FLAG_JokeAIMessage06; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLAG_JokeAIMessage09.hpp b/src/OpenSHC/Globals/FLAG_JokeAIMessage09.hpp new file mode 100644 index 0000000..5c4f808 --- /dev/null +++ b/src/OpenSHC/Globals/FLAG_JokeAIMessage09.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLAG_JokeAIMessage09.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE2374) FLAG_JokeAIMessage09; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLAG_JokeAIMessage12.hpp b/src/OpenSHC/Globals/FLAG_JokeAIMessage12.hpp new file mode 100644 index 0000000..9f39cc2 --- /dev/null +++ b/src/OpenSHC/Globals/FLAG_JokeAIMessage12.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLAG_JokeAIMessage12.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE2380) FLAG_JokeAIMessage12; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLAG_JokeAIMessage16.hpp b/src/OpenSHC/Globals/FLAG_JokeAIMessage16.hpp new file mode 100644 index 0000000..b9a6ff4 --- /dev/null +++ b/src/OpenSHC/Globals/FLAG_JokeAIMessage16.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLAG_JokeAIMessage16.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(BOOL, false, Address::SHC_3BB0A8C1_0x00EE2390) FLAG_JokeAIMessage16; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00b986e8.hpp b/src/OpenSHC/Globals/FLOAT_00b986e8.hpp new file mode 100644 index 0000000..44e549d --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00b986e8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00b986e8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00B986E8) FLOAT_00b986e8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00b986ec.hpp b/src/OpenSHC/Globals/FLOAT_00b986ec.hpp new file mode 100644 index 0000000..3a84d6d --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00b986ec.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00b986ec.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00B986EC) FLOAT_00b986ec; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00b986f8.hpp b/src/OpenSHC/Globals/FLOAT_00b986f8.hpp new file mode 100644 index 0000000..95c7a5a --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00b986f8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00b986f8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00B986F8) FLOAT_00b986f8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00b98704.hpp b/src/OpenSHC/Globals/FLOAT_00b98704.hpp new file mode 100644 index 0000000..c16b018 --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00b98704.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00b98704.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00B98704) FLOAT_00b98704; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00eb0e2c.hpp b/src/OpenSHC/Globals/FLOAT_00eb0e2c.hpp new file mode 100644 index 0000000..85dc2f3 --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00eb0e2c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00eb0e2c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00EB0E2C) FLOAT_00eb0e2c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00eb9b1c.hpp b/src/OpenSHC/Globals/FLOAT_00eb9b1c.hpp new file mode 100644 index 0000000..b8243da --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00eb9b1c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00eb9b1c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00EB9B1C) FLOAT_00eb9b1c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00eb9b24.hpp b/src/OpenSHC/Globals/FLOAT_00eb9b24.hpp new file mode 100644 index 0000000..fc2b7a3 --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00eb9b24.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00eb9b24.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00EB9B24) FLOAT_00eb9b24; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_00ec0834.hpp b/src/OpenSHC/Globals/FLOAT_00ec0834.hpp new file mode 100644 index 0000000..01e405a --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_00ec0834.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_00ec0834.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00EC0834) FLOAT_00ec0834; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_Between1And5.hpp b/src/OpenSHC/Globals/FLOAT_Between1And5.hpp new file mode 100644 index 0000000..12c760c --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_Between1And5.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_Between1And5.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00DF3394) FLOAT_Between1And5; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FLOAT_Between1and0dot2.hpp b/src/OpenSHC/Globals/FLOAT_Between1and0dot2.hpp new file mode 100644 index 0000000..b6d9a8b --- /dev/null +++ b/src/OpenSHC/Globals/FLOAT_Between1and0dot2.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FLOAT_Between1and0dot2.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(float, false, Address::SHC_3BB0A8C1_0x00DF33B8) FLOAT_Between1and0dot2; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/FilePackagerObj.hpp b/src/OpenSHC/Globals/FilePackagerObj.hpp new file mode 100644 index 0000000..5c1bbcb --- /dev/null +++ b/src/OpenSHC/Globals/FilePackagerObj.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/FilePackagerObj.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/FilePackager.hpp" +namespace OpenSHC { + +using OpenSHC::IO::FilePackager; + +MACRO_STRUCT_RESOLVER(FilePackager, false, Address::SHC_3BB0A8C1_0x00F2B3D0) FilePackagerObj; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GMTotalPicturesProcessed.hpp b/src/OpenSHC/Globals/GMTotalPicturesProcessed.hpp new file mode 100644 index 0000000..10fbe25 --- /dev/null +++ b/src/OpenSHC/Globals/GMTotalPicturesProcessed.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GMTotalPicturesProcessed.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[240], false, Address::SHC_3BB0A8C1_0x00D7CE90) GMTotalPicturesProcessed; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_CLSID_DirectPlay.hpp b/src/OpenSHC/Globals/GUID_CLSID_DirectPlay.hpp new file mode 100644 index 0000000..6ccae47 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_CLSID_DirectPlay.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_CLSID_DirectPlay.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E40) GUID_CLSID_DirectPlay; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_CLSID_DirectPlayLobby.hpp b/src/OpenSHC/Globals/GUID_CLSID_DirectPlayLobby.hpp new file mode 100644 index 0000000..fdf422c --- /dev/null +++ b/src/OpenSHC/Globals/GUID_CLSID_DirectPlayLobby.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_CLSID_DirectPlayLobby.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6EA0) GUID_CLSID_DirectPlayLobby; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPAID_INet.hpp b/src/OpenSHC/Globals/GUID_DPAID_INet.hpp new file mode 100644 index 0000000..3b16d08 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPAID_INet.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPAID_INet.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6EE0) GUID_DPAID_INet; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPAID_Modem.hpp b/src/OpenSHC/Globals/GUID_DPAID_Modem.hpp new file mode 100644 index 0000000..f2a96ea --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPAID_Modem.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPAID_Modem.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6ED0) GUID_DPAID_Modem; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPAID_Phone.hpp b/src/OpenSHC/Globals/GUID_DPAID_Phone.hpp new file mode 100644 index 0000000..8842bfc --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPAID_Phone.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPAID_Phone.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6EC0) GUID_DPAID_Phone; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPAID_ServiceProvider.hpp b/src/OpenSHC/Globals/GUID_DPAID_ServiceProvider.hpp new file mode 100644 index 0000000..64ea5f5 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPAID_ServiceProvider.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPAID_ServiceProvider.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6EB0) GUID_DPAID_ServiceProvider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPSPGUID_IPX.hpp b/src/OpenSHC/Globals/GUID_DPSPGUID_IPX.hpp new file mode 100644 index 0000000..6268338 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPSPGUID_IPX.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPSPGUID_IPX.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E50) GUID_DPSPGUID_IPX; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPSPGUID_MODEM.hpp b/src/OpenSHC/Globals/GUID_DPSPGUID_MODEM.hpp new file mode 100644 index 0000000..7e1509b --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPSPGUID_MODEM.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPSPGUID_MODEM.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E70) GUID_DPSPGUID_MODEM; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_DPSPGUID_TCPIP.hpp b/src/OpenSHC/Globals/GUID_DPSPGUID_TCPIP.hpp new file mode 100644 index 0000000..bdbeac7 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_DPSPGUID_TCPIP.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_DPSPGUID_TCPIP.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E60) GUID_DPSPGUID_TCPIP; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_IID_IDirectPlay4.hpp b/src/OpenSHC/Globals/GUID_IID_IDirectPlay4.hpp new file mode 100644 index 0000000..1aab66c --- /dev/null +++ b/src/OpenSHC/Globals/GUID_IID_IDirectPlay4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_IID_IDirectPlay4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E20) GUID_IID_IDirectPlay4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_IID_IDirectPlay4A.hpp b/src/OpenSHC/Globals/GUID_IID_IDirectPlay4A.hpp new file mode 100644 index 0000000..de63176 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_IID_IDirectPlay4A.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_IID_IDirectPlay4A.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E30) GUID_IID_IDirectPlay4A; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_IID_IDirectPlayLobby3.hpp b/src/OpenSHC/Globals/GUID_IID_IDirectPlayLobby3.hpp new file mode 100644 index 0000000..674a388 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_IID_IDirectPlayLobby3.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_IID_IDirectPlayLobby3.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E90) GUID_IID_IDirectPlayLobby3; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GUID_UNKNOWN.hpp b/src/OpenSHC/Globals/GUID_UNKNOWN.hpp new file mode 100644 index 0000000..1f49e87 --- /dev/null +++ b/src/OpenSHC/Globals/GUID_UNKNOWN.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GUID_UNKNOWN.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6EF0) GUID_UNKNOWN; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GamePausedTextDisplayElement.hpp b/src/OpenSHC/Globals/GamePausedTextDisplayElement.hpp new file mode 100644 index 0000000..2d916a9 --- /dev/null +++ b/src/OpenSHC/Globals/GamePausedTextDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GamePausedTextDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4770) GamePausedTextDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/GameSpeedTextDisplayElement.hpp b/src/OpenSHC/Globals/GameSpeedTextDisplayElement.hpp new file mode 100644 index 0000000..6b483c8 --- /dev/null +++ b/src/OpenSHC/Globals/GameSpeedTextDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/GameSpeedTextDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4C98) GameSpeedTextDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/HLP_WCHAR_Buffer.hpp b/src/OpenSHC/Globals/HLP_WCHAR_Buffer.hpp new file mode 100644 index 0000000..784b8ac --- /dev/null +++ b/src/OpenSHC/Globals/HLP_WCHAR_Buffer.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/HLP_WCHAR_Buffer.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(WCHAR[256], false, Address::SHC_3BB0A8C1_0x00DF2978) HLP_WCHAR_Buffer; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/IID_IDirectDraw7.hpp b/src/OpenSHC/Globals/IID_IDirectDraw7.hpp new file mode 100644 index 0000000..b0b8491 --- /dev/null +++ b/src/OpenSHC/Globals/IID_IDirectDraw7.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/IID_IDirectDraw7.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(GUID, false, Address::SHC_3BB0A8C1_0x005A6E80) IID_IDirectDraw7; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b95950.hpp b/src/OpenSHC/Globals/INT_00b95950.hpp new file mode 100644 index 0000000..e2d5465 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b95950.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b95950.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95950) INT_00b95950; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b95ab8.hpp b/src/OpenSHC/Globals/INT_00b95ab8.hpp new file mode 100644 index 0000000..586a8a8 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b95ab8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b95ab8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95AB8) INT_00b95ab8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b95abc.hpp b/src/OpenSHC/Globals/INT_00b95abc.hpp new file mode 100644 index 0000000..4f4fdd7 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b95abc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b95abc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95ABC) INT_00b95abc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b95b64.hpp b/src/OpenSHC/Globals/INT_00b95b64.hpp new file mode 100644 index 0000000..ea5f235 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b95b64.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b95b64.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95B64) INT_00b95b64; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b95f68.hpp b/src/OpenSHC/Globals/INT_00b95f68.hpp new file mode 100644 index 0000000..7e64deb --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b95f68.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b95f68.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95F68) INT_00b95f68; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b95f6c.hpp b/src/OpenSHC/Globals/INT_00b95f6c.hpp new file mode 100644 index 0000000..d364bcc --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b95f6c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b95f6c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B95F6C) INT_00b95f6c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b960b0.hpp b/src/OpenSHC/Globals/INT_00b960b0.hpp new file mode 100644 index 0000000..188b32d --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b960b0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b960b0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B960B0) INT_00b960b0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b960f0.hpp b/src/OpenSHC/Globals/INT_00b960f0.hpp new file mode 100644 index 0000000..573321b --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b960f0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b960f0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B960F0) INT_00b960f0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b96120.hpp b/src/OpenSHC/Globals/INT_00b96120.hpp new file mode 100644 index 0000000..fcb9bd0 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b96120.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b96120.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B96120) INT_00b96120; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b9844c.hpp b/src/OpenSHC/Globals/INT_00b9844c.hpp new file mode 100644 index 0000000..1d18c21 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b9844c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b9844c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B9844C) INT_00b9844c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b98484.hpp b/src/OpenSHC/Globals/INT_00b98484.hpp new file mode 100644 index 0000000..57fab2b --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b98484.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b98484.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B98484) INT_00b98484; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b98664.hpp b/src/OpenSHC/Globals/INT_00b98664.hpp new file mode 100644 index 0000000..587ec94 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b98664.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b98664.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B98664) INT_00b98664; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00b98698.hpp b/src/OpenSHC/Globals/INT_00b98698.hpp new file mode 100644 index 0000000..93ee7b2 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00b98698.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00b98698.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00B98698) INT_00b98698; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df2968.hpp b/src/OpenSHC/Globals/INT_00df2968.hpp new file mode 100644 index 0000000..b5959df --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df2968.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df2968.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF2968) INT_00df2968; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df2970.hpp b/src/OpenSHC/Globals/INT_00df2970.hpp new file mode 100644 index 0000000..23a3a12 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df2970.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df2970.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF2970) INT_00df2970; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df335c.hpp b/src/OpenSHC/Globals/INT_00df335c.hpp new file mode 100644 index 0000000..f42f121 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df335c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df335c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF335C) INT_00df335c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df3368.hpp b/src/OpenSHC/Globals/INT_00df3368.hpp new file mode 100644 index 0000000..501f779 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df3368.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df3368.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF3368) INT_00df3368; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df5574.hpp b/src/OpenSHC/Globals/INT_00df5574.hpp new file mode 100644 index 0000000..702eb5c --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df5574.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df5574.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF5574) INT_00df5574; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df557c.hpp b/src/OpenSHC/Globals/INT_00df557c.hpp new file mode 100644 index 0000000..feb8f51 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df557c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df557c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF557C) INT_00df557c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df5580.hpp b/src/OpenSHC/Globals/INT_00df5580.hpp new file mode 100644 index 0000000..30286a9 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df5580.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df5580.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF5580) INT_00df5580; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00df5584.hpp b/src/OpenSHC/Globals/INT_00df5584.hpp new file mode 100644 index 0000000..2c43e90 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00df5584.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00df5584.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF5584) INT_00df5584; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb0e28.hpp b/src/OpenSHC/Globals/INT_00eb0e28.hpp new file mode 100644 index 0000000..9fd7387 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb0e28.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb0e28.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB0E28) INT_00eb0e28; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb0e30.hpp b/src/OpenSHC/Globals/INT_00eb0e30.hpp new file mode 100644 index 0000000..651d214 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb0e30.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb0e30.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB0E30) INT_00eb0e30; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb0e44.hpp b/src/OpenSHC/Globals/INT_00eb0e44.hpp new file mode 100644 index 0000000..704c1e5 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb0e44.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb0e44.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB0E44) INT_00eb0e44; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb1230.hpp b/src/OpenSHC/Globals/INT_00eb1230.hpp new file mode 100644 index 0000000..8e6b351 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb1230.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb1230.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB1230) INT_00eb1230; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb9ac0.hpp b/src/OpenSHC/Globals/INT_00eb9ac0.hpp new file mode 100644 index 0000000..2aee6e2 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb9ac0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb9ac0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9AC0) INT_00eb9ac0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb9ae8.hpp b/src/OpenSHC/Globals/INT_00eb9ae8.hpp new file mode 100644 index 0000000..dbdd7e8 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb9ae8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb9ae8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9AE8) INT_00eb9ae8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb9b20.hpp b/src/OpenSHC/Globals/INT_00eb9b20.hpp new file mode 100644 index 0000000..9524599 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb9b20.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb9b20.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9B20) INT_00eb9b20; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb9b44.hpp b/src/OpenSHC/Globals/INT_00eb9b44.hpp new file mode 100644 index 0000000..b479e5a --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb9b44.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb9b44.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9B44) INT_00eb9b44; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb9b48.hpp b/src/OpenSHC/Globals/INT_00eb9b48.hpp new file mode 100644 index 0000000..483a73f --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb9b48.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb9b48.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9B48) INT_00eb9b48; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00eb9b4c.hpp b/src/OpenSHC/Globals/INT_00eb9b4c.hpp new file mode 100644 index 0000000..5c7bb77 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00eb9b4c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00eb9b4c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EB9B4C) INT_00eb9b4c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ec02e8.hpp b/src/OpenSHC/Globals/INT_00ec02e8.hpp new file mode 100644 index 0000000..c5ea543 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ec02e8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ec02e8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EC02E8) INT_00ec02e8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ec0838.hpp b/src/OpenSHC/Globals/INT_00ec0838.hpp new file mode 100644 index 0000000..6f54da0 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ec0838.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ec0838.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EC0838) INT_00ec0838; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ec083c.hpp b/src/OpenSHC/Globals/INT_00ec083c.hpp new file mode 100644 index 0000000..d8f61ba --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ec083c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ec083c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EC083C) INT_00ec083c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed2778.hpp b/src/OpenSHC/Globals/INT_00ed2778.hpp new file mode 100644 index 0000000..07e8f8a --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed2778.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed2778.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED2778) INT_00ed2778; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed277c.hpp b/src/OpenSHC/Globals/INT_00ed277c.hpp new file mode 100644 index 0000000..1d288e0 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed277c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed277c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED277C) INT_00ed277c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed27a4.hpp b/src/OpenSHC/Globals/INT_00ed27a4.hpp new file mode 100644 index 0000000..aa9230e --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed27a4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed27a4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED27A4) INT_00ed27a4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed27b0.hpp b/src/OpenSHC/Globals/INT_00ed27b0.hpp new file mode 100644 index 0000000..c3099d4 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed27b0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed27b0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED27B0) INT_00ed27b0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed3068.hpp b/src/OpenSHC/Globals/INT_00ed3068.hpp new file mode 100644 index 0000000..63982bd --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed3068.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed3068.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED3068) INT_00ed3068; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed3114.hpp b/src/OpenSHC/Globals/INT_00ed3114.hpp new file mode 100644 index 0000000..3dac985 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed3114.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed3114.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED3114) INT_00ed3114; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed3144.hpp b/src/OpenSHC/Globals/INT_00ed3144.hpp new file mode 100644 index 0000000..ad3060a --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed3144.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed3144.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED3144) INT_00ed3144; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ed315c.hpp b/src/OpenSHC/Globals/INT_00ed315c.hpp new file mode 100644 index 0000000..8fd372a --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ed315c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ed315c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00ED315C) INT_00ed315c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee1038.hpp b/src/OpenSHC/Globals/INT_00ee1038.hpp new file mode 100644 index 0000000..97015a6 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee1038.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee1038.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE1038) INT_00ee1038; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2350.hpp b/src/OpenSHC/Globals/INT_00ee2350.hpp new file mode 100644 index 0000000..cbfe117 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2350.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2350.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2350) INT_00ee2350; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2358.hpp b/src/OpenSHC/Globals/INT_00ee2358.hpp new file mode 100644 index 0000000..e5264c9 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2358.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2358.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2358) INT_00ee2358; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee235c.hpp b/src/OpenSHC/Globals/INT_00ee235c.hpp new file mode 100644 index 0000000..9d54b4c --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee235c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee235c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE235C) INT_00ee235c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2360.hpp b/src/OpenSHC/Globals/INT_00ee2360.hpp new file mode 100644 index 0000000..112bade --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2360.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2360.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2360) INT_00ee2360; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee236c.hpp b/src/OpenSHC/Globals/INT_00ee236c.hpp new file mode 100644 index 0000000..5ef47dd --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee236c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee236c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE236C) INT_00ee236c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2370.hpp b/src/OpenSHC/Globals/INT_00ee2370.hpp new file mode 100644 index 0000000..8863f4e --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2370.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2370.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2370) INT_00ee2370; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2378.hpp b/src/OpenSHC/Globals/INT_00ee2378.hpp new file mode 100644 index 0000000..993fdd1 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2378.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2378.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2378) INT_00ee2378; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee237c.hpp b/src/OpenSHC/Globals/INT_00ee237c.hpp new file mode 100644 index 0000000..6cd507f --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee237c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee237c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE237C) INT_00ee237c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2384.hpp b/src/OpenSHC/Globals/INT_00ee2384.hpp new file mode 100644 index 0000000..ade477f --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2384.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2384.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2384) INT_00ee2384; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee2388.hpp b/src/OpenSHC/Globals/INT_00ee2388.hpp new file mode 100644 index 0000000..a6ee36f --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee2388.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee2388.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE2388) INT_00ee2388; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_00ee238c.hpp b/src/OpenSHC/Globals/INT_00ee238c.hpp new file mode 100644 index 0000000..3c49020 --- /dev/null +++ b/src/OpenSHC/Globals/INT_00ee238c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_00ee238c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE238C) INT_00ee238c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00df5598.hpp b/src/OpenSHC/Globals/INT_ARRAY_00df5598.hpp new file mode 100644 index 0000000..a116eb5 --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00df5598.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00df5598.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[32], false, Address::SHC_3BB0A8C1_0x00DF5598) INT_ARRAY_00df5598; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00eb0af0.hpp b/src/OpenSHC/Globals/INT_ARRAY_00eb0af0.hpp new file mode 100644 index 0000000..0bc30cb --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00eb0af0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00eb0af0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[9], false, Address::SHC_3BB0A8C1_0x00EB0AF0) INT_ARRAY_00eb0af0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00eb0b28.hpp b/src/OpenSHC/Globals/INT_ARRAY_00eb0b28.hpp new file mode 100644 index 0000000..27fba7f --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00eb0b28.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00eb0b28.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[48][4], false, Address::SHC_3BB0A8C1_0x00EB0B28) INT_ARRAY_00eb0b28; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00eb0e48.hpp b/src/OpenSHC/Globals/INT_ARRAY_00eb0e48.hpp new file mode 100644 index 0000000..315d380 --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00eb0e48.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00eb0e48.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[250], false, Address::SHC_3BB0A8C1_0x00EB0E48) INT_ARRAY_00eb0e48; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00eb1238.hpp b/src/OpenSHC/Globals/INT_ARRAY_00eb1238.hpp new file mode 100644 index 0000000..fc2d2d5 --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00eb1238.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00eb1238.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[40], false, Address::SHC_3BB0A8C1_0x00EB1238) INT_ARRAY_00eb1238; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00eb96d8.hpp b/src/OpenSHC/Globals/INT_ARRAY_00eb96d8.hpp new file mode 100644 index 0000000..f18e8a7 --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00eb96d8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00eb96d8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[250], false, Address::SHC_3BB0A8C1_0x00EB96D8) INT_ARRAY_00eb96d8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00eb9afc.hpp b/src/OpenSHC/Globals/INT_ARRAY_00eb9afc.hpp new file mode 100644 index 0000000..1aa8889 --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00eb9afc.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00eb9afc.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[4], false, Address::SHC_3BB0A8C1_0x00EB9AFC) INT_ARRAY_00eb9afc; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00ed2630.hpp b/src/OpenSHC/Globals/INT_ARRAY_00ed2630.hpp new file mode 100644 index 0000000..ab4b8da --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00ed2630.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00ed2630.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[40], false, Address::SHC_3BB0A8C1_0x00ED2630) INT_ARRAY_00ed2630; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00ed27f0.hpp b/src/OpenSHC/Globals/INT_ARRAY_00ed27f0.hpp new file mode 100644 index 0000000..0c3880f --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00ed27f0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00ed27f0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[250], false, Address::SHC_3BB0A8C1_0x00ED27F0) INT_ARRAY_00ed27f0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00ed2be0.hpp b/src/OpenSHC/Globals/INT_ARRAY_00ed2be0.hpp new file mode 100644 index 0000000..16fcffc --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00ed2be0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00ed2be0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[250], false, Address::SHC_3BB0A8C1_0x00ED2BE0) INT_ARRAY_00ed2be0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00ed2fc8.hpp b/src/OpenSHC/Globals/INT_ARRAY_00ed2fc8.hpp new file mode 100644 index 0000000..c6bfe5d --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00ed2fc8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00ed2fc8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[40], false, Address::SHC_3BB0A8C1_0x00ED2FC8) INT_ARRAY_00ed2fc8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_ARRAY_00ed3070.hpp b/src/OpenSHC/Globals/INT_ARRAY_00ed3070.hpp new file mode 100644 index 0000000..ecb095c --- /dev/null +++ b/src/OpenSHC/Globals/INT_ARRAY_00ed3070.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_ARRAY_00ed3070.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int[40], false, Address::SHC_3BB0A8C1_0x00ED3070) INT_ARRAY_00ed3070; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_DisableTutorialRestrictions.hpp b/src/OpenSHC/Globals/INT_DisableTutorialRestrictions.hpp new file mode 100644 index 0000000..df3b89e --- /dev/null +++ b/src/OpenSHC/Globals/INT_DisableTutorialRestrictions.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_DisableTutorialRestrictions.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF554C) INT_DisableTutorialRestrictions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/INT_GameLoopTimeDataIndex.hpp b/src/OpenSHC/Globals/INT_GameLoopTimeDataIndex.hpp new file mode 100644 index 0000000..03851f3 --- /dev/null +++ b/src/OpenSHC/Globals/INT_GameLoopTimeDataIndex.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/INT_GameLoopTimeDataIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF5528) INT_GameLoopTimeDataIndex; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/InGameChatDisplayElement.hpp b/src/OpenSHC/Globals/InGameChatDisplayElement.hpp new file mode 100644 index 0000000..35a1625 --- /dev/null +++ b/src/OpenSHC/Globals/InGameChatDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/InGameChatDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4574) InGameChatDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/InGameStartingGoodsCounterDisplayElement.hpp b/src/OpenSHC/Globals/InGameStartingGoodsCounterDisplayElement.hpp new file mode 100644 index 0000000..4eb390f --- /dev/null +++ b/src/OpenSHC/Globals/InGameStartingGoodsCounterDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/InGameStartingGoodsCounterDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4E98) InGameStartingGoodsCounterDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/InGameWinDefeatWindowDisplayElement.hpp b/src/OpenSHC/Globals/InGameWinDefeatWindowDisplayElement.hpp new file mode 100644 index 0000000..57ae58b --- /dev/null +++ b/src/OpenSHC/Globals/InGameWinDefeatWindowDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/InGameWinDefeatWindowDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4308) InGameWinDefeatWindowDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/KeepAndGranaryPlacementInfoDisplayElement.hpp b/src/OpenSHC/Globals/KeepAndGranaryPlacementInfoDisplayElement.hpp new file mode 100644 index 0000000..9488930 --- /dev/null +++ b/src/OpenSHC/Globals/KeepAndGranaryPlacementInfoDisplayElement.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/KeepAndGranaryPlacementInfoDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4488) +KeepAndGranaryPlacementInfoDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/LIB_00df37e0.hpp b/src/OpenSHC/Globals/LIB_00df37e0.hpp new file mode 100644 index 0000000..c2ade2c --- /dev/null +++ b/src/OpenSHC/Globals/LIB_00df37e0.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/LIB_00df37e0.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF37E0) LIB_00df37e0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/LIB_00df37e4.hpp b/src/OpenSHC/Globals/LIB_00df37e4.hpp new file mode 100644 index 0000000..7be9a86 --- /dev/null +++ b/src/OpenSHC/Globals/LIB_00df37e4.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/LIB_00df37e4.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF37E4) LIB_00df37e4; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/LIB_00df37e8.hpp b/src/OpenSHC/Globals/LIB_00df37e8.hpp new file mode 100644 index 0000000..987b280 --- /dev/null +++ b/src/OpenSHC/Globals/LIB_00df37e8.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/LIB_00df37e8.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF37E8) LIB_00df37e8; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/LIB_00df37ec.hpp b/src/OpenSHC/Globals/LIB_00df37ec.hpp new file mode 100644 index 0000000..5ab083b --- /dev/null +++ b/src/OpenSHC/Globals/LIB_00df37ec.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/LIB_00df37ec.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF37EC) LIB_00df37ec; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MSVC_SecurityCookie.hpp b/src/OpenSHC/Globals/MSVC_SecurityCookie.hpp new file mode 100644 index 0000000..0129371 --- /dev/null +++ b/src/OpenSHC/Globals/MSVC_SecurityCookie.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MSVC_SecurityCookie.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B94220) MSVC_SecurityCookie; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MSVC_SecurityCookie_Inverse.hpp b/src/OpenSHC/Globals/MSVC_SecurityCookie_Inverse.hpp new file mode 100644 index 0000000..02d7c90 --- /dev/null +++ b/src/OpenSHC/Globals/MSVC_SecurityCookie_Inverse.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MSVC_SecurityCookie_Inverse.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00B94224) MSVC_SecurityCookie_Inverse; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModa_TacticalPowerBar.hpp b/src/OpenSHC/Globals/MenuModa_TacticalPowerBar.hpp new file mode 100644 index 0000000..c1089e1 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModa_TacticalPowerBar.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModa_TacticalPowerBar.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF5108) MenuModa_TacticalPowerBar; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_Allies.hpp b/src/OpenSHC/Globals/MenuModal_Allies.hpp new file mode 100644 index 0000000..15c4dc5 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_Allies.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_Allies.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF501C) MenuModal_Allies; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_AlliesOrder.hpp b/src/OpenSHC/Globals/MenuModal_AlliesOrder.hpp new file mode 100644 index 0000000..03e9eb0 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_AlliesOrder.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_AlliesOrder.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF432C) MenuModal_AlliesOrder; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_AlliesRequestGoods.hpp b/src/OpenSHC/Globals/MenuModal_AlliesRequestGoods.hpp new file mode 100644 index 0000000..e368cc3 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_AlliesRequestGoods.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_AlliesRequestGoods.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF46F8) MenuModal_AlliesRequestGoods; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_AlliesSendGoods.hpp b/src/OpenSHC/Globals/MenuModal_AlliesSendGoods.hpp new file mode 100644 index 0000000..576b4d7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_AlliesSendGoods.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_AlliesSendGoods.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF491C) MenuModal_AlliesSendGoods; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_BasicAiLordSelect.hpp b/src/OpenSHC/Globals/MenuModal_BasicAiLordSelect.hpp new file mode 100644 index 0000000..a5043a0 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_BasicAiLordSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_BasicAiLordSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4794) MenuModal_BasicAiLordSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_BuildingAvailability.hpp b/src/OpenSHC/Globals/MenuModal_BuildingAvailability.hpp new file mode 100644 index 0000000..9ef335d --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_BuildingAvailability.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_BuildingAvailability.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF5094) MenuModal_BuildingAvailability; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_BuildingHelpText.hpp b/src/OpenSHC/Globals/MenuModal_BuildingHelpText.hpp new file mode 100644 index 0000000..42917b7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_BuildingHelpText.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_BuildingHelpText.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF45E4) MenuModal_BuildingHelpText; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_Chat.hpp b/src/OpenSHC/Globals/MenuModal_Chat.hpp new file mode 100644 index 0000000..aec104e --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_Chat.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_Chat.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF506C) MenuModal_Chat; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_ChooseNetworkServiceProvider.hpp b/src/OpenSHC/Globals/MenuModal_ChooseNetworkServiceProvider.hpp new file mode 100644 index 0000000..a96d856 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_ChooseNetworkServiceProvider.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_ChooseNetworkServiceProvider.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4680) MenuModal_ChooseNetworkServiceProvider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_ChooseRandomNumberOfEnemies.hpp b/src/OpenSHC/Globals/MenuModal_ChooseRandomNumberOfEnemies.hpp new file mode 100644 index 0000000..b33f158 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_ChooseRandomNumberOfEnemies.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_ChooseRandomNumberOfEnemies.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4A08) MenuModal_ChooseRandomNumberOfEnemies; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_CreditsScroll.hpp b/src/OpenSHC/Globals/MenuModal_CreditsScroll.hpp new file mode 100644 index 0000000..611c996 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_CreditsScroll.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_CreditsScroll.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4658) MenuModal_CreditsScroll; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataAiInfo.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataAiInfo.hpp new file mode 100644 index 0000000..5bdfd50 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataAiInfo.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataAiInfo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4D30) MenuModal_DebugDataAiInfo; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataAivStateUnk.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataAivStateUnk.hpp new file mode 100644 index 0000000..aef68eb --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataAivStateUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataAivStateUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4990) MenuModal_DebugDataAivStateUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataCurrentPlayerData.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataCurrentPlayerData.hpp new file mode 100644 index 0000000..78aefc9 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataCurrentPlayerData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataCurrentPlayerData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF43E8) MenuModal_DebugDataCurrentPlayerData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataMapData.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataMapData.hpp new file mode 100644 index 0000000..c90bf3a --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataMapData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataMapData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4C00) MenuModal_DebugDataMapData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataMousePointing.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataMousePointing.hpp new file mode 100644 index 0000000..fdf635f --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataMousePointing.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataMousePointing.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4DF8) MenuModal_DebugDataMousePointing; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataNetwork.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataNetwork.hpp new file mode 100644 index 0000000..17fa65d --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataNetwork.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataNetwork.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF49B8) MenuModal_DebugDataNetwork; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataSplitInfo.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataSplitInfo.hpp new file mode 100644 index 0000000..357719f --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataSplitInfo.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataSplitInfo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4A54) MenuModal_DebugDataSplitInfo; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataUnitData.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataUnitData.hpp new file mode 100644 index 0000000..e176312 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataUnitData.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataUnitData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4830) MenuModal_DebugDataUnitData; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DebugDataZoneDataUnk.hpp b/src/OpenSHC/Globals/MenuModal_DebugDataZoneDataUnk.hpp new file mode 100644 index 0000000..d7147f3 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DebugDataZoneDataUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DebugDataZoneDataUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4858) MenuModal_DebugDataZoneDataUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DeleteGameRecord.hpp b/src/OpenSHC/Globals/MenuModal_DeleteGameRecord.hpp new file mode 100644 index 0000000..01d557e --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DeleteGameRecord.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DeleteGameRecord.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF42E0) MenuModal_DeleteGameRecord; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DisableArabTroops.hpp b/src/OpenSHC/Globals/MenuModal_DisableArabTroops.hpp new file mode 100644 index 0000000..e2a7cda --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DisableArabTroops.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DisableArabTroops.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4748) MenuModal_DisableArabTroops; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DisableEuroTroops.hpp b/src/OpenSHC/Globals/MenuModal_DisableEuroTroops.hpp new file mode 100644 index 0000000..f1990ce --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DisableEuroTroops.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DisableEuroTroops.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4D58) MenuModal_DisableEuroTroops; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DisableWeapon.hpp b/src/OpenSHC/Globals/MenuModal_DisableWeapon.hpp new file mode 100644 index 0000000..30343e3 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DisableWeapon.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DisableWeapon.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4DD0) MenuModal_DisableWeapon; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DisplayAiLordMessage.hpp b/src/OpenSHC/Globals/MenuModal_DisplayAiLordMessage.hpp new file mode 100644 index 0000000..a99cfc6 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DisplayAiLordMessage.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DisplayAiLordMessage.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4E20) MenuModal_DisplayAiLordMessage; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_DisplayScenarioHelpText.hpp b/src/OpenSHC/Globals/MenuModal_DisplayScenarioHelpText.hpp new file mode 100644 index 0000000..1251e1f --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_DisplayScenarioHelpText.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_DisplayScenarioHelpText.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4E48) MenuModal_DisplayScenarioHelpText; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_EditorMapTypeQuickChange.hpp b/src/OpenSHC/Globals/MenuModal_EditorMapTypeQuickChange.hpp new file mode 100644 index 0000000..bf0bf26 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_EditorMapTypeQuickChange.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_EditorMapTypeQuickChange.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4AC8) MenuModal_EditorMapTypeQuickChange; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_EnterTitleOnGameStart.hpp b/src/OpenSHC/Globals/MenuModal_EnterTitleOnGameStart.hpp new file mode 100644 index 0000000..3d689c2 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_EnterTitleOnGameStart.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_EnterTitleOnGameStart.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF454C) MenuModal_EnterTitleOnGameStart; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_ExtendedAiLordSelect.hpp b/src/OpenSHC/Globals/MenuModal_ExtendedAiLordSelect.hpp new file mode 100644 index 0000000..101f628 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_ExtendedAiLordSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_ExtendedAiLordSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF46D0) MenuModal_ExtendedAiLordSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_FindingNetworkSessions.hpp b/src/OpenSHC/Globals/MenuModal_FindingNetworkSessions.hpp new file mode 100644 index 0000000..785df4e --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_FindingNetworkSessions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_FindingNetworkSessions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4EBC) MenuModal_FindingNetworkSessions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_GameplayOptions.hpp b/src/OpenSHC/Globals/MenuModal_GameplayOptions.hpp new file mode 100644 index 0000000..dcc3ea7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_GameplayOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_GameplayOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF5044) MenuModal_GameplayOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_GreatestLord.hpp b/src/OpenSHC/Globals/MenuModal_GreatestLord.hpp new file mode 100644 index 0000000..2687283 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_GreatestLord.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_GreatestLord.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4AF0) MenuModal_GreatestLord; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_IdentityOptions.hpp b/src/OpenSHC/Globals/MenuModal_IdentityOptions.hpp new file mode 100644 index 0000000..ce4e353 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_IdentityOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_IdentityOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4630) MenuModal_IdentityOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_InGameHelpText.hpp b/src/OpenSHC/Globals/MenuModal_InGameHelpText.hpp new file mode 100644 index 0000000..32c465a --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_InGameHelpText.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_InGameHelpText.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4410) MenuModal_InGameHelpText; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_LoadMap.hpp b/src/OpenSHC/Globals/MenuModal_LoadMap.hpp new file mode 100644 index 0000000..06b5792 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_LoadMap.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_LoadMap.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4B60) MenuModal_LoadMap; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_MainMenuOptions.hpp b/src/OpenSHC/Globals/MenuModal_MainMenuOptions.hpp new file mode 100644 index 0000000..57304c3 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_MainMenuOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_MainMenuOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF47BC) MenuModal_MainMenuOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_MapDescriptionEditor.hpp b/src/OpenSHC/Globals/MenuModal_MapDescriptionEditor.hpp new file mode 100644 index 0000000..cda2448 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_MapDescriptionEditor.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_MapDescriptionEditor.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF44FC) MenuModal_MapDescriptionEditor; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_NetworkOptions.hpp b/src/OpenSHC/Globals/MenuModal_NetworkOptions.hpp new file mode 100644 index 0000000..b098256 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_NetworkOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_NetworkOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4C4C) MenuModal_NetworkOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_NewEvent.hpp b/src/OpenSHC/Globals/MenuModal_NewEvent.hpp new file mode 100644 index 0000000..516fc11 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_NewEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_NewEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4354) MenuModal_NewEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_NewEventAction.hpp b/src/OpenSHC/Globals/MenuModal_NewEventAction.hpp new file mode 100644 index 0000000..ee2a231 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_NewEventAction.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_NewEventAction.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF44D4) MenuModal_NewEventAction; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_NewEventCondition.hpp b/src/OpenSHC/Globals/MenuModal_NewEventCondition.hpp new file mode 100644 index 0000000..87a28a5 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_NewEventCondition.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_NewEventCondition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4F08) MenuModal_NewEventCondition; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_NewInvasion.hpp b/src/OpenSHC/Globals/MenuModal_NewInvasion.hpp new file mode 100644 index 0000000..d12d486 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_NewInvasion.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_NewInvasion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF42B8) MenuModal_NewInvasion; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_OnlineQuitGame.hpp b/src/OpenSHC/Globals/MenuModal_OnlineQuitGame.hpp new file mode 100644 index 0000000..6678138 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_OnlineQuitGame.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_OnlineQuitGame.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF45BC) MenuModal_OnlineQuitGame; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_OnlineVoteQuitGame.hpp b/src/OpenSHC/Globals/MenuModal_OnlineVoteQuitGame.hpp new file mode 100644 index 0000000..b986058 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_OnlineVoteQuitGame.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_OnlineVoteQuitGame.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4FCC) MenuModal_OnlineVoteQuitGame; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_OverlaySlider.hpp b/src/OpenSHC/Globals/MenuModal_OverlaySlider.hpp new file mode 100644 index 0000000..9d0f94f --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_OverlaySlider.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_OverlaySlider.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4880) MenuModal_OverlaySlider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_PauseMenu.hpp b/src/OpenSHC/Globals/MenuModal_PauseMenu.hpp new file mode 100644 index 0000000..6ad38c7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_PauseMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_PauseMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF51C8) MenuModal_PauseMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_PauseMenuOptions.hpp b/src/OpenSHC/Globals/MenuModal_PauseMenuOptions.hpp new file mode 100644 index 0000000..3eb3983 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_PauseMenuOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_PauseMenuOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF48CC) MenuModal_PauseMenuOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_ProgressBarBox.hpp b/src/OpenSHC/Globals/MenuModal_ProgressBarBox.hpp new file mode 100644 index 0000000..9c7b505 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_ProgressBarBox.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_ProgressBarBox.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4D08) MenuModal_ProgressBarBox; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_QuitDialog.hpp b/src/OpenSHC/Globals/MenuModal_QuitDialog.hpp new file mode 100644 index 0000000..5f04d91 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_QuitDialog.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_QuitDialog.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4FF4) MenuModal_QuitDialog; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_ReceiveMapFrom.hpp b/src/OpenSHC/Globals/MenuModal_ReceiveMapFrom.hpp new file mode 100644 index 0000000..03c970d --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_ReceiveMapFrom.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_ReceiveMapFrom.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4A7C) MenuModal_ReceiveMapFrom; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_Roundtable.hpp b/src/OpenSHC/Globals/MenuModal_Roundtable.hpp new file mode 100644 index 0000000..6677533 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_Roundtable.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_Roundtable.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4968) MenuModal_Roundtable; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_SaveMap.hpp b/src/OpenSHC/Globals/MenuModal_SaveMap.hpp new file mode 100644 index 0000000..9c74545 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_SaveMap.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_SaveMap.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4BB0) MenuModal_SaveMap; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_SendMapTo.hpp b/src/OpenSHC/Globals/MenuModal_SendMapTo.hpp new file mode 100644 index 0000000..40106a5 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_SendMapTo.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_SendMapTo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4E70) MenuModal_SendMapTo; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_SkirmishConnectionOptions.hpp b/src/OpenSHC/Globals/MenuModal_SkirmishConnectionOptions.hpp new file mode 100644 index 0000000..3e1b145 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_SkirmishConnectionOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_SkirmishConnectionOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4CE0) MenuModal_SkirmishConnectionOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_SkirmishPlayOptions.hpp b/src/OpenSHC/Globals/MenuModal_SkirmishPlayOptions.hpp new file mode 100644 index 0000000..1410c3d --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_SkirmishPlayOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_SkirmishPlayOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF47E4) MenuModal_SkirmishPlayOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_SoundOptions.hpp b/src/OpenSHC/Globals/MenuModal_SoundOptions.hpp new file mode 100644 index 0000000..9d14887 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_SoundOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_SoundOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4F80) MenuModal_SoundOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_StartGoods.hpp b/src/OpenSHC/Globals/MenuModal_StartGoods.hpp new file mode 100644 index 0000000..b890c79 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_StartGoods.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_StartGoods.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4524) MenuModal_StartGoods; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TraderSettings.hpp b/src/OpenSHC/Globals/MenuModal_TraderSettings.hpp new file mode 100644 index 0000000..dc603fa --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TraderSettings.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TraderSettings.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF48F4) MenuModal_TraderSettings; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TriggerEvent.hpp b/src/OpenSHC/Globals/MenuModal_TriggerEvent.hpp new file mode 100644 index 0000000..846c9a9 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TriggerEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TriggerEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4F30) MenuModal_TriggerEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TriggerEventOrInvasion.hpp b/src/OpenSHC/Globals/MenuModal_TriggerEventOrInvasion.hpp new file mode 100644 index 0000000..1ce6d3a --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TriggerEventOrInvasion.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TriggerEventOrInvasion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4B88) MenuModal_TriggerEventOrInvasion; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TriggerEventSlider.hpp b/src/OpenSHC/Globals/MenuModal_TriggerEventSlider.hpp new file mode 100644 index 0000000..f231dac --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TriggerEventSlider.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TriggerEventSlider.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4BD8) MenuModal_TriggerEventSlider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TriggerInvasion.hpp b/src/OpenSHC/Globals/MenuModal_TriggerInvasion.hpp new file mode 100644 index 0000000..fd08e9e --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TriggerInvasion.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TriggerInvasion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4720) MenuModal_TriggerInvasion; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TutorialBox.hpp b/src/OpenSHC/Globals/MenuModal_TutorialBox.hpp new file mode 100644 index 0000000..f7b68c3 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TutorialBox.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TutorialBox.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF44AC) MenuModal_TutorialBox; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_TutorialBoxWithLeave.hpp b/src/OpenSHC/Globals/MenuModal_TutorialBoxWithLeave.hpp new file mode 100644 index 0000000..5ca6a79 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_TutorialBoxWithLeave.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_TutorialBoxWithLeave.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF50BC) MenuModal_TutorialBoxWithLeave; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_UnusedChooseMessageBox.hpp b/src/OpenSHC/Globals/MenuModal_UnusedChooseMessageBox.hpp new file mode 100644 index 0000000..092ae0f --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_UnusedChooseMessageBox.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_UnusedChooseMessageBox.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4F58) MenuModal_UnusedChooseMessageBox; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_UnusedCreateMessageEvent.hpp b/src/OpenSHC/Globals/MenuModal_UnusedCreateMessageEvent.hpp new file mode 100644 index 0000000..9e6c589 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_UnusedCreateMessageEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_UnusedCreateMessageEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF5130) MenuModal_UnusedCreateMessageEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_UnusedCreateTimedMessageEvent.hpp b/src/OpenSHC/Globals/MenuModal_UnusedCreateTimedMessageEvent.hpp new file mode 100644 index 0000000..40544c2 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_UnusedCreateTimedMessageEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_UnusedCreateTimedMessageEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4D80) MenuModal_UnusedCreateTimedMessageEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_UnusedSetName.hpp b/src/OpenSHC/Globals/MenuModal_UnusedSetName.hpp new file mode 100644 index 0000000..13b5d0c --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_UnusedSetName.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_UnusedSetName.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4438) MenuModal_UnusedSetName; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_UnusedSiegeAttackingForceUnk.hpp b/src/OpenSHC/Globals/MenuModal_UnusedSiegeAttackingForceUnk.hpp new file mode 100644 index 0000000..cad2268 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_UnusedSiegeAttackingForceUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_UnusedSiegeAttackingForceUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4DA8) MenuModal_UnusedSiegeAttackingForceUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_UnusedWinCondition.hpp b/src/OpenSHC/Globals/MenuModal_UnusedWinCondition.hpp new file mode 100644 index 0000000..99de8d0 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_UnusedWinCondition.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_UnusedWinCondition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF51A0) MenuModal_UnusedWinCondition; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_VideoOptions.hpp b/src/OpenSHC/Globals/MenuModal_VideoOptions.hpp new file mode 100644 index 0000000..485eaff --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_VideoOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_VideoOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF46A8) MenuModal_VideoOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_WaitingForHost.hpp b/src/OpenSHC/Globals/MenuModal_WaitingForHost.hpp new file mode 100644 index 0000000..10b6ba2 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_WaitingForHost.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_WaitingForHost.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF4460) MenuModal_WaitingForHost; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuModal_YesNoDialog.hpp b/src/OpenSHC/Globals/MenuModal_YesNoDialog.hpp new file mode 100644 index 0000000..816b6a7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuModal_YesNoDialog.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuModal_YesNoDialog.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuModal; + +MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF49E0) MenuModal_YesNoDialog; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_BuildMenu.hpp b/src/OpenSHC/Globals/MenuView_BuildMenu.hpp new file mode 100644 index 0000000..0e13aad --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_BuildMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_BuildMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9772C) MenuView_BuildMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_BuildingAndStatusMenu.hpp b/src/OpenSHC/Globals/MenuView_BuildingAndStatusMenu.hpp new file mode 100644 index 0000000..101f1c8 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_BuildingAndStatusMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_BuildingAndStatusMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97F3C) MenuView_BuildingAndStatusMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_CampaignUnk.hpp b/src/OpenSHC/Globals/MenuView_CampaignUnk.hpp new file mode 100644 index 0000000..bb37791 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_CampaignUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_CampaignUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96EA4) MenuView_CampaignUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_Credits.hpp b/src/OpenSHC/Globals/MenuView_Credits.hpp new file mode 100644 index 0000000..1c7130a --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_Credits.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_Credits.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B974D4) MenuView_Credits; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_CrusadeEndscreen.hpp b/src/OpenSHC/Globals/MenuView_CrusadeEndscreen.hpp new file mode 100644 index 0000000..60991a2 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_CrusadeEndscreen.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_CrusadeEndscreen.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B983A4) MenuView_CrusadeEndscreen; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_CrusadeMap.hpp b/src/OpenSHC/Globals/MenuView_CrusadeMap.hpp new file mode 100644 index 0000000..f7ef0e1 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_CrusadeMap.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_CrusadeMap.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97D74) MenuView_CrusadeMap; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_CrusadeMissionIntro.hpp b/src/OpenSHC/Globals/MenuView_CrusadeMissionIntro.hpp new file mode 100644 index 0000000..295f078 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_CrusadeMissionIntro.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_CrusadeMissionIntro.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9814C) MenuView_CrusadeMissionIntro; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_CustomScenarios.hpp b/src/OpenSHC/Globals/MenuView_CustomScenarios.hpp new file mode 100644 index 0000000..88cdb76 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_CustomScenarios.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_CustomScenarios.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96994) MenuView_CustomScenarios; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_EditScenario.hpp b/src/OpenSHC/Globals/MenuView_EditScenario.hpp new file mode 100644 index 0000000..371f6f6 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_EditScenario.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_EditScenario.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B98044) MenuView_EditScenario; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_GameLost.hpp b/src/OpenSHC/Globals/MenuView_GameLost.hpp new file mode 100644 index 0000000..af5d81c --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_GameLost.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_GameLost.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96AFC) MenuView_GameLost; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_GameStartEnterName.hpp b/src/OpenSHC/Globals/MenuView_GameStartEnterName.hpp new file mode 100644 index 0000000..4831ac1 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_GameStartEnterName.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_GameStartEnterName.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97624) MenuView_GameStartEnterName; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_HistoricCampaignIntro.hpp b/src/OpenSHC/Globals/MenuView_HistoricCampaignIntro.hpp new file mode 100644 index 0000000..e0313c3 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_HistoricCampaignIntro.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_HistoricCampaignIntro.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96F04) MenuView_HistoricCampaignIntro; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_HistoricCampaignOutro.hpp b/src/OpenSHC/Globals/MenuView_HistoricCampaignOutro.hpp new file mode 100644 index 0000000..05b6a28 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_HistoricCampaignOutro.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_HistoricCampaignOutro.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97FE4) MenuView_HistoricCampaignOutro; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_HistoricCampaignSelect.hpp b/src/OpenSHC/Globals/MenuView_HistoricCampaignSelect.hpp new file mode 100644 index 0000000..72f58b8 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_HistoricCampaignSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_HistoricCampaignSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B971D4) MenuView_HistoricCampaignSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_HistoricMissionIntro.hpp b/src/OpenSHC/Globals/MenuView_HistoricMissionIntro.hpp new file mode 100644 index 0000000..36f97b4 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_HistoricMissionIntro.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_HistoricMissionIntro.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96634) MenuView_HistoricMissionIntro; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_HistoricMissionPicture.hpp b/src/OpenSHC/Globals/MenuView_HistoricMissionPicture.hpp new file mode 100644 index 0000000..e3962a8 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_HistoricMissionPicture.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_HistoricMissionPicture.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97DA4) MenuView_HistoricMissionPicture; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_HistoricMissionSelect.hpp b/src/OpenSHC/Globals/MenuView_HistoricMissionSelect.hpp new file mode 100644 index 0000000..6e882af --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_HistoricMissionSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_HistoricMissionSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96A0C) MenuView_HistoricMissionSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_IntroLogos.hpp b/src/OpenSHC/Globals/MenuView_IntroLogos.hpp new file mode 100644 index 0000000..22ee976 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_IntroLogos.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_IntroLogos.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96F64) MenuView_IntroLogos; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_IntroVideo.hpp b/src/OpenSHC/Globals/MenuView_IntroVideo.hpp new file mode 100644 index 0000000..8d3edad --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_IntroVideo.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_IntroVideo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97CCC) MenuView_IntroVideo; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_LobbyMenu.hpp b/src/OpenSHC/Globals/MenuView_LobbyMenu.hpp new file mode 100644 index 0000000..cf37d98 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_LobbyMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_LobbyMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B963C4) MenuView_LobbyMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_MainMenu.hpp b/src/OpenSHC/Globals/MenuView_MainMenu.hpp new file mode 100644 index 0000000..5993fd9 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_MainMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_MainMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9676C) MenuView_MainMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_MapEditorLandscaping.hpp b/src/OpenSHC/Globals/MenuView_MapEditorLandscaping.hpp new file mode 100644 index 0000000..0c15bb2 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_MapEditorLandscaping.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_MapEditorLandscaping.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9739C) MenuView_MapEditorLandscaping; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_MapEditorProperties.hpp b/src/OpenSHC/Globals/MenuView_MapEditorProperties.hpp new file mode 100644 index 0000000..e4df305 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_MapEditorProperties.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_MapEditorProperties.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B98134) MenuView_MapEditorProperties; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_MissionFinishedTransition.hpp b/src/OpenSHC/Globals/MenuView_MissionFinishedTransition.hpp new file mode 100644 index 0000000..d7c947a --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_MissionFinishedTransition.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_MissionFinishedTransition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B966F4) MenuView_MissionFinishedTransition; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_MpConnection.hpp b/src/OpenSHC/Globals/MenuView_MpConnection.hpp new file mode 100644 index 0000000..610e8db --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_MpConnection.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_MpConnection.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96B5C) MenuView_MpConnection; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_NewMapMapsize.hpp b/src/OpenSHC/Globals/MenuView_NewMapMapsize.hpp new file mode 100644 index 0000000..9cfca12 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_NewMapMapsize.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_NewMapMapsize.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B978C4) MenuView_NewMapMapsize; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_NewMapMaptype.hpp b/src/OpenSHC/Globals/MenuView_NewMapMaptype.hpp new file mode 100644 index 0000000..cdb4ea0 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_NewMapMaptype.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_NewMapMaptype.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B963AC) MenuView_NewMapMaptype; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_RankingGames.hpp b/src/OpenSHC/Globals/MenuView_RankingGames.hpp new file mode 100644 index 0000000..180db14 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_RankingGames.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_RankingGames.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9670C) MenuView_RankingGames; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_ScenarioDescription.hpp b/src/OpenSHC/Globals/MenuView_ScenarioDescription.hpp new file mode 100644 index 0000000..1ec625f --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_ScenarioDescription.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_ScenarioDescription.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9745C) MenuView_ScenarioDescription; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_SelectCrusade.hpp b/src/OpenSHC/Globals/MenuView_SelectCrusade.hpp new file mode 100644 index 0000000..65bbb72 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_SelectCrusade.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_SelectCrusade.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9712C) MenuView_SelectCrusade; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_SingleplayerMapChoice.hpp b/src/OpenSHC/Globals/MenuView_SingleplayerMapChoice.hpp new file mode 100644 index 0000000..e9409d7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_SingleplayerMapChoice.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_SingleplayerMapChoice.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B968EC) MenuView_SingleplayerMapChoice; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_Unknown21.hpp b/src/OpenSHC/Globals/MenuView_Unknown21.hpp new file mode 100644 index 0000000..99eaa1d --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_Unknown21.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_Unknown21.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B966DC) MenuView_Unknown21; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_Unknown26_CampaignRelatedUnk.hpp b/src/OpenSHC/Globals/MenuView_Unknown26_CampaignRelatedUnk.hpp new file mode 100644 index 0000000..25ad749 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_Unknown26_CampaignRelatedUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_Unknown26_CampaignRelatedUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97EDC) MenuView_Unknown26_CampaignRelatedUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_Unknown33.hpp b/src/OpenSHC/Globals/MenuView_Unknown33.hpp new file mode 100644 index 0000000..c96eb02 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_Unknown33.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_Unknown33.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96E2C) MenuView_Unknown33; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_Unknown49DoesNothingUnk.hpp b/src/OpenSHC/Globals/MenuView_Unknown49DoesNothingUnk.hpp new file mode 100644 index 0000000..0ece5e7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_Unknown49DoesNothingUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_Unknown49DoesNothingUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9760C) MenuView_Unknown49DoesNothingUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_Unknown61ReturnToSkrimishMenuUnk.hpp b/src/OpenSHC/Globals/MenuView_Unknown61ReturnToSkrimishMenuUnk.hpp new file mode 100644 index 0000000..7335761 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_Unknown61ReturnToSkrimishMenuUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_Unknown61ReturnToSkrimishMenuUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B964FC) MenuView_Unknown61ReturnToSkrimishMenuUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedChooseAvailableKeeps.hpp b/src/OpenSHC/Globals/MenuView_UnusedChooseAvailableKeeps.hpp new file mode 100644 index 0000000..4b9782b --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedChooseAvailableKeeps.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedChooseAvailableKeeps.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97A14) MenuView_UnusedChooseAvailableKeeps; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedChooseGameType.hpp b/src/OpenSHC/Globals/MenuView_UnusedChooseGameType.hpp new file mode 100644 index 0000000..1328044 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedChooseGameType.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedChooseGameType.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96DFC) MenuView_UnusedChooseGameType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedCreateSiege.hpp b/src/OpenSHC/Globals/MenuView_UnusedCreateSiege.hpp new file mode 100644 index 0000000..5a5a6e9 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedCreateSiege.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedCreateSiege.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97D8C) MenuView_UnusedCreateSiege; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedDemoBuyItScreen.hpp b/src/OpenSHC/Globals/MenuView_UnusedDemoBuyItScreen.hpp new file mode 100644 index 0000000..de1e33e --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedDemoBuyItScreen.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedDemoBuyItScreen.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B969F4) MenuView_UnusedDemoBuyItScreen; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedEconomicGametypeSelect.hpp b/src/OpenSHC/Globals/MenuView_UnusedEconomicGametypeSelect.hpp new file mode 100644 index 0000000..74d9605 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedEconomicGametypeSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedEconomicGametypeSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B979B4) MenuView_UnusedEconomicGametypeSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedEconomicMissionSelect.hpp b/src/OpenSHC/Globals/MenuView_UnusedEconomicMissionSelect.hpp new file mode 100644 index 0000000..418eeac --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedEconomicMissionSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedEconomicMissionSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B9778C) MenuView_UnusedEconomicMissionSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedExtremeAd.hpp b/src/OpenSHC/Globals/MenuView_UnusedExtremeAd.hpp new file mode 100644 index 0000000..d90bfa0 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedExtremeAd.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedExtremeAd.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96E44) MenuView_UnusedExtremeAd; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedHelpTextEditor.hpp b/src/OpenSHC/Globals/MenuView_UnusedHelpTextEditor.hpp new file mode 100644 index 0000000..5e51d5e --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedHelpTextEditor.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedHelpTextEditor.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97444) MenuView_UnusedHelpTextEditor; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedOldTitleMenu.hpp b/src/OpenSHC/Globals/MenuView_UnusedOldTitleMenu.hpp new file mode 100644 index 0000000..7b34d5e --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedOldTitleMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedOldTitleMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97714) MenuView_UnusedOldTitleMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedSelectRandomNumberOfEnemies.hpp b/src/OpenSHC/Globals/MenuView_UnusedSelectRandomNumberOfEnemies.hpp new file mode 100644 index 0000000..1309323 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedSelectRandomNumberOfEnemies.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedSelectRandomNumberOfEnemies.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B97A2C) MenuView_UnusedSelectRandomNumberOfEnemies; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MenuView_UnusedSomeMissionStartUnk.hpp b/src/OpenSHC/Globals/MenuView_UnusedSomeMissionStartUnk.hpp new file mode 100644 index 0000000..12c57e7 --- /dev/null +++ b/src/OpenSHC/Globals/MenuView_UnusedSomeMissionStartUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MenuView_UnusedSomeMissionStartUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { + +using OpenSHC::UI::MenuView; + +MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B96E14) MenuView_UnusedSomeMissionStartUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Allies.hpp b/src/OpenSHC/Globals/Menu_Allies.hpp new file mode 100644 index 0000000..eaff362 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Allies.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Allies.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96FC8) Menu_Allies; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_AlliesOrder.hpp b/src/OpenSHC/Globals/Menu_AlliesOrder.hpp new file mode 100644 index 0000000..499cde5 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_AlliesOrder.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_AlliesOrder.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97A48) Menu_AlliesOrder; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_AlliesRequestGoods.hpp b/src/OpenSHC/Globals/Menu_AlliesRequestGoods.hpp new file mode 100644 index 0000000..f1c2fef --- /dev/null +++ b/src/OpenSHC/Globals/Menu_AlliesRequestGoods.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_AlliesRequestGoods.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97358) Menu_AlliesRequestGoods; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_AlliesSendGoods.hpp b/src/OpenSHC/Globals/Menu_AlliesSendGoods.hpp new file mode 100644 index 0000000..8d2b274 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_AlliesSendGoods.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_AlliesSendGoods.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96200) Menu_AlliesSendGoods; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_BasicAiLordSelect.hpp b/src/OpenSHC/Globals/Menu_BasicAiLordSelect.hpp new file mode 100644 index 0000000..5f1e8b9 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_BasicAiLordSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_BasicAiLordSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97970) Menu_BasicAiLordSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_BuildMenu.hpp b/src/OpenSHC/Globals/Menu_BuildMenu.hpp new file mode 100644 index 0000000..2ccb3ad --- /dev/null +++ b/src/OpenSHC/Globals/Menu_BuildMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_BuildMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B964B8) Menu_BuildMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_BuildingAndStatusMenu.hpp b/src/OpenSHC/Globals/Menu_BuildingAndStatusMenu.hpp new file mode 100644 index 0000000..d7db42f --- /dev/null +++ b/src/OpenSHC/Globals/Menu_BuildingAndStatusMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_BuildingAndStatusMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96C98) Menu_BuildingAndStatusMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_BuildingAvailability.hpp b/src/OpenSHC/Globals/Menu_BuildingAvailability.hpp new file mode 100644 index 0000000..77d6cf7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_BuildingAvailability.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_BuildingAvailability.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97BF8) Menu_BuildingAvailability; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_BuildingHelpText.hpp b/src/OpenSHC/Globals/Menu_BuildingHelpText.hpp new file mode 100644 index 0000000..d7812a4 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_BuildingHelpText.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_BuildingHelpText.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96860) Menu_BuildingHelpText; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Chat.hpp b/src/OpenSHC/Globals/Menu_Chat.hpp new file mode 100644 index 0000000..6217173 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Chat.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Chat.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97838) Menu_Chat; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_ChooseNetworkServiceProvider.hpp b/src/OpenSHC/Globals/Menu_ChooseNetworkServiceProvider.hpp new file mode 100644 index 0000000..9270aeb --- /dev/null +++ b/src/OpenSHC/Globals/Menu_ChooseNetworkServiceProvider.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_ChooseNetworkServiceProvider.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B977F0) Menu_ChooseNetworkServiceProvider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_ChooseRandomNumberOfEnemies.hpp b/src/OpenSHC/Globals/Menu_ChooseRandomNumberOfEnemies.hpp new file mode 100644 index 0000000..6b25c76 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_ChooseRandomNumberOfEnemies.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_ChooseRandomNumberOfEnemies.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97E50) Menu_ChooseRandomNumberOfEnemies; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Credits.hpp b/src/OpenSHC/Globals/Menu_Credits.hpp new file mode 100644 index 0000000..2548440 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Credits.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Credits.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97B68) Menu_Credits; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_CrusadeEndscreen.hpp b/src/OpenSHC/Globals/Menu_CrusadeEndscreen.hpp new file mode 100644 index 0000000..a8e6463 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_CrusadeEndscreen.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_CrusadeEndscreen.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B975C8) Menu_CrusadeEndscreen; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_CrusadeMap.hpp b/src/OpenSHC/Globals/Menu_CrusadeMap.hpp new file mode 100644 index 0000000..cce1309 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_CrusadeMap.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_CrusadeMap.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B965A8) Menu_CrusadeMap; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_CrusadeMissionIntro.hpp b/src/OpenSHC/Globals/Menu_CrusadeMissionIntro.hpp new file mode 100644 index 0000000..39d4db5 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_CrusadeMissionIntro.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_CrusadeMissionIntro.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98240) Menu_CrusadeMissionIntro; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_CustomScenarios.hpp b/src/OpenSHC/Globals/Menu_CustomScenarios.hpp new file mode 100644 index 0000000..6b2ab9f --- /dev/null +++ b/src/OpenSHC/Globals/Menu_CustomScenarios.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_CustomScenarios.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97640) Menu_CustomScenarios; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DebugModals.hpp b/src/OpenSHC/Globals/Menu_DebugModals.hpp new file mode 100644 index 0000000..29ed9c0 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DebugModals.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DebugModals.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B974F0) Menu_DebugModals; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DeleteGameRecord.hpp b/src/OpenSHC/Globals/Menu_DeleteGameRecord.hpp new file mode 100644 index 0000000..aa280cb --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DeleteGameRecord.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DeleteGameRecord.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97748) Menu_DeleteGameRecord; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DisableArabTroops.hpp b/src/OpenSHC/Globals/Menu_DisableArabTroops.hpp new file mode 100644 index 0000000..ac1963c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DisableArabTroops.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DisableArabTroops.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97400) Menu_DisableArabTroops; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DisableEuroTroops.hpp b/src/OpenSHC/Globals/Menu_DisableEuroTroops.hpp new file mode 100644 index 0000000..e41ae2e --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DisableEuroTroops.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DisableEuroTroops.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98318) Menu_DisableEuroTroops; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DisableWeapon.hpp b/src/OpenSHC/Globals/Menu_DisableWeapon.hpp new file mode 100644 index 0000000..5921bdb --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DisableWeapon.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DisableWeapon.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96650) Menu_DisableWeapon; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DisplayAiLordMessage.hpp b/src/OpenSHC/Globals/Menu_DisplayAiLordMessage.hpp new file mode 100644 index 0000000..cd7424a --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DisplayAiLordMessage.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DisplayAiLordMessage.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96170) Menu_DisplayAiLordMessage; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_DisplayScenarioHelpText.hpp b/src/OpenSHC/Globals/Menu_DisplayScenarioHelpText.hpp new file mode 100644 index 0000000..93e1556 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_DisplayScenarioHelpText.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_DisplayScenarioHelpText.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98000) Menu_DisplayScenarioHelpText; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_EditScenario.hpp b/src/OpenSHC/Globals/Menu_EditScenario.hpp new file mode 100644 index 0000000..7906b2b --- /dev/null +++ b/src/OpenSHC/Globals/Menu_EditScenario.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_EditScenario.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B982D0) Menu_EditScenario; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_EditorMapTypeQuickChange.hpp b/src/OpenSHC/Globals/Menu_EditorMapTypeQuickChange.hpp new file mode 100644 index 0000000..f8b15d5 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_EditorMapTypeQuickChange.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_EditorMapTypeQuickChange.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97238) Menu_EditorMapTypeQuickChange; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Empty10.hpp b/src/OpenSHC/Globals/Menu_Empty10.hpp new file mode 100644 index 0000000..16f899c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Empty10.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Empty10.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98060) Menu_Empty10; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Empty11.hpp b/src/OpenSHC/Globals/Menu_Empty11.hpp new file mode 100644 index 0000000..3a12222 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Empty11.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Empty11.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97C40) Menu_Empty11; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_EnterTitleOnGameStart.hpp b/src/OpenSHC/Globals/Menu_EnterTitleOnGameStart.hpp new file mode 100644 index 0000000..437d0ca --- /dev/null +++ b/src/OpenSHC/Globals/Menu_EnterTitleOnGameStart.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_EnterTitleOnGameStart.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B962D8) Menu_EnterTitleOnGameStart; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_ExtendedAiLordSelect.hpp b/src/OpenSHC/Globals/Menu_ExtendedAiLordSelect.hpp new file mode 100644 index 0000000..ef6d19e --- /dev/null +++ b/src/OpenSHC/Globals/Menu_ExtendedAiLordSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_ExtendedAiLordSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96560) Menu_ExtendedAiLordSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_FindingNetworkSessions.hpp b/src/OpenSHC/Globals/Menu_FindingNetworkSessions.hpp new file mode 100644 index 0000000..c9dfc6d --- /dev/null +++ b/src/OpenSHC/Globals/Menu_FindingNetworkSessions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_FindingNetworkSessions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B983C0) Menu_FindingNetworkSessions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_GameLostUnk.hpp b/src/OpenSHC/Globals/Menu_GameLostUnk.hpp new file mode 100644 index 0000000..7b056f7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_GameLostUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_GameLostUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97190) Menu_GameLostUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_GameplayOptions.hpp b/src/OpenSHC/Globals/Menu_GameplayOptions.hpp new file mode 100644 index 0000000..c69377e --- /dev/null +++ b/src/OpenSHC/Globals/Menu_GameplayOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_GameplayOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96B18) Menu_GameplayOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_GreatestLord.hpp b/src/OpenSHC/Globals/Menu_GreatestLord.hpp new file mode 100644 index 0000000..b9b19f0 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_GreatestLord.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_GreatestLord.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B961B8) Menu_GreatestLord; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_HistoricCampaignIntroAndMissionPicture.hpp b/src/OpenSHC/Globals/Menu_HistoricCampaignIntroAndMissionPicture.hpp new file mode 100644 index 0000000..67bdf5d --- /dev/null +++ b/src/OpenSHC/Globals/Menu_HistoricCampaignIntroAndMissionPicture.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_HistoricCampaignIntroAndMissionPicture.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98360) Menu_HistoricCampaignIntroAndMissionPicture; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_HistoricCampaignOutroAndMissionIntro.hpp b/src/OpenSHC/Globals/Menu_HistoricCampaignOutroAndMissionIntro.hpp new file mode 100644 index 0000000..97ebe3b --- /dev/null +++ b/src/OpenSHC/Globals/Menu_HistoricCampaignOutroAndMissionIntro.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_HistoricCampaignOutroAndMissionIntro.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97310) Menu_HistoricCampaignOutroAndMissionIntro; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_HistoricCampaignSelect.hpp b/src/OpenSHC/Globals/Menu_HistoricCampaignSelect.hpp new file mode 100644 index 0000000..71fe8a1 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_HistoricCampaignSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_HistoricCampaignSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96A70) Menu_HistoricCampaignSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_HistoricMissionSelect.hpp b/src/OpenSHC/Globals/Menu_HistoricMissionSelect.hpp new file mode 100644 index 0000000..f96ad1d --- /dev/null +++ b/src/OpenSHC/Globals/Menu_HistoricMissionSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_HistoricMissionSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96DB8) Menu_HistoricMissionSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_IdentityOptions.hpp b/src/OpenSHC/Globals/Menu_IdentityOptions.hpp new file mode 100644 index 0000000..76586ee --- /dev/null +++ b/src/OpenSHC/Globals/Menu_IdentityOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_IdentityOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96728) Menu_IdentityOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_InGameHelpText.hpp b/src/OpenSHC/Globals/Menu_InGameHelpText.hpp new file mode 100644 index 0000000..b1e8088 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_InGameHelpText.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_InGameHelpText.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B969B0) Menu_InGameHelpText; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_IntroLogos.hpp b/src/OpenSHC/Globals/Menu_IntroLogos.hpp new file mode 100644 index 0000000..b662ca0 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_IntroLogos.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_IntroLogos.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97E08) Menu_IntroLogos; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_IntroVideo.hpp b/src/OpenSHC/Globals/Menu_IntroVideo.hpp new file mode 100644 index 0000000..22c3214 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_IntroVideo.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_IntroVideo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96C50) Menu_IntroVideo; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_LoadMap.hpp b/src/OpenSHC/Globals/Menu_LoadMap.hpp new file mode 100644 index 0000000..3109d9f --- /dev/null +++ b/src/OpenSHC/Globals/Menu_LoadMap.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_LoadMap.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97688) Menu_LoadMap; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_LobbyMenu.hpp b/src/OpenSHC/Globals/Menu_LobbyMenu.hpp new file mode 100644 index 0000000..5372feb --- /dev/null +++ b/src/OpenSHC/Globals/Menu_LobbyMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_LobbyMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97478) Menu_LobbyMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_MainMenu.hpp b/src/OpenSHC/Globals/Menu_MainMenu.hpp new file mode 100644 index 0000000..5a9db35 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_MainMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_MainMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B965F0) Menu_MainMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_MainMenuOptions.hpp b/src/OpenSHC/Globals/Menu_MainMenuOptions.hpp new file mode 100644 index 0000000..2e58d4c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_MainMenuOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_MainMenuOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97DC0) Menu_MainMenuOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_MapDescriptionEditor.hpp b/src/OpenSHC/Globals/Menu_MapDescriptionEditor.hpp new file mode 100644 index 0000000..3dd07e7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_MapDescriptionEditor.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_MapDescriptionEditor.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96698) Menu_MapDescriptionEditor; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_MapEditorLandscaping.hpp b/src/OpenSHC/Globals/Menu_MapEditorLandscaping.hpp new file mode 100644 index 0000000..eaf4997 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_MapEditorLandscaping.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_MapEditorLandscaping.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96D70) Menu_MapEditorLandscaping; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_MapEditorProperties.hpp b/src/OpenSHC/Globals/Menu_MapEditorProperties.hpp new file mode 100644 index 0000000..313cbcf --- /dev/null +++ b/src/OpenSHC/Globals/Menu_MapEditorProperties.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_MapEditorProperties.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97148) Menu_MapEditorProperties; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_MissionFinishedTransition.hpp b/src/OpenSHC/Globals/Menu_MissionFinishedTransition.hpp new file mode 100644 index 0000000..86909f2 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_MissionFinishedTransition.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_MissionFinishedTransition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96320) Menu_MissionFinishedTransition; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NetworkOptions.hpp b/src/OpenSHC/Globals/Menu_NetworkOptions.hpp new file mode 100644 index 0000000..cf70029 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NetworkOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NetworkOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97E98) Menu_NetworkOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NewEvent.hpp b/src/OpenSHC/Globals/Menu_NewEvent.hpp new file mode 100644 index 0000000..3e77e26 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NewEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NewEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97928) Menu_NewEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NewEventAction.hpp b/src/OpenSHC/Globals/Menu_NewEventAction.hpp new file mode 100644 index 0000000..67307c1 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NewEventAction.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NewEventAction.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B972C8) Menu_NewEventAction; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NewEventCondition.hpp b/src/OpenSHC/Globals/Menu_NewEventCondition.hpp new file mode 100644 index 0000000..f744779 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NewEventCondition.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NewEventCondition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96B78) Menu_NewEventCondition; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NewInvasion.hpp b/src/OpenSHC/Globals/Menu_NewInvasion.hpp new file mode 100644 index 0000000..8bc4f22 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NewInvasion.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NewInvasion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96368) Menu_NewInvasion; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NewMapMapsize.hpp b/src/OpenSHC/Globals/Menu_NewMapMapsize.hpp new file mode 100644 index 0000000..e39c301 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NewMapMapsize.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NewMapMapsize.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97538) Menu_NewMapMapsize; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_NewMapMaptype.hpp b/src/OpenSHC/Globals/Menu_NewMapMaptype.hpp new file mode 100644 index 0000000..5a4acba --- /dev/null +++ b/src/OpenSHC/Globals/Menu_NewMapMaptype.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_NewMapMaptype.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97010) Menu_NewMapMaptype; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_OnlineQuitGame.hpp b/src/OpenSHC/Globals/Menu_OnlineQuitGame.hpp new file mode 100644 index 0000000..6e93499 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_OnlineQuitGame.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_OnlineQuitGame.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B970E8) Menu_OnlineQuitGame; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_OnlineVoteQuitGame.hpp b/src/OpenSHC/Globals/Menu_OnlineVoteQuitGame.hpp new file mode 100644 index 0000000..c2b3636 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_OnlineVoteQuitGame.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_OnlineVoteQuitGame.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97A90) Menu_OnlineVoteQuitGame; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_OverlaySlider.hpp b/src/OpenSHC/Globals/Menu_OverlaySlider.hpp new file mode 100644 index 0000000..38695bd --- /dev/null +++ b/src/OpenSHC/Globals/Menu_OverlaySlider.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_OverlaySlider.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98288) Menu_OverlaySlider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_PauseMenu.hpp b/src/OpenSHC/Globals/Menu_PauseMenu.hpp new file mode 100644 index 0000000..b67b048 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_PauseMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_PauseMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B971F0) Menu_PauseMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_PauseMenuOptions.hpp b/src/OpenSHC/Globals/Menu_PauseMenuOptions.hpp new file mode 100644 index 0000000..53ab3c1 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_PauseMenuOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_PauseMenuOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96A28) Menu_PauseMenuOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_ProgressBarBox.hpp b/src/OpenSHC/Globals/Menu_ProgressBarBox.hpp new file mode 100644 index 0000000..510c95d --- /dev/null +++ b/src/OpenSHC/Globals/Menu_ProgressBarBox.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_ProgressBarBox.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97EF8) Menu_ProgressBarBox; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_QuitDialog.hpp b/src/OpenSHC/Globals/Menu_QuitDialog.hpp new file mode 100644 index 0000000..9c101e4 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_QuitDialog.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_QuitDialog.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B976D0) Menu_QuitDialog; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_RankingGames.hpp b/src/OpenSHC/Globals/Menu_RankingGames.hpp new file mode 100644 index 0000000..70cd052 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_RankingGames.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_RankingGames.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B978E0) Menu_RankingGames; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_ReceiveMapFrom.hpp b/src/OpenSHC/Globals/Menu_ReceiveMapFrom.hpp new file mode 100644 index 0000000..8c67988 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_ReceiveMapFrom.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_ReceiveMapFrom.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B980F0) Menu_ReceiveMapFrom; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Roundtable.hpp b/src/OpenSHC/Globals/Menu_Roundtable.hpp new file mode 100644 index 0000000..6d80d4b --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Roundtable.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Roundtable.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97D30) Menu_Roundtable; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SaveMap.hpp b/src/OpenSHC/Globals/Menu_SaveMap.hpp new file mode 100644 index 0000000..73472e7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SaveMap.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SaveMap.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96290) Menu_SaveMap; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_ScenarioDescription.hpp b/src/OpenSHC/Globals/Menu_ScenarioDescription.hpp new file mode 100644 index 0000000..954468c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_ScenarioDescription.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_ScenarioDescription.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96428) Menu_ScenarioDescription; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SelectCrusade.hpp b/src/OpenSHC/Globals/Menu_SelectCrusade.hpp new file mode 100644 index 0000000..b4634c1 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SelectCrusade.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SelectCrusade.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96128) Menu_SelectCrusade; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SendMapTo.hpp b/src/OpenSHC/Globals/Menu_SendMapTo.hpp new file mode 100644 index 0000000..d493538 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SendMapTo.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SendMapTo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96818) Menu_SendMapTo; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SingleplayerMapChoice.hpp b/src/OpenSHC/Globals/Menu_SingleplayerMapChoice.hpp new file mode 100644 index 0000000..54ba71c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SingleplayerMapChoice.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SingleplayerMapChoice.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96CE0) Menu_SingleplayerMapChoice; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SkirmishConnectionOptions.hpp b/src/OpenSHC/Globals/Menu_SkirmishConnectionOptions.hpp new file mode 100644 index 0000000..e654c72 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SkirmishConnectionOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SkirmishConnectionOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B968A8) Menu_SkirmishConnectionOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SkirmishPlayOptions.hpp b/src/OpenSHC/Globals/Menu_SkirmishPlayOptions.hpp new file mode 100644 index 0000000..6304997 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SkirmishPlayOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SkirmishPlayOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B967D0) Menu_SkirmishPlayOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_SoundOptions.hpp b/src/OpenSHC/Globals/Menu_SoundOptions.hpp new file mode 100644 index 0000000..67212b4 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_SoundOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_SoundOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96D28) Menu_SoundOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_StartEnterName.hpp b/src/OpenSHC/Globals/Menu_StartEnterName.hpp new file mode 100644 index 0000000..a393cfa --- /dev/null +++ b/src/OpenSHC/Globals/Menu_StartEnterName.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_StartEnterName.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B979D0) Menu_StartEnterName; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_StartGoods.hpp b/src/OpenSHC/Globals/Menu_StartGoods.hpp new file mode 100644 index 0000000..fd28ea5 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_StartGoods.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_StartGoods.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96950) Menu_StartGoods; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TacticalPowerBar.hpp b/src/OpenSHC/Globals/Menu_TacticalPowerBar.hpp new file mode 100644 index 0000000..8f31b12 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TacticalPowerBar.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TacticalPowerBar.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B973B8) Menu_TacticalPowerBar; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TraderSettings.hpp b/src/OpenSHC/Globals/Menu_TraderSettings.hpp new file mode 100644 index 0000000..46b87e7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TraderSettings.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TraderSettings.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96E60) Menu_TraderSettings; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TriggerEvent.hpp b/src/OpenSHC/Globals/Menu_TriggerEvent.hpp new file mode 100644 index 0000000..98abd6c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TriggerEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TriggerEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B963E0) Menu_TriggerEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TriggerEventOrInvasion.hpp b/src/OpenSHC/Globals/Menu_TriggerEventOrInvasion.hpp new file mode 100644 index 0000000..811a434 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TriggerEventOrInvasion.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TriggerEventOrInvasion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97FA0) Menu_TriggerEventOrInvasion; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TriggerEventSlider.hpp b/src/OpenSHC/Globals/Menu_TriggerEventSlider.hpp new file mode 100644 index 0000000..c289064 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TriggerEventSlider.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TriggerEventSlider.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96F20) Menu_TriggerEventSlider; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TriggerInvasion.hpp b/src/OpenSHC/Globals/Menu_TriggerInvasion.hpp new file mode 100644 index 0000000..fd36856 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TriggerInvasion.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TriggerInvasion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B970A0) Menu_TriggerInvasion; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TutorialBox.hpp b/src/OpenSHC/Globals/Menu_TutorialBox.hpp new file mode 100644 index 0000000..eafe0e2 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TutorialBox.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TutorialBox.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97BB0) Menu_TutorialBox; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_TutorialBoxWithLeave.hpp b/src/OpenSHC/Globals/Menu_TutorialBoxWithLeave.hpp new file mode 100644 index 0000000..a7003a2 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_TutorialBoxWithLeave.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_TutorialBoxWithLeave.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97058) Menu_TutorialBoxWithLeave; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Unknown26CampaignRelatedUnk.hpp b/src/OpenSHC/Globals/Menu_Unknown26CampaignRelatedUnk.hpp new file mode 100644 index 0000000..7fba1b7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Unknown26CampaignRelatedUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Unknown26CampaignRelatedUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B981F8) Menu_Unknown26CampaignRelatedUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Unknown27CampaignUnk.hpp b/src/OpenSHC/Globals/Menu_Unknown27CampaignUnk.hpp new file mode 100644 index 0000000..af6ca62 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Unknown27CampaignUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Unknown27CampaignUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96BC0) Menu_Unknown27CampaignUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_Unknown_ManyThings.hpp b/src/OpenSHC/Globals/Menu_Unknown_ManyThings.hpp new file mode 100644 index 0000000..4a959f2 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_Unknown_ManyThings.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_Unknown_ManyThings.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B98168) Menu_Unknown_ManyThings; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedChooseAvailableKeeps.hpp b/src/OpenSHC/Globals/Menu_UnusedChooseAvailableKeeps.hpp new file mode 100644 index 0000000..956a6fd --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedChooseAvailableKeeps.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedChooseAvailableKeeps.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96908) Menu_UnusedChooseAvailableKeeps; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedChooseGameType.hpp b/src/OpenSHC/Globals/Menu_UnusedChooseGameType.hpp new file mode 100644 index 0000000..32fd208 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedChooseGameType.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedChooseGameType.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96518) Menu_UnusedChooseGameType; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedChooseMessageBox.hpp b/src/OpenSHC/Globals/Menu_UnusedChooseMessageBox.hpp new file mode 100644 index 0000000..fd6d33c --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedChooseMessageBox.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedChooseMessageBox.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96788) Menu_UnusedChooseMessageBox; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedCreateMessageEvent.hpp b/src/OpenSHC/Globals/Menu_UnusedCreateMessageEvent.hpp new file mode 100644 index 0000000..1e65d92 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedCreateMessageEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedCreateMessageEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97880) Menu_UnusedCreateMessageEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedCreateSiege.hpp b/src/OpenSHC/Globals/Menu_UnusedCreateSiege.hpp new file mode 100644 index 0000000..c6c618a --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedCreateSiege.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedCreateSiege.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97280) Menu_UnusedCreateSiege; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedCreateTimedMessageEvent.hpp b/src/OpenSHC/Globals/Menu_UnusedCreateTimedMessageEvent.hpp new file mode 100644 index 0000000..1885f08 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedCreateTimedMessageEvent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedCreateTimedMessageEvent.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96EC0) Menu_UnusedCreateTimedMessageEvent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedDemoBuyItScreen.hpp b/src/OpenSHC/Globals/Menu_UnusedDemoBuyItScreen.hpp new file mode 100644 index 0000000..c69440b --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedDemoBuyItScreen.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedDemoBuyItScreen.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97F58) Menu_UnusedDemoBuyItScreen; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedEconomicGametypeSelect.hpp b/src/OpenSHC/Globals/Menu_UnusedEconomicGametypeSelect.hpp new file mode 100644 index 0000000..41e42e5 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedEconomicGametypeSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedEconomicGametypeSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97580) Menu_UnusedEconomicGametypeSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedEconomicMissionSelect.hpp b/src/OpenSHC/Globals/Menu_UnusedEconomicMissionSelect.hpp new file mode 100644 index 0000000..b7c7891 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedEconomicMissionSelect.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedEconomicMissionSelect.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96248) Menu_UnusedEconomicMissionSelect; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedExtremeAd.hpp b/src/OpenSHC/Globals/Menu_UnusedExtremeAd.hpp new file mode 100644 index 0000000..8ea7ac7 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedExtremeAd.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedExtremeAd.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96F80) Menu_UnusedExtremeAd; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedHelpTextEditor.hpp b/src/OpenSHC/Globals/Menu_UnusedHelpTextEditor.hpp new file mode 100644 index 0000000..5d20b36 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedHelpTextEditor.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedHelpTextEditor.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B980A8) Menu_UnusedHelpTextEditor; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedOldTitleMenu.hpp b/src/OpenSHC/Globals/Menu_UnusedOldTitleMenu.hpp new file mode 100644 index 0000000..44d21a1 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedOldTitleMenu.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedOldTitleMenu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97B20) Menu_UnusedOldTitleMenu; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedSelectRandomNumberOfEnemies.hpp b/src/OpenSHC/Globals/Menu_UnusedSelectRandomNumberOfEnemies.hpp new file mode 100644 index 0000000..e2e9bd4 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedSelectRandomNumberOfEnemies.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedSelectRandomNumberOfEnemies.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96470) Menu_UnusedSelectRandomNumberOfEnemies; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedSetName.hpp b/src/OpenSHC/Globals/Menu_UnusedSetName.hpp new file mode 100644 index 0000000..55367fb --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedSetName.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedSetName.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B977A8) Menu_UnusedSetName; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedSiegeAttackingForceUnk.hpp b/src/OpenSHC/Globals/Menu_UnusedSiegeAttackingForceUnk.hpp new file mode 100644 index 0000000..86ac6bd --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedSiegeAttackingForceUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedSiegeAttackingForceUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96AB8) Menu_UnusedSiegeAttackingForceUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedSomeMissionStartUnk.hpp b/src/OpenSHC/Globals/Menu_UnusedSomeMissionStartUnk.hpp new file mode 100644 index 0000000..53b10d4 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedSomeMissionStartUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedSomeMissionStartUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B981B0) Menu_UnusedSomeMissionStartUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_UnusedWinCondition.hpp b/src/OpenSHC/Globals/Menu_UnusedWinCondition.hpp new file mode 100644 index 0000000..33adfee --- /dev/null +++ b/src/OpenSHC/Globals/Menu_UnusedWinCondition.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_UnusedWinCondition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B96C08) Menu_UnusedWinCondition; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_VideoOptions.hpp b/src/OpenSHC/Globals/Menu_VideoOptions.hpp new file mode 100644 index 0000000..4660413 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_VideoOptions.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_VideoOptions.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97CE8) Menu_VideoOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_WaitingForHost.hpp b/src/OpenSHC/Globals/Menu_WaitingForHost.hpp new file mode 100644 index 0000000..c2b0649 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_WaitingForHost.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_WaitingForHost.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97C88) Menu_WaitingForHost; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/Menu_YesNoDialog.hpp b/src/OpenSHC/Globals/Menu_YesNoDialog.hpp new file mode 100644 index 0000000..65b9373 --- /dev/null +++ b/src/OpenSHC/Globals/Menu_YesNoDialog.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/Menu_YesNoDialog.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { + +using OpenSHC::UI::Menu; + +MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B97AD8) Menu_YesNoDialog; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/MissionWinDefeatBannerDisplayElement.hpp b/src/OpenSHC/Globals/MissionWinDefeatBannerDisplayElement.hpp new file mode 100644 index 0000000..266c358 --- /dev/null +++ b/src/OpenSHC/Globals/MissionWinDefeatBannerDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/MissionWinDefeatBannerDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF460C) MissionWinDefeatBannerDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/NoRushDisplayElementUnk.hpp b/src/OpenSHC/Globals/NoRushDisplayElementUnk.hpp new file mode 100644 index 0000000..cffda27 --- /dev/null +++ b/src/OpenSHC/Globals/NoRushDisplayElementUnk.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/NoRushDisplayElementUnk.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF5158) NoRushDisplayElementUnk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/NoTreeGrowthTextDisplayElement.hpp b/src/OpenSHC/Globals/NoTreeGrowthTextDisplayElement.hpp new file mode 100644 index 0000000..acbb53b --- /dev/null +++ b/src/OpenSHC/Globals/NoTreeGrowthTextDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/NoTreeGrowthTextDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4B3C) NoTreeGrowthTextDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/PTR_ARRAY_Unknown_UnitGMHeights.hpp b/src/OpenSHC/Globals/PTR_ARRAY_Unknown_UnitGMHeights.hpp new file mode 100644 index 0000000..fd557c4 --- /dev/null +++ b/src/OpenSHC/Globals/PTR_ARRAY_Unknown_UnitGMHeights.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/PTR_ARRAY_Unknown_UnitGMHeights.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(pointer[32], false, Address::SHC_3BB0A8C1_0x00B98710) PTR_ARRAY_Unknown_UnitGMHeights; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/PTR_SetWindowLongAThunk.hpp b/src/OpenSHC/Globals/PTR_SetWindowLongAThunk.hpp new file mode 100644 index 0000000..345edc9 --- /dev/null +++ b/src/OpenSHC/Globals/PTR_SetWindowLongAThunk.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/PTR_SetWindowLongAThunk.hpp' +*/ + +#pragma once + +#include "winuser.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(SetWindowLongA*, false, Address::SHC_3BB0A8C1_0x00B95778) PTR_SetWindowLongAThunk; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/PeopleLeftToPlaceDisplayElement.hpp b/src/OpenSHC/Globals/PeopleLeftToPlaceDisplayElement.hpp new file mode 100644 index 0000000..c26b0bd --- /dev/null +++ b/src/OpenSHC/Globals/PeopleLeftToPlaceDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/PeopleLeftToPlaceDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4AA4) PeopleLeftToPlaceDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/PlayerInfoOnHoverDisplayElement.hpp b/src/OpenSHC/Globals/PlayerInfoOnHoverDisplayElement.hpp new file mode 100644 index 0000000..83e3f50 --- /dev/null +++ b/src/OpenSHC/Globals/PlayerInfoOnHoverDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/PlayerInfoOnHoverDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4598) PlayerInfoOnHoverDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/PlayerPingUnkDisplayElement22.hpp b/src/OpenSHC/Globals/PlayerPingUnkDisplayElement22.hpp new file mode 100644 index 0000000..bc28a49 --- /dev/null +++ b/src/OpenSHC/Globals/PlayerPingUnkDisplayElement22.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/PlayerPingUnkDisplayElement22.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF43C4) PlayerPingUnkDisplayElement22; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/ResourceMissing1DisplayElement.hpp b/src/OpenSHC/Globals/ResourceMissing1DisplayElement.hpp new file mode 100644 index 0000000..6662c0b --- /dev/null +++ b/src/OpenSHC/Globals/ResourceMissing1DisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/ResourceMissing1DisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF43A0) ResourceMissing1DisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/ResourceMissing2DisplayElement.hpp b/src/OpenSHC/Globals/ResourceMissing2DisplayElement.hpp new file mode 100644 index 0000000..631c157 --- /dev/null +++ b/src/OpenSHC/Globals/ResourceMissing2DisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/ResourceMissing2DisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4C74) ResourceMissing2DisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/SEC_RNG.hpp b/src/OpenSHC/Globals/SEC_RNG.hpp new file mode 100644 index 0000000..d326bb4 --- /dev/null +++ b/src/OpenSHC/Globals/SEC_RNG.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/SEC_RNG.hpp' +*/ + +#pragma once + +#include "OpenSHC/Random/RNG.hpp" +namespace OpenSHC { + +using OpenSHC::Random::RNG; + +MACRO_STRUCT_RESOLVER(RNG, false, Address::SHC_3BB0A8C1_0x01A279C0) SEC_RNG; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/SEC_SkirmishLobbySetupStructure.hpp b/src/OpenSHC/Globals/SEC_SkirmishLobbySetupStructure.hpp new file mode 100644 index 0000000..b4108cd --- /dev/null +++ b/src/OpenSHC/Globals/SEC_SkirmishLobbySetupStructure.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/SEC_SkirmishLobbySetupStructure.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Skirmish/SkirmishLobbySetupStructure.hpp" +namespace OpenSHC { + +using OpenSHC::Game::Skirmish::SkirmishLobbySetupStructure; + +MACRO_STRUCT_RESOLVER(SkirmishLobbySetupStructure, false, Address::SHC_3BB0A8C1_0x00DF4118) +SEC_SkirmishLobbySetupStructure; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/SND_SoundSystemObj.hpp b/src/OpenSHC/Globals/SND_SoundSystemObj.hpp new file mode 100644 index 0000000..2b1dd1f --- /dev/null +++ b/src/OpenSHC/Globals/SND_SoundSystemObj.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/SND_SoundSystemObj.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/SoundSystem.hpp" +namespace OpenSHC { + +using OpenSHC::Audio::mss::SoundSystem; + +MACRO_STRUCT_RESOLVER(SoundSystem, false, Address::SHC_3BB0A8C1_0x01127DD0) SND_SoundSystemObj; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/SomeMissionNumberUnkDisplayElement9.hpp b/src/OpenSHC/Globals/SomeMissionNumberUnkDisplayElement9.hpp new file mode 100644 index 0000000..5a7efb0 --- /dev/null +++ b/src/OpenSHC/Globals/SomeMissionNumberUnkDisplayElement9.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/SomeMissionNumberUnkDisplayElement9.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4CBC) SomeMissionNumberUnkDisplayElement9; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement19.hpp b/src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement19.hpp new file mode 100644 index 0000000..bec3753 --- /dev/null +++ b/src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement19.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement19.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4EE4) SomeMultiplayerInfoUnkDisplayElement19; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement28.hpp b/src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement28.hpp new file mode 100644 index 0000000..2ae7d5d --- /dev/null +++ b/src/OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement28.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/SomeMultiplayerInfoUnkDisplayElement28.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4FA8) SomeMultiplayerInfoUnkDisplayElement28; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_2.hpp b/src/OpenSHC/Globals/TIME_2.hpp new file mode 100644 index 0000000..01903c4 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_2.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_2.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00EE109C) TIME_2; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_ClickedMercUnitTypeMoment.hpp b/src/OpenSHC/Globals/TIME_ClickedMercUnitTypeMoment.hpp new file mode 100644 index 0000000..be601aa --- /dev/null +++ b/src/OpenSHC/Globals/TIME_ClickedMercUnitTypeMoment.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_ClickedMercUnitTypeMoment.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF337C) TIME_ClickedMercUnitTypeMoment; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_EnumerateSessionsMoment.hpp b/src/OpenSHC/Globals/TIME_EnumerateSessionsMoment.hpp new file mode 100644 index 0000000..6d2b412 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_EnumerateSessionsMoment.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_EnumerateSessionsMoment.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF4224) TIME_EnumerateSessionsMoment; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_IdentityOptions.hpp b/src/OpenSHC/Globals/TIME_IdentityOptions.hpp new file mode 100644 index 0000000..22ff95c --- /dev/null +++ b/src/OpenSHC/Globals/TIME_IdentityOptions.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_IdentityOptions.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF4230) TIME_IdentityOptions; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_IntroVideo_Prepare.hpp b/src/OpenSHC/Globals/TIME_IntroVideo_Prepare.hpp new file mode 100644 index 0000000..a688e1a --- /dev/null +++ b/src/OpenSHC/Globals/TIME_IntroVideo_Prepare.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_IntroVideo_Prepare.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00B95AC0) TIME_IntroVideo_Prepare; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_LastGhostSoundMoment.hpp b/src/OpenSHC/Globals/TIME_LastGhostSoundMoment.hpp new file mode 100644 index 0000000..4d4fddd --- /dev/null +++ b/src/OpenSHC/Globals/TIME_LastGhostSoundMoment.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_LastGhostSoundMoment.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00EE103C) TIME_LastGhostSoundMoment; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_LastVisualLoadingBarUpdate.hpp b/src/OpenSHC/Globals/TIME_LastVisualLoadingBarUpdate.hpp new file mode 100644 index 0000000..10a7267 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_LastVisualLoadingBarUpdate.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_LastVisualLoadingBarUpdate.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(dword, false, Address::SHC_3BB0A8C1_0x00DF2958) TIME_LastVisualLoadingBarUpdate; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_LoadSaveBar.hpp b/src/OpenSHC/Globals/TIME_LoadSaveBar.hpp new file mode 100644 index 0000000..4442e99 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_LoadSaveBar.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_LoadSaveBar.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF4234) TIME_LoadSaveBar; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_MercPostAudio.hpp b/src/OpenSHC/Globals/TIME_MercPostAudio.hpp new file mode 100644 index 0000000..94153b0 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_MercPostAudio.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_MercPostAudio.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00DF3384) TIME_MercPostAudio; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_PreviousClick.hpp b/src/OpenSHC/Globals/TIME_PreviousClick.hpp new file mode 100644 index 0000000..47fa593 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_PreviousClick.hpp @@ -0,0 +1,12 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_PreviousClick.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(DWORD, false, Address::SHC_3BB0A8C1_0x00B98418) TIME_PreviousClick; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_PreviousQuery.hpp b/src/OpenSHC/Globals/TIME_PreviousQuery.hpp new file mode 100644 index 0000000..deeb031 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_PreviousQuery.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_PreviousQuery.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF3388) TIME_PreviousQuery; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_QueryMargin.hpp b/src/OpenSHC/Globals/TIME_QueryMargin.hpp new file mode 100644 index 0000000..bf5a33d --- /dev/null +++ b/src/OpenSHC/Globals/TIME_QueryMargin.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_QueryMargin.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF33C8) TIME_QueryMargin; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_ReceivedMessage_1.hpp b/src/OpenSHC/Globals/TIME_ReceivedMessage_1.hpp new file mode 100644 index 0000000..17b2ae7 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_ReceivedMessage_1.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_ReceivedMessage_1.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(uint, false, Address::SHC_3BB0A8C1_0x00EE2394) TIME_ReceivedMessage_1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_ReceivedMessage_2.hpp b/src/OpenSHC/Globals/TIME_ReceivedMessage_2.hpp new file mode 100644 index 0000000..c155b18 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_ReceivedMessage_2.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_ReceivedMessage_2.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(uint, false, Address::SHC_3BB0A8C1_0x00EE2398) TIME_ReceivedMessage_2; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TIME_Sum_1.hpp b/src/OpenSHC/Globals/TIME_Sum_1.hpp new file mode 100644 index 0000000..d94e410 --- /dev/null +++ b/src/OpenSHC/Globals/TIME_Sum_1.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TIME_Sum_1.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(uint, false, Address::SHC_3BB0A8C1_0x00EE1068) TIME_Sum_1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TUT_RotateMapHappened.hpp b/src/OpenSHC/Globals/TUT_RotateMapHappened.hpp new file mode 100644 index 0000000..1e865f4 --- /dev/null +++ b/src/OpenSHC/Globals/TUT_RotateMapHappened.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TUT_RotateMapHappened.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(int, false, Address::SHC_3BB0A8C1_0x00DF5578) TUT_RotateMapHappened; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TimeUntilDefeatDisplayElement.hpp b/src/OpenSHC/Globals/TimeUntilDefeatDisplayElement.hpp new file mode 100644 index 0000000..756b4b7 --- /dev/null +++ b/src/OpenSHC/Globals/TimeUntilDefeatDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TimeUntilDefeatDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4A30) TimeUntilDefeatDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/TimeUntilVictoryDisplayElement.hpp b/src/OpenSHC/Globals/TimeUntilVictoryDisplayElement.hpp new file mode 100644 index 0000000..13ba79c --- /dev/null +++ b/src/OpenSHC/Globals/TimeUntilVictoryDisplayElement.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/TimeUntilVictoryDisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF480C) TimeUntilVictoryDisplayElement; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UI_MissionModeIntent.hpp b/src/OpenSHC/Globals/UI_MissionModeIntent.hpp new file mode 100644 index 0000000..84c08de --- /dev/null +++ b/src/OpenSHC/Globals/UI_MissionModeIntent.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UI_MissionModeIntent.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { + +using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +MACRO_STRUCT_RESOLVER(BOOLEnum, false, Address::SHC_3BB0A8C1_0x00DF422C) UI_MissionModeIntent; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UI_NetworkSessionsShadeLogic.hpp b/src/OpenSHC/Globals/UI_NetworkSessionsShadeLogic.hpp new file mode 100644 index 0000000..baaf03c --- /dev/null +++ b/src/OpenSHC/Globals/UI_NetworkSessionsShadeLogic.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UI_NetworkSessionsShadeLogic.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(undefined4, false, Address::SHC_3BB0A8C1_0x00DF4220) UI_NetworkSessionsShadeLogic; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UNK_UnknownClassLocation2.hpp b/src/OpenSHC/Globals/UNK_UnknownClassLocation2.hpp new file mode 100644 index 0000000..6e3e535 --- /dev/null +++ b/src/OpenSHC/Globals/UNK_UnknownClassLocation2.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UNK_UnknownClassLocation2.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(byte[1024], false, Address::SHC_3BB0A8C1_0x024036F8) UNK_UnknownClassLocation2; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UNK_UnusedClass1Location.hpp b/src/OpenSHC/Globals/UNK_UnusedClass1Location.hpp new file mode 100644 index 0000000..e1a2b16 --- /dev/null +++ b/src/OpenSHC/Globals/UNK_UnusedClass1Location.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UNK_UnusedClass1Location.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(byte[10016], false, Address::SHC_3BB0A8C1_0x0234DBE0) UNK_UnusedClass1Location; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UNK_UnusedTextLocation1.hpp b/src/OpenSHC/Globals/UNK_UnusedTextLocation1.hpp new file mode 100644 index 0000000..f0430d3 --- /dev/null +++ b/src/OpenSHC/Globals/UNK_UnusedTextLocation1.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UNK_UnusedTextLocation1.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(byte[1004], false, Address::SHC_3BB0A8C1_0x021AE7EC) UNK_UnusedTextLocation1; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UNK_Unused_00b9578c.hpp b/src/OpenSHC/Globals/UNK_Unused_00b9578c.hpp new file mode 100644 index 0000000..ef15913 --- /dev/null +++ b/src/OpenSHC/Globals/UNK_Unused_00b9578c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UNK_Unused_00b9578c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(byte[444], false, Address::SHC_3BB0A8C1_0x00B9578C) UNK_Unused_00b9578c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UNK_Unused_00df3d2c.hpp b/src/OpenSHC/Globals/UNK_Unused_00df3d2c.hpp new file mode 100644 index 0000000..b678e98 --- /dev/null +++ b/src/OpenSHC/Globals/UNK_Unused_00df3d2c.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UNK_Unused_00df3d2c.hpp' +*/ + +#pragma once + +namespace OpenSHC { + +MACRO_STRUCT_RESOLVER(byte[1004], false, Address::SHC_3BB0A8C1_0x00DF3D2C) UNK_Unused_00df3d2c; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UnknownDisplayElement0.hpp b/src/OpenSHC/Globals/UnknownDisplayElement0.hpp new file mode 100644 index 0000000..27e713d --- /dev/null +++ b/src/OpenSHC/Globals/UnknownDisplayElement0.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UnknownDisplayElement0.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF48A8) UnknownDisplayElement0; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UnknownDisplayElement18.hpp b/src/OpenSHC/Globals/UnknownDisplayElement18.hpp new file mode 100644 index 0000000..2ddefdf --- /dev/null +++ b/src/OpenSHC/Globals/UnknownDisplayElement18.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UnknownDisplayElement18.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4B18) UnknownDisplayElement18; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UnknownDisplayElement25.hpp b/src/OpenSHC/Globals/UnknownDisplayElement25.hpp new file mode 100644 index 0000000..6b32c97 --- /dev/null +++ b/src/OpenSHC/Globals/UnknownDisplayElement25.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UnknownDisplayElement25.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF50E4) UnknownDisplayElement25; +} // namespace OpenSHC diff --git a/src/OpenSHC/Globals/UnknownDisplayElement7.hpp b/src/OpenSHC/Globals/UnknownDisplayElement7.hpp new file mode 100644 index 0000000..7ff9da2 --- /dev/null +++ b/src/OpenSHC/Globals/UnknownDisplayElement7.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Globals/UnknownDisplayElement7.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { + +using OpenSHC::UI::DisplayElement; + +MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF4944) UnknownDisplayElement7; +} // namespace OpenSHC diff --git a/src/OpenSHC/IO.func.hpp b/src/OpenSHC/IO.func.hpp new file mode 100644 index 0000000..fea438e --- /dev/null +++ b/src/OpenSHC/IO.func.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO.hpp" +#include "OpenSHC/IO/Base64State.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace IO_Func { + + using OpenSHC::IO::Base64State; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4* param_1, undefined4* param_2), false, + Address::SHC_3BB0A8C1_0x0041A740, &OpenSHC::IO::SwapInts) + SwapInts; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(Base64State* state), false, Address::SHC_3BB0A8C1_0x00487080, &OpenSHC::IO::Base64EncodeInit) + Base64EncodeInit; + + MACRO_FUNCTION_RESOLVER(byte(__stdcall*)(char param_1), false, Address::SHC_3BB0A8C1_0x00487090, + &OpenSHC::IO::Base64EncodeCharacterLookup) + Base64EncodeCharacterLookup; + + MACRO_FUNCTION_RESOLVER(int(__cdecl*)(byte* input, int length, undefined* output, Base64State* state), false, + Address::SHC_3BB0A8C1_0x004870B0, &OpenSHC::IO::Base64Encode) + Base64Encode; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum(__cdecl*)(char* param_1), false, Address::SHC_3BB0A8C1_0x004BC5B0, &OpenSHC::IO::FileExists) + FileExists; + +} // namespace IO_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/IO.hpp b/src/OpenSHC/IO.hpp new file mode 100644 index 0000000..352431e --- /dev/null +++ b/src/OpenSHC/IO.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Base64State.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace IO { + + using OpenSHC::IO::Base64State; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + void __cdecl SwapInts(undefined4* param_1, undefined4* param_2); + + void __cdecl Base64EncodeInit(Base64State* state); + + byte __stdcall Base64EncodeCharacterLookup(char param_1); + + int __cdecl Base64Encode(byte* input, int length, undefined* output, Base64State* state); + + BOOLEnum __cdecl FileExists(char* param_1); + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Base64State.hpp b/src/OpenSHC/IO/Base64State.hpp new file mode 100644 index 0000000..59f7242 --- /dev/null +++ b/src/OpenSHC/IO/Base64State.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Base64State.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct Base64State { + + int phase; // 0x00000000 length: 4 + int carryByte; // 0x00000004 length: 4 + int lineCharacterCounter; // 0x00000008 length: 4 + + } Base64State; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Base64State) == 12, Base64State); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/BitMapState.func.hpp b/src/OpenSHC/IO/BitMapState.func.hpp new file mode 100644 index 0000000..b4e84f9 --- /dev/null +++ b/src/OpenSHC/IO/BitMapState.func.hpp @@ -0,0 +1,44 @@ +/** + path: 'OpenSHC/IO/BitMapState.func.hpp' +*/ + +#include "OpenSHC/IO/BitMapState.hpp" +namespace OpenSHC { +namespace IO { + namespace BitMapState_Func { + + MACRO_FUNCTION_RESOLVER(void (BitMapState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0046C5A0, + &BitMapState::readBitmapFace) + readBitmapFace; + + MACRO_FUNCTION_RESOLVER(void (BitMapState::*)(int), false, Address::SHC_3BB0A8C1_0x0046C680, + &BitMapState::blitBitmap24BitToSurface565) + blitBitmap24BitToSurface565; + + MACRO_FUNCTION_RESOLVER(void (BitMapState::*)(int), false, Address::SHC_3BB0A8C1_0x0046C7A0, + &BitMapState::blitPalettedBitmapToSurface565) + blitPalettedBitmapToSurface565; + + MACRO_FUNCTION_RESOLVER( + void (BitMapState::*)(), false, Address::SHC_3BB0A8C1_0x0046C8D0, &BitMapState::copyBitmapToTextureBuffer) + copyBitmapToTextureBuffer; + + MACRO_FUNCTION_RESOLVER( + void (BitMapState::*)(), false, Address::SHC_3BB0A8C1_0x00472230, &BitMapState::setBMPFacesToMagenta) + setBMPFacesToMagenta; + + MACRO_FUNCTION_RESOLVER( + void (BitMapState::*)(), false, Address::SHC_3BB0A8C1_0x00472270, &BitMapState::loadBitmapHeader) + loadBitmapHeader; + + MACRO_FUNCTION_RESOLVER( + void (BitMapState::*)(void*), false, Address::SHC_3BB0A8C1_0x004723E0, &BitMapState::loadAndBlitBitmap) + loadAndBlitBitmap; + + MACRO_FUNCTION_RESOLVER( + void (BitMapState::*)(), false, Address::SHC_3BB0A8C1_0x004788A0, &BitMapState::loadFacesBMP) + loadFacesBMP; + + } // namespace BitMapState_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/BitMapState.hpp b/src/OpenSHC/IO/BitMapState.hpp new file mode 100644 index 0000000..e7846dc --- /dev/null +++ b/src/OpenSHC/IO/BitMapState.hpp @@ -0,0 +1,76 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/BitMapState.hpp' +*/ + +#pragma once + +#include "wingdi.h" + +namespace OpenSHC { +namespace IO { + +#pragma pack(push, 1) + + // SIZE: 0x00000480 + class BitMapState { + public: + dword mbr_0x0; // 0x00000000 length: 4 + dword mbr_0x4; // 0x00000004 length: 4 + dword total; // 0x00000008 length: 4 + dword high; // 0x0000000C length: 4 + dword size; // 0x00000010 length: 4 + dword biBitCount; // 0x00000014 length: 4 + dword mbr_0x18; // 0x00000018 length: 4 + byte palette[1024]; // 0x0000001C length: 1024 + dword paletteSize; // 0x0000041C length: 4 + dword paletteStart; // 0x00000420 length: 4 + dword step2; // 0x00000424 length: 4 + dword step; // 0x00000428 length: 4 + dword stride32bit; // 0x0000042C length: 4 + dword stride24bit; // 0x00000430 length: 4 + dword stride16bit; // 0x00000434 length: 4 + dword stride8bit; // 0x00000438 length: 4 + BITMAPFILEHEADER bitmapFileHeader; // 0x0000043C length: 14 + undefined1 padding_0x44a[2]; // 0x0000044A length: 2 + BITMAPINFOHEADER bitmapInfoHeader; // 0x0000044C length: 40 + dword address; // 0x00000474 length: 4 + void* surface; // 0x00000478 length: 4 + dword mbr_0x47c; // 0x0000047C length: 4 + + private: + BitMapState(BitMapState const&); + void operator=(BitMapState const&); + + BitMapState(); + ~BitMapState(); + + public: + // Constructor + BitMapState* Constructor_BitMapState(); + + void readBitmapFace(int param_1, int param_2, int param_3, int faceIndex); + + void blitBitmap24BitToSurface565(int addExtra); + + void blitPalettedBitmapToSurface565(int param_1); + + void copyBitmapToTextureBuffer(); + + void setBMPFacesToMagenta(); + + void loadBitmapHeader(); + + void loadAndBlitBitmap(void* surface); + + void loadFacesBMP(); + }; + + static_assert_cpp98_obj(sizeof(BitMapState) == 1152, BitMapState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(BitMapState, false, Address::SHC_3BB0A8C1_0x011BECB0) pDAT_BitMapState; + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/DecoderBuffer.func.hpp b/src/OpenSHC/IO/DecoderBuffer.func.hpp new file mode 100644 index 0000000..5cf39f1 --- /dev/null +++ b/src/OpenSHC/IO/DecoderBuffer.func.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/DecoderBuffer.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/DecoderBuffer.hpp" +#include "OpenSHC/IO/Helpers/BufferHelper.hpp" +namespace OpenSHC { +namespace IO { + namespace DecoderBuffer_Func { + + using OpenSHC::IO::Helpers::BufferHelper; + + MACRO_FUNCTION_RESOLVER(uint(__cdecl*)(char* buf, uint* size, BufferHelper* param), false, + Address::SHC_3BB0A8C1_0x0046D270, &OpenSHC::IO::DecoderBuffer::ReadBufferAndComputeHash) + ReadBufferAndComputeHash; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(char* buf, uint* size, BufferHelper* param), false, + Address::SHC_3BB0A8C1_0x0046D300, &OpenSHC::IO::DecoderBuffer::WriteBufferAndComputeHash) + WriteBufferAndComputeHash; + + } // namespace DecoderBuffer_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/DecoderBuffer.hpp b/src/OpenSHC/IO/DecoderBuffer.hpp new file mode 100644 index 0000000..26bfd00 --- /dev/null +++ b/src/OpenSHC/IO/DecoderBuffer.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/DecoderBuffer.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Helpers/BufferHelper.hpp" +namespace OpenSHC { +namespace IO { + namespace DecoderBuffer { + + using OpenSHC::IO::Helpers::BufferHelper; + + uint __cdecl ReadBufferAndComputeHash(char* buf, uint* size, BufferHelper* param); + + void __cdecl WriteBufferAndComputeHash(char* buf, uint* size, BufferHelper* param); + + } // namespace DecoderBuffer +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/DecoderState.func.hpp b/src/OpenSHC/IO/DecoderState.func.hpp new file mode 100644 index 0000000..8e5be40 --- /dev/null +++ b/src/OpenSHC/IO/DecoderState.func.hpp @@ -0,0 +1,39 @@ +/** + path: 'OpenSHC/IO/DecoderState.func.hpp' +*/ + +#include "OpenSHC/IO/DecoderState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace IO { + namespace DecoderState_Func { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(int (DecoderState::*)(char*, int*, int), false, Address::SHC_3BB0A8C1_0x0046D150, + &DecoderState::compressRLE) + compressRLE; + + MACRO_FUNCTION_RESOLVER(int (DecoderState::*)(void*, undefined*), false, Address::SHC_3BB0A8C1_0x0046D200, + &DecoderState::decompressRLE) + decompressRLE; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (DecoderState::*)(int*, int*, undefined*, undefined*), false, + Address::SHC_3BB0A8C1_0x004724C0, &DecoderState::doImplode) + doImplode; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (DecoderState::*)(int*, undefined*, int*, undefined*), false, + Address::SHC_3BB0A8C1_0x004725A0, &DecoderState::doExplode) + doExplode; + + MACRO_FUNCTION_RESOLVER(int (DecoderState::*)(int, undefined*, undefined*), false, + Address::SHC_3BB0A8C1_0x00473C10, &DecoderState::encodeData) + encodeData; + + MACRO_FUNCTION_RESOLVER( + dword (DecoderState::*)(void*, void*), false, Address::SHC_3BB0A8C1_0x00473C70, &DecoderState::decodeData) + decodeData; + + } // namespace DecoderState_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/DecoderState.hpp b/src/OpenSHC/IO/DecoderState.hpp new file mode 100644 index 0000000..8ca05d8 --- /dev/null +++ b/src/OpenSHC/IO/DecoderState.hpp @@ -0,0 +1,57 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/DecoderState.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace IO { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000014 + class DecoderState { + public: + uint implodingType; // 0x00000000 length: 4 + uint implodingTypeSize; // 0x00000004 length: 4 + dword crc32; // 0x00000008 length: 4 + dword sizeUncompressed; // 0x0000000C length: 4 + int sizeCompressed; // 0x00000010 length: 4 + + private: + DecoderState(DecoderState const&); + void operator=(DecoderState const&); + + DecoderState(); + ~DecoderState(); + + public: + // Constructor + DecoderState* Constructor_DecoderState(); + + int compressRLE(char* src, int* dst, int size); + + int decompressRLE(void* param_1, undefined* param_2); + + BOOLEnum doImplode(int* ptrHash, int* ptrSize, undefined* src, undefined* dst); + + BOOLEnum doExplode(int* hash, undefined* src, int* decompressedSize, undefined* dst); + + int encodeData(int sizeUncompressed, undefined* src, undefined* dst); + + dword decodeData(void* source, void* destination); + }; + + static_assert_cpp98_obj(sizeof(DecoderState) == 20, DecoderState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(DecoderState, false, Address::SHC_3BB0A8C1_0x00F2CC24) pDAT_DecoderState; + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/DirectoryStructNew.hpp b/src/OpenSHC/IO/DirectoryStructNew.hpp new file mode 100644 index 0000000..ed6b35a --- /dev/null +++ b/src/OpenSHC/IO/DirectoryStructNew.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/DirectoryStructNew.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" + +namespace OpenSHC { +namespace IO { + + using OpenSHC::IO::PackagedFileMagicNumInt; + +#pragma pack(push, 1) + // SIZE: 0x00000BD8 + typedef struct DirectoryStructNew { + + dword filePayloadSize; // 0x00000000 length: 4 + int sectionCount; // 0x00000004 length: 4 + PackagedFileMagicNumInt magicNumOfFileType; // 0x00000008 length: 4 + dword emptyConst0; // 0x0000000C length: 4 + dword emptyConst1; // 0x00000010 length: 4 + dword emptyConst2; // 0x00000014 length: 4 + dword emptyConst3; // 0x00000018 length: 4 + int uncompressedSize[150]; // 0x0000001C length: 600 + int compressedSize[150]; // 0x00000274 length: 600 + int id[150]; // 0x000004CC length: 600 + int isCompressed[150]; // 0x00000724 length: 600 + int offset[150]; // 0x0000097C length: 600 + dword emptyConst4; // 0x00000BD4 length: 4 + + } DirectoryStructNew; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DirectoryStructNew) == 3032, DirectoryStructNew); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/DirectoryStructOld.hpp b/src/OpenSHC/IO/DirectoryStructOld.hpp new file mode 100644 index 0000000..1a1f899 --- /dev/null +++ b/src/OpenSHC/IO/DirectoryStructOld.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/DirectoryStructOld.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" + +namespace OpenSHC { +namespace IO { + + using OpenSHC::IO::PackagedFileMagicNumInt; + +#pragma pack(push, 1) + // SIZE: 0x000007F0 + typedef struct DirectoryStructOld { + + int fileSizeWithoutDirectory; // 0x00000000 length: 4 + int sectionCount; // 0x00000004 length: 4 + PackagedFileMagicNumInt magicNumOfFileType; // 0x00000008 length: 4 + dword emptyConst0; // 0x0000000C length: 4 + dword emptyConst1; // 0x00000010 length: 4 + dword emptyConst2; // 0x00000014 length: 4 + dword emptyConst3; // 0x00000018 length: 4 + int uncompressedSize[100]; // 0x0000001C length: 400 + int compressedSize[100]; // 0x000001AC length: 400 + int id[100]; // 0x0000033C length: 400 + int isCompressed[100]; // 0x000004CC length: 400 + int offset[100]; // 0x0000065C length: 400 + dword emptyConst4; // 0x000007EC length: 4 + + } DirectoryStructOld; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DirectoryStructOld) == 2032, DirectoryStructOld); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/FilePackager.func.hpp b/src/OpenSHC/IO/FilePackager.func.hpp new file mode 100644 index 0000000..327bbca --- /dev/null +++ b/src/OpenSHC/IO/FilePackager.func.hpp @@ -0,0 +1,43 @@ +/** + path: 'OpenSHC/IO/FilePackager.func.hpp' +*/ + +#include "OpenSHC/AI/AIV/AIVSectionAddress.hpp" +#include "OpenSHC/IO/FilePackager.hpp" +#include "OpenSHC/Map/MapSectionAddress.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace IO { + namespace FilePackager_Func { + + using OpenSHC::AI::AIV::AIVSectionAddress; + using OpenSHC::Map::MapSectionAddress; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (FilePackager::*)(), false, Address::SHC_3BB0A8C1_0x0046D090, + &FilePackager::copyFromOldToNewMapDirectory) + copyFromOldToNewMapDirectory; + + MACRO_FUNCTION_RESOLVER(void (FilePackager::*)(MapSectionAddress*), false, Address::SHC_3BB0A8C1_0x00474480, + &FilePackager::writeMapOrSaveFile) + writeMapOrSaveFile; + + MACRO_FUNCTION_RESOLVER(void (FilePackager::*)(MapSectionAddress*), false, Address::SHC_3BB0A8C1_0x00474A20, + &FilePackager::readMapOrSavFile) + readMapOrSavFile; + + MACRO_FUNCTION_RESOLVER(void (FilePackager::*)(MapSectionAddress*, int), false, + Address::SHC_3BB0A8C1_0x004750E0, &FilePackager::readMapHeaderSiegeInfoUnk) + readMapHeaderSiegeInfoUnk; + + MACRO_FUNCTION_RESOLVER( + void (FilePackager::*)(BOOLEnum), false, Address::SHC_3BB0A8C1_0x004752D0, &FilePackager::readMapHeader) + readMapHeader; + + MACRO_FUNCTION_RESOLVER(int (FilePackager::*)(AIVSectionAddress*, char*), false, + Address::SHC_3BB0A8C1_0x00475690, &FilePackager::unpackAIVFile) + unpackAIVFile; + + } // namespace FilePackager_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/FilePackager.hpp b/src/OpenSHC/IO/FilePackager.hpp new file mode 100644 index 0000000..04a1289 --- /dev/null +++ b/src/OpenSHC/IO/FilePackager.hpp @@ -0,0 +1,75 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/FilePackager.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/AIV/AIVSectionAddress.hpp" +#include "OpenSHC/IO/DirectoryStructNew.hpp" +#include "OpenSHC/IO/DirectoryStructOld.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/MapSectionAddress.hpp" +#include "OpenSHC/UI/RenderLoadAndSaveBar.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace IO { + + using OpenSHC::AI::AIV::AIVSectionAddress; + using OpenSHC::IO::DirectoryStructNew; + using OpenSHC::IO::DirectoryStructOld; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::MapSectionAddress; + using OpenSHC::UI::RenderLoadAndSaveBar; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000013EC + class FilePackager { + public: + PackagedFileMagicNumInt packagerMapVersionNumUnk; // 0x00000000 length: 4 + PackagedFileMagicNumInt versionNumOfCurrentFileTypeUnk; // 0x00000004 length: 4 + BOOLEnum CRASHES_saveUncompressedUnk; // 0x00000008 length: 4 + int currentlyReadFileSectionIndex; // 0x0000000C length: 4 + void* tempMem; // 0x00000010 length: 4 + int directorySize; // 0x00000014 length: 4 + void* currentlyReadFileSectionMemory; // 0x00000018 length: 4 + int currentlyReadFileSectionSize; // 0x0000001C length: 4 + RenderLoadAndSaveBar* loadAndSaveBarFunc; // 0x00000020 length: 4 + DirectoryStructNew directory; // 0x00000024 length: 3032 + DirectoryStructOld oldDirectory; // 0x00000BFC length: 2032 + + private: + FilePackager(FilePackager const&); + void operator=(FilePackager const&); + + FilePackager(); + ~FilePackager(); + + public: + // Constructor + FilePackager* Constructor_FilePackager(); + + void copyFromOldToNewMapDirectory(); + + void writeMapOrSaveFile(MapSectionAddress* mapSectionAddressArray); + + void readMapOrSavFile(MapSectionAddress* mapSectionAddrArray); + + void readMapHeaderSiegeInfoUnk(MapSectionAddress* mapSectionAddrArray, int sectionID); + + void readMapHeader(BOOLEnum loadPreviewUnk); + + int unpackAIVFile(AIVSectionAddress* array, char* fileName); + }; + + static_assert_cpp98_obj(sizeof(FilePackager) == 5100, FilePackager); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(FilePackager, false, Address::SHC_3BB0A8C1_0x00F2B3D0) pDAT_FilePackager; + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/FileResourceType.hpp b/src/OpenSHC/IO/FileResourceType.hpp new file mode 100644 index 0000000..2c99184 --- /dev/null +++ b/src/OpenSHC/IO/FileResourceType.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/FileResourceType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + typedef enum FileResourceType { + + FRT_UNKNOWN = 1, // 0x00000001 + FRT_CASTLES = 2, // 0x00000002 + FRT_SCENARIOS = 6, // 0x00000006 + FRT_GM = 10, // 0x0000000A + FRT_GFX = 11, // 0x0000000B + FRT_HELP = 12, // 0x0000000C + FRT_BINKS = 13, // 0x0000000D + FRT_FX = 14, // 0x0000000E + FRT_MAPS = 15, // 0x0000000F + FRT_SCORES = 16, // 0x00000010 + FRT_GFX8 = 17, // 0x00000011 + FRT_GFX_SPEECH = 18, // 0x00000012 + FRT_BMP = 19 // 0x00000013 + + } FileResourceType; + + static_assert_cpp98_obj(sizeof(FileResourceType) == 4, FileResourceType); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/FileResourceTypeInt.hpp b/src/OpenSHC/IO/FileResourceTypeInt.hpp new file mode 100644 index 0000000..9f0a65b --- /dev/null +++ b/src/OpenSHC/IO/FileResourceTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/FileResourceTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/FileResourceType.hpp" + +namespace OpenSHC { +namespace IO { + typedef int FileResourceTypeInt; + + static_assert_cpp98_obj(sizeof(FileResourceTypeInt) == 4, FileResourceTypeInt); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp b/src/OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp new file mode 100644 index 0000000..4bb9c84 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp @@ -0,0 +1,35 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GFXRelatedBuffer1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Graphics { + +#pragma pack(push, 1) + // SIZE: 0x00011DF0 + typedef struct GFXRelatedBuffer1 { + + undefined1 field0_0x0; // 0x00000000 length: 1 + undefined1 padding_0x1[1]; // 0x00000001 length: 1 + short field2_0x2; // 0x00000002 length: 2 + undefined1 padding_0x4[46]; // 0x00000004 length: 46 + short field49_0x32; // 0x00000032 length: 2 + undefined1 padding_0x34[46]; // 0x00000034 length: 46 + undefined1 field96_0x62; // 0x00000062 length: 1 + undefined1 padding_0x63[23]; // 0x00000063 length: 23 + undefined1 field120_0x7a; // 0x0000007A length: 1 + undefined1 padding_0x7b[219]; // 0x0000007B length: 219 + undefined1 field340_0x156; // 0x00000156 length: 1 + undefined1 padding_0x157[72857]; // 0x00000157 length: 72857 + + } GFXRelatedBuffer1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(GFXRelatedBuffer1) == 73200, GFXRelatedBuffer1); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp b/src/OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp new file mode 100644 index 0000000..76a1cb9 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp @@ -0,0 +1,50 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmImageTypeInt.hpp" + +namespace OpenSHC { +namespace IO { + namespace Graphics { + + using OpenSHC::IO::Graphics::GmImageTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00001458 + typedef struct GMFileHeaderColorpalette { + + int unknown0; // 0x00000000 length: 4 + int unknown1; // 0x00000004 length: 4 + int unknown2; // 0x00000008 length: 4 + int numberOfPicturesInFile; // 0x0000000C length: 4 + int unknown3; // 0x00000010 length: 4 + GmImageTypeInt ImageType; // 0x00000014 length: 4 + int unknown4; // 0x00000018 length: 4 + int unknown5; // 0x0000001C length: 4 + int unknown6; // 0x00000020 length: 4 + int unknown7; // 0x00000024 length: 4 + int unknown8; // 0x00000028 length: 4 + int unknown9; // 0x0000002C length: 4 + int width; // 0x00000030 length: 4 + int heigth; // 0x00000034 length: 4 + int unknown12; // 0x00000038 length: 4 + int unknown13; // 0x0000003C length: 4 + int unknown14; // 0x00000040 length: 4 + int unknown15; // 0x00000044 length: 4 + int originX; // 0x00000048 length: 4 + int originY; // 0x0000004C length: 4 + int dataSize; // 0x00000050 length: 4 + int unknown18; // 0x00000054 length: 4 + short colorPalette[10][256]; // 0x00000058 length: 5120 + + } GMFileHeaderColorpalette; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(GMFileHeaderColorpalette) == 5208, GMFileHeaderColorpalette); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GfxRef.hpp b/src/OpenSHC/IO/Graphics/GfxRef.hpp new file mode 100644 index 0000000..c55ed66 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GfxRef.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GfxRef.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Graphics { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct GfxRef { + + int width; // 0x00000000 length: 4 + int height; // 0x00000004 length: 4 + int offsetInBuffer; // 0x00000008 length: 4 + int backwardsOffsetInBuffer; // 0x0000000C length: 4 + + } GfxRef; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(GfxRef) == 16, GfxRef); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GmID.hpp b/src/OpenSHC/IO/Graphics/GmID.hpp new file mode 100644 index 0000000..0df869e --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GmID.hpp @@ -0,0 +1,225 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GmID.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Graphics { + typedef enum GmID { + + GID_TILE_NULL_1 = 1, // 0x00000001 + GID_TILE_LAND_8 = 2, // 0x00000002 + GID_TILE_CHEVRONS = 3, // 0x00000003 + GID_TILE_NULL_4 = 4, // 0x00000004 + GID_TILE_SEA_8 = 5, // 0x00000005 + GID_TILE_BUILDINGS_1 = 6, // 0x00000006 + GID_TILE_BUILDINGS_2 = 7, // 0x00000007 + GID_TILE_WORKSHOPS = 8, // 0x00000008 + GID_TILE_CLIFFS = 9, // 0x00000009 + GID_TILE_WALLS = 10, // 0x0000000A + GID_TILE_NULL_11 = 11, // 0x0000000B + GID_TILE_LAND_3 = 12, // 0x0000000C + GID_TILE_NULL_13 = 13, // 0x0000000D + GID_TILE_FARMLAND = 14, // 0x0000000E + GID_TILE_GOODS = 15, // 0x0000000F + GID_FLOATS = 16, // 0x00000010 + GID_BODY_PEASANT = 17, // 0x00000011 + GID_BODY_ARCHER = 18, // 0x00000012 + GID_BODY_WOODCUTTER = 19, // 0x00000013 + GID_BODY_FLETCHER = 20, // 0x00000014 + GID_BODY_OX = 21, // 0x00000015 + GID_ANIM_BUILDINGS_2 = 22, // 0x00000016 + GID_SMOKE_30X30 = 23, // 0x00000017 + GID_TILE_NULL_24 = 24, // 0x00000018 + GID_ANIM_QUARRY = 25, // 0x00000019 + GID_ANIM_WINDMILL = 26, // 0x0000001A + GID_ANIM_FLETCHER = 27, // 0x0000001B + GID_ANIM_GOODS = 28, // 0x0000001C + GID_TREE_BIRCH = 29, // 0x0000001D + GID_TREE_PINE = 30, // 0x0000001E + GID_TREE_CHESTNUT = 31, // 0x0000001F + GID_BODY_STONEMASON = 32, // 0x00000020 + GID_BODY_FARMER = 33, // 0x00000021 + GID_BODY_MISSILE = 34, // 0x00000022 + GID_BODY_LADDER_BEARER = 35, // 0x00000023 + GID_BODY_BAKER = 36, // 0x00000024 + GID_BODY_MILLER = 37, // 0x00000025 + GID_TILE_DATA = 38, // 0x00000026 + GID_BODY_SPEARMAN = 39, // 0x00000027 + GID_BODY_PIKEMAN = 40, // 0x00000028 + GID_BODY_CROSSBOWMAN = 41, // 0x00000029 + GID_BODY_SWORDSMAN = 42, // 0x0000002A + GID_BODY_MACEMAN = 43, // 0x0000002B + GID_BODY_KNIGHT = 44, // 0x0000002C + GID_INTERFACE_BUTTONS = 45, // 0x0000002D + GID_INTERFACE_ICONS_2 = 46, // 0x0000002E + GID_ANIM_IRON_MINER = 47, // 0x0000002F + GID_TILE_BURNT = 48, // 0x00000030 + GID_TILE_CHURCHES = 49, // 0x00000031 + GID_FACE_800_BLANK = 50, // 0x00000032 + GID_ANIM_BREWER = 51, // 0x00000033 + GID_TILE_CASTLE = 52, // 0x00000034 + GID_BODY_BREWER = 53, // 0x00000035 + GID_ANIM_CASTLE = 54, // 0x00000036 + GID_TILE_LAND_MACROS = 55, // 0x00000037 + GID_TILE_ROCKS_8 = 56, // 0x00000038 + GID_TILE_ROCKS_CHEVRONS = 57, // 0x00000039 + GID_ANIM_BLACKSMITH = 58, // 0x0000003A + GID_BODY_BLACKSMITH = 59, // 0x0000003B + GID_TILE_LAND_AND_STONES = 60, // 0x0000003C + GID_BODY_IRON_MINER = 61, // 0x0000003D + GID_BODY_CATAPULT = 62, // 0x0000003E + GID_BODY_COW = 63, // 0x0000003F + GID_ANIM_POLETURNER = 64, // 0x00000040 + GID_ANIM_PITCH_DUGOUT = 65, // 0x00000041 + GID_ANIM_BAKER = 66, // 0x00000042 + GID_ANIM_WOODCUTTER = 67, // 0x00000043 + GID_ANIM_DRAWBRIDGE = 68, // 0x00000044 + GID_ANIM_TANNER = 69, // 0x00000045 + GID_TREE_OAK = 70, // 0x00000046 + GID_TREE_SHRUB_1 = 71, // 0x00000047 + GID_TREE_SHRUB_2 = 72, // 0x00000048 + GID_BODY_PITCH_WORKER = 73, // 0x00000049 + GID_BODY_POLETURNER = 74, // 0x0000004A + GID_BODY_TANNER = 75, // 0x0000004B + GID_ANIM_FLAGS = 76, // 0x0000004C + GID_BODY_HORSE_TRADER = 77, // 0x0000004D + GID_BODY_TRADER = 78, // 0x0000004E + GID_ICONS_PLACEHOLDERS = 79, // 0x0000004F + GID_TILE_NULL_80 = 80, // 0x00000050 + GID_BODY_DRUNKARD = 81, // 0x00000051 + GID_BODY_TENT = 82, // 0x00000052 + GID_BODY_MANGONEL = 83, // 0x00000053 + GID_BODY_TREBUTCHET = 84, // 0x00000054 + GID_FLOAT_POP_CIRC = 85, // 0x00000055 + GID_BODY_SIEGE_ENGINEER = 86, // 0x00000056 + GID_FONT_STRONGHOLD_AA = 87, // 0x00000057 + GID_ANIM_FARMER = 88, // 0x00000058 + GID_BODY_HUNTER = 89, // 0x00000059 + GID_ANIM_HUNTER = 90, // 0x0000005A + GID_BODY_DEER = 91, // 0x0000005B + GID_BODY_LION = 92, // 0x0000005C + GID_BODY_RABBIT = 93, // 0x0000005D + GID_BODY_CAMEL = 94, // 0x0000005E + GID_BODY_DOG = 95, // 0x0000005F + GID_BODY_PRIEST = 96, // 0x00000060 + GID_TREE_APPLE = 97, // 0x00000061 + GID_ANIM_STABLES = 98, // 0x00000062 + GID_BODY_LADY = 99, // 0x00000063 + GID_BODY_LORD = 100, // 0x00000064 + GID_BODY_JESTER = 101, // 0x00000065 + GID_BODY_ARMOURER = 102, // 0x00000066 + GID_ANIM_ARMOURER = 103, // 0x00000067 + GID_ANIM_SHIELDS = 104, // 0x00000068 + GID_NULL = 105, // 0x00000069 + GID_BODY_TUNNELOR = 106, // 0x0000006A + GID_CURSORS = 107, // 0x0000006B + GID_MAPEDIT_BUTTONS = 108, // 0x0000006C + GID_BODY_FIGHTING_MONK = 109, // 0x0000006D + GID_BODY_KNIGHT_TOP = 110, // 0x0000006E + GID_TILE_NULL_111 = 111, // 0x0000006F + GID_TILE_NULL_112 = 112, // 0x00000070 + GID_ANIM_BOILED_OIL = 113, // 0x00000071 + GID_ANIM_GALLOWS = 114, // 0x00000072 + GID_ANIM_MAYPOLE = 115, // 0x00000073 + GID_OIL_DROPPED = 116, // 0x00000074 + GID_TILE_NULL_117 = 117, // 0x00000075 + GID_BODY_FIRE = 118, // 0x00000076 + GID_BODY_MAN_BURNING = 119, // 0x00000077 + GID_BODY_BALLISTA = 120, // 0x00000078 + GID_BODY_SHIELD = 121, // 0x00000079 + GID_BODY_MISSILE_2 = 122, // 0x0000007A + GID_BODY_BATTERING_RAM = 123, // 0x0000007B + GID_BODY_SIEGE_TOWER = 124, // 0x0000007C + GID_BODY_STEAM = 125, // 0x0000007D + GID_BODY_CHICKEN = 126, // 0x0000007E + GID_BODY_MOTHER = 127, // 0x0000007F + GID_BODY_BOY = 128, // 0x00000080 + GID_BODY_GIRL = 129, // 0x00000081 + GID_ANIM_TUNNELS = 130, // 0x00000082 + GID_BODY_JUGGLER = 131, // 0x00000083 + GID_BODY_FIRE_EATER = 132, // 0x00000084 + GID_BODY_HEALER = 133, // 0x00000085 + GID_BODY_DISEASE = 134, // 0x00000086 + GID_BODY_MISSILE_COW = 135, // 0x00000087 + GID_CRACKS = 136, // 0x00000088 + GID_BODY_GATE = 137, // 0x00000089 + GID_BODY_BRAZIER = 138, // 0x0000008A + GID_KILLING_PITS = 139, // 0x0000008B + GID_PITCH_DITCHES = 140, // 0x0000008C + GID_BLAST_3 = 141, // 0x0000008D + GID_SCRIBE = 142, // 0x0000008E + GID_TILE_NULL_143 = 143, // 0x0000008F + GID_BODY_FIRE_2 = 144, // 0x00000090 + GID_BODY_MISSILE_FIRE = 145, // 0x00000091 + GID_FONT_SLANTED = 146, // 0x00000092 + GID_BODY_INNKEEPER = 147, // 0x00000093 + GID_ICONS_FRONT_END = 148, // 0x00000094 + GID_TILE_RUINS = 149, // 0x00000095 + GID_ICONS_FRONT_END_COMBAT = 150, // 0x00000096 + GID_ICONS_FRONT_END_ECONOMICS = 151, // 0x00000097 + GID_ICONS_FRONT_END_BUILDER = 152, // 0x00000098 + GID_MINI_CURSORS = 153, // 0x00000099 + GID_BODY_CHICKEN_BROWN = 154, // 0x0000009A + GID_ANIM_MARKET = 155, // 0x0000009B + GID_INTERFACE_ICONS_3 = 156, // 0x0000009C + GID_TILE_FLATTIES = 157, // 0x0000009D + GID_ROCK_CHIPS = 158, // 0x0000009E + GID_ANIM_DUCKING_STOOL = 159, // 0x0000009F + GID_ANIM_DUNGEON = 160, // 0x000000A0 + GID_ANIM_GIBBET = 161, // 0x000000A1 + GID_ANIM_HEALER = 162, // 0x000000A2 + GID_ANIM_STOCKS = 163, // 0x000000A3 + GID_INTERFACE_SLIDER_BAR = 164, // 0x000000A4 + GID_ANIM_CAMPAIGN_MAP_FLAGS = 165, // 0x000000A5 + GID_TILE_SEA_NEW_01 = 166, // 0x000000A6 + GID_BODY_SEAGULL = 167, // 0x000000A7 + GID_BODY_CROW = 168, // 0x000000A8 + GID_PUFF_OF_SMOKE = 169, // 0x000000A9 + GID_BODY_SPLASH = 170, // 0x000000AA + GID_ANIM_INN = 171, // 0x000000AB + GID_FLOATS_NEW = 172, // 0x000000AC + GID_ANIM_WHITECAPS = 173, // 0x000000AD + GID_ARMY_UNITS = 174, // 0x000000AE + GID_ANIM_STAKE = 175, // 0x000000AF + GID_ANIM_KILLING_PITS = 176, // 0x000000B0 + GID_ENEMY_FACES = 177, // 0x000000B1 + GID_ANIM_RACK = 178, // 0x000000B2 + GID_ANIM_DOG_CAGE = 179, // 0x000000B3 + GID_ANIM_DANCING_BEAR = 180, // 0x000000B4 + GID_ANIM_CHOPPING_BLOCK = 181, // 0x000000B5 + GID_BODY_FIREMAN = 182, // 0x000000B6 + GID_INTERFACE_ARMY = 183, // 0x000000B7 + GID_INTERFACE_RUINS = 184, // 0x000000B8 + GID_BODY_ANIMAL_BURNING_BIG = 185, // 0x000000B9 + GID_BODY_ANIMAL_BURNING_SMALL = 186, // 0x000000BA + GID_ANIM_HEADS = 187, // 0x000000BB + GID_BODY_GHOST = 188, // 0x000000BC + GID_ANIM_FLAG_SMALL = 189, // 0x000000BD + GID_BODY_ARAB_SHORTBOW = 190, // 0x000000BE + GID_BODY_ARAB_SLAVE = 191, // 0x000000BF + GID_BODY_ARAB_SLINGER = 192, // 0x000000C0 + GID_BODY_ARAB_ASSASIN = 193, // 0x000000C1 + GID_BODY_HORSE_ARCHER_TOP = 194, // 0x000000C2 + GID_BODY_ARAB_SWORDSMAN = 195, // 0x000000C3 + GID_BODY_ARAB_GRENADIER = 196, // 0x000000C4 + GID_BODY_ARAB_BALLISTA = 197, // 0x000000C5 + GID_ASSASIN_ROPE = 198, // 0x000000C6 + GID_BODY_HORSE_ARCHER = 199, // 0x000000C7 + GID_TREE_CACTII = 200, // 0x000000C8 + GID_ANIM_CRUSADER_FLAG = 201, // 0x000000C9 + GID_BODY_INFO = 202, // 0x000000CA + GID_BODY_WOLF = 203, // 0x000000CB + GID_SKIRMISH_TRAIL_ICONS = 204, // 0x000000CC + GID_BODY_SALADIN = 205, // 0x000000CD + GID_SUPER_CHICKEN = 206 // 0x000000CE + + } GmID; + + static_assert_cpp98_obj(sizeof(GmID) == 4, GmID); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GmIDInt.hpp b/src/OpenSHC/IO/Graphics/GmIDInt.hpp new file mode 100644 index 0000000..4ea621e --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GmIDInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GmIDInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmID.hpp" + +namespace OpenSHC { +namespace IO { + namespace Graphics { + typedef int GmIDInt; + + static_assert_cpp98_obj(sizeof(GmIDInt) == 4, GmIDInt); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GmImageType.hpp b/src/OpenSHC/IO/Graphics/GmImageType.hpp new file mode 100644 index 0000000..fa59a22 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GmImageType.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GmImageType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Graphics { + typedef enum GmImageType { + + GIT_InterfaceElement = 1, // 0x00000001 + GIT_Animation = 2, // 0x00000002 + GIT_Tileset = 3, // 0x00000003 + GIT_Font = 4, // 0x00000004 + GIT_UncompressedImage = 5, // 0x00000005 + GIT_CompressedImage = 6, // 0x00000006 + GIT_UncompressedImageUnk = 7 // 0x00000007 + + } GmImageType; + + static_assert_cpp98_obj(sizeof(GmImageType) == 4, GmImageType); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/GmImageTypeInt.hpp b/src/OpenSHC/IO/Graphics/GmImageTypeInt.hpp new file mode 100644 index 0000000..7c6ec04 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/GmImageTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/GmImageTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmImageType.hpp" + +namespace OpenSHC { +namespace IO { + namespace Graphics { + typedef int GmImageTypeInt; + + static_assert_cpp98_obj(sizeof(GmImageTypeInt) == 4, GmImageTypeInt); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/ImageHeader.hpp b/src/OpenSHC/IO/Graphics/ImageHeader.hpp new file mode 100644 index 0000000..a8bc83b --- /dev/null +++ b/src/OpenSHC/IO/Graphics/ImageHeader.hpp @@ -0,0 +1,33 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/ImageHeader.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Graphics { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct ImageHeader { + + short width; // 0x00000000 length: 2 + short height; // 0x00000002 length: 2 + short offsetX; // 0x00000004 length: 2 + short offsetY; // 0x00000006 length: 2 + short alternativeImageIndexUnk; // 0x00000008 length: 2 + short tileOffset; // 0x0000000A length: 2 + byte direction; // 0x0000000C length: 1 + byte horizontalOffsetImage; // 0x0000000D length: 1 + byte buildingWidth; // 0x0000000E length: 1 + byte animatedColor; // 0x0000000F length: 1 + + } ImageHeader; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ImageHeader) == 16, ImageHeader); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/TgxToken.hpp b/src/OpenSHC/IO/Graphics/TgxToken.hpp new file mode 100644 index 0000000..1302b67 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/TgxToken.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/TgxToken.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Graphics { + typedef enum TgxToken { + + TT_STREAM_OF_PIXELS = 0, // 0x00000000 + TT_TGX_PIXEL_LENGTH = 31, // 0x0000001F + TT_TRANSPARENT_PIXELS = 32, // 0x00000020 + TT_REPEATING_PIXELS = 64, // 0x00000040 + TT_NEWLINE = 128, // 0x00000080 + TT_TGX_PIXEL_HEADER = 224 // 0x000000E0 + + } TgxToken; + + static_assert_cpp98_obj(sizeof(TgxToken) == 4, TgxToken); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Graphics/TgxTokenByte.hpp b/src/OpenSHC/IO/Graphics/TgxTokenByte.hpp new file mode 100644 index 0000000..57d0e87 --- /dev/null +++ b/src/OpenSHC/IO/Graphics/TgxTokenByte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Graphics/TgxTokenByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/TgxToken.hpp" + +namespace OpenSHC { +namespace IO { + namespace Graphics { + typedef byte TgxTokenByte; + + static_assert_cpp98_obj(sizeof(TgxTokenByte) == 1, TgxTokenByte); + } // namespace Graphics +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Helpers/Buffer.hpp b/src/OpenSHC/IO/Helpers/Buffer.hpp new file mode 100644 index 0000000..ee9fb46 --- /dev/null +++ b/src/OpenSHC/IO/Helpers/Buffer.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Helpers/Buffer.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + namespace Helpers { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct Buffer { + + uchar* data; // 0x00000000 length: 4 + uint offset; // 0x00000004 length: 4 + uint size; // 0x00000008 length: 4 + + } Buffer; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Buffer) == 12, Buffer); + } // namespace Helpers +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Helpers/BufferHelper.hpp b/src/OpenSHC/IO/Helpers/BufferHelper.hpp new file mode 100644 index 0000000..9e587f3 --- /dev/null +++ b/src/OpenSHC/IO/Helpers/BufferHelper.hpp @@ -0,0 +1,36 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Helpers/BufferHelper.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Helpers/Buffer.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace IO { + namespace Helpers { + + using OpenSHC::IO::Helpers::Buffer; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x00000034 + typedef struct BufferHelper { + + Buffer buffer0; // 0x00000000 length: 12 + Buffer buffer1; // 0x0000000C length: 12 + Buffer buffer2; // 0x00000018 length: 12 + int imploding1orexploding2; // 0x00000024 length: 4 + uint hash; // 0x00000028 length: 4 + int compressedSize; // 0x0000002C length: 4 + BOOLEnum underflow; // 0x00000030 length: 4 + + } BufferHelper; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BufferHelper) == 52, BufferHelper); + } // namespace Helpers +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/Helpers/OPENFILENAMEA_Truncated.hpp b/src/OpenSHC/IO/Helpers/OPENFILENAMEA_Truncated.hpp new file mode 100644 index 0000000..d2e00e9 --- /dev/null +++ b/src/OpenSHC/IO/Helpers/OPENFILENAMEA_Truncated.hpp @@ -0,0 +1,47 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/Helpers/OPENFILENAMEA_Truncated.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "commdlg.h" +#include "winnt.h" + +namespace OpenSHC { +namespace IO { + namespace Helpers { + +#pragma pack(push, 1) + // SIZE: 0x0000004C + typedef struct OPENFILENAMEA_Truncated { + + DWORD lStructSize; // 0x00000000 length: 4 + HWND hwndOwner; // 0x00000004 length: 4 + HINSTANCE hInstance; // 0x00000008 length: 4 + LPCSTR lpstrFilter; // 0x0000000C length: 4 + LPSTR lpstrCustomFilter; // 0x00000010 length: 4 + DWORD nMaxCustFilter; // 0x00000014 length: 4 + DWORD nFilterIndex; // 0x00000018 length: 4 + LPSTR lpstrFile; // 0x0000001C length: 4 + DWORD nMaxFile; // 0x00000020 length: 4 + LPSTR lpstrFileTitle; // 0x00000024 length: 4 + DWORD nMaxFileTitle; // 0x00000028 length: 4 + LPCSTR lpstrInitialDir; // 0x0000002C length: 4 + LPCSTR lpstrTitle; // 0x00000030 length: 4 + DWORD Flags; // 0x00000034 length: 4 + WORD nFileOffset; // 0x00000038 length: 2 + WORD nFileExtension; // 0x0000003A length: 2 + LPCSTR lpstrDefExt; // 0x0000003C length: 4 + LPARAM lCustData; // 0x00000040 length: 4 + LPOFNHOOKPROC lpfnHook; // 0x00000044 length: 4 + LPCSTR lpTemplateName; // 0x00000048 length: 4 + + } OPENFILENAMEA_Truncated; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(OPENFILENAMEA_Truncated) == 76, OPENFILENAMEA_Truncated); + } // namespace Helpers +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/LowLevelMemory.func.hpp b/src/OpenSHC/IO/LowLevelMemory.func.hpp new file mode 100644 index 0000000..be657e3 --- /dev/null +++ b/src/OpenSHC/IO/LowLevelMemory.func.hpp @@ -0,0 +1,80 @@ +/** + path: 'OpenSHC/IO/LowLevelMemory.func.hpp' +*/ + +#include "OpenSHC/IO/LowLevelMemory.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "crtdefs.h" +namespace OpenSHC { +namespace IO { + namespace LowLevelMemory_Func { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(undefined4*, undefined3*), false, + Address::SHC_3BB0A8C1_0x0046A830, &LowLevelMemory::moveLowerThreeBytesIntoParam2) + moveLowerThreeBytesIntoParam2; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046A850, &LowLevelMemory::setMemoryToValue0x001) + setMemoryToValue0x001; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046A890, &LowLevelMemory::setMemoryToValue0x002) + setMemoryToValue0x002; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046A8D0, &LowLevelMemory::setMemoryToValue0x004) + setMemoryToValue0x004; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046A910, &LowLevelMemory::setMemoryToValue0x010) + setMemoryToValue0x010; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046A970, &LowLevelMemory::setMemoryToValue0x100) + setMemoryToValue0x100; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046AAF0, &LowLevelMemory::copyData0x001) + copyData0x001; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046AB30, &LowLevelMemory::copyData0x010) + copyData0x010; + + MACRO_FUNCTION_RESOLVER( + void (LowLevelMemory::*)(), false, Address::SHC_3BB0A8C1_0x0046ABA0, &LowLevelMemory::copyData0x100) + copyData0x100; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(char*, char*), false, Address::SHC_3BB0A8C1_0x0046AE50, + &LowLevelMemory::copyStringUntilFirstDot) + copyStringUntilFirstDot; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(char*, char*, char*), false, Address::SHC_3BB0A8C1_0x0046AE80, + &LowLevelMemory::putFileNameAndAppendFileExtension) + putFileNameAndAppendFileExtension; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (LowLevelMemory::*)(char*, char*), false, Address::SHC_3BB0A8C1_0x0046AEC0, + &LowLevelMemory::isLordNameCallable) + isLordNameCallable; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(size_t, void*, void*), false, Address::SHC_3BB0A8C1_0x00471830, + &LowLevelMemory::copyData) + copyData; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(int, int, void*), false, Address::SHC_3BB0A8C1_0x00471860, + &LowLevelMemory::fillMemoryWithIntegerValue) + fillMemoryWithIntegerValue; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(undefined*, uint, undefined*), false, + Address::SHC_3BB0A8C1_0x00471890, &LowLevelMemory::fillMemoryWithShortValue) + fillMemoryWithShortValue; + + MACRO_FUNCTION_RESOLVER(void (LowLevelMemory::*)(int, uchar, void*), false, Address::SHC_3BB0A8C1_0x004718C0, + &LowLevelMemory::fillMemoryWithByteValue) + fillMemoryWithByteValue; + + } // namespace LowLevelMemory_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/LowLevelMemory.hpp b/src/OpenSHC/IO/LowLevelMemory.hpp new file mode 100644 index 0000000..2d18acc --- /dev/null +++ b/src/OpenSHC/IO/LowLevelMemory.hpp @@ -0,0 +1,75 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/LowLevelMemory.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "crtdefs.h" + +namespace OpenSHC { +namespace IO { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000014 + class LowLevelMemory { + public: + int src; // 0x00000000 length: 4 + pointer* destination; // 0x00000004 length: 4 + pointer* size; // 0x00000008 length: 4 + int value; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + + private: + LowLevelMemory(LowLevelMemory const&); + void operator=(LowLevelMemory const&); + + LowLevelMemory(); + ~LowLevelMemory(); + + public: + void moveLowerThreeBytesIntoParam2(undefined4* src, undefined3* dst); + + void setMemoryToValue0x001(); + + void setMemoryToValue0x002(); + + void setMemoryToValue0x004(); + + void setMemoryToValue0x010(); + + void setMemoryToValue0x100(); + + void copyData0x001(); + + void copyData0x010(); + + void copyData0x100(); + + void copyStringUntilFirstDot(char* param_1, char* param_2); + + void putFileNameAndAppendFileExtension(char* sourceName, char* dest, char* extension); + + BOOLEnum isLordNameCallable(char* playerLordNameUnk, char* callableLordName); + + void copyData(size_t size, void* src, void* destination); + + void fillMemoryWithIntegerValue(int size, int value, void* destination); + + void fillMemoryWithShortValue(undefined* size, uint shortValue, undefined* dst); + + void fillMemoryWithByteValue(int size, uchar value, void* destination); + }; + + static_assert_cpp98_obj(sizeof(LowLevelMemory) == 20, LowLevelMemory); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(LowLevelMemory, false, Address::SHC_3BB0A8C1_0x0165272C) pDAT_LowLevelMemory; + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/PackagedFileMagicNum.hpp b/src/OpenSHC/IO/PackagedFileMagicNum.hpp new file mode 100644 index 0000000..a0e6662 --- /dev/null +++ b/src/OpenSHC/IO/PackagedFileMagicNum.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/PackagedFileMagicNum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + typedef enum PackagedFileMagicNum { + + PFMN_AIV = 200 // 0x000000C8 + + } PackagedFileMagicNum; + + static_assert_cpp98_obj(sizeof(PackagedFileMagicNum) == 4, PackagedFileMagicNum); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/PackagedFileMagicNumInt.hpp b/src/OpenSHC/IO/PackagedFileMagicNumInt.hpp new file mode 100644 index 0000000..dfe2e55 --- /dev/null +++ b/src/OpenSHC/IO/PackagedFileMagicNumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/PackagedFileMagicNumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/PackagedFileMagicNum.hpp" + +namespace OpenSHC { +namespace IO { + typedef int PackagedFileMagicNumInt; + + static_assert_cpp98_obj(sizeof(PackagedFileMagicNumInt) == 4, PackagedFileMagicNumInt); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/ResourceManager.func.hpp b/src/OpenSHC/IO/ResourceManager.func.hpp new file mode 100644 index 0000000..ef48ec4 --- /dev/null +++ b/src/OpenSHC/IO/ResourceManager.func.hpp @@ -0,0 +1,148 @@ +/** + path: 'OpenSHC/IO/ResourceManager.func.hpp' +*/ + +#include "HoldStrong_lib/StringObject.hpp" +#include "OpenSHC/IO/FileResourceTypeInt.hpp" +#include "OpenSHC/IO/ResourceManager.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "crtdefs.h" +namespace OpenSHC { +namespace IO { + namespace ResourceManager_Func { + + using HoldStrong_lib::StringObject; + using OpenSHC::IO::FileResourceTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(dword), false, Address::SHC_3BB0A8C1_0x0046C200, + &ResourceManager::loadMapMetaByID) + loadMapMetaByID; + + MACRO_FUNCTION_RESOLVER(dword (ResourceManager::*)(char*), false, Address::SHC_3BB0A8C1_0x0046C280, + &ResourceManager::getChecksumOfMapByName) + getChecksumOfMapByName; + + MACRO_FUNCTION_RESOLVER(char* (ResourceManager::*)(int), false, Address::SHC_3BB0A8C1_0x0046C2E0, + &ResourceManager::getLoadedMapNameForIndex) + getLoadedMapNameForIndex; + + MACRO_FUNCTION_RESOLVER(char* (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C300, + &ResourceManager::getFileNameOfCurrentActiveResource) + getFileNameOfCurrentActiveResource; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C320, &ResourceManager::loadConfigPathTxt) + loadConfigPathTxt; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(char*), false, Address::SHC_3BB0A8C1_0x0046C420, + &ResourceManager::doesFileExist) + doesFileExist; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C450, &ResourceManager::meth_0x46c450) + meth_0x46c450; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C480, &ResourceManager::meth_0x46c480) + meth_0x46c480; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x0046C4B0, &ResourceManager::meth_0x46c4b0) + meth_0x46c4b0; + + MACRO_FUNCTION_RESOLVER(int (ResourceManager::*)(char*), false, Address::SHC_3BB0A8C1_0x0046C4E0, + &ResourceManager::getSimpleFirst1024ByteSumOfFile) + getSimpleFirst1024ByteSumOfFile; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471C10, &ResourceManager::syncLoadedMapNames) + syncLoadedMapNames; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(int), false, Address::SHC_3BB0A8C1_0x00471C50, + &ResourceManager::swapMapDataWithNextMap) + swapMapDataWithNextMap; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(dword, dword), false, Address::SHC_3BB0A8C1_0x00471CD0, + &ResourceManager::replaceMapNameWith) + replaceMapNameWith; + + MACRO_FUNCTION_RESOLVER(char* (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471D30, + &ResourceManager::getCurrentResourceCoreNameUnk) + getCurrentResourceCoreNameUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471DC0, + &ResourceManager::doesFileOfActiveResourceExist) + doesFileOfActiveResourceExist; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471DF0, &ResourceManager::meth_0x471df0) + meth_0x471df0; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(void*, size_t), false, Address::SHC_3BB0A8C1_0x00471E50, + &ResourceManager::readCurrentResourceIntoDestination) + readCurrentResourceIntoDestination; + + MACRO_FUNCTION_RESOLVER(int (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00471EB0, + &ResourceManager::getCurrentResourceSize) + getCurrentResourceSize; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(void*, int, char*), false, + Address::SHC_3BB0A8C1_0x00471F10, &ResourceManager::readFirstPartOfCurrentResourceIntoMemory) + readFirstPartOfCurrentResourceIntoMemory; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (ResourceManager::*)(void*, int, char*), false, + 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::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004720C0, + &ResourceManager::meth_0x4720c0) + meth_0x4720c0; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472100, &ResourceManager::meth_0x472100) + meth_0x472100; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472140, &ResourceManager::meth_0x472140) + meth_0x472140; + + MACRO_FUNCTION_RESOLVER(int (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00472180, + &ResourceManager::fileHashFunctionByteByByte) + fileHashFunctionByteByByte; + + MACRO_FUNCTION_RESOLVER(StringObject* (ResourceManager::*)(StringObject*, char), false, + Address::SHC_3BB0A8C1_0x004778E0, &ResourceManager::getDocumentsFolderString) + getDocumentsFolderString; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(StringObject*, char), false, Address::SHC_3BB0A8C1_0x004779F0, + &ResourceManager::getSavesPath) + getSavesPath; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(StringObject*, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00477B00, &ResourceManager::getDocumentsMapsFolderString) + getDocumentsMapsFolderString; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(char*), false, Address::SHC_3BB0A8C1_0x00477EE0, + &ResourceManager::discoverMapFiles) + discoverMapFiles; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(FileResourceTypeInt, char*), false, + Address::SHC_3BB0A8C1_0x00478360, &ResourceManager::resolveResourceFileName) + resolveResourceFileName; + + MACRO_FUNCTION_RESOLVER(void (ResourceManager::*)(BOOLEnum), false, Address::SHC_3BB0A8C1_0x00478AE0, + &ResourceManager::loadMapHeaders) + loadMapHeaders; + + MACRO_FUNCTION_RESOLVER( + void (ResourceManager::*)(), false, Address::SHC_3BB0A8C1_0x00478C60, &ResourceManager::filterMapsIfMapLock) + filterMapsIfMapLock; + + } // namespace ResourceManager_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/ResourceManager.hpp b/src/OpenSHC/IO/ResourceManager.hpp new file mode 100644 index 0000000..7b42fd3 --- /dev/null +++ b/src/OpenSHC/IO/ResourceManager.hpp @@ -0,0 +1,135 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/ResourceManager.hpp' +*/ + +#pragma once + +#include "HoldStrong_lib/StringObject.hpp" +#include "OpenSHC/IO/FileResourceTypeInt.hpp" +#include "OpenSHC/IO/Helpers/OPENFILENAMEA_Truncated.hpp" +#include "OpenSHC/Map/MapMetaInfo.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "crtdefs.h" + +namespace OpenSHC { +namespace IO { + + using HoldStrong_lib::StringObject; + using OpenSHC::IO::FileResourceTypeInt; + using OpenSHC::IO::Helpers::OPENFILENAMEA_Truncated; + using OpenSHC::Map::MapMetaInfo; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000FC794 + class ResourceManager { + public: + dword mapFileCounter; // 0x00000000 length: 4 + int loadPositionInCurrentResource; // 0x00000004 length: 4 + char strFile[4]; // 0x00000008 length: 4 + dword currentSectionIndex; // 0x0000000C length: 4 + dword mbr_0x10; // 0x00000010 length: 4 + int mapHeaderMagicByte; // 0x00000014 length: 4 + byte unused_0x18[985]; // 0x00000018 length: 985 + char strFileTitle[1001]; // 0x000003F1 length: 1001 + bool configPathLoadedUnk_0x7da; // 0x000007DA length: 1 + char configPathUnk_0x7db[1001]; // 0x000007DB length: 1001 + FileResourceTypeInt currentActiveResourceType; // 0x00000BC4 length: 4 + char loadedMapNames[500][1001]; // 0x00000BC8 length: 500500 + undefined1 padding_0x7aedc[4]; // 0x0007AEDC length: 4 + char resourceFileNameArray[20][1001]; // 0x0007AEE0 length: 20020 + dword mapFileTimes[500]; // 0x0007FD14 length: 2000 + byte unused_0x804e4[2006]; // 0x000804E4 length: 2006 + OPENFILENAMEA_Truncated openFileNameA; // 0x00080CBA length: 76 + undefined1 padding_0x80d06[2]; // 0x00080D06 length: 2 + int fileHandle; // 0x00080D08 length: 4 + MapMetaInfo mapMetaInfoArray[500]; // 0x00080D0C length: 6000 + byte mapNames[500][1001]; // 0x0008247C length: 500500 + uint loadedMapsCount; // 0x000FC790 length: 4 + + private: + ResourceManager(ResourceManager const&); + void operator=(ResourceManager const&); + + ResourceManager(); + ~ResourceManager(); + + public: + // Constructor + ResourceManager* Constructor_ResourceManager(); + + void loadMapMetaByID(dword id); + + dword getChecksumOfMapByName(char* mapNameAddress); + + char* getLoadedMapNameForIndex(int mapIndex); + + char* getFileNameOfCurrentActiveResource(); + + void loadConfigPathTxt(); + + BOOLEnum doesFileExist(char* filename); + + void meth_0x46c450(); + + void meth_0x46c480(); + + void meth_0x46c4b0(); + + int getSimpleFirst1024ByteSumOfFile(char* filename); + + void syncLoadedMapNames(); + + void swapMapDataWithNextMap(int _mapFileIndex); + + void replaceMapNameWith(dword id1, dword id2); + + char* getCurrentResourceCoreNameUnk(); + + BOOLEnum doesFileOfActiveResourceExist(); + + void meth_0x471df0(); + + BOOLEnum readCurrentResourceIntoDestination(void* destination, size_t size); + + int getCurrentResourceSize(); + + BOOLEnum readFirstPartOfCurrentResourceIntoMemory(void* destination, int partSize, char* fileExtension); + + BOOLEnum readNextPartOfCurrentResourceIntoMemory(void* destination, int partSize, char* fileExtension); + + BOOLEnum meth_0x472080(); + + BOOLEnum meth_0x4720c0(undefined4 param_1); + + BOOLEnum meth_0x472100(); + + BOOLEnum meth_0x472140(); + + int fileHashFunctionByteByByte(); + + StringObject* getDocumentsFolderString(StringObject* param_1, char param_2); + + void getSavesPath(StringObject* param_1, char param_2); + + void getDocumentsMapsFolderString(StringObject* param_1, BOOLEnum prependUserPath); + + void discoverMapFiles(char* param_1); + + void resolveResourceFileName(FileResourceTypeInt resourceType, char* shortFileName); + + void loadMapHeaders(BOOLEnum drawLoadingBar); + + void filterMapsIfMapLock(); + }; + + static_assert_cpp98_obj(sizeof(ResourceManager) == 1034132, ResourceManager); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(ResourceManager, false, Address::SHC_3BB0A8C1_0x011BF130) pDAT_ResourceManager; + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/SettingsFileState.func.hpp b/src/OpenSHC/IO/SettingsFileState.func.hpp new file mode 100644 index 0000000..97b4c26 --- /dev/null +++ b/src/OpenSHC/IO/SettingsFileState.func.hpp @@ -0,0 +1,28 @@ +/** + path: 'OpenSHC/IO/SettingsFileState.func.hpp' +*/ + +#include "OpenSHC/IO/SettingsFileState.hpp" +namespace OpenSHC { +namespace IO { + namespace SettingsFileState_Func { + + MACRO_FUNCTION_RESOLVER( + void (SettingsFileState::*)(), false, Address::SHC_3BB0A8C1_0x00495A30, &SettingsFileState::readUserConfig) + readUserConfig; + + MACRO_FUNCTION_RESOLVER( + void (SettingsFileState::*)(), false, Address::SHC_3BB0A8C1_0x00496400, &SettingsFileState::writeUserConfig) + writeUserConfig; + + MACRO_FUNCTION_RESOLVER( + void (SettingsFileState::*)(), false, Address::SHC_3BB0A8C1_0x004D5010, &SettingsFileState::readSkMasters2) + readSkMasters2; + + MACRO_FUNCTION_RESOLVER( + void (SettingsFileState::*)(), false, Address::SHC_3BB0A8C1_0x004D5180, &SettingsFileState::writeSkMasters2) + writeSkMasters2; + + } // namespace SettingsFileState_Func +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/SettingsFileState.hpp b/src/OpenSHC/IO/SettingsFileState.hpp new file mode 100644 index 0000000..5f3ef5d --- /dev/null +++ b/src/OpenSHC/IO/SettingsFileState.hpp @@ -0,0 +1,42 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/SettingsFileState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace IO { + +#pragma pack(push, 1) + + // SIZE: 0x00000002 + class SettingsFileState { + public: + undefined1 padding_0x0[2]; // 0x00000000 length: 2 + + private: + SettingsFileState(SettingsFileState const&); + void operator=(SettingsFileState const&); + + SettingsFileState(); + ~SettingsFileState(); + + public: + void readUserConfig(); + + void writeUserConfig(); + + void readSkMasters2(); + + void writeSkMasters2(); + }; + + static_assert_cpp98_obj(sizeof(SettingsFileState) == 2, SettingsFileState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(SettingsFileState, false, Address::SHC_3BB0A8C1_0x00EE109A) pDAT_SettingsFileState; + +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/IO/SkMasterDataEntry.hpp b/src/OpenSHC/IO/SkMasterDataEntry.hpp new file mode 100644 index 0000000..56caf22 --- /dev/null +++ b/src/OpenSHC/IO/SkMasterDataEntry.hpp @@ -0,0 +1,39 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/IO/SkMasterDataEntry.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Skirmish/SkirmishStatistics.hpp" + +namespace OpenSHC { +namespace IO { + + using OpenSHC::Game::Skirmish::SkirmishStatistics; + +#pragma pack(push, 1) + // SIZE: 0x00000BF0 + typedef struct SkMasterDataEntry { + + int score; // 0x00000000 length: 4 + char mapName[1000]; // 0x00000004 length: 1000 + int skMasterScore; // 0x000003EC length: 4 + int activePlayerCount; // 0x000003F0 length: 4 + int array1[9]; // 0x000003F4 length: 36 + int aiArray[9]; // 0x00000418 length: 36 + int aliveArray[9]; // 0x0000043C length: 36 + int lordType; // 0x00000460 length: 4 + uint localTimeDay; // 0x00000464 length: 4 + uint localTimeMonth; // 0x00000468 length: 4 + uint localTimeYear; // 0x0000046C length: 4 + int gameDurationInMinutes; // 0x00000470 length: 4 + int mapTimeInTicks; // 0x00000474 length: 4 + SkirmishStatistics results; // 0x00000478 length: 1912 + + } SkMasterDataEntry; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(SkMasterDataEntry) == 3056, SkMasterDataEntry); +} // namespace IO +} // namespace OpenSHC diff --git a/src/OpenSHC/Input.func.hpp b/src/OpenSHC/Input.func.hpp new file mode 100644 index 0000000..d1755ce --- /dev/null +++ b/src/OpenSHC/Input.func.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input.hpp" +namespace OpenSHC { +namespace Input_Func { + + MACRO_FUNCTION_RESOLVER( + undefined4(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004BC620, &OpenSHC::Input::getCurrentTutorialStep) + getCurrentTutorialStep; + +} // namespace Input_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Input.hpp b/src/OpenSHC/Input.hpp new file mode 100644 index 0000000..be0990e --- /dev/null +++ b/src/OpenSHC/Input.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Input { + + undefined4 __cdecl getCurrentTutorialStep(); + +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/InsertKeyState.func.hpp b/src/OpenSHC/Input/InsertKeyState.func.hpp new file mode 100644 index 0000000..2f188f4 --- /dev/null +++ b/src/OpenSHC/Input/InsertKeyState.func.hpp @@ -0,0 +1,12 @@ +/** + path: 'OpenSHC/Input/InsertKeyState.func.hpp' +*/ + +#include "OpenSHC/Input/InsertKeyState.hpp" +namespace OpenSHC { +namespace Input { + namespace InsertKeyState_Func { + + } // namespace InsertKeyState_Func +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/InsertKeyState.hpp b/src/OpenSHC/Input/InsertKeyState.hpp new file mode 100644 index 0000000..0b35ab4 --- /dev/null +++ b/src/OpenSHC/Input/InsertKeyState.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/InsertKeyState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Input { + +#pragma pack(push, 1) + + // SIZE: 0x00000008 + class InsertKeyState { + public: + int insert; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + + private: + InsertKeyState(InsertKeyState const&); + void operator=(InsertKeyState const&); + + InsertKeyState(); + ~InsertKeyState(); + + public: + // Constructor + InsertKeyState* Constructor_InsertKeyState(); + }; + + static_assert_cpp98_obj(sizeof(InsertKeyState) == 8, InsertKeyState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(InsertKeyState, false, Address::SHC_3BB0A8C1_0x00EE239C) pDAT_InsertKeyState; + +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/ModifierKeyState.func.hpp b/src/OpenSHC/Input/ModifierKeyState.func.hpp new file mode 100644 index 0000000..167023c --- /dev/null +++ b/src/OpenSHC/Input/ModifierKeyState.func.hpp @@ -0,0 +1,16 @@ +/** + path: 'OpenSHC/Input/ModifierKeyState.func.hpp' +*/ + +#include "OpenSHC/Input/ModifierKeyState.hpp" +namespace OpenSHC { +namespace Input { + namespace ModifierKeyState_Func { + + MACRO_FUNCTION_RESOLVER(void (ModifierKeyState::*)(), false, Address::SHC_3BB0A8C1_0x00468A20, + &ModifierKeyState::updateCtrlShiftAltKeyStateMemory) + updateCtrlShiftAltKeyStateMemory; + + } // namespace ModifierKeyState_Func +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/ModifierKeyState.hpp b/src/OpenSHC/Input/ModifierKeyState.hpp new file mode 100644 index 0000000..40930c5 --- /dev/null +++ b/src/OpenSHC/Input/ModifierKeyState.hpp @@ -0,0 +1,44 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/ModifierKeyState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Input { + +#pragma pack(push, 1) + + // SIZE: 0x00000018 + class ModifierKeyState { + public: + int keyDownUnk; // 0x00000000 length: 4 + int ctrl; // 0x00000004 length: 4 + int shift; // 0x00000008 length: 4 + int alt; // 0x0000000C length: 4 + int downArrow; // 0x00000010 length: 4 + int v; // 0x00000014 length: 4 + + private: + ModifierKeyState(ModifierKeyState const&); + void operator=(ModifierKeyState const&); + + ModifierKeyState(); + ~ModifierKeyState(); + + public: + // Constructor + ModifierKeyState* Constructor_ModifierKeyState(); + + void updateCtrlShiftAltKeyStateMemory(); + }; + + static_assert_cpp98_obj(sizeof(ModifierKeyState) == 24, ModifierKeyState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(ModifierKeyState, false, Address::SHC_3BB0A8C1_0x00F224E8) pDAT_ModifierKeyState; + +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnum.hpp b/src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnum.hpp new file mode 100644 index 0000000..26d571b --- /dev/null +++ b/src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnum.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/Mouse/ClickTypeBitMaskEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Input { + namespace Mouse { + typedef enum ClickTypeBitMaskEnum { + + CTBME_LEFT_DOWN = 1, // 0x00000001 + CTBME_RIGHT_DOWN = 16, // 0x00000010 + CTBME_MID_DOWN = 64, // 0x00000040 + CTBME_MIDUP = 191, // 0x000000BF + CTBME_RIGHT_UP = 239, // 0x000000EF + CTBME_LEFT_UP = 254 // 0x000000FE + + } ClickTypeBitMaskEnum; + + static_assert_cpp98_obj(sizeof(ClickTypeBitMaskEnum) == 4, ClickTypeBitMaskEnum); + } // namespace Mouse +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnumByte.hpp b/src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnumByte.hpp new file mode 100644 index 0000000..4a8d838 --- /dev/null +++ b/src/OpenSHC/Input/Mouse/ClickTypeBitMaskEnumByte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/Mouse/ClickTypeBitMaskEnumByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input/Mouse/ClickTypeBitMaskEnum.hpp" + +namespace OpenSHC { +namespace Input { + namespace Mouse { + typedef byte ClickTypeBitMaskEnumByte; + + static_assert_cpp98_obj(sizeof(ClickTypeBitMaskEnumByte) == 1, ClickTypeBitMaskEnumByte); + } // namespace Mouse +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/Mouse/MouseClickInteraction.hpp b/src/OpenSHC/Input/Mouse/MouseClickInteraction.hpp new file mode 100644 index 0000000..c2359ac --- /dev/null +++ b/src/OpenSHC/Input/Mouse/MouseClickInteraction.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/Mouse/MouseClickInteraction.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Input { + namespace Mouse { + typedef enum MouseClickInteraction { + + MCI_MOVE = 0, // 0x00000000 + MCI_LEFTDOWN = 1, // 0x00000001 + MCI_LEFTUP = 2, // 0x00000002 + MCI_RIGHTDOWN = 3, // 0x00000003 + MCI_RIGHTUP = 4, // 0x00000004 + MCI_MIDDOWN = 5, // 0x00000005 + MCI_MIDUP = 6 // 0x00000006 + + } MouseClickInteraction; + + static_assert_cpp98_obj(sizeof(MouseClickInteraction) == 4, MouseClickInteraction); + } // namespace Mouse +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp b/src/OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp new file mode 100644 index 0000000..70972e3 --- /dev/null +++ b/src/OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input/Mouse/MouseClickInteraction.hpp" + +namespace OpenSHC { +namespace Input { + namespace Mouse { + typedef int MouseClickInteractionInt; + + static_assert_cpp98_obj(sizeof(MouseClickInteractionInt) == 4, MouseClickInteractionInt); + } // namespace Mouse +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/Mouse/MouseXYUUStruct.hpp b/src/OpenSHC/Input/Mouse/MouseXYUUStruct.hpp new file mode 100644 index 0000000..08f82d7 --- /dev/null +++ b/src/OpenSHC/Input/Mouse/MouseXYUUStruct.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/Mouse/MouseXYUUStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Input { + namespace Mouse { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct MouseXYUUStruct { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + int unknownZero01; // 0x00000008 length: 4 + int unknownOne02; // 0x0000000C length: 4 + + } MouseXYUUStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MouseXYUUStruct) == 16, MouseXYUUStruct); + } // namespace Mouse +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/MouseState.func.hpp b/src/OpenSHC/Input/MouseState.func.hpp new file mode 100644 index 0000000..5931741 --- /dev/null +++ b/src/OpenSHC/Input/MouseState.func.hpp @@ -0,0 +1,82 @@ +/** + path: 'OpenSHC/Input/MouseState.func.hpp' +*/ + +#include "OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp" +#include "OpenSHC/Input/MouseState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace Input { + namespace MouseState_Func { + + using OpenSHC::Input::Mouse::MouseClickInteractionInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00467F80, &MouseState::makeSelectedCursorTypeCurrent) + makeSelectedCursorTypeCurrent; + + MACRO_FUNCTION_RESOLVER(void (MouseState::*)(short, short, MouseClickInteractionInt), false, + Address::SHC_3BB0A8C1_0x00468030, &MouseState::updateMousePositionAndClicks) + updateMousePositionAndClicks; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(int), false, Address::SHC_3BB0A8C1_0x004680B0, &MouseState::updateMouseWheelStatus) + updateMouseWheelStatus; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (MouseState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004680C0, + &MouseState::isMouseInsideBox) + isMouseInsideBox; + + MACRO_FUNCTION_RESOLVER(void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00468100, + &MouseState::updateMouseStateBasedOnCursorAndTime) + updateMouseStateBasedOnCursorAndTime; + + MACRO_FUNCTION_RESOLVER( + HCURSOR (MouseState::*)(DWORD), false, Address::SHC_3BB0A8C1_0x00468370, &MouseState::setCursor) + setCursor; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00468420, &MouseState::meth_0x468420) + meth_0x468420; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004684D0, &MouseState::setupHitBox) + setupHitBox; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00468590, &MouseState::resetMouseCursorState) + resetMouseCursorState; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x004685C0, &MouseState::renderPreviewAtMouseLocation) + renderPreviewAtMouseLocation; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x004687F0, &MouseState::storeXYAndResetMouseState) + storeXYAndResetMouseState; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x004689D0, &MouseState::resetMouseState2) + resetMouseState2; + + MACRO_FUNCTION_RESOLVER(void (MouseState::*)(int, int, int, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00470A00, &MouseState::loadAndSetCursor) + loadAndSetCursor; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00470B30, &MouseState::meth_0x470b30) + meth_0x470b30; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00470BC0, &MouseState::rightClickMenuUnk) + rightClickMenuUnk; + + MACRO_FUNCTION_RESOLVER( + void (MouseState::*)(), false, Address::SHC_3BB0A8C1_0x00472A90, &MouseState::drawMouseBasedBox) + drawMouseBasedBox; + + } // namespace MouseState_Func +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Input/MouseState.hpp b/src/OpenSHC/Input/MouseState.hpp new file mode 100644 index 0000000..57c8e74 --- /dev/null +++ b/src/OpenSHC/Input/MouseState.hpp @@ -0,0 +1,199 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Input/MouseState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Input/Mouse/ClickTypeBitMaskEnumByte.hpp" +#include "OpenSHC/Input/Mouse/MouseClickInteractionInt.hpp" +#include "OpenSHC/Input/Mouse/MouseXYUUStruct.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Input { + + using OpenSHC::Input::Mouse::ClickTypeBitMaskEnumByte; + using OpenSHC::Input::Mouse::MouseClickInteractionInt; + using OpenSHC::Input::Mouse::MouseXYUUStruct; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000274 + class MouseState { + public: + undefined4 inactiveTime; // 0x00000000 length: 4 + undefined4 time0; // 0x00000004 length: 4 + BOOLEnum anyActivity; // 0x00000008 length: 4 + undefined4 flag; // 0x0000000C length: 4 + undefined4 screenSpaceX; // 0x00000010 length: 4 + undefined4 screenSpaceY; // 0x00000014 length: 4 + undefined4 cursorPosX; // 0x00000018 length: 4 + undefined4 cursorPosY; // 0x0000001C length: 4 + undefined4 previousScreenSpaceX; // 0x00000020 length: 4 + undefined4 previousScreenSpaceY; // 0x00000024 length: 4 + BOOLEnum draggingStopped; // 0x00000028 length: 4 + undefined4 midClickStop; // 0x0000002C length: 4 + undefined4 rightClickStop; // 0x00000030 length: 4 + undefined4 leftClickStart; // 0x00000034 length: 4 + undefined4 midClickStart; // 0x00000038 length: 4 + undefined4 rightClickStart; // 0x0000003C length: 4 + BOOLEnum leftClickState; // 0x00000040 length: 4 + BOOLEnum midClickState; // 0x00000044 length: 4 + BOOLEnum rightClickState; // 0x00000048 length: 4 + BOOLEnum previousLeftClickState; // 0x0000004C length: 4 + undefined4 previousMidClickStateUnk; // 0x00000050 length: 4 + uint previousRightClickState; // 0x00000054 length: 4 + undefined4 scrollEventData; // 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 left; // 0x00000070 length: 4 + undefined4 top; // 0x00000074 length: 4 + undefined4 right; // 0x00000078 length: 4 + undefined4 bottom; // 0x0000007C length: 4 + undefined4 hitboxXStart; // 0x00000080 length: 4 + undefined4 hitboxYStart; // 0x00000084 length: 4 + undefined4 hitboxXEnd; // 0x00000088 length: 4 + undefined4 hitboxYEnd; // 0x0000008C length: 4 + int field36_0x90; // 0x00000090 length: 4 + undefined4 field37_0x94; // 0x00000094 length: 4 + undefined1 padding_0x98[4]; // 0x00000098 length: 4 + undefined4 field42_0x9c; // 0x0000009C length: 4 + MouseXYUUStruct mouseXY[9]; // 0x000000A0 length: 144 + undefined4 field44_0x130; // 0x00000130 length: 4 + undefined4 field45_0x134; // 0x00000134 length: 4 + undefined4 field46_0x138; // 0x00000138 length: 4 + undefined4 field47_0x13c; // 0x0000013C length: 4 + undefined4 field48_0x140; // 0x00000140 length: 4 + undefined4 field49_0x144; // 0x00000144 length: 4 + undefined4 field50_0x148; // 0x00000148 length: 4 + undefined4 field51_0x14c; // 0x0000014C length: 4 + undefined4 field52_0x150; // 0x00000150 length: 4 + undefined4 field53_0x154; // 0x00000154 length: 4 + undefined4 field54_0x158; // 0x00000158 length: 4 + undefined4 field55_0x15c; // 0x0000015C length: 4 + undefined4 field56_0x160; // 0x00000160 length: 4 + undefined4 field57_0x164; // 0x00000164 length: 4 + undefined4 index; // 0x00000168 length: 4 + undefined4 storedScreenSpaceX; // 0x0000016C length: 4 + undefined4 storedScreenSpaceY; // 0x00000170 length: 4 + undefined4 field61_0x174; // 0x00000174 length: 4 + undefined4 field62_0x178; // 0x00000178 length: 4 + undefined4 field63_0x17c; // 0x0000017C length: 4 + undefined4 mouseBasedEvent; // 0x00000180 length: 4 + undefined4 field65_0x184; // 0x00000184 length: 4 + undefined4 field66_0x188; // 0x00000188 length: 4 + undefined4 mapOrientationCopy1; // 0x0000018C length: 4 + undefined4 mapOrientationCopy2; // 0x00000190 length: 4 + undefined4 mapOrientationCopy3; // 0x00000194 length: 4 + undefined4 field70_0x198; // 0x00000198 length: 4 + undefined4 field71_0x19c; // 0x0000019C length: 4 + undefined4 currentTime1; // 0x000001A0 length: 4 + undefined4 currentTime2; // 0x000001A4 length: 4 + undefined4 currentTime3; // 0x000001A8 length: 4 + undefined4 field75_0x1ac; // 0x000001AC length: 4 + undefined4 field76_0x1b0; // 0x000001B0 length: 4 + undefined4 field77_0x1b4; // 0x000001B4 length: 4 + undefined4 field78_0x1b8; // 0x000001B8 length: 4 + undefined4 field79_0x1bc; // 0x000001BC length: 4 + undefined4 field80_0x1c0; // 0x000001C0 length: 4 + undefined4 field81_0x1c4; // 0x000001C4 length: 4 + undefined4 field82_0x1c8; // 0x000001C8 length: 4 + int leftClickStartMoment; // 0x000001CC length: 4 + undefined4 dragReleaseX; // 0x000001D0 length: 4 + undefined4 dragReleaseY; // 0x000001D4 length: 4 + undefined4 field86_0x1d8; // 0x000001D8 length: 4 + int field87_0x1dc; // 0x000001DC length: 4 + int waitCursorToggle; // 0x000001E0 length: 4 + int field89_0x1e4; // 0x000001E4 length: 4 + undefined1 padding_0x1e8[8]; // 0x000001E8 length: 8 + undefined4 cursorType; // 0x000001F0 length: 4 + undefined2 mouseWindowX; // 0x000001F4 length: 2 + undefined2 mouseWindowY; // 0x000001F6 length: 2 + undefined2 mouseWheelDelta; // 0x000001F8 length: 2 + ClickTypeBitMaskEnumByte mouseClickTypes; // 0x000001FA length: 1 + undefined1 padding1; // 0x000001FB length: 1 + HCURSOR currentDefaultCursor; // 0x000001FC length: 4 + HCURSOR currentDeleteCursor_0x200; // 0x00000200 length: 4 + HCURSOR unknownNotAniDeleteNotCursor_0x204; // 0x00000204 length: 4 + HCURSOR currentWaitCursor_0x208; // 0x00000208 length: 4 + HCURSOR currentHandCursor_0x20c; // 0x0000020C length: 4 + HCURSOR currentDeleteNotCursor_0x210; // 0x00000210 length: 4 + HCURSOR currentDefaultArabCursor_0x214; // 0x00000214 length: 4 + HCURSOR unknownNotAniCursor_0x218; // 0x00000218 length: 4 + undefined1 padding_0x21c[8]; // 0x0000021C length: 8 + HCURSOR swordCursor_0x224; // 0x00000224 length: 4 + HCURSOR deleteCursor_0x228; // 0x00000228 length: 4 + undefined1 padding_0x22c[4]; // 0x0000022C length: 4 + HCURSOR jesterCursor_0x230; // 0x00000230 length: 4 + HCURSOR handCursor_0x234; // 0x00000234 length: 4 + HCURSOR deleteNotCursor_0x238; // 0x00000238 length: 4 + HCURSOR scimitarCursor_0x23c; // 0x0000023C length: 4 + undefined1 padding_0x240[12]; // 0x00000240 length: 12 + HCURSOR notAniDefaultCursor_0x24c; // 0x0000024C length: 4 + HCURSOR notAniDeleteCursor_0x250; // 0x00000250 length: 4 + undefined1 padding_0x254[4]; // 0x00000254 length: 4 + HCURSOR notAniWaitCursor_0x258; // 0x00000258 length: 4 + HCURSOR notAniHandCursor_0x25c; // 0x0000025C length: 4 + HCURSOR notAniDeleteNotCursor_0x260; // 0x00000260 length: 4 + HCURSOR notAniDefaultArabCursor_0x264; // 0x00000264 length: 4 + undefined1 padding_0x268[12]; // 0x00000268 length: 12 + + private: + MouseState(MouseState const&); + void operator=(MouseState const&); + + MouseState(); + ~MouseState(); + + public: + // Constructor + MouseState* Constructor_MouseState(); + + void makeSelectedCursorTypeCurrent(); + + void updateMousePositionAndClicks(short xMousePos, short yMousePos, MouseClickInteractionInt clickType); + + void updateMouseWheelStatus(int delta); + + BOOLEnum isMouseInsideBox(int xPos, int yPos, int width, int heigth); + + void updateMouseStateBasedOnCursorAndTime(); + + HCURSOR setCursor(DWORD cursorType); + + void meth_0x468420(); + + void setupHitBox(int width, int height); + + void resetMouseCursorState(); + + void renderPreviewAtMouseLocation(); + + void storeXYAndResetMouseState(); + + void resetMouseState2(); + + void loadAndSetCursor(int notAniDefaultCursorRef, int notAniDeleteCursorRef, int notAniDeleteNotCursorRef, + int unused1, int unused2, int unused3, int unused4, int notAniUnknownCursorRef); + + void meth_0x470b30(); + + void rightClickMenuUnk(); + + void drawMouseBasedBox(); + }; + + static_assert_cpp98_obj(sizeof(MouseState) == 628, MouseState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MouseState, false, Address::SHC_3BB0A8C1_0x00F2C9B0) pDAT_MouseState; + +} // namespace Input +} // namespace OpenSHC diff --git a/src/OpenSHC/Map.func.hpp b/src/OpenSHC/Map.func.hpp new file mode 100644 index 0000000..f5b3afe --- /dev/null +++ b/src/OpenSHC/Map.func.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map.hpp" +namespace OpenSHC { +namespace Map_Func { + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int playerID, int miniTileX, int miniTileY, int tileHeightMin8, int two), + false, Address::SHC_3BB0A8C1_0x00407130, &OpenSHC::Map::IgniteFireAtMiniTile_Convenience) + IgniteFireAtMiniTile_Convenience; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, int buildingID, int value, int buildingUID), false, + Address::SHC_3BB0A8C1_0x004653B0, &OpenSHC::Map::OpenOrCloseDrawbridge) + OpenOrCloseDrawbridge; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 playerID, int buildingID, int newGateState, int buildingUID), + false, Address::SHC_3BB0A8C1_0x004654F0, &OpenSHC::Map::GateOpenOrClose) + GateOpenOrClose; + +} // namespace Map_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Map.hpp b/src/OpenSHC/Map.hpp new file mode 100644 index 0000000..f3843dd --- /dev/null +++ b/src/OpenSHC/Map.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + + void __cdecl IgniteFireAtMiniTile_Convenience( + int playerID, int miniTileX, int miniTileY, int tileHeightMin8, int two); + + void __cdecl OpenOrCloseDrawbridge(undefined4 param_1, int buildingID, int value, int buildingUID); + + void __cdecl GateOpenOrClose(undefined4 playerID, int buildingID, int newGateState, int buildingUID); + +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AnimationFrameData.hpp b/src/OpenSHC/Map/AnimationFrameData.hpp new file mode 100644 index 0000000..a6d610a --- /dev/null +++ b/src/OpenSHC/Map/AnimationFrameData.hpp @@ -0,0 +1,438 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AnimationFrameData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x000083D4 + typedef struct AnimationFrameData { + + byte ANIM_Frames_Shared_UnitClimbingUp[20]; // 0x00000000 length: 20 + byte field1_0x14[276]; // 0x00000014 length: 276 + byte drunkard[1172]; // 0x00000128 length: 1172 + byte useWeapon[124]; // 0x000005BC length: 124 + byte ANIM_Frames_UnitDeath[52]; // 0x00000638 length: 52 + byte field5_0x66c[104]; // 0x0000066C length: 104 + byte field6_0x6d4[144]; // 0x000006D4 length: 144 + byte field7_0x764[96]; // 0x00000764 length: 96 + byte field8_0x7c4[96]; // 0x000007C4 length: 96 + byte field9_0x824[104]; // 0x00000824 length: 104 + byte field10_0x88c[88]; // 0x0000088C length: 88 + byte field11_0x8e4[88]; // 0x000008E4 length: 88 + byte field12_0x93c[96]; // 0x0000093C length: 96 + byte field13_0x99c[96]; // 0x0000099C length: 96 + byte field14_0x9fc[96]; // 0x000009FC length: 96 + byte ANIM_Worker_Shared1[104]; // 0x00000A5C length: 104 + byte field16_0xac4[104]; // 0x00000AC4 length: 104 + byte field17_0xb2c[88]; // 0x00000B2C length: 88 + byte field18_0xb84[112]; // 0x00000B84 length: 112 + byte field19_0xbf4[40]; // 0x00000BF4 length: 40 + byte field20_0xc1c[24]; // 0x00000C1C length: 24 + byte field21_0xc34[32]; // 0x00000C34 length: 32 + byte field22_0xc54[32]; // 0x00000C54 length: 32 + byte field23_0xc74[44]; // 0x00000C74 length: 44 + byte field24_0xca0[64]; // 0x00000CA0 length: 64 + byte field25_0xce0[56]; // 0x00000CE0 length: 56 + byte field26_0xd18[40]; // 0x00000D18 length: 40 + byte field27_0xd40[60]; // 0x00000D40 length: 60 + byte field28_0xd7c[216]; // 0x00000D7C length: 216 + byte ANIM_Archer_CrusaderAndArabian1[32]; // 0x00000E54 length: 32 + byte field30_0xe74[272]; // 0x00000E74 length: 272 + byte field31_0xf84[68]; // 0x00000F84 length: 68 + byte field32_0xfc8[28]; // 0x00000FC8 length: 28 + byte field33_0xfe4[48]; // 0x00000FE4 length: 48 + byte field34_0x1014[104]; // 0x00001014 length: 104 + byte field35_0x107c[36]; // 0x0000107C length: 36 + byte field36_0x10a0[40]; // 0x000010A0 length: 40 + byte field37_0x10c8[44]; // 0x000010C8 length: 44 + byte field38_0x10f4[88]; // 0x000010F4 length: 88 + byte field39_0x114c[100]; // 0x0000114C length: 100 + byte field40_0x11b0[36]; // 0x000011B0 length: 36 + byte field41_0x11d4[36]; // 0x000011D4 length: 36 + byte field42_0x11f8[28]; // 0x000011F8 length: 28 + byte field43_0x1214[36]; // 0x00001214 length: 36 + byte field44_0x1238[36]; // 0x00001238 length: 36 + byte field45_0x125c[36]; // 0x0000125C length: 36 + byte field46_0x1280[36]; // 0x00001280 length: 36 + byte field47_0x12a4[96]; // 0x000012A4 length: 96 + byte field48_0x1304[40]; // 0x00001304 length: 40 + byte field49_0x132c[92]; // 0x0000132C length: 92 + byte field50_0x1388[36]; // 0x00001388 length: 36 + byte field51_0x13ac[36]; // 0x000013AC length: 36 + byte field52_0x13d0[32]; // 0x000013D0 length: 32 + byte field53_0x13f0[52]; // 0x000013F0 length: 52 + byte field54_0x1424[48]; // 0x00001424 length: 48 + byte field55_0x1454[80]; // 0x00001454 length: 80 + byte field56_0x14a4[104]; // 0x000014A4 length: 104 + byte field57_0x150c[32]; // 0x0000150C length: 32 + byte field58_0x152c[32]; // 0x0000152C length: 32 + byte field59_0x154c[68]; // 0x0000154C length: 68 + byte field60_0x1590[28]; // 0x00001590 length: 28 + byte field61_0x15ac[28]; // 0x000015AC length: 28 + byte field62_0x15c8[28]; // 0x000015C8 length: 28 + byte field63_0x15e4[48]; // 0x000015E4 length: 48 + byte field64_0x1614[44]; // 0x00001614 length: 44 + byte field65_0x1640[44]; // 0x00001640 length: 44 + byte field66_0x166c[56]; // 0x0000166C length: 56 + byte field67_0x16a4[40]; // 0x000016A4 length: 40 + byte field68_0x16cc[56]; // 0x000016CC length: 56 + byte field69_0x1704[40]; // 0x00001704 length: 40 + byte field70_0x172c[28]; // 0x0000172C length: 28 + byte field71_0x1748[32]; // 0x00001748 length: 32 + byte field72_0x1768[28]; // 0x00001768 length: 28 + byte field73_0x1784[40]; // 0x00001784 length: 40 + byte field74_0x17ac[40]; // 0x000017AC length: 40 + byte field75_0x17d4[40]; // 0x000017D4 length: 40 + byte field76_0x17fc[40]; // 0x000017FC length: 40 + char field77_0x1824[24]; // 0x00001824 length: 24 + byte field78_0x183c[100]; // 0x0000183C length: 100 + byte field79_0x18a0[100]; // 0x000018A0 length: 100 + byte field80_0x1904[104]; // 0x00001904 length: 104 + byte field81_0x196c[60]; // 0x0000196C length: 60 + byte field82_0x19a8[60]; // 0x000019A8 length: 60 + byte field83_0x19e4[64]; // 0x000019E4 length: 64 + byte field84_0x1a24[60]; // 0x00001A24 length: 60 + byte field85_0x1a60[60]; // 0x00001A60 length: 60 + byte field86_0x1a9c[60]; // 0x00001A9C length: 60 + byte field87_0x1ad8[60]; // 0x00001AD8 length: 60 + byte field88_0x1b14[60]; // 0x00001B14 length: 60 + byte field89_0x1b50[60]; // 0x00001B50 length: 60 + byte field90_0x1b8c[60]; // 0x00001B8C length: 60 + byte field91_0x1bc8[60]; // 0x00001BC8 length: 60 + byte field92_0x1c04[36]; // 0x00001C04 length: 36 + byte field93_0x1c28[44]; // 0x00001C28 length: 44 + byte field94_0x1c54[68]; // 0x00001C54 length: 68 + byte field95_0x1c98[64]; // 0x00001C98 length: 64 + byte field96_0x1cd8[44]; // 0x00001CD8 length: 44 + byte field97_0x1d04[68]; // 0x00001D04 length: 68 + byte field98_0x1d48[52]; // 0x00001D48 length: 52 + byte field99_0x1d7c[84]; // 0x00001D7C length: 84 + byte field100_0x1dd0[40]; // 0x00001DD0 length: 40 + byte field101_0x1df8[40]; // 0x00001DF8 length: 40 + byte field102_0x1e20[40]; // 0x00001E20 length: 40 + byte field103_0x1e48[52]; // 0x00001E48 length: 52 + byte field104_0x1e7c[36]; // 0x00001E7C length: 36 + byte field105_0x1ea0[36]; // 0x00001EA0 length: 36 + byte field106_0x1ec4[120]; // 0x00001EC4 length: 120 + byte field107_0x1f3c[72]; // 0x00001F3C length: 72 + byte field108_0x1f84[104]; // 0x00001F84 length: 104 + byte field109_0x1fec[108]; // 0x00001FEC length: 108 + byte field110_0x2058[44]; // 0x00002058 length: 44 + byte field111_0x2084[128]; // 0x00002084 length: 128 + byte field112_0x2104[128]; // 0x00002104 length: 128 + byte field113_0x2184[140]; // 0x00002184 length: 140 + byte field114_0x2210[44]; // 0x00002210 length: 44 + byte field115_0x223c[40]; // 0x0000223C length: 40 + byte field116_0x2264[44]; // 0x00002264 length: 44 + byte field117_0x2290[76]; // 0x00002290 length: 76 + byte field118_0x22dc[272]; // 0x000022DC length: 272 + byte fixme_integerArrayLadderMan[88]; // 0x000023EC length: 88 + byte fixme_integerArrayLadderMan2[96]; // 0x00002444 length: 96 + byte field121_0x24a4[40]; // 0x000024A4 length: 40 + byte fixme_integerArrayLadderMan3[56]; // 0x000024CC length: 56 + byte field123_0x2504[52]; // 0x00002504 length: 52 + byte field124_0x2538[52]; // 0x00002538 length: 52 + byte ANIM_Slave_Idle1[32]; // 0x0000256C length: 32 + byte ANIM_Slave_Idle2[96]; // 0x0000258C length: 96 + byte ANIM_Slave_Idle3[144]; // 0x000025EC length: 144 + byte ANIM_Slave_Idle4[152]; // 0x0000267C length: 152 + byte fixme_integerArraySlave5[60]; // 0x00002714 length: 60 + byte fixme_integerArraySlave6[60]; // 0x00002750 length: 60 + byte fixme_integerArrayArabianArcher1[32]; // 0x0000278C length: 32 + byte fixme_integerArrayArabianArcher2[24]; // 0x000027AC length: 24 + byte fixme_integerArrayArabianArcher3[40]; // 0x000027C4 length: 40 + byte ANIM_ArabianArcher_Melee[48]; // 0x000027EC length: 48 + byte fixme_integerArrayArabianArcher5[28]; // 0x0000281C length: 28 + byte ANIM_ArabianArcher_Idle_SitDown[36]; // 0x00002838 length: 36 + byte ANIM_ArabianArcher_Idle1[128]; // 0x0000285C length: 128 + byte ANIM_ArabianArcher_Idle2[96]; // 0x000028DC length: 96 + byte ANIM_ArabianArcher_Idle3[124]; // 0x0000293C length: 124 + byte ANIM_ArabianArcher_Idle4[108]; // 0x000029B8 length: 108 + byte ANIM_Slinger_Melee[84]; // 0x00002A24 length: 84 + byte ANIM_Slinger_Idle_101_sit_down[36]; // 0x00002A78 length: 36 + byte ANIM_Slinger_Idle_1_0x6a_0x6b[96]; // 0x00002A9C length: 96 + byte ANIM_Slinger_Idle_2_0x6a_0x6b[132]; // 0x00002AFC length: 132 + byte field145_0x2b80[32]; // 0x00002B80 length: 32 + byte field146_0x2ba0[52]; // 0x00002BA0 length: 52 + byte ANIM_Slinger_8[84]; // 0x00002BD4 length: 84 + byte ANIM_Slinger_4[28]; // 0x00002C28 length: 28 + byte ANIM_Slinger_Throwing[56]; // 0x00002C44 length: 56 + byte field150_0x2c7c[24]; // 0x00002C7C length: 24 + byte field151_0x2c94[52]; // 0x00002C94 length: 52 + byte DAT_AssassinAnimationFrames0[52]; // 0x00002CC8 length: 52 + byte DAT_AssassinAnimationFrames1[64]; // 0x00002CFC length: 64 + byte DAT_AssassinAnimationFrames2[48]; // 0x00002D3C length: 48 + byte DAT_AssassinAnimationFrames4[64]; // 0x00002D6C length: 64 + byte field156_0x2dac[72]; // 0x00002DAC length: 72 + byte field157_0x2df4[88]; // 0x00002DF4 length: 88 + byte field158_0x2e4c[100]; // 0x00002E4C length: 100 + byte field159_0x2eb0[40]; // 0x00002EB0 length: 40 + byte field160_0x2ed8[44]; // 0x00002ED8 length: 44 + byte ANIM_HorseArcher_Idle_part1[96]; // 0x00002F04 length: 96 + byte ANIM_HorseArcher_Idle_part2[92]; // 0x00002F64 length: 92 + byte field163_0x2fc0[76]; // 0x00002FC0 length: 76 + byte field164_0x300c[216]; // 0x0000300C length: 216 + byte ANIM_Frames_HorseArcher_Shooting_1[104]; // 0x000030E4 length: 104 + byte ANIM_Frames_HorseArcher_Shooting_2[88]; // 0x0000314C length: 88 + byte ANIM_Frames_HorseArcher_Shooting_3[104]; // 0x000031A4 length: 104 + byte ANIM_ArabianSwordsman_Melee[64]; // 0x0000320C length: 64 + byte DAT_ANI_ASWORD_UNKNOWN_1[88]; // 0x0000324C length: 88 + byte ANIM_ArabianSwordsman_Idle1[104]; // 0x000032A4 length: 104 + byte ANIM_ArabianSwordsman_Idle2[48]; // 0x0000330C length: 48 + byte ANIM_ArabianSwordsman_Idle3[80]; // 0x0000333C length: 80 + byte ANIM_ArabianSwordsman_Idle4[104]; // 0x0000338C length: 104 + byte field174_0x33f4[76]; // 0x000033F4 length: 76 + byte field175_0x3440[52]; // 0x00003440 length: 52 + byte field176_0x3474[96]; // 0x00003474 length: 96 + byte field177_0x34d4[24]; // 0x000034D4 length: 24 + byte field178_0x34ec[36]; // 0x000034EC length: 36 + byte field179_0x3510[60]; // 0x00003510 length: 60 + byte ANIM_FireThrower_Idle1[72]; // 0x0000354C length: 72 + byte ANIM_FireThrower_Idle2[72]; // 0x00003594 length: 72 + byte field182_0x35dc[120]; // 0x000035DC length: 120 + byte field183_0x3654[120]; // 0x00003654 length: 120 + byte field184_0x36cc[136]; // 0x000036CC length: 136 + byte field185_0x3754[92]; // 0x00003754 length: 92 + byte field186_0x37b0[36]; // 0x000037B0 length: 36 + byte field187_0x37d4[36]; // 0x000037D4 length: 36 + byte field188_0x37f8[36]; // 0x000037F8 length: 36 + byte field189_0x381c[32]; // 0x0000381C length: 32 + byte field190_0x383c[28]; // 0x0000383C length: 28 + byte field191_0x3858[36]; // 0x00003858 length: 36 + byte field192_0x387c[44]; // 0x0000387C length: 44 + byte field193_0x38a8[56]; // 0x000038A8 length: 56 + byte field194_0x38e0[64]; // 0x000038E0 length: 64 + byte field195_0x3920[32]; // 0x00003920 length: 32 + byte field196_0x3940[28]; // 0x00003940 length: 28 + byte field197_0x395c[40]; // 0x0000395C length: 40 + byte field198_0x3984[152]; // 0x00003984 length: 152 + byte field199_0x3a1c[128]; // 0x00003A1C length: 128 + byte field200_0x3a9c[192]; // 0x00003A9C length: 192 + byte field201_0x3b5c[272]; // 0x00003B5C length: 272 + byte field202_0x3c6c[40]; // 0x00003C6C length: 40 + byte field203_0x3c94[116]; // 0x00003C94 length: 116 + byte field204_0x3d08[36]; // 0x00003D08 length: 36 + byte field205_0x3d2c[68]; // 0x00003D2C length: 68 + byte field206_0x3d70[52]; // 0x00003D70 length: 52 + byte field207_0x3da4[124]; // 0x00003DA4 length: 124 + byte field208_0x3e20[52]; // 0x00003E20 length: 52 + byte field209_0x3e54[48]; // 0x00003E54 length: 48 + byte field210_0x3e84[128]; // 0x00003E84 length: 128 + byte field211_0x3f04[88]; // 0x00003F04 length: 88 + byte field212_0x3f5c[152]; // 0x00003F5C length: 152 + byte field213_0x3ff4[44]; // 0x00003FF4 length: 44 + byte field214_0x4020[44]; // 0x00004020 length: 44 + byte field215_0x404c[36]; // 0x0000404C length: 36 + byte field216_0x4070[68]; // 0x00004070 length: 68 + byte field217_0x40b4[144]; // 0x000040B4 length: 144 + byte field218_0x4144[88]; // 0x00004144 length: 88 + byte field219_0x419c[32]; // 0x0000419C length: 32 + byte field220_0x41bc[40]; // 0x000041BC length: 40 + byte field221_0x41e4[36]; // 0x000041E4 length: 36 + byte field222_0x4208[44]; // 0x00004208 length: 44 + byte field223_0x4234[44]; // 0x00004234 length: 44 + byte field224_0x4260[100]; // 0x00004260 length: 100 + byte field225_0x42c4[80]; // 0x000042C4 length: 80 + byte field226_0x4314[80]; // 0x00004314 length: 80 + byte field227_0x4364[80]; // 0x00004364 length: 80 + byte field228_0x43b4[104]; // 0x000043B4 length: 104 + byte field229_0x441c[40]; // 0x0000441C length: 40 + byte field230_0x4444[56]; // 0x00004444 length: 56 + byte field231_0x447c[40]; // 0x0000447C length: 40 + byte field232_0x44a4[120]; // 0x000044A4 length: 120 + byte field233_0x451c[144]; // 0x0000451C length: 144 + byte field234_0x45ac[100]; // 0x000045AC length: 100 + byte field235_0x4610[40]; // 0x00004610 length: 40 + byte field236_0x4638[52]; // 0x00004638 length: 52 + byte field237_0x466c[88]; // 0x0000466C length: 88 + byte field238_0x46c4[96]; // 0x000046C4 length: 96 + byte field239_0x4724[112]; // 0x00004724 length: 112 + byte field240_0x4794[112]; // 0x00004794 length: 112 + byte field241_0x4804[88]; // 0x00004804 length: 88 + byte field242_0x485c[64]; // 0x0000485C length: 64 + byte field243_0x489c[104]; // 0x0000489C length: 104 + byte field244_0x4904[136]; // 0x00004904 length: 136 + byte field245_0x498c[56]; // 0x0000498C length: 56 + byte field246_0x49c4[112]; // 0x000049C4 length: 112 + byte field247_0x4a34[124]; // 0x00004A34 length: 124 + byte field248_0x4ab0[36]; // 0x00004AB0 length: 36 + byte field249_0x4ad4[72]; // 0x00004AD4 length: 72 + byte field250_0x4b1c[168]; // 0x00004B1C length: 168 + byte field251_0x4bc4[48]; // 0x00004BC4 length: 48 + byte field252_0x4bf4[168]; // 0x00004BF4 length: 168 + byte field253_0x4c9c[76]; // 0x00004C9C length: 76 + byte field254_0x4ce8[40]; // 0x00004CE8 length: 40 + byte field255_0x4d10[44]; // 0x00004D10 length: 44 + byte field256_0x4d3c[168]; // 0x00004D3C length: 168 + byte field257_0x4de4[76]; // 0x00004DE4 length: 76 + byte field258_0x4e30[56]; // 0x00004E30 length: 56 + byte field259_0x4e68[60]; // 0x00004E68 length: 60 + byte DAT_AnimationAppleFarm[156]; // 0x00004EA4 length: 156 + byte field261_0x4f40[52]; // 0x00004F40 length: 52 + byte field262_0x4f74[476]; // 0x00004F74 length: 476 + byte field263_0x5150[16]; // 0x00005150 length: 16 + byte field264_0x5160[20]; // 0x00005160 length: 20 + byte field265_0x5174[120]; // 0x00005174 length: 120 + byte field266_0x51ec[200]; // 0x000051EC length: 200 + byte field267_0x52b4[112]; // 0x000052B4 length: 112 + byte field268_0x5324[184]; // 0x00005324 length: 184 + byte field269_0x53dc[164]; // 0x000053DC length: 164 + byte field270_0x5480[40]; // 0x00005480 length: 40 + byte field271_0x54a8[56]; // 0x000054A8 length: 56 + byte field272_0x54e0[44]; // 0x000054E0 length: 44 + byte field273_0x550c[56]; // 0x0000550C length: 56 + byte field274_0x5544[72]; // 0x00005544 length: 72 + byte field275_0x558c[56]; // 0x0000558C length: 56 + byte field276_0x55c4[176]; // 0x000055C4 length: 176 + byte field277_0x5674[136]; // 0x00005674 length: 136 + byte field278_0x56fc[76]; // 0x000056FC length: 76 + byte field279_0x5748[52]; // 0x00005748 length: 52 + byte field280_0x577c[128]; // 0x0000577C length: 128 + byte field281_0x57fc[184]; // 0x000057FC length: 184 + byte field282_0x58b4[88]; // 0x000058B4 length: 88 + byte field283_0x590c[72]; // 0x0000590C length: 72 + byte field284_0x5954[112]; // 0x00005954 length: 112 + byte field285_0x59c4[172]; // 0x000059C4 length: 172 + byte field286_0x5a70[52]; // 0x00005A70 length: 52 + byte field287_0x5aa4[108]; // 0x00005AA4 length: 108 + byte field288_0x5b10[44]; // 0x00005B10 length: 44 + byte DAT_InnKeeperAnimationIndices[100]; // 0x00005B3C length: 100 + byte field290_0x5ba0[32]; // 0x00005BA0 length: 32 + byte field291_0x5bc0[32]; // 0x00005BC0 length: 32 + byte field292_0x5be0[68]; // 0x00005BE0 length: 68 + byte field293_0x5c24[112]; // 0x00005C24 length: 112 + byte field294_0x5c94[80]; // 0x00005C94 length: 80 + byte field295_0x5ce4[68]; // 0x00005CE4 length: 68 + byte field296_0x5d28[40]; // 0x00005D28 length: 40 + byte field297_0x5d50[40]; // 0x00005D50 length: 40 + byte field298_0x5d78[56]; // 0x00005D78 length: 56 + byte field299_0x5db0[56]; // 0x00005DB0 length: 56 + byte field300_0x5de8[36]; // 0x00005DE8 length: 36 + byte field301_0x5e0c[44]; // 0x00005E0C length: 44 + byte field302_0x5e38[52]; // 0x00005E38 length: 52 + byte field303_0x5e6c[84]; // 0x00005E6C length: 84 + byte field304_0x5ec0[36]; // 0x00005EC0 length: 36 + byte field305_0x5ee4[36]; // 0x00005EE4 length: 36 + byte field306_0x5f08[44]; // 0x00005F08 length: 44 + byte field307_0x5f34[56]; // 0x00005F34 length: 56 + byte field308_0x5f6c[52]; // 0x00005F6C length: 52 + byte field309_0x5fa0[28]; // 0x00005FA0 length: 28 + byte field310_0x5fbc[56]; // 0x00005FBC length: 56 + byte field311_0x5ff4[72]; // 0x00005FF4 length: 72 + byte field312_0x603c[72]; // 0x0000603C length: 72 + byte field313_0x6084[88]; // 0x00006084 length: 88 + byte field314_0x60dc[72]; // 0x000060DC length: 72 + byte field315_0x6124[40]; // 0x00006124 length: 40 + byte field316_0x614c[36]; // 0x0000614C length: 36 + byte field317_0x6170[36]; // 0x00006170 length: 36 + byte field318_0x6194[120]; // 0x00006194 length: 120 + byte field319_0x620c[96]; // 0x0000620C length: 96 + byte field320_0x626c[136]; // 0x0000626C length: 136 + byte field321_0x62f4[88]; // 0x000062F4 length: 88 + byte field322_0x634c[84]; // 0x0000634C length: 84 + byte field323_0x63a0[52]; // 0x000063A0 length: 52 + byte field324_0x63d4[72]; // 0x000063D4 length: 72 + byte field325_0x641c[36]; // 0x0000641C length: 36 + byte field326_0x6440[44]; // 0x00006440 length: 44 + byte field327_0x646c[144]; // 0x0000646C length: 144 + byte field328_0x64fc[128]; // 0x000064FC length: 128 + byte field329_0x657c[336]; // 0x0000657C length: 336 + byte field330_0x66cc[80]; // 0x000066CC length: 80 + byte field331_0x671c[104]; // 0x0000671C length: 104 + byte field332_0x6784[128]; // 0x00006784 length: 128 + byte field333_0x6804[160]; // 0x00006804 length: 160 + byte field334_0x68a4[80]; // 0x000068A4 length: 80 + byte field335_0x68f4[144]; // 0x000068F4 length: 144 + byte field336_0x6984[36]; // 0x00006984 length: 36 + byte field337_0x69a8[36]; // 0x000069A8 length: 36 + byte field338_0x69cc[256]; // 0x000069CC length: 256 + byte field339_0x6acc[64]; // 0x00006ACC length: 64 + byte field340_0x6b0c[344]; // 0x00006B0C length: 344 + byte field341_0x6c64[64]; // 0x00006C64 length: 64 + byte field342_0x6ca4[72]; // 0x00006CA4 length: 72 + byte field343_0x6cec[40]; // 0x00006CEC length: 40 + byte field344_0x6d14[104]; // 0x00006D14 length: 104 + byte field345_0x6d7c[28]; // 0x00006D7C length: 28 + byte field346_0x6d98[32]; // 0x00006D98 length: 32 + byte field347_0x6db8[268]; // 0x00006DB8 length: 268 + byte field348_0x6ec4[376]; // 0x00006EC4 length: 376 + byte field349_0x703c[36]; // 0x0000703C length: 36 + byte field350_0x7060[24]; // 0x00007060 length: 24 + byte field351_0x7078[32]; // 0x00007078 length: 32 + byte field352_0x7098[40]; // 0x00007098 length: 40 + byte field353_0x70c0[32]; // 0x000070C0 length: 32 + byte field354_0x70e0[84]; // 0x000070E0 length: 84 + byte field355_0x7134[68]; // 0x00007134 length: 68 + byte field356_0x7178[40]; // 0x00007178 length: 40 + byte field357_0x71a0[52]; // 0x000071A0 length: 52 + byte field358_0x71d4[56]; // 0x000071D4 length: 56 + byte field359_0x720c[92]; // 0x0000720C length: 92 + byte field360_0x7268[56]; // 0x00007268 length: 56 + byte field361_0x72a0[64]; // 0x000072A0 length: 64 + byte field362_0x72e0[48]; // 0x000072E0 length: 48 + byte field363_0x7310[136]; // 0x00007310 length: 136 + byte field364_0x7398[44]; // 0x00007398 length: 44 + byte field365_0x73c4[48]; // 0x000073C4 length: 48 + byte field366_0x73f4[112]; // 0x000073F4 length: 112 + byte field367_0x7464[80]; // 0x00007464 length: 80 + byte field368_0x74b4[112]; // 0x000074B4 length: 112 + byte field369_0x7524[192]; // 0x00007524 length: 192 + byte field370_0x75e4[240]; // 0x000075E4 length: 240 + byte field371_0x76d4[120]; // 0x000076D4 length: 120 + byte field372_0x774c[112]; // 0x0000774C length: 112 + byte field373_0x77bc[120]; // 0x000077BC length: 120 + byte field374_0x7834[184]; // 0x00007834 length: 184 + byte field375_0x78ec[64]; // 0x000078EC length: 64 + byte field376_0x792c[88]; // 0x0000792C length: 88 + byte field377_0x7984[68]; // 0x00007984 length: 68 + byte field378_0x79c8[28]; // 0x000079C8 length: 28 + byte field379_0x79e4[72]; // 0x000079E4 length: 72 + byte field380_0x7a2c[40]; // 0x00007A2C length: 40 + byte field381_0x7a54[88]; // 0x00007A54 length: 88 + byte field382_0x7aac[80]; // 0x00007AAC length: 80 + byte field383_0x7afc[88]; // 0x00007AFC length: 88 + byte field384_0x7b54[88]; // 0x00007B54 length: 88 + byte field385_0x7bac[108]; // 0x00007BAC length: 108 + byte field386_0x7c18[52]; // 0x00007C18 length: 52 + byte field387_0x7c4c[72]; // 0x00007C4C length: 72 + byte field388_0x7c94[40]; // 0x00007C94 length: 40 + byte field389_0x7cbc[52]; // 0x00007CBC length: 52 + byte field390_0x7cf0[44]; // 0x00007CF0 length: 44 + byte field391_0x7d1c[44]; // 0x00007D1C length: 44 + byte field392_0x7d48[40]; // 0x00007D48 length: 40 + byte field393_0x7d70[44]; // 0x00007D70 length: 44 + byte field394_0x7d9c[96]; // 0x00007D9C length: 96 + byte field395_0x7dfc[96]; // 0x00007DFC length: 96 + byte field396_0x7e5c[96]; // 0x00007E5C length: 96 + byte field397_0x7ebc[76]; // 0x00007EBC length: 76 + byte field398_0x7f08[52]; // 0x00007F08 length: 52 + byte field399_0x7f3c[80]; // 0x00007F3C length: 80 + byte field400_0x7f8c[80]; // 0x00007F8C length: 80 + byte field401_0x7fdc[72]; // 0x00007FDC length: 72 + byte field402_0x8024[88]; // 0x00008024 length: 88 + byte field403_0x807c[88]; // 0x0000807C length: 88 + byte field404_0x80d4[72]; // 0x000080D4 length: 72 + byte field405_0x811c[80]; // 0x0000811C length: 80 + byte field406_0x816c[80]; // 0x0000816C length: 80 + byte field407_0x81bc[76]; // 0x000081BC length: 76 + byte field408_0x8208[44]; // 0x00008208 length: 44 + byte field409_0x8234[80]; // 0x00008234 length: 80 + byte field410_0x8284[76]; // 0x00008284 length: 76 + byte field411_0x82d0[40]; // 0x000082D0 length: 40 + byte field412_0x82f8[40]; // 0x000082F8 length: 40 + byte field413_0x8320[44]; // 0x00008320 length: 44 + byte field414_0x834c[48]; // 0x0000834C length: 48 + byte field415_0x837c[44]; // 0x0000837C length: 44 + byte field416_0x83a8[44]; // 0x000083A8 length: 44 + + } AnimationFrameData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AnimationFrameData) == 33748, AnimationFrameData); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfo.hpp b/src/OpenSHC/Map/AttackInfo.hpp new file mode 100644 index 0000000..2c55009 --- /dev/null +++ b/src/OpenSHC/Map/AttackInfo.hpp @@ -0,0 +1,194 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfo.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Siege/EngineerBuildingAndCountPair.hpp" +#include "OpenSHC/Map/AttackInfoPitchRelated.hpp" +#include "OpenSHC/Map/AttackInfoSubArrayElement1.hpp" +#include "OpenSHC/Map/AttackInfoSubArrayElement2.hpp" +#include "OpenSHC/Map/AttackInfoSubArrayElement3.hpp" +#include "OpenSHC/Map/AttackInfoSubElement.hpp" +#include "OpenSHC/Map/Units/Attack/TribeSizesPerTribeType.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::AI::Siege::EngineerBuildingAndCountPair; + using OpenSHC::Map::AttackInfoPitchRelated; + using OpenSHC::Map::AttackInfoSubArrayElement1; + using OpenSHC::Map::AttackInfoSubArrayElement2; + using OpenSHC::Map::AttackInfoSubArrayElement3; + using OpenSHC::Map::AttackInfoSubElement; + using OpenSHC::Map::Units::Attack::TribeSizesPerTribeType; + +#pragma pack(push, 1) + // SIZE: 0x0010375C + typedef struct AttackInfo { + + undefined1 padding_0x0[80144]; // 0x00000000 length: 80144 + int high1; // 0x00013910 length: 4 + int high2; // 0x00013914 length: 4 + int high3; // 0x00013918 length: 4 + AttackInfoSubArrayElement1 high2ValuesArray[1000]; // 0x0001391C length: 16000 + undefined1 padding_0x1779c[16]; // 0x0001779C length: 16 + int arch1; // 0x000177AC length: 4 + int arch2; // 0x000177B0 length: 4 + int arch3; // 0x000177B4 length: 4 + AttackInfoSubArrayElement1 arch2ValuesArray[1000]; // 0x000177B8 length: 16000 + undefined1 padding_0x1b638[16]; // 0x0001B638 length: 16 + int archerPoints; // 0x0001B648 length: 4 + int archerPointsNext; // 0x0001B64C length: 4 + undefined1 padding_0x1b650[6432]; // 0x0001B650 length: 6432 + int targetedBuildingTilesArray[4000]; // 0x0001CF70 length: 16000 + int targetedBuildingTilesArraySize; // 0x00020DF0 length: 4 + int startCon; // 0x00020DF4 length: 4 + int keepCon; // 0x00020DF8 length: 4 + int counter; // 0x00020DFC length: 4 + undefined1 padding_0x20e00[4]; // 0x00020E00 length: 4 + int field86627_0x20e04; // 0x00020E04 length: 4 + int index; // 0x00020E08 length: 4 + undefined1 padding_0x20e0c[340]; // 0x00020E0C length: 340 + int catapults; // 0x00020F60 length: 4 + int engineers; // 0x00020F64 length: 4 + int pikemenSwordsmenAndMore; // 0x00020F68 length: 4 + int laddermen; // 0x00020F6C length: 4 + int spearmenAndMacemen; // 0x00020F70 length: 4 + int field86974_0x20f74; // 0x00020F74 length: 4 + int attacker; // 0x00020F78 length: 4 + undefined1 padding_0x20f7c[4]; // 0x00020F7C length: 4 + int aiTroops; // 0x00020F80 length: 4 + undefined1 padding_0x20f84[4]; // 0x00020F84 length: 4 + int biggestZone; // 0x00020F88 length: 4 + int startZone; // 0x00020F8C length: 4 + int unknownOne_0x20f90; // 0x00020F90 length: 4 + int scaleZone; // 0x00020F94 length: 4 + int field86989_0x20f98; // 0x00020F98 length: 4 + int field86990_0x20f9c; // 0x00020F9C length: 4 + int someCounter1; // 0x00020FA0 length: 4 + undefined1 padding_0x20fa4[4]; // 0x00020FA4 length: 4 + short nof_fpointsArray[50][8]; // 0x00020FA8 length: 800 + undefined1 padding_0x212c8[2416]; // 0x000212C8 length: 2416 + int nof_fpoints; // 0x00021C38 length: 4 + int lowTroopValueRelated; // 0x00021C3C length: 4 + int size; // 0x00021C40 length: 4 + int value10; // 0x00021C44 length: 4 + int field89417_0x21c48; // 0x00021C48 length: 4 + int field89418_0x21c4c; // 0x00021C4C length: 4 + int casDis; // 0x00021C50 length: 4 + undefined1 padding_0x21c54[16036]; // 0x00021C54 length: 16036 + int zoneSize; // 0x00025AF8 length: 4 + int someDistanceLimit; // 0x00025AFC length: 4 + int field105458_0x25b00; // 0x00025B00 length: 4 + int playerTotalTroopValueArray[9]; // 0x00025B04 length: 36 + int field105460_0x25b28; // 0x00025B28 length: 4 + int playerTotalTroopValueOfTroopsNearKeep[9]; // 0x00025B2C length: 36 + undefined1 padding_0x25b50[20480]; // 0x00025B50 length: 20480 + int someIntArray2[50]; // 0x0002AB50 length: 200 + undefined1 padding_0x2ac18[1596]; // 0x0002AC18 length: 1596 + AttackInfoPitchRelated field127539_0x2b254[100]; // 0x0002B254 length: 800 + int field127540_0x2b574; // 0x0002B574 length: 4 + int field127541_0x2b578; // 0x0002B578 length: 4 + short unitIDArray_0x2b57c[1000]; // 0x0002B57C length: 2000 + int unitIDIndex_0x2bd4c; // 0x0002BD4C length: 4 + int tileArray_0x2bd50[200]; // 0x0002BD50 length: 800 + short unitIDArray_0x2c070[200]; // 0x0002C070 length: 400 + int uidArray_0x2c200[200]; // 0x0002C200 length: 800 + int unitIDIndex_0x2c520; // 0x0002C520 length: 4 + int macemenTribeCount; // 0x0002C524 length: 4 + int knightTribeCount; // 0x0002C528 length: 4 + int macemenTribeArray[100]; // 0x0002C52C length: 400 + int knightTribeArray[100]; // 0x0002C6BC length: 400 + int pitchRelatedPlayerID; // 0x0002C84C length: 4 + int playerID_0x2c850; // 0x0002C850 length: 4 + undefined1 padding_0x2c854[4]; // 0x0002C854 length: 4 + int someArea; // 0x0002C858 length: 4 + int field127559_0x2c85c; // 0x0002C85C length: 4 + int lord1; // 0x0002C860 length: 4 + int lord3; // 0x0002C864 length: 4 + int lord2; // 0x0002C868 length: 4 + AttackInfoSubArrayElement1 lordValuesArray[917]; // 0x0002C86C length: 14672 + undefined1 padding_0x301bc[4]; // 0x000301BC length: 4 + int unknownPlayerID_0x301c0; // 0x000301C0 length: 4 + int hackValue1; // 0x000301C4 length: 4 + int hackValue2; // 0x000301C8 length: 4 + int hackValue3; // 0x000301CC length: 4 + AttackInfoSubArrayElement2 hackValuesArray[82]; // 0x000301D0 length: 1312 + undefined1 padding_0x306f0[12]; // 0x000306F0 length: 12 + int inv_count; // 0x000306FC length: 4 + int value3Array01[50]; // 0x00030700 length: 200 + int attackWaveTicker[50]; // 0x000307C8 length: 200 + byte nof_tribes[50]; // 0x00030890 length: 50 + byte unknownByteArray02[50]; // 0x000308C2 length: 50 + byte attackWavePlayerIDArray[50]; // 0x000308F4 length: 50 + byte someSinglePlayerScore[50][10]; // 0x00030926 length: 500 + short field127592_0x30b1a[50]; // 0x00030B1A length: 100 + undefined1 padding_0x30b7e[2]; // 0x00030B7E length: 2 + TribeSizesPerTribeType aiTribeSizesPerTribeType; // 0x00030B80 length: 160 + int supportPoints; // 0x00030C20 length: 4 + int supportPointsNext; // 0x00030C24 length: 4 + AttackInfoSubArrayElement3 supportPointsArray[201]; // 0x00030C28 length: 6432 + int tentPoints; // 0x00032548 length: 4 + int tentPointsNext; // 0x0003254C length: 4 + AttackInfoSubArrayElement3 tentPointsValues[216]; // 0x00032550 length: 6912 + undefined1 padding_0x34050[16]; // 0x00034050 length: 16 + int unknownDistance_0x34060; // 0x00034060 length: 4 + int field127619_0x34064; // 0x00034064 length: 4 + undefined1 padding_0x34068[4]; // 0x00034068 length: 4 + int stoneValue1; // 0x0003406C length: 4 + int scaleValue1; // 0x00034070 length: 4 + int scaleValue2; // 0x00034074 length: 4 + int scaleValue3; // 0x00034078 length: 4 + AttackInfoSubArrayElement1 scaleValuesArray[1001]; // 0x0003407C length: 16016 + int townValue1; // 0x00037F0C length: 4 + int townValue22; // 0x00037F10 length: 4 + int townValue2; // 0x00037F14 length: 4 + AttackInfoSubArrayElement2 townValuesArray[1001]; // 0x00037F18 length: 16016 + int gateValue1; // 0x0003BDA8 length: 4 + int gateValue15; // 0x0003BDAC length: 4 + int gateValue2; // 0x0003BDB0 length: 4 + AttackInfoSubArrayElement1 gateValuesArray[1001]; // 0x0003BDB4 length: 16016 + int moat1; // 0x0003FC44 length: 4 + int moat2; // 0x0003FC48 length: 4 + int moat3; // 0x0003FC4C length: 4 + AttackInfoSubArrayElement1 moatValuesArray[562]; // 0x0003FC50 length: 8992 + int createTribeAmount; // 0x00041F70 length: 4 + EngineerBuildingAndCountPair field127642_0x41f74[250]; // 0x00041F74 length: 2000 + undefined1 padding_0x42744[4]; // 0x00042744 length: 4 + int people1; // 0x00042748 length: 4 + int people2; // 0x0004274C length: 4 + int people3; // 0x00042750 length: 4 + AttackInfoSubArrayElement1 peopleValuesArray[312]; // 0x00042754 length: 4992 + undefined1 padding_0x43ad4[12]; // 0x00043AD4 length: 12 + int wide1; // 0x00043AE0 length: 4 + int wide2; // 0x00043AE4 length: 4 + int wide3; // 0x00043AE8 length: 4 + AttackInfoSubArrayElement1 wideValuesArray[687]; // 0x00043AEC length: 10992 + undefined1 padding_0x465dc[8]; // 0x000465DC length: 8 + int tribeIDArraySize; // 0x000465E4 length: 4 + int unknownTribeCounterRelated; // 0x000465E8 length: 4 + int tribeIDArray[50]; // 0x000465EC length: 200 + int field127678_0x466b4[50]; // 0x000466B4 length: 200 + int tribeRelatedArrayValue0UpTo12[50]; // 0x0004677C length: 200 + undefined1 padding_0x46844[200]; // 0x00046844 length: 200 + int unknownSignpostRelatedArray; // 0x0004690C length: 4 + undefined1 padding_0x46910[196]; // 0x00046910 length: 196 + int field128077_0x469d4; // 0x000469D4 length: 4 + undefined1 padding_0x469d8[4]; // 0x000469D8 length: 4 + int field128082_0x469dc; // 0x000469DC length: 4 + undefined1 padding_0x469e0[4]; // 0x000469E0 length: 4 + int knights; // 0x000469E4 length: 4 + int ranged; // 0x000469E8 length: 4 + undefined1 padding_0x469ec[8]; // 0x000469EC length: 8 + int tilemapOffset; // 0x000469F4 length: 4 + undefined1 padding_0x469f8[3972]; // 0x000469F8 length: 3972 + AttackInfoSubElement playerInfo[8]; // 0x0004797C length: 769504 + + } AttackInfo; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfo) == 1062748, AttackInfo); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoPitchRelated.hpp b/src/OpenSHC/Map/AttackInfoPitchRelated.hpp new file mode 100644 index 0000000..bb09660 --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoPitchRelated.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoPitchRelated.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct AttackInfoPitchRelated { + + int tile; // 0x00000000 length: 4 + int value; // 0x00000004 length: 4 + + } AttackInfoPitchRelated; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoPitchRelated) == 8, AttackInfoPitchRelated); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoSize16.hpp b/src/OpenSHC/Map/AttackInfoSize16.hpp new file mode 100644 index 0000000..632cebb --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoSize16.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoSize16.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct AttackInfoSize16 { + + int field0_0x0; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + + } AttackInfoSize16; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoSize16) == 16, AttackInfoSize16); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoSomeArrayElement.hpp b/src/OpenSHC/Map/AttackInfoSomeArrayElement.hpp new file mode 100644 index 0000000..c7d6f47 --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoSomeArrayElement.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoSomeArrayElement.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct AttackInfoSomeArrayElement { + + int tileUnk; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + + } AttackInfoSomeArrayElement; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoSomeArrayElement) == 16, AttackInfoSomeArrayElement); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoSubArrayElement1.hpp b/src/OpenSHC/Map/AttackInfoSubArrayElement1.hpp new file mode 100644 index 0000000..80ad435 --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoSubArrayElement1.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoSubArrayElement1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct AttackInfoSubArrayElement1 { + + int tile; // 0x00000000 length: 4 + int tile2; // 0x00000004 length: 4 + int buildingID; // 0x00000008 length: 4 + int unitID; // 0x0000000C length: 4 + + } AttackInfoSubArrayElement1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoSubArrayElement1) == 16, AttackInfoSubArrayElement1); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoSubArrayElement2.hpp b/src/OpenSHC/Map/AttackInfoSubArrayElement2.hpp new file mode 100644 index 0000000..c9a1618 --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoSubArrayElement2.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoSubArrayElement2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct AttackInfoSubArrayElement2 { + + int tile; // 0x00000000 length: 4 + int tile2; // 0x00000004 length: 4 + int size; // 0x00000008 length: 4 + int unitID; // 0x0000000C length: 4 + + } AttackInfoSubArrayElement2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoSubArrayElement2) == 16, AttackInfoSubArrayElement2); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoSubArrayElement3.hpp b/src/OpenSHC/Map/AttackInfoSubArrayElement3.hpp new file mode 100644 index 0000000..1c527ed --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoSubArrayElement3.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoSubArrayElement3.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000020 + typedef struct AttackInfoSubArrayElement3 { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + int tile; // 0x00000008 length: 4 + int someCounter; // 0x0000000C length: 4 + int tribeID; // 0x00000010 length: 4 + int tribeUID; // 0x00000014 length: 4 + int three; // 0x00000018 length: 4 + int zero; // 0x0000001C length: 4 + + } AttackInfoSubArrayElement3; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoSubArrayElement3) == 32, AttackInfoSubArrayElement3); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/AttackInfoSubElement.hpp b/src/OpenSHC/Map/AttackInfoSubElement.hpp new file mode 100644 index 0000000..5b3d7e6 --- /dev/null +++ b/src/OpenSHC/Map/AttackInfoSubElement.hpp @@ -0,0 +1,66 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/AttackInfoSubElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/AttackInfoSomeArrayElement.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::AttackInfoSomeArrayElement; + +#pragma pack(push, 1) + // SIZE: 0x000177BC + typedef struct AttackInfoSubElement { + + int currentPlayerID_OR_attackedPlayerID_OR_one; // 0x00000000 length: 4 + int hack1; // 0x00000004 length: 4 + int hack2; // 0x00000008 length: 4 + int hack3; // 0x0000000C length: 4 + int field4_0x10[4000]; // 0x00000010 length: 16000 + undefined1 padding_0x3e90[16]; // 0x00003E90 length: 16 + int someMinimumDistance; // 0x00003EA0 length: 4 + int field22_0x3ea4; // 0x00003EA4 length: 4 + undefined1 padding_0x3ea8[4]; // 0x00003EA8 length: 4 + int stone1; // 0x00003EAC length: 4 + int scale1; // 0x00003EB0 length: 4 + int scale2; // 0x00003EB4 length: 4 + int scale3; // 0x00003EB8 length: 4 + int field31_0x3ebc[1000][4]; // 0x00003EBC length: 16000 + undefined1 padding_0x7d3c[16]; // 0x00007D3C length: 16 + int town1; // 0x00007D4C length: 4 + int some1000ArrayIndex; // 0x00007D50 length: 4 + int town2; // 0x00007D54 length: 4 + AttackInfoSomeArrayElement some1000Array[1000]; // 0x00007D58 length: 16000 + undefined1 padding_0xbbd8[16]; // 0x0000BBD8 length: 16 + int gate1; // 0x0000BBE8 length: 4 + int some1000ArrayIndex_2; // 0x0000BBEC length: 4 + int gate2; // 0x0000BBF0 length: 4 + int field71_0xbbf4[1000][4]; // 0x0000BBF4 length: 16000 + undefined1 padding_0xfa74[16]; // 0x0000FA74 length: 16 + int moat1; // 0x0000FA84 length: 4 + int field89_0xfa88; // 0x0000FA88 length: 4 + int moat2; // 0x0000FA8C length: 4 + undefined1 padding_0xfa90[8]; // 0x0000FA90 length: 8 + uint field99_0xfa98; // 0x0000FA98 length: 4 + undefined1 padding_0xfa9c[10988]; // 0x0000FA9C length: 10988 + int field11088_0x12588; // 0x00012588 length: 4 + int field11089_0x1258c; // 0x0001258C length: 4 + int field11090_0x12590; // 0x00012590 length: 4 + undefined1 padding_0x12594[5004]; // 0x00012594 length: 5004 + int wide1; // 0x00013920 length: 4 + int wide2; // 0x00013924 length: 4 + int wide3; // 0x00013928 length: 4 + undefined1 padding_0x1392c[11808]; // 0x0001392C length: 11808 + int field27906_0x1674c; // 0x0001674C length: 4 + undefined1 padding_0x16750[4204]; // 0x00016750 length: 4204 + + } AttackInfoSubElement; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AttackInfoSubElement) == 96188, AttackInfoSubElement); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/Building.hpp b/src/OpenSHC/Map/Buildings/Building.hpp new file mode 100644 index 0000000..aa81549 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/Building.hpp @@ -0,0 +1,292 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/Building.hpp' +*/ + +#pragma once + +#include "OpenSHC/Game/Resources/ResourceTypeShort.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeShort.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + + using OpenSHC::Game::Resources::ResourceTypeShort; + using OpenSHC::Map::Buildings::BuildingTypeShort; + +#pragma pack(push, 1) + // SIZE: 0x0000032C + typedef struct Building { + + int spriteID; // 0x00000000 length: 4 + int spriteSheetID; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + short field3_0xc; // 0x0000000C length: 2 + short field4_0xe; // 0x0000000E length: 2 + int field5_0x10; // 0x00000010 length: 4 + int field6_0x14; // 0x00000014 length: 4 + int field7_0x18; // 0x00000018 length: 4 + int animationFrame; // 0x0000001C length: 4 + short animationIndex; // 0x00000020 length: 2 + short field10_0x22; // 0x00000022 length: 2 + short unknownStockpileOrSignpostRelated; // 0x00000024 length: 2 + short field12_0x26; // 0x00000026 length: 2 + int field13_0x28; // 0x00000028 length: 4 + short field14_0x2c; // 0x0000002C length: 2 + short field15_0x2e; // 0x0000002E length: 2 + short field16_0x30; // 0x00000030 length: 2 + undefined1 padding_0x32[2]; // 0x00000032 length: 2 + int displayOwnerFlag; // 0x00000034 length: 4 + int field20_0x38; // 0x00000038 length: 4 + int field21_0x3c; // 0x0000003C length: 4 + int field22_0x40; // 0x00000040 length: 4 + int field23_0x44; // 0x00000044 length: 4 + int campgroundVclock; // 0x00000048 length: 4 + int field25_0x4c; // 0x0000004C length: 4 + int field26_0x50; // 0x00000050 length: 4 + int field27_0x54; // 0x00000054 length: 4 + int field28_0x58; // 0x00000058 length: 4 + int field29_0x5c; // 0x0000005C length: 4 + int shouldRenderRoof; // 0x00000060 length: 4 + int shouldRenderSomeOverlay; // 0x00000064 length: 4 + int field32_0x68; // 0x00000068 length: 4 + int field33_0x6c; // 0x0000006C length: 4 + int field34_0x70; // 0x00000070 length: 4 + int field35_0x74; // 0x00000074 length: 4 + int field36_0x78; // 0x00000078 length: 4 + int field37_0x7c; // 0x0000007C length: 4 + int ownerFlagFrame; // 0x00000080 length: 4 + int field39_0x84; // 0x00000084 length: 4 + int field40_0x88; // 0x00000088 length: 4 + byte xPosition; // 0x0000008C length: 1 + byte yPosition; // 0x0000008D length: 1 + undefined1 padding_0x8e[2]; // 0x0000008E length: 2 + short surfaceAreaUnk; // 0x00000090 length: 2 + short orientation; // 0x00000092 length: 2 + undefined1 padding_0x94[6]; // 0x00000094 length: 6 + short unknownFlag3; // 0x0000009A length: 2 + short someResourceNumber; // 0x0000009C length: 2 + short buildingIsVisuallyActive; // 0x0000009E length: 2 + int field56_0xa0; // 0x000000A0 length: 4 + short resourceRelatedCountDown; // 0x000000A4 length: 2 + undefined1 padding_0xa6[2]; // 0x000000A6 length: 2 + uint unknownManorHouseOrStoneKeepRelated; // 0x000000A8 length: 4 + int field61_0xac; // 0x000000AC length: 4 + int field62_0xb0; // 0x000000B0 length: 4 + int field63_0xb4; // 0x000000B4 length: 4 + int field64_0xb8; // 0x000000B8 length: 4 + short tickRelatedVisuallyActiveIndicator; // 0x000000BC length: 2 + short field66_0xbe; // 0x000000BE length: 2 + short recruitTimer; // 0x000000C0 length: 2 + short field68_0xc2; // 0x000000C2 length: 2 + short noRubble; // 0x000000C4 length: 2 + undefined1 padding_0xc6[2]; // 0x000000C6 length: 2 + int field72_0xc8; // 0x000000C8 length: 4 + short pathLinkageRelated1; // 0x000000CC length: 2 + short oldVisualActiveState; // 0x000000CE length: 2 + short logicalState; // 0x000000D0 length: 2 + BuildingTypeShort buildingType; // 0x000000D2 length: 2 + undefined1 padding_0xd4[2]; // 0x000000D4 length: 2 + short owner; // 0x000000D6 length: 2 + int uid; // 0x000000D8 length: 4 + undefined1 padding_0xdc[12]; // 0x000000DC length: 12 + ushort microX; // 0x000000E8 length: 2 + ushort microY; // 0x000000EA length: 2 + short terrainHeightUnk; // 0x000000EC length: 2 + ushort x; // 0x000000EE length: 2 + ushort y; // 0x000000F0 length: 2 + undefined1 padding_0xf2[2]; // 0x000000F2 length: 2 + uint currentTilePositionAdjusted; // 0x000000F4 length: 4 + uint widthOrHeight; // 0x000000F8 length: 4 + ushort entranceAttemptTileIndex; // 0x000000FC length: 2 + short buildingEntryX; // 0x000000FE length: 2 + short buildingEntryY; // 0x00000100 length: 2 + short buildingVariationRelated; // 0x00000102 length: 2 + int fireRelatedRNG1; // 0x00000104 length: 4 + short flag1; // 0x00000108 length: 2 + undefined1 padding_0x10a[2]; // 0x0000010A length: 2 + short currentHealth; // 0x0000010C length: 2 + short maxHealth; // 0x0000010E length: 2 + short unitRefID; // 0x00000110 length: 2 + undefined1 padding_0x112[2]; // 0x00000112 length: 2 + int unitRefUID; // 0x00000114 length: 4 + int killingPitTriggered; // 0x00000118 length: 4 + int killingPitField; // 0x0000011C length: 4 + int resourceArray_resourceTypePlus1[2]; // 0x00000120 length: 8 + int resourceWood; // 0x00000128 length: 4 + int resourceHops; // 0x0000012C length: 4 + int resourceStone; // 0x00000130 length: 4 + int resourcePartialStone; // 0x00000134 length: 4 + int resourceIron; // 0x00000138 length: 4 + int resourcePitch; // 0x0000013C length: 4 + int resourcePartialPitch; // 0x00000140 length: 4 + int resourceWheat; // 0x00000144 length: 4 + int resourceBread; // 0x00000148 length: 4 + int resourceCheese; // 0x0000014C length: 4 + int resourceMeat; // 0x00000150 length: 4 + int resourceApple; // 0x00000154 length: 4 + int resourceAle; // 0x00000158 length: 4 + int resourceGold; // 0x0000015C length: 4 + int resourceFlour; // 0x00000160 length: 4 + int resourceBow; // 0x00000164 length: 4 + int resourceCrossbow; // 0x00000168 length: 4 + int resourceSpear; // 0x0000016C length: 4 + int resourcePike; // 0x00000170 length: 4 + int resourceMace; // 0x00000174 length: 4 + int resourceSword; // 0x00000178 length: 4 + int resourceLeatherArmor; // 0x0000017C length: 4 + int resourceIronArmor; // 0x00000180 length: 4 + uint currentNumberOfResource; // 0x00000184 length: 4 + uint currentLimitOfResource; // 0x00000188 length: 4 + short currentStoredResourceType; // 0x0000018C length: 2 + undefined1 someUID; // 0x0000018E length: 1 + undefined1 padding_0x18f[1]; // 0x0000018F length: 1 + short field147_0x190; // 0x00000190 length: 2 + undefined2 quarryStockpileID; // 0x00000192 length: 2 + short field149_0x194; // 0x00000194 length: 2 + short numberOfPopulationProvided; // 0x00000196 length: 2 + short buildingTypeBasedEmployeeCount; // 0x00000198 length: 2 + short currentEmployeeCount; // 0x0000019A length: 2 + short currentlyNeededEmployeeCount; // 0x0000019C length: 2 + short workerID[4]; // 0x0000019E length: 8 + undefined1 padding_0x1a6[2]; // 0x000001A6 length: 2 + int workerUID[4]; // 0x000001A8 length: 16 + short workers[2]; // 0x000001B8 length: 4 + undefined1 padding_0x1bc[4]; // 0x000001BC length: 4 + short unitID; // 0x000001C0 length: 2 + short field164_0x1c2; // 0x000001C2 length: 2 + short growCounter; // 0x000001C4 length: 2 + undefined1 padding_0x1c6[2]; // 0x000001C6 length: 2 + int tileRef1; // 0x000001C8 length: 4 + int tileRef2; // 0x000001CC length: 4 + int tileRef3; // 0x000001D0 length: 4 + int tileRef4; // 0x000001D4 length: 4 + int tileRef5; // 0x000001D8 length: 4 + int tileRef6; // 0x000001DC length: 4 + int tileRef7; // 0x000001E0 length: 4 + int tileRef8; // 0x000001E4 length: 4 + int tileRef9; // 0x000001E8 length: 4 + int tileRef10; // 0x000001EC length: 4 + int tileRef11; // 0x000001F0 length: 4 + int tileRef12; // 0x000001F4 length: 4 + int tileRef13; // 0x000001F8 length: 4 + int tileRef14; // 0x000001FC length: 4 + int tileRef15; // 0x00000200 length: 4 + int tileRef16; // 0x00000204 length: 4 + int tileRef17; // 0x00000208 length: 4 + int tileRef18; // 0x0000020C length: 4 + int tileRef19; // 0x00000210 length: 4 + int tileRef20; // 0x00000214 length: 4 + int tileRef21; // 0x00000218 length: 4 + int tileRef22; // 0x0000021C length: 4 + int tileRef23; // 0x00000220 length: 4 + int tileRef24; // 0x00000224 length: 4 + int tileRef25; // 0x00000228 length: 4 + int tileRef26; // 0x0000022C length: 4 + int tileRef27; // 0x00000230 length: 4 + int tileRef28; // 0x00000234 length: 4 + int tileRef29; // 0x00000238 length: 4 + int tileRef30; // 0x0000023C length: 4 + int tileRef31; // 0x00000240 length: 4 + int tileRef32; // 0x00000244 length: 4 + int tileRef33; // 0x00000248 length: 4 + int tileRef34; // 0x0000024C length: 4 + int tileRef35; // 0x00000250 length: 4 + int tileRef36; // 0x00000254 length: 4 + undefined1 wheatGrowStateRelated; // 0x00000258 length: 1 + undefined1 padding_0x259[3]; // 0x00000259 length: 3 + int tunnelerCounter; // 0x0000025C length: 4 + short someX; // 0x00000260 length: 2 + short someY; // 0x00000262 length: 2 + short field211_0x264; // 0x00000264 length: 2 + undefined1 padding_0x266[2]; // 0x00000266 length: 2 + int oxTetherRelatedUnitUID; // 0x00000268 length: 4 + short oxTetherRelatedUnitID; // 0x0000026C length: 2 + undefined1 padding_0x26e[2]; // 0x0000026E length: 2 + short field218_0x270; // 0x00000270 length: 2 + short field219_0x272; // 0x00000272 length: 2 + short field220_0x274; // 0x00000274 length: 2 + short field221_0x276; // 0x00000276 length: 2 + int buildingProgress; // 0x00000278 length: 4 + uint timeAlive; // 0x0000027C length: 4 + undefined1 padding_0x280[4]; // 0x00000280 length: 4 + int hovelVisualStyle; // 0x00000284 length: 4 + short field229_0x288; // 0x00000288 length: 2 + short field230_0x28a; // 0x0000028A length: 2 + short flag2; // 0x0000028C length: 2 + ResourceTypeShort producedItemTypeNext; // 0x0000028E length: 2 + ResourceTypeShort producedItemType; // 0x00000290 length: 2 + undefined1 padding_0x292[1]; // 0x00000292 length: 1 + byte drawbridgeState2; // 0x00000293 length: 1 + byte drawBridgeState1; // 0x00000294 length: 1 + byte containsSiegeMangonel1OrBallista2; // 0x00000295 length: 1 + bool sleeping; // 0x00000296 length: 1 + byte numberOfAnimals; // 0x00000297 length: 1 + byte field240_0x298; // 0x00000298 length: 1 + byte field241_0x299; // 0x00000299 length: 1 + short unknownOutpostValue01; // 0x0000029A length: 2 + int ffBuildingVariation; // 0x0000029C length: 4 + undefined1 padding_0x2a0[2]; // 0x000002A0 length: 2 + byte pathLinkageRelated2; // 0x000002A2 length: 1 + byte gateState; // 0x000002A3 length: 1 + undefined1 unknownFlag4; // 0x000002A4 length: 1 + undefined1 padding_0x2a5[2]; // 0x000002A5 length: 2 + char randomOutpostField; // 0x000002A7 length: 1 + int uidWhenPlaced; // 0x000002A8 length: 4 + int attackWave; // 0x000002AC length: 4 + short flagonsOfAleOrCheese; // 0x000002B0 length: 2 + undefined1 padding_0x2b2[2]; // 0x000002B2 length: 2 + short unknownCounterTo10000_0x2b4; // 0x000002B4 length: 2 + short field258_0x2b6; // 0x000002B6 length: 2 + short gateCloseOpenTimer; // 0x000002B8 length: 2 + short buildMonthOrBuildOrder; // 0x000002BA length: 2 + short unknownAccessibilityRelatedFlag; // 0x000002BC length: 2 + short fireDuration; // 0x000002BE length: 2 + short gateState2; // 0x000002C0 length: 2 + undefined1 padding_0x2c2[2]; // 0x000002C2 length: 2 + short cooldownTimer; // 0x000002C4 length: 2 + short field267_0x2c6; // 0x000002C6 length: 2 + short field268_0x2c8; // 0x000002C8 length: 2 + short quarryLinkedOxTethers[3]; // 0x000002CA length: 6 + short oxtetherLinkedQuarryID; // 0x000002D0 length: 2 + short laddermanDataID; // 0x000002D2 length: 2 + short field272_0x2d4; // 0x000002D4 length: 2 + short idleTimerUnk; // 0x000002D6 length: 2 + short unknownSiegeTentRelated01; // 0x000002D8 length: 2 + short field275_0x2da; // 0x000002DA length: 2 + short unknownTickRelatedValue; // 0x000002DC length: 2 + ushort ifFireThenResponsiblePlayer; // 0x000002DE length: 2 + short insideUnitID1; // 0x000002E0 length: 2 + short insideUnitID2; // 0x000002E2 length: 2 + short insideUnitID3; // 0x000002E4 length: 2 + short insideUnitID4; // 0x000002E6 length: 2 + int field282_0x2e8; // 0x000002E8 length: 4 + int field283_0x2ec; // 0x000002EC length: 4 + int field284_0x2f0; // 0x000002F0 length: 4 + int unitRefUID2; // 0x000002F4 length: 4 + short hasUnitsOntop; // 0x000002F8 length: 2 + short field287_0x2fa; // 0x000002FA length: 2 + undefined1 padding_0x2fc[2]; // 0x000002FC length: 2 + short statueCommemoratingPlayerID; // 0x000002FE length: 2 + short field291_0x300; // 0x00000300 length: 2 + short tribeID; // 0x00000302 length: 2 + int tribeUID; // 0x00000304 length: 4 + short field294_0x308; // 0x00000308 length: 2 + short field295_0x30a; // 0x0000030A length: 2 + short field296_0x30c; // 0x0000030C length: 2 + short field297_0x30e; // 0x0000030E length: 2 + short field298_0x310; // 0x00000310 length: 2 + short field299_0x312; // 0x00000312 length: 2 + undefined1 padding_0x314[2]; // 0x00000314 length: 2 + short field302_0x316; // 0x00000316 length: 2 + short field303_0x318; // 0x00000318 length: 2 + undefined1 padding_0x31a[18]; // 0x0000031A length: 18 + + } Building; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Building) == 812, Building); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingCostResource.hpp b/src/OpenSHC/Map/Buildings/BuildingCostResource.hpp new file mode 100644 index 0000000..2fc27f7 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingCostResource.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingCostResource.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef enum BuildingCostResource { + + BCR_WOOD = 0, // 0x00000000 + BCR_STONE = 1, // 0x00000001 + BCR_IRON = 2, // 0x00000002 + BCR_PITCH = 3, // 0x00000003 + BCR_GOLD = 4 // 0x00000004 + + } BuildingCostResource; + + static_assert_cpp98_obj(sizeof(BuildingCostResource) == 4, BuildingCostResource); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingCostResourceByte.hpp b/src/OpenSHC/Map/Buildings/BuildingCostResourceByte.hpp new file mode 100644 index 0000000..55ff27b --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingCostResourceByte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingCostResourceByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingCostResource.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef byte BuildingCostResourceByte; + + static_assert_cpp98_obj(sizeof(BuildingCostResourceByte) == 1, BuildingCostResourceByte); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingCostStruct.hpp b/src/OpenSHC/Map/Buildings/BuildingCostStruct.hpp new file mode 100644 index 0000000..0d85418 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingCostStruct.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingCostStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Buildings { + +#pragma pack(push, 1) + // SIZE: 0x00000014 + typedef struct BuildingCostStruct { + + int requiredWood; // 0x00000000 length: 4 + int requiredStone_0x4; // 0x00000004 length: 4 + int requiredIron_0x8; // 0x00000008 length: 4 + int requiredPitch_0xc; // 0x0000000C length: 4 + int requiredGold; // 0x00000010 length: 4 + + } BuildingCostStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BuildingCostStruct) == 20, BuildingCostStruct); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingDefinedData.hpp b/src/OpenSHC/Map/Buildings/BuildingDefinedData.hpp new file mode 100644 index 0000000..62fe5f1 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingDefinedData.hpp @@ -0,0 +1,282 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Common/TruncatedInt.hpp" +#include "OpenSHC/Coordinates/XYPairShort.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeShort.hpp" +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/Util/FunctionTypes/NoArgCallback.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + + using OpenSHC::Common::TruncatedInt; + using OpenSHC::Coordinates::XYPairShort; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeShort; + using OpenSHC::Map::Navigation::Algorithms::XYPair; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Util::FunctionTypes::NoArgCallback; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x0000B0F4 + typedef struct BuildingDefinedData { + + byte field0_0x0[52]; // 0x00000000 length: 52 + NoArgCallback* PTR_BuildingUpdateFunctions[110]; // 0x00000034 length: 440 + BuildingTypeShort DAT_BuildingPrioritiesWhenNoFire[32]; // 0x000001EC length: 64 + BuildingTypeShort DAT_BuildingPrioritiesWhenFire[32]; // 0x0000022C length: 64 + UnitTypeInt DAT_WorkerTypeForBuildingType[110]; // 0x0000026C length: 440 + BOOLEnum DAT_ABuildingTypeValueArray[110]; // 0x00000424 length: 440 + int DAT_BuildingPlacement_HeightLimit[110]; // 0x000005DC length: 440 + int DAT_BuildingPlacement_MaxHeightDifference[110]; // 0x00000794 length: 440 + int DAT_BuildingPlacement_Property_3[110]; // 0x0000094C length: 440 + int DAT_BuildingPlacement_Property_4[110]; // 0x00000B04 length: 440 + int DAT_BuildingPlacement_Property_5[110]; // 0x00000CBC length: 440 + int DAT_BuildingPlacement_Property_6[110]; // 0x00000E74 length: 440 + int DAT_BuildingPlacement_Property_7[110]; // 0x0000102C length: 440 + TruncatedInt DAT_EmployeeCountPerBuildingType[110]; // 0x000011E4 length: 440 + int DAT_StorageLimitResourceTypeArray[26]; // 0x0000139C length: 104 + TruncatedInt field15_0x1404[110]; // 0x00001404 length: 440 + TruncatedInt field16_0x15bc[110]; // 0x000015BC length: 440 + BOOLEnum field17_0x1774[110]; // 0x00001774 length: 440 + TruncatedInt field18_0x192c[110]; // 0x0000192C length: 440 + int DAT_BuildingTypeHasHealth[110]; // 0x00001AE4 length: 440 + int DAT_BuildingIsGateHouseArray[110]; // 0x00001C9C length: 440 + int DAT_BuildingIsKeepArray[110]; // 0x00001E54 length: 440 + BOOLEnum DAT_IsGateOrTowerArray[110]; // 0x0000200C length: 440 + BOOLEnum field23_0x21c4[110]; // 0x000021C4 length: 440 + TruncatedInt field24_0x237c[110]; // 0x0000237C length: 440 + int DAT_BuildingShowRubbleWhenDestroyed[110]; // 0x00002534 length: 440 + int DAT_BuildingTypeOwnable[110]; // 0x000026EC length: 440 + TruncatedInt DAT_BUILDING_HP[110]; // 0x000028A4 length: 440 + BuildingTypeInt DAT_StorageBuildingTypeArray[26]; // 0x00002A5C length: 104 + TruncatedInt DAT_BUILDING_NumberOfPopulationProvided[110]; // 0x00002AC4 length: 440 + int field30_0x2c7c[88]; // 0x00002C7C length: 352 + int DAT_WheatFieldTile_Unknown[36]; // 0x00002DDC length: 144 + TruncatedInt DAT_Building_SpriteSheet_ID_Array_1[110]; // 0x00002E6C length: 440 + int DAT_Building_Sprite_ID_Array_1[110]; // 0x00003024 length: 440 + int DAT_Building_Sprite_ID_Array_2[110]; // 0x000031DC length: 440 + int field35_0x3394[110]; // 0x00003394 length: 440 + int field36_0x354c[110]; // 0x0000354C length: 440 + int field37_0x3704[110]; // 0x00003704 length: 440 + TruncatedInt field38_0x38bc[110]; // 0x000038BC length: 440 + short field39_0x3a74[110][2][2]; // 0x00003A74 length: 880 + int field40_0x3de4[110]; // 0x00003DE4 length: 440 + int DAT_BuildingHeights[110]; // 0x00003F9C length: 440 + int field42_0x4154[110]; // 0x00004154 length: 440 + byte field43_0x430c[312]; // 0x0000430C length: 312 + byte DAT_FletcherWorkshopAnimationCycle[160]; // 0x00004444 length: 160 + byte field45_0x44e4[400]; // 0x000044E4 length: 400 + byte field46_0x4674[608]; // 0x00004674 length: 608 + byte field47_0x48d4[56]; // 0x000048D4 length: 56 + byte field48_0x490c[448]; // 0x0000490C length: 448 + byte field49_0x4acc[112]; // 0x00004ACC length: 112 + byte field50_0x4b3c[20]; // 0x00004B3C length: 20 + byte field51_0x4b50[24]; // 0x00004B50 length: 24 + byte field52_0x4b68[40]; // 0x00004B68 length: 40 + byte field53_0x4b90[28]; // 0x00004B90 length: 28 + byte field54_0x4bac[104]; // 0x00004BAC length: 104 + byte field55_0x4c14[396]; // 0x00004C14 length: 396 + byte field56_0x4da0[20]; // 0x00004DA0 length: 20 + byte field57_0x4db4[420]; // 0x00004DB4 length: 420 + byte field58_0x4f58[44]; // 0x00004F58 length: 44 + byte field59_0x4f84[48]; // 0x00004F84 length: 48 + byte field60_0x4fb4[36]; // 0x00004FB4 length: 36 + byte field61_0x4fd8[36]; // 0x00004FD8 length: 36 + byte field62_0x4ffc[20]; // 0x00004FFC length: 20 + byte field63_0x5010[44]; // 0x00005010 length: 44 + byte field64_0x503c[88]; // 0x0000503C length: 88 + byte field65_0x5094[44]; // 0x00005094 length: 44 + byte field66_0x50c0[12]; // 0x000050C0 length: 12 + byte field67_0x50cc[64]; // 0x000050CC length: 64 + byte field68_0x510c[56]; // 0x0000510C length: 56 + byte field69_0x5144[72]; // 0x00005144 length: 72 + byte field70_0x518c[80]; // 0x0000518C length: 80 + byte field71_0x51dc[244]; // 0x000051DC length: 244 + byte field72_0x52d0[36]; // 0x000052D0 length: 36 + byte field73_0x52f4[112]; // 0x000052F4 length: 112 + byte field74_0x5364[88]; // 0x00005364 length: 88 + byte field75_0x53bc[200]; // 0x000053BC length: 200 + byte field76_0x5484[36]; // 0x00005484 length: 36 + byte field77_0x54a8[36]; // 0x000054A8 length: 36 + byte field78_0x54cc[144]; // 0x000054CC length: 144 + byte field79_0x555c[72]; // 0x0000555C length: 72 + byte field80_0x55a4[28]; // 0x000055A4 length: 28 + byte field81_0x55c0[20]; // 0x000055C0 length: 20 + byte field82_0x55d4[260]; // 0x000055D4 length: 260 + byte field83_0x56d8[44]; // 0x000056D8 length: 44 + byte field84_0x5704[12]; // 0x00005704 length: 12 + byte field85_0x5710[28]; // 0x00005710 length: 28 + byte field86_0x572c[32]; // 0x0000572C length: 32 + byte field87_0x574c[56]; // 0x0000574C length: 56 + byte field88_0x5784[16]; // 0x00005784 length: 16 + byte field89_0x5794[92]; // 0x00005794 length: 92 + byte field90_0x57f0[36]; // 0x000057F0 length: 36 + byte field91_0x5814[40]; // 0x00005814 length: 40 + byte field92_0x583c[152]; // 0x0000583C length: 152 + byte field93_0x58d4[152]; // 0x000058D4 length: 152 + byte field94_0x596c[172]; // 0x0000596C length: 172 + byte field95_0x5a18[52]; // 0x00005A18 length: 52 + byte field96_0x5a4c[36]; // 0x00005A4C length: 36 + byte field97_0x5a70[28]; // 0x00005A70 length: 28 + byte field98_0x5a8c[64]; // 0x00005A8C length: 64 + byte field99_0x5acc[20]; // 0x00005ACC length: 20 + byte field100_0x5ae0[24]; // 0x00005AE0 length: 24 + byte field101_0x5af8[28]; // 0x00005AF8 length: 28 + byte field102_0x5b14[56]; // 0x00005B14 length: 56 + byte PTR_SomeAnimationNumbersUnk[24]; // 0x00005B4C length: 24 + byte field104_0x5b64[32]; // 0x00005B64 length: 32 + byte field105_0x5b84[16]; // 0x00005B84 length: 16 + byte field106_0x5b94[64]; // 0x00005B94 length: 64 + byte field107_0x5bd4[112]; // 0x00005BD4 length: 112 + byte field108_0x5c44[20]; // 0x00005C44 length: 20 + byte field109_0x5c58[40]; // 0x00005C58 length: 40 + byte field110_0x5c80[60]; // 0x00005C80 length: 60 + byte field111_0x5cbc[72]; // 0x00005CBC length: 72 + byte field112_0x5d04[24]; // 0x00005D04 length: 24 + byte field113_0x5d1c[64]; // 0x00005D1C length: 64 + byte field114_0x5d5c[16]; // 0x00005D5C length: 16 + byte field115_0x5d6c[376]; // 0x00005D6C length: 376 + byte field116_0x5ee4[264]; // 0x00005EE4 length: 264 + byte field117_0x5fec[304]; // 0x00005FEC length: 304 + byte field118_0x611c[384]; // 0x0000611C length: 384 + byte field119_0x629c[88]; // 0x0000629C length: 88 + byte field120_0x62f4[80]; // 0x000062F4 length: 80 + byte field121_0x6344[472]; // 0x00006344 length: 472 + byte field122_0x651c[112]; // 0x0000651C length: 112 + byte field123_0x658c[104]; // 0x0000658C length: 104 + byte field124_0x65f4[184]; // 0x000065F4 length: 184 + byte field125_0x66ac[24]; // 0x000066AC length: 24 + byte field126_0x66c4[12]; // 0x000066C4 length: 12 + byte field127_0x66d0[60]; // 0x000066D0 length: 60 + byte field128_0x670c[452]; // 0x0000670C length: 452 + byte field129_0x68d0[36]; // 0x000068D0 length: 36 + byte field130_0x68f4[84]; // 0x000068F4 length: 84 + byte field131_0x6948[52]; // 0x00006948 length: 52 + byte field132_0x697c[56]; // 0x0000697C length: 56 + byte field133_0x69b4[104]; // 0x000069B4 length: 104 + byte field134_0x6a1c[16]; // 0x00006A1C length: 16 + byte field135_0x6a2c[16]; // 0x00006A2C length: 16 + byte field136_0x6a3c[16]; // 0x00006A3C length: 16 + byte field137_0x6a4c[136]; // 0x00006A4C length: 136 + byte field138_0x6ad4[16]; // 0x00006AD4 length: 16 + byte field139_0x6ae4[32]; // 0x00006AE4 length: 32 + byte field140_0x6b04[36]; // 0x00006B04 length: 36 + byte field141_0x6b28[28]; // 0x00006B28 length: 28 + byte field142_0x6b44[32]; // 0x00006B44 length: 32 + byte field143_0x6b64[264]; // 0x00006B64 length: 264 + byte field144_0x6c6c[664]; // 0x00006C6C length: 664 + byte field145_0x6f04[448]; // 0x00006F04 length: 448 + byte field146_0x70c4[152]; // 0x000070C4 length: 152 + byte field147_0x715c[644]; // 0x0000715C length: 644 + byte field148_0x73e0[52]; // 0x000073E0 length: 52 + byte field149_0x7414[80]; // 0x00007414 length: 80 + byte field150_0x7464[48]; // 0x00007464 length: 48 + byte field151_0x7494[48]; // 0x00007494 length: 48 + byte field152_0x74c4[48]; // 0x000074C4 length: 48 + byte field153_0x74f4[48]; // 0x000074F4 length: 48 + byte field154_0x7524[48]; // 0x00007524 length: 48 + byte field155_0x7554[48]; // 0x00007554 length: 48 + byte field156_0x7584[40]; // 0x00007584 length: 40 + byte field157_0x75ac[80]; // 0x000075AC length: 80 + byte field158_0x75fc[40]; // 0x000075FC length: 40 + byte field159_0x7624[72]; // 0x00007624 length: 72 + byte field160_0x766c[80]; // 0x0000766C length: 80 + byte field161_0x76bc[172]; // 0x000076BC length: 172 + byte field162_0x7768[36]; // 0x00007768 length: 36 + byte field163_0x778c[88]; // 0x0000778C length: 88 + byte field164_0x77e4[160]; // 0x000077E4 length: 160 + byte field165_0x7884[200]; // 0x00007884 length: 200 + byte field166_0x794c[40]; // 0x0000794C length: 40 + byte field167_0x7974[80]; // 0x00007974 length: 80 + byte field168_0x79c4[80]; // 0x000079C4 length: 80 + byte field169_0x7a14[344]; // 0x00007A14 length: 344 + byte ANIM_MarketPlace[104]; // 0x00007B6C length: 104 + byte field171_0x7bd4[104]; // 0x00007BD4 length: 104 + byte field172_0x7c3c[88]; // 0x00007C3C length: 88 + byte field173_0x7c94[136]; // 0x00007C94 length: 136 + byte field174_0x7d1c[140]; // 0x00007D1C length: 140 + byte field175_0x7da8[36]; // 0x00007DA8 length: 36 + byte field176_0x7dcc[80]; // 0x00007DCC length: 80 + byte field177_0x7e1c[52]; // 0x00007E1C length: 52 + int DAT_BuildingAccessibleTilesCountForOneLarger[15]; // 0x00007E50 length: 60 + XYPair field179_0x7e8c[8]; // 0x00007E8C length: 64 + XYPair field180_0x7ecc[12]; // 0x00007ECC length: 96 + XYPair field181_0x7f2c[16]; // 0x00007F2C length: 128 + XYPair field182_0x7fac[20]; // 0x00007FAC length: 160 + XYPair field183_0x804c[24]; // 0x0000804C length: 192 + XYPair field184_0x810c[28]; // 0x0000810C length: 224 + XYPair field185_0x81ec[32]; // 0x000081EC length: 256 + XYPair field186_0x82ec[36]; // 0x000082EC length: 288 + XYPair field187_0x840c[40]; // 0x0000840C length: 320 + XYPair field188_0x854c[44]; // 0x0000854C length: 352 + XYPair field189_0x86ac[48]; // 0x000086AC length: 384 + XYPair field190_0x882c[52]; // 0x0000882C length: 416 + XYPair field191_0x89cc[116]; // 0x000089CC length: 928 + int DAT_BuildingAccessibleTilesCount[15]; // 0x00008D6C length: 60 + XYPair field193_0x8da8[4]; // 0x00008DA8 length: 32 + undefined1 padding_0x8dc8[4]; // 0x00008DC8 length: 4 + XYPair field198_0x8dcc[8]; // 0x00008DCC length: 64 + XYPair field199_0x8e0c[12]; // 0x00008E0C length: 96 + XYPair field200_0x8e6c[16]; // 0x00008E6C length: 128 + XYPair field201_0x8eec[20]; // 0x00008EEC length: 160 + XYPair field202_0x8f8c[24]; // 0x00008F8C length: 192 + XYPair field203_0x904c[28]; // 0x0000904C length: 224 + XYPair field204_0x912c[32]; // 0x0000912C length: 256 + XYPair field205_0x922c[36]; // 0x0000922C length: 288 + XYPair field206_0x934c[40]; // 0x0000934C length: 320 + XYPair field207_0x948c[44]; // 0x0000948C length: 352 + XYPair field208_0x95ec[48]; // 0x000095EC length: 384 + XYPair field209_0x976c[52]; // 0x0000976C length: 416 + XYPair field210_0x990c[56]; // 0x0000990C length: 448 + undefined1 padding_0x9acc[156]; // 0x00009ACC length: 156 + int field367_0x9b68[12]; // 0x00009B68 length: 48 + int field368_0x9b98[13]; // 0x00009B98 length: 52 + int DAT_SomeSpriteArray1[7]; // 0x00009BCC length: 28 + int field370_0x9be8[4]; // 0x00009BE8 length: 16 + int field371_0x9bf8[5]; // 0x00009BF8 length: 20 + int field372_0x9c0c[5]; // 0x00009C0C length: 20 + int field373_0x9c20[5]; // 0x00009C20 length: 20 + XYPairShort DAT_PlayerDataUnknownStructureRelatedArray_3[2][24]; // 0x00009C34 length: 192 + int DAT_PlayerDataUnknownStructureRelatedArray_1[6]; // 0x00009CF4 length: 24 + int DAT_PlayerDataUnknownStructureRelatedArray_2[6][3]; // 0x00009D0C length: 72 + XYPairShort DAT_SearchRelatedXYOffsets_1[49]; // 0x00009D54 length: 196 + undefined1 padding_0x9e18[4]; // 0x00009E18 length: 4 + int field382_0x9e1c[7][4]; // 0x00009E1C length: 112 + int field383_0x9e8c[4]; // 0x00009E8C length: 16 + int field384_0x9e9c[7][4]; // 0x00009E9C length: 112 + undefined1 padding_0x9f0c[16]; // 0x00009F0C length: 16 + int field401_0x9f1c[2][4]; // 0x00009F1C length: 32 + XYPairShort DAT_BuildingPositionRelatedArray_1[25]; // 0x00009F3C length: 100 + undefined1 padding_0x9fa0[4]; // 0x00009FA0 length: 4 + XYPairShort field407_0x9fa4[25]; // 0x00009FA4 length: 100 + undefined1 padding_0xa008[4]; // 0x0000A008 length: 4 + XYPairShort field412_0xa00c[16]; // 0x0000A00C length: 64 + int field413_0xa04c[16][13]; // 0x0000A04C length: 832 + int field414_0xa38c[4]; // 0x0000A38C length: 16 + int field415_0xa39c[52]; // 0x0000A39C length: 208 + int field416_0xa46c[52]; // 0x0000A46C length: 208 + int field417_0xa53c[26]; // 0x0000A53C length: 104 + int field418_0xa5a4[102]; // 0x0000A5A4 length: 408 + int field419_0xa73c[16]; // 0x0000A73C length: 64 + int field420_0xa77c[24]; // 0x0000A77C length: 96 + int field421_0xa7dc[32]; // 0x0000A7DC length: 128 + int DAT_BUILDING_COST[110][5]; // 0x0000A85C length: 2200 + + } BuildingDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BuildingDefinedData) == 45300, BuildingDefinedData); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingFailReasonEnum.hpp b/src/OpenSHC/Map/Buildings/BuildingFailReasonEnum.hpp new file mode 100644 index 0000000..a28de3b --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingFailReasonEnum.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingFailReasonEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef enum BuildingFailReasonEnum { + + BFRE_NOT_ENOUGH_WORKERS = 1, // 0x00000001 + BFRE_TOO_FAR = 15 // 0x0000000F + + } BuildingFailReasonEnum; + + static_assert_cpp98_obj(sizeof(BuildingFailReasonEnum) == 4, BuildingFailReasonEnum); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingFailReasonEnumInt.hpp b/src/OpenSHC/Map/Buildings/BuildingFailReasonEnumInt.hpp new file mode 100644 index 0000000..bacc378 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingFailReasonEnumInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingFailReasonEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingFailReasonEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef int BuildingFailReasonEnumInt; + + static_assert_cpp98_obj(sizeof(BuildingFailReasonEnumInt) == 4, BuildingFailReasonEnumInt); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingLogicalState.hpp b/src/OpenSHC/Map/Buildings/BuildingLogicalState.hpp new file mode 100644 index 0000000..d2c5d0a --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingLogicalState.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingLogicalState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef enum BuildingLogicalState { + + BLS_NORMAL = 2, // 0x00000002 + BLS_REMOVE = 3 // 0x00000003 + + } BuildingLogicalState; + + static_assert_cpp98_obj(sizeof(BuildingLogicalState) == 4, BuildingLogicalState); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingLogicalStateShort.hpp b/src/OpenSHC/Map/Buildings/BuildingLogicalStateShort.hpp new file mode 100644 index 0000000..ecea434 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingLogicalStateShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingLogicalStateShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingLogicalState.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef short BuildingLogicalStateShort; + + static_assert_cpp98_obj(sizeof(BuildingLogicalStateShort) == 2, BuildingLogicalStateShort); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingType.hpp b/src/OpenSHC/Map/Buildings/BuildingType.hpp new file mode 100644 index 0000000..2f77755 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingType.hpp @@ -0,0 +1,128 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef enum BuildingType { + + BT_HOVEL = 1, // 0x00000001 + BT_HOUSE = 2, // 0x00000002 + BT_WOODCUTTERSHUT = 3, // 0x00000003 + BT_OXTETHER = 4, // 0x00000004 + BT_IRONMINE = 5, // 0x00000005 + BT_PITCHRIG = 6, // 0x00000006 + BT_HUNTERSHUT = 7, // 0x00000007 + BT_MERCENARYPOST = 8, // 0x00000008 + BT_BARRACKS = 9, // 0x00000009 + BT_STOCKPILE = 10, // 0x0000000A + BT_ARMORY = 11, // 0x0000000B + BT_FLETCHER = 12, // 0x0000000C + BT_BLACKSMITH = 13, // 0x0000000D + BT_POLETURNER = 14, // 0x0000000E + BT_ARMOURER = 15, // 0x0000000F + BT_TANNER = 16, // 0x00000010 + BT_BAKERY = 17, // 0x00000011 + BT_BREWERY = 18, // 0x00000012 + BT_GRANARY = 19, // 0x00000013 + BT_QUARRY = 20, // 0x00000014 + BT_QUARRYSTOCKPILE = 21, // 0x00000015 + BT_INN = 22, // 0x00000016 + BT_APOTHECARY = 23, // 0x00000017 + BT_ENGINEERSGUILD = 24, // 0x00000018 + BT_TUNNELERSGUILD = 25, // 0x00000019 + BT_MARKETPLACE = 26, // 0x0000001A + BT_WELL = 27, // 0x0000001B + BT_OILSMELTER = 28, // 0x0000001C + BT_SIEGETENT = 29, // 0x0000001D + BT_WHEATFARM = 30, // 0x0000001E + BT_HOPFARM = 31, // 0x0000001F + BT_APPLEFARM = 32, // 0x00000020 + BT_DAIRYFARM = 33, // 0x00000021 + BT_MILL = 34, // 0x00000022 + BT_STABLES = 35, // 0x00000023 + BT_CHAPEL = 36, // 0x00000024 + BT_CHURCH = 37, // 0x00000025 + BT_CATHEDRAL = 38, // 0x00000026 + BT_UNKNOWN1 = 39, // 0x00000027 + BT_MANORHOUSE = 40, // 0x00000028 + BT_STONEKEEP = 41, // 0x00000029 + BT_STRONGHOLD = 42, // 0x0000002A + BT_KEEPFOUR = 43, // 0x0000002B + BT_KEEPFIVE = 44, // 0x0000002C + BT_GATEHOUSELARGE = 45, // 0x0000002D + BT_GATEHOUSESMALL = 46, // 0x0000002E + BT_WOODGATE1 = 47, // 0x0000002F + BT_WOODGATE2 = 48, // 0x00000030 + BT_DRAWBRIDGE = 49, // 0x00000031 + BT_TUNNEL = 50, // 0x00000032 + BT_CAMPFIRE = 51, // 0x00000033 + BT_SIGNPOST = 52, // 0x00000034 + BT_PARADEGROUND = 53, // 0x00000035 + BT_FIREBALLISTA = 54, // 0x00000036 + BT_CAMPGROUND = 55, // 0x00000037 + BT_PARADEGROUND2 = 56, // 0x00000038 + BT_PARADEGROUND3 = 57, // 0x00000039 + BT_PARADEGROUND4 = 58, // 0x0000003A + BT_PARADEGROUND5 = 59, // 0x0000003B + BT_GATEHOUSE = 60, // 0x0000003C + BT_TOWER = 61, // 0x0000003D + BT_GALLOWS = 62, // 0x0000003E + BT_STOCKS = 63, // 0x0000003F + BT_WITCHHOIST = 64, // 0x00000040 + BT_MAYPOLE = 65, // 0x00000041 + BT_GARDEN = 66, // 0x00000042 + BT_KILLINGPIT = 67, // 0x00000043 + BT_PITCHDITCH = 68, // 0x00000044 + BT_SIEGETOWER_PLACED = 69, // 0x00000045 + BT_WATERPOT = 70, // 0x00000046 + BT_KEEPDOOR_LEFT = 71, // 0x00000047 + BT_KEEPDOOR_RIGHT = 72, // 0x00000048 + BT_KEEPDOOR = 73, // 0x00000049 + BT_TOWER1 = 74, // 0x0000004A + BT_TOWER2 = 75, // 0x0000004B + BT_TOWER3 = 76, // 0x0000004C + BT_TOWER4 = 77, // 0x0000004D + BT_TOWER5 = 78, // 0x0000004E + BT_UNKNOWN3 = 79, // 0x0000004F + BT_CATAPULT = 80, // 0x00000050 + BT_TREBUCHET = 81, // 0x00000051 + BT_BATTERINGRAM = 82, // 0x00000052 + BT_SIEGETOWER = 83, // 0x00000053 + BT_SHIELD = 84, // 0x00000054 + BT_UNKNOWN4 = 85, // 0x00000055 + BT_MANGONEL = 86, // 0x00000056 + BT_BALLISTA = 87, // 0x00000057 + BT_UNKNOWN5 = 88, // 0x00000058 + BT_UNKNOWN6 = 89, // 0x00000059 + BT_UNKNOWN7 = 90, // 0x0000005A + BT_CESSPIT = 91, // 0x0000005B + BT_BURNINGSTAKE = 92, // 0x0000005C + BT_GIBBET = 93, // 0x0000005D + BT_DUNGEON = 94, // 0x0000005E + BT_STRETCHINGRACK = 95, // 0x0000005F + BT_RACKFLOGGING = 96, // 0x00000060 + BT_CHOPPINGBLOCK = 97, // 0x00000061 + BT_DUNKINGSTOOL = 98, // 0x00000062 + BT_DOGCAGE = 99, // 0x00000063 + BT_STATUE = 100, // 0x00000064 + BT_SHRINE = 101, // 0x00000065 + BT_BEEHIVE = 102, // 0x00000066 + BT_DANCINGBEAR = 103, // 0x00000067 + BT_POND = 104, // 0x00000068 + BT_BEARCAVE = 105, // 0x00000069 + BT_OUTPOST = 106, // 0x0000006A + BT_OUTPOST_ARABIAN = 107, // 0x0000006B + BuildingTypeShort__BT_EUROPEAN_OUTPOST = 106, // 0x0000006A + BuildingTypeShort__BT_ARABIAN_OUTPOST = 107 // 0x0000006B + + } BuildingType; + + static_assert_cpp98_obj(sizeof(BuildingType) == 4, BuildingType); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingTypeInt.hpp b/src/OpenSHC/Map/Buildings/BuildingTypeInt.hpp new file mode 100644 index 0000000..a50ea24 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef int BuildingTypeInt; + + static_assert_cpp98_obj(sizeof(BuildingTypeInt) == 4, BuildingTypeInt); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingTypeShort.hpp b/src/OpenSHC/Map/Buildings/BuildingTypeShort.hpp new file mode 100644 index 0000000..ad6c622 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef short BuildingTypeShort; + + static_assert_cpp98_obj(sizeof(BuildingTypeShort) == 2, BuildingTypeShort); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingType_jtde.hpp b/src/OpenSHC/Map/Buildings/BuildingType_jtde.hpp new file mode 100644 index 0000000..4368a44 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingType_jtde.hpp @@ -0,0 +1,128 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingType_jtde.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef enum BuildingType_jtde { + + BT_HOVEL = 1, // 0x00000001 + BT_HOUSE = 2, // 0x00000002 + BT_WOODCUTTERSHUT = 3, // 0x00000003 + BT_OXTETHER = 4, // 0x00000004 + BT_IRONMINE = 5, // 0x00000005 + BT_PITCHRIG = 6, // 0x00000006 + BT_HUNTERSHUT = 7, // 0x00000007 + BT_MERCENARYPOST = 8, // 0x00000008 + BT_BARRACKS = 9, // 0x00000009 + BT_STOCKPILE = 10, // 0x0000000A + BT_ARMORY = 11, // 0x0000000B + BT_FLETCHER = 12, // 0x0000000C + BT_BLACKSMITH = 13, // 0x0000000D + BT_POLETURNER = 14, // 0x0000000E + BT_ARMOURER = 15, // 0x0000000F + BT_TANNER = 16, // 0x00000010 + BT_BAKERY = 17, // 0x00000011 + BT_BREWERY = 18, // 0x00000012 + BT_GRANARY = 19, // 0x00000013 + BT_QUARRY = 20, // 0x00000014 + BT_QUARRYSTOCKPILE = 21, // 0x00000015 + BT_INN = 22, // 0x00000016 + BT_APOTHECARY = 23, // 0x00000017 + BT_ENGINEERSGUILD = 24, // 0x00000018 + BT_TUNNELERSGUILD = 25, // 0x00000019 + BT_MARKETPLACE = 26, // 0x0000001A + BT_WELL = 27, // 0x0000001B + BT_OILSMELTER = 28, // 0x0000001C + BT_S_SIEGETENT = 29, // 0x0000001D + BT_WHEATFARM = 30, // 0x0000001E + BT_HOPFARM = 31, // 0x0000001F + BT_APPLEFARM = 32, // 0x00000020 + BT_DAIRYFARM = 33, // 0x00000021 + BT_MILL = 34, // 0x00000022 + BT_STABLES = 35, // 0x00000023 + BT_CHAPEL = 36, // 0x00000024 + BT_CHURCH = 37, // 0x00000025 + BT_CATHEDRAL = 38, // 0x00000026 + BT_UNKNOWN1 = 39, // 0x00000027 + BT_KEEP1 = 40, // 0x00000028 + BT_KEEP2 = 41, // 0x00000029 + BT_KEEP3 = 42, // 0x0000002A + BT_UNKNOWN2SHKEEP4 = 43, // 0x0000002B + BT_UNKNOWN3SHKEEP5 = 44, // 0x0000002C + BT_GATEHOUSE_LARGE = 45, // 0x0000002D + BT_GATEHOUSE_SMALL = 46, // 0x0000002E + BT_UNKNOWN4SHMAIN_WOOD = 47, // 0x0000002F + BT_UNKNOWN5SHPOSTERN_GATE = 48, // 0x00000030 + BT_DRAWBRIDGE = 49, // 0x00000031 + BT_TUNNEL = 50, // 0x00000032 + BT_CAMPFIRE = 51, // 0x00000033 + BT_SIGNPOST = 52, // 0x00000034 + BT_PARADEGROUND = 53, // 0x00000035 + BT_S_FIREBALLISTA = 54, // 0x00000036 + BT_CAMPGROUND = 55, // 0x00000037 + BT_PARADEGROUND2ARCHERY_TARGET = 56, // 0x00000038 + BT_PARADEGROUND3LARGE_POST = 57, // 0x00000039 + BT_PARADEGROUND4LANCE_TARGET = 58, // 0x0000003A + BT_PARADEGROUND5GUILDS = 59, // 0x0000003B + BT_UNKNOWN6SHGATEHOUSE = 60, // 0x0000003C + BT_UNKNOWN7SHTOWER = 61, // 0x0000003D + BT_GALLOWS = 62, // 0x0000003E + BT_STOCKS = 63, // 0x0000003F + BT_UNKNOWN8SHWITCH_HOIST = 64, // 0x00000040 + BT_MAYPOLE = 65, // 0x00000041 + BT_GARDEN = 66, // 0x00000042 + BT_KILLINGPIT = 67, // 0x00000043 + BT_PITCHDITCH = 68, // 0x00000044 + BT_SIEGETOWER_PLACED = 69, // 0x00000045 + BT_WATERPOT = 70, // 0x00000046 + BT_KEEPDOOR_LEFT = 71, // 0x00000047 + BT_KEEPDOOR_RIGHT = 72, // 0x00000048 + BT_KEEPDOOR = 73, // 0x00000049 + BT_TOWER1 = 74, // 0x0000004A + BT_TOWER2 = 75, // 0x0000004B + BT_TOWER3 = 76, // 0x0000004C + BT_TOWER4 = 77, // 0x0000004D + BT_TOWER5 = 78, // 0x0000004E + BT_TOWER5_RUIN = 79, // 0x0000004F + BT_S_CATAPULT = 80, // 0x00000050 + BT_S_TREBUCHET = 81, // 0x00000051 + BT_S_SIEGETOWER = 82, // 0x00000052 + BT_S_BATTERINGRAM = 83, // 0x00000053 + BT_S_SHIELD = 84, // 0x00000054 + BT_UNKNOWN10 = 85, // 0x00000055 + BT_TOWER1_RUIN = 86, // 0x00000056 + BT_TOWER2_RUIN = 87, // 0x00000057 + BT_TOWER3_RUIN = 88, // 0x00000058 + BT_TOWER4_RUIN = 89, // 0x00000059 + BT_UNKNOWN11 = 90, // 0x0000005A + BT_CESSPIT = 91, // 0x0000005B + BT_BURNINGSTAKE = 92, // 0x0000005C + BT_GIBBET = 93, // 0x0000005D + BT_DUNGEON = 94, // 0x0000005E + BT_STRETCHINGRACK = 95, // 0x0000005F + BT_UNKNOWN12SHRACK_FLOGGING = 96, // 0x00000060 + BT_CHOPPINGBLOCK = 97, // 0x00000061 + BT_DUNKINGSTOOL = 98, // 0x00000062 + BT_DOGCAGE = 99, // 0x00000063 + BT_STATUE = 100, // 0x00000064 + BT_SHRINE = 101, // 0x00000065 + BT_UNKNOWN13SHBEE_HIVE = 102, // 0x00000066 + BT_DANCINGBEAR = 103, // 0x00000067 + BT_POND = 104, // 0x00000068 + BT_UNKNOWN14SHBEAR_CAVE = 105, // 0x00000069 + BT_UNKNOWN16SHCEOUTPOST = 106, // 0x0000006A + BT_UNKNOWN17SHCEARAB_OUTPOST = 107, // 0x0000006B + BT_UNKNOWN18 = 108, // 0x0000006C + BT_UNKNOWN19 = 109 // 0x0000006D + + } BuildingType_jtde; + + static_assert_cpp98_obj(sizeof(BuildingType_jtde) == 4, BuildingType_jtde); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingType_jtdeShort.hpp b/src/OpenSHC/Map/Buildings/BuildingType_jtdeShort.hpp new file mode 100644 index 0000000..e3e4338 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingType_jtdeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingType_jtdeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/BuildingType_jtde.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + typedef short BuildingType_jtdeShort; + + static_assert_cpp98_obj(sizeof(BuildingType_jtdeShort) == 2, BuildingType_jtdeShort); + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp b/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp new file mode 100644 index 0000000..77e29f2 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingsState.func.hpp @@ -0,0 +1,687 @@ +/** + path: 'OpenSHC/Map/Buildings/BuildingsState.func.hpp' +*/ + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingsState.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace Buildings { + namespace BuildingsState_Func { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, ResourceTypeInt), false, + Address::SHC_3BB0A8C1_0x00409330, &BuildingsState::someArrayIndexingOnBuildingField0x120) + someArrayIndexingOnBuildingField0x120; + + MACRO_FUNCTION_RESOLVER(BuildingTypeInt (BuildingsState::*)(CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x00409370, &BuildingsState::convertCommandBuildingTypeToBuildingType) + convertCommandBuildingTypeToBuildingType; + + MACRO_FUNCTION_RESOLVER(CommandBuildingTypeInt (BuildingsState::*)(BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x00409930, &BuildingsState::convertBuildingTypeToCommandBuildingType) + convertBuildingTypeToCommandBuildingType; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00409DB0, + &BuildingsState::getBuildingHeightForBuildingID) + getBuildingHeightForBuildingID; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00409E80, + &BuildingsState::GetBuildingHeightForBuildingID_type2) + GetBuildingHeightForBuildingID_type2; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x00409F50, &BuildingsState::getSpriteID) + getSpriteID; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x00409FF0, &BuildingsState::getSpriteID2) + getSpriteID2; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040A020, &BuildingsState::clearBuildings) + clearBuildings; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int, int, undefined4), false, + Address::SHC_3BB0A8C1_0x0040A060, &BuildingsState::displayPopularityAndGoldPopups) + displayPopularityAndGoldPopups; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040A260, + &BuildingsState::spawnCrowForBuilding) + spawnCrowForBuilding; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040A400, + &BuildingsState::isFearFactorBuilding) + isFearFactorBuilding; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040A4A0, + &BuildingsState::isReligiousBuilding) + isReligiousBuilding; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040A4E0, + &BuildingsState::copyPlayerDataArrayValues) + copyPlayerDataArrayValues; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0040A8A0, &BuildingsState::chooseProductionItemType) + chooseProductionItemType; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0040A950, &BuildingsState::getEmptyBuildingCount) + getEmptyBuildingCount; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(PlayerID, BuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x0040A9B0, &BuildingsState::countBuildingsForPlayer) + countBuildingsForPlayer; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(PlayerID, int), false, Address::SHC_3BB0A8C1_0x0040AA10, + &BuildingsState::countFarms) + countFarms; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0040AA80, &BuildingsState::findFirstBuildingOfType) + findFirstBuildingOfType; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0040AAD0, &BuildingsState::findFirstBuildingIDForPlayerAndType) + findFirstBuildingIDForPlayerAndType; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(PlayerID, BuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x0040AB30, &BuildingsState::findNextBuildingForPlayerAndType) + findNextBuildingForPlayerAndType; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0040AB90, + &BuildingsState::meth_0x40ab90) + meth_0x40ab90; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0040AC00, &BuildingsState::meth_0x40ac00) + meth_0x40ac00; + + 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; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0040AEF0, &BuildingsState::pickARandomBuildingOfType) + pickARandomBuildingOfType; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, BuildingTypeInt, BuildingTypeInt, BuildingTypeInt), + false, Address::SHC_3BB0A8C1_0x0040AFB0, &BuildingsState::pickARandomBuildingIDOfTheseThreeTypes) + pickARandomBuildingIDOfTheseThreeTypes; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B090, + &BuildingsState::pickARandomPositiveFearFactorBuilding) + pickARandomPositiveFearFactorBuilding; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B1A0, + &BuildingsState::closestInnBuildingID) + closestInnBuildingID; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040B260, + &BuildingsState::recomputeAllFearFactors) + recomputeAllFearFactors; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0040B4E0, &BuildingsState::findBuildingOfTypeForPlayer) + findBuildingOfTypeForPlayer; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040B540, + &BuildingsState::removeSiegeBuildings) + removeSiegeBuildings; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x0040B5D0, + &BuildingsState::setBuildingInitialEntryTileTry) + setBuildingInitialEntryTileTry; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B660, + &BuildingsState::prepareCampgroundCoords) + prepareCampgroundCoords; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B720, + &BuildingsState::FUN_0040b720) + FUN_0040b720; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040B7B0, + &BuildingsState::FUN_0040b7b0) + FUN_0040b7b0; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x0040B840, + &BuildingsState::meth_0x40b840) + meth_0x40b840; + + 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; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0040BA10, &BuildingsState::setupBuildingEntrancesOffset) + setupBuildingEntrancesOffset; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0040BC40, &BuildingsState::setupNextCandidateLocationComputeOffsets2) + setupNextCandidateLocationComputeOffsets2; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int, ResourceTypeInt), false, + Address::SHC_3BB0A8C1_0x0040BE70, &BuildingsState::buildingHasSpaceForResource) + buildingHasSpaceForResource; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(BuildingTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x0040BEE0, &BuildingsState::meth_0x40bee0) + meth_0x40bee0; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, ResourceTypeInt, int), false, + Address::SHC_3BB0A8C1_0x0040BF40, &BuildingsState::canBuildingStoreTheAmount) + canBuildingStoreTheAmount; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, undefined4, int), false, + Address::SHC_3BB0A8C1_0x0040BFA0, &BuildingsState::getResourceCountThatCanBeDeposited) + getResourceCountThatCanBeDeposited; + + MACRO_FUNCTION_RESOLVER(BuildingTypeInt (BuildingsState::*)(ResourceTypeInt), false, + Address::SHC_3BB0A8C1_0x0040BFD0, &BuildingsState::getBuildingStorageTypeForResourceType) + getBuildingStorageTypeForResourceType; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(ResourceTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x0040BFE0, &BuildingsState::getStorageBuildingForResourceTypeAndAmount) + getStorageBuildingForResourceTypeAndAmount; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(uint, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x0040C060, &BuildingsState::ifArmoryReturnIDIfSpaceLeft) + ifArmoryReturnIDIfSpaceLeft; + + MACRO_FUNCTION_RESOLVER( + int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040C0D0, &BuildingsState::meth_0x40c0d0) + meth_0x40c0d0; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040C130, + &BuildingsState::computeResourceSumForBuilding) + computeResourceSumForBuilding; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040C1A0, + &BuildingsState::hasLessWoodThanTheCostOfAWoodcuttersHutAndNoWoodcutters) + hasLessWoodThanTheCostOfAWoodcuttersHutAndNoWoodcutters; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int*), false, Address::SHC_3BB0A8C1_0x0040C1F0, + &BuildingsState::getResourceSpace) + getResourceSpace; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040C300, + &BuildingsState::countPlayerResources) + countPlayerResources; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040C4B0, + &BuildingsState::recomputePlayerDataStocksBasedOnStorageBuildings) + recomputePlayerDataStocksBasedOnStorageBuildings; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(CommandBuildingTypeInt, int*, int*), false, + Address::SHC_3BB0A8C1_0x0040C5F0, &BuildingsState::getBuildingCostUnk) + getBuildingCostUnk; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(UnitTypeInt, int*), false, + Address::SHC_3BB0A8C1_0x0040C800, &BuildingsState::getPriceForDisbandedUnitType) + getPriceForDisbandedUnitType; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(BuildingTypeInt, int*, int*), false, + Address::SHC_3BB0A8C1_0x0040C9B0, &BuildingsState::resourceGainForKillingPitAndPitchDitch) + resourceGainForKillingPitAndPitchDitch; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040C9F0, + &BuildingsState::subtractPitchAndMoatFromStartingGoldInSiegeThatMode) + subtractPitchAndMoatFromStartingGoldInSiegeThatMode; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040CAC0, + &BuildingsState::hasEnoughGoldForMoat) + hasEnoughGoldForMoat; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040CB10, + &BuildingsState::getFarmThatHasTile) + getFarmThatHasTile; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040CB90, + &BuildingsState::meth_0x40cb90) + meth_0x40cb90; + + 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; + + 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_0x0040D400, &BuildingsState::meth_0x40d400) + meth_0x40d400; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int), false, + Address::SHC_3BB0A8C1_0x0040D6E0, &BuildingsState::getIsAnySpaceAvailableAtUnitRallyPoint) + getIsAnySpaceAvailableAtUnitRallyPoint; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int), false, + Address::SHC_3BB0A8C1_0x0040D9C0, &BuildingsState::ifAIUnitReturnKeepLocation) + ifAIUnitReturnKeepLocation; + + 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(int (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040E120, + &BuildingsState::someLaddermanFunction1) + someLaddermanFunction1; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E330, &BuildingsState::meth_0x40e330) + meth_0x40e330; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040E410, + &BuildingsState::meth_0x40e410) + meth_0x40e410; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040E610, + &BuildingsState::meth_0x40e610) + meth_0x40e610; + + 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; + + MACRO_FUNCTION_RESOLVER( + uint (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040E990, &BuildingsState::FUN_0040e990) + FUN_0040e990; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EA00, + &BuildingsState::setNewOnFarmDestination) + setNewOnFarmDestination; + + MACRO_FUNCTION_RESOLVER( + 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_0x0040EF40, &BuildingsState::meth_0x40ef40) + meth_0x40ef40; + + MACRO_FUNCTION_RESOLVER(ushort* (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040EFD0, + &BuildingsState::FUN_0040efd0) + FUN_0040efd0; + + 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::*)(), false, Address::SHC_3BB0A8C1_0x0040F1E0, + &BuildingsState::setSignpostDataForBuildings) + setSignpostDataForBuildings; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F240, + &BuildingsState::destroySignpostData) + destroySignpostData; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040F360, + &BuildingsState::meth_0x40f360) + meth_0x40f360; + + 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; + + 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_0x0040F440, &BuildingsState::FUN_0040f440) + FUN_0040f440; + + 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(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; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040F620, + &BuildingsState::updateNeededEmployeeCount) + updateNeededEmployeeCount; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040F700, + &BuildingsState::getBuildingPriority) + getBuildingPriority; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0040F750, + &BuildingsState::updateAllBuildingsSnoozedState) + updateAllBuildingsSnoozedState; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x0040F8A0, + &BuildingsState::applySnoozedStateBasedOnPlayerData) + applySnoozedStateBasedOnPlayerData; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0040F9D0, + &BuildingsState::processBuildingIDsNeedPeasantsQueue) + processBuildingIDsNeedPeasantsQueue; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0040FC40, &BuildingsState::meth_0x40fc40) + meth_0x40fc40; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410200, + &BuildingsState::getRequiredEngineerCountForSiegeBuilding) + getRequiredEngineerCountForSiegeBuilding; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410290, + &BuildingsState::updateVisuallyActiveState) + updateVisuallyActiveState; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410320, + &BuildingsState::updateRepairCostAndReturnIfDamaged) + updateRepairCostAndReturnIfDamaged; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00410440, + &BuildingsState::meth_0x410440) + meth_0x410440; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004105F0, + &BuildingsState::FUN_004105f0) + FUN_004105f0; + + 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; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410920, + &BuildingsState::fireRelatedBuildingParameter) + fireRelatedBuildingParameter; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x004109F0, &BuildingsState::meth_0x4109f0) + meth_0x4109f0; + + MACRO_FUNCTION_RESOLVER( + int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00410B10, &BuildingsState::meth_0x410b10) + meth_0x410b10; + + 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, int), false, Address::SHC_3BB0A8C1_0x00417450, + &BuildingsState::meth_0x417450) + meth_0x417450; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00418EC0, + &BuildingsState::requiredEngineersCount) + requiredEngineersCount; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419780, &BuildingsState::initBuildingCosts) + initBuildingCosts; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x004197C0, + &BuildingsState::updatePathLinkageLayerForAllBuildings) + updatePathLinkageLayerForAllBuildings; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419800, + &BuildingsState::processDamageFromKillingPit) + processDamageFromKillingPit; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419960, + &BuildingsState::SomethingUpdatePathLinkageTileMap) + SomethingUpdatePathLinkageTileMap; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419A30, &BuildingsState::meth_0x419a30) + meth_0x419a30; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419AC0, &BuildingsState::FUN_00419ac0) + FUN_00419ac0; + + MACRO_FUNCTION_RESOLVER( + void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419BE0, &BuildingsState::FUN_00419be0) + FUN_00419be0; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x00419C70, + &BuildingsState::updatePathLinkageForGatesKeepsSiegeTowers) + updatePathLinkageForGatesKeepsSiegeTowers; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x00419D70, + &BuildingsState::updateEnemyBuildings) + updateEnemyBuildings; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int), false, + 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; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041A7A0, + &BuildingsState::destroyBuilding) + destroyBuilding; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041A860, + &BuildingsState::destroyBuildings) + destroyBuildings; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0041A8D0, + &BuildingsState::swapOwnersOfCastle) + swapOwnersOfCastle; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x0041ADE0, &BuildingsState::determineBuildingEntranceFromKeepArea) + determineBuildingEntranceFromKeepArea; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int, int, int), false, + 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::*)(undefined4, int, int, int, int, int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0041B890, &BuildingsState::findQuarryPileLocation) + findQuarryPileLocation; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int, int, int, int, BuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0041B940, &BuildingsState::hasBuildingAsNeighbour) + hasBuildingAsNeighbour; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(undefined4, int, int, int, BuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x0041BA00, &BuildingsState::findParticularBuilding) + findParticularBuilding; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0041BAB0, + &BuildingsState::getAreaForSurroundingTileUnk) + getAreaForSurroundingTileUnk; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, ResourceTypeInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x0041BB30, &BuildingsState::addResourceToStockpile) + addResourceToStockpile; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(ResourceTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x0041BC10, &BuildingsState::addResourceToGranary) + addResourceToGranary; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(ResourceTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x0041BCA0, &BuildingsState::addResourceToArmory) + addResourceToArmory; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, ResourceTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x0041BD70, &BuildingsState::processResourceLoss) + processResourceLoss; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041BF50, + &BuildingsState::subtractResourcesStoredInBuilding) + subtractResourcesStoredInBuilding; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, BuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x0041BFD0, &BuildingsState::processPlacementResourceLossForBuildingType) + processPlacementResourceLossForBuildingType; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0041C190, &BuildingsState::processWallBuildingLoss) + processWallBuildingLoss; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0041C240, + &BuildingsState::FUN_0041c240) + FUN_0041c240; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (BuildingsState::*)(int, ResourceTypeInt, 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; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(int), false, Address::SHC_3BB0A8C1_0x0041C6F0, + &BuildingsState::sortBuildingIDsNeedPeasantsQueue) + sortBuildingIDsNeedPeasantsQueue; + + MACRO_FUNCTION_RESOLVER(undefined4 (BuildingsState::*)(int, int, int), false, + Address::SHC_3BB0A8C1_0x0041C810, &BuildingsState::lightUpBuilding) + lightUpBuilding; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x00420BF0, &BuildingsState::meth_0x420bf0) + meth_0x420bf0; + + MACRO_FUNCTION_RESOLVER( + int (BuildingsState::*)(int, uint, uint, undefined4, BuildingTypeInt, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00420D20, &BuildingsState::setupBuildingData) + setupBuildingData; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00421890, + &BuildingsState::deleteBuilding) + deleteBuilding; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00421990, + &BuildingsState::someBuildingDestroyFunction) + someBuildingDestroyFunction; + + 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; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00421D70, + &BuildingsState::giveBackResourceForDestroyedBuilding) + giveBackResourceForDestroyedBuilding; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(ResourceTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x00422230, &BuildingsState::getBuildingThatCanStoreThisResource) + getBuildingThatCanStoreThisResource; + + MACRO_FUNCTION_RESOLVER(uint (BuildingsState::*)(uint, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x00422370, &BuildingsState::getArmoryWithSpaceLeft) + getArmoryWithSpaceLeft; + + MACRO_FUNCTION_RESOLVER(int (BuildingsState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00422400, &BuildingsState::findQuarryPileThatIsCloseAndHasMostStone) + findQuarryPileThatIsCloseAndHasMostStone; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(), false, Address::SHC_3BB0A8C1_0x004224F0, + &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; + + 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::*)(int), false, Address::SHC_3BB0A8C1_0x00424270, + &BuildingsState::updateHeatmapBasedOnBuildingAccessibility) + updateHeatmapBasedOnBuildingAccessibility; + + MACRO_FUNCTION_RESOLVER(void (BuildingsState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x00424310, &BuildingsState::FUN_00424310) + FUN_00424310; + + } // namespace BuildingsState_Func + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/BuildingsState.hpp b/src/OpenSHC/Map/Buildings/BuildingsState.hpp new file mode 100644 index 0000000..a587df6 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/BuildingsState.hpp @@ -0,0 +1,433 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/BuildingsState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Buildings/Building.hpp" +#include "OpenSHC/Map/Buildings/BuildingCostStruct.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Buildings::Building; + using OpenSHC::Map::Buildings::BuildingCostStruct; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0018E088 + class BuildingsState { + public: + int structCount; // 0x00000000 length: 4 + undefined4 field1_0x4; // 0x00000004 length: 4 + undefined4 maxBuildingsCount; // 0x00000008 length: 4 + undefined4 unknownCountdown01; // 0x0000000C length: 4 + undefined4 field4_0x10; // 0x00000010 length: 4 + Building buildings[2000]; // 0x00000014 length: 1624000 + BuildingCostStruct buildingCosts[110]; // 0x0018C7D4 length: 2200 + undefined4 pathLinkageKeepWasUpdatedUnk; // 0x0018D06C length: 4 + undefined4 counter; // 0x0018D070 length: 4 + undefined2 DAT_BuildingIDsNeedPeasantsQueue[2000]; // 0x0018D074 length: 4000 + undefined4 DAT_CountOfBuildingsNeedPeasants; // 0x0018E014 length: 4 + int campfireSpotX; // 0x0018E018 length: 4 + int campfireSpotY; // 0x0018E01C length: 4 + int campfireSpotOrientation; // 0x0018E020 length: 4 + undefined4 field14_0x18e024; // 0x0018E024 length: 4 + undefined4 DAT_TempXOffset; // 0x0018E028 length: 4 + undefined4 DAT_TempYOffset; // 0x0018E02C length: 4 + undefined4 farmerDestinationTile; // 0x0018E030 length: 4 + int hopFarmerDestinationOffsetX; // 0x0018E034 length: 4 + int hopFarmerDestinationOffsetY; // 0x0018E038 length: 4 + undefined4 menuSelectedBuildingID; // 0x0018E03C length: 4 + undefined4 newSelectedBuildingID; // 0x0018E040 length: 4 + undefined4 menuSelectedUnitID; // 0x0018E044 length: 4 + undefined4 newSelectedUnitID; // 0x0018E048 length: 4 + undefined4 field24_0x18e04c; // 0x0018E04C length: 4 + undefined4 field25_0x18e050; // 0x0018E050 length: 4 + char* DAT_CurrentlyPlayingBuildingBik; // 0x0018E054 length: 4 + BOOLEnum DAT_IsBuildingOrPeasantBinkPlaying; // 0x0018E058 length: 4 + int field28_0x18e05c; // 0x0018E05C length: 4 + undefined4 field29_0x18e060; // 0x0018E060 length: 4 + BOOLEnum isFirstTickInLoop; // 0x0018E064 length: 4 + undefined4 DAT_DraggedTileCountVerified; // 0x0018E068 length: 4 + int INT_SelectedBuildingStoneWoodCost; // 0x0018E06C length: 4 + int INT_SelectedBuildingStoneRepairCost; // 0x0018E070 length: 4 + undefined4 field34_0x18e074; // 0x0018E074 length: 4 + int siegeEngineCreationRelated01; // 0x0018E078 length: 4 + undefined4 unitID; // 0x0018E07C length: 4 + undefined4 field37_0x18e080; // 0x0018E080 length: 4 + int unused01; // 0x0018E084 length: 4 + + private: + BuildingsState(BuildingsState const&); + void operator=(BuildingsState const&); + + BuildingsState(); + ~BuildingsState(); + + public: + // Constructor + BuildingsState* Constructor_BuildingsState(); + + undefined4 someArrayIndexingOnBuildingField0x120(int buildingID, int param_2, ResourceTypeInt param_3); + + BuildingTypeInt convertCommandBuildingTypeToBuildingType(CommandBuildingTypeInt commandBuildingType); + + CommandBuildingTypeInt convertBuildingTypeToCommandBuildingType(BuildingTypeInt buildingType); + + undefined4 getBuildingHeightForBuildingID(int buildingID); + + undefined4 GetBuildingHeightForBuildingID_type2(int buildingID); + + int getSpriteID(CommandBuildingTypeInt commandBuildingType); + + int getSpriteID2(CommandBuildingTypeInt commandBuildingType); + + void clearBuildings(); + + void displayPopularityAndGoldPopups(int buildingID, int param_2, int param_3, undefined4 param_4); + + int spawnCrowForBuilding(int buildingID); + + uint isFearFactorBuilding(int buildingID); + + uint isReligiousBuilding(int buildingID); + + void copyPlayerDataArrayValues(int playerID, int playerID2); + + int chooseProductionItemType(int playerID, BuildingTypeInt buildingType); + + int getEmptyBuildingCount(int playerID, BuildingTypeInt buildingType); + + int countBuildingsForPlayer(PlayerID playerID, BuildingTypeInt buildingType, int includeBool); + + int countFarms(PlayerID playerID, int param_2); + + int findFirstBuildingOfType(int playerID, BuildingTypeInt buildingType); + + int findFirstBuildingIDForPlayerAndType(int playerID, BuildingTypeInt buildingType); + + int findNextBuildingForPlayerAndType(PlayerID playerID, BuildingTypeInt buildingType, int buildingID); + + int meth_0x40ab90(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 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 pickARandomBuildingOfType(int playerID, BuildingTypeInt buildingType); + + int pickARandomBuildingIDOfTheseThreeTypes(int playerID, BuildingTypeInt buildingType1, + BuildingTypeInt buildingType2, BuildingTypeInt buildingType3); + + int pickARandomPositiveFearFactorBuilding(int playerID); + + int closestInnBuildingID(int unitID); + + void recomputeAllFearFactors(); + + undefined4 findBuildingOfTypeForPlayer(int playerID, BuildingTypeInt buildingType); + + void removeSiegeBuildings(int attackWave, int playerID); + + void setBuildingInitialEntryTileTry(int buildingID, undefined4 param_2); + + undefined4 prepareCampgroundCoords(int playerID); + + undefined4 FUN_0040b720(int buildingID); + + undefined4 FUN_0040b7b0(int buildingID); + + uint meth_0x40b840(uint param_1, int param_2); + + BOOLEnum getBuildingHasHealthProperty(uint buildingID); + + BOOLEnum trueIfAnyUnitsOnBuildingAreFromHumanPlayer(int buildingID); + + void setupBuildingEntrancesOffset(int buildingSize, int nudge, int try_, int offset); + + void setupNextCandidateLocationComputeOffsets2(int size, int nudge, int try_, int offset); + + BOOLEnum buildingHasSpaceForResource(int buildingID, ResourceTypeInt resourceType); + + void meth_0x40bee0(BuildingTypeInt buildingType, int someCountdown, int playerID); + + int canBuildingStoreTheAmount(int buildingID, ResourceTypeInt resourceType, int storageLimit); + + int getResourceCountThatCanBeDeposited(int buildingID, undefined4 resourceType, int storageLimit); + + BuildingTypeInt getBuildingStorageTypeForResourceType(ResourceTypeInt resourceType); + + int getStorageBuildingForResourceTypeAndAmount(ResourceTypeInt resourceType, int amount, int owner); + + uint ifArmoryReturnIDIfSpaceLeft(uint buildingID, undefined4 resourceID, int playerID, int resourceCount); + + int meth_0x40c0d0(int buildingID); + + uint computeResourceSumForBuilding(int buildingID); + + uint hasLessWoodThanTheCostOfAWoodcuttersHutAndNoWoodcutters(int playerID, int param_2); + + int getResourceSpace(int param_1, int* resourceType); + + void countPlayerResources(int playerID); + + void recomputePlayerDataStocksBasedOnStorageBuildings(); + + void getBuildingCostUnk(CommandBuildingTypeInt commandBuildingType, int* pStone, int* pGold); + + void getPriceForDisbandedUnitType(UnitTypeInt unitType, int* outPrice); + + void resourceGainForKillingPitAndPitchDitch( + BuildingTypeInt buildingType, int* ptrRequiredStone, int* ptrRequiredGold); + + void subtractPitchAndMoatFromStartingGoldInSiegeThatMode(); + + uint hasEnoughGoldForMoat(); + + int getFarmThatHasTile(int tile); + + undefined4 meth_0x40cb90(int param_1); + + void growWheat(int buildingID); + + void unkWheatRelated1(int buildingID); + + void harmWheatFarmsOfPlayer(int playerID); + + void meth_0x40d120(int buildingID); + + void meth_0x40d400(int playerID); + + undefined4 getIsAnySpaceAvailableAtUnitRallyPoint(int playerID, int value0to6, int unitID); + + undefined4 ifAIUnitReturnKeepLocation(int playerID, int param_2, int unitID); + + void createEntityForAssemblyPointsForActiveTabType(); + + void meth_0x40e040(int param_1); + + int someLaddermanFunction1(int playerIndex, int param_2); + + void meth_0x40e330(int param_1); + + undefined4 meth_0x40e410(int param_1, int param_2); + + undefined4 meth_0x40e610(int param_1, int param_2); + + void setTileRefsForOilSmelter(int buildingID); + + undefined4 meth_0x40e900(int param_1, int param_2, int param_3); + + uint FUN_0040e990(int buildingID); + + undefined4 setNewOnFarmDestination(int buildingID); + + void growHops(int buildingID); + + void meth_0x40edf0(int buildingID); + + void meth_0x40ef40(int param_1); + + ushort* FUN_0040efd0(int param_1); + + void setDairyFarmCheeseCounter(int param_1); + + void meth_0x40f090(int param_1); + + void setSignpostDataForBuildings(); + + void destroySignpostData(int buildingID); + + int meth_0x40f360(int param_1, int param_2); + + void setBuildingToAppleFarm(int buildingID); + + void setBuildingValueBasedOnBuildingStateBeing2(); + + int FUN_0040f420(int param_1); + + int FUN_0040f440(int param_1); + + undefined4 determinePeasantSitPosition(int campfireID, int availablePeasants); + + void meth_0x40f4f0(); + + BOOLEnum hasWorker(int buildingID, int workerSlot); + + void meth_0x40f5c0(int buildingID, int unitID, int workerIndex); + + void updateNeededEmployeeCount(int buildingID); + + int getBuildingPriority(int buildingType, int hasBurningBuilding); + + void updateAllBuildingsSnoozedState(int playerID, int buildingType); + + void applySnoozedStateBasedOnPlayerData(); + + void processBuildingIDsNeedPeasantsQueue(undefined4 playerID); + + void meth_0x40fc40(int playerID); + + undefined4 getRequiredEngineerCountForSiegeBuilding(int buildingID); + + void updateVisuallyActiveState(int buildingID); + + BOOLEnum updateRepairCostAndReturnIfDamaged(int buildingIndex); + + undefined4 meth_0x410440(int param_1, int param_2); + + undefined4 FUN_004105f0(int param_1, int param_2); + + void processDamageToUnitsOnBuilding(int buildingID, int damageBonus); + + void slaveFireRelated1(int buildingID, undefined4 playerID); + + undefined4 fireRelatedBuildingParameter(int buildingID); + + void meth_0x4109f0(int buildingID); + + int meth_0x410b10(int param_1); + + undefined4 playerHasBurningBuilding(int playerID); + + void meth_0x4173d0(int buildingID); + + void meth_0x417450(int buildingID, int unitID); + + int requiredEngineersCount(int buildingID); + + void initBuildingCosts(); + + void updatePathLinkageLayerForAllBuildings(); + + void processDamageFromKillingPit(int unitID); + + void SomethingUpdatePathLinkageTileMap(int param_1); + + void meth_0x419a30(int param_1); + + void FUN_00419ac0(); + + void FUN_00419be0(); + + void updatePathLinkageForGatesKeepsSiegeTowers(); + + void updateEnemyBuildings(int playerID); + + 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); + + void destroyBuilding(int buildingID); + + void destroyBuildings(int playerID); + + void swapOwnersOfCastle(int param_1, int param_2); + + undefined4 determineBuildingEntranceFromKeepArea(int buildingID, int workerIndexPlus1, BOOLEnum flag); + + undefined4 determineBuildingEntranceFromCustomArea(int buildingID, int param_2, int param_3, int x, int y); + + void meth_0x41b7c0(int param_1); + + void findQuarryPileLocation(undefined4 playerID, int x, int y, int buildingSize, int pileSize, int tryUnk, + CommandBuildingTypeInt commandBuildingType); + + BOOLEnum hasBuildingAsNeighbour(int playerID, int x, int y, int size, BuildingTypeInt type); + + int findParticularBuilding( + undefined4 param_1, int x, int y, int buildingSize, BuildingTypeInt buildingType, int buildingID); + + int getAreaForSurroundingTileUnk(int x, int y, int buildingSize); + + undefined4 addResourceToStockpile(int buildingID, int buildingUID, ResourceTypeInt resourceType, int amount, + int maxCapacity, int recomputeResources); + + void addResourceToGranary(ResourceTypeInt resourceType, int playerID, int amount); + + void addResourceToArmory(ResourceTypeInt resourceType, int playerID, int amount); + + void processResourceLoss(int playerID, ResourceTypeInt resourceType, int amount, int param_4); + + void subtractResourcesStoredInBuilding(int buildingID); + + void processPlacementResourceLossForBuildingType(int playerID, BuildingTypeInt buildingType, int param_3); + + void processWallBuildingLoss(int playerID, int highCount, int lowCount, int zero); + + void FUN_0041c240(int param_1, int param_2); + + BOOLEnum processResourceGain(int playerID, ResourceTypeInt resourceType, int amount); + + 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(PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + int setupBuildingData(int playerID, uint x, uint y, undefined4 averageHeight, BuildingTypeInt buildingType, + uint width, int playerID_dup, int variation); + + void deleteBuilding(uint buildingID); + + void someBuildingDestroyFunction(uint param_1); + + int buildingIsAccessible(int buildingID, int amountUnk); + + char meth_0x421be0(int buildingID, int param_2, int x, int y); + + int giveBackResourceForDestroyedBuilding(int buildingID__negResourceType, int playerID, int param_3); + + int getBuildingThatCanStoreThisResource(ResourceTypeInt resourceType, int amount, int playerID); + + uint getArmoryWithSpaceLeft( + uint targetBuildingID, undefined4 producedItemTypeUnk, int playerID, int resourceToDeposit); + + int findQuarryPileThatIsCloseAndHasMostStone(int playerID, int x, int y, int unitID); + + void UpdateGateDrawBridgeOpenCloseLogic(); + + void checkBuildingsNeedPeasants(int playerID); + + void randomFireSpreadToBuildingsUnk(int param_1, int param_2); + + void updateBuildings(); + + void meth_0x424220(); + + void updateHeatmapBasedOnBuildingAccessibility(int playerID); + + void FUN_00424310(PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + }; + + static_assert_cpp98_obj(sizeof(BuildingsState) == 1630344, BuildingsState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(BuildingsState, false, Address::SHC_3BB0A8C1_0x00F98520) pDAT_BuildingsState; + + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Buildings/WheatFarm/WheatFarmFieldSpec.hpp b/src/OpenSHC/Map/Buildings/WheatFarm/WheatFarmFieldSpec.hpp new file mode 100644 index 0000000..74d39c8 --- /dev/null +++ b/src/OpenSHC/Map/Buildings/WheatFarm/WheatFarmFieldSpec.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Buildings/WheatFarm/WheatFarmFieldSpec.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" + +namespace OpenSHC { +namespace Map { + namespace Buildings { + namespace WheatFarm { + + using OpenSHC::Map::Navigation::Algorithms::XYPair; + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct WheatFarmFieldSpec { + + XYPair offset; // 0x00000000 length: 8 + int property; // 0x00000008 length: 4 + + } WheatFarmFieldSpec; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(WheatFarmFieldSpec) == 12, WheatFarmFieldSpec); + } // namespace WheatFarm + } // namespace Buildings +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/ClimbData.hpp b/src/OpenSHC/Map/ClimbData.hpp new file mode 100644 index 0000000..f2df8ca --- /dev/null +++ b/src/OpenSHC/Map/ClimbData.hpp @@ -0,0 +1,143 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/ClimbData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000204 + typedef struct ClimbData { + + int canBeUsed; // 0x00000000 length: 4 + int type; // 0x00000004 length: 4 + int climbDataRelated; // 0x00000008 length: 4 + int buildingID; // 0x0000000C length: 4 + int unitID; // 0x00000010 length: 4 + int buildingUID; // 0x00000014 length: 4 + int isRecognizedByPathfinding; // 0x00000018 length: 4 + int bottomXPosition; // 0x0000001C length: 4 + int bottomYPosition; // 0x00000020 length: 4 + int bottomTilePosition; // 0x00000024 length: 4 + int topXPosition; // 0x00000028 length: 4 + int topYPosition; // 0x0000002C length: 4 + int topTilePositionUnk; // 0x00000030 length: 4 + int area; // 0x00000034 length: 4 + int wallGroupAreaID; // 0x00000038 length: 4 + int numberOfUnitsUsing; // 0x0000003C length: 4 + int unitID1; // 0x00000040 length: 4 + int unitID2; // 0x00000044 length: 4 + int unitID3; // 0x00000048 length: 4 + int unitID4; // 0x0000004C length: 4 + int unitID5; // 0x00000050 length: 4 + int unitID6; // 0x00000054 length: 4 + int unitID7; // 0x00000058 length: 4 + int unitID8; // 0x0000005C length: 4 + int unitID9; // 0x00000060 length: 4 + int unitID10; // 0x00000064 length: 4 + int unitID11; // 0x00000068 length: 4 + int unitID12; // 0x0000006C length: 4 + int unitID13; // 0x00000070 length: 4 + int unitID14; // 0x00000074 length: 4 + int unitID15; // 0x00000078 length: 4 + int unitID16; // 0x0000007C length: 4 + int unitID17; // 0x00000080 length: 4 + int unitID18; // 0x00000084 length: 4 + int unitID19; // 0x00000088 length: 4 + int unitID20; // 0x0000008C length: 4 + int unitID21; // 0x00000090 length: 4 + int unitID22; // 0x00000094 length: 4 + int unitID23; // 0x00000098 length: 4 + int unitID24; // 0x0000009C length: 4 + int unitID25; // 0x000000A0 length: 4 + int unitID26; // 0x000000A4 length: 4 + int unitID27; // 0x000000A8 length: 4 + int unitID28; // 0x000000AC length: 4 + int unitID29; // 0x000000B0 length: 4 + int unitID30; // 0x000000B4 length: 4 + int unitID31; // 0x000000B8 length: 4 + int unitID32; // 0x000000BC length: 4 + int unitID33; // 0x000000C0 length: 4 + int unitID34; // 0x000000C4 length: 4 + int unitID35; // 0x000000C8 length: 4 + int unitID36; // 0x000000CC length: 4 + int unitID37; // 0x000000D0 length: 4 + int unitID38; // 0x000000D4 length: 4 + int unitID39; // 0x000000D8 length: 4 + int unitID40; // 0x000000DC length: 4 + int unitID41; // 0x000000E0 length: 4 + int unitID42; // 0x000000E4 length: 4 + int unitID43; // 0x000000E8 length: 4 + int unitID44; // 0x000000EC length: 4 + int unitID45; // 0x000000F0 length: 4 + int unitID46; // 0x000000F4 length: 4 + int unitID47; // 0x000000F8 length: 4 + int unitID48; // 0x000000FC length: 4 + int unitID49; // 0x00000100 length: 4 + int unitID50; // 0x00000104 length: 4 + int unitUID1; // 0x00000108 length: 4 + int unitUID2; // 0x0000010C length: 4 + int unitUID3; // 0x00000110 length: 4 + int field69_0x114; // 0x00000114 length: 4 + int field70_0x118; // 0x00000118 length: 4 + int field71_0x11c; // 0x0000011C length: 4 + int field72_0x120; // 0x00000120 length: 4 + int field73_0x124; // 0x00000124 length: 4 + int field74_0x128; // 0x00000128 length: 4 + int field75_0x12c; // 0x0000012C length: 4 + int field76_0x130; // 0x00000130 length: 4 + int field77_0x134; // 0x00000134 length: 4 + int field78_0x138; // 0x00000138 length: 4 + int field79_0x13c; // 0x0000013C length: 4 + int field80_0x140; // 0x00000140 length: 4 + int field81_0x144; // 0x00000144 length: 4 + int field82_0x148; // 0x00000148 length: 4 + int field83_0x14c; // 0x0000014C length: 4 + int field84_0x150; // 0x00000150 length: 4 + int field85_0x154; // 0x00000154 length: 4 + int field86_0x158; // 0x00000158 length: 4 + int field87_0x15c; // 0x0000015C length: 4 + int field88_0x160; // 0x00000160 length: 4 + int field89_0x164; // 0x00000164 length: 4 + int field90_0x168; // 0x00000168 length: 4 + int field91_0x16c; // 0x0000016C length: 4 + int field92_0x170; // 0x00000170 length: 4 + int field93_0x174; // 0x00000174 length: 4 + int field94_0x178; // 0x00000178 length: 4 + int field95_0x17c; // 0x0000017C length: 4 + int field96_0x180; // 0x00000180 length: 4 + int field97_0x184; // 0x00000184 length: 4 + int field98_0x188; // 0x00000188 length: 4 + int field99_0x18c; // 0x0000018C length: 4 + int field100_0x190; // 0x00000190 length: 4 + int field101_0x194; // 0x00000194 length: 4 + int field102_0x198; // 0x00000198 length: 4 + int field103_0x19c; // 0x0000019C length: 4 + int field104_0x1a0; // 0x000001A0 length: 4 + int field105_0x1a4; // 0x000001A4 length: 4 + int field106_0x1a8; // 0x000001A8 length: 4 + int field107_0x1ac; // 0x000001AC length: 4 + int field108_0x1b0; // 0x000001B0 length: 4 + int field109_0x1b4; // 0x000001B4 length: 4 + int field110_0x1b8; // 0x000001B8 length: 4 + int field111_0x1bc; // 0x000001BC length: 4 + int field112_0x1c0; // 0x000001C0 length: 4 + int field113_0x1c4; // 0x000001C4 length: 4 + int field114_0x1c8; // 0x000001C8 length: 4 + int field115_0x1cc; // 0x000001CC length: 4 + int ladderDirection; // 0x000001D0 length: 4 + int field117_0x1d4; // 0x000001D4 length: 4 + undefined1 padding_0x1d8[12]; // 0x000001D8 length: 12 + int ownerPlayerIndex; // 0x000001E4 length: 4 + int buildingArea; // 0x000001E8 length: 4 + undefined1 padding_0x1ec[24]; // 0x000001EC length: 24 + + } ClimbData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ClimbData) == 516, ClimbData); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities.func.hpp b/src/OpenSHC/Map/Entities.func.hpp new file mode 100644 index 0000000..76a07a9 --- /dev/null +++ b/src/OpenSHC/Map/Entities.func.hpp @@ -0,0 +1,123 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Entities.hpp" +namespace OpenSHC { +namespace Map { + namespace Entities_Func { + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401BA0, &OpenSHC::Map::Entities::UpdateArrowEntity) + UpdateArrowEntity; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401C30, + &OpenSHC::Map::Entities::UpdateCatapultProjectileEntity) + UpdateCatapultProjectileEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401CC0, &OpenSHC::Map::Entities::UpdatePebbleEntity) + UpdatePebbleEntity; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401D20, + &OpenSHC::Map::Entities::UpdateFirethrowSecondaryEntity) + UpdateFirethrowSecondaryEntity; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401D70, + &OpenSHC::Map::Entities::UpdateArrowsSecondaryEntity) + UpdateArrowsSecondaryEntity; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401DB0, + &OpenSHC::Map::Entities::UpdateCrossbowArrowEntity) + UpdateCrossbowArrowEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401E20, &OpenSHC::Map::Entities::UpdateEntity_20_37) + UpdateEntity_20_37; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401EA0, &OpenSHC::Map::Entities::UpdateEntity_21) + UpdateEntity_21; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00401FF0, + &OpenSHC::Map::Entities::UpdateEntity_PoisonCloud) + UpdateEntity_PoisonCloud; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402180, + &OpenSHC::Map::Entities::UpdateEntity_CowFlying) + UpdateEntity_CowFlying; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402260, &OpenSHC::Map::Entities::UpdateEntity_26) + UpdateEntity_26; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402330, &OpenSHC::Map::Entities::UpdateEntity_27) + UpdateEntity_27; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004023A0, &OpenSHC::Map::Entities::UpdateEntity_28) + UpdateEntity_28; + + MACRO_FUNCTION_RESOLVER( + uint(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004023F0, &OpenSHC::Map::Entities::UpdateEntity_29) + UpdateEntity_29; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004024F0, &OpenSHC::Map::Entities::UpdateEntity_30) + UpdateEntity_30; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402580, &OpenSHC::Map::Entities::UpdateEntity_31) + UpdateEntity_31; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402620, &OpenSHC::Map::Entities::UpdateEntity_32) + UpdateEntity_32; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402660, &OpenSHC::Map::Entities::UpdateEntity_40) + UpdateEntity_40; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402730, &OpenSHC::Map::Entities::UpdateEntity_41) + UpdateEntity_41; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402820, &OpenSHC::Map::Entities::UpdateEntity_42_43) + UpdateEntity_42_43; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402900, + &OpenSHC::Map::Entities::UpdateFlag_1_2_4_Entity) + UpdateFlag_1_2_4_Entity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402A20, &OpenSHC::Map::Entities::UpdateFlag3Entity) + UpdateFlag3Entity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00402AB0, &OpenSHC::Map::Entities::UpdateBrazierEntity) + UpdateBrazierEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00405680, &OpenSHC::Map::Entities::UpdateFireEntity) + UpdateFireEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00405B70, &OpenSHC::Map::Entities::UpdateFirethrowEntity) + UpdateFirethrowEntity; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00405C00, + &OpenSHC::Map::Entities::UpdateHeadsOnSpikesEntity) + UpdateHeadsOnSpikesEntity; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00406FD0, &OpenSHC::Map::Entities::UpdateEntityType8) + UpdateEntityType8; + + } // namespace Entities_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities.hpp b/src/OpenSHC/Map/Entities.hpp new file mode 100644 index 0000000..4fa64ff --- /dev/null +++ b/src/OpenSHC/Map/Entities.hpp @@ -0,0 +1,68 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Entities { + + void __stdcall UpdateArrowEntity(); + + void __stdcall UpdateCatapultProjectileEntity(); + + void __stdcall UpdatePebbleEntity(); + + void __stdcall UpdateFirethrowSecondaryEntity(); + + void __stdcall UpdateArrowsSecondaryEntity(); + + void __stdcall UpdateCrossbowArrowEntity(); + + void __stdcall UpdateEntity_20_37(); + + void __stdcall UpdateEntity_21(); + + void __stdcall UpdateEntity_PoisonCloud(); + + void __stdcall UpdateEntity_CowFlying(); + + void __stdcall UpdateEntity_26(); + + void __stdcall UpdateEntity_27(); + + void __stdcall UpdateEntity_28(); + + uint __stdcall UpdateEntity_29(); + + void __stdcall UpdateEntity_30(); + + void __stdcall UpdateEntity_31(); + + void __stdcall UpdateEntity_32(); + + void __stdcall UpdateEntity_40(); + + void __stdcall UpdateEntity_41(); + + void __stdcall UpdateEntity_42_43(); + + void __stdcall UpdateFlag_1_2_4_Entity(); + + void __stdcall UpdateFlag3Entity(); + + void __stdcall UpdateBrazierEntity(); + + void __stdcall UpdateFireEntity(); + + void __stdcall UpdateFirethrowEntity(); + + void __stdcall UpdateHeadsOnSpikesEntity(); + + void __stdcall UpdateEntityType8(); + + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/Entity.hpp b/src/OpenSHC/Map/Entities/Entity.hpp new file mode 100644 index 0000000..9dfb96f --- /dev/null +++ b/src/OpenSHC/Map/Entities/Entity.hpp @@ -0,0 +1,122 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/Entity.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Entities/EntityTypeShort.hpp" + +namespace OpenSHC { +namespace Map { + namespace Entities { + + using OpenSHC::Map::Entities::EntityTypeShort; + +#pragma pack(push, 1) + // SIZE: 0x000000E8 + typedef struct Entity { + + int graphicType2; // 0x00000000 length: 4 + short graphicType2RelatedOffset; // 0x00000004 length: 2 + short gmID; // 0x00000006 length: 2 + int colorUnk; // 0x00000008 length: 4 + short x1; // 0x0000000C length: 2 + short y1; // 0x0000000E length: 2 + short unkOne_1; // 0x00000010 length: 2 + short field7_0x12; // 0x00000012 length: 2 + short unknownAnimationFrameRelated; // 0x00000014 length: 2 + short unkThree_1; // 0x00000016 length: 2 + short originX; // 0x00000018 length: 2 + short originY; // 0x0000001A length: 2 + short field12_0x1c; // 0x0000001C length: 2 + short nextEntityOnThisTileByID; // 0x0000001E length: 2 + short imageID; // 0x00000020 length: 2 + byte unused_0x22[6]; // 0x00000022 length: 6 + short logicalState; // 0x00000028 length: 2 + EntityTypeShort entityType; // 0x0000002A length: 2 + short owner; // 0x0000002C length: 2 + byte unused_0x2e[2]; // 0x0000002E length: 2 + int uid; // 0x00000030 length: 4 + int field21_0x34; // 0x00000034 length: 4 + short microX; // 0x00000038 length: 2 + short microY; // 0x0000003A length: 2 + short height; // 0x0000003C length: 2 + short targetX; // 0x0000003E length: 2 + short targetY; // 0x00000040 length: 2 + short targetZ; // 0x00000042 length: 2 + short xPosition; // 0x00000044 length: 2 + short yPosition; // 0x00000046 length: 2 + byte unused_0x48[4]; // 0x00000048 length: 4 + int tile; // 0x0000004C length: 4 + short x_2; // 0x00000050 length: 2 + short y_2; // 0x00000052 length: 2 + short startingHeight_2; // 0x00000054 length: 2 + short height_2; // 0x00000056 length: 2 + short startingHeight; // 0x00000058 length: 2 + short field37_0x5a; // 0x0000005A length: 2 + short field38_0x5c; // 0x0000005C length: 2 + short field39_0x5e; // 0x0000005E length: 2 + short someMicroX; // 0x00000060 length: 2 + short field41_0x62; // 0x00000062 length: 2 + short field42_0x64; // 0x00000064 length: 2 + short someMicroY; // 0x00000066 length: 2 + short field44_0x68; // 0x00000068 length: 2 + short field45_0x6a; // 0x0000006A length: 2 + short someCounter_OR_hitGround; // 0x0000006C length: 2 + short field47_0x6e; // 0x0000006E length: 2 + short field48_0x70; // 0x00000070 length: 2 + short field49_0x72; // 0x00000072 length: 2 + short field50_0x74; // 0x00000074 length: 2 + byte unused_0x76[2]; // 0x00000076 length: 2 + int field52_0x78; // 0x00000078 length: 4 + float vCos; // 0x0000007C length: 4 + float vSin; // 0x00000080 length: 4 + short travelledDistance; // 0x00000084 length: 2 + byte field56_0x86[2]; // 0x00000086 length: 2 + int orientation; // 0x00000088 length: 4 + short field58_0x8c; // 0x0000008C length: 2 + undefined1 padding_0x8e[2]; // 0x0000008E length: 2 + int heightDifference; // 0x00000090 length: 4 + short field62_0x94; // 0x00000094 length: 2 + short velocityUnk; // 0x00000096 length: 2 + float field64_0x98; // 0x00000098 length: 4 + short startingAngle; // 0x0000009C length: 2 + word graphicRotationUnk; // 0x0000009E length: 2 + short unitID; // 0x000000A0 length: 2 + short unitID_OR_seaGullID; // 0x000000A2 length: 2 + undefined1 padding_0xa4[2]; // 0x000000A4 length: 2 + short gmLookupValue; // 0x000000A6 length: 2 + short field72_0xa8; // 0x000000A8 length: 2 + EntityTypeShort entityType2; // 0x000000AA length: 2 + int rng_1; // 0x000000AC length: 4 + short unkMinusOne; // 0x000000B0 length: 2 + short hasDoneEffectUnk; // 0x000000B2 length: 2 + short someTracker; // 0x000000B4 length: 2 + short fireParameter_0xb6; // 0x000000B6 length: 2 + short field79_0xb8; // 0x000000B8 length: 2 + short field80_0xba; // 0x000000BA length: 2 + short rng_2; // 0x000000BC length: 2 + short field82_0xbe; // 0x000000BE length: 2 + short field83_0xc0; // 0x000000C0 length: 2 + byte unused_0xc2[2]; // 0x000000C2 length: 2 + int displayValue; // 0x000000C4 length: 4 + short field86_0xc8; // 0x000000C8 length: 2 + short field87_0xca; // 0x000000CA length: 2 + short field88_0xcc; // 0x000000CC length: 2 + short field89_0xce; // 0x000000CE length: 2 + short field90_0xd0; // 0x000000D0 length: 2 + short unitID_healer; // 0x000000D2 length: 2 + int unitUID; // 0x000000D4 length: 4 + short fireIntensity; // 0x000000D8 length: 2 + short unknownDistanceRelatedValue; // 0x000000DA length: 2 + int uidRef; // 0x000000DC length: 4 + byte unused_0xe0[8]; // 0x000000E0 length: 8 + + } Entity; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Entity) == 232, Entity); + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/EntityDefinedData.hpp b/src/OpenSHC/Map/Entities/EntityDefinedData.hpp new file mode 100644 index 0000000..aec4123 --- /dev/null +++ b/src/OpenSHC/Map/Entities/EntityDefinedData.hpp @@ -0,0 +1,70 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/EntityDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Map/Location/Point4ShortXY.hpp" +#include "OpenSHC/Map/Location/Point8IntXY.hpp" + +namespace OpenSHC { +namespace Map { + namespace Entities { + + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Map::Location::Point4ShortXY; + using OpenSHC::Map::Location::Point8IntXY; + +#pragma pack(push, 1) + // SIZE: 0x00001964 + typedef struct EntityDefinedData { + + int field0_0x0[9]; // 0x00000000 length: 36 + pointer PTR_FUN_EntityCallbacks[44]; // 0x00000024 length: 176 + GmIDInt DAT_EntityPropertyArray_1[45]; // 0x000000D4 length: 180 + byte field3_0x188[36]; // 0x00000188 length: 36 + int DAT_EntityPropertyArray_2[45]; // 0x000001AC length: 180 + byte field5_0x260[16]; // 0x00000260 length: 16 + int field6_0x270[15]; // 0x00000270 length: 60 + int field7_0x2ac[35]; // 0x000002AC length: 140 + byte field8_0x338[28]; // 0x00000338 length: 28 + uint DAT_EntityTypeArrayForProjectileRange[38]; // 0x00000354 length: 152 + undefined1 padding_0x3ec[28]; // 0x000003EC length: 28 + byte field38_0x408[28]; // 0x00000408 length: 28 + int DAT_EntityArrayCurveTypeForProjectileType[45]; // 0x00000424 length: 180 + byte field40_0x4d8[28]; // 0x000004D8 length: 28 + int DAT_EntityArrayProjectileVelocityForProjectileType[45]; // 0x000004F4 length: 180 + byte field42_0x5a8[28]; // 0x000005A8 length: 28 + float field43_0x5c4[46]; // 0x000005C4 length: 184 + int DAT_EntityPropertyArray_3[56]; // 0x0000067C length: 224 + int field45_0x75c[36]; // 0x0000075C length: 144 + int field46_0x7ec[3]; // 0x000007EC length: 12 + int field47_0x7f8; // 0x000007F8 length: 4 + int field48_0x7fc[42]; // 0x000007FC length: 168 + int field49_0x8a4[3]; // 0x000008A4 length: 12 + int field50_0x8b0; // 0x000008B0 length: 4 + int field51_0x8b4[42]; // 0x000008B4 length: 168 + GmIDInt field52_0x95c[46]; // 0x0000095C length: 184 + int field53_0xa14[92]; // 0x00000A14 length: 368 + Point4ShortXY field54_0xb84[128]; // 0x00000B84 length: 512 + Point8IntXY field55_0xd84[16]; // 0x00000D84 length: 128 + byte field56_0xe04[48]; // 0x00000E04 length: 48 + byte field57_0xe34[56]; // 0x00000E34 length: 56 + int DAT_XYOffsetsInAllDirections[64][2]; // 0x00000E6C length: 512 + int field59_0x106c[4]; // 0x0000106C length: 16 + int field60_0x107c[58]; // 0x0000107C length: 232 + int field61_0x1164[76]; // 0x00001164 length: 304 + int field62_0x1294[66]; // 0x00001294 length: 264 + int field63_0x139c[144]; // 0x0000139C length: 576 + int field64_0x15dc[114]; // 0x000015DC length: 456 + int field65_0x17a4[112]; // 0x000017A4 length: 448 + + } EntityDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(EntityDefinedData) == 6500, EntityDefinedData); + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/EntityState.func.hpp b/src/OpenSHC/Map/Entities/EntityState.func.hpp new file mode 100644 index 0000000..70e50b6 --- /dev/null +++ b/src/OpenSHC/Map/Entities/EntityState.func.hpp @@ -0,0 +1,206 @@ +/** + path: 'OpenSHC/Map/Entities/EntityState.func.hpp' +*/ + +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Entities/EntityState.hpp" +#include "OpenSHC/Map/Entities/EntityTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace Entities { + namespace EntityState_Func { + + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Entities::EntityTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x004010E0, + &EntityState::clearEntityArrayAndSec1077) + clearEntityArrayAndSec1077; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (EntityState::*)(int, EntityTypeInt), false, + Address::SHC_3BB0A8C1_0x00401150, &EntityState::meth_0x401150) + meth_0x401150; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, EntityTypeInt), false, Address::SHC_3BB0A8C1_0x004011D0, + &EntityState::setProjectileEntityValues2) + setProjectileEntityValues2; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, undefined4, int), false, + Address::SHC_3BB0A8C1_0x004012F0, &EntityState::setEntityParameters) + setEntityParameters; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x00401380, &EntityState::drawEntityEffect) + drawEntityEffect; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401400, &EntityState::meth_0x401400) + meth_0x401400; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401430, &EntityState::meth_0x401430) + meth_0x401430; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(uint), false, Address::SHC_3BB0A8C1_0x00401460, + &EntityState::doSomethingWithOtherEntitiesOnTile) + doSomethingWithOtherEntitiesOnTile; + + MACRO_FUNCTION_RESOLVER( + int (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401540, &EntityState::getFireEntityIDAtTile) + getFireEntityIDAtTile; + + MACRO_FUNCTION_RESOLVER(int (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00401570, + &EntityState::updateAllFireEntitiesAtTile) + updateAllFireEntitiesAtTile; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004015D0, + &EntityState::processFireDamageToUnitsAtTile) + processFireDamageToUnitsAtTile; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x00401620, &EntityState::meth_0x401620) + meth_0x401620; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x00401690, &EntityState::meth_0x401690) + meth_0x401690; + + 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_0x00401910, &EntityState::meth_0x401910) + meth_0x401910; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004019D0, + &EntityState::destroyEntitiesOnTile) + destroyEntitiesOnTile; + + MACRO_FUNCTION_RESOLVER(undefined4 (EntityState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00401A50, + &EntityState::isBrazierNearby) + isBrazierNearby; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00401AE0, + &EntityState::meth_0x401ae0) + meth_0x401ae0; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00401B20, + &EntityState::swapEntityOwnership) + swapEntityOwnership; + + MACRO_FUNCTION_RESOLVER( + 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( + undefined4 (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00402BD0, &EntityState::FUN_00402bd0) + FUN_00402bd0; + + MACRO_FUNCTION_RESOLVER(int (EntityState::*)(int, double, int, int), false, + Address::SHC_3BB0A8C1_0x00402C50, &EntityState::math_atan_1) + math_atan_1; + + MACRO_FUNCTION_RESOLVER(int (EntityState::*)(undefined4, double, int, int), false, + Address::SHC_3BB0A8C1_0x00402DA0, &EntityState::computeVelocity) + computeVelocity; + + MACRO_FUNCTION_RESOLVER(uint (EntityState::*)(int, int, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00402E20, &EntityState::meth_0x402e20) + meth_0x402e20; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004036F0, &EntityState::meth_0x4036f0) + meth_0x4036f0; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00403790, &EntityState::meth_0x403790) + meth_0x403790; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00403900, &EntityState::FUN_00403900) + FUN_00403900; + + MACRO_FUNCTION_RESOLVER( + int (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004039B0, &EntityState::meth_0x4039b0) + meth_0x4039b0; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(uint), false, Address::SHC_3BB0A8C1_0x004039F0, &EntityState::deleteEntity) + deleteEntity; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int, int, int, int, int, int), false, + 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(int (EntityState::*)(int, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00404A10, &EntityState::arrowShootingRelated) + arrowShootingRelated; + + MACRO_FUNCTION_RESOLVER( + uint (EntityState::*)(int, undefined4, uint, int, int, int, int, int, int, EntityTypeInt, int), false, + Address::SHC_3BB0A8C1_0x00404AE0, &EntityState::spawnProjectileEntity) + spawnProjectileEntity; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(int, int, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00405CF0, &EntityState::meth_0x405cf0) + meth_0x405cf0; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00405DA0, &EntityState::meth_0x405da0) + meth_0x405da0; + + MACRO_FUNCTION_RESOLVER( + int (EntityState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00406650, &EntityState::createSeagull) + createSeagull; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00406900, &EntityState::processSeaGulls) + processSeaGulls; + + MACRO_FUNCTION_RESOLVER(undefined4 (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x00407190, + &EntityState::processEntityHitBuildingOrUnit) + processEntityHitBuildingOrUnit; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(uint, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x004081E0, &EntityState::meth_0x4081e0) + meth_0x4081e0; + + MACRO_FUNCTION_RESOLVER(uint (EntityState::*)(undefined4, undefined4, undefined4, undefined4, int), false, + Address::SHC_3BB0A8C1_0x004082A0, &EntityState::spawnEntityEffect2) + spawnEntityEffect2; + + MACRO_FUNCTION_RESOLVER(uint (EntityState::*)(short, short, undefined4, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x004083A0, &EntityState::spawnEntityEffect1) + spawnEntityEffect1; + + MACRO_FUNCTION_RESOLVER(undefined4 (EntityState::*)(int), false, Address::SHC_3BB0A8C1_0x004084A0, + &EntityState::moveProjectileEntity) + moveProjectileEntity; + + MACRO_FUNCTION_RESOLVER(void (EntityState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x00408770, &EntityState::FUN_00408770) + FUN_00408770; + + MACRO_FUNCTION_RESOLVER( + void (EntityState::*)(), false, Address::SHC_3BB0A8C1_0x004087C0, &EntityState::updateEntities) + updateEntities; + + } // namespace EntityState_Func + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/EntityState.hpp b/src/OpenSHC/Map/Entities/EntityState.hpp new file mode 100644 index 0000000..0bd67ac --- /dev/null +++ b/src/OpenSHC/Map/Entities/EntityState.hpp @@ -0,0 +1,155 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/EntityState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Entities/Entity.hpp" +#include "OpenSHC/Map/Entities/EntityTypeInt.hpp" +#include "OpenSHC/Map/Entities/ExtraEntityInfo.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Entities { + + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Entities::Entity; + using OpenSHC::Map::Entities::EntityTypeInt; + using OpenSHC::Map::Entities::ExtraEntityInfo; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000AC5E8 + class EntityState { + public: + undefined4 DAT_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 + Entity entityArray[3000]; // 0x00000014 length: 696000 + ExtraEntityInfo seagullArray[100]; // 0x000A9ED4 length: 10000 + undefined4 field7_0xac5e4; // 0x000AC5E4 length: 4 + + private: + EntityState(EntityState const&); + void operator=(EntityState const&); + + EntityState(); + ~EntityState(); + + public: + // Constructor + EntityState* Constructor_EntityState(); + + void clearEntityArrayAndSec1077(); + + BOOLEnum meth_0x401150(int playerID, EntityTypeInt entityType); + + void setProjectileEntityValues2(int entityID, EntityTypeInt entityType); + + void setEntityParameters(int entityID, undefined4 entityType, int gmLookupValue); + + void drawEntityEffect(int entityID, undefined4 entityType, int graphicType1, int graphicType2); + + void meth_0x401400(int param_1); + + void meth_0x401430(int param_1); + + void doSomethingWithOtherEntitiesOnTile(uint entityID); + + int getFireEntityIDAtTile(int tile); + + int updateAllFireEntitiesAtTile(int tile); + + void processFireDamageToUnitsAtTile(int tile, int playerID, int fireLowIntensity); + + void meth_0x401620(); + + void meth_0x401690(); + + int somethingWithSeparateAreas1(int unitID); + + void meth_0x401880(int param_1); + + void meth_0x401910(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 swapEntityOwnership(int param_1, int param_2); + + void destroyEntitiesPart2(int param_1); + + void meth_0x402ae0(int param_1); + + undefined4 FUN_00402bd0(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); + + void meth_0x4036f0(int entityID); + + void meth_0x403790(int ID_1077, int param_2, int param_3, int param_4, int param_5); + + void FUN_00403900(int param_1); + + int meth_0x4039b0(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); + + int arrowShootingRelated( + int microX, int microY, int height, int destMicroX, int destMicroY, int destHeight); + + uint spawnProjectileEntity(int unitID, undefined4 playerID1, uint ownerColorUnk, int microX, int microY, + int totalHeight, int targetX, int targetY, int targetZUnk, EntityTypeInt entityType, int param_11); + + void meth_0x405cf0(int entityID, int x, int y, int height, int targetX, int targetY, int targetZ); + + void meth_0x405da0(int param_1); + + int createSeagull(int x, int y); + + void processSeaGulls(int seagullID); + + undefined4 processEntityHitBuildingOrUnit(int entityID); + + void meth_0x4081e0(uint entityID, undefined4 param_2, int param_3, int param_4); + + uint spawnEntityEffect2( + undefined4 microX, undefined4 microY, undefined4 height, undefined4 entityType, int gmLookupValue); + + uint spawnEntityEffect1( + short x, short y, undefined4 height, undefined4 entityType, int graphicType1, int graphicType2); + + undefined4 moveProjectileEntity(int entityID); + + void FUN_00408770(PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + void updateEntities(); + }; + + static_assert_cpp98_obj(sizeof(EntityState) == 706024, EntityState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(EntityState, false, Address::SHC_3BB0A8C1_0x02350300) pDAT_EntityState; + + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/EntityType.hpp b/src/OpenSHC/Map/Entities/EntityType.hpp new file mode 100644 index 0000000..0f4bb41 --- /dev/null +++ b/src/OpenSHC/Map/Entities/EntityType.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/EntityType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Entities { + typedef enum EntityType { + + ET_UNKNOWN = 0, // 0x00000000 + ET_ARROW_AND_DEFAULT = 1, // 0x00000001 + ET_CATAPULT = 2, // 0x00000002 + ET_TREBUCHET = 3, // 0x00000003 + ET_MANGONEL = 4, // 0x00000004 + ET_CROSSBOWARROW = 7, // 0x00000007 + ET_FIRE = 9, // 0x00000009 + ET_FLAG_1 = 10, // 0x0000000A + ET_FLAG_4 = 11, // 0x0000000B + ET_FLAG_2 = 12, // 0x0000000C + ET_FLAG_3 = 13, // 0x0000000D + ET_BRAZIER = 14, // 0x0000000E + ET_HEADS_ON_SPIKES = 15, // 0x0000000F + ET_BALLISTA = 20, // 0x00000014 + ET_DUST_CLOUD = 21, // 0x00000015 + ET_COW_POISON_CLOUD = 22, // 0x00000016 + ET_COW_FLYING = 23, // 0x00000017 + ET_SEAGULLUnk = 29, // 0x0000001D + ET_SLINGER = 33, // 0x00000021 + ET_FIRETHROWER = 34, // 0x00000022 + ET_FIRETHROWER_UNTARGETED = 36, // 0x00000024 + ET_FIREBALLISTA = 37, // 0x00000025 + EntityTypeInt__ET_EXPLOSION = 26, // 0x0000001A + EntityTypeInt__ET_CROW = 28 // 0x0000001C + + } EntityType; + + static_assert_cpp98_obj(sizeof(EntityType) == 4, EntityType); + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/EntityTypeInt.hpp b/src/OpenSHC/Map/Entities/EntityTypeInt.hpp new file mode 100644 index 0000000..aa793c1 --- /dev/null +++ b/src/OpenSHC/Map/Entities/EntityTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/EntityTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Entities/EntityType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Entities { + typedef int EntityTypeInt; + + static_assert_cpp98_obj(sizeof(EntityTypeInt) == 4, EntityTypeInt); + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/EntityTypeShort.hpp b/src/OpenSHC/Map/Entities/EntityTypeShort.hpp new file mode 100644 index 0000000..cfb7610 --- /dev/null +++ b/src/OpenSHC/Map/Entities/EntityTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/EntityTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Entities/EntityType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Entities { + typedef short EntityTypeShort; + + static_assert_cpp98_obj(sizeof(EntityTypeShort) == 2, EntityTypeShort); + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Entities/ExtraEntityInfo.hpp b/src/OpenSHC/Map/Entities/ExtraEntityInfo.hpp new file mode 100644 index 0000000..37ec9e1 --- /dev/null +++ b/src/OpenSHC/Map/Entities/ExtraEntityInfo.hpp @@ -0,0 +1,72 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Entities/ExtraEntityInfo.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Entities { + +#pragma pack(push, 1) + // SIZE: 0x00000064 + typedef struct ExtraEntityInfo { + + short entityID; // 0x00000000 length: 2 + short randomNumber; // 0x00000002 length: 2 + int entityUID; // 0x00000004 length: 4 + short field3_0x8; // 0x00000008 length: 2 + short field4_0xa; // 0x0000000A length: 2 + short x; // 0x0000000C length: 2 + short y; // 0x0000000E length: 2 + short x_2; // 0x00000010 length: 2 + short y_2; // 0x00000012 length: 2 + short angle; // 0x00000014 length: 2 + short unknownCounter_0x16; // 0x00000016 length: 2 + short someAngle; // 0x00000018 length: 2 + short field12_0x1a; // 0x0000001A length: 2 + short angle_2; // 0x0000001C length: 2 + short numberBetween60And100; // 0x0000001E length: 2 + short field15_0x20; // 0x00000020 length: 2 + short rngMax799_countdown; // 0x00000022 length: 2 + short x_3; // 0x00000024 length: 2 + short y_3; // 0x00000026 length: 2 + short field19_0x28; // 0x00000028 length: 2 + short field20_0x2a; // 0x0000002A length: 2 + short field21_0x2c; // 0x0000002C length: 2 + short field22_0x2e; // 0x0000002E length: 2 + short field23_0x30; // 0x00000030 length: 2 + short field24_0x32; // 0x00000032 length: 2 + short field25_0x34; // 0x00000034 length: 2 + short someCountDown; // 0x00000036 length: 2 + short field27_0x38; // 0x00000038 length: 2 + short field28_0x3a; // 0x0000003A length: 2 + short field29_0x3c; // 0x0000003C length: 2 + short field30_0x3e; // 0x0000003E length: 2 + short field31_0x40; // 0x00000040 length: 2 + short field32_0x42; // 0x00000042 length: 2 + short field33_0x44; // 0x00000044 length: 2 + short field34_0x46; // 0x00000046 length: 2 + short field35_0x48; // 0x00000048 length: 2 + short field36_0x4a; // 0x0000004A length: 2 + short field37_0x4c; // 0x0000004C length: 2 + short field38_0x4e; // 0x0000004E length: 2 + short field39_0x50; // 0x00000050 length: 2 + short field40_0x52; // 0x00000052 length: 2 + short field41_0x54; // 0x00000054 length: 2 + short field42_0x56; // 0x00000056 length: 2 + short field43_0x58; // 0x00000058 length: 2 + short field44_0x5a; // 0x0000005A length: 2 + short field45_0x5c; // 0x0000005C length: 2 + short field46_0x5e; // 0x0000005E length: 2 + short field47_0x60; // 0x00000060 length: 2 + short field48_0x62; // 0x00000062 length: 2 + + } ExtraEntityInfo; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ExtraEntityInfo) == 100, ExtraEntityInfo); + } // namespace Entities +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Floaters/Floater.hpp b/src/OpenSHC/Map/Floaters/Floater.hpp new file mode 100644 index 0000000..bef7d08 --- /dev/null +++ b/src/OpenSHC/Map/Floaters/Floater.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Floaters/Floater.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" + +namespace OpenSHC { +namespace Map { + namespace Floaters { + + using OpenSHC::IO::Graphics::GmIDInt; + +#pragma pack(push, 1) + // SIZE: 0x0000001C + typedef struct Floater { + + int imageID; // 0x00000000 length: 4 + GmIDInt gmID; // 0x00000004 length: 4 + int originX; // 0x00000008 length: 4 + int originY; // 0x0000000C length: 4 + int tile; // 0x00000010 length: 4 + int variation; // 0x00000014 length: 4 + int id; // 0x00000018 length: 4 + + } Floater; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Floater) == 28, Floater); + } // namespace Floaters +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/GFX/UnkBytePair.hpp b/src/OpenSHC/Map/GFX/UnkBytePair.hpp new file mode 100644 index 0000000..a4817db --- /dev/null +++ b/src/OpenSHC/Map/GFX/UnkBytePair.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/GFX/UnkBytePair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace GFX { + +#pragma pack(push, 1) + // SIZE: 0x00000002 + typedef struct UnkBytePair { + + byte unk1; // 0x00000000 length: 1 + byte unk2; // 0x00000001 length: 1 + + } UnkBytePair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnkBytePair) == 2, UnkBytePair); + } // namespace GFX +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/HeatMap1114.hpp b/src/OpenSHC/Map/HeatMap1114.hpp new file mode 100644 index 0000000..5d012dd --- /dev/null +++ b/src/OpenSHC/Map/HeatMap1114.hpp @@ -0,0 +1,54 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/HeatMap1114.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000030 + typedef struct HeatMap1114 { + + int algorithmIterationNumber; // 0x00000000 length: 4 + byte distanceToTheKeepCountUnk_fixme; // 0x00000004 length: 1 + byte algorithmVisitCountUnk; // 0x00000005 length: 1 + byte anotherCount_0x6; // 0x00000006 length: 1 + byte woodCount; // 0x00000007 length: 1 + byte stoneCount; // 0x00000008 length: 1 + byte ironCount; // 0x00000009 length: 1 + byte oilCount_1; // 0x0000000A length: 1 + byte oilCount_2; // 0x0000000B length: 1 + byte lowestTerrainHeight; // 0x0000000C length: 1 + byte highestTerrainHeight; // 0x0000000D length: 1 + byte terrainDiffHigherThan12; // 0x0000000E length: 1 + byte buildingOccupiedTilesCount; // 0x0000000F length: 1 + byte isNotNearEdgeUnk; // 0x00000010 length: 1 + byte oasisUnk; // 0x00000011 length: 1 + byte oasisthickUnk; // 0x00000012 length: 1 + byte value10; // 0x00000013 length: 1 + byte field17_0x14; // 0x00000014 length: 1 + byte tileOwnership; // 0x00000015 length: 1 + byte waterOrRockCountUnk; // 0x00000016 length: 1 + byte field20_0x17; // 0x00000017 length: 1 + short field21_0x18; // 0x00000018 length: 2 + short field22_0x1a; // 0x0000001A length: 2 + short field23_0x1c; // 0x0000001C length: 2 + short field24_0x1e; // 0x0000001E length: 2 + short field25_0x20; // 0x00000020 length: 2 + short field26_0x22; // 0x00000022 length: 2 + short field27_0x24; // 0x00000024 length: 2 + short field28_0x26; // 0x00000026 length: 2 + short field29_0x28; // 0x00000028 length: 2 + short field30_0x2a; // 0x0000002A length: 2 + short field31_0x2c; // 0x0000002C length: 2 + short field32_0x2e; // 0x0000002E length: 2 + + } HeatMap1114; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HeatMap1114) == 48, HeatMap1114); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LandscapeState.func.hpp b/src/OpenSHC/Map/LandscapeState.func.hpp new file mode 100644 index 0000000..2fc1a0a --- /dev/null +++ b/src/OpenSHC/Map/LandscapeState.func.hpp @@ -0,0 +1,136 @@ +/** + path: 'OpenSHC/Map/LandscapeState.func.hpp' +*/ + +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/LandscapeState.hpp" +#include "OpenSHC/Map/Trees/TreeTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace LandscapeState_Func { + + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Trees::TreeTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004F1A60, + &LandscapeState::mapUITreeTypeToLogicalTreeTypeUnk) + mapUITreeTypeToLogicalTreeTypeUnk; + + MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(undefined4, int), false, + Address::SHC_3BB0A8C1_0x004F1BE0, &LandscapeState::getValueFrom0UpTo3ForTreeTypeAndTreeSeason) + getValueFrom0UpTo3ForTreeTypeAndTreeSeason; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F1C60, &LandscapeState::clearRocksAndTrees) + clearRocksAndTrees; + + MACRO_FUNCTION_RESOLVER( + int (LandscapeState::*)(undefined4, undefined4, TreeTypeInt, undefined4, int, undefined4, int), false, + Address::SHC_3BB0A8C1_0x004F1CE0, &LandscapeState::createTree) + createTree; + + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F2020, + &LandscapeState::setTreeStageRelatedValues) + setTreeStageRelatedValues; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2070, &LandscapeState::removeTreeUnk) + removeTreeUnk; + + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F20E0, + &LandscapeState::setCurrentTimeOnSomeTrees) + setCurrentTimeOnSomeTrees; + + MACRO_FUNCTION_RESOLVER(int (LandscapeState::*)(undefined4, undefined4, int, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x004F2140, &LandscapeState::createRock) + createRock; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2220, &LandscapeState::meth_0x4f2220) + meth_0x4f2220; + + 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( + undefined4 (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F2C20, &LandscapeState::FUN_004f2c20) + FUN_004f2c20; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F2CC0, &LandscapeState::setTreeSpreadInterval) + setTreeSpreadInterval; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F2DA0, &LandscapeState::killEveryFifthTree) + killEveryFifthTree; + + MACRO_FUNCTION_RESOLVER(undefined4 (LandscapeState::*)(uint, int, uint, uint), false, + 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(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; + + 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_0x004F30D0, &LandscapeState::meth_0x4f30d0) + meth_0x4f30d0; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(int), false, Address::SHC_3BB0A8C1_0x004F3150, &LandscapeState::spawnACrowUnk) + spawnACrowUnk; + + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(int, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x004F3560, &LandscapeState::placeAppleTree) + placeAppleTree; + + MACRO_FUNCTION_RESOLVER(int (LandscapeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F3610, + &LandscapeState::selectClosestTree) + selectClosestTree; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F3700, &LandscapeState::resetWind) + resetWind; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F3730, &LandscapeState::updateWind) + updateWind; + + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x004F3960, + &LandscapeState::updateTreeStage) + updateTreeStage; + + MACRO_FUNCTION_RESOLVER(int (LandscapeState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004F3B90, + &LandscapeState::findTree) + findTree; + + MACRO_FUNCTION_RESOLVER(void (LandscapeState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x004F3D30, &LandscapeState::FUN_004f3d30) + FUN_004f3d30; + + MACRO_FUNCTION_RESOLVER( + void (LandscapeState::*)(), false, Address::SHC_3BB0A8C1_0x004F3D60, &LandscapeState::updateTrees) + updateTrees; + + } // namespace LandscapeState_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LandscapeState.hpp b/src/OpenSHC/Map/LandscapeState.hpp new file mode 100644 index 0000000..c410443 --- /dev/null +++ b/src/OpenSHC/Map/LandscapeState.hpp @@ -0,0 +1,122 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LandscapeState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Rocks/Rock.hpp" +#include "OpenSHC/Map/Trees/Tree.hpp" +#include "OpenSHC/Map/Trees/TreeTypeInt.hpp" +#include "OpenSHC/Map/WindState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::WindState; + using OpenSHC::Map::Rocks::Rock; + using OpenSHC::Map::Trees::Tree; + using OpenSHC::Map::Trees::TreeTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0006B700 + class LandscapeState { + public: + undefined4 field0_0x0; // 0x00000000 length: 4 + undefined4 field1_0x4; // 0x00000004 length: 4 + undefined4 DAT_TotalOrganisms; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int maxTreeCount; // 0x00000010 length: 4 + undefined4 x; // 0x00000014 length: 4 + undefined4 y; // 0x00000018 length: 4 + Tree trees[2000]; // 0x0000001C length: 312000 + WindState wind; // 0x0004C2DC length: 28 + Rock SEC_RockArray1038[4000]; // 0x0004C2F8 length: 128000 + DWORD creationTime; // 0x0006B6F8 length: 4 + undefined1 padding_0x6b6fc[4]; // 0x0006B6FC length: 4 + + private: + LandscapeState(LandscapeState const&); + void operator=(LandscapeState const&); + + LandscapeState(); + ~LandscapeState(); + + public: + // Constructor + LandscapeState* Constructor_LandscapeState(); + + undefined4 mapUITreeTypeToLogicalTreeTypeUnk(undefined4 param_1); + + undefined4 getValueFrom0UpTo3ForTreeTypeAndTreeSeason(undefined4 treeType, int treeStage); + + void clearRocksAndTrees(); + + int createTree(undefined4 x, undefined4 y, TreeTypeInt treeType, undefined4 size, int stageRelatedValue, + undefined4 param_6, int stage); + + void setTreeStageRelatedValues(int treeID, int stage); + + void removeTreeUnk(int treeID); + + void setCurrentTimeOnSomeTrees(); + + int createRock(undefined4 x, undefined4 y, int rockType, undefined4 size, undefined4 orientation); + + void meth_0x4f2220(int param_1); + + BOOLEnum lightUpTree(int tile, int playerID); + + int FUN_004f2a10(int param_1); + + undefined4 FUN_004f2c20(int param_1); + + void setTreeSpreadInterval(); + + void killEveryFifthTree(); + + undefined4 setupBabyTreeLocation(uint treeID, int treeType, uint x, uint y); + + uint meth_0x4f2fb0(int treeID, int param_2); + + BOOLEnum isTreeMatchingUIDAndOfCertainState(int treeID, int treeUID); + + undefined4 meth_0x4f3010(int treeID, undefined4 param_2, int param_3); + + void meth_0x4f3080(int treeID, int param_2); + + void meth_0x4f30d0(int x, int y); + + void spawnACrowUnk(int unitID); + + void placeAppleTree(int buildingID, undefined4 treeX, undefined4 treeY); + + int selectClosestTree(int xPosition, int yPosition, int param_3); + + void resetWind(); + + void updateWind(); + + void updateTreeStage(uint treeID, uint rng); + + int findTree(int playerID, uint unitXPosition, uint unitYPosition); + + void FUN_004f3d30(PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + void updateTrees(); + }; + + static_assert_cpp98_obj(sizeof(LandscapeState) == 440064, LandscapeState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(LandscapeState, false, Address::SHC_3BB0A8C1_0x00F2CC38) pDAT_LandscapeState; + +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Location/Point4ShortXY.hpp b/src/OpenSHC/Map/Location/Point4ShortXY.hpp new file mode 100644 index 0000000..4020e28 --- /dev/null +++ b/src/OpenSHC/Map/Location/Point4ShortXY.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Location/Point4ShortXY.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Location { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct Point4ShortXY { + + short x; // 0x00000000 length: 2 + short y; // 0x00000002 length: 2 + + } Point4ShortXY; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Point4ShortXY) == 4, Point4ShortXY); + } // namespace Location +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Location/Point8.hpp b/src/OpenSHC/Map/Location/Point8.hpp new file mode 100644 index 0000000..f0a727e --- /dev/null +++ b/src/OpenSHC/Map/Location/Point8.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Location/Point8.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Location/Point8IntXY.hpp" +#include "OpenSHC/Map/Location/Point8ShortXY.hpp" + +namespace OpenSHC { +namespace Map { + namespace Location { + + using OpenSHC::Map::Location::Point8IntXY; + using OpenSHC::Map::Location::Point8ShortXY; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef union Point8 { + + Point8IntXY int_; // 0x00000000 length: 8 + Point8ShortXY short_; // 0x00000000 length: 8 + + } Point8; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Point8) == 8, Point8); + } // namespace Location +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Location/Point8IntXY.hpp b/src/OpenSHC/Map/Location/Point8IntXY.hpp new file mode 100644 index 0000000..5653908 --- /dev/null +++ b/src/OpenSHC/Map/Location/Point8IntXY.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Location/Point8IntXY.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Location { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct Point8IntXY { + + int xOffset; // 0x00000000 length: 4 + int yOffset; // 0x00000004 length: 4 + + } Point8IntXY; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Point8IntXY) == 8, Point8IntXY); + } // namespace Location +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Location/Point8ShortXY.hpp b/src/OpenSHC/Map/Location/Point8ShortXY.hpp new file mode 100644 index 0000000..d2b15df --- /dev/null +++ b/src/OpenSHC/Map/Location/Point8ShortXY.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Location/Point8ShortXY.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Location { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct Point8ShortXY { + + short xOffset; // 0x00000000 length: 2 + undefined1 padding_0x2[2]; // 0x00000002 length: 2 + short yOffset; // 0x00000004 length: 2 + undefined1 padding_0x6[2]; // 0x00000006 length: 2 + + } Point8ShortXY; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Point8ShortXY) == 8, Point8ShortXY); + } // namespace Location +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LogicHelpers/Logic1.hpp b/src/OpenSHC/Map/LogicHelpers/Logic1.hpp new file mode 100644 index 0000000..2a8ae4d --- /dev/null +++ b/src/OpenSHC/Map/LogicHelpers/Logic1.hpp @@ -0,0 +1,51 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LogicHelpers/Logic1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace LogicHelpers { + typedef enum Logic1 { + + L_NONE = 0, // 0x00000000 + L_SEA = 1, // 0x00000001 + L_STOCKPILEUnk = 2, // 0x00000002 + L_PLAIN1_AND_FARM = 4, // 0x00000004 + L_PLAIN2_AND_PITCH = 8, // 0x00000008 + L_BORDER = 16, // 0x00000010 + L_BORDER_EDGE = 32, // 0x00000020 + L_ROCKY = 128, // 0x00000080 + L_WALL_OR_GATEHOUSE = 256, // 0x00000100 + L_CRENEL = 512, // 0x00000200 + L_BUILDING = 1024, // 0x00000400 + L_STAIRS = 2048, // 0x00000800 + L_TREE = 4096, // 0x00001000 + L_TREE_VARIATION = 8192, // 0x00002000 + L_MOAT_DUG_OR_PLANNED = 16384, // 0x00004000 + L_DEFAULT_EARTH_OR_TEXTURE = 32768, // 0x00008000 + L_UNKNOWN_WALL_RELATED = 65536, // 0x00010000 + L_BOULDERS = 131072, // 0x00020000 + L_PEBBLES = 262144, // 0x00040000 + L_IRON = 524288, // 0x00080000 + L_RIVER = 1048576, // 0x00100000 + L_FORD = 2097152, // 0x00200000 + L_CRENEL_VARIATIONUnk = 4194304, // 0x00400000 + L_FARM_FIELD_WHEAT = 16777216, // 0x01000000 + L_FARM_FIELD_HOP = 33554432, // 0x02000000 + L_FARM_FIELD_APPLE = 67108864, // 0x04000000 + L_FARM_FIELD_DAIRY = 134217728, // 0x08000000 + L_KEEP_NON_MANOR_HOUSE = 268435456, // 0x10000000 + L_MARSH = 536870912, // 0x20000000 + L_MOAT = 1073741824, // 0x40000000 + L_OIL = 2147483648, // 0x80000000 + Logic1Int__L_LADDER = 8388608 // 0x00800000 + + } Logic1; + + static_assert_cpp98_obj(sizeof(Logic1) == 4, Logic1); + } // namespace LogicHelpers +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LogicHelpers/Logic1Flags.hpp b/src/OpenSHC/Map/LogicHelpers/Logic1Flags.hpp new file mode 100644 index 0000000..aeb489e --- /dev/null +++ b/src/OpenSHC/Map/LogicHelpers/Logic1Flags.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LogicHelpers/Logic1Flags.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace LogicHelpers { + typedef enum Logic1Flags { + + LF_NONE = 0 // 0x00000000 + + } Logic1Flags; + + static_assert_cpp98_obj(sizeof(Logic1Flags) == 4, Logic1Flags); + } // namespace LogicHelpers +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LogicHelpers/Logic1Int.hpp b/src/OpenSHC/Map/LogicHelpers/Logic1Int.hpp new file mode 100644 index 0000000..081c6e4 --- /dev/null +++ b/src/OpenSHC/Map/LogicHelpers/Logic1Int.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LogicHelpers/Logic1Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/LogicHelpers/Logic1.hpp" + +namespace OpenSHC { +namespace Map { + namespace LogicHelpers { + typedef int Logic1Int; + + static_assert_cpp98_obj(sizeof(Logic1Int) == 4, Logic1Int); + } // namespace LogicHelpers +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LogicHelpers/Logic2.hpp b/src/OpenSHC/Map/LogicHelpers/Logic2.hpp new file mode 100644 index 0000000..fe0f22f --- /dev/null +++ b/src/OpenSHC/Map/LogicHelpers/Logic2.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LogicHelpers/Logic2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace LogicHelpers { + typedef enum Logic2 { + + L2_NONE = 0, // 0x00000000 + L2_SCRUB = 1, // 0x00000001 + L2_EARTH_AND_STONES = 2, // 0x00000002 + L2_MOAT_UNDUG = 3, // 0x00000003 + L2_PLATEAU_MEDIUM = 4, // 0x00000004 + L2_PLATEAU_HIGH = 8, // 0x00000008 + L2_OASIS_GRASS = 16, // 0x00000010 + L2_BEACH = 32, // 0x00000020 + L2_STONES_OR_DRIVEN_SANDUnk = 64, // 0x00000040 + L2_THICK_SCRUB = 128 // 0x00000080 + + } Logic2; + + static_assert_cpp98_obj(sizeof(Logic2) == 4, Logic2); + } // namespace LogicHelpers +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LogicHelpers/Logic2Flags.hpp b/src/OpenSHC/Map/LogicHelpers/Logic2Flags.hpp new file mode 100644 index 0000000..abd0cd9 --- /dev/null +++ b/src/OpenSHC/Map/LogicHelpers/Logic2Flags.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LogicHelpers/Logic2Flags.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace LogicHelpers { + typedef enum Logic2Flags { + + L2F_NONE = 0 // 0x00000000 + + } Logic2Flags; + + static_assert_cpp98_obj(sizeof(Logic2Flags) == 4, Logic2Flags); + } // namespace LogicHelpers +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/LogicHelpers/Logic2Int.hpp b/src/OpenSHC/Map/LogicHelpers/Logic2Int.hpp new file mode 100644 index 0000000..5cc17a9 --- /dev/null +++ b/src/OpenSHC/Map/LogicHelpers/Logic2Int.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/LogicHelpers/Logic2Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/LogicHelpers/Logic2.hpp" + +namespace OpenSHC { +namespace Map { + namespace LogicHelpers { + typedef int Logic2Int; + + static_assert_cpp98_obj(sizeof(Logic2Int) == 4, Logic2Int); + } // namespace LogicHelpers +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapColorRelatedStructure1.hpp b/src/OpenSHC/Map/MapColorRelatedStructure1.hpp new file mode 100644 index 0000000..b4420ff --- /dev/null +++ b/src/OpenSHC/Map/MapColorRelatedStructure1.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapColorRelatedStructure1.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct MapColorRelatedStructure1 { + + int integer; // 0x00000000 length: 4 + ushort colorModeSpecificValue[2]; // 0x00000004 length: 4 + + } MapColorRelatedStructure1; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapColorRelatedStructure1) == 8, MapColorRelatedStructure1); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapConstants.hpp b/src/OpenSHC/Map/MapConstants.hpp new file mode 100644 index 0000000..d2ea793 --- /dev/null +++ b/src/OpenSHC/Map/MapConstants.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapConstants.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + typedef enum MapConstants { + + MAP_XY_LIMIT_INCLUSIVE = 399, // 0x0000018F + MAP_XY_LIMIT = 400, // 0x00000190 + MAP_TILES_COUNT = 80400 // 0x00013A10 + + } MapConstants; + + static_assert_cpp98_obj(sizeof(MapConstants) == 4, MapConstants); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapDefinedData.hpp b/src/OpenSHC/Map/MapDefinedData.hpp new file mode 100644 index 0000000..23f4546 --- /dev/null +++ b/src/OpenSHC/Map/MapDefinedData.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapSectionAddress.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::MapSectionAddress; + +#pragma pack(push, 1) + // SIZE: 0x0003304C + typedef struct MapDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + char DAT_GMNameArray[207][1000]; // 0x00000004 length: 207000 + MapSectionAddress DAT_MapSectionAddressArray[123]; // 0x0003289C length: 1968 + + } MapDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapDefinedData) == 208972, MapDefinedData); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapHeaderSection4IntStruct.hpp b/src/OpenSHC/Map/MapHeaderSection4IntStruct.hpp new file mode 100644 index 0000000..e55ccd6 --- /dev/null +++ b/src/OpenSHC/Map/MapHeaderSection4IntStruct.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapHeaderSection4IntStruct.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::Navigation::Algorithms::XYPair; + +#pragma pack(push, 1) + // SIZE: 0x00000040 + typedef struct MapHeaderSection4IntStruct { + + XYPair keepPositions[8]; // 0x00000000 length: 64 + + } MapHeaderSection4IntStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapHeaderSection4IntStruct) == 64, MapHeaderSection4IntStruct); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapLockState.hpp b/src/OpenSHC/Map/MapLockState.hpp new file mode 100644 index 0000000..7558334 --- /dev/null +++ b/src/OpenSHC/Map/MapLockState.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapLockState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + typedef enum MapLockState { + + MLS_EDITABLE = 0, // 0x00000000 + MLS_PLAYABLE = 1, // 0x00000001 + MLS_MISSION = 2 // 0x00000002 + + } MapLockState; + + static_assert_cpp98_obj(sizeof(MapLockState) == 4, MapLockState); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapLockStateInt.hpp b/src/OpenSHC/Map/MapLockStateInt.hpp new file mode 100644 index 0000000..d6866a6 --- /dev/null +++ b/src/OpenSHC/Map/MapLockStateInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapLockStateInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapLockState.hpp" + +namespace OpenSHC { +namespace Map { + typedef int MapLockStateInt; + + static_assert_cpp98_obj(sizeof(MapLockStateInt) == 4, MapLockStateInt); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapMetaInfo.hpp b/src/OpenSHC/Map/MapMetaInfo.hpp new file mode 100644 index 0000000..22681f0 --- /dev/null +++ b/src/OpenSHC/Map/MapMetaInfo.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapMetaInfo.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct MapMetaInfo { + + dword loadedMapsChecksumArray; // 0x00000000 length: 4 + byte mapType; // 0x00000004 length: 1 + byte mapLocked; // 0x00000005 length: 1 + byte mapBalance; // 0x00000006 length: 1 + byte mapEndInt2; // 0x00000007 length: 1 + byte mapPlayerCount; // 0x00000008 length: 1 + byte int0; // 0x00000009 length: 1 + byte mapType2; // 0x0000000A length: 1 + undefined1 padding_0xb[1]; // 0x0000000B length: 1 + + } MapMetaInfo; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapMetaInfo) == 12, MapMetaInfo); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapPropertiesState.func.hpp b/src/OpenSHC/Map/MapPropertiesState.func.hpp new file mode 100644 index 0000000..cab6c51 --- /dev/null +++ b/src/OpenSHC/Map/MapPropertiesState.func.hpp @@ -0,0 +1,141 @@ +/** + path: 'OpenSHC/Map/MapPropertiesState.func.hpp' +*/ + +#include "OpenSHC/Map/MapPropertiesState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eMappersInt.hpp" +namespace OpenSHC { +namespace Map { + namespace MapPropertiesState_Func { + + using OpenSHC::_SHCDE::eMappersInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004B77E0, + &MapPropertiesState::isParam1LessThan21) + isParam1LessThan21; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7800, + &MapPropertiesState::importTradingCosts) + importTradingCosts; + + MACRO_FUNCTION_RESOLVER(undefined4 (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7890, + &MapPropertiesState::mapHasCertainEvent) + mapHasCertainEvent; + + MACRO_FUNCTION_RESOLVER(int (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B78D0, + &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_0x004B7980, &MapPropertiesState::meth_0x4b7980) + meth_0x4b7980; + + MACRO_FUNCTION_RESOLVER( + void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004B7FA0, &MapPropertiesState::sumUnitPoints) + sumUnitPoints; + + MACRO_FUNCTION_RESOLVER( + 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::*)(int), false, Address::SHC_3BB0A8C1_0x004BA8B0, + &MapPropertiesState::meth_0x4ba8b0) + meth_0x4ba8b0; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BAEC0, + &MapPropertiesState::commitBuildingAvailability) + commitBuildingAvailability; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (MapPropertiesState::*)(eMappersInt), false, Address::SHC_3BB0A8C1_0x004BB010, + &MapPropertiesState::isMapperAvailable) + isMapperAvailable; + + MACRO_FUNCTION_RESOLVER(int (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004BB0B0, + &MapPropertiesState::FUN_004bb0b0) + FUN_004bb0b0; + + 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::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004BB9F0, + &MapPropertiesState::openEventTriggerMenu) + openEventTriggerMenu; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BBA20, + &MapPropertiesState::sumInvasionEventUnitCount) + sumInvasionEventUnitCount; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BC110, + &MapPropertiesState::tweakMonthAndYearBasedOnSection1047) + tweakMonthAndYearBasedOnSection1047; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int, int, int, int, int, undefined4), false, + Address::SHC_3BB0A8C1_0x004BC1C0, &MapPropertiesState::FUN_004bc1c0) + FUN_004bc1c0; + + MACRO_FUNCTION_RESOLVER( + void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BD980, &MapPropertiesState::meth_0x4bd980) + meth_0x4bd980; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004BDA80, + &MapPropertiesState::meth_0x4bda80) + meth_0x4bda80; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004BDE40, + &MapPropertiesState::computeSomeKindOfMissionCompletionScore) + computeSomeKindOfMissionCompletionScore; + + 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_0x004C1320, &MapPropertiesState::meth_0x4c1320) + meth_0x4c1320; + + MACRO_FUNCTION_RESOLVER( + void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C13F0, &MapPropertiesState::meth_0x4c13f0) + meth_0x4c13f0; + + MACRO_FUNCTION_RESOLVER( + void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C2280, &MapPropertiesState::FUN_004c2280) + FUN_004c2280; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(), false, Address::SHC_3BB0A8C1_0x004C31A0, + &MapPropertiesState::processSingleplayerEvents) + processSingleplayerEvents; + + MACRO_FUNCTION_RESOLVER( + void (MapPropertiesState::*)(char*), false, Address::SHC_3BB0A8C1_0x004C62C0, &MapPropertiesState::loadMap) + loadMap; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(char*), false, Address::SHC_3BB0A8C1_0x004C3110, + &MapPropertiesState::FUN_004c6820) + FUN_004c6820; + + MACRO_FUNCTION_RESOLVER(void (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004C6880, + &MapPropertiesState::FUN_004c6880) + FUN_004c6880; + + } // namespace MapPropertiesState_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapPropertiesState.hpp b/src/OpenSHC/Map/MapPropertiesState.hpp new file mode 100644 index 0000000..07710c3 --- /dev/null +++ b/src/OpenSHC/Map/MapPropertiesState.hpp @@ -0,0 +1,255 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapPropertiesState.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Siege/SiegeInformation.hpp" +#include "OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp" +#include "OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp" +#include "OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp" +#include "OpenSHC/Game/ScenarioEvents/IngameEventHeader.hpp" +#include "OpenSHC/Game/ScenarioEvents/IngameInvasionEventItemContent.hpp" +#include "OpenSHC/Game/Siege/SiegeGameModeRelatedSection.hpp" +#include "OpenSHC/Game/TradeableResourcesSection.hpp" +#include "OpenSHC/Map/MapType2Int.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eMappersInt.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::_SHCDE::eMappersInt; + using OpenSHC::AI::Siege::SiegeInformation; + using OpenSHC::Game::TradeableResourcesSection; + using OpenSHC::Game::Scenario::BarracksRecruitabilityShort; + using OpenSHC::Game::ScenarioEvents::InGameEventExtra; + using OpenSHC::Game::ScenarioEvents::IngameEventHeader; + using OpenSHC::Game::ScenarioEvents::InGameEventUnionVersion; + using OpenSHC::Game::ScenarioEvents::IngameInvasionEventItemContent; + using OpenSHC::Game::Siege::SiegeGameModeRelatedSection; + using OpenSHC::Map::MapType2Int; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000146A0 + class MapPropertiesState { + public: + uchar SEC_Section1089[128]; // 0x00000000 length: 128 + int SEC_StartingYear; // 0x00000080 length: 4 + int SEC_StartingMonth; // 0x00000084 length: 4 + int SEC_StartingResources[25]; // 0x00000088 length: 100 + SiegeInformation SEC_SiegeInformation; // 0x000000EC length: 80 + SiegeGameModeRelatedSection SEC_Section1067; // 0x0000013C length: 28 + int SEC_StartingPopularity; // 0x00000158 length: 4 + short SEC_BuildingAvailability[100]; // 0x0000015C length: 200 + undefined4 field8_0x224; // 0x00000224 length: 4 + short buildingAvailabilityRelatedFlags[380]; // 0x00000228 length: 760 + short field10_0x520; // 0x00000520 length: 2 + short field11_0x522; // 0x00000522 length: 2 + short field12_0x524; // 0x00000524 length: 2 + short field13_0x526; // 0x00000526 length: 2 + short field14_0x528; // 0x00000528 length: 2 + short field15_0x52a; // 0x0000052A length: 2 + short field16_0x52c; // 0x0000052C length: 2 + short field17_0x52e; // 0x0000052E length: 2 + short field18_0x530; // 0x00000530 length: 2 + short field19_0x532; // 0x00000532 length: 2 + short field20_0x534; // 0x00000534 length: 2 + short field21_0x536; // 0x00000536 length: 2 + short field22_0x538; // 0x00000538 length: 2 + short field23_0x53a; // 0x0000053A length: 2 + short field24_0x53c; // 0x0000053C length: 2 + short field25_0x53e; // 0x0000053E length: 2 + short field26_0x540; // 0x00000540 length: 2 + short field27_0x542; // 0x00000542 length: 2 + short field28_0x544; // 0x00000544 length: 2 + short field29_0x546; // 0x00000546 length: 2 + short field30_0x548; // 0x00000548 length: 2 + short field31_0x54a; // 0x0000054A length: 2 + short field32_0x54c; // 0x0000054C length: 2 + short field33_0x54e; // 0x0000054E length: 2 + short field34_0x550; // 0x00000550 length: 2 + short field35_0x552; // 0x00000552 length: 2 + short field36_0x554; // 0x00000554 length: 2 + short field37_0x556; // 0x00000556 length: 2 + short field38_0x558; // 0x00000558 length: 2 + short field39_0x55a; // 0x0000055A length: 2 + short field40_0x55c; // 0x0000055C length: 2 + short field41_0x55e; // 0x0000055E length: 2 + short field42_0x560; // 0x00000560 length: 2 + short field43_0x562; // 0x00000562 length: 2 + short field44_0x564; // 0x00000564 length: 2 + short field45_0x566; // 0x00000566 length: 2 + short field46_0x568; // 0x00000568 length: 2 + short field47_0x56a; // 0x0000056A length: 2 + short field48_0x56c; // 0x0000056C length: 2 + short field49_0x56e; // 0x0000056E length: 2 + short field50_0x570; // 0x00000570 length: 2 + short field51_0x572; // 0x00000572 length: 2 + short field52_0x574; // 0x00000574 length: 2 + short field53_0x576; // 0x00000576 length: 2 + short field54_0x578; // 0x00000578 length: 2 + short field55_0x57a; // 0x0000057A length: 2 + short field56_0x57c; // 0x0000057C length: 2 + short field57_0x57e; // 0x0000057E length: 2 + undefined1 padding_0x580[2]; // 0x00000580 length: 2 + BarracksRecruitabilityShort barracksRecruitability; // 0x00000582 length: 14 + short SEC_MercRecruitable[7]; // 0x00000590 length: 14 + short SEC_XbowProducible_save; // 0x0000059E length: 2 + short SEC_BowProducible_save; // 0x000005A0 length: 2 + short SEC_PikeProducible_save; // 0x000005A2 length: 2 + short SEC_SpearProducible_save; // 0x000005A4 length: 2 + short SEC_SwordProducible_save; // 0x000005A6 length: 2 + short SEC_MaceProducible_save; // 0x000005A8 length: 2 + undefined1 padding_0x5aa[2]; // 0x000005AA length: 2 + int SEC_EventsCount; // 0x000005AC length: 4 + InGameEventUnionVersion SEC_Events[200]; // 0x000005B0 length: 45600 + InGameEventExtra SEC_EventsExtra[200]; // 0x0000B7D0 length: 32000 + TradeableResourcesSection SEC_Section1065; // 0x000134D0 length: 100 + int scenarionMissionType; // 0x00013534 length: 4 + MapType2Int SEC_U3_MapType2_1; // 0x00013538 length: 4 + MapType2Int scenarioMissionSiegeOrInvasion; // 0x0001353C length: 4 + undefined4 SEC_Section1090; // 0x00013540 length: 4 + undefined4 SEC_Section1080; // 0x00013544 length: 4 + undefined4 SEC_Section1081; // 0x00013548 length: 4 + undefined1 padding_0x1354c[16]; // 0x0001354C length: 16 + undefined4 field96_0x1355c; // 0x0001355C length: 4 + int field97_0x13560; // 0x00013560 length: 4 + undefined4 DAT_CurrentEventID; // 0x00013564 length: 4 + undefined4 field99_0x13568; // 0x00013568 length: 4 + undefined1 padding_0x1356c[4]; // 0x0001356C length: 4 + undefined4 invasionTroopIndex; // 0x00013570 length: 4 + int DAT_BuildingAvailabilityScrollbarOffset; // 0x00013574 length: 4 + undefined4 flag; // 0x00013578 length: 4 + undefined4 offset; // 0x0001357C length: 4 + undefined4 indexStored; // 0x00013580 length: 4 + undefined1 padding_0x13584[8]; // 0x00013584 length: 8 + undefined4 value; // 0x0001358C length: 4 + undefined4 field118_0x13590; // 0x00013590 length: 4 + undefined1 padding_0x13594[8]; // 0x00013594 length: 8 + undefined4 total; // 0x0001359C length: 4 + int unknownArray_01[1000]; // 0x000135A0 length: 4000 + undefined4 year_copy; // 0x00014540 length: 4 + undefined4 DAT_MapEditorUnitPointsSum; // 0x00014544 length: 4 + undefined4 DAT_InvasionEventItemUnitCountSum; // 0x00014548 length: 4 + undefined1 padding_0x1454c[8]; // 0x0001454C length: 8 + undefined4 field140_0x14554; // 0x00014554 length: 4 + undefined4 field141_0x14558; // 0x00014558 length: 4 + undefined4 field142_0x1455c; // 0x0001455C length: 4 + undefined4 field143_0x14560; // 0x00014560 length: 4 + undefined4 field144_0x14564; // 0x00014564 length: 4 + undefined4 field145_0x14568; // 0x00014568 length: 4 + undefined4 field146_0x1456c; // 0x0001456C length: 4 + undefined4 field147_0x14570; // 0x00014570 length: 4 + undefined4 field148_0x14574; // 0x00014574 length: 4 + undefined4 field149_0x14578; // 0x00014578 length: 4 + undefined4 field150_0x1457c; // 0x0001457C length: 4 + undefined4 field151_0x14580; // 0x00014580 length: 4 + undefined4 field152_0x14584; // 0x00014584 length: 4 + undefined4 field153_0x14588; // 0x00014588 length: 4 + undefined4 field154_0x1458c; // 0x0001458C length: 4 + undefined4 field155_0x14590; // 0x00014590 length: 4 + undefined4 field156_0x14594; // 0x00014594 length: 4 + undefined1 padding_0x14598[4]; // 0x00014598 length: 4 + undefined4 field161_0x1459c; // 0x0001459C length: 4 + undefined4 field162_0x145a0; // 0x000145A0 length: 4 + undefined4 field163_0x145a4; // 0x000145A4 length: 4 + undefined4 field164_0x145a8; // 0x000145A8 length: 4 + undefined4 field165_0x145ac; // 0x000145AC length: 4 + undefined4 field166_0x145b0; // 0x000145B0 length: 4 + undefined1 padding_0x145b4[4]; // 0x000145B4 length: 4 + undefined4 field171_0x145b8; // 0x000145B8 length: 4 + undefined4 field172_0x145bc; // 0x000145BC length: 4 + undefined4 field173_0x145c0; // 0x000145C0 length: 4 + undefined4 field174_0x145c4; // 0x000145C4 length: 4 + undefined4 field175_0x145c8; // 0x000145C8 length: 4 + undefined1 padding_0x145cc[4]; // 0x000145CC length: 4 + undefined4 field180_0x145d0; // 0x000145D0 length: 4 + undefined4 field181_0x145d4; // 0x000145D4 length: 4 + undefined1 padding_0x145d8[4]; // 0x000145D8 length: 4 + undefined4 eventType; // 0x000145DC length: 4 + IngameEventHeader invasionEvent; // 0x000145E0 length: 16 + IngameInvasionEventItemContent invasionEventContent; // 0x000145F0 length: 176 + + private: + MapPropertiesState(MapPropertiesState const&); + void operator=(MapPropertiesState const&); + + MapPropertiesState(); + ~MapPropertiesState(); + + public: + BOOLEnum isParam1LessThan21(int param_1); + + void importTradingCosts(); + + undefined4 mapHasCertainEvent(); + + int getEventIDForTimeUntilDefeatEventType(); + + void FUN_004b7930(); + + void meth_0x4b7980(); + + void sumUnitPoints(); + + void sumUnitCounts(); + + void meth_0x4ba7d0(); + + void meth_0x4ba8b0(int param_1); + + void commitBuildingAvailability(); + + BOOLEnum isMapperAvailable(eMappersInt param_1); + + int FUN_004bb0b0(int param_1); + + void resetEuroUnitRestrictions(); + + void meth_0x4bb990(); + + void openEventTriggerMenu(undefined4 eventType); + + void sumInvasionEventUnitCount(); + + void tweakMonthAndYearBasedOnSection1047(); + + void FUN_004bc1c0(int param_1, int param_2, int param_3, int param_4, int param_5, undefined4 param_6); + + void meth_0x4bd980(); + + void meth_0x4bda80(int param_1); + + void computeSomeKindOfMissionCompletionScore(); + + void setStartingYearAndStartingResources(); + + void meth_0x4beb20(); + + void meth_0x4c1320(); + + void meth_0x4c13f0(); + + void FUN_004c2280(); + + void processSingleplayerEvents(); + + void loadMap(char* mapName); + + void FUN_004c6820(char* param_1); + + void FUN_004c6880(int missionNumber); + }; + + static_assert_cpp98_obj(sizeof(MapPropertiesState) == 83616, MapPropertiesState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MapPropertiesState, false, Address::SHC_3BB0A8C1_0x01653858) pDAT_MapPropertiesState; + +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapSectionAddress.hpp b/src/OpenSHC/Map/MapSectionAddress.hpp new file mode 100644 index 0000000..c6a5be4 --- /dev/null +++ b/src/OpenSHC/Map/MapSectionAddress.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapSectionAddress.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct MapSectionAddress { + + pointer* address; // 0x00000000 length: 4 + undefined4 unknown; // 0x00000004 length: 4 + uint size; // 0x00000008 length: 4 + ushort compressed; // 0x0000000C length: 2 + ushort sectionId; // 0x0000000E length: 2 + + } MapSectionAddress; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapSectionAddress) == 16, MapSectionAddress); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapType2.hpp b/src/OpenSHC/Map/MapType2.hpp new file mode 100644 index 0000000..646c199 --- /dev/null +++ b/src/OpenSHC/Map/MapType2.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapType2.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + typedef enum MapType2 { + + MT_SIEGE = 0, // 0x00000000 + MT_INVASION = 1, // 0x00000001 + MT_ECONOMIC = 2, // 0x00000002 + MT_JUST_BUILD = 3 // 0x00000003 + + } MapType2; + + static_assert_cpp98_obj(sizeof(MapType2) == 4, MapType2); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapType2Int.hpp b/src/OpenSHC/Map/MapType2Int.hpp new file mode 100644 index 0000000..e8320dc --- /dev/null +++ b/src/OpenSHC/Map/MapType2Int.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/MapType2Int.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapType2.hpp" + +namespace OpenSHC { +namespace Map { + typedef int MapType2Int; + + static_assert_cpp98_obj(sizeof(MapType2Int) == 4, MapType2Int); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Matrices/TranslationMatrixTriplet.hpp b/src/OpenSHC/Map/Matrices/TranslationMatrixTriplet.hpp new file mode 100644 index 0000000..1e154f3 --- /dev/null +++ b/src/OpenSHC/Map/Matrices/TranslationMatrixTriplet.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Matrices/TranslationMatrixTriplet.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Matrices { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct TranslationMatrixTriplet { + + int distanceToCenter; // 0x00000000 length: 4 + int firstTileOfRow; // 0x00000004 length: 4 + int addXgetTile; // 0x00000008 length: 4 + + } TranslationMatrixTriplet; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TranslationMatrixTriplet) == 12, TranslationMatrixTriplet); + } // namespace Matrices +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Moat.hpp b/src/OpenSHC/Map/Moat.hpp new file mode 100644 index 0000000..25f84fc --- /dev/null +++ b/src/OpenSHC/Map/Moat.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Moat.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct Moat { + + ushort tile; // 0x00000000 length: 2 + undefined1 padding_0x2[2]; // 0x00000002 length: 2 + undefined2 x; // 0x00000004 length: 2 + undefined2 y; // 0x00000006 length: 2 + short field5_0x8; // 0x00000008 length: 2 + undefined1 padding_0xa[2]; // 0x0000000A length: 2 + byte owner; // 0x0000000C length: 1 + byte field9_0xd; // 0x0000000D length: 1 + byte field10_0xe; // 0x0000000E length: 1 + byte someCountDown; // 0x0000000F length: 1 + + } Moat; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Moat) == 16, Moat); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation.func.hpp b/src/OpenSHC/Map/Navigation.func.hpp new file mode 100644 index 0000000..7040b3f --- /dev/null +++ b/src/OpenSHC/Map/Navigation.func.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation.hpp" +namespace OpenSHC { +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; + + } // namespace Navigation_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation.hpp b/src/OpenSHC/Map/Navigation.hpp new file mode 100644 index 0000000..cc4c872 --- /dev/null +++ b/src/OpenSHC/Map/Navigation.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Navigation { + + int __cdecl FUN_0049b8c0(int param_1, int param_2, int param_3, int param_4); + + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/Algorithms/XYPair.hpp b/src/OpenSHC/Map/Navigation/Algorithms/XYPair.hpp new file mode 100644 index 0000000..9ba164d --- /dev/null +++ b/src/OpenSHC/Map/Navigation/Algorithms/XYPair.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/Algorithms/XYPair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Navigation { + namespace Algorithms { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct XYPair { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + + } XYPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(XYPair) == 8, XYPair); + } // namespace Algorithms + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/Algorithms/XYTileObject.hpp b/src/OpenSHC/Map/Navigation/Algorithms/XYTileObject.hpp new file mode 100644 index 0000000..47bf51d --- /dev/null +++ b/src/OpenSHC/Map/Navigation/Algorithms/XYTileObject.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/Algorithms/XYTileObject.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Navigation { + namespace Algorithms { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct XYTileObject { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + int tile; // 0x00000008 length: 4 + undefined1 padding_0xc[4]; // 0x0000000C length: 4 + + } XYTileObject; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(XYTileObject) == 16, XYTileObject); + } // namespace Algorithms + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/AreaPairInt.hpp b/src/OpenSHC/Map/Navigation/AreaPairInt.hpp new file mode 100644 index 0000000..e700e4f --- /dev/null +++ b/src/OpenSHC/Map/Navigation/AreaPairInt.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/AreaPairInt.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Navigation { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct AreaPairInt { + + int area1; // 0x00000000 length: 4 + int area2; // 0x00000004 length: 4 + + } AreaPairInt; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(AreaPairInt) == 8, AreaPairInt); + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp new file mode 100644 index 0000000..86cab88 --- /dev/null +++ b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp @@ -0,0 +1,50 @@ +/** + path: 'OpenSHC/Map/Navigation/DirectionAlgorithmState.func.hpp' +*/ + +#include "OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp" +namespace OpenSHC { +namespace Map { + namespace Navigation { + namespace DirectionAlgorithmState_Func { + + MACRO_FUNCTION_RESOLVER(int (DirectionAlgorithmState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004092C0, + &DirectionAlgorithmState::computeHealthPercentage) + computeHealthPercentage; + + MACRO_FUNCTION_RESOLVER(void (DirectionAlgorithmState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0046C920, &DirectionAlgorithmState::calculateOrientation) + calculateOrientation; + + MACRO_FUNCTION_RESOLVER(void (DirectionAlgorithmState::*)(int, int), false, + Address::SHC_3BB0A8C1_0x0046C9A0, &DirectionAlgorithmState::FUN_0046c9a0) + FUN_0046c9a0; + + MACRO_FUNCTION_RESOLVER(void (DirectionAlgorithmState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0046C9E0, &DirectionAlgorithmState::calculatePreferredRelativeOrientation) + calculatePreferredRelativeOrientation; + + MACRO_FUNCTION_RESOLVER(void (DirectionAlgorithmState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0046CAA0, &DirectionAlgorithmState::somethingWithProjectileDistance) + somethingWithProjectileDistance; + + MACRO_FUNCTION_RESOLVER(int (DirectionAlgorithmState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0046CC80, &DirectionAlgorithmState::setAxisBasedDistanceResult) + setAxisBasedDistanceResult; + + MACRO_FUNCTION_RESOLVER(int (DirectionAlgorithmState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0046CCD0, &DirectionAlgorithmState::getMouseVectorLengthBasedOnDirection) + getMouseVectorLengthBasedOnDirection; + + MACRO_FUNCTION_RESOLVER(uint (DirectionAlgorithmState::*)(int, int*), false, + Address::SHC_3BB0A8C1_0x0046CD30, &DirectionAlgorithmState::computeHash) + computeHash; + + MACRO_FUNCTION_RESOLVER(uint (DirectionAlgorithmState::*)(int, uint*, uint), false, + Address::SHC_3BB0A8C1_0x0046CDF0, &DirectionAlgorithmState::FUN_0046cdf0) + FUN_0046cdf0; + + } // namespace DirectionAlgorithmState_Func + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp new file mode 100644 index 0000000..2bbbbe5 --- /dev/null +++ b/src/OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp @@ -0,0 +1,62 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/DirectionAlgorithmState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Navigation { + +#pragma pack(push, 1) + + // SIZE: 0x00000014 + class DirectionAlgorithmState { + public: + int distanceX; // 0x00000000 length: 4 + int distanceY; // 0x00000004 length: 4 + int distanceLow; // 0x00000008 length: 4 + int distanceHigh; // 0x0000000C length: 4 + int orientation; // 0x00000010 length: 4 + + private: + DirectionAlgorithmState(DirectionAlgorithmState const&); + void operator=(DirectionAlgorithmState const&); + + DirectionAlgorithmState(); + ~DirectionAlgorithmState(); + + public: + int computeHealthPercentage(int param_1, int param_2); + + void calculateOrientation( + int currentXPosition, int currentYPosition, int destinationXPosition, int destinationYPosition); + + void FUN_0046c9a0(int param_1, int param_2); + + void calculatePreferredRelativeOrientation(int param_1, int param_2, int param_3, int param_4); + + void somethingWithProjectileDistance(int x, int y, int targetX, int targetY); + + int setAxisBasedDistanceResult( + int destinationXPosition, int destinationYPosition, int fromXPosition, int fromYPosition); + + int getMouseVectorLengthBasedOnDirection( + int param_1, int param_2, int param_3, int param_4, int orientation); + + uint computeHash(int byteCount, int* address); + + uint FUN_0046cdf0(int param_1, uint* param_2, uint param_3); + }; + + static_assert_cpp98_obj(sizeof(DirectionAlgorithmState) == 20, DirectionAlgorithmState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(DirectionAlgorithmState, false, Address::SHC_3BB0A8C1_0x00EE23BC) + pDAT_DirectionAlgorithmState; + + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp b/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp new file mode 100644 index 0000000..2121732 --- /dev/null +++ b/src/OpenSHC/Map/Navigation/PathFindingState.func.hpp @@ -0,0 +1,472 @@ +/** + path: 'OpenSHC/Map/Navigation/PathFindingState.func.hpp' +*/ + +#include "OpenSHC/Map/Navigation/PathFindingState.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace Map { + namespace Navigation { + namespace PathFindingState_Func { + + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x00496E20, + &PathFindingState::getComputationalTileIndex) + getComputationalTileIndex; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x00496E30, + &PathFindingState::getTileInSearchQueue) + getTileInSearchQueue; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(byte*), false, Address::SHC_3BB0A8C1_0x00496EA0, + &PathFindingState::bindPathPlanToAlgorithmStateAndReset) + bindPathPlanToAlgorithmStateAndReset; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x00496EC0, + &PathFindingState::findClosestTileToStartingTile) + findClosestTileToStartingTile; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00496F90, + &PathFindingState::findNextTileInExistingSearchThatIsModuloDistanceAway) + findNextTileInExistingSearchThatIsModuloDistanceAway; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00497080, &PathFindingState::pathFindingResultBased) + pathFindingResultBased; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00497180, + &PathFindingState::findNextTileByModuloAmongPreviousSearchNotOnDefensiveStructure) + findNextTileByModuloAmongPreviousSearchNotOnDefensiveStructure; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00497280, &PathFindingState::doMoveFromTileToTile) + doMoveFromTileToTile; + + MACRO_FUNCTION_RESOLVER(BOOL (PathFindingState::*)(uint, uint, uint, uint), false, + Address::SHC_3BB0A8C1_0x004974D0, + &PathFindingState::findNeighbourTileThatCanServeAsClimbPointClosestToXY) + findNeighbourTileThatCanServeAsClimbPointClosestToXY; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x00497690, &PathFindingState::findPositionForGivenClimbArea) + findPositionForGivenClimbArea; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, uint, int, int, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00497740, &PathFindingState::findLinkageBasedPathOrWalkRadius) + findLinkageBasedPathOrWalkRadius; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00497B80, &PathFindingState::findSuitableSpawnLocationUnk) + findSuitableSpawnLocationUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, uint, uint, uint, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00498020, &PathFindingState::findPathUsingClimbingWithHeightMargin16) + findPathUsingClimbingWithHeightMargin16; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, uint, uint, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00498400, &PathFindingState::pathFindingWithBuildingsIncluded) + pathFindingWithBuildingsIncluded; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00498A40, &PathFindingState::calculatePathKeepAndWallsGatesNotAllowed) + calculatePathKeepAndWallsGatesNotAllowed; + + MACRO_FUNCTION_RESOLVER(uint (PathFindingState::*)(uint, int, int), false, Address::SHC_3BB0A8C1_0x00498FD0, + &PathFindingState::commitUnitPathPlanUsingWalkLayer) + commitUnitPathPlanUsingWalkLayer; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004995E0, + &PathFindingState::updateSeparateAreaTileMap) + updateSeparateAreaTileMap; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004999C0, + &PathFindingState::updatePathLinkageLayerBasedOnBuildingsUnk) + updatePathLinkageLayerBasedOnBuildingsUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00499DC0, + &PathFindingState::updatePathLinkageLayerAtTileForSomeLogicalReason) + updatePathLinkageLayerAtTileForSomeLogicalReason; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x00499FA0, + &PathFindingState::updatePathLinkageTileMapRelatedToGates) + updatePathLinkageTileMapRelatedToGates; + + MACRO_FUNCTION_RESOLVER(undefined8 (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x0049A1C0, + &PathFindingState::updatePathLinkageTileMapRelatedToKeeps) + updatePathLinkageTileMapRelatedToKeeps; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x0049A2E0, + &PathFindingState::updatePathLinkageTileMapRelatedToSiegeTower) + updatePathLinkageTileMapRelatedToSiegeTower; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, uint, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049A370, &PathFindingState::tracePathPlanToDestinationViaUnoccupiedTiles) + tracePathPlanToDestinationViaUnoccupiedTiles; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x0049A5E0, + &PathFindingState::reverseCurrentPathPlan) + reverseCurrentPathPlan; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(uint, uint, int), false, + Address::SHC_3BB0A8C1_0x0049A6D0, &PathFindingState::raiseLand2) + raiseLand2; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049AAD0, &PathFindingState::updateWalkAndPathLayer) + updateWalkAndPathLayer; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(uint), false, Address::SHC_3BB0A8C1_0x0049AF50, + &PathFindingState::setChangedLayerZeroBasedOn40x40Layer) + setChangedLayerZeroBasedOn40x40Layer; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x0049B1C0, + &PathFindingState::getYSmallerThanYLimit) + getYSmallerThanYLimit; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049B1D0, &PathFindingState::pathFindingDeerAndLionsUnk) + pathFindingDeerAndLionsUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0049B5B0, &PathFindingState::algTunnelerFindTarget) + algTunnelerFindTarget; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049B940, &PathFindingState::findMapBorderEdgeTileAndStoreInSignpostData) + findMapBorderEdgeTileAndStoreInSignpostData; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049BBF0, &PathFindingState::findFurthestSeaTile) + findFurthestSeaTile; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049BE60, &PathFindingState::getTileInSquareBrush) + getTileInSquareBrush; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049C020, &PathFindingState::setupBabyTreeLocationInfo) + setupBabyTreeLocationInfo; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049C370, &PathFindingState::findNoTreeInRange) + findNoTreeInRange; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0049C5C0, + &PathFindingState::findDestinationCostLowerThan6) + findDestinationCostLowerThan6; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0049C690, &PathFindingState::computeTotalUnitsWithinDistance) + computeTotalUnitsWithinDistance; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0049CB00, + &PathFindingState::computeNextRallyPointDestination) + computeNextRallyPointDestination; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x0049CD60, + &PathFindingState::findDirectNeighbourWalkableTile) + findDirectNeighbourWalkableTile; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0049CE40, + &PathFindingState::findPathableTileWithoutUnitWithBuildingAtXY) + findPathableTileWithoutUnitWithBuildingAtXY; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0049D0E0, + &PathFindingState::findFreeTileOnDefensiveStructure) + findFreeTileOnDefensiveStructure; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x0049D340, &PathFindingState::findWalkableTileThatDoesNotContainUnit) + findWalkableTileThatDoesNotContainUnit; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x0049D640, + &PathFindingState::someBinaryAlgFunctionPathFinding) + someBinaryAlgFunctionPathFinding; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int, int*, int*), false, + Address::SHC_3BB0A8C1_0x0049D880, &PathFindingState::findClosestFreeTileNearUnitOnBuilding) + findClosestFreeTileNearUnitOnBuilding; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049DB30, + &PathFindingState::checkEnemyBuildingOrDefensiveStructureWithin12Tiles) + checkEnemyBuildingOrDefensiveStructureWithin12Tiles; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(uint, uint, int, int), false, + Address::SHC_3BB0A8C1_0x0049DDC0, &PathFindingState::budgetFloodFillOnCertainPathLayer) + budgetFloodFillOnCertainPathLayer; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x0049E0D0, + &PathFindingState::updateUnitDeathHeatmapIn3SpacesAroundTile) + updateUnitDeathHeatmapIn3SpacesAroundTile; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint, undefined4), false, + Address::SHC_3BB0A8C1_0x0049E510, &PathFindingState::recomputeALGPathFindingTileMapUnk) + recomputeALGPathFindingTileMapUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x0049E9E0, &PathFindingState::updateAIZoneWithFloodFill0x20) + updateAIZoneWithFloodFill0x20; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, uint, uint, undefined4), false, + Address::SHC_3BB0A8C1_0x0049EDF0, &PathFindingState::findAIZoneWithFlags) + findAIZoneWithFlags; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x0049F040, &PathFindingState::findArcherRelatedAttackInfoIndex) + findArcherRelatedAttackInfoIndex; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x0049F2D0, &PathFindingState::findSupportPointIndex) + findSupportPointIndex; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x0049F540, &PathFindingState::algFindAttackAngle) + algFindAttackAngle; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, uint, uint, undefined4, uint, int), false, + Address::SHC_3BB0A8C1_0x0049F7D0, &PathFindingState::findAppropriateLocationForSiegeTent) + findAppropriateLocationForSiegeTent; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x0049FC00, &PathFindingState::pathFindingRelated) + pathFindingRelated; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(uint, uint, int, uint, int), false, + Address::SHC_3BB0A8C1_0x0049FF20, &PathFindingState::pathfindingRelated49ff20) + pathfindingRelated49ff20; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(uint, uint, int, uint), false, + Address::SHC_3BB0A8C1_0x004A01D0, &PathFindingState::meth_0x4a01d0) + meth_0x4a01d0; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A0460, &PathFindingState::meth_0x4a0460) + meth_0x4a0460; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A06B0, &PathFindingState::meth_0x4a06b0) + meth_0x4a06b0; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A08E0, &PathFindingState::getGatehouseNearSomethingUnk) + getGatehouseNearSomethingUnk; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A0B20, &PathFindingState::findDistanceOrThreatLevelToUnitUnk) + findDistanceOrThreatLevelToUnitUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A0E50, + &PathFindingState::setWalkabilityBorderLogicLayerForSmallerMapSizes) + setWalkabilityBorderLogicLayerForSmallerMapSizes; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A1230, + &PathFindingState::aggressiveStanceTargetBuildingAtRange) + aggressiveStanceTargetBuildingAtRange; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x004A15B0, &PathFindingState::isEnemyTooCloseUnk) + isEnemyTooCloseUnk; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004A16C0, + &PathFindingState::tracePathToFriendlyDefensesAndReturnTileUnk) + tracePathToFriendlyDefensesAndReturnTileUnk; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x004A19B0, &PathFindingState::findOwnedGatehouse) + findOwnedGatehouse; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x004A1C40, &PathFindingState::isTileInRangeOfKeepRange) + isTileInRangeOfKeepRange; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x004A1D30, &PathFindingState::findSomeSuitableLocationUnk) + findSomeSuitableLocationUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A21B0, + &PathFindingState::placeCommemoratingStatueAtGoodLocation) + placeCommemoratingStatueAtGoodLocation; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, uint, int), false, + Address::SHC_3BB0A8C1_0x004A2650, &PathFindingState::isSignPostWithinDistance) + isSignPostWithinDistance; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint, int, int), false, + Address::SHC_3BB0A8C1_0x004A2A90, &PathFindingState::spreadAlgorithmForFlagsAndBraziersUnk) + spreadAlgorithmForFlagsAndBraziersUnk; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int), false, + Address::SHC_3BB0A8C1_0x004A2DD0, &PathFindingState::igniteFireAtTilesDistanceAway) + igniteFireAtTilesDistanceAway; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(uint, int, int*, int*), false, + Address::SHC_3BB0A8C1_0x004A3220, &PathFindingState::findAccessibleWallAndNearbyFreeTile) + findAccessibleWallAndNearbyFreeTile; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A36B0, &PathFindingState::meth_0x4a36b0) + meth_0x4a36b0; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int, int, int, undefined4), false, + Address::SHC_3BB0A8C1_0x004A3B20, &PathFindingState::certainDamageToUnitsUnk) + certainDamageToUnitsUnk; + + MACRO_FUNCTION_RESOLVER(bool (PathFindingState::*)(undefined4, int, uint, uint, byte*, int*, int*), false, + Address::SHC_3BB0A8C1_0x004A4140, &PathFindingState::pathFindingToAttackCastleIncludingMoat) + pathFindingToAttackCastleIncludingMoat; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A4470, + &PathFindingState::computeAIZoneLayer) + computeAIZoneLayer; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004A4930, + &PathFindingState::setClimbBasedOnClosestClimbData) + setClimbBasedOnClosestClimbData; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A4B30, + &PathFindingState::isUsableClimbWallWithinArea) + isUsableClimbWallWithinArea; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A4B80, + &PathFindingState::clearLaddermanWalledData) + clearLaddermanWalledData; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A4BB0, + &PathFindingState::reprocessLadddermanWallData) + reprocessLadddermanWallData; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A4C70, + &PathFindingState::meth_0x4a4c70) + meth_0x4a4c70; + + MACRO_FUNCTION_RESOLVER( + void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A52D0, &PathFindingState::meth_0x4a52d0) + meth_0x4a52d0; + + 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; + + 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; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A5F60, + &PathFindingState::updatePathLinkageLayerForEachBuildingAtEachTile) + updatePathLinkageLayerForEachBuildingAtEachTile; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A5F90, + &PathFindingState::updatePathLinkagesInAllEightDirections) + 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; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A6520, + &PathFindingState::storeDestinationOptionsUnk) + storeDestinationOptionsUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A65E0, + &PathFindingState::setDestinationPairsBasedOnPreviousSearch) + setDestinationPairsBasedOnPreviousSearch; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004A66D0, + &PathFindingState::setMoveDestinationPairs) + setMoveDestinationPairs; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int, UnitTypeInt, undefined4), false, + Address::SHC_3BB0A8C1_0x004A67D0, &PathFindingState::spawnUnitAndAddToTribe) + spawnUnitAndAddToTribe; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A69F0, + &PathFindingState::computeAttackVectorsBasedOnXAndY) + computeAttackVectorsBasedOnXAndY; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint), false, + Address::SHC_3BB0A8C1_0x004A6AB0, &PathFindingState::meth_0x4a6ab0) + meth_0x4a6ab0; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, dword, uint, uint), false, + Address::SHC_3BB0A8C1_0x004A6DF0, &PathFindingState::canNavigateFunctionReturnsArea) + canNavigateFunctionReturnsArea; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, uint, dword, int), false, + Address::SHC_3BB0A8C1_0x004A7090, &PathFindingState::updateWalkLayerAndAIPathCostLayer) + updateWalkLayerAndAIPathCostLayer; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int, dword, int), false, + Address::SHC_3BB0A8C1_0x004A75B0, &PathFindingState::pathfindingForAttacksUnk) + pathfindingForAttacksUnk; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(uint, undefined4, uint, uint, int, dword, int), false, + Address::SHC_3BB0A8C1_0x004A79A0, &PathFindingState::pathPlanningForTribe) + pathPlanningForTribe; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, int*, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A7F50, + &PathFindingState::findFreeSpaceNextToEnemyDefensiveStructureInSameAreaWithinDistance) + findFreeSpaceNextToEnemyDefensiveStructureInSameAreaWithinDistance; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int, int, dword, int), false, + Address::SHC_3BB0A8C1_0x004A83B0, + &PathFindingState::populateDestinationsArrayWithWallTileAndFreeTilePairInSameArea) + populateDestinationsArrayWithWallTileAndFreeTilePairInSameArea; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A8780, + &PathFindingState::findUnitPreferredOrientationBasedConnectedTile) + findUnitPreferredOrientationBasedConnectedTile; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int*), false, Address::SHC_3BB0A8C1_0x004A8860, + &PathFindingState::findBuildingAccessPoint) + findBuildingAccessPoint; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(int), false, Address::SHC_3BB0A8C1_0x004A8AB0, + &PathFindingState::pathfindingUpdate_0x4a8ab0) + pathfindingUpdate_0x4a8ab0; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(int, uint, uint, int, undefined4, undefined4, int), + false, Address::SHC_3BB0A8C1_0x004A9200, &PathFindingState::isOpponentBuildingInRange) + isOpponentBuildingInRange; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A94E0, + &PathFindingState::clearAllLadderManWalledData) + clearAllLadderManWalledData; + + MACRO_FUNCTION_RESOLVER(int (PathFindingState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004A9510, &PathFindingState::createClimbData) + createClimbData; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A9680, + &PathFindingState::updateClimbData) + updateClimbData; + + MACRO_FUNCTION_RESOLVER(void (PathFindingState::*)(uint, uint, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x004A97D0, &PathFindingState::traceAndCommitPathPlan) + traceAndCommitPathPlan; + + MACRO_FUNCTION_RESOLVER(dword (PathFindingState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004A9B20, + &PathFindingState::doPathfinding) + doPathfinding; + + MACRO_FUNCTION_RESOLVER(undefined4 (PathFindingState::*)(), false, Address::SHC_3BB0A8C1_0x004A9DD0, + &PathFindingState::retraceAndCommitPathPlan) + retraceAndCommitPathPlan; + + } // namespace PathFindingState_Func + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/PathFindingState.hpp b/src/OpenSHC/Map/Navigation/PathFindingState.hpp new file mode 100644 index 0000000..1aed1ea --- /dev/null +++ b/src/OpenSHC/Map/Navigation/PathFindingState.hpp @@ -0,0 +1,345 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/PathFindingState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/ClimbData.hpp" +#include "OpenSHC/Map/Navigation/PathFindingStatePartB.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Map { + namespace Navigation { + + using OpenSHC::Map::ClimbData; + using OpenSHC::Map::Navigation::PathFindingStatePartB; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000CC670 + class PathFindingState { + public: + undefined4 maxClimbDataCount; // 0x00000000 length: 4 + undefined4 searchGeneration; // 0x00000004 length: 4 + undefined4 unitX; // 0x00000008 length: 4 + undefined4 unitY; // 0x0000000C length: 4 + undefined4 destinationX; // 0x00000010 length: 4 + undefined4 destinationY; // 0x00000014 length: 4 + undefined4 climbX; // 0x00000018 length: 4 + undefined4 climbY; // 0x0000001C length: 4 + undefined4 mappingYRelated; // 0x00000020 length: 4 + undefined4 yLimit; // 0x00000024 length: 4 + undefined4 field10_0x28; // 0x00000028 length: 4 + undefined4 ALG_TargetX; // 0x0000002C length: 4 + undefined4 ALG_TargetY; // 0x00000030 length: 4 + undefined4 ALG_TargetTile; // 0x00000034 length: 4 + undefined4 resultX; // 0x00000038 length: 4 + undefined4 resultY; // 0x0000003C length: 4 + undefined4 resultTile; // 0x00000040 length: 4 + undefined4 ALG_ResultX; // 0x00000044 length: 4 + undefined4 ALG_ResultY; // 0x00000048 length: 4 + undefined4 ALG_ResultTile; // 0x0000004C length: 4 + undefined1 padding_0x50[12]; // 0x00000050 length: 12 + undefined4 ALGO_TotalTroopValue; // 0x0000005C length: 4 + undefined4 ALGO_TotalTroopCount; // 0x00000060 length: 4 + undefined4 field34_0x64; // 0x00000064 length: 4 + undefined1 padding_0x68[4]; // 0x00000068 length: 4 + undefined4 toggleUpdateSeparateAreaTileMap; // 0x0000006C length: 4 + undefined4 field40_0x70; // 0x00000070 length: 4 + undefined4 field41_0x74; // 0x00000074 length: 4 + undefined4 DAT_lWys; // 0x00000078 length: 4 + undefined4 field43_0x7c; // 0x0000007C length: 4 + undefined4 notAllAssassinsUnk; // 0x00000080 length: 4 + undefined4 climbIsIllegal; // 0x00000084 length: 4 + undefined4 allAssassinsUnk; // 0x00000088 length: 4 + undefined4 distance; // 0x0000008C length: 4 + undefined4 field48_0x90; // 0x00000090 length: 4 + undefined4 field49_0x94; // 0x00000094 length: 4 + undefined4 field50_0x98; // 0x00000098 length: 4 + undefined4 field51_0x9c; // 0x0000009C length: 4 + undefined4 calculations; // 0x000000A0 length: 4 + undefined4 DAT_Mini_spreads; // 0x000000A4 length: 4 + undefined4 DAT_Easy; // 0x000000A8 length: 4 + undefined4 DAT_Hard; // 0x000000AC length: 4 + undefined4 searchNonmatchCount; // 0x000000B0 length: 4 + undefined4 searchMatchCounter; // 0x000000B4 length: 4 + undefined1 padding_0xb8[4]; // 0x000000B8 length: 4 + undefined4 DAT_Ass; // 0x000000BC length: 4 + undefined4 field63_0xc0; // 0x000000C0 length: 4 + undefined4 DAT_Test_likely; // 0x000000C4 length: 4 + undefined4 DAT_Test_gatehouse; // 0x000000C8 length: 4 + undefined4 totalZones; // 0x000000CC length: 4 + undefined1 padding_0xd0[8]; // 0x000000D0 length: 8 + undefined4 DAT_NumberOfLadderTeleports; // 0x000000D8 length: 4 + undefined4 DAT_GreatestLadderLoading; // 0x000000DC length: 4 + int zoneSizesArray[1000]; // 0x000000E0 length: 4000 + undefined4 sum; // 0x00001080 length: 4 + ClimbData climbData[200]; // 0x00001084 length: 103200 + PathFindingStatePartB searchQueue; // 0x0001A3A4 length: 729804 + + private: + PathFindingState(PathFindingState const&); + void operator=(PathFindingState const&); + + PathFindingState(); + ~PathFindingState(); + + public: + // Constructor + PathFindingState* Constructor_PathFindingState(); + + undefined4 getComputationalTileIndex(); + + int getTileInSearchQueue(int index); + + void bindPathPlanToAlgorithmStateAndReset(byte* pPathPlan); + + void findClosestTileToStartingTile(int param_1); + + void findNextTileInExistingSearchThatIsModuloDistanceAway(int modulo, int x, int y); + + dword pathFindingResultBased(int param_1, int x, int y, int extraDistance); + + dword findNextTileByModuloAmongPreviousSearchNotOnDefensiveStructure(int modulo, int x, int y); + + BOOLEnum doMoveFromTileToTile( + int unitID, int tile, int y, int direction, int param_5, int ignoreAssassinClimbing); + + BOOL findNeighbourTileThatCanServeAsClimbPointClosestToXY(uint x, uint y, uint x2, uint y2); + + void findPositionForGivenClimbArea(int area, uint x, uint y); + + BOOLEnum findLinkageBasedPathOrWalkRadius( + uint x, uint y, int x2, int y2, int maxIterations, BOOLEnum continuePreviousSearch); + + undefined4 findSuitableSpawnLocationUnk(int x, int y, int x2, int y2, int param_5, int param_6); + + BOOLEnum findPathUsingClimbingWithHeightMargin16( + uint x, uint y, uint x2, uint y2, int budget, BOOLEnum continueSearch); + + BOOLEnum pathFindingWithBuildingsIncluded( + uint x, uint y, uint x2, uint y2, int maxOptionsToTry, int zeroMeansResetAlgorithm); + + undefined4 calculatePathKeepAndWallsGatesNotAllowed(int x1, int y1, int x2, int y2, int maxTries); + + uint commitUnitPathPlanUsingWalkLayer(uint param_1, int param_2, int param_3); + + BOOLEnum updateSeparateAreaTileMap(int forceUpdate); + + BOOLEnum updatePathLinkageLayerBasedOnBuildingsUnk(int yUnk, int tile); + + void updatePathLinkageLayerAtTileForSomeLogicalReason(int tile, int y); + + void updatePathLinkageTileMapRelatedToGates(int buildingID); + + undefined8 updatePathLinkageTileMapRelatedToKeeps(int buildingID); + + void updatePathLinkageTileMapRelatedToSiegeTower(int param_1); + + BOOLEnum tracePathPlanToDestinationViaUnoccupiedTiles(uint x, uint y, uint destX, uint destY); + + void reverseCurrentPathPlan(); + + void raiseLand2(uint x, uint y, int maxDistance); + + void updateWalkAndPathLayer(int param_1, uint xPosition, uint yPosition); + + void setChangedLayerZeroBasedOn40x40Layer(uint flag_and_offset); + + BOOLEnum getYSmallerThanYLimit(); + + void pathFindingDeerAndLionsUnk(int originArea, uint destinationX, uint destinationY); + + void algTunnelerFindTarget(int playerID, int targetPlayerID, int distance, int originX, int originY); + + void findMapBorderEdgeTileAndStoreInSignpostData(int signpostID, int maxDistance, uint x, uint y); + + void findFurthestSeaTile(int budget, uint x, uint y); + + void getTileInSquareBrush(int brushTileIndex, uint x, uint y); + + undefined4 setupBabyTreeLocationInfo(int param_1, int treeType, uint x, uint y); + + BOOLEnum findNoTreeInRange(int budget, uint x, uint y); + + BOOLEnum findDestinationCostLowerThan6(int tile, int maxDistance); + + void computeTotalUnitsWithinDistance( + int playerID, int sameTeamUnits, int someLogicalTileProperty, int tile, int distance); + + void computeNextRallyPointDestination(int unitID, int xPos, int yPos); + + BOOLEnum findDirectNeighbourWalkableTile(uint x, uint y); + + void findPathableTileWithoutUnitWithBuildingAtXY(int unitID, int x, int y); + + void findFreeTileOnDefensiveStructure(int unitID, int x, int y); + + void findWalkableTileThatDoesNotContainUnit(int unitID, uint x, uint y, int considerUnits); + + undefined4 someBinaryAlgFunctionPathFinding(int param_1); + + undefined4 findClosestFreeTileNearUnitOnBuilding( + int buildingID, int unitID, int x, int y, int* pX, int* pY); + + BOOLEnum checkEnemyBuildingOrDefensiveStructureWithin12Tiles(int playerID, uint x, uint y); + + void budgetFloodFillOnCertainPathLayer(uint x, uint y, int marker, int budget); + + void updateUnitDeathHeatmapIn3SpacesAroundTile(uint x, uint y); + + void recomputeALGPathFindingTileMapUnk(int someMax, uint x, uint y, undefined4 param_4); + + void updateAIZoneWithFloodFill0x20(int max, uint x, uint y); + + BOOLEnum findAIZoneWithFlags(int maxDistance, uint x, uint y, undefined4 aiInfoFlags); + + int findArcherRelatedAttackInfoIndex(int max, uint x, uint y, int tribeID); + + int findSupportPointIndex(int max, uint x, uint y, int tribeID); + + int algFindAttackAngle(int maxDistance200, uint x, uint y, int tribeID); + + dword findAppropriateLocationForSiegeTent( + int distanceUnk, uint x, uint y, undefined4 selectionID, uint requiredDistanceFromAIZone, int playerID); + + dword pathFindingRelated(int param_1, uint param_2, uint param_3, int param_4); + + 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); + + int meth_0x4a0460(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 getGatehouseNearSomethingUnk(int param_1, int param_2, int param_3, int maxDistance); + + int findDistanceOrThreatLevelToUnitUnk(int param_1, int param_2, int param_3, int param_4); + + void setWalkabilityBorderLogicLayerForSmallerMapSizes(); + + void aggressiveStanceTargetBuildingAtRange(int unitID, int maxDistance); + + BOOLEnum isEnemyTooCloseUnk(int playerID, uint x, uint y, int requiredDistance); + + int tracePathToFriendlyDefensesAndReturnTileUnk(int playerID, uint x, uint y); + + dword findOwnedGatehouse(int playerID, uint x, uint y); + + undefined4 isTileInRangeOfKeepRange(int playerID, uint x, uint y, int range); + + undefined4 findSomeSuitableLocationUnk(int param_1, uint x, uint y, int param_4); + + void placeCommemoratingStatueAtGoodLocation(int playerID); + + BOOLEnum isSignPostWithinDistance(uint x, uint y, int limit); + + undefined4 spreadAlgorithmForFlagsAndBraziersUnk(int playerID, uint x, uint y, int param_4, int param_5); + + undefined4 igniteFireAtTilesDistanceAway(int tile, int maxDistance, int playerID); + + 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 certainDamageToUnitsUnk(int param_1, int param_2, int param_3, int param_4, undefined4 param_5); + + bool pathFindingToAttackCastleIncludingMoat(undefined4 playerID, int wallOwnerPlayerID, uint x, uint y, + byte* out_successUnk, int* out_x, int* out_y); + + void computeAIZoneLayer(int attackedPlayerID, int canReachKeep); + + int setClimbBasedOnClosestClimbData(int unitID, int ladderWallGroup, int ladderArea); + + BOOLEnum isUsableClimbWallWithinArea(int area, int wallDataID); + + void clearLaddermanWalledData(int param_1); + + void reprocessLadddermanWallData(int laddermanWalledDataID); + + undefined4 meth_0x4a4c70(int param_1, int param_2); + + void meth_0x4a52d0(); + + int calculateCanPlayerUnitsNavigateToAreaFromArea( + int playerID, dword fromArea, dword toArea, int permitClimb); + + dword meth_0x4a58a0(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); + + 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 storeDestinationOptionsUnk(int signpostID); + + void setDestinationPairsBasedOnPreviousSearch(int playerIDMin1, int attackedPlayerID); + + void setMoveDestinationPairs(int playerIDmin1, int playerID, int maxCost); + + void spawnUnitAndAddToTribe( + int playerID, int displayColor, int count, UnitTypeInt unitType, undefined4 tribeID); + + void computeAttackVectorsBasedOnXAndY(int playerID); + + undefined4 meth_0x4a6ab0(int param_1, uint param_2, uint param_3); + + int canNavigateFunctionReturnsArea(int playerID, dword targetArea, uint unitX, uint unitY); + + void updateWalkLayerAndAIPathCostLayer(int limit, uint borderDistance, dword fromArea, int playerID); + + void pathfindingForAttacksUnk(int tribeID, int buildingID, int param_3, dword param_4, int param_5); + + void pathPlanningForTribe( + uint tribeID, undefined4 targetUnitID, uint x, uint y, int unitCount, dword area, int playerID); + + void findFreeSpaceNextToEnemyDefensiveStructureInSameAreaWithinDistance( + int tile, int maxDestinations, int* area, int playerID, int shortenedDistance, int direction); + + void populateDestinationsArrayWithWallTileAndFreeTilePairInSameArea( + int tile, int maxDestinations, dword area, int playerID); + + int findUnitPreferredOrientationBasedConnectedTile(int unitID, int tile); + + int findBuildingAccessPoint(int unitID, int buildingID, int* pResultTile); + + void pathfindingUpdate_0x4a8ab0(int param_1); + + undefined4 isOpponentBuildingInRange( + int playerID, uint x, uint y, int range, undefined4 param_5, undefined4 param_6, int keepRange); + + void clearAllLadderManWalledData(); + + int createClimbData(int size, int buildingID, int unitID, int direction); + + void updateClimbData(); + + void traceAndCommitPathPlan(uint x, uint y, uint x2, uint y2, int param_5); + + dword doPathfinding(int param_1, int param_2); + + undefined4 retraceAndCommitPathPlan(); + }; + + static_assert_cpp98_obj(sizeof(PathFindingState) == 837232, PathFindingState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(PathFindingState, false, Address::SHC_3BB0A8C1_0x012BB8C8) pDAT_PathFindingState; + + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/PathFindingStatePartB.hpp b/src/OpenSHC/Map/Navigation/PathFindingStatePartB.hpp new file mode 100644 index 0000000..0df3c32 --- /dev/null +++ b/src/OpenSHC/Map/Navigation/PathFindingStatePartB.hpp @@ -0,0 +1,45 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/PathFindingStatePartB.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/AreaPairInt.hpp" +#include "OpenSHC/Map/Navigation/PathHelper12.hpp" + +namespace OpenSHC { +namespace Map { + namespace Navigation { + + using OpenSHC::Map::Navigation::AreaPairInt; + using OpenSHC::Map::Navigation::PathHelper12; + +#pragma pack(push, 1) + // SIZE: 0x000B22CC + typedef struct PathFindingStatePartB { + + PathHelper12 destinationsArray[500]; // 0x00000000 length: 6000 + undefined4 currentDistance; // 0x00001770 length: 4 + undefined4 readIndex; // 0x00001774 length: 4 + undefined4 previousReadIndex; // 0x00001778 length: 4 + undefined4 writeIndex; // 0x0000177C length: 4 + undefined4 nextWriteIndex; // 0x00001780 length: 4 + undefined1 padding_0x1784[12]; // 0x00001784 length: 12 + int depth; // 0x00001790 length: 4 + byte* ptrPathPlan; // 0x00001794 length: 4 + undefined4 pathPlanIndex; // 0x00001798 length: 4 + int tilesQueue[80400]; // 0x0000179C length: 321600 + short yQueue[80400]; // 0x0004FFDC length: 160800 + short xQueue[80400]; // 0x000773FC length: 160800 + byte unknownAlgLayer[80400]; // 0x0009E81C length: 80400 + AreaPairInt acceptAreaPairArray1[10]; // 0x000B222C length: 80 + AreaPairInt rejectionAreaPairArray[10]; // 0x000B227C length: 80 + + } PathFindingStatePartB; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(PathFindingStatePartB) == 729804, PathFindingStatePartB); + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Navigation/PathHelper12.hpp b/src/OpenSHC/Map/Navigation/PathHelper12.hpp new file mode 100644 index 0000000..4b21357 --- /dev/null +++ b/src/OpenSHC/Map/Navigation/PathHelper12.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Navigation/PathHelper12.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Navigation { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct PathHelper12 { + + int tile1; // 0x00000000 length: 4 + int tile2OrAHelper; // 0x00000004 length: 4 + int tile3OrAnotherHelper; // 0x00000008 length: 4 + + } PathHelper12; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(PathHelper12) == 12, PathHelper12); + } // namespace Navigation +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/OrganismDefinedData.hpp b/src/OpenSHC/Map/OrganismDefinedData.hpp new file mode 100644 index 0000000..37900e7 --- /dev/null +++ b/src/OpenSHC/Map/OrganismDefinedData.hpp @@ -0,0 +1,59 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/OrganismDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +#include "OpenSHC/Util/FunctionTypes/NoArgCallback.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::Navigation::Algorithms::XYPair; + using OpenSHC::Util::FunctionTypes::NoArgCallback; + +#pragma pack(push, 1) + // SIZE: 0x000010CC + typedef struct OrganismDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + NoArgCallback* PTR_FUN_UpdateTree[20]; // 0x00000004 length: 80 + NoArgCallback* PTR_RockTypeFunctions[20]; // 0x00000054 length: 80 + int DAT_TreeRelated1[20][7]; // 0x000000A4 length: 560 + int DAT_TreeRelated2[20][7]; // 0x000002D4 length: 560 + int DAT_TreeStageLevels[20][7]; // 0x00000504 length: 560 + int TreeTypeBasedValueMapping[20]; // 0x00000734 length: 80 + int INT_ARRAY_Rock_field0xe[20]; // 0x00000784 length: 80 + int DAT_RandomRockImageGMImageOffsets[16]; // 0x000007D4 length: 64 + int field12_0x814; // 0x00000814 length: 4 + int field13_0x818; // 0x00000818 length: 4 + int field14_0x81c; // 0x0000081C length: 4 + int field15_0x820; // 0x00000820 length: 4 + int field16_0x824; // 0x00000824 length: 4 + int field17_0x828; // 0x00000828 length: 4 + int field18_0x82c; // 0x0000082C length: 4 + int field19_0x830; // 0x00000830 length: 4 + int field20_0x834; // 0x00000834 length: 4 + int field21_0x838; // 0x00000838 length: 4 + int field22_0x83c; // 0x0000083C length: 4 + int field23_0x840; // 0x00000840 length: 4 + int field24_0x844; // 0x00000844 length: 4 + int field25_0x848; // 0x00000848 length: 4 + int field26_0x84c; // 0x0000084C length: 4 + int field27_0x850; // 0x00000850 length: 4 + int field28_0x854[20]; // 0x00000854 length: 80 + int ANIM_Tree_2_B[124]; // 0x000008A4 length: 496 + int ANIM_Tree_2_A[120]; // 0x00000A94 length: 480 + byte ANIM_Tree_1_A[168]; // 0x00000C74 length: 168 + byte ANIM_Tree_1_B[720]; // 0x00000D1C length: 720 + XYPair DAT_TreeSpreadOffsets[8]; // 0x00000FEC length: 64 + int DAT_WindRelatedArray[40]; // 0x0000102C length: 160 + + } OrganismDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(OrganismDefinedData) == 4300, OrganismDefinedData); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/PitchDitch.hpp b/src/OpenSHC/Map/PitchDitch.hpp new file mode 100644 index 0000000..45ddc33 --- /dev/null +++ b/src/OpenSHC/Map/PitchDitch.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/PitchDitch.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x00000014 + typedef struct PitchDitch { + + int tile; // 0x00000000 length: 4 + int uid; // 0x00000004 length: 4 + short owner; // 0x00000008 length: 2 + short x; // 0x0000000A length: 2 + short y; // 0x0000000C length: 2 + short rng; // 0x0000000E length: 2 + short state; // 0x00000010 length: 2 + short field7_0x12; // 0x00000012 length: 2 + + } PitchDitch; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(PitchDitch) == 20, PitchDitch); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Rocks.func.hpp b/src/OpenSHC/Map/Rocks.func.hpp new file mode 100644 index 0000000..055d889 --- /dev/null +++ b/src/OpenSHC/Map/Rocks.func.hpp @@ -0,0 +1,79 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Rocks.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Rocks.hpp" +namespace OpenSHC { +namespace Map { + namespace Rocks_Func { + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2A20, &OpenSHC::Map::Rocks::UpdateRockFunc1) + UpdateRockFunc1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2A40, &OpenSHC::Map::Rocks::UpdateRockFunc2) + UpdateRockFunc2; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2A60, &OpenSHC::Map::Rocks::UpdateRockFunc3) + UpdateRockFunc3; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2A80, &OpenSHC::Map::Rocks::UpdateRockFunc4) + UpdateRockFunc4; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2AA0, &OpenSHC::Map::Rocks::UpdateRockFunc5) + UpdateRockFunc5; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2AC0, &OpenSHC::Map::Rocks::UpdateRockFunc6) + UpdateRockFunc6; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2AE0, &OpenSHC::Map::Rocks::UpdateRockFunc7) + UpdateRockFunc7; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2B00, &OpenSHC::Map::Rocks::UpdateRockFunc8) + UpdateRockFunc8; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2B20, &OpenSHC::Map::Rocks::UpdateRockFunc9) + UpdateRockFunc9; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2B40, &OpenSHC::Map::Rocks::UpdateRockFunc10) + UpdateRockFunc10; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2B60, &OpenSHC::Map::Rocks::UpdateRockFunc11) + UpdateRockFunc11; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2B80, &OpenSHC::Map::Rocks::UpdateRockFunc12) + UpdateRockFunc12; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2BA0, &OpenSHC::Map::Rocks::UpdateRockFunc13) + UpdateRockFunc13; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2BC0, &OpenSHC::Map::Rocks::UpdateRockFunc14) + UpdateRockFunc14; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2BE0, &OpenSHC::Map::Rocks::UpdateRockFunc15) + UpdateRockFunc15; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2C00, &OpenSHC::Map::Rocks::UpdateRockFunc16) + UpdateRockFunc16; + + } // namespace Rocks_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Rocks.hpp b/src/OpenSHC/Map/Rocks.hpp new file mode 100644 index 0000000..c9b0241 --- /dev/null +++ b/src/OpenSHC/Map/Rocks.hpp @@ -0,0 +1,46 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Rocks.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Rocks { + + void __stdcall UpdateRockFunc1(); + + void __stdcall UpdateRockFunc2(); + + void __stdcall UpdateRockFunc3(); + + void __stdcall UpdateRockFunc4(); + + void __stdcall UpdateRockFunc5(); + + void __stdcall UpdateRockFunc6(); + + void __stdcall UpdateRockFunc7(); + + void __stdcall UpdateRockFunc8(); + + void __stdcall UpdateRockFunc9(); + + void __stdcall UpdateRockFunc10(); + + void __stdcall UpdateRockFunc11(); + + void __stdcall UpdateRockFunc12(); + + void __stdcall UpdateRockFunc13(); + + void __stdcall UpdateRockFunc14(); + + void __stdcall UpdateRockFunc15(); + + void __stdcall UpdateRockFunc16(); + + } // namespace Rocks +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Rocks/Rock.hpp b/src/OpenSHC/Map/Rocks/Rock.hpp new file mode 100644 index 0000000..6b63e1a --- /dev/null +++ b/src/OpenSHC/Map/Rocks/Rock.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Rocks/Rock.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Rocks { + +#pragma pack(push, 1) + // SIZE: 0x00000020 + typedef struct Rock { + + int gfx; // 0x00000000 length: 4 + uint tile; // 0x00000004 length: 4 + int uid; // 0x00000008 length: 4 + short one; // 0x0000000C length: 2 + short unknownGMID; // 0x0000000E length: 2 + short type; // 0x00000010 length: 2 + ushort x; // 0x00000012 length: 2 + ushort y; // 0x00000014 length: 2 + short size; // 0x00000016 length: 2 + short orientation; // 0x00000018 length: 2 + undefined1 padding_0x1a[6]; // 0x0000001A length: 6 + + } Rock; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Rock) == 32, Rock); + } // namespace Rocks +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/TerrainDefinedData.hpp b/src/OpenSHC/Map/TerrainDefinedData.hpp new file mode 100644 index 0000000..8195621 --- /dev/null +++ b/src/OpenSHC/Map/TerrainDefinedData.hpp @@ -0,0 +1,101 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/TerrainDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Buildings/WheatFarm/WheatFarmFieldSpec.hpp" +#include "OpenSHC/Map/GFX/UnkBytePair.hpp" +#include "OpenSHC/Map/Location/Point8.hpp" +#include "OpenSHC/Map/Location/Point8IntXY.hpp" +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::Buildings::WheatFarm::WheatFarmFieldSpec; + using OpenSHC::Map::GFX::UnkBytePair; + using OpenSHC::Map::Location::Point8; + using OpenSHC::Map::Location::Point8IntXY; + using OpenSHC::Map::Navigation::Algorithms::XYPair; + +#pragma pack(push, 1) + // SIZE: 0x000037AC + typedef struct TerrainDefinedData { + + undefined1 padding_0x0[12]; // 0x00000000 length: 12 + int field12_0xc[37]; // 0x0000000C length: 148 + int DAT_BrushSizeArray[8]; // 0x000000A0 length: 32 + XYPair field14_0xc0; // 0x000000C0 length: 8 + undefined1 padding_0xc8[8]; // 0x000000C8 length: 8 + undefined4 field23_0xd0; // 0x000000D0 length: 4 + undefined1 padding_0xd4[32]; // 0x000000D4 length: 32 + Point8 DAT_CoordinateCardinalTranslationMatrix[8]; // 0x000000F4 length: 64 + undefined1 padding_0x134[4]; // 0x00000134 length: 4 + int field61_0x138; // 0x00000138 length: 4 + XYPair field62_0x13c[4][3]; // 0x0000013C length: 96 + XYPair field63_0x19c[4]; // 0x0000019C length: 32 + XYPair DAT_Stockpile_BuildingPartsOffsets[4]; // 0x000001BC length: 32 + XYPair DAT_Stockpile_PathableOffsets[9]; // 0x000001DC length: 72 + undefined1 padding_0x224[64]; // 0x00000224 length: 64 + XYPair field130_0x264[3][12]; // 0x00000264 length: 288 + Point8IntXY field131_0x384[8]; // 0x00000384 length: 64 + Point8IntXY field132_0x3c4[8]; // 0x000003C4 length: 64 + undefined1 padding_0x404[64]; // 0x00000404 length: 64 + XYPair field197_0x444[24]; // 0x00000444 length: 192 + undefined1 padding_0x504[8]; // 0x00000504 length: 8 + XYPair field206_0x50c; // 0x0000050C length: 8 + undefined1 padding_0x514[4]; // 0x00000514 length: 4 + XYPair field211_0x518; // 0x00000518 length: 8 + undefined1 padding_0x520[76]; // 0x00000520 length: 76 + XYPair field288_0x56c; // 0x0000056C length: 8 + undefined1 padding_0x574[4]; // 0x00000574 length: 4 + XYPair field293_0x578; // 0x00000578 length: 8 + undefined1 padding_0x580[76]; // 0x00000580 length: 76 + XYPair field370_0x5cc; // 0x000005CC length: 8 + undefined1 padding_0x5d4[184]; // 0x000005D4 length: 184 + XYPair field555_0x68c; // 0x0000068C length: 8 + undefined1 padding_0x694[440]; // 0x00000694 length: 440 + int field996_0x84c[25]; // 0x0000084C length: 100 + undefined1 padding_0x8b0[4]; // 0x000008B0 length: 4 + int field1001_0x8b4[25]; // 0x000008B4 length: 100 + undefined1 padding_0x918[4]; // 0x00000918 length: 4 + XYPair field1006_0x91c[4][36]; // 0x0000091C length: 1152 + XYPair field1007_0xd9c[2][24]; // 0x00000D9C length: 384 + XYPair field1008_0xf1c[8]; // 0x00000F1C length: 64 + WheatFarmFieldSpec field1009_0xf5c[4][27]; // 0x00000F5C length: 1296 + undefined1 padding_0x146c[1280]; // 0x0000146C length: 1280 + XYPair field2290_0x196c[4]; // 0x0000196C length: 32 + XYPair field2291_0x198c[9]; // 0x0000198C length: 72 + XYPair field2292_0x19d4[16]; // 0x000019D4 length: 128 + int field2293_0x1a54[4][16]; // 0x00001A54 length: 256 + int field2294_0x1b54[4][16]; // 0x00001B54 length: 256 + int field2295_0x1c54[4][16]; // 0x00001C54 length: 256 + byte field2296_0x1d54[4][2]; // 0x00001D54 length: 8 + byte field2297_0x1d5c[4][2]; // 0x00001D5C length: 8 + UnkBytePair field2298_0x1d64[8]; // 0x00001D64 length: 16 + int DAT_MapSizes[5]; // 0x00001D74 length: 20 + undefined1 padding_0x1d88[164]; // 0x00001D88 length: 164 + int DAT_SomeOrientationOrderArray[8]; // 0x00001E2C length: 32 + int field2465_0x1e4c[32]; // 0x00001E4C length: 128 + XYPair field2466_0x1ecc[4][9]; // 0x00001ECC length: 288 + int field2467_0x1fec[4][25]; // 0x00001FEC length: 400 + int field2468_0x217c[7][4]; // 0x0000217C length: 112 + int field2469_0x21ec[4][25]; // 0x000021EC length: 400 + int field2470_0x237c[4][25]; // 0x0000237C length: 400 + int field2471_0x250c[26]; // 0x0000250C length: 104 + int field2472_0x2574[60]; // 0x00002574 length: 240 + int field2473_0x2664[64]; // 0x00002664 length: 256 + XYPair field2474_0x2764[501]; // 0x00002764 length: 4008 + int field2475_0x370c[8]; // 0x0000370C length: 32 + XYPair field2476_0x372c[8]; // 0x0000372C length: 64 + XYPair field2477_0x376c[4]; // 0x0000376C length: 32 + XYPair field2478_0x378c[4]; // 0x0000378C length: 32 + + } TerrainDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TerrainDefinedData) == 14252, TerrainDefinedData); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/TileMapState.func.hpp b/src/OpenSHC/Map/TileMapState.func.hpp new file mode 100644 index 0000000..0e62cdb --- /dev/null +++ b/src/OpenSHC/Map/TileMapState.func.hpp @@ -0,0 +1,761 @@ +/** + path: 'OpenSHC/Map/TileMapState.func.hpp' +*/ + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeShort.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/LogicHelpers/Logic1Int.hpp" +#include "OpenSHC/Map/LogicHelpers/Logic2Int.hpp" +#include "OpenSHC/Map/TileMapState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace TileMapState_Func { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Commands::CommandBuildingTypeShort; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::LogicHelpers::Logic1Int; + using OpenSHC::Map::LogicHelpers::Logic2Int; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00401060, &TileMapState::processEntityDamageToBuildingCollateralThunk) + processEntityDamageToBuildingCollateralThunk; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, BOOLEnum), + false, Address::SHC_3BB0A8C1_0x00409300, &TileMapState::processDamageToBuildingThunk) + processDamageToBuildingThunk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F6AE0, + &TileMapState::setChangedLayerToThreeAndMapping0x40x40) + setChangedLayerToThreeAndMapping0x40x40; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F6B20, + &TileMapState::setupMovementDirectionTranslationMatrix) + setupMovementDirectionTranslationMatrix; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F6C60, &TileMapState::setupLogicalMapBorders) + setupLogicalMapBorders; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F6CF0, + &TileMapState::resetHeightAndMapBorders) + resetHeightAndMapBorders; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F6F90, &TileMapState::setMapSize) + setMapSize; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F6FD0, &TileMapState::triggerLoweredView) + triggerLoweredView; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F70B0, &TileMapState::toggleFlatView) + toggleFlatView; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x004F70E0, &TileMapState::setMapRotation) + setMapRotation; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F70F0, + &TileMapState::updateLogicalTileMapRelatedSections) + updateLogicalTileMapRelatedSections; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F7A80, &TileMapState::meth_0x4f7a80) + meth_0x4f7a80; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x004F80E0, + &TileMapState::increaseHeightForTunnelSingleTile) + increaseHeightForTunnelSingleTile; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F8160, + &TileMapState::getNonFarmFieldBuildingHealthAtTileOr1000) + getNonFarmFieldBuildingHealthAtTileOr1000; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004F81D0, + &TileMapState::meth_0x4f81d0) + meth_0x4f81d0; + + MACRO_FUNCTION_RESOLVER( + uint (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F8210, &TileMapState::getBuildingHurtSFXID) + getBuildingHurtSFXID; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F8300, + &TileMapState::rotateFearFactorBuildingVariations) + rotateFearFactorBuildingVariations; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, uint), false, Address::SHC_3BB0A8C1_0x004F8530, + &TileMapState::countPropertyInSurroundingTiles) + countPropertyInSurroundingTiles; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F85B0, + &TileMapState::meth_0x4f85b0) + meth_0x4f85b0; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F8640, + &TileMapState::meth_0x4f8640) + meth_0x4f8640; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F86D0, + &TileMapState::meth_0x4f86d0) + meth_0x4f86d0; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8780, + &TileMapState::meth_0x4f8780) + meth_0x4f8780; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8840, + &TileMapState::meth_0x4f8840) + meth_0x4f8840; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F8900, + &TileMapState::meth_0x4f8900) + meth_0x4f8900; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F89C0, + &TileMapState::meth_0x4f89c0) + meth_0x4f89c0; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8A40, + &TileMapState::meth_0x4f8a40) + meth_0x4f8a40; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F8AC0, + &TileMapState::meth_0x4f8ac0) + meth_0x4f8ac0; + + 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; + + 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_0x004F9220, &TileMapState::swapWallOwnership) + swapWallOwnership; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F93E0, &TileMapState::destroyWallsOfPlayer) + destroyWallsOfPlayer; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x004F94A0, &TileMapState::isWallUnkPlacementAllowed) + isWallUnkPlacementAllowed; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004F9590, + &TileMapState::setupBuildingSizeIndexMappingForBuildingWithSize) + setupBuildingSizeIndexMappingForBuildingWithSize; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F9880, + &TileMapState::getBuildingSizeIndexMappingData) + getBuildingSizeIndexMappingData; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004F9930, + &TileMapState::indexIsEdgeUnk) + indexIsEdgeUnk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, int), false, Address::SHC_3BB0A8C1_0x004F9980, + &TileMapState::storeMinAndMaxHeightOfArea) + storeMinAndMaxHeightOfArea; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int, int, CommandBuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x004F9A60, &TileMapState::isBuildingPlacementAllowedAtTile) + isBuildingPlacementAllowedAtTile; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004F9DF0, + &TileMapState::meth_0x4f9df0) + meth_0x4f9df0; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x004F9F00, + &TileMapState::spawnEraserEntityEffectsUnk) + spawnEraserEntityEffectsUnk; + + 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_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::*)(CommandBuildingTypeInt), 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; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FA9D0, + &TileMapState::meth_0x4fa9d0) + meth_0x4fa9d0; + + 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, int), false, Address::SHC_3BB0A8C1_0x004FAB70, + &TileMapState::meth_0x4fab70) + meth_0x4fab70; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAC70, + &TileMapState::meth_0x4fac70) + meth_0x4fac70; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAD20, + &TileMapState::meth_0x4fad20) + meth_0x4fad20; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FAD70, + &TileMapState::meth_0x4fad70) + meth_0x4fad70; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAE50, &TileMapState::meth_0x4fae50) + meth_0x4fae50; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FAEE0, &TileMapState::meth_0x4faee0) + meth_0x4faee0; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FAF70, &TileMapState::meth_0x4faf70) + meth_0x4faf70; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB0C0, &TileMapState::meth_0x4fb0c0) + meth_0x4fb0c0; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FB360, &TileMapState::meth_0x4fb360) + meth_0x4fb360; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FB3F0, &TileMapState::FUN_004fb3f0) + FUN_004fb3f0; + + 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_0x004FB8E0, &TileMapState::meth_0x4fb8e0) + meth_0x4fb8e0; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FB970, &TileMapState::meth_0x4fb970) + meth_0x4fb970; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, short), false, Address::SHC_3BB0A8C1_0x004FB9E0, + &TileMapState::meth_0x4fb9e0) + meth_0x4fb9e0; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FBC30, + &TileMapState::getCastleBuildRangeForMapSize) + getCastleBuildRangeForMapSize; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int*, int*, int, uint), false, + Address::SHC_3BB0A8C1_0x004FBD80, &TileMapState::getTileForBrush) + getTileForBrush; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004FBE70, + &TileMapState::meth_0x4fbe70) + meth_0x4fbe70; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FC0B0, + &TileMapState::meth_0x4fc0b0) + meth_0x4fc0b0; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004FC280, + &TileMapState::meth_0x4fc280) + meth_0x4fc280; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FC340, &TileMapState::meth_0x4fc340) + meth_0x4fc340; + + 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(BOOLEnum (TileMapState::*)(int, undefined4, int), false, + Address::SHC_3BB0A8C1_0x004FC7C0, &TileMapState::meth_0x4fc7c0) + meth_0x4fc7c0; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x004FC810, + &TileMapState::meth_0x4fc810) + meth_0x4fc810; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FC9E0, &TileMapState::updateGFXLayers) + updateGFXLayers; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, int), false, Address::SHC_3BB0A8C1_0x004FDB00, + &TileMapState::updateMacroLayerRelated) + updateMacroLayerRelated; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004FF080, &TileMapState::updateMacroLayerRelated2) + updateMacroLayerRelated2; + + MACRO_FUNCTION_RESOLVER(byte (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FF870, + &TileMapState::setBitFlagBasedOnWallTowerGatehouseOrKeep) + setBitFlagBasedOnWallTowerGatehouseOrKeep; + + MACRO_FUNCTION_RESOLVER( + uint (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FF990, &TileMapState::returnSomeHeight) + returnSomeHeight; + + MACRO_FUNCTION_RESOLVER( + uint (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x004FFB10, &TileMapState::getTotalHeightAtTile) + getTotalHeightAtTile; + + MACRO_FUNCTION_RESOLVER( + int (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FFBA0, &TileMapState::getTotalHeightAt) + getTotalHeightAt; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004FFF10, + &TileMapState::getHeightAtTileIncludingOwnersBuildings) + getHeightAtTileIncludingOwnersBuildings; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005000A0, &TileMapState::recountTotalOwnedMoats) + recountTotalOwnedMoats; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005000E0, + &TileMapState::scanMoatsInGroupsOfThreeUnk) + scanMoatsInGroupsOfThreeUnk; + + MACRO_FUNCTION_RESOLVER( + int (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500180, &TileMapState::countUnfinishedMoatUnk) + countUnfinishedMoatUnk; + + MACRO_FUNCTION_RESOLVER( + int (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500210, &TileMapState::getUnownedMoatCount) + getUnownedMoatCount; + + MACRO_FUNCTION_RESOLVER( + int (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500250, &TileMapState::returnOwnedMoatAtTile) + returnOwnedMoatAtTile; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(uint), false, Address::SHC_3BB0A8C1_0x005002D0, &TileMapState::clearMoatFromMemory) + clearMoatFromMemory; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00500310, &TileMapState::clearMoat) + clearMoat; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00500370, + &TileMapState::findTileInSameAreaAndNoTooHeightDifference) + findTileInSameAreaAndNoTooHeightDifference; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int, int, uint, uint), false, Address::SHC_3BB0A8C1_0x005003D0, + &TileMapState::setXYBasedOnMoatID) + setXYBasedOnMoatID; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500500, &TileMapState::meth_0x500500) + meth_0x500500; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x005005F0, &TileMapState::clearMoatIfUnk) + clearMoatIfUnk; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500640, &TileMapState::moatRelatedUpdateFunction) + moatRelatedUpdateFunction; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500680, &TileMapState::meth_0x500680) + meth_0x500680; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005006C0, &TileMapState::meth_0x5006c0) + meth_0x5006c0; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00500720, + &TileMapState::meth_0x500720) + meth_0x500720; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, undefined4), false, Address::SHC_3BB0A8C1_0x00500750, + &TileMapState::meth_0x500750) + meth_0x500750; + + 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; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500800, + &TileMapState::countPitchDitchesWithPlayerID0) + countPitchDitchesWithPlayerID0; + + MACRO_FUNCTION_RESOLVER( + int (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500850, &TileMapState::getPitchDitchIDForTile) + getPitchDitchIDForTile; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00500890, &TileMapState::destroyPitchDitch) + destroyPitchDitch; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00500940, + &TileMapState::swapPitchOwnership) + swapPitchOwnership; + + MACRO_FUNCTION_RESOLVER(undefined4 (TileMapState::*)(uint, uint, uint, uint), false, + Address::SHC_3BB0A8C1_0x00500980, &TileMapState::meth_0x500980) + meth_0x500980; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int, int, uint), false, Address::SHC_3BB0A8C1_0x00500B50, + &TileMapState::meth_0x500b50) + meth_0x500b50; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00500BB0, &TileMapState::campaignRelatedNumber) + campaignRelatedNumber; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00501180, + &TileMapState::spreadAlgorithmForFlagsAndBraziers2Unk) + spreadAlgorithmForFlagsAndBraziers2Unk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x005011A0, + &TileMapState::spreadAlgorithmForFlagsAndBraziersUnk) + spreadAlgorithmForFlagsAndBraziersUnk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005017A0, + &TileMapState::clearAndSetTileMapUnknown2Plus) + clearAndSetTileMapUnknown2Plus; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, int), false, Address::SHC_3BB0A8C1_0x005017C0, + &TileMapState::meth_0x5017c0) + meth_0x5017c0; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x004F79D0, + &TileMapState::updateShowHiLayerOrResetChangedLayer) + updateShowHiLayerOrResetChangedLayer; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00501B90, + &TileMapState::changeMapOrientationUnk) + changeMapOrientationUnk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x00501CD0, + &TileMapState::increaseHeightForTunnelWithBrush) + increaseHeightForTunnelWithBrush; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, int), false, Address::SHC_3BB0A8C1_0x00501D90, + &TileMapState::raiseLand) + raiseLand; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, int, int), false, Address::SHC_3BB0A8C1_0x00501F50, + &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_0x00502390, &TileMapState::setLand) + setLand; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, uint, int), false, Address::SHC_3BB0A8C1_0x005024F0, + &TileMapState::meth_0x5024f0) + meth_0x5024f0; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4), false, + Address::SHC_3BB0A8C1_0x00502680, &TileMapState::useBrush3) + useBrush3; + + MACRO_FUNCTION_RESOLVER( + byte (TileMapState::*)(int, uint), false, Address::SHC_3BB0A8C1_0x00502950, &TileMapState::meth_0x502950) + meth_0x502950; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, uint, uint, undefined4), false, + Address::SHC_3BB0A8C1_0x005029D0, &TileMapState::checkWhetherThisWallBuildIsAllowed) + checkWhetherThisWallBuildIsAllowed; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, uint, uint, CommandBuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x00502F30, &TileMapState::placeWalls) + placeWalls; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x005034A0, &TileMapState::placeDefensiveStructurePart2Unk) + placeDefensiveStructurePart2Unk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00503720, + &TileMapState::setupBuildingSizeIndexMapping) + setupBuildingSizeIndexMapping; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, CommandBuildingTypeShort, int), false, + Address::SHC_3BB0A8C1_0x005037B0, &TileMapState::checkBuildingCanBePlacedHere) + checkBuildingCanBePlacedHere; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint), false, Address::SHC_3BB0A8C1_0x00504A30, + &TileMapState::meth_0x504a30) + meth_0x504a30; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00504EE0, &TileMapState::meth_0x504ee0) + meth_0x504ee0; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(int, int, CommandBuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x00504F10, &TileMapState::setConstructionGFXLayerBasedOnPlacementChecks) + setConstructionGFXLayerBasedOnPlacementChecks; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00506370, + &TileMapState::updateBuildingGraphicsLayer) + updateBuildingGraphicsLayer; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00506AD0, + &TileMapState::someUpdatePathLinkageRelatedCall) + someUpdatePathLinkageRelatedCall; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, BuildingTypeInt, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00506BD0, &TileMapState::placeWorkshopOrHovel) + placeWorkshopOrHovel; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00506D40, &TileMapState::placeSiegetowerPlaced) + placeSiegetowerPlaced; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00506E10, &TileMapState::placeSiegeTentUnk) + placeSiegeTentUnk; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, uint, uint, undefined4, undefined4, uint, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00506F40, &TileMapState::placePositiveFearfactor) + placePositiveFearfactor; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int, uint, uint, undefined4, undefined4, uint, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00507060, &TileMapState::meth_0x507060) + meth_0x507060; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00507130, &TileMapState::placeTower) + placeTower; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00507280, &TileMapState::upgradeTowerLogicLayer) + upgradeTowerLogicLayer; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00507350, &TileMapState::meth_0x507350) + meth_0x507350; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00507420, &TileMapState::placeGatehouseSmall) + placeGatehouseSmall; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00507560, &TileMapState::placeGatehouseLarge) + placeGatehouseLarge; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, int*, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x005076A0, &TileMapState::placeBarracks) + placeBarracks; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int*, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00507BD0, &TileMapState::placeEngineersguild) + placeEngineersguild; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int*, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00507E00, &TileMapState::placeTunnelersguild) + placeTunnelersguild; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00508030, &TileMapState::placeOilsmelter) + placeOilsmelter; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, uint), false, + Address::SHC_3BB0A8C1_0x00508250, &TileMapState::placeQuarry) + placeQuarry; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, int, undefined4, undefined4, int, int), false, + 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_0x00508870, &TileMapState::meth_0x508870) + meth_0x508870; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00508910, &TileMapState::meth_0x508910) + meth_0x508910; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x00508A00, &TileMapState::renderPreviewMapperWithBrush) + renderPreviewMapperWithBrush; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00508DD0, + &TileMapState::applyTreeToLogicalLayer) + applyTreeToLogicalLayer; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, uint), false, Address::SHC_3BB0A8C1_0x00508EC0, + &TileMapState::meth_0x508ec0) + meth_0x508ec0; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00509180, &TileMapState::updateTextureTilemap) + updateTextureTilemap; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00511020, &TileMapState::updateMacroLayer) + updateMacroLayer; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(undefined4, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x005110B0, &TileMapState::createMoat) + createMoat; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x005111D0, + &TileMapState::findNearestFriendlyMoatTileForDigging) + findNearestFriendlyMoatTileForDigging; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TileMapState::*)(uint), false, Address::SHC_3BB0A8C1_0x005113F0, &TileMapState::removeMoat) + removeMoat; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005114C0, &TileMapState::updatePitchDitches) + updatePitchDitches; + + MACRO_FUNCTION_RESOLVER(int (TileMapState::*)(undefined4, uint, uint), false, Address::SHC_3BB0A8C1_0x005116E0, + &TileMapState::placePitchDitch) + placePitchDitch; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00511850, &TileMapState::updateGameRelatedValue) + updateGameRelatedValue; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x00511D70, &TileMapState::upgradeMapFormatLogicLayer) + upgradeMapFormatLogicLayer; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00511DF0, &TileMapState::setupTileMapSections) + setupTileMapSections; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00512100, &TileMapState::setupAllMapSections) + setupAllMapSections; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00512450, &TileMapState::prepareMap) + prepareMap; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x005127B0, + &TileMapState::resetAreaBasedOnLogicalLayer) + resetAreaBasedOnLogicalLayer; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(), false, Address::SHC_3BB0A8C1_0x00512920, + &TileMapState::processMapOrientationChange) + processMapOrientationChange; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, int, uint, uint, Logic1Int, Logic2Int), false, + Address::SHC_3BB0A8C1_0x00512940, &TileMapState::setTerrain) + setTerrain; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(undefined4, int, uint), false, Address::SHC_3BB0A8C1_0x00514480, + &TileMapState::placeMoat) + placeMoat; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00514520, &TileMapState::placeKillingPit) + placeKillingPit; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, BuildingTypeInt, uint, int, int), false, + Address::SHC_3BB0A8C1_0x005146D0, &TileMapState::placeKeep) + placeKeep; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, uint, int*, undefined4), false, + Address::SHC_3BB0A8C1_0x00514DE0, &TileMapState::placeDrawbridge) + placeDrawbridge; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, undefined4, int, undefined4), false, + Address::SHC_3BB0A8C1_0x00514F30, &TileMapState::placeWheatfarm) + placeWheatfarm; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x005151C0, &TileMapState::placeHopfarm) + placeHopfarm; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, undefined4, undefined4, int*, undefined4), + false, Address::SHC_3BB0A8C1_0x005154D0, &TileMapState::placeDairyfarm) + placeDairyfarm; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, BuildingTypeInt, undefined4, int, int*), false, + Address::SHC_3BB0A8C1_0x00515740, &TileMapState::placeApplefarm) + placeApplefarm; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00515A20, + &TileMapState::clearBuildingFromTerrain) + clearBuildingFromTerrain; + + MACRO_FUNCTION_RESOLVER( + void (TileMapState::*)(int), false, Address::SHC_3BB0A8C1_0x00515C80, &TileMapState::createMoatSize5Unk) + createMoatSize5Unk; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(uint, uint, undefined4), false, Address::SHC_3BB0A8C1_0x00515DA0, + &TileMapState::placeTree) + placeTree; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TileMapState::*)(int, uint, uint, CommandBuildingTypeInt, int), false, + Address::SHC_3BB0A8C1_0x005160C0, &TileMapState::prepareAreaForBuildingPlacement) + prepareAreaForBuildingPlacement; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(PlayerID, int, int, CommandBuildingTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x005162D0, &TileMapState::placeBuilding) + placeBuilding; + + MACRO_FUNCTION_RESOLVER(uint (TileMapState::*)(int, uint, uint, int, int, int, BOOLEnum, int), false, + Address::SHC_3BB0A8C1_0x00516B80, &TileMapState::processDamageToBuilding) + processDamageToBuilding; + + MACRO_FUNCTION_RESOLVER(void (TileMapState::*)(int, uint, uint, int, int, undefined4, int), false, + Address::SHC_3BB0A8C1_0x00517790, &TileMapState::processEntityDamageToBuildingCollateral) + processEntityDamageToBuildingCollateral; + + } // namespace TileMapState_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/TileMapState.hpp b/src/OpenSHC/Map/TileMapState.hpp new file mode 100644 index 0000000..5bd3030 --- /dev/null +++ b/src/OpenSHC/Map/TileMapState.hpp @@ -0,0 +1,648 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/TileMapState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeShort.hpp" +#include "OpenSHC/Game/Player/PlayerID.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingFailReasonEnumInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/LogicHelpers/Logic1Int.hpp" +#include "OpenSHC/Map/LogicHelpers/Logic2Int.hpp" +#include "OpenSHC/Map/Moat.hpp" +#include "OpenSHC/Map/PitchDitch.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Commands::CommandBuildingTypeShort; + using OpenSHC::Game::Player::PlayerID; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Moat; + using OpenSHC::Map::PitchDitch; + using OpenSHC::Map::Buildings::BuildingFailReasonEnumInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::LogicHelpers::Logic1Int; + using OpenSHC::Map::LogicHelpers::Logic2Int; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00554A88 + class TileMapState { + public: + int directionTranslationMatrix[400][8]; // 0x00000000 length: 12800 + int yArray1[400]; // 0x00003200 length: 1600 + int heightBasedScreenYOffset[256]; // 0x00003840 length: 1024 + int unusedTileMap[80400]; // 0x00003C40 length: 321600 + ushort GfxLayer[80400]; // 0x00052480 length: 160800 + ushort AlphaGFXLayer[80400]; // 0x000798A0 length: 160800 + ushort ConstructionGFXLayer[80400]; // 0x000A0CC0 length: 160800 + ushort PillarGFXLayer[80400]; // 0x000C80E0 length: 160800 + ushort WallGFXLayer[80400]; // 0x000EF500 length: 160800 + ushort FloatingLayer[80400]; // 0x00116920 length: 160800 + ushort RandomLayer[80400]; // 0x0013DD40 length: 160800 + int LogicLayer[80400]; // 0x00165160 length: 321600 + byte unknownData1[1600]; // 0x001B39A0 length: 1600 + byte Logic2Layer[80400]; // 0x001B3FE0 length: 80400 + byte unknownData2[400]; // 0x001C79F0 length: 400 + byte ChangedLayer[80400]; // 0x001C7B80 length: 80400 + ushort OrganismLayer[80400]; // 0x001DB590 length: 160800 + ushort BuildingLayer[80400]; // 0x002029B0 length: 160800 + uchar BuildingWasLayer[80400]; // 0x00229DD0 length: 80400 + ushort UnitLayer[80400]; // 0x0023D7E0 length: 160800 + short EntityLayer[80400]; // 0x00264C00 length: 160800 + char EntityLayerLT25[80400]; // 0x0028C020 length: 80400 + byte HeightLayer[80400]; // 0x0029FA30 length: 80400 + byte DefaultHeightLayer[80400]; // 0x002B3440 length: 80400 + byte WallOwnerLayer[80400]; // 0x002C6E50 length: 80400 + uchar LuminesenceLayer[80400]; // 0x002DA860 length: 80400 + uchar ShowHiLayer[80400]; // 0x002EE270 length: 80400 + ushort MiscDisplayLayer[80400]; // 0x00301C80 length: 160800 + byte DamageLayer[80400]; // 0x003290A0 length: 80400 + ushort MacroLayer[80400]; // 0x0033CAB0 length: 160800 + ushort PathConnectionLayer[80400]; // 0x00363ED0 length: 160800 + uchar PathLinkageLayer[80400]; // 0x0038B2F0 length: 80400 + uchar OccupancyLayer[80400]; // 0x0039ED00 length: 80400 + short CertainPathLayer[80400]; // 0x003B2710 length: 160800 + short WalkLayer[80400]; // 0x003D9B30 length: 160800 + byte AIZoneLayer[80400]; // 0x00400F50 length: 80400 + uchar AIInfoLayer[80400]; // 0x00414960 length: 80400 + uchar unitDeathHeatMap[80400]; // 0x00428370 length: 80400 + uchar SEC_TileMap1104[80400]; // 0x0043BD80 length: 80400 + uchar SEC_PathfindingCostTileMap1105[9][80400]; // 0x0044F790 length: 723600 + undefined4 someIndex; // 0x00500220 length: 4 + undefined4 someLimit; // 0x00500224 length: 4 + undefined4 someYLike; // 0x00500228 length: 4 + undefined4 someYLikeLimit; // 0x0050022C length: 4 + byte mapping40x40[40][40]; // 0x00500230 length: 1600 + Moat SEC_MoatArray[16000]; // 0x00500870 length: 256000 + undefined4 maxMoatsCount; // 0x0053F070 length: 4 + undefined4 moatTileCount; // 0x0053F074 length: 4 + undefined4 ALG_MoatXResult; // 0x0053F078 length: 4 + undefined4 ALG_MoatYResult; // 0x0053F07C length: 4 + int someMoatTile; // 0x0053F080 length: 4 + PitchDitch SEC_PitchDitches[4000]; // 0x0053F084 length: 80000 + undefined4 maxPitchDitchCount; // 0x00552904 length: 4 + undefined1 padding_0x552908[4]; // 0x00552908 length: 4 + short specialAreasArray[8]; // 0x0055290C length: 16 + undefined4 field58_0x55291c; // 0x0055291C length: 4 + undefined4 SEC_Section1052; // 0x00552920 length: 4 + undefined4 SEC_Section1053; // 0x00552924 length: 4 + undefined4 SEC_Section1054; // 0x00552928 length: 4 + int DAT_TemporaryTerrainTypeArray[1000]; // 0x0055292C length: 4000 + int DAT_TemporaryTerrainTypeBinaryArray[1000]; // 0x005538CC length: 4000 + undefined4 forceUpdateLogicalAndMiscDisplayLayers; // 0x0055486C length: 4 + undefined4 forceUpdateTextureTilemap; // 0x00554870 length: 4 + undefined4 forceUpdateGFXLayers; // 0x00554874 length: 4 + undefined4 forceUpdateMacroLayerFlag; // 0x00554878 length: 4 + undefined4 field68_0x55487c; // 0x0055487C length: 4 + undefined1 padding_0x554880[8]; // 0x00554880 length: 8 + undefined4 DAT_PlacedBuildingID; // 0x00554888 length: 4 + undefined4 field78_0x55488c; // 0x0055488C length: 4 + undefined4 rockOrientation; // 0x00554890 length: 4 + undefined4 field80_0x554894; // 0x00554894 length: 4 + undefined4 lastTime; // 0x00554898 length: 4 + int SEC_MapOrientation; // 0x0055489C length: 4 + undefined4 DAT_FutureMapOrientation; // 0x005548A0 length: 4 + undefined4 field84_0x5548a4; // 0x005548A4 length: 4 + undefined4 field85_0x5548a8; // 0x005548A8 length: 4 + undefined4 field86_0x5548ac; // 0x005548AC length: 4 + undefined4 field87_0x5548b0; // 0x005548B0 length: 4 + undefined4 field88_0x5548b4; // 0x005548B4 length: 4 + undefined4 refreshCertainTileMap; // 0x005548B8 length: 4 + undefined4 refreshCertainTileMap_old; // 0x005548BC length: 4 + undefined4 counter1; // 0x005548C0 length: 4 + undefined4 refreshRelatedOne; // 0x005548C4 length: 4 + undefined4 field93_0x5548c8; // 0x005548C8 length: 4 + undefined4 flatViewToggleValue1; // 0x005548CC length: 4 + undefined1 padding_0x5548d0[4]; // 0x005548D0 length: 4 + undefined4 flatViewToggleValue2; // 0x005548D4 length: 4 + undefined4 refreshRelatedTwo; // 0x005548D8 length: 4 + undefined4 field101_0x5548dc; // 0x005548DC length: 4 + undefined4 editorActiveBrush; // 0x005548E0 length: 4 + CommandBuildingTypeInt currentMapperCommand; // 0x005548E4 length: 4 + undefined4 DAT_BuildingSize; // 0x005548E8 length: 4 + undefined4 field105_0x5548ec; // 0x005548EC length: 4 + BOOLEnum mapperMax; // 0x005548F0 length: 4 + undefined4 rockFlagStartNumber; // 0x005548F4 length: 4 + undefined4 unknownBrushRelated; // 0x005548F8 length: 4 + undefined4 unknownZero_0x5548fc; // 0x005548FC length: 4 + undefined4 unknownZero_0x554900; // 0x00554900 length: 4 + undefined4 unknownZero_0x554904; // 0x00554904 length: 4 + undefined4 field112_0x554908; // 0x00554908 length: 4 + undefined4 dragStartX; // 0x0055490C length: 4 + undefined4 dragStartY; // 0x00554910 length: 4 + undefined4 dragEndX; // 0x00554914 length: 4 + undefined4 dragEndY; // 0x00554918 length: 4 + BOOLEnum illegalBuild; // 0x0055491C length: 4 + undefined4 field118_0x554920; // 0x00554920 length: 4 + undefined4 field119_0x554924; // 0x00554924 length: 4 + undefined4 DAT_ClickedTileX; // 0x00554928 length: 4 + undefined4 DAT_ClickedTileY; // 0x0055492C length: 4 + undefined4 field122_0x554930; // 0x00554930 length: 4 + BOOLEnum buildingPlacementFail; // 0x00554934 length: 4 + BuildingFailReasonEnumInt buildingPlacementFailReason; // 0x00554938 length: 4 + undefined4 placementWarning; // 0x0055493C length: 4 + undefined4 DAT_UIBuildingRotation; // 0x00554940 length: 4 + undefined4 field127_0x554944; // 0x00554944 length: 4 + undefined4 buildingSpriteSheetID_1; // 0x00554948 length: 4 + undefined4 buildingSpriteID1; // 0x0055494C length: 4 + undefined4 buildingSpriteID2; // 0x00554950 length: 4 + undefined4 field131_0x554954; // 0x00554954 length: 4 + undefined4 buildingHeightLimit; // 0x00554958 length: 4 + undefined4 buildingMinHeight; // 0x0055495C length: 4 + undefined4 buildingMaxHeight; // 0x00554960 length: 4 + undefined4 buildingMaxHeightDifference; // 0x00554964 length: 4 + undefined4 buildingPlacementProperty_3; // 0x00554968 length: 4 + undefined4 buildingPlacementProperty_4; // 0x0055496C length: 4 + undefined4 buildingPlacementProperty_5; // 0x00554970 length: 4 + undefined4 buildingPlacementProperty_6; // 0x00554974 length: 4 + undefined4 buildingPlacementProperty_7; // 0x00554978 length: 4 + undefined1 padding_0x55497c[4]; // 0x0055497C length: 4 + undefined4 field145_0x554980; // 0x00554980 length: 4 + int constructionTileCount; // 0x00554984 length: 4 + int DAT_WallTileCountCurrentDrag; // 0x00554988 length: 4 + undefined4 buildingX; // 0x0055498C length: 4 + undefined4 buildingY; // 0x00554990 length: 4 + undefined4 buildingRotationRelatedValue; // 0x00554994 length: 4 + undefined4 field151_0x554998; // 0x00554998 length: 4 + undefined4 field152_0x55499c; // 0x0055499C length: 4 + undefined4 field153_0x5549a0; // 0x005549A0 length: 4 + int showNoRubbleWhenDestroyingBuilding; // 0x005549A4 length: 4 + undefined4 field155_0x5549a8; // 0x005549A8 length: 4 + undefined4 field156_0x5549ac; // 0x005549AC length: 4 + undefined4 wallPlacementCost; // 0x005549B0 length: 4 + undefined4 DAT_TempBuildingRotation; // 0x005549B4 length: 4 + int field159_0x5549b8; // 0x005549B8 length: 4 + undefined4 unknownTime_0x5549bc; // 0x005549BC length: 4 + undefined4 field161_0x5549c0; // 0x005549C0 length: 4 + undefined4 field162_0x5549c4; // 0x005549C4 length: 4 + undefined4 field163_0x5549c8; // 0x005549C8 length: 4 + undefined4 field164_0x5549cc; // 0x005549CC length: 4 + undefined4 field165_0x5549d0; // 0x005549D0 length: 4 + undefined4 DAT_SelectionIconType; // 0x005549D4 length: 4 + undefined4 field167_0x5549d8; // 0x005549D8 length: 4 + undefined1 padding_0x5549dc[8]; // 0x005549DC length: 8 + int shiftRelated0or3; // 0x005549E4 length: 4 + undefined4 field177_0x5549e8; // 0x005549E8 length: 4 + undefined4 field178_0x5549ec; // 0x005549EC length: 4 + undefined4 field179_0x5549f0; // 0x005549F0 length: 4 + undefined4 field180_0x5549f4; // 0x005549F4 length: 4 + undefined4 uiSelectedUnitIDUnk; // 0x005549F8 length: 4 + undefined4 DAT_SomeUNitUIDUIRelated; // 0x005549FC length: 4 + undefined4 field183_0x554a00; // 0x00554A00 length: 4 + undefined4 field184_0x554a04; // 0x00554A04 length: 4 + undefined4 field185_0x554a08; // 0x00554A08 length: 4 + undefined4 mapSize; // 0x00554A0C length: 4 + undefined4 field187_0x554a10; // 0x00554A10 length: 4 + undefined4 field188_0x554a14; // 0x00554A14 length: 4 + undefined1 padding_0x554a18[4]; // 0x00554A18 length: 4 + undefined4 field193_0x554a1c; // 0x00554A1C length: 4 + undefined4 field194_0x554a20; // 0x00554A20 length: 4 + undefined4 field195_0x554a24; // 0x00554A24 length: 4 + undefined1 padding_0x554a28[8]; // 0x00554A28 length: 8 + int field204_0x554a30; // 0x00554A30 length: 4 + undefined4 DAT_SomeX; // 0x00554A34 length: 4 + undefined4 DAT_SomeY; // 0x00554A38 length: 4 + undefined4 DAT_SomeTile; // 0x00554A3C length: 4 + undefined1 bitFlag; // 0x00554A40 length: 1 + undefined1 padding_0x554a41[3]; // 0x00554A41 length: 3 + undefined4 DAT_CardinalTilesAroundTile; // 0x00554A44 length: 4 + undefined4 field213_0x554a48; // 0x00554A48 length: 4 + undefined1 padding_0x554a4c[4]; // 0x00554A4C length: 4 + undefined2 field218_0x554a50; // 0x00554A50 length: 2 + undefined1 padding_0x554a52[6]; // 0x00554A52 length: 6 + pointer* ptr_LogicLayer; // 0x00554A58 length: 4 + pointer* ptr_TerrainTypeTileMap; // 0x00554A5C length: 4 + pointer* ptr_TerrainHeightTileMap; // 0x00554A60 length: 4 + pointer* ptr_ChangedLayer; // 0x00554A64 length: 4 + pointer* ptr_MovementDirectionTranslationMatrix; // 0x00554A68 length: 4 + pointer* ptr_OccupancyLayer; // 0x00554A6C length: 4 + pointer* ptr_DamageLayer; // 0x00554A70 length: 4 + pointer* ptr_PathConnectionLayer; // 0x00554A74 length: 4 + pointer* ptr_AIZoneLayer; // 0x00554A78 length: 4 + pointer* ptr_SpecialAreasArray; // 0x00554A7C length: 4 + pointer* ptr_MiscDisplayLayer; // 0x00554A80 length: 4 + undefined1 padding_0x554a84[4]; // 0x00554A84 length: 4 + + private: + TileMapState(TileMapState const&); + void operator=(TileMapState const&); + + TileMapState(); + ~TileMapState(); + + public: + // Constructor + TileMapState* Constructor_TileMapState(); + + void processEntityDamageToBuildingCollateralThunk( + undefined4 tile, undefined4 x_2, undefined4 y_2, undefined4 damage, undefined4 playerID, undefined4 unused); + + void processDamageToBuildingThunk(undefined4 targetedTile, undefined4 targetedTileX, undefined4 targetedTileY, + undefined4 damage, undefined4 param_5, undefined4 playerID, BOOLEnum aiBuildDelayRelated); + + void setChangedLayerToThreeAndMapping0x40x40(); + + void setupMovementDirectionTranslationMatrix(); + + void setupLogicalMapBorders(); + + void resetHeightAndMapBorders(int mapSize); + + void setMapSize(int size); + + void triggerLoweredView(int param_1); + + void toggleFlatView(int param_1); + + void setMapRotation(undefined4 newRotation); + + void updateLogicalTileMapRelatedSections(); + + void meth_0x4f7a80(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); + + uint getBuildingHurtSFXID(int buildingID); + + void rotateFearFactorBuildingVariations(); + + void countPropertyInSurroundingTiles(int tile, int param_2, uint param_3); + + undefined4 meth_0x4f85b0(int param_1, int param_2); + + undefined4 meth_0x4f8640(int param_1, int param_2); + + uint meth_0x4f86d0(int param_1, int param_2, int param_3); + + uint meth_0x4f8780(int param_1, int param_2, int param_3); + + undefined4 meth_0x4f8840(int param_1, int param_2, int param_3); + + undefined4 meth_0x4f8900(int param_1, int param_2); + + uint meth_0x4f89c0(int param_1, int param_2, int param_3); + + uint meth_0x4f8a40(int param_1, int param_2, int param_3); + + uint meth_0x4f8ac0(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 meth_0x4f9000(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, CommandBuildingTypeInt param_4); + + void setupBuildingSizeIndexMappingForBuildingWithSize(int buildingSize); + + void getBuildingSizeIndexMappingData(int buildingSizeTileIndex, int buildingWidthOrHeight); + + BOOLEnum indexIsEdgeUnk(int counter, int size); + + void storeMinAndMaxHeightOfArea(uint x, uint y, int buildingWidthAndHeight); + + int isBuildingPlacementAllowedAtTile( + int tile, int playerID, CommandBuildingTypeInt commandBuildingType, int param_4); + + void meth_0x4f9df0(int param_1, int param_2, int param_3); + + void spawnEraserEntityEffectsUnk(undefined4 param_1, int param_2); + + void meth_0x4fa000(int param_1, int param_2); + + void checkDrawbridgePlacement(int x, int y); + + undefined4 meth_0x4fa460(int param_1); + + undefined4 getBuildingSizeForCommandBuildingType(CommandBuildingTypeInt commandBuildingType); + + void meth_0x4fa760(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 updateAreaBasedOnSurrounding(int x, int y, int buildingSize); + + void meth_0x4faab0(int param_1, int param_2); + + void meth_0x4fab70(int x, int y, int size); + + void meth_0x4fac70(int x, int y, int param_3); + + void meth_0x4fad20(int param_1, int param_2, int param_3); + + void meth_0x4fad70(int x, int y, int param_3); + + void meth_0x4fae50(int param_1, int param_2); + + undefined4 meth_0x4faee0(int param_1); + + void meth_0x4faf70(int param_1, int param_2); + + void meth_0x4fb0c0(int buildingID); + + void meth_0x4fb360(int buildingID, int param_2); + + void FUN_004fb3f0(int x, int y, int type); + + void placeRock(uint x, uint y, uint param_3); + + void meth_0x4fb770(int rockID); + + void meth_0x4fb8e0(int param_1); + + void meth_0x4fb970(int param_1); + + void meth_0x4fb9e0(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); + + void meth_0x4fc0b0(int param_1, int param_2, int param_3); + + void meth_0x4fc280(int param_1, int param_2, int param_3); + + void meth_0x4fc340(); + + void generateDustClouds(); + + int meth_0x4fc650(uint param_1); + + BOOLEnum meth_0x4fc7c0(int param_1, undefined4 param_2, int param_3); + + void meth_0x4fc810(int param_1, uint param_2, uint param_3); + + void updateGFXLayers(); + + void updateMacroLayerRelated(uint param_1, uint param_2, int param_3); + + void updateMacroLayerRelated2(); + + byte setBitFlagBasedOnWallTowerGatehouseOrKeep(int x, int y); + + uint returnSomeHeight(int tile, int param_2); + + uint getTotalHeightAtTile(int tile); + + int getTotalHeightAt(int tile, int playerID); + + uint getHeightAtTileIncludingOwnersBuildings(int tile, int playerID); + + void recountTotalOwnedMoats(); + + void scanMoatsInGroupsOfThreeUnk(); + + int countUnfinishedMoatUnk(int playerID); + + int getUnownedMoatCount(); + + int returnOwnedMoatAtTile(int targetedTile); + + void clearMoatFromMemory(uint param_1); + + void clearMoat(int x, int y); + + BOOLEnum findTileInSameAreaAndNoTooHeightDifference(int area, int tile, int yUnk); + + int setXYBasedOnMoatID(int tile, int param_2, uint x, uint y); + + undefined4 meth_0x500500(int moatID); + + void clearMoatIfUnk(int tile); + + void moatRelatedUpdateFunction(); + + void meth_0x500680(); + + void meth_0x5006c0(); + + void meth_0x500720(int param_1, undefined4 param_2); + + void meth_0x500750(int param_1, undefined4 param_2); + + void swapMoatOwnership(int param_1, int param_2); + + void meth_0x5007d0(); + + int countPitchDitchesWithPlayerID0(); + + int getPitchDitchIDForTile(int tile); + + void destroyPitchDitch(int pitchDitchID); + + void swapPitchOwnership(int param_1, int param_2); + + undefined4 meth_0x500980(uint x1, uint y1, uint x2, uint y2); + + int meth_0x500b50(int param_1, int param_2, uint param_3); + + void campaignRelatedNumber(); + + void spreadAlgorithmForFlagsAndBraziers2Unk(int param_1, uint param_2, uint param_3); + + void spreadAlgorithmForFlagsAndBraziersUnk(int playerID, uint x, uint y); + + void clearAndSetTileMapUnknown2Plus(); + + void meth_0x5017c0(uint param_1, uint param_2, int param_3); + + void updateShowHiLayerOrResetChangedLayer(); + + void changeMapOrientationUnk(int mapOrientation); + + void increaseHeightForTunnelWithBrush(int tile, uint x, uint y, int increment); + + void raiseLand(int tile, uint y, uint brush, int change); + + void createPlateau(int tile, uint the_y, int param_3, int plateauHeightSetting); + + void useBrush2(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); + + void useBrush3(int param_1, uint param_2, uint param_3, undefined4 param_4); + + byte meth_0x502950(int param_1, uint param_2); + + void checkWhetherThisWallBuildIsAllowed(int playerID, uint x1, uint y1, uint x2, uint y2, undefined4 command); + + void placeWalls( + int playerID, uint x1, uint y1, uint x2, uint y2, CommandBuildingTypeInt wallType, int tileCountUnk); + + void placeDefensiveStructurePart2Unk(int param_1, uint x, uint y, CommandBuildingTypeInt param_4); + + void setupBuildingSizeIndexMapping(); + + void checkBuildingCanBePlacedHere(int playerID, uint x, uint y__fertileLandCount, + CommandBuildingTypeShort commandBuildingType, int buildingSize); + + void meth_0x504a30(int playerID, uint x, uint y); + + void meth_0x504ee0(int param_1, int param_2); + + int setConstructionGFXLayerBasedOnPlacementChecks(int x, int y, CommandBuildingTypeInt type, int size); + + void updateBuildingGraphicsLayer(int buildingID); + + void someUpdatePathLinkageRelatedCall(int buildingID); + + void placeWorkshopOrHovel( + int playerID, uint x, uint y, BuildingTypeInt type, uint size, int orientation, undefined4 averageHeight); + + 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( + int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); + + void placePositiveFearfactor(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 meth_0x507060(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( + int param_1, uint param_2, uint param_3, undefined4 param_4, uint size, int param_6, undefined4 param_7); + + void upgradeTowerLogicLayer(int param_1); + + void meth_0x507350(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); + + void placeGatehouseLarge( + int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); + + void placeBarracks(int playerID, uint xPosition, int* yPosition_param, undefined4 buildingType, + uint buildingSize, int buildingOrientation, undefined4 param_7); + + void placeEngineersguild( + int param_1, int* param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); + + void placeTunnelersguild( + int param_1, int* param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); + + void placeOilsmelter( + int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, undefined4 param_7); + + void placeQuarry(int playerID, uint x, uint y, undefined4 buildingType, uint buildingSize, + int buildingOrientation, uint heightUnk); + + 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 meth_0x508870(int param_1, int param_2); + + void meth_0x508910(int param_1); + + void renderPreviewMapperWithBrush(uint x, uint y, CommandBuildingTypeInt param_3); + + void applyTreeToLogicalLayer(int treeID, int param_2); + + void meth_0x508ec0(uint param_1, uint param_2, uint param_3); + + void updateTextureTilemap(); + + void updateMacroLayer(); + + int createMoat(undefined4 playerID, uint x, uint y, int param_4); + + BOOLEnum findNearestFriendlyMoatTileForDigging(int playerID, int unitID, int number); + + undefined4 removeMoat(uint moatID); + + void updatePitchDitches(); + + int placePitchDitch(undefined4 playerID, uint x, uint y); + + void updateGameRelatedValue(); + + void upgradeMapFormatLogicLayer( + PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + void setupTileMapSections(); + + void setupAllMapSections(); + + void prepareMap(); + + void resetAreaBasedOnLogicalLayer(); + + void processMapOrientationChange(); + + void setTerrain(int playerID, int tile, uint yParam, uint brushType, Logic1Int flags1, Logic2Int flags2); + + void placeMoat(undefined4 playerID, int tile, uint tileY); + + void placeKillingPit( + int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int param_6, int param_7); + + void placeKeep(int playerID, uint x, uint y, BuildingTypeInt type, uint size, int orientation, int xyValue); + + void placeDrawbridge(int param_1, uint param_2, uint param_3, undefined4 param_4, uint param_5, int* param_6, + undefined4 param_7); + + void placeWheatfarm(int param_1, uint param_2, uint param_3, undefined4 param_4, undefined4 param_5, + int param_6, undefined4 param_7); + + void placeHopfarm( + int param_1, uint param_2, uint param_3, undefined4 param_4, undefined4 param_5, int param_6, int param_7); + + void placeDairyfarm(int param_1, uint param_2, uint param_3, undefined4 param_4, undefined4 param_5, + int* param_6, undefined4 param_7); + + void placeApplefarm( + int playerID, uint x, uint y, BuildingTypeInt buildingType, undefined4 param_5, int param_6, int* param_7); + + void clearBuildingFromTerrain(int buildingID); + + void createMoatSize5Unk(int param_1); + + void placeTree(uint x, uint y, undefined4 treeType); + + BOOLEnum prepareAreaForBuildingPlacement( + int playerID, uint x, uint y, CommandBuildingTypeInt commandBuildingType, int buildingWidthOrHeight); + + void placeBuilding( + PlayerID playerID, int x, int y, CommandBuildingTypeInt cbt, int buildingSize, int buildingOrientation); + + uint processDamageToBuilding(int tile, uint xPosition, uint yPosition, int damageUnk, int param_5, int playerID, + BOOLEnum aiBuildDelayRelated, int unitID); + + void processEntityDamageToBuildingCollateral( + int tile, uint x_2, uint y_2, int damage, int playerID, undefined4 unused, int unitID); + }; + + static_assert_cpp98_obj(sizeof(TileMapState) == 5589640, TileMapState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(TileMapState, false, Address::SHC_3BB0A8C1_0x01A93208) pDAT_TileMapState; + +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Trees.func.hpp b/src/OpenSHC/Map/Trees.func.hpp new file mode 100644 index 0000000..e77995a --- /dev/null +++ b/src/OpenSHC/Map/Trees.func.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Trees.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Trees.hpp" +namespace OpenSHC { +namespace Map { + namespace Trees_Func { + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2380, &OpenSHC::Map::Trees::UpdateTree1) + UpdateTree1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2640, &OpenSHC::Map::Trees::UpdateTree5) + UpdateTree5; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F26C0, &OpenSHC::Map::Trees::UpdateAppleTree) + UpdateAppleTree; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F28F0, &OpenSHC::Map::Trees::UpdateTree16) + UpdateTree16; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2920, &OpenSHC::Map::Trees::UpdateTree17) + UpdateTree17; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F2970, &OpenSHC::Map::Trees::UpdateTree18) + UpdateTree18; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F29C0, &OpenSHC::Map::Trees::UpdateTree19) + UpdateTree19; + + } // namespace Trees_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Trees.hpp b/src/OpenSHC/Map/Trees.hpp new file mode 100644 index 0000000..958ece5 --- /dev/null +++ b/src/OpenSHC/Map/Trees.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Trees.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Trees { + + void __stdcall UpdateTree1(); + + void __stdcall UpdateTree5(); + + void __stdcall UpdateAppleTree(); + + void __stdcall UpdateTree16(); + + void __stdcall UpdateTree17(); + + void __stdcall UpdateTree18(); + + void __stdcall UpdateTree19(); + + } // namespace Trees +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Trees/Tree.hpp b/src/OpenSHC/Map/Trees/Tree.hpp new file mode 100644 index 0000000..2368559 --- /dev/null +++ b/src/OpenSHC/Map/Trees/Tree.hpp @@ -0,0 +1,75 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Trees/Tree.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Trees/TreeTypeShort.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Trees { + + using OpenSHC::Map::Trees::TreeTypeShort; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x0000009C + typedef struct Tree { + + int animationFrameUnk; // 0x00000000 length: 4 + short treeTypeBasedValue1; // 0x00000004 length: 2 + undefined1 padding_0x6[2]; // 0x00000006 length: 2 + int appleTreeColorVariation; // 0x00000008 length: 4 + short gmOriginX; // 0x0000000C length: 2 + short gmOriginY; // 0x0000000E length: 2 + int treeTypeRelated2; // 0x00000010 length: 4 + dword field8_0x14; // 0x00000014 length: 4 + int zero; // 0x00000018 length: 4 + short animationFrameIndex; // 0x0000001C length: 2 + undefined1 padding_0x1e[26]; // 0x0000001E length: 26 + BOOLEnum flag; // 0x00000038 length: 4 + int animationFrame2Unk; // 0x0000003C length: 4 + undefined1 padding_0x40[4]; // 0x00000040 length: 4 + short state; // 0x00000044 length: 2 + TreeTypeShort treeType; // 0x00000046 length: 2 + undefined1 padding_0x48[4]; // 0x00000048 length: 4 + int uid; // 0x0000004C length: 4 + undefined1 padding_0x50[12]; // 0x00000050 length: 12 + short microX; // 0x0000005C length: 2 + short microY; // 0x0000005E length: 2 + undefined1 padding_0x60[2]; // 0x00000060 length: 2 + ushort xPosition; // 0x00000062 length: 2 + ushort yPosition; // 0x00000064 length: 2 + undefined1 padding_0x66[2]; // 0x00000066 length: 2 + uint tile; // 0x00000068 length: 4 + short size; // 0x0000006C length: 2 + short param_6; // 0x0000006E length: 2 + undefined1 padding_0x70[2]; // 0x00000070 length: 2 + undefined2 stageRelated1; // 0x00000072 length: 2 + undefined2 stageRelated2; // 0x00000074 length: 2 + short zeroUpTo2; // 0x00000076 length: 2 + undefined2 stageRelatedVisual3; // 0x00000078 length: 2 + undefined2 stageRelated4; // 0x0000007A length: 2 + short one; // 0x0000007C length: 2 + undefined1 padding_0x7e[2]; // 0x0000007E length: 2 + int stage; // 0x00000080 length: 4 + int stageTracker; // 0x00000084 length: 4 + int rng1; // 0x00000088 length: 4 + short appleFarmID; // 0x0000008C length: 2 + undefined1 padding_0x8e[2]; // 0x0000008E length: 2 + int appleFarmUID; // 0x00000090 length: 4 + short unknownDistanceRelatedToCrow; // 0x00000094 length: 2 + short rng200till300; // 0x00000096 length: 2 + short field92_0x98; // 0x00000098 length: 2 + short igniterPlayer; // 0x0000009A length: 2 + + } Tree; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Tree) == 156, Tree); + } // namespace Trees +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Trees/TreeType.hpp b/src/OpenSHC/Map/Trees/TreeType.hpp new file mode 100644 index 0000000..ff840fa --- /dev/null +++ b/src/OpenSHC/Map/Trees/TreeType.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Trees/TreeType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Trees { + typedef enum TreeType { + + TT_DEFAULT = 0, // 0x00000000 + TT_APPLEUnk = 15 // 0x0000000F + + } TreeType; + + static_assert_cpp98_obj(sizeof(TreeType) == 4, TreeType); + } // namespace Trees +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Trees/TreeTypeInt.hpp b/src/OpenSHC/Map/Trees/TreeTypeInt.hpp new file mode 100644 index 0000000..62eb1b2 --- /dev/null +++ b/src/OpenSHC/Map/Trees/TreeTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Trees/TreeTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Trees/TreeType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Trees { + typedef int TreeTypeInt; + + static_assert_cpp98_obj(sizeof(TreeTypeInt) == 4, TreeTypeInt); + } // namespace Trees +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Trees/TreeTypeShort.hpp b/src/OpenSHC/Map/Trees/TreeTypeShort.hpp new file mode 100644 index 0000000..e4d7170 --- /dev/null +++ b/src/OpenSHC/Map/Trees/TreeTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Trees/TreeTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Trees/TreeType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Trees { + typedef short TreeTypeShort; + + static_assert_cpp98_obj(sizeof(TreeTypeShort) == 2, TreeTypeShort); + } // namespace Trees +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units.func.hpp b/src/OpenSHC/Map/Units.func.hpp new file mode 100644 index 0000000..80fb9fc --- /dev/null +++ b/src/OpenSHC/Map/Units.func.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units.hpp" +namespace OpenSHC { +namespace Map { + namespace Units_Func { + + MACRO_FUNCTION_RESOLVER( + int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0051BE20, &OpenSHC::Map::Units::FUN_0051be20) + FUN_0051be20; + + } // namespace Units_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units.hpp b/src/OpenSHC/Map/Units.hpp new file mode 100644 index 0000000..05f7aab --- /dev/null +++ b/src/OpenSHC/Map/Units.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + + int __stdcall FUN_0051be20(); + + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Attack/TribeSizesPerTribeType.hpp b/src/OpenSHC/Map/Units/Attack/TribeSizesPerTribeType.hpp new file mode 100644 index 0000000..f05b842 --- /dev/null +++ b/src/OpenSHC/Map/Units/Attack/TribeSizesPerTribeType.hpp @@ -0,0 +1,65 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Attack/TribeSizesPerTribeType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Attack { + +#pragma pack(push, 1) + // SIZE: 0x000000A0 + typedef struct TribeSizesPerTribeType { + + int field0_0x0; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int aiTroops_T; // 0x00000008 length: 4 + int aiTroops_A; // 0x0000000C length: 4 + int aiTroops_L; // 0x00000010 length: 4 + int aiTroops_S; // 0x00000014 length: 4 + int aiTroops_P; // 0x00000018 length: 4 + int aiTroops_X; // 0x0000001C length: 4 + int aiTroops_S2; // 0x00000020 length: 4 + int aiTroops_M; // 0x00000024 length: 4 + int aiTroops_K; // 0x00000028 length: 4 + int aiTroops_E; // 0x0000002C length: 4 + int field12_0x30; // 0x00000030 length: 4 + int field13_0x34; // 0x00000034 length: 4 + int field14_0x38; // 0x00000038 length: 4 + int field15_0x3c; // 0x0000003C length: 4 + int field16_0x40; // 0x00000040 length: 4 + int field17_0x44; // 0x00000044 length: 4 + int field18_0x48; // 0x00000048 length: 4 + int field19_0x4c; // 0x0000004C length: 4 + int field20_0x50; // 0x00000050 length: 4 + int field21_0x54; // 0x00000054 length: 4 + int field22_0x58; // 0x00000058 length: 4 + int field23_0x5c; // 0x0000005C length: 4 + int field24_0x60; // 0x00000060 length: 4 + int field25_0x64; // 0x00000064 length: 4 + int field26_0x68; // 0x00000068 length: 4 + int field27_0x6c; // 0x0000006C length: 4 + int field28_0x70; // 0x00000070 length: 4 + int field29_0x74; // 0x00000074 length: 4 + int field30_0x78; // 0x00000078 length: 4 + int field31_0x7c; // 0x0000007C length: 4 + int field32_0x80; // 0x00000080 length: 4 + int field33_0x84; // 0x00000084 length: 4 + int field34_0x88; // 0x00000088 length: 4 + int field35_0x8c; // 0x0000008C length: 4 + int field36_0x90; // 0x00000090 length: 4 + int field37_0x94; // 0x00000094 length: 4 + int field38_0x98; // 0x00000098 length: 4 + int field39_0x9c; // 0x0000009C length: 4 + + } TribeSizesPerTribeType; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TribeSizesPerTribeType) == 160, TribeSizesPerTribeType); + } // namespace Attack + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Behavior/TargetingType.hpp b/src/OpenSHC/Map/Units/Behavior/TargetingType.hpp new file mode 100644 index 0000000..4cf9271 --- /dev/null +++ b/src/OpenSHC/Map/Units/Behavior/TargetingType.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Behavior/TargetingType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Behavior { + typedef enum TargetingType { + + TT_BUILDINGUnk = 9 // 0x00000009 + + } TargetingType; + + static_assert_cpp98_obj(sizeof(TargetingType) == 4, TargetingType); + } // namespace Behavior + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Behavior/TargetingTypeShort.hpp b/src/OpenSHC/Map/Units/Behavior/TargetingTypeShort.hpp new file mode 100644 index 0000000..374f383 --- /dev/null +++ b/src/OpenSHC/Map/Units/Behavior/TargetingTypeShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Behavior/TargetingTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Behavior/TargetingType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Behavior { + typedef short TargetingTypeShort; + + static_assert_cpp98_obj(sizeof(TargetingTypeShort) == 2, TargetingTypeShort); + } // namespace Behavior + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Behavior/UnitStanceEnum.hpp b/src/OpenSHC/Map/Units/Behavior/UnitStanceEnum.hpp new file mode 100644 index 0000000..08817cf --- /dev/null +++ b/src/OpenSHC/Map/Units/Behavior/UnitStanceEnum.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Behavior/UnitStanceEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Behavior { + typedef enum UnitStanceEnum { + + USE_STAND_GROUND = 0, // 0x00000000 + USE_DEFENSIVE = 1, // 0x00000001 + USE_AGGRESSIVE = 2 // 0x00000002 + + } UnitStanceEnum; + + static_assert_cpp98_obj(sizeof(UnitStanceEnum) == 4, UnitStanceEnum); + } // namespace Behavior + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp b/src/OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp new file mode 100644 index 0000000..14d0ba4 --- /dev/null +++ b/src/OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Behavior/UnitStanceEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Behavior { + typedef short UnitStanceEnumShort; + + static_assert_cpp98_obj(sizeof(UnitStanceEnumShort) == 2, UnitStanceEnumShort); + } // namespace Behavior + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Climbing/ClimbLogicDefinedData.hpp b/src/OpenSHC/Map/Units/Climbing/ClimbLogicDefinedData.hpp new file mode 100644 index 0000000..b6b2bf7 --- /dev/null +++ b/src/OpenSHC/Map/Units/Climbing/ClimbLogicDefinedData.hpp @@ -0,0 +1,44 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Climbing/ClimbLogicDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +#include "OpenSHC/Util/FunctionTypes/NoArgCallback.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Climbing { + + using OpenSHC::Map::Navigation::Algorithms::XYPair; + using OpenSHC::Util::FunctionTypes::NoArgCallback; + +#pragma pack(push, 1) + // SIZE: 0x000002BC + typedef struct ClimbLogicDefinedData { + + NoArgCallback* updateFunctions[10]; // 0x00000000 length: 40 + undefined1 padding_0x28[4]; // 0x00000028 length: 4 + int field5_0x2c[8]; // 0x0000002C length: 32 + int field6_0x4c[55]; // 0x0000004C length: 220 + undefined1 field7_0x128; // 0x00000128 length: 1 + undefined1 field8_0x129; // 0x00000129 length: 1 + undefined1 field9_0x12a; // 0x0000012A length: 1 + undefined1 field10_0x12b; // 0x0000012B length: 1 + byte DAT_BitFlagHelperForPathLinkage[8]; // 0x0000012C length: 8 + byte DAT_DirectionArray[8]; // 0x00000134 length: 8 + int field13_0x13c[8][3]; // 0x0000013C length: 96 + XYPair DAT_CardinalHorizontalFirstSearchOrder[4]; // 0x0000019C length: 32 + XYPair DAT_OrderedOrientationBasedCardinalDirectionList[8][4]; // 0x000001BC length: 256 + + } ClimbLogicDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ClimbLogicDefinedData) == 700, ClimbLogicDefinedData); + } // namespace Climbing + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/EngineerSiegeEngineMapping.hpp b/src/OpenSHC/Map/Units/EngineerSiegeEngineMapping.hpp new file mode 100644 index 0000000..5846997 --- /dev/null +++ b/src/OpenSHC/Map/Units/EngineerSiegeEngineMapping.hpp @@ -0,0 +1,35 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/EngineerSiegeEngineMapping.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Map/Buildings/BuildingTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Map::Buildings::BuildingTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct EngineerSiegeEngineMapping { + + int slot; // 0x00000000 length: 4 + UnitTypeInt unitType; // 0x00000004 length: 4 + BuildingTypeInt buildingType; // 0x00000008 length: 4 + CommandBuildingTypeInt commandBuildingType; // 0x0000000C length: 4 + + } EngineerSiegeEngineMapping; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(EngineerSiegeEngineMapping) == 16, EngineerSiegeEngineMapping); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/EuroRecruitableState.hpp b/src/OpenSHC/Map/Units/EuroRecruitableState.hpp new file mode 100644 index 0000000..e302e5d --- /dev/null +++ b/src/OpenSHC/Map/Units/EuroRecruitableState.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/EuroRecruitableState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef enum EuroRecruitableState { + + ERS_CAN_NOT_RECRUIT = 0, // 0x00000000 + ERS_CAN_RECRUITUnk = 1, // 0x00000001 + ERS_NOT_ALLOWED_TO_RECRUIT = 2, // 0x00000002 + ERS_UNABLE_BECAUSE_MAX_ARMY = 3, // 0x00000003 + ERS_UNABLE_MISSING_PEASANTS = 4, // 0x00000004 + ERS_UNABLE_MISSING_GOLD = 5, // 0x00000005 + ERS_UNABLE_MISSING_WEAPONSUnk = 6 // 0x00000006 + + } EuroRecruitableState; + + static_assert_cpp98_obj(sizeof(EuroRecruitableState) == 4, EuroRecruitableState); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/EuroRecruitableStateInt.hpp b/src/OpenSHC/Map/Units/EuroRecruitableStateInt.hpp new file mode 100644 index 0000000..464007d --- /dev/null +++ b/src/OpenSHC/Map/Units/EuroRecruitableStateInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/EuroRecruitableStateInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/EuroRecruitableState.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef int EuroRecruitableStateInt; + + static_assert_cpp98_obj(sizeof(EuroRecruitableStateInt) == 4, EuroRecruitableStateInt); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnum.hpp b/src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnum.hpp new file mode 100644 index 0000000..f088f72 --- /dev/null +++ b/src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnum.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Instructions { + typedef enum MatchSpeedInstructionEnum { + + MSIE_FREE_SPEEDS = -127, // 0x-000007F + MSIE_MATCH_SPEEDS = 1 // 0x00000001 + + } MatchSpeedInstructionEnum; + + static_assert_cpp98_obj(sizeof(MatchSpeedInstructionEnum) == 4, MatchSpeedInstructionEnum); + } // namespace Instructions + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp b/src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp new file mode 100644 index 0000000..097e1ba --- /dev/null +++ b/src/OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Instructions { + typedef int MatchSpeedInstructionEnumInt; + + static_assert_cpp98_obj(sizeof(MatchSpeedInstructionEnumInt) == 4, MatchSpeedInstructionEnumInt); + } // namespace Instructions + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnum.hpp b/src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnum.hpp new file mode 100644 index 0000000..149466e --- /dev/null +++ b/src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnum.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Instructions { + typedef enum UnitMatchSpeedEnum { + + UMSE_FREE_UNIT_SPEEDS = -255, // 0x-00000FF + UMSE_MATCH_UNIT_SPEEDS = 1 // 0x00000001 + + } UnitMatchSpeedEnum; + + static_assert_cpp98_obj(sizeof(UnitMatchSpeedEnum) == 4, UnitMatchSpeedEnum); + } // namespace Instructions + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp b/src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp new file mode 100644 index 0000000..394febc --- /dev/null +++ b/src/OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Instructions { + typedef int UnitMatchSpeedEnumInt; + + static_assert_cpp98_obj(sizeof(UnitMatchSpeedEnumInt) == 4, UnitMatchSpeedEnumInt); + } // namespace Instructions + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnum.hpp b/src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnum.hpp new file mode 100644 index 0000000..d771f0f --- /dev/null +++ b/src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnum.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Pathfinding/DestinationNeededEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Pathfinding { + typedef enum DestinationNeededEnum { + + DNE_DESTINATION_HAS_BEEN_SET = 0, // 0x00000000 + DNE_DESTINATION_NEEDED = 1, // 0x00000001 + DNE_FLETCHER_SPECIFIC_COUNTDOWN = 5, // 0x00000005 + DNE_OX_SPECIFIC_COUNTDOWN = 20 // 0x00000014 + + } DestinationNeededEnum; + + static_assert_cpp98_obj(sizeof(DestinationNeededEnum) == 4, DestinationNeededEnum); + } // namespace Pathfinding + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnumShort.hpp b/src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnumShort.hpp new file mode 100644 index 0000000..7b1bda0 --- /dev/null +++ b/src/OpenSHC/Map/Units/Pathfinding/DestinationNeededEnumShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Pathfinding/DestinationNeededEnumShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Pathfinding/DestinationNeededEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace Pathfinding { + typedef short DestinationNeededEnumShort; + + static_assert_cpp98_obj(sizeof(DestinationNeededEnumShort) == 2, DestinationNeededEnumShort); + } // namespace Pathfinding + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/SomeTribeBehaviorType.hpp b/src/OpenSHC/Map/Units/SomeTribeBehaviorType.hpp new file mode 100644 index 0000000..cda3cbe --- /dev/null +++ b/src/OpenSHC/Map/Units/SomeTribeBehaviorType.hpp @@ -0,0 +1,72 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/SomeTribeBehaviorType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef enum SomeTribeBehaviorType { + + STBT_1 = 1, // 0x00000001 + STBT_2 = 2, // 0x00000002 + STBT_3 = 3, // 0x00000003 + STBT_4 = 4, // 0x00000004 + STBT_5 = 5, // 0x00000005 + STBT_6 = 6, // 0x00000006 + STBT_7 = 7, // 0x00000007 + STBT_8 = 8, // 0x00000008 + STBT_0x3f2 = 1010, // 0x000003F2 + STBT_0x3f3 = 1011, // 0x000003F3 + STBT_0x3f4 = 1012, // 0x000003F4 + STBT_0x3f5 = 1013, // 0x000003F5 + STBT_0x3f6 = 1014, // 0x000003F6 + STBT_0x3f7 = 1015, // 0x000003F7 + STBT_0x3f8 = 1016, // 0x000003F8 + STBT_0x3f9 = 1017, // 0x000003F9 + STBT_0x3fa = 1018, // 0x000003FA + STBT_0x3fb = 1019, // 0x000003FB + STBT_0x3fc = 1020, // 0x000003FC + STBT_0x3fd = 1021, // 0x000003FD + STBT_0x3fe = 1022, // 0x000003FE + STBT_0x3ff = 1023, // 0x000003FF + STBT_0x400 = 1024, // 0x00000400 + STBT_0x401 = 1025, // 0x00000401 + STBT_0x402 = 1026, // 0x00000402 + STBT_0x403 = 1027, // 0x00000403 + STBT_0x404 = 1028, // 0x00000404 + STBT_0x405 = 1029, // 0x00000405 + STBT_0x406 = 1030, // 0x00000406 + STBT_0x407 = 1031, // 0x00000407 + STBT_0x408 = 1032, // 0x00000408 + STBT_0x409 = 1033, // 0x00000409 + STBT_0x40a = 1034, // 0x0000040A + STBT_0x40b = 1035, // 0x0000040B + STBT_0x40c = 1036, // 0x0000040C + STBT_0x40d = 1037, // 0x0000040D + STBT_0x40e = 1038, // 0x0000040E + STBT_0x40f = 1039, // 0x0000040F + STBT_0x410_SIEGE_EQUIPMENT_CONSTRUCTION = 1040, // 0x00000410 + STBT_0x411 = 1041, // 0x00000411 + STBT_0x412 = 1042, // 0x00000412 + STBT_0x413 = 1043, // 0x00000413 + STBT_0x414 = 1044, // 0x00000414 + STBT_0x415 = 1045, // 0x00000415 + STBT_0x416 = 1046, // 0x00000416 + STBT_0x417 = 1047, // 0x00000417 + STBT_0x418 = 1048, // 0x00000418 + STBT_0x419 = 1049, // 0x00000419 + STBT_0x41a = 1050, // 0x0000041A + STBT_0x41b = 1051, // 0x0000041B + STBT_0x41c = 1052, // 0x0000041C + STBT_0x41d = 1053, // 0x0000041D + STBT_0x41e = 1054 // 0x0000041E + + } SomeTribeBehaviorType; + + static_assert_cpp98_obj(sizeof(SomeTribeBehaviorType) == 4, SomeTribeBehaviorType); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp b/src/OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp new file mode 100644 index 0000000..5647aa5 --- /dev/null +++ b/src/OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/SomeTribeBehaviorType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef int SomeTribeBehaviorTypeInt; + + static_assert_cpp98_obj(sizeof(SomeTribeBehaviorTypeInt) == 4, SomeTribeBehaviorTypeInt); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp b/src/OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp new file mode 100644 index 0000000..7b44299 --- /dev/null +++ b/src/OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/SomeTribeBehaviorType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef short SomeTribeBehaviorTypeShort; + + static_assert_cpp98_obj(sizeof(SomeTribeBehaviorTypeShort) == 2, SomeTribeBehaviorTypeShort); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState.hpp b/src/OpenSHC/Map/Units/States/UnitState.hpp new file mode 100644 index 0000000..0410aff --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState.hpp @@ -0,0 +1,49 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState { + + US_DETERMINE_NEXT_STATEUnk = 0, // 0x00000000 + US_IDLEUnk = 1, // 0x00000001 + US_RELOAD_WEAPONUnk = 4, // 0x00000004 + US_AIM_WEAPONUnk = 5, // 0x00000005 + US_FIRE_WEAPONUnk = 6, // 0x00000006 + US_LOOK_AROUNDUnk = 7, // 0x00000007 + US_STAND_UPUnk = 8, // 0x00000008 + US_SIT_DOWNUnk = 11, // 0x0000000B + US_MOVE_TO_DESTINATION = 101, // 0x00000065 + US_MELEE_ATTACK = 106, // 0x0000006A + US_MELEE_ATTACK_WALL = 107, // 0x0000006B + US_JESTER_ROAM_TO = 109, // 0x0000006D + US_DISAPPEAR = 110, // 0x0000006E + US_DEATH_01 = 111, // 0x0000006F + US_DEATH_02 = 112, // 0x00000070 + US_DEATH_03 = 113, // 0x00000071 + US_STONE_DEATH_01 = 114, // 0x00000072 + US_STONE_DEATH_02 = 115, // 0x00000073 + US_STONE_DEATH_03 = 116, // 0x00000074 + US_APPEAR = 122, // 0x0000007A + US_DIG = 125, // 0x0000007D + US_ASSASSIN_THROWING_HOOK = 126, // 0x0000007E + US_ASSASSIN_CLIMBING_UP = 127, // 0x0000007F + US_ASSASSIN_START_CLIMBING_DOWN = 128, // 0x00000080 + US_ASSASSIN_CLIMBING_DOWN = 129, // 0x00000081 + UnitStateInt__US_APPLEFARMER_PLUCK_APPLES = 2, // 0x00000002 + UnitStateInt__US_Appear = 122, // 0x0000007A + UnitStateInt__US_Dig = 125 // 0x0000007D + + } UnitState; + + static_assert_cpp98_obj(sizeof(UnitState) == 4, UnitState); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitStateInt.hpp b/src/OpenSHC/Map/Units/States/UnitStateInt.hpp new file mode 100644 index 0000000..e1a3025 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitStateInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitStateInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef int UnitStateInt; + + static_assert_cpp98_obj(sizeof(UnitStateInt) == 4, UnitStateInt); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitStateShort.hpp b/src/OpenSHC/Map/Units/States/UnitStateShort.hpp new file mode 100644 index 0000000..ca0b5e5 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitStateShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitStateShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitStateShort; + + static_assert_cpp98_obj(sizeof(UnitStateShort) == 2, UnitStateShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitStateUnion.hpp b/src/OpenSHC/Map/Units/States/UnitStateUnion.hpp new file mode 100644 index 0000000..cf30758 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitStateUnion.hpp @@ -0,0 +1,75 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitStateUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitStateShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_AppleFarmerShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_ArabianArcherShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_DogUnitShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_FireThrowerShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_FletcherShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_HorseArcherShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_MillerShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_OxStateShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_PeasantShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_PitchManShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_QuarryMasonShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_SlingerUnitShort.hpp" +#include "OpenSHC/Map/Units/States/UnitState_TunnelerShort.hpp" +#include "OpenSHC/Map/Units/States/WheatFarmerStateEnumShort.hpp" +#include "OpenSHC/Map/Units/States/WoodcutterStateEnumShort.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + + using OpenSHC::Map::Units::States::UnitState_AppleFarmerShort; + using OpenSHC::Map::Units::States::UnitState_ArabianArcherShort; + using OpenSHC::Map::Units::States::UnitState_DogUnitShort; + using OpenSHC::Map::Units::States::UnitState_FireThrowerShort; + using OpenSHC::Map::Units::States::UnitState_FletcherShort; + using OpenSHC::Map::Units::States::UnitState_HorseArcherShort; + using OpenSHC::Map::Units::States::UnitState_MillerShort; + using OpenSHC::Map::Units::States::UnitState_OxStateShort; + using OpenSHC::Map::Units::States::UnitState_PeasantShort; + using OpenSHC::Map::Units::States::UnitState_PitchManShort; + using OpenSHC::Map::Units::States::UnitState_QuarryMasonShort; + using OpenSHC::Map::Units::States::UnitState_SlingerUnitShort; + using OpenSHC::Map::Units::States::UnitState_TunnelerShort; + using OpenSHC::Map::Units::States::UnitStateShort; + using OpenSHC::Map::Units::States::WheatFarmerStateEnumShort; + using OpenSHC::Map::Units::States::WoodcutterStateEnumShort; + +#pragma pack(push, 1) + // SIZE: 0x00000002 + typedef union UnitStateUnion { + + UnitStateShort generic; // 0x00000000 length: 2 + UnitState_DogUnitShort dog; // 0x00000000 length: 2 + UnitState_AppleFarmerShort appleFarmer; // 0x00000000 length: 2 + UnitState_SlingerUnitShort slinger; // 0x00000000 length: 2 + UnitState_OxStateShort ox; // 0x00000000 length: 2 + UnitState_ArabianArcherShort arabianArcher; // 0x00000000 length: 2 + UnitState_HorseArcherShort horseArcher; // 0x00000000 length: 2 + UnitState_FireThrowerShort fireThrower; // 0x00000000 length: 2 + UnitState_MillerShort miller; // 0x00000000 length: 2 + UnitState_PeasantShort peasant; // 0x00000000 length: 2 + WheatFarmerStateEnumShort wheatFarmer; // 0x00000000 length: 2 + UnitState_FletcherShort fletcher; // 0x00000000 length: 2 + WoodcutterStateEnumShort woodcutter; // 0x00000000 length: 2 + UnitState_TunnelerShort tunneler; // 0x00000000 length: 2 + UnitState_QuarryMasonShort quarryMason; // 0x00000000 length: 2 + UnitState_PitchManShort pitchMan; // 0x00000000 length: 2 + + } UnitStateUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitStateUnion) == 2, UnitStateUnion); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_AppleFarmer.hpp b/src/OpenSHC/Map/Units/States/UnitState_AppleFarmer.hpp new file mode 100644 index 0000000..333068d --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_AppleFarmer.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_AppleFarmer.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_AppleFarmer { + + USAF_DETERMINE_NEXT_STATE = 0, // 0x00000000 + USAF_CHECK_IDLE = 1, // 0x00000001 + USAF_START_TAKING_APPLES = 2, // 0x00000002 + USAF_PICKING_APPLES = 3, // 0x00000003 + USAF_WALKING = 4, // 0x00000004 + USAF_GOING_TO_WORKPLACE = 5, // 0x00000005 + USAF_WORKSHOP_TIMER_CHECK = 6, // 0x00000006 + USAF_TAKE_RESOURCE_TO_GRANARY = 7, // 0x00000007 + USAF_GATHER_APPLES = 8 // 0x00000008 + + } UnitState_AppleFarmer; + + static_assert_cpp98_obj(sizeof(UnitState_AppleFarmer) == 4, UnitState_AppleFarmer); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_AppleFarmerShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_AppleFarmerShort.hpp new file mode 100644 index 0000000..4aa1f56 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_AppleFarmerShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_AppleFarmerShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_AppleFarmer.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_AppleFarmerShort; + + static_assert_cpp98_obj(sizeof(UnitState_AppleFarmerShort) == 2, UnitState_AppleFarmerShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_ArabianArcher.hpp b/src/OpenSHC/Map/Units/States/UnitState_ArabianArcher.hpp new file mode 100644 index 0000000..ba9fb5e --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_ArabianArcher.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_ArabianArcher.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_ArabianArcher { + + USAA_IDLE = 11 // 0x0000000B + + } UnitState_ArabianArcher; + + static_assert_cpp98_obj(sizeof(UnitState_ArabianArcher) == 4, UnitState_ArabianArcher); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_ArabianArcherShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_ArabianArcherShort.hpp new file mode 100644 index 0000000..057fdc6 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_ArabianArcherShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_ArabianArcherShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_ArabianArcher.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_ArabianArcherShort; + + static_assert_cpp98_obj(sizeof(UnitState_ArabianArcherShort) == 2, UnitState_ArabianArcherShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_DogUnit.hpp b/src/OpenSHC/Map/Units/States/UnitState_DogUnit.hpp new file mode 100644 index 0000000..7feef95 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_DogUnit.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_DogUnit.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_DogUnit { + + USDU_FINDING_TARGET = 0, // 0x00000000 + USDU_WAITING_IN_CAGE = 210, // 0x000000D2 + USDU_ROAMING = 211 // 0x000000D3 + + } UnitState_DogUnit; + + static_assert_cpp98_obj(sizeof(UnitState_DogUnit) == 4, UnitState_DogUnit); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_DogUnitShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_DogUnitShort.hpp new file mode 100644 index 0000000..3386483 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_DogUnitShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_DogUnitShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_DogUnit.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_DogUnitShort; + + static_assert_cpp98_obj(sizeof(UnitState_DogUnitShort) == 2, UnitState_DogUnitShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_FireThrower.hpp b/src/OpenSHC/Map/Units/States/UnitState_FireThrower.hpp new file mode 100644 index 0000000..145201c --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_FireThrower.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_FireThrower.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_FireThrower { + + USFT_THROW_PREPARE = 4, // 0x00000004 + USFT_THROWING = 5, // 0x00000005 + USFT_THROWN = 6, // 0x00000006 + USFT_IDLE = 11 // 0x0000000B + + } UnitState_FireThrower; + + static_assert_cpp98_obj(sizeof(UnitState_FireThrower) == 4, UnitState_FireThrower); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_FireThrowerShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_FireThrowerShort.hpp new file mode 100644 index 0000000..c553c94 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_FireThrowerShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_FireThrowerShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_FireThrower.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_FireThrowerShort; + + static_assert_cpp98_obj(sizeof(UnitState_FireThrowerShort) == 2, UnitState_FireThrowerShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_Fletcher.hpp b/src/OpenSHC/Map/Units/States/UnitState_Fletcher.hpp new file mode 100644 index 0000000..04d60cf --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_Fletcher.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_Fletcher.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_Fletcher { + + USF_WAITING = 0, // 0x00000000 + USF_GOING_TO_GET_SUPPLIES = 1, // 0x00000001 + USF_RETURNING_WITH_SUPPLIES = 2, // 0x00000002 + USF_GOING_TO_WORKPLACE = 3, // 0x00000003 + USF_WORKING_4 = 4, // 0x00000004 + USF_WORKING_5 = 5, // 0x00000005 + USF_AWAITING_STORE_SPACE = 6, // 0x00000006 + USF_TAKING_GOODS_TO_STORE = 7, // 0x00000007 + USF_WAITING_OR_RESTING = 8, // 0x00000008 + USF_ATTACKING = 106 // 0x0000006A + + } UnitState_Fletcher; + + static_assert_cpp98_obj(sizeof(UnitState_Fletcher) == 4, UnitState_Fletcher); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_FletcherShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_FletcherShort.hpp new file mode 100644 index 0000000..3ab0ec3 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_FletcherShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_FletcherShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_Fletcher.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_FletcherShort; + + static_assert_cpp98_obj(sizeof(UnitState_FletcherShort) == 2, UnitState_FletcherShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_HorseArcher.hpp b/src/OpenSHC/Map/Units/States/UnitState_HorseArcher.hpp new file mode 100644 index 0000000..03e47dd --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_HorseArcher.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_HorseArcher.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_HorseArcher { + + USHA_IDLE = 1, // 0x00000001 + USHA_MOVE_TO_DESTINATION = 101, // 0x00000065 + USHA_MELEE = 106, // 0x0000006A + USHA_MELEE_ATTACK_BUILDING = 107 // 0x0000006B + + } UnitState_HorseArcher; + + static_assert_cpp98_obj(sizeof(UnitState_HorseArcher) == 4, UnitState_HorseArcher); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_HorseArcherShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_HorseArcherShort.hpp new file mode 100644 index 0000000..099eadc --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_HorseArcherShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_HorseArcherShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_HorseArcher.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_HorseArcherShort; + + static_assert_cpp98_obj(sizeof(UnitState_HorseArcherShort) == 2, UnitState_HorseArcherShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_Miller.hpp b/src/OpenSHC/Map/Units/States/UnitState_Miller.hpp new file mode 100644 index 0000000..1c096d7 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_Miller.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_Miller.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_Miller { + + USM_PICKING_UP_WHEAT = 3, // 0x00000003 + USM_RETURNING_WITH_WHEAT = 4, // 0x00000004 + USM_AWAITING_SPACE = 7, // 0x00000007 + USM_DEPOSITING_FLOUR = 8 // 0x00000008 + + } UnitState_Miller; + + static_assert_cpp98_obj(sizeof(UnitState_Miller) == 4, UnitState_Miller); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_MillerShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_MillerShort.hpp new file mode 100644 index 0000000..13efb03 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_MillerShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_MillerShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_Miller.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_MillerShort; + + static_assert_cpp98_obj(sizeof(UnitState_MillerShort) == 2, UnitState_MillerShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_OxState.hpp b/src/OpenSHC/Map/Units/States/UnitState_OxState.hpp new file mode 100644 index 0000000..68800c4 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_OxState.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_OxState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_OxState { + + USOS_RESET = 0, // 0x00000000 + USOS_FOLLOWING = 1, // 0x00000001 + USOS_GO_TO_STOCKPILE = 2, // 0x00000002 + USOS_GO_TO_QUARRY = 3 // 0x00000003 + + } UnitState_OxState; + + static_assert_cpp98_obj(sizeof(UnitState_OxState) == 4, UnitState_OxState); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_OxStateShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_OxStateShort.hpp new file mode 100644 index 0000000..dbe4ea8 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_OxStateShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_OxStateShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_OxState.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_OxStateShort; + + static_assert_cpp98_obj(sizeof(UnitState_OxStateShort) == 2, UnitState_OxStateShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_Peasant.hpp b/src/OpenSHC/Map/Units/States/UnitState_Peasant.hpp new file mode 100644 index 0000000..e661fac --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_Peasant.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_Peasant.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_Peasant { + + USP_SWEARING_LOYALTY = 5, // 0x00000005 + USP_CAMPFIRE_WAITING = 8 // 0x00000008 + + } UnitState_Peasant; + + static_assert_cpp98_obj(sizeof(UnitState_Peasant) == 4, UnitState_Peasant); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_PeasantInt.hpp b/src/OpenSHC/Map/Units/States/UnitState_PeasantInt.hpp new file mode 100644 index 0000000..1cfb2a9 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_PeasantInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_PeasantInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_Peasant.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef int UnitState_PeasantInt; + + static_assert_cpp98_obj(sizeof(UnitState_PeasantInt) == 4, UnitState_PeasantInt); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_PeasantShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_PeasantShort.hpp new file mode 100644 index 0000000..cc4f353 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_PeasantShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_PeasantShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_Peasant.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_PeasantShort; + + static_assert_cpp98_obj(sizeof(UnitState_PeasantShort) == 2, UnitState_PeasantShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_PitchMan.hpp b/src/OpenSHC/Map/Units/States/UnitState_PitchMan.hpp new file mode 100644 index 0000000..4f24bd7 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_PitchMan.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_PitchMan.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_PitchMan { + + USPM_WAITING = 0, // 0x00000000 + USPM_WORKING = 1, // 0x00000001 + USPM_AWAITING_STORE_SPACE = 2, // 0x00000002 + USPM_TAKING_GOODS_TO_STORE = 3, // 0x00000003 + USPM_GOING_TO_WORKPLACE = 4, // 0x00000004 + USPM_ATTACKING = 106 // 0x0000006A + + } UnitState_PitchMan; + + static_assert_cpp98_obj(sizeof(UnitState_PitchMan) == 4, UnitState_PitchMan); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_PitchManShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_PitchManShort.hpp new file mode 100644 index 0000000..d4bf13a --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_PitchManShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_PitchManShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_PitchMan.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_PitchManShort; + + static_assert_cpp98_obj(sizeof(UnitState_PitchManShort) == 2, UnitState_PitchManShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_QuarryMason.hpp b/src/OpenSHC/Map/Units/States/UnitState_QuarryMason.hpp new file mode 100644 index 0000000..49bd2c7 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_QuarryMason.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_QuarryMason.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_QuarryMason { + + USQM_WAITING = 0, // 0x00000000 + USQM_AWAITING_STORE_SPACE = 2, // 0x00000002 + USQM_ATTACKING = 106 // 0x0000006A + + } UnitState_QuarryMason; + + static_assert_cpp98_obj(sizeof(UnitState_QuarryMason) == 4, UnitState_QuarryMason); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_QuarryMasonShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_QuarryMasonShort.hpp new file mode 100644 index 0000000..4103c94 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_QuarryMasonShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_QuarryMasonShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_QuarryMason.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_QuarryMasonShort; + + static_assert_cpp98_obj(sizeof(UnitState_QuarryMasonShort) == 2, UnitState_QuarryMasonShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp b/src/OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp new file mode 100644 index 0000000..1b9faaa --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_SlingerUnit { + + USSU_SLINGERING = 5, // 0x00000005 + USSU_IDLE = 11 // 0x0000000B + + } UnitState_SlingerUnit; + + static_assert_cpp98_obj(sizeof(UnitState_SlingerUnit) == 4, UnitState_SlingerUnit); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_SlingerUnitInt.hpp b/src/OpenSHC/Map/Units/States/UnitState_SlingerUnitInt.hpp new file mode 100644 index 0000000..fac86d6 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_SlingerUnitInt.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_SlingerUnitInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef int UnitState_SlingerUnitInt; + + static_assert_cpp98_obj(sizeof(UnitState_SlingerUnitInt) == 4, UnitState_SlingerUnitInt); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_SlingerUnitShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_SlingerUnitShort.hpp new file mode 100644 index 0000000..ce77f90 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_SlingerUnitShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_SlingerUnitShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_SlingerUnit.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_SlingerUnitShort; + + static_assert_cpp98_obj(sizeof(UnitState_SlingerUnitShort) == 2, UnitState_SlingerUnitShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_Tunneler.hpp b/src/OpenSHC/Map/Units/States/UnitState_Tunneler.hpp new file mode 100644 index 0000000..208a806 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_Tunneler.hpp @@ -0,0 +1,32 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_Tunneler.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum UnitState_Tunneler { + + UST_WAITING_0 = 0, // 0x00000000 + UST_WAITING_1 = 1, // 0x00000001 + UST_WORKING_2 = 2, // 0x00000002 + UST_WORKING_3 = 3, // 0x00000003 + UST_WAITING_4 = 4, // 0x00000004 + UST_WAITING_5 = 5, // 0x00000005 + UST_WAITING_6 = 6, // 0x00000006 + UST_MOVING = 7, // 0x00000007 + UST_WORKING_8 = 8, // 0x00000008 + UST_WORKING_9 = 9, // 0x00000009 + UST_ATTACKING = 106 // 0x0000006A + + } UnitState_Tunneler; + + static_assert_cpp98_obj(sizeof(UnitState_Tunneler) == 4, UnitState_Tunneler); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/UnitState_TunnelerShort.hpp b/src/OpenSHC/Map/Units/States/UnitState_TunnelerShort.hpp new file mode 100644 index 0000000..bbbc28b --- /dev/null +++ b/src/OpenSHC/Map/Units/States/UnitState_TunnelerShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/UnitState_TunnelerShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/UnitState_Tunneler.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short UnitState_TunnelerShort; + + static_assert_cpp98_obj(sizeof(UnitState_TunnelerShort) == 2, UnitState_TunnelerShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/WheatFarmerStateEnum.hpp b/src/OpenSHC/Map/Units/States/WheatFarmerStateEnum.hpp new file mode 100644 index 0000000..f643d77 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/WheatFarmerStateEnum.hpp @@ -0,0 +1,33 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/WheatFarmerStateEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum WheatFarmerStateEnum { + + WFSE_WAITING_0 = 0, // 0x00000000 + WFSE_WAITING_1 = 1, // 0x00000001 + WFSE_GOING_TO_WORKPLACE = 2, // 0x00000002 + WFSE_WORKING_3 = 3, // 0x00000003 + WFSE_WORKING_4 = 4, // 0x00000004 + WFSE_WORKING_5 = 5, // 0x00000005 + WFSE_WORKING_6 = 6, // 0x00000006 + WFSE_WORKING_7 = 7, // 0x00000007 + WFSE_WORKING_8 = 8, // 0x00000008 + WFSE_AWAITING_STORE_SPACE = 9, // 0x00000009 + WFSE_TAKING_GOODS_TO_STORE = 10, // 0x0000000A + WFSE_ATTACKING = 106 // 0x0000006A + + } WheatFarmerStateEnum; + + static_assert_cpp98_obj(sizeof(WheatFarmerStateEnum) == 4, WheatFarmerStateEnum); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/WheatFarmerStateEnumShort.hpp b/src/OpenSHC/Map/Units/States/WheatFarmerStateEnumShort.hpp new file mode 100644 index 0000000..723c4ec --- /dev/null +++ b/src/OpenSHC/Map/Units/States/WheatFarmerStateEnumShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/WheatFarmerStateEnumShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/WheatFarmerStateEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short WheatFarmerStateEnumShort; + + static_assert_cpp98_obj(sizeof(WheatFarmerStateEnumShort) == 2, WheatFarmerStateEnumShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/WoodcutterStateEnum.hpp b/src/OpenSHC/Map/Units/States/WoodcutterStateEnum.hpp new file mode 100644 index 0000000..2bada47 --- /dev/null +++ b/src/OpenSHC/Map/Units/States/WoodcutterStateEnum.hpp @@ -0,0 +1,33 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/WoodcutterStateEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef enum WoodcutterStateEnum { + + WSE_WAITING = 0, // 0x00000000 + WSE_GOING_TO_CHOP_WOOD = 1, // 0x00000001 + WSE_FELLING_A_TREE = 2, // 0x00000002 + WSE_CHOPPING_A_TREE = 3, // 0x00000003 + WSE_RETURNING_WITH_LOG = 4, // 0x00000004 + WSE_WORKING_5 = 5, // 0x00000005 + WSE_WORKING_6 = 6, // 0x00000006 + WSE_AWAITING_STORE_SPACE = 7, // 0x00000007 + WSE_TAKING_GOODS_TO_STORE = 8, // 0x00000008 + WSE_GOING_TO_WORKPLACE = 9, // 0x00000009 + WSE_RESTING = 10, // 0x0000000A + WSE_ATTACKING = 106 // 0x0000006A + + } WoodcutterStateEnum; + + static_assert_cpp98_obj(sizeof(WoodcutterStateEnum) == 4, WoodcutterStateEnum); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/States/WoodcutterStateEnumShort.hpp b/src/OpenSHC/Map/Units/States/WoodcutterStateEnumShort.hpp new file mode 100644 index 0000000..88690cb --- /dev/null +++ b/src/OpenSHC/Map/Units/States/WoodcutterStateEnumShort.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/States/WoodcutterStateEnumShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/States/WoodcutterStateEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + namespace States { + typedef short WoodcutterStateEnumShort; + + static_assert_cpp98_obj(sizeof(WoodcutterStateEnumShort) == 2, WoodcutterStateEnumShort); + } // namespace States + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Tribe.hpp b/src/OpenSHC/Map/Units/Tribe.hpp new file mode 100644 index 0000000..27c4771 --- /dev/null +++ b/src/OpenSHC/Map/Units/Tribe.hpp @@ -0,0 +1,135 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Tribe.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AITribeTypeShort.hpp" +#include "OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp" +#include "OpenSHC/Map/Units/UnitTypeShort.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::AI::Tribes::AITribeTypeShort; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeShort; + using OpenSHC::Map::Units::UnitTypeShort; + using OpenSHC::Map::Units::Behavior::UnitStanceEnumShort; + +#pragma pack(push, 1) + // SIZE: 0x00000334 + typedef struct Tribe { + + undefined1 padding_0x0[2]; // 0x00000000 length: 2 + short time; // 0x00000002 length: 2 + int owner; // 0x00000004 length: 4 + undefined1 padding_0x8[4]; // 0x00000008 length: 4 + int uid; // 0x0000000C length: 4 + undefined1 padding_0x10[8]; // 0x00000010 length: 8 + short tribeState; // 0x00000018 length: 2 + AITribeTypeShort tribeType; // 0x0000001A length: 2 + short field19_0x1c; // 0x0000001C length: 2 + short field20_0x1e; // 0x0000001E length: 2 + short facingDirection_1; // 0x00000020 length: 2 + short facingDirection_2; // 0x00000022 length: 2 + short facingDirection_3; // 0x00000024 length: 2 + short field24_0x26; // 0x00000026 length: 2 + SomeTribeBehaviorTypeShort tribeBehaviorType; // 0x00000028 length: 2 + undefined1 padding_0x2a[2]; // 0x0000002A length: 2 + short someUpdateUpperLimit; // 0x0000002C length: 2 + short unknownAttackRelatedUpdateCounter; // 0x0000002E length: 2 + short field30_0x30; // 0x00000030 length: 2 + short selectionTargetUnitID; // 0x00000032 length: 2 + short size; // 0x00000034 length: 2 + short size2Unk; // 0x00000036 length: 2 + short unitSelectionBitMasked[200]; // 0x00000038 length: 400 + undefined1 padding_0x1c8[12]; // 0x000001C8 length: 12 + short someUnitArray[10]; // 0x000001D4 length: 20 + short countdown2; // 0x000001E8 length: 2 + undefined1 padding_0x1ea[6]; // 0x000001EA length: 6 + short freeUnitSpeeds; // 0x000001F0 length: 2 + short field56_0x1f2; // 0x000001F2 length: 2 + int uid2; // 0x000001F4 length: 4 + short tribeID; // 0x000001F8 length: 2 + short minimumMovementSpeed; // 0x000001FA length: 2 + short movementSpeed; // 0x000001FC length: 2 + short maximumMovementSpeed; // 0x000001FE length: 2 + short field62_0x200; // 0x00000200 length: 2 + short field63_0x202; // 0x00000202 length: 2 + short field64_0x204; // 0x00000204 length: 2 + short isRallyingUnk; // 0x00000206 length: 2 + short field66_0x208; // 0x00000208 length: 2 + short unitsHealthPercentage; // 0x0000020A length: 2 + short field68_0x20c; // 0x0000020C length: 2 + short targetX; // 0x0000020E length: 2 + short targetY; // 0x00000210 length: 2 + short field71_0x212; // 0x00000212 length: 2 + undefined1 padding_0x214[20]; // 0x00000214 length: 20 + UnitTypeShort unitType; // 0x00000228 length: 2 + short field93_0x22a; // 0x0000022A length: 2 + undefined1 padding_0x22c[12]; // 0x0000022C length: 12 + short rallyPointArray[9][2]; // 0x00000238 length: 36 + undefined1 padding_0x25c[4]; // 0x0000025C length: 4 + short currentRallyPointIndex; // 0x00000260 length: 2 + short rallyPointCount; // 0x00000262 length: 2 + undefined1 padding_0x264[20]; // 0x00000264 length: 20 + short field133_0x278; // 0x00000278 length: 2 + short field134_0x27a; // 0x0000027A length: 2 + short unkIsAnimalTribe; // 0x0000027C length: 2 + short field136_0x27e; // 0x0000027E length: 2 + short field137_0x280; // 0x00000280 length: 2 + short field138_0x282; // 0x00000282 length: 2 + short field139_0x284; // 0x00000284 length: 2 + short unknownCounter01; // 0x00000286 length: 2 + undefined1 padding_0x288[2]; // 0x00000288 length: 2 + short unknownBool02; // 0x0000028A length: 2 + short unknownBool01; // 0x0000028C length: 2 + short countdown; // 0x0000028E length: 2 + short someUnitArrayIndex; // 0x00000290 length: 2 + short someIndex; // 0x00000292 length: 2 + short attackWave; // 0x00000294 length: 2 + short percentageDyingUnk; // 0x00000296 length: 2 + short percentageMovingUnk; // 0x00000298 length: 2 + short percentageAttackingUnk; // 0x0000029A length: 2 + short field152_0x29c; // 0x0000029C length: 2 + short percentageShootingUnk; // 0x0000029E length: 2 + short field154_0x2a0; // 0x000002A0 length: 2 + short percentageSomething; // 0x000002A2 length: 2 + short attackInfo_someCounter1; // 0x000002A4 length: 2 + short archerRelated; // 0x000002A6 length: 2 + short archerRelated2; // 0x000002A8 length: 2 + short supportPointIndex; // 0x000002AA length: 2 + short oldSupportPointIndex; // 0x000002AC length: 2 + short field161_0x2ae; // 0x000002AE length: 2 + short siegeIndexValue1; // 0x000002B0 length: 2 + short siegeIndexValue2; // 0x000002B2 length: 2 + int someTile2; // 0x000002B4 length: 4 + UnitStanceEnumShort unitStance; // 0x000002B8 length: 2 + short orientation; // 0x000002BA length: 2 + short someCounter1; // 0x000002BC length: 2 + short field168_0x2be; // 0x000002BE length: 2 + short someUnitID; // 0x000002C0 length: 2 + undefined1 padding_0x2c2[2]; // 0x000002C2 length: 2 + int someUnitUID; // 0x000002C4 length: 4 + int someTile; // 0x000002C8 length: 4 + short highestID; // 0x000002CC length: 2 + short targetPlayer_outpost; // 0x000002CE length: 2 + short targetBuildingID; // 0x000002D0 length: 2 + undefined1 padding_0x2d2[2]; // 0x000002D2 length: 2 + int targetBuildingUID; // 0x000002D4 length: 4 + int someUnitUIDArray[10]; // 0x000002D8 length: 40 + short tribeSubtype1; // 0x00000300 length: 2 + short counter; // 0x00000302 length: 2 + int randomNumber; // 0x00000304 length: 4 + undefined1 padding_0x308[44]; // 0x00000308 length: 44 + + } Tribe; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Tribe) == 820, Tribe); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/TribesState.func.hpp b/src/OpenSHC/Map/Units/TribesState.func.hpp new file mode 100644 index 0000000..c50d4e2 --- /dev/null +++ b/src/OpenSHC/Map/Units/TribesState.func.hpp @@ -0,0 +1,480 @@ +/** + path: 'OpenSHC/Map/Units/TribesState.func.hpp' +*/ + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp" +#include "OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp" +#include "OpenSHC/Map/Units/TribesState.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace Units { + namespace TribesState_Func { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeInt; + using OpenSHC::Map::Units::UnitInstructionTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Map::Units::Behavior::UnitStanceEnumShort; + using OpenSHC::Map::Units::Instructions::UnitMatchSpeedEnumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, undefined4, undefined4, undefined4, undefined4), + false, Address::SHC_3BB0A8C1_0x004B7700, &TribesState::giveUnitSelectionMoveInstructionNoMatchedSpeed) + giveUnitSelectionMoveInstructionNoMatchedSpeed; + + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004CCAF0, + &TribesState::getSmallestPatrolTribe) + getSmallestPatrolTribe; + + MACRO_FUNCTION_RESOLVER( + 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_0x00521240, + &TribesState::swapTribeOwnership) + swapTribeOwnership; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521280, + &TribesState::meth_0x521280) + meth_0x521280; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int, int*, int*), false, + Address::SHC_3BB0A8C1_0x00521500, &TribesState::calculatePathPlanToUnitUnk) + calculatePathPlanToUnitUnk; + + MACRO_FUNCTION_RESOLVER(UnitTypeInt (TribesState::*)(undefined4, int*), false, + Address::SHC_3BB0A8C1_0x00521720, &TribesState::FUN_00521720) + FUN_00521720; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005217E0, &TribesState::meth_0x5217e0) + meth_0x5217e0; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00521A90, + &TribesState::somethingTargetUnitSoundRelated) + somethingTargetUnitSoundRelated; + + 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_0x00521EF0, &TribesState::meth_0x521ef0) + meth_0x521ef0; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522090, &TribesState::meth_0x522090) + meth_0x522090; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00522110, &TribesState::FUN_00522110) + FUN_00522110; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00522150, &TribesState::FUN_00522150) + FUN_00522150; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00522160, &TribesState::meth_0x522160) + meth_0x522160; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, SomeTribeBehaviorTypeInt), 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; + + MACRO_FUNCTION_RESOLVER(uint (TribesState::*)(int, uint), false, Address::SHC_3BB0A8C1_0x00522360, + &TribesState::tribeCorrespondsWithUID) + tribeCorrespondsWithUID; + + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00522390, + &TribesState::getUnitIDForIndexInTribe) + getUnitIDForIndexInTribe; + + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00522410, + &TribesState::getSpecificUnitFromTribe) + getSpecificUnitFromTribe; + + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005224E0, + &TribesState::setWhetherTribeContainsAnyUnits) + setWhetherTribeContainsAnyUnits; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(uint), false, Address::SHC_3BB0A8C1_0x00522520, &TribesState::addUnitToSelected) + addUnitToSelected; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(uint), false, Address::SHC_3BB0A8C1_0x00522550, + &TribesState::unitIsSelectedByPlayer) + unitIsSelectedByPlayer; + + MACRO_FUNCTION_RESOLVER( + int (TribesState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x00522590, &TribesState::addUnitToTribe) + addUnitToTribe; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x00522630, + &TribesState::removeUnitFromThisTribeIfInTribe) + removeUnitFromThisTribeIfInTribe; + + MACRO_FUNCTION_RESOLVER( + int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522720, &TribesState::getAvailableTribeID) + getAvailableTribeID; + + MACRO_FUNCTION_RESOLVER( + int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005227E0, &TribesState::createTribeForPlayer) + createTribeForPlayer; + + MACRO_FUNCTION_RESOLVER( + int (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00522890, &TribesState::createTribe) + createTribe; + + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int, undefined4, int), false, Address::SHC_3BB0A8C1_0x00522950, + &TribesState::createPlayerTribe) + createPlayerTribe; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005229C0, + &TribesState::addUnitsToTribeAndComputeMovementSpeed) + addUnitsToTribeAndComputeMovementSpeed; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, uint, int), false, Address::SHC_3BB0A8C1_0x00522B00, + &TribesState::addUnitToTribeAndUpdateTribeMovementSpeed) + addUnitToTribeAndUpdateTribeMovementSpeed; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522BC0, &TribesState::clearTribe) + clearTribe; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00522BF0, &TribesState::queueUnitStance) + queueUnitStance; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, UnitStanceEnumShort), false, + Address::SHC_3BB0A8C1_0x00522C20, &TribesState::setUnitStance) + setUnitStance; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, short, short, int), false, + Address::SHC_3BB0A8C1_0x00522C50, &TribesState::addRallyPoint) + addRallyPoint; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00522CA0, + &TribesState::temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance) + temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance; + + 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; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, int, int, int, UnitTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x00522F70, &TribesState::FUN_00522f70) + FUN_00522f70; + + MACRO_FUNCTION_RESOLVER( + dword (TribesState::*)(undefined4, int, int, int, int, UnitTypeInt, UnitTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x00523030, &TribesState::spawnUnitsIntoNewTribe) + spawnUnitsIntoNewTribe; + + MACRO_FUNCTION_RESOLVER(dword (TribesState::*)(short, undefined4, int, int, int, UnitTypeInt, int), false, + Address::SHC_3BB0A8C1_0x00523190, &TribesState::meth_0x523190) + meth_0x523190; + + MACRO_FUNCTION_RESOLVER(dword (TribesState::*)(undefined4, int, int, int, UnitTypeInt, int), false, + Address::SHC_3BB0A8C1_0x00523240, &TribesState::spawnUnitsAroundLocation) + spawnUnitsAroundLocation; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00523340, &TribesState::storeDeerXAndYinMapInfo) + storeDeerXAndYinMapInfo; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00523370, &TribesState::storeLionXAndYInMapInfo) + storeLionXAndYInMapInfo; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x005233A0, &TribesState::setRabbitSpawnXY) + setRabbitSpawnXY; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x005233E0, &TribesState::setCamelSpawnXY) + setCamelSpawnXY; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(uint*, uint*), false, Address::SHC_3BB0A8C1_0x00523410, + &TribesState::FUN_00523410) + FUN_00523410; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00523520, &TribesState::FUN_00523520) + FUN_00523520; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523590, &TribesState::meth_0x523590) + meth_0x523590; + + MACRO_FUNCTION_RESOLVER( + int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523630, &TribesState::getNonDyingUnit) + getNonDyingUnit; + + MACRO_FUNCTION_RESOLVER( + 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_0x00523750, &TribesState::meth_0x523750) + meth_0x523750; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00523790, &TribesState::meth_0x523790) + meth_0x523790; + + 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(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523A30, + &TribesState::drawFlagsAndUnitDestinations) + drawFlagsAndUnitDestinations; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x00523EF0, &TribesState::meth_0x523ef0) + meth_0x523ef0; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00523F70, &TribesState::meth_0x523f70) + meth_0x523f70; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524000, + &TribesState::unsetRallyRelatedFlagOnUnits) + unsetRallyRelatedFlagOnUnits; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524060, + &TribesState::isTribeAllAssassins) + isTribeAllAssassins; + + MACRO_FUNCTION_RESOLVER(int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005240D0, + &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_0x005241C0, + &TribesState::tribeContainsUnitThatCanClimb) + tribeContainsUnitThatCanClimb; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524230, + &TribesState::selectionContainsHorses) + selectionContainsHorses; + + MACRO_FUNCTION_RESOLVER(UnitTypeInt (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005242B0, + &TribesState::getMajorityArcherTypeEuropeanOrArabian) + getMajorityArcherTypeEuropeanOrArabian; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, undefined4, undefined4, undefined4, int), false, + Address::SHC_3BB0A8C1_0x00524340, &TribesState::applyMoveCommandOrRallyCommandToTribe) + applyMoveCommandOrRallyCommandToTribe; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, SomeTribeBehaviorTypeInt), false, + Address::SHC_3BB0A8C1_0x005244D0, &TribesState::aiAttackWaveUnk) + aiAttackWaveUnk; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524890, &TribesState::meth_0x524890) + meth_0x524890; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00524930, &TribesState::meth_0x524930) + meth_0x524930; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524B30, &TribesState::meth_0x524b30) + meth_0x524b30; + + MACRO_FUNCTION_RESOLVER(undefined (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; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00524E20, &TribesState::meth_0x524e20) + meth_0x524e20; + + 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(BOOLEnum (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005250B0, + &TribesState::anyUnitsOfTribeAreOutsideCoverageOfPathFindingAlg) + anyUnitsOfTribeAreOutsideCoverageOfPathFindingAlg; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525130, + &TribesState::applyMovementDistanceToUnitsInTribe) + applyMovementDistanceToUnitsInTribe; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005251A0, + &TribesState::applyMovementDistanceToUnitsInTribeBasedOnUnitNumberInTribe) + applyMovementDistanceToUnitsInTribeBasedOnUnitNumberInTribe; + + MACRO_FUNCTION_RESOLVER( + undefined4 (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525210, &TribesState::meth_0x525210) + meth_0x525210; + + 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; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525370, &TribesState::meth_0x525370) + meth_0x525370; + + 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(BOOLEnum (TribesState::*)(uint), false, Address::SHC_3BB0A8C1_0x005254C0, + &TribesState::addUnitToNewTribe) + addUnitToNewTribe; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525790, + &TribesState::removeSelectedUnitsFromTheirCurrentTribes) + removeSelectedUnitsFromTheirCurrentTribes; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00525870, + &TribesState::clearTribesOfUnitType) + clearTribesOfUnitType; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00525970, + &TribesState::clearTribesNotOfUnitType) + clearTribesNotOfUnitType; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x00525A70, + &TribesState::removeUnitFromTribe) + removeUnitFromTribe; + + MACRO_FUNCTION_RESOLVER( + int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x00525B70, &TribesState::popUnitFromTribe) + popUnitFromTribe; + + MACRO_FUNCTION_RESOLVER(dword (TribesState::*)(CommandBuildingTypeInt, uint, uint, int), false, + Address::SHC_3BB0A8C1_0x00525BA0, &TribesState::createAnimal) + createAnimal; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TribesState::*)(int, int, UnitTypeInt), false, + Address::SHC_3BB0A8C1_0x00525F20, &TribesState::spawnDeerLionOrRabbit) + spawnDeerLionOrRabbit; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x005260B0, &TribesState::meth_0x5260b0) + meth_0x5260b0; + + 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::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x00526370, &TribesState::upgradeMapTribesState) + upgradeMapTribesState; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, uint, uint, int, int, UnitMatchSpeedEnumInt), + false, Address::SHC_3BB0A8C1_0x005263A0, &TribesState::giveTribeMoveInstruction) + giveTribeMoveInstruction; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, uint, uint, undefined4), false, + Address::SHC_3BB0A8C1_0x00526F00, &TribesState::commandUnitsToLocation) + commandUnitsToLocation; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x005270F0, + &TribesState::computeTribePercentages) + computeTribePercentages; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00527330, + &TribesState::updateTribeUnitAssignments) + updateTribeUnitAssignments; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x00527440, &TribesState::siegeThatRelatedUnk) + siegeThatRelatedUnk; + + MACRO_FUNCTION_RESOLVER(undefined4 (TribesState::*)(int, UnitInstructionTypeInt, 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( + int (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A700, &TribesState::meth_0x52a700) + meth_0x52a700; + + MACRO_FUNCTION_RESOLVER(void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052A7D0, + &TribesState::unitAttackBuildingOrOtherUnitBasedOnStanceUnk) + unitAttackBuildingOrOtherUnitBasedOnStanceUnk; + + 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_0x0052B390, &TribesState::meth_0x52b390) + meth_0x52b390; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(int), false, Address::SHC_3BB0A8C1_0x0052B630, &TribesState::meth_0x52b630) + meth_0x52b630; + + MACRO_FUNCTION_RESOLVER( + void (TribesState::*)(), false, Address::SHC_3BB0A8C1_0x0052B860, &TribesState::updateTribes) + updateTribes; + + } // namespace TribesState_Func + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/TribesState.hpp b/src/OpenSHC/Map/Units/TribesState.hpp new file mode 100644 index 0000000..61a7db1 --- /dev/null +++ b/src/OpenSHC/Map/Units/TribesState.hpp @@ -0,0 +1,312 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/TribesState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Units/Behavior/UnitStanceEnumShort.hpp" +#include "OpenSHC/Map/Units/Instructions/UnitMatchSpeedEnumInt.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp" +#include "OpenSHC/Map/Units/Tribe.hpp" +#include "OpenSHC/Map/Units/UnitIDMovementDistancePair.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeInt; + using OpenSHC::Map::Units::Tribe; + using OpenSHC::Map::Units::UnitIDMovementDistancePair; + using OpenSHC::Map::Units::UnitInstructionTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Map::Units::Behavior::UnitStanceEnumShort; + using OpenSHC::Map::Units::Instructions::UnitMatchSpeedEnumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000FB3D0 + class TribesState { + public: + undefined4 DAT_CurrentTribeID; // 0x00000000 length: 4 + int clans; // 0x00000004 length: 4 + undefined4 field2_0x8; // 0x00000008 length: 4 + undefined4 ALG_ResultX; // 0x0000000C length: 4 + undefined4 ALG_ResultY; // 0x00000010 length: 4 + undefined4 ALG_ResultTileIndex; // 0x00000014 length: 4 + undefined4 field6_0x18; // 0x00000018 length: 4 + BOOLEnum patrolButtonPressed; // 0x0000001C length: 4 + undefined4 rallyCount; // 0x00000020 length: 4 + undefined4 field9_0x24; // 0x00000024 length: 4 + Tribe tribes[1250]; // 0x00000028 length: 1025000 + UnitIDMovementDistancePair someUnitIDMovementDistancePair[1001]; // 0x000FA410 length: 4004 + int someUnitIDArrayCount; // 0x000FB3B4 length: 4 + int fcn_mtribe; // 0x000FB3B8 length: 4 + int tribeCopiedToSlot0; // 0x000FB3BC length: 4 + int unknownX_01; // 0x000FB3C0 length: 4 + int unknownY_01; // 0x000FB3C4 length: 4 + undefined1 padding_0xfb3c8[8]; // 0x000FB3C8 length: 8 + + private: + TribesState(TribesState const&); + void operator=(TribesState const&); + + TribesState(); + ~TribesState(); + + public: + // Constructor + TribesState* Constructor_TribesState(); + + void giveUnitSelectionMoveInstructionNoMatchedSpeed( + undefined4 tribeID, undefined4 x, undefined4 y, undefined4 rallyBool, undefined4 doRally); + + int getSmallestPatrolTribe(int playerID, int tribeCount); + + void clearAllTribes(); + + void FUN_00521210(int param_1, int param_2); + + void swapTribeOwnership(int param_1, int param_2); + + undefined4 meth_0x521280(int unitID, int param_2); + + void calculatePathPlanToUnitUnk(int targetUnitID, int unitID, int* unitCurrentX, int* unitCurrentY); + + UnitTypeInt FUN_00521720(undefined4 tribeID, int* maximumCount); + + void meth_0x5217e0(int param_1); + + void somethingTargetUnitSoundRelated(int selectionID, int unitID); + + void meth_0x521eb0(undefined4 param_1); + + void meth_0x521ef0(undefined4 param_1); + + void meth_0x522090(int param_1); + + void FUN_00522110(undefined4 param_1); + + void FUN_00522150(); + + void meth_0x522160(undefined4 param_1); + + void applyTribeBehaviorType(int attackWave, SomeTribeBehaviorTypeInt tribeBehaviorType); + + void FUN_00522210(int param_1, int param_2, int param_3); + + uint tribeCorrespondsWithUID(int tribeID, uint tribeUID); + + int getUnitIDForIndexInTribe(int tribeID, int unitSelectionIndex); + + int getSpecificUnitFromTribe(int tribeID, int param_2); + + int setWhetherTribeContainsAnyUnits(int tribeID); + + void addUnitToSelected(uint unitID); + + BOOLEnum unitIsSelectedByPlayer(uint tribeID); + + int addUnitToTribe(uint unitID, int tribeID); + + void removeUnitFromThisTribeIfInTribe(uint unitID, int tribeID); + + int getAvailableTribeID(int playerID); + + int createTribeForPlayer(int playerID); + + int createTribe(int playerID, int setAsCurrentTribeID); + + int createPlayerTribe(int playerID, undefined4 one, int tribeID); + + void addUnitsToTribeAndComputeMovementSpeed(int playerID, int tribeID); + + void addUnitToTribeAndUpdateTribeMovementSpeed(int param_1, uint unitID, int tribeID); + + void clearTribe(int param_1); + + void queueUnitStance(undefined4 stanceID, undefined4 param_2); + + void setUnitStance(int tribeID, UnitStanceEnumShort unitStance); + + void addRallyPoint(int section1016ID, short destinationX, short destinationY, int step); + + void temporarilyStoreTribeIfAllNewlySelectedUnitsPartOfThisTribe_And_AlwaysRememberStance(int playerID); + + void importStoredInfoFromSlot0(undefined4 param_1, int tribeID); + + void meth_0x522ef0(undefined4 tribeID, int smallerSize); + + void FUN_00522f70(undefined4 param_1, int param_2, int param_3, int param_4, UnitTypeInt param_5, + int param_6, int param_7); + + dword spawnUnitsIntoNewTribe(undefined4 counter, int tribeType, int x, int y, int playerID, + UnitTypeInt unitType, UnitTypeInt unitType2, int unitType1Count, int unitType2Count); + + dword meth_0x523190(short param_1, undefined4 param_2, int param_3, int param_4, int param_5, + UnitTypeInt param_6, int param_7); + + dword spawnUnitsAroundLocation( + undefined4 param_1, int aroundX, int aroundY, int playerID, UnitTypeInt unitType, int count); + + void storeDeerXAndYinMapInfo(undefined4 x, undefined4 y); + + void storeLionXAndYInMapInfo(undefined4 x, undefined4 y); + + void setRabbitSpawnXY(undefined4 x, undefined4 y); + + void setCamelSpawnXY(undefined4 x, undefined4 y); + + undefined4 FUN_00523410(uint* param_1, uint* param_2); + + undefined4 FUN_00523520(); + + void meth_0x523590(int tribeID); + + int getNonDyingUnit(int tribeID); + + void countDeerEfficiently(); + + void meth_0x523730(int param_1); + + void meth_0x523750(int param_1); + + void meth_0x523790(int param_1, int param_2); + + void aiAssignNewUnitToTribe(int playerID, int unitType, int unitID); + + int meth_0x523920(int param_1); + + void drawFlagsAndUnitDestinations(int tribeID); + + void meth_0x523ef0(PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + undefined4 meth_0x523f70(int param_1); + + void unsetRallyRelatedFlagOnUnits(int tribeID); + + BOOLEnum isTribeAllAssassins(int tribeID); + + int getFirstUnitInTribeThatIsOnXTerrain(int selectionID); + + undefined4 meth_0x524140(int param_1); + + undefined4 tribeContainsUnitThatCanClimb(int param_1); + + BOOLEnum selectionContainsHorses(int param_1); + + UnitTypeInt getMajorityArcherTypeEuropeanOrArabian(int selectionID); + + undefined4 applyMoveCommandOrRallyCommandToTribe( + int tribeID, undefined4 x1, undefined4 y1, undefined4 isRallying, int storeAsRallyPoint); + + undefined4 aiAttackWaveUnk(int tribeID, SomeTribeBehaviorTypeInt targetType); + + undefined4 meth_0x524890(int param_1); + + void meth_0x524930(int tribeID, int horseAndRamCount); + + undefined4 meth_0x524b30(int param_1); + + undefined getTribeAliveStatus(int tribeID); + + undefined4 meth_0x524ca0(int param_1, uint param_2, uint param_3, uint param_4, uint param_5); + + void meth_0x524e20(int param_1); + + void applyUnitTopSpeedDelayBasedOnTribeSize(int tribeID, BOOLEnum param_2); + + void FUN_00525090(int selectionID); + + BOOLEnum anyUnitsOfTribeAreOutsideCoverageOfPathFindingAlg(int tribeID, int algTileFlag); + + void applyMovementDistanceToUnitsInTribe(int param_1); + + void applyMovementDistanceToUnitsInTribeBasedOnUnitNumberInTribe(int param_1); + + undefined4 meth_0x525210(int param_1); + + void setTargetUnitForTribe(int tribeID); + + void meth_0x525300(int param_1, undefined4 param_2); + + void meth_0x525370(int param_1); + + BOOLEnum allUnitsReachedTheirDestination(int tribeID); + + void makeUnitsDisappearUnk(int param_1); + + BOOLEnum addUnitToNewTribe(uint unitID); + + void removeSelectedUnitsFromTheirCurrentTribes(int playerID); + + void clearTribesOfUnitType(int param_1, int param_2); + + void clearTribesNotOfUnitType(int playerID, int unitType); + + void removeUnitFromTribe(uint unitID, int tribeID); + + int popUnitFromTribe(int tribeID); + + dword createAnimal(CommandBuildingTypeInt animalType, uint x, uint y, int tile); + + BOOLEnum spawnDeerLionOrRabbit(int tribeID, int param_2, UnitTypeInt unitType); + + undefined4 meth_0x5260b0(int param_1, int param_2, int param_3, int param_4); + + void respawnDeer(); + + void meth_0x5262a0(); + + void upgradeMapTribesState( + PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + undefined4 giveTribeMoveInstruction(int tribeID, uint x1, uint y1, int rallyBool, int storeAsRallyPoint, + UnitMatchSpeedEnumInt speedMatching); + + undefined4 commandUnitsToLocation( + int tribeID, uint destinationX, uint destinationY, undefined4 matchUnitSpeeds); + + void computeTribePercentages(int tribeID); + + void updateTribeUnitAssignments(); + + void siegeThatRelatedUnk(); + + undefined4 giveTribeAnInstruction( + int tribeID, UnitInstructionTypeInt unitInstructionType, int id__x__tile, int unitUID__Y, int param_5); + + void meth_0x52a640(int param_1); + + int meth_0x52a700(int param_1); + + void unitAttackBuildingOrOtherUnitBasedOnStanceUnk(int tribeID); + + void processDeerMoving(int tribeID); + + void meth_0x52b110(int param_1); + + void meth_0x52b390(int param_1); + + void meth_0x52b630(int param_1); + + void updateTribes(); + }; + + static_assert_cpp98_obj(sizeof(TribesState) == 1029072, TribesState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(TribesState, false, Address::SHC_3BB0A8C1_0x01667F78) pDAT_TribesState; + + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/TroopValueState.func.hpp b/src/OpenSHC/Map/Units/TroopValueState.func.hpp new file mode 100644 index 0000000..244aefb --- /dev/null +++ b/src/OpenSHC/Map/Units/TroopValueState.func.hpp @@ -0,0 +1,415 @@ +/** + path: 'OpenSHC/Map/Units/TroopValueState.func.hpp' +*/ + +#include "OpenSHC/AI/Tribes/AITribeTypeShort.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp" +#include "OpenSHC/Map/Units/TroopValueState.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace Units { + namespace TroopValueState_Func { + + using OpenSHC::AI::Tribes::AITribeTypeShort; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeInt; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeShort; + using OpenSHC::Map::Units::UnitInstructionTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x00518130, &TroopValueState::clearAttackInfo) + clearAttackInfo; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00518180, + &TroopValueState::FUN_00518180) + FUN_00518180; + + 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; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int, int, SomeTribeBehaviorTypeInt), false, + Address::SHC_3BB0A8C1_0x00518380, &TroopValueState::sortAttackInfoTribeIDArrayBasedOn) + sortAttackInfoTribeIDArrayBasedOn; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(SomeTribeBehaviorTypeInt, SomeTribeBehaviorTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x00518870, &TroopValueState::applyTribeBehaviorTypes) + applyTribeBehaviorTypes; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(SomeTribeBehaviorTypeShort, undefined4, short, short), + false, Address::SHC_3BB0A8C1_0x00518930, &TroopValueState::FUN_00518930) + FUN_00518930; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(int, int, SomeTribeBehaviorTypeShort, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00518A10, &TroopValueState::FUN_00518a10) + FUN_00518a10; + + 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; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x00519310, &TroopValueState::FUN_00519310) + FUN_00519310; + + 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_0x00519790, &TroopValueState::FUN_00519790) + FUN_00519790; + + 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_0x005198C0, + &TroopValueState::recomputeTargetedBuildingTilesArray) + recomputeTargetedBuildingTilesArray; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519960, + &TroopValueState::getTileInTargetedBuildingTiles) + getTileInTargetedBuildingTiles; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00519990, + &TroopValueState::hack2related) + hack2related; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519CC0, + &TroopValueState::findEnemyWalls) + findEnemyWalls; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00519DE0, + &TroopValueState::setScale3) + setScale3; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519E40, + &TroopValueState::meth_0x519e40) + meth_0x519e40; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00519F50, + &TroopValueState::setTown2) + setTown2; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00519FB0, + &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_0x0051A100, &TroopValueState::FUN_0051a100) + FUN_0051a100; + + 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; + + 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; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051A550, + &TroopValueState::setWide3) + setWide3; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A5B0, + &TroopValueState::getClosestWideValueBasedOnPlayer) + getClosestWideValueBasedOnPlayer; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051A720, + &TroopValueState::setMoat3) + setMoat3; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A780, + &TroopValueState::calculateTile2MoatValueClosestToUnit) + calculateTile2MoatValueClosestToUnit; + + MACRO_FUNCTION_RESOLVER( + int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A8A0, &TroopValueState::meth_0x51a8a0) + meth_0x51a8a0; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051A920, + &TroopValueState::meth_0x51a920) + meth_0x51a920; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051A9A0, &TroopValueState::FUN_0051a9a0) + FUN_0051a9a0; + + 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(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_0x0051AE00, &TroopValueState::FUN_0051ae00) + FUN_0051ae00; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AE90, &TroopValueState::FUN_0051ae90) + FUN_0051ae90; + + MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051AF20, + &TroopValueState::unkArcherRelated1) + unkArcherRelated1; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051AF70, &TroopValueState::FUN_0051af70) + FUN_0051af70; + + 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_0x0051B0C0, + &TroopValueState::getSupportPointIndex) + getSupportPointIndex; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051B110, &TroopValueState::FUN_0051b110) + FUN_0051b110; + + 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(int (TroopValueState::*)(int, CommandBuildingTypeInt), false, + Address::SHC_3BB0A8C1_0x0051B310, &TroopValueState::placeSiegeTentAndAssignEngineersUnk) + placeSiegeTentAndAssignEngineersUnk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (TroopValueState::*)(int, CommandBuildingTypeInt, uint, UnitInstructionTypeInt), false, + Address::SHC_3BB0A8C1_0x0051B420, + &TroopValueState::placeSiegeTentOrTunnelAtSuitableLocationAndAssignEngineers) + placeSiegeTentOrTunnelAtSuitableLocationAndAssignEngineers; + + MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051B570, + &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_0x0051B6C0, &TroopValueState::FUN_0051b6c0) + FUN_0051b6c0; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051B710, + &TroopValueState::placeSiegeTentsAndAssignEngineers) + placeSiegeTentsAndAssignEngineers; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BA30, + &TroopValueState::placeTunnelForEveryTunneler) + placeTunnelForEveryTunneler; + + MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(undefined4, int, AITribeTypeShort, undefined4), false, + Address::SHC_3BB0A8C1_0x0051BC70, &TroopValueState::addUnitToNewTribe) + addUnitToNewTribe; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BD10, + &TroopValueState::exitSiegeEquipmentUnk) + exitSiegeEquipmentUnk; + + 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(BOOLEnum (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051BF20, + &TroopValueState::shouldLightPitchBecauseOfTroopValueUnk) + shouldLightPitchBecauseOfTroopValueUnk; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051BF70, + &TroopValueState::giveLightPitchInstructionToUnitClosestToPitch) + giveLightPitchInstructionToUnitClosestToPitch; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051C1A0, + &TroopValueState::lightPitchIfNecessary) + lightPitchIfNecessary; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051C2D0, &TroopValueState::meth_0x51c2d0) + meth_0x51c2d0; + + MACRO_FUNCTION_RESOLVER(int (TroopValueState::*)(UnitTypeInt), 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(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051C570, + &TroopValueState::ifNecessaryThrowOilAutomatically) + ifNecessaryThrowOilAutomatically; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051C800, + &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_0x0051CBD0, &TroopValueState::FUN_0051cbd0) + FUN_0051cbd0; + + 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_0x0051D020, &TroopValueState::FUN_0051d020) + FUN_0051d020; + + 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_0x0051D2B0, &TroopValueState::FUN_0051d2b0) + FUN_0051d2b0; + + MACRO_FUNCTION_RESOLVER(undefined4 (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D450, + &TroopValueState::moveUnitsToGateHouseUnk) + moveUnitsToGateHouseUnk; + + 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; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D730, + &TroopValueState::meth_0x51d730) + meth_0x51d730; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051D7F0, + &TroopValueState::updateTribeBehaviorBasedOnBehaviorType) + updateTribeBehaviorBasedOnBehaviorType; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0051E300, + &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_0x0051F4B0, &TroopValueState::FUN_0051f4b0) + FUN_0051f4b0; + + MACRO_FUNCTION_RESOLVER( + void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F5C0, &TroopValueState::FUN_0051f5c0) + FUN_0051f5c0; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F9C0, + &TroopValueState::recountTotalTroopValue) + recountTotalTroopValue; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051FA70, + &TroopValueState::recomputeTotalTroopValueOfTroopsNearKeep) + recomputeTotalTroopValueOfTroopsNearKeep; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x0051FB80, &TroopValueState::uselessFunction) + uselessFunction; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051FB90, + &TroopValueState::recountAttackTroopValue) + recountAttackTroopValue; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x0051FF90, + &TroopValueState::meth_0x51ff90) + meth_0x51ff90; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005200A0, + &TroopValueState::aiRecomputeAttacks2) + aiRecomputeAttacks2; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(undefined4, int), false, Address::SHC_3BB0A8C1_0x005202B0, + &TroopValueState::aiRecomputeAttacks) + aiRecomputeAttacks; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00520450, + &TroopValueState::meth_0x520450) + meth_0x520450; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x005205A0, + &TroopValueState::meth_0x5205a0) + meth_0x5205a0; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(int), false, Address::SHC_3BB0A8C1_0x00520CD0, + &TroopValueState::meth_0x520cd0) + meth_0x520cd0; + + MACRO_FUNCTION_RESOLVER(void (TroopValueState::*)(), false, Address::SHC_3BB0A8C1_0x0051F950, + &TroopValueState::aiControlNonSkirmishUnitMovement) + aiControlNonSkirmishUnitMovement; + + } // namespace TroopValueState_Func + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/TroopValueState.hpp b/src/OpenSHC/Map/Units/TroopValueState.hpp new file mode 100644 index 0000000..7f455ca --- /dev/null +++ b/src/OpenSHC/Map/Units/TroopValueState.hpp @@ -0,0 +1,257 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/TroopValueState.hpp' +*/ + +#pragma once + +#include "OpenSHC/AI/Tribes/AITribeTypeShort.hpp" +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/AttackInfo.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeInt.hpp" +#include "OpenSHC/Map/Units/SomeTribeBehaviorTypeShort.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::AI::Tribes::AITribeTypeShort; + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::Map::AttackInfo; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeInt; + using OpenSHC::Map::Units::SomeTribeBehaviorTypeShort; + using OpenSHC::Map::Units::UnitInstructionTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00103768 + class TroopValueState { + public: + undefined4 x; // 0x00000000 length: 4 + undefined4 y; // 0x00000004 length: 4 + undefined4 tile; // 0x00000008 length: 4 + AttackInfo attackInfo; // 0x0000000C length: 1062748 + + private: + TroopValueState(TroopValueState const&); + void operator=(TroopValueState const&); + + TroopValueState(); + ~TroopValueState(); + + public: + // Constructor + TroopValueState* Constructor_TroopValueState(); + + void clearAttackInfo(); + + void FUN_00518180(int param_1, int param_2); + + BOOLEnum searchTribeWithProperties(int param_1); + + undefined4 FUN_00518350(); + + void sortAttackInfoTribeIDArrayBasedOn(int attackWave, int shrinkSize, int tribeSizeSumLimit, + SomeTribeBehaviorTypeInt someTribeTypeIdentifier); + + void applyTribeBehaviorTypes(SomeTribeBehaviorTypeInt tribeBehaviorType, + SomeTribeBehaviorTypeInt tribeBehaviorType2, int off1, int off2); + + void FUN_00518930(SomeTribeBehaviorTypeShort param_1, undefined4 param_2, short param_3, short param_4); + + void FUN_00518a10( + int param_1, int param_2, SomeTribeBehaviorTypeShort 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 FUN_00519310(); + + void FUN_00519690(int tribeID); + + void FUN_00519790(int param_1); + + void FUN_00519850(int param_1); + + void recomputeTargetedBuildingTilesArray(int playerID); + + BOOLEnum getTileInTargetedBuildingTiles(int tile); + + void hack2related(int attackedPlayerID, int attackingPlayerID); + + undefined4 findEnemyWalls(int unitID); + + void setScale3(int one, int playerID); + + undefined4 meth_0x519e40(int unitID); + + void setTown2(int param_1, int playerID); + + undefined4 findEnemyBuildingsClosestToUnit(int unitID); + + void FUN_0051a0c0(int param_1); + + void FUN_0051a100(int param_1); + + undefined4 calculateTile2PeoplValueClosestToUnit(int unitID); + + int findEnemyLordUnk(undefined4 param_1); + + void setGate2(int param_1, int param_2); + + undefined4 findEnemyTowersOrGatesUnk(int unitID); + + void setWide3(int param_1, int param_2); + + undefined4 getClosestWideValueBasedOnPlayer(int playerID); + + void setMoat3(int checkAgainstNonZero, int playerID); + + undefined4 calculateTile2MoatValueClosestToUnit(int unitID); + + int meth_0x51a8a0(int param_1); + + undefined4 meth_0x51a920(); + + void FUN_0051a9a0(int param_1); + + int calculateHigh2ClostestToTribeTargetUnit(int tribeID); + + void FUN_0051ab10(int param_1); + + int calculateArch2ClosestToTribeTargetUnit(int tribeID); + + void FUN_0051ace0(); + + void FUN_0051ae00(); + + void FUN_0051ae90(); + + int unkArcherRelated1(int param_1); + + void FUN_0051af70(); + + int FUN_0051aff0(int param_1); + + int getSupportPointIndex(int tile); + + void FUN_0051b110(); + + int getSiegeIndexForTile(int tile); + + void FUN_0051b290(); + + int placeSiegeTentAndAssignEngineersUnk(int tribeID, CommandBuildingTypeInt commandBuildingType); + + BOOLEnum placeSiegeTentOrTunnelAtSuitableLocationAndAssignEngineers(int tribeID, + CommandBuildingTypeInt commandBuildingType, uint strategicDistance, UnitInstructionTypeInt instruction); + + int placeTunnelEntrances(int tribeID); + + void FUN_0051b680(); + + void FUN_0051b6c0(); + + void placeSiegeTentsAndAssignEngineers(int param_1, int param_2); + + void placeTunnelForEveryTunneler(int attackWave); + + int addUnitToNewTribe(undefined4 unitID, int attackWave, AITribeTypeShort tribeType, undefined4 playerID); + + void exitSiegeEquipmentUnk(int wave); + + BOOLEnum getPlayerNot1AndHasKeep(int playerID); + + void FUN_0051be60(int param_1); + + BOOLEnum shouldLightPitchBecauseOfTroopValueUnk(int tile, int playerID); + + undefined4 giveLightPitchInstructionToUnitClosestToPitch(int tile); + + void lightPitchIfNecessary(int unitID, int unitID2); + + void meth_0x51c2d0(); + + int getValueOfTroopType(UnitTypeInt unitType); + + void FUN_0051c470(); + + undefined4 ifNecessaryThrowOilAutomatically(int param_1); + + void commandUnitsToMoveToKeep(); + + void meth_0x51ca50(); + + void FUN_0051cbd0(); + + void assignMacemenAndKnightsNotFromPlayer1ToTribes(); + + void FUN_0051cf90(); + + void FUN_0051d020(); + + void sendAttackingPatrolTribeToComputedDestination(int tribeID); + + void FUN_0051d1c0(int param_1); + + void FUN_0051d2b0(int tribeID); + + undefined4 moveUnitsToGateHouseUnk(int param_1); + + void moveTowardsParticularUnits(int param_1); + + void meth_0x51d690(int param_1); + + void meth_0x51d730(int attackWave); + + void updateTribeBehaviorBasedOnBehaviorType(int tribeID); + + void recomputeAttackInfo(int playerID, int attackedPlayerID); + + void FUN_0051f340(); + + void FUN_0051f4b0(); + + void FUN_0051f5c0(); + + void recountTotalTroopValue(); + + void recomputeTotalTroopValueOfTroopsNearKeep(); + + void uselessFunction( + PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + void recountAttackTroopValue(int param_1); + + void meth_0x51ff90(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 meth_0x5205a0(int param_1); + + void meth_0x520cd0(int param_1); + + void aiControlNonSkirmishUnitMovement(); + }; + + static_assert_cpp98_obj(sizeof(TroopValueState) == 1062760, TroopValueState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(TroopValueState, false, Address::SHC_3BB0A8C1_0x01763348) pDAT_TroopValueState; + + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/Unit.hpp b/src/OpenSHC/Map/Units/Unit.hpp new file mode 100644 index 0000000..8568365 --- /dev/null +++ b/src/OpenSHC/Map/Units/Unit.hpp @@ -0,0 +1,339 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/Unit.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/Pathfinding/DestinationNeededEnumShort.hpp" +#include "OpenSHC/Map/Units/States/UnitStateShort.hpp" +#include "OpenSHC/Map/Units/States/UnitStateUnion.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeShort.hpp" +#include "OpenSHC/Map/Units/UnitLogicStateShort.hpp" +#include "OpenSHC/Map/Units/UnitTypeShort.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::Map::Units::UnitInstructionTypeShort; + using OpenSHC::Map::Units::UnitLogicStateShort; + using OpenSHC::Map::Units::UnitTypeShort; + using OpenSHC::Map::Units::Pathfinding::DestinationNeededEnumShort; + using OpenSHC::Map::Units::States::UnitStateShort; + using OpenSHC::Map::Units::States::UnitStateUnion; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x00000490 + typedef struct Unit { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + int gfxNumber; // 0x00000004 length: 4 + int animationSheetFrameOffset; // 0x00000008 length: 4 + short spriteID; // 0x0000000C length: 2 + undefined1 padding_0xe[2]; // 0x0000000E length: 2 + int calculatedOwnerPlayerIndex; // 0x00000010 length: 4 + short drawX; // 0x00000014 length: 2 + short drawY; // 0x00000016 length: 2 + short drawWidth; // 0x00000018 length: 2 + short drawHeight1; // 0x0000001A length: 2 + undefined1 padding_0x1c[2]; // 0x0000001C length: 2 + short spriteWidthUnk; // 0x0000001E length: 2 + short spriteHeightUnk; // 0x00000020 length: 2 + short drawXOffset; // 0x00000022 length: 2 + short someDrawYOffset; // 0x00000024 length: 2 + short orientationRelatedPositionX; // 0x00000026 length: 2 + short orientationRelatedPositionY; // 0x00000028 length: 2 + short field22_0x2a; // 0x0000002A length: 2 + int unknownV; // 0x0000002C length: 4 + int field_0x30_animRelated; // 0x00000030 length: 4 + short isSelected; // 0x00000034 length: 2 + undefined1 padding_0x36[2]; // 0x00000036 length: 2 + short healthbar; // 0x00000038 length: 2 + undefined1 padding_0x3a[2]; // 0x0000003A length: 2 + int animationLeapTicksTotal; // 0x0000003C length: 4 + int animationTicker; // 0x00000040 length: 4 + int animationSpeed; // 0x00000044 length: 4 + int animationFrame; // 0x00000048 length: 4 + undefined1 padding_0x4c[4]; // 0x0000004C length: 4 + BOOLEnum animationCycleNumberHasJustIncremented; // 0x00000050 length: 4 + short facingDirectionMapOrientationCorrected; // 0x00000054 length: 2 + short field41_0x56; // 0x00000056 length: 2 + short field42_0x58; // 0x00000058 length: 2 + short field43_0x5a; // 0x0000005A length: 2 + int field44_0x5c; // 0x0000005C length: 4 + int field45_0x60; // 0x00000060 length: 4 + int field46_0x64; // 0x00000064 length: 4 + int vanish; // 0x00000068 length: 4 + short field48_0x6c; // 0x0000006C length: 2 + short field49_0x6e; // 0x0000006E length: 2 + byte negativeHeight; // 0x00000070 length: 1 + byte antelopeBasedRngValue; // 0x00000071 length: 1 + undefined1 padding_0x72[2]; // 0x00000072 length: 2 + int imageIDUnk; // 0x00000074 length: 4 + int imageID2; // 0x00000078 length: 4 + short unitSpeedMatchingRelatedUnk; // 0x0000007C length: 2 + short gmIDUnk; // 0x0000007E length: 2 + short displayColorPlayerID; // 0x00000080 length: 2 + undefined1 heightDiv10; // 0x00000082 length: 1 + undefined1 padding_0x83[1]; // 0x00000083 length: 1 + short field61_0x84; // 0x00000084 length: 2 + short field62_0x86; // 0x00000086 length: 2 + short field63_0x88; // 0x00000088 length: 2 + short drawYOffset; // 0x0000008A length: 2 + UnitLogicStateShort logicalState; // 0x0000008C length: 2 + UnitTypeShort unitType; // 0x0000008E length: 2 + short field67_0x90; // 0x00000090 length: 2 + undefined1 padding_0x92[2]; // 0x00000092 length: 2 + short moveRelatedFlag; // 0x00000094 length: 2 + short owner; // 0x00000096 length: 2 + int uid; // 0x00000098 length: 4 + int time; // 0x0000009C length: 4 + int targetUID; // 0x000000A0 length: 4 + undefined1 padding_0xa4[12]; // 0x000000A4 length: 12 + short goToRallyPoint; // 0x000000B0 length: 2 + short ifSelectedThenPlayerID; // 0x000000B2 length: 2 + short selectionRelatedFlag; // 0x000000B4 length: 2 + short microXPosition; // 0x000000B6 length: 2 + short microYPosition; // 0x000000B8 length: 2 + short terrainOrClimbHeight; // 0x000000BA length: 2 + short buildingHeight; // 0x000000BC length: 2 + short shootTargetMicroX; // 0x000000BE length: 2 + short shootTargetMicroY; // 0x000000C0 length: 2 + short shootTargetZ; // 0x000000C2 length: 2 + short x; // 0x000000C4 length: 2 + short y; // 0x000000C6 length: 2 + short destinationXPosition; // 0x000000C8 length: 2 + short destinationYPosition; // 0x000000CA length: 2 + short ladderExitXPosition; // 0x000000CC length: 2 + short ladderExitYPosition; // 0x000000CE length: 2 + short field103_0xd0; // 0x000000D0 length: 2 + short field104_0xd2; // 0x000000D2 length: 2 + int tile; // 0x000000D4 length: 4 + int destinationTilePosition; // 0x000000D8 length: 4 + int previousTilePosition; // 0x000000DC length: 4 + short mimicCurrentXPosition; // 0x000000E0 length: 2 + short mimicCurrentYPosition; // 0x000000E2 length: 2 + int nextTileUnk; // 0x000000E4 length: 4 + int field111_0xe8; // 0x000000E8 length: 4 + short destinationX_2Unk; // 0x000000EC length: 2 + short destinationY_2Unk; // 0x000000EE length: 2 + short _someX_2; // 0x000000F0 length: 2 + short _someY_2; // 0x000000F2 length: 2 + short moveDelay; // 0x000000F4 length: 2 + short tunnelerFinishedDigging; // 0x000000F6 length: 2 + short movementRelated; // 0x000000F8 length: 2 + short currentIndexInPathPlan; // 0x000000FA length: 2 + short totalSizeOfPathPlan; // 0x000000FC length: 2 + byte pathPlanStart[400]; // 0x000000FE length: 400 + short moveInstructionSpeedDelayTracker; // 0x0000028E length: 2 + short leftover; // 0x00000290 length: 2 + short wallDataID; // 0x00000292 length: 2 + short climbDataID; // 0x00000294 length: 2 + undefined1 padding_0x296[2]; // 0x00000296 length: 2 + int climbDataRelated; // 0x00000298 length: 4 + short climbDirection; // 0x0000029C length: 2 + short usingTeleport; // 0x0000029E length: 2 + short dying; // 0x000002A0 length: 2 + ushort nextUnitOnTheSameTile; // 0x000002A2 length: 2 + short isSelectable_OR_matchTime; // 0x000002A4 length: 2 + short closestEnemyMicroDistance; // 0x000002A6 length: 2 + short field135_0x2a8; // 0x000002A8 length: 2 + short targetShootRelated; // 0x000002AA length: 2 + short field137_0x2ac; // 0x000002AC length: 2 + short graphicSize; // 0x000002AE length: 2 + int animationCycleNumber; // 0x000002B0 length: 4 + short facingDirection; // 0x000002B4 length: 2 + undefined1 padding_0x2b6[4]; // 0x000002B6 length: 4 + short unitOrderWhenOnSameTile; // 0x000002BA length: 2 + short movementRunUpTime; // 0x000002BC length: 2 + short stateBasedSpeed; // 0x000002BE length: 2 + UnitStateUnion state; // 0x000002C0 length: 2 + UnitStateShort cachedState; // 0x000002C2 length: 2 + short field150_0x2c4; // 0x000002C4 length: 2 + UnitStateUnion state_3; // 0x000002C6 length: 2 + short updateTickTracker; // 0x000002C8 length: 2 + UnitTypeShort unitTypeToChangeInto; // 0x000002CA length: 2 + short state_2; // 0x000002CC length: 2 + UnitTypeShort unitType_3; // 0x000002CE length: 2 + short someUnitStat2_meleeDamageUnk; // 0x000002D0 length: 2 + short unknownMovementRelated_0x2d2; // 0x000002D2 length: 2 + short healthPercentage; // 0x000002D4 length: 2 + short selectionTargetUnitID; // 0x000002D6 length: 2 + short tribeID; // 0x000002D8 length: 2 + short idInTribe; // 0x000002DA length: 2 + short plannedDestinationX; // 0x000002DC length: 2 + short plannedDestinationY; // 0x000002DE length: 2 + short topSpeedDelayIndex; // 0x000002E0 length: 2 + short movementDistance; // 0x000002E2 length: 2 + int tribeUID; // 0x000002E4 length: 4 + int workTimer; // 0x000002E8 length: 4 + int workRelatedA; // 0x000002EC length: 4 + int workRelatedB; // 0x000002F0 length: 4 + int workRelatedC; // 0x000002F4 length: 4 + int av; // 0x000002F8 length: 4 + short working; // 0x000002FC length: 2 + short field173_0x2fe; // 0x000002FE length: 2 + short field174_0x300; // 0x00000300 length: 2 + short unknownDigMoatOrWallAttackFlag1015; // 0x00000302 length: 2 + short productivityMod100; // 0x00000304 length: 2 + short productivityDiv100; // 0x00000306 length: 2 + short field178_0x308; // 0x00000308 length: 2 + short idle; // 0x0000030A length: 2 + short banked; // 0x0000030C length: 2 + short target; // 0x0000030E length: 2 + short targetX; // 0x00000310 length: 2 + short targetY; // 0x00000312 length: 2 + short manningEngineerRef[4]; // 0x00000314 length: 8 + int manningEngineerUIDRef; // 0x0000031C length: 4 + undefined1 padding_0x320[12]; // 0x00000320 length: 12 + byte unknownTestAgainst0_1; // 0x0000032C length: 1 + char field199_0x32d; // 0x0000032D length: 1 + byte disappearFadeAlphaCountdown; // 0x0000032E length: 1 + byte engineerManningSiegeStateRef_checkType; // 0x0000032F length: 1 + int someMatchTimeVariable; // 0x00000330 length: 4 + undefined1 padding_0x334[2]; // 0x00000334 length: 2 + short targetID_OR_targetBuildingID; // 0x00000336 length: 2 + short workplaceBuildingID_1; // 0x00000338 length: 2 + short targetX_2; // 0x0000033A length: 2 + short targetY_2; // 0x0000033C length: 2 + short attackedUnitID; // 0x0000033E length: 2 + int field210_0x340; // 0x00000340 length: 4 + short shootTargetedUnit; // 0x00000344 length: 2 + short movementType_OR_targetUnitID; // 0x00000346 length: 2 + short workplaceBuildingTilePosition; // 0x00000348 length: 2 + short calculatedMovementSpeed; // 0x0000034A length: 2 + short movementSpeed; // 0x0000034C length: 2 + undefined1 padding_0x34e[2]; // 0x0000034E length: 2 + int field218_0x350; // 0x00000350 length: 4 + int field219_0x354; // 0x00000354 length: 4 + short unknownTestAgainst0_2; // 0x00000358 length: 2 + short distanceToEnemyUnitLadders; // 0x0000035A length: 2 + short field222_0x35c; // 0x0000035C length: 2 + short climbingDirection; // 0x0000035E length: 2 + short unitCanClimb; // 0x00000360 length: 2 + short stoneAmmunition; // 0x00000362 length: 2 + int climbingState; // 0x00000364 length: 4 + int workplaceBuildingUID; // 0x00000368 length: 4 + short traderHorsesTrader; // 0x0000036C length: 2 + short someUnitStat4; // 0x0000036E length: 2 + short cannotClimb; // 0x00000370 length: 2 + short isDisappearingUnk; // 0x00000372 length: 2 + DestinationNeededEnumShort destinationNeeded; // 0x00000374 length: 2 + short unknownStateCopyClimbRelated; // 0x00000376 length: 2 + short field234_0x378; // 0x00000378 length: 2 + short field235_0x37a; // 0x0000037A length: 2 + short field236_0x37c; // 0x0000037C length: 2 + short field237_0x37e; // 0x0000037E length: 2 + short substate; // 0x00000380 length: 2 + undefined1 padding_0x382[2]; // 0x00000382 length: 2 + uint fixedRng; // 0x00000384 length: 4 + short resourceToDeposit; // 0x00000388 length: 2 + short jugglerCount; // 0x0000038A length: 2 + short tunnelerFrame; // 0x0000038C length: 2 + undefined1 padding_0x38e[4]; // 0x0000038E length: 4 + short seated; // 0x00000392 length: 2 + short resourcesGatheredCount; // 0x00000394 length: 2 + short workerIndex; // 0x00000396 length: 2 + short buildingID; // 0x00000398 length: 2 + short field253_0x39a; // 0x0000039A length: 2 + UnitInstructionTypeShort targetingType; // 0x0000039C length: 2 + short targetedUnitID__OR__engineerMannedSiegeEngineRef; // 0x0000039E length: 2 + int targetedUnitUIDUnk_OR_someAppearTileUnk_OR_buildingUID_OR_pitchDitchUID_OR_entityUID; // 0x000003A0 + // length: 4 + short unkAttackRelated; // 0x000003A4 length: 2 + undefined1 padding_0x3a6[2]; // 0x000003A6 length: 2 + uint targetedBuildingTile; // 0x000003A8 length: 4 + short lookForEnemy; // 0x000003AC length: 2 + short attackedBy; // 0x000003AE length: 2 + short field263_0x3b0; // 0x000003B0 length: 2 + short huntedBy; // 0x000003B2 length: 2 + short digTileX__OR__countCurrentlyManningEnginers__OR__forCowsRandomBelow300; // 0x000003B4 length: 2 + short digTileY__OR__countLifeCycleEngineersSentToManSiegeEngine; // 0x000003B6 length: 2 + int digTileTarget; // 0x000003B8 length: 4 + int field268_0x3bc; // 0x000003BC length: 4 + short field269_0x3c0; // 0x000003C0 length: 2 + char field270_0x3c2; // 0x000003C2 length: 1 + undefined1 padding_0x3c3[1]; // 0x000003C3 length: 1 + byte field272_0x3c4; // 0x000003C4 length: 1 + byte field273_0x3c5; // 0x000003C5 length: 1 + short field274_0x3c6; // 0x000003C6 length: 2 + int health; // 0x000003C8 length: 4 + int maxHealth; // 0x000003CC length: 4 + byte occupancyOrFlag; // 0x000003D0 length: 1 + byte field278_0x3d1; // 0x000003D1 length: 1 + short field279_0x3d2; // 0x000003D2 length: 2 + short unknownBool01; // 0x000003D4 length: 2 + short horseOriginStablesBuildingIndexUnk; // 0x000003D6 length: 2 + short shootBeforeStop; // 0x000003D8 length: 2 + undefined1 padding_0x3da[2]; // 0x000003DA length: 2 + short field285_0x3dc; // 0x000003DC length: 2 + short field286_0x3de; // 0x000003DE length: 2 + undefined1 horseOriginStableIDUnk; // 0x000003E0 length: 1 + undefined1 padding_0x3e1[3]; // 0x000003E1 length: 3 + int blessedAmount; // 0x000003E4 length: 4 + short attackAtTileX; // 0x000003E8 length: 2 + short attackAtTileY; // 0x000003EA length: 2 + byte firstNameIndex; // 0x000003EC length: 1 + byte rng1_to_70; // 0x000003ED length: 1 + char nextAttackHurtsWall; // 0x000003EE length: 1 + undefined1 poleturner_spearOrPike; // 0x000003EF length: 1 + short killedFlagUnk; // 0x000003F0 length: 2 + short field299_0x3f2; // 0x000003F2 length: 2 + short field300_0x3f4; // 0x000003F4 length: 2 + undefined1 padding_0x3f6[2]; // 0x000003F6 length: 2 + byte field303_0x3f8; // 0x000003F8 length: 1 + undefined1 unkLadderClimbRelated; // 0x000003F9 length: 1 + byte fadeCounter; // 0x000003FA length: 1 + byte fadeType; // 0x000003FB length: 1 + short SA; // 0x000003FC length: 2 + byte unknownSiegeTentRelated02; // 0x000003FE length: 1 + byte field309_0x3ff; // 0x000003FF length: 1 + short lastEncounteredEnemyPlayerID; // 0x00000400 length: 2 + byte unknownCountdown_0x402; // 0x00000402 length: 1 + byte wasOnStoneGate; // 0x00000403 length: 1 + int currentTilePosition_2Unk; // 0x00000404 length: 4 + short counter; // 0x00000408 length: 2 + short field315_0x40a; // 0x0000040A length: 2 + bool isMatchingSpeed; // 0x0000040C length: 1 + undefined1 padding_0x40d[3]; // 0x0000040D length: 3 + byte field320_0x410; // 0x00000410 length: 1 + undefined1 padding_0x411[1]; // 0x00000411 length: 1 + byte ownerOfAssassinScaledObject; // 0x00000412 length: 1 + byte field323_0x413; // 0x00000413 length: 1 + short assassinHeightDifference; // 0x00000414 length: 2 + short assassinClimbingUpUnk_OR_previousFacingDirection; // 0x00000416 length: 2 + short field326_0x418; // 0x00000418 length: 2 + undefined2 field327_0x41a; // 0x0000041A length: 2 + int field328_0x41c; // 0x0000041C length: 4 + int field329_0x420; // 0x00000420 length: 4 + short horseArcherShootingVariation; // 0x00000424 length: 2 + short horseArcherShootCheckInterval; // 0x00000426 length: 2 + short field332_0x428; // 0x00000428 length: 2 + short aiUnitBehaviourType; // 0x0000042A length: 2 + short rallyRelatedFlag; // 0x0000042C length: 2 + short engineerRelatedUnk; // 0x0000042E length: 2 + short field336_0x430; // 0x00000430 length: 2 + short siegeTargetPlayerID; // 0x00000432 length: 2 + short unknownLordTypeBasedMissionSpecificValue_01; // 0x00000434 length: 2 + short lastEncounteredEnemyUnitIDUnk; // 0x00000436 length: 2 + int assassinsMicroDistanceToEnemyUnk; // 0x00000438 length: 4 + int enemyNoticeFrequencyUnk; // 0x0000043C length: 4 + ushort field342_0x440; // 0x00000440 length: 2 + short field343_0x442; // 0x00000442 length: 2 + short idleCounterUnk; // 0x00000444 length: 2 + short moveableUnk; // 0x00000446 length: 2 + short friendlyFireCounterUnk; // 0x00000448 length: 2 + short maxHealthRatingLord; // 0x0000044A length: 2 + short unknownCagedogRelatedValue3_01; // 0x0000044C length: 2 + undefined1 padding_0x44e[66]; // 0x0000044E length: 66 + + } Unit; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Unit) == 1168, Unit); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitIDMovementDistancePair.hpp b/src/OpenSHC/Map/Units/UnitIDMovementDistancePair.hpp new file mode 100644 index 0000000..954bb8d --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitIDMovementDistancePair.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitIDMovementDistancePair.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct UnitIDMovementDistancePair { + + short unitID; // 0x00000000 length: 2 + short movementDistance; // 0x00000002 length: 2 + + } UnitIDMovementDistancePair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitIDMovementDistancePair) == 4, UnitIDMovementDistancePair); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitInstructionType.hpp b/src/OpenSHC/Map/Units/UnitInstructionType.hpp new file mode 100644 index 0000000..44c44b1 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitInstructionType.hpp @@ -0,0 +1,36 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitInstructionType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef enum UnitInstructionType { + + UIT_NO_INSTRUCTION_OR_MOVEUnk = 3, // 0x00000003 + UIT_UNIT_ATTACK_UNIT = 4, // 0x00000004 + UIT_ATTACK_LAND = 5, // 0x00000005 + UIT_DIG_MOAT = 6, // 0x00000006 + UIT_FILL_MOAT = 7, // 0x00000007 + UIT_ATTACK_BUILDING = 9, // 0x00000009 + UIT_CONSTRUCT_SIEGE_EQUIPMENTOIL_DUTYENGINEERRELATED = 15, // 0x0000000F + UIT_MAN_SIEGE_EQUIPMENT = 16, // 0x00000010 + UIT_EXIT_SIEGE_EQUIPMENT = 17, // 0x00000011 + UIT_THROW_OIL = 20, // 0x00000014 + UIT_THROW_COW = 22, // 0x00000016 + UIT_ATTACK_WALL = 23, // 0x00000017 + UIT_SET_LADDER = 24, // 0x00000018 + UIT_DISBAND = 30, // 0x0000001E + UIT_STOP = 31, // 0x0000001F + UIT_SHOOT_TARGETUnk = 33, // 0x00000021 + UIT_LIGHT_PITCH = 34 // 0x00000022 + + } UnitInstructionType; + + static_assert_cpp98_obj(sizeof(UnitInstructionType) == 4, UnitInstructionType); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitInstructionTypeInt.hpp b/src/OpenSHC/Map/Units/UnitInstructionTypeInt.hpp new file mode 100644 index 0000000..66d59f5 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitInstructionTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitInstructionTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitInstructionType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef int UnitInstructionTypeInt; + + static_assert_cpp98_obj(sizeof(UnitInstructionTypeInt) == 4, UnitInstructionTypeInt); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitInstructionTypeShort.hpp b/src/OpenSHC/Map/Units/UnitInstructionTypeShort.hpp new file mode 100644 index 0000000..0f2c5f0 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitInstructionTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitInstructionTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitInstructionType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef short UnitInstructionTypeShort; + + static_assert_cpp98_obj(sizeof(UnitInstructionTypeShort) == 2, UnitInstructionTypeShort); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitLogicState.hpp b/src/OpenSHC/Map/Units/UnitLogicState.hpp new file mode 100644 index 0000000..5089a9f --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitLogicState.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitLogicState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef enum UnitLogicState { + + ULS_INVISIBLE = 0, // 0x00000000 + ULS_NORMAL = 2, // 0x00000002 + ULS_REMOVE = 3, // 0x00000003 + ULS_TRANSITIONING = 4 // 0x00000004 + + } UnitLogicState; + + static_assert_cpp98_obj(sizeof(UnitLogicState) == 4, UnitLogicState); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitLogicStateShort.hpp b/src/OpenSHC/Map/Units/UnitLogicStateShort.hpp new file mode 100644 index 0000000..807d260 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitLogicStateShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitLogicStateShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitLogicState.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef short UnitLogicStateShort; + + static_assert_cpp98_obj(sizeof(UnitLogicStateShort) == 2, UnitLogicStateShort); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitPropertiesDefinedData.hpp b/src/OpenSHC/Map/Units/UnitPropertiesDefinedData.hpp new file mode 100644 index 0000000..44a85b0 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitPropertiesDefinedData.hpp @@ -0,0 +1,81 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitPropertiesDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/AnimationFrameData.hpp" +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" +#include "OpenSHC/Util/FunctionTypes/NoArgCallback.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::Map::AnimationFrameData; + using OpenSHC::Map::Navigation::Algorithms::XYPair; + using OpenSHC::Util::FunctionTypes::NoArgCallback; + +#pragma pack(push, 1) + // SIZE: 0x0001226C + typedef struct UnitPropertiesDefinedData { + + byte ANIM_Frames_Shared_UnitClimbingDown[20]; // 0x00000000 length: 20 + NoArgCallback* PTR_UpdateUnitFunctions[80]; // 0x00000014 length: 320 + int DAT_SPRITE_ID[80]; // 0x00000154 length: 320 + int DAT_GRAPHIC_SIZE[80]; // 0x00000294 length: 320 + int DAT_COMPUTER_CONTROLLED[80]; // 0x000003D4 length: 320 + int DAT_COMPUTER_MANAGED[80]; // 0x00000514 length: 320 + int DAT_UNIT_MOVEMENT_SPEED_ARRAY[80]; // 0x00000654 length: 320 + int DAT_ABLE_TO_CLIMB_TOWERS[80]; // 0x00000794 length: 320 + int DAT_UNIT_MOVABLE[80]; // 0x000008D4 length: 320 + int DAT_BASE_HP[80]; // 0x00000A14 length: 320 + int DAT_ARROW_DAMAGE[80]; // 0x00000B54 length: 320 + int DAT_STONE_DAMAGE[80]; // 0x00000C94 length: 320 + int DAT_BOLT_DAMAGE[80]; // 0x00000DD4 length: 320 + int DAT_MELEE_DAMAGE[80][80]; // 0x00000F14 length: 25600 + int DAT_EuroUnitResourceCosts[7][4]; // 0x00007314 length: 112 + undefined1 padding_0x7384[48]; // 0x00007384 length: 48 + int DAT_UNIT_CLIMB[80]; // 0x000073B4 length: 320 + int DAT_SomeUnitStatMatrix4[80]; // 0x000074F4 length: 320 + int field65_0x7634[80]; // 0x00007634 length: 320 + int field66_0x7774[80]; // 0x00007774 length: 320 + int DAT_SomeUnitStatMatrix5[80]; // 0x000078B4 length: 320 + int DAT_NotBlessableUnits[80]; // 0x000079F4 length: 320 + int DAT_UNIT_CAN_MELEE[80]; // 0x00007B34 length: 320 + int DAT_UNIT_ENEMY_NOTICE_RANGE[80]; // 0x00007C74 length: 320 + int DAT_UnitClimbStateFlags[7][80]; // 0x00007DB4 length: 2240 + int DAT_UNIT_SPRITE_DIMENSIONS[80][2]; // 0x00008674 length: 640 + int ANIM_FadeAlpha_Values_1_2[46]; // 0x000088F4 length: 184 + int ANIM_FadeAlpha_Values_3[54]; // 0x000089AC length: 216 + int ANIM_FadeAlpha_Values_4[61]; // 0x00008A84 length: 244 + AnimationFrameData ANIM_Frames_Shared_UnitClimbingUp; // 0x00008B78 length: 33748 + int field77_0x10f4c[328][2]; // 0x00010F4C length: 2624 + int DAT_UnitOrientationRelatedOffset[8][2]; // 0x0001198C length: 64 + int field79_0x119cc[22]; // 0x000119CC length: 88 + int field80_0x11a24[18]; // 0x00011A24 length: 72 + int field81_0x11a6c[110]; // 0x00011A6C length: 440 + int field82_0x11c24[20]; // 0x00011C24 length: 80 + XYPair field83_0x11c74[8]; // 0x00011C74 length: 64 + int field84_0x11cb4[8]; // 0x00011CB4 length: 32 + undefined1 padding_0x11cd4[32]; // 0x00011CD4 length: 32 + int field117_0x11cf4[9][24]; // 0x00011CF4 length: 864 + XYPair field118_0x12054[24]; // 0x00012054 length: 192 + int DAT_UnitVisionBonus[10]; // 0x00012114 length: 40 + XYPair field120_0x1213c[9]; // 0x0001213C length: 72 + XYPair field121_0x12184[9]; // 0x00012184 length: 72 + XYPair field122_0x121cc[9]; // 0x000121CC length: 72 + XYPair field123_0x12214[9]; // 0x00012214 length: 72 + int field124_0x1225c; // 0x0001225C length: 4 + int field125_0x12260; // 0x00012260 length: 4 + int field126_0x12264; // 0x00012264 length: 4 + int field127_0x12268; // 0x00012268 length: 4 + + } UnitPropertiesDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitPropertiesDefinedData) == 74348, UnitPropertiesDefinedData); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitStartupType.hpp b/src/OpenSHC/Map/Units/UnitStartupType.hpp new file mode 100644 index 0000000..7bcd792 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitStartupType.hpp @@ -0,0 +1,39 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitStartupType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef enum UnitStartupType { + + UST_NULL = 0, // 0x00000000 + UST_E_ARCHER = 1, // 0x00000001 + UST_E_XBOW = 2, // 0x00000002 + UST_E_SPEAR = 3, // 0x00000003 + UST_E_PIKE = 4, // 0x00000004 + UST_E_MACE = 5, // 0x00000005 + UST_E_SWORD = 6, // 0x00000006 + UST_E_KNIGHT = 7, // 0x00000007 + UST_UNUSED1 = 8, // 0x00000008 + UST_E_ENGINEER = 9, // 0x00000009 + UST_E_MONK = 10, // 0x0000000A + UST_A_ARCHER = 11, // 0x0000000B + UST_A_SLAVE = 12, // 0x0000000C + UST_A_SLINGER = 13, // 0x0000000D + UST_A_ASSASSIN = 14, // 0x0000000E + UST_A_HARCHER = 15, // 0x0000000F + UST_A_SWORD = 16, // 0x00000010 + UST_A_FIRETHROWER = 17, // 0x00000011 + UST_S_FBALLISTAUNMANNED = 18, // 0x00000012 + UST_BUGGED = 19 // 0x00000013 + + } UnitStartupType; + + static_assert_cpp98_obj(sizeof(UnitStartupType) == 4, UnitStartupType); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitStartupTypeByte.hpp b/src/OpenSHC/Map/Units/UnitStartupTypeByte.hpp new file mode 100644 index 0000000..3390940 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitStartupTypeByte.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitStartupTypeByte.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitStartupType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef byte UnitStartupTypeByte; + + static_assert_cpp98_obj(sizeof(UnitStartupTypeByte) == 1, UnitStartupTypeByte); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitType.hpp b/src/OpenSHC/Map/Units/UnitType.hpp new file mode 100644 index 0000000..d394010 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitType.hpp @@ -0,0 +1,101 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef enum UnitType { + + UT_PEASANT = 1, // 0x00000001 + UT_BURNINGMAN = 2, // 0x00000002 + UT_WOODCUTTER = 3, // 0x00000003 + UT_FLETCHER = 4, // 0x00000004 + UT_TUNNELER = 5, // 0x00000005 + UT_HUNTER = 6, // 0x00000006 + UT_QUARRYMASON = 7, // 0x00000007 + UT_QUARRYWORKER = 8, // 0x00000008 + UT_QUARRYOX = 9, // 0x00000009 + UT_PITCHMAN = 10, // 0x0000000A + UT_WHEATFARMER = 11, // 0x0000000B + UT_HOPSFARMER = 12, // 0x0000000C + UT_APPLEFARMER = 13, // 0x0000000D + UT_DAIRYFARMER = 14, // 0x0000000E + UT_MILLER = 15, // 0x0000000F + UT_BAKER = 16, // 0x00000010 + UT_BREWER = 17, // 0x00000011 + UT_POLETURNER = 18, // 0x00000012 + UT_SMITH = 19, // 0x00000013 + UT_ARMORER = 20, // 0x00000014 + UT_TANNER = 21, // 0x00000015 + UT_E_ARCHER = 22, // 0x00000016 + UT_E_XBOW = 23, // 0x00000017 + UT_E_SPEAR = 24, // 0x00000018 + UT_E_PIKE = 25, // 0x00000019 + UT_E_MACE = 26, // 0x0000001A + UT_E_SWORD = 27, // 0x0000001B + UT_E_KNIGHT = 28, // 0x0000001C + UT_E_LADDER = 29, // 0x0000001D + UT_E_ENGINEER = 30, // 0x0000001E + UT_MINER = 31, // 0x0000001F + UT_TRANSPORTMINER = 32, // 0x00000020 + UT_PRIEST = 33, // 0x00000021 + UT_HEALER = 34, // 0x00000022 + UT_DRUNK = 35, // 0x00000023 + UT_INNKEEPER = 36, // 0x00000024 + UT_E_MONK = 37, // 0x00000025 + UT_E_ARCHER_DEBUG = 38, // 0x00000026 + UT_S_CATAPULT = 39, // 0x00000027 + UT_S_TREBUCHET = 40, // 0x00000028 + UT_S_MANGONEL = 41, // 0x00000029 + UT_TRADER = 42, // 0x0000002A + UT_TRADERHORSE = 43, // 0x0000002B + UT_ANTELOPESHDEER = 44, // 0x0000002C + UT_LIONSHWOLF = 45, // 0x0000002D + UT_RABBIT = 46, // 0x0000002E + UT_CAMELSHBEAR = 47, // 0x0000002F + UT_CROW = 48, // 0x00000030 + UT_SEAGULL = 49, // 0x00000031 + UT_S_SIEGETENT = 50, // 0x00000032 + UT_COW = 51, // 0x00000033 + UT_HUNTERDOG = 52, // 0x00000034 + UT_FIREFIGHTER = 53, // 0x00000035 + UT_GHOST = 54, // 0x00000036 + UT_LORD = 55, // 0x00000037 + UT_LADY = 56, // 0x00000038 + UT_JESTER = 57, // 0x00000039 + UT_S_TOWER = 58, // 0x0000003A + UT_S_BATTERINGRAM = 59, // 0x0000003B + UT_S_SHIELD = 60, // 0x0000003C + UT_S_BALLISTA = 61, // 0x0000003D + UT_CHICKEN = 62, // 0x0000003E + UT_MOTHER = 63, // 0x0000003F + UT_CHILD = 64, // 0x00000040 + UT_JUGGLER = 65, // 0x00000041 + UT_FIREEATER = 66, // 0x00000042 + UT_CAGEDOG = 67, // 0x00000043 + UT_BURNING_ANIMAL_BIG = 68, // 0x00000044 + UT_BURNING_ANIMAL_SMALL = 69, // 0x00000045 + UT_A_ARCHER = 70, // 0x00000046 + UT_A_SLAVE = 71, // 0x00000047 + UT_A_SLINGER = 72, // 0x00000048 + UT_A_ASSASSIN = 73, // 0x00000049 + UT_A_HARCHER = 74, // 0x0000004A + UT_A_SWORDSMAN = 75, // 0x0000004B + UT_A_FIRETHROWER = 76, // 0x0000004C + UT_S_FBALLISTA = 77, // 0x0000004D + UT_UNKNOWN2 = 78, // 0x0000004E + UT_UNKNOWN3 = 79, // 0x0000004F + UnitTypeInt__UT_UNKNOWN1 = 38, // 0x00000026 + UnitTypeInt__UT_BURNING_ANIMAL_1 = 68, // 0x00000044 + UnitTypeInt__UT_BURNING_ANIMAL_2 = 69 // 0x00000045 + + } UnitType; + + static_assert_cpp98_obj(sizeof(UnitType) == 4, UnitType); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitTypeInt.hpp b/src/OpenSHC/Map/Units/UnitTypeInt.hpp new file mode 100644 index 0000000..4cda7a9 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef int UnitTypeInt; + + static_assert_cpp98_obj(sizeof(UnitTypeInt) == 4, UnitTypeInt); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitTypeShort.hpp b/src/OpenSHC/Map/Units/UnitTypeShort.hpp new file mode 100644 index 0000000..91ef0ab --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Units/UnitType.hpp" + +namespace OpenSHC { +namespace Map { + namespace Units { + typedef short UnitTypeShort; + + static_assert_cpp98_obj(sizeof(UnitTypeShort) == 2, UnitTypeShort); + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitsState.func.hpp b/src/OpenSHC/Map/Units/UnitsState.func.hpp new file mode 100644 index 0000000..5b62858 --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitsState.func.hpp @@ -0,0 +1,786 @@ +/** + path: 'OpenSHC/Map/Units/UnitsState.func.hpp' +*/ + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Entities/EntityTypeInt.hpp" +#include "OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitsState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Map { + namespace Units { + namespace UnitsState_Func { + + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Map::Entities::EntityTypeInt; + using OpenSHC::Map::Units::UnitInstructionTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Map::Units::Instructions::MatchSpeedInstructionEnumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x0052E7B0, &UnitsState::clearAllUnits) + clearAllUnits; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(UnitTypeInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x0052E830, &UnitsState::assignPeasantToBuilding) + assignPeasantToBuilding; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x0052E960, &UnitsState::euroRecruit) + euroRecruit; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(UnitTypeInt, undefined4, int, int), false, + Address::SHC_3BB0A8C1_0x0052EC10, &UnitsState::nonEuroRecruit) + nonEuroRecruit; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052EDC0, &UnitsState::disbandUnit) + disbandUnit; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052EED0, &UnitsState::assignNameToUnit) + assignNameToUnit; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x0052F010, + &UnitsState::removeUnitFromItsTribe) + removeUnitFromItsTribe; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F070, + &UnitsState::makeUnitStopWalkingByClearingPathProgressState) + makeUnitStopWalkingByClearingPathProgressState; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052F0A0, + &UnitsState::checkUnitHasPropertyBasedOnUnitType) + checkUnitHasPropertyBasedOnUnitType; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F0D0, + &UnitsState::recomputeUnitStandingHeight) + recomputeUnitStandingHeight; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052F260, + &UnitsState::setMoveDelayForUnitsOnSameTiles) + setMoveDelayForUnitsOnSameTiles; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052F440, + &UnitsState::setupUnitSharingTileIDs) + setupUnitSharingTileIDs; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F4E0, &UnitsState::meth_0x52f4e0) + meth_0x52f4e0; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F550, + &UnitsState::ifAnyUnitOnSameTileIsLadder) + ifAnyUnitOnSameTileIsLadder; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052F5B0, + &UnitsState::ifAnyUnitOnSameTileIsLadderInRightDirection) + ifAnyUnitOnSameTileIsLadderInRightDirection; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F680, &UnitsState::FUN_0052f680) + FUN_0052f680; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x0052F730, + &UnitsState::removeUnitsSameTileLinkageIfNoLongerApplicable) + removeUnitsSameTileLinkageIfNoLongerApplicable; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052F7E0, + &UnitsState::calculateUnitMovementSpeed) + calculateUnitMovementSpeed; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052FBB0, &UnitsState::meth_0x52fbb0) + meth_0x52fbb0; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0052FBF0, &UnitsState::meth_0x52fbf0) + meth_0x52fbf0; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FC30, &UnitsState::meth_0x52fc30) + meth_0x52fc30; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052FCA0, + &UnitsState::meth_0x52fca0) + meth_0x52fca0; + + 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(bool (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052FE90, + &UnitsState::setUnitFacingDirectionForTargetXandY) + setUnitFacingDirectionForTargetXandY; + + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052FF80, + &UnitsState::setUnitFacingDirectionBasedOnBuilding) + setUnitFacingDirectionBasedOnBuilding; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530080, &UnitsState::FUN_00530080) + FUN_00530080; + + 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( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530240, &UnitsState::meth_0x530240) + meth_0x530240; + + 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::*)(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_0x00530500, + &UnitsState::makeCourtMemberUnitsDisappearAndSwapAllOtherUnitsOwnership) + makeCourtMemberUnitsDisappearAndSwapAllOtherUnitsOwnership; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530650, + &UnitsState::makeUnitsDisappearThatCannotReachTheKeep) + makeUnitsDisappearThatCannotReachTheKeep; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530880, &UnitsState::setRandomNumberOnCows) + setRandomNumberOnCows; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005308F0, + &UnitsState::setMissionNumberSpecificLord) + setMissionNumberSpecificLord; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00530FD0, + &UnitsState::checkIfCitizenUnitIsAliveBasedOnStateUnk) + checkIfCitizenUnitIsAliveBasedOnStateUnk; + + MACRO_FUNCTION_RESOLVER( + bool (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00531000, &UnitsState::meth_0x531000) + meth_0x531000; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005311F0, + &UnitsState::ComputeDamageFearFactorBonus) + ComputeDamageFearFactorBonus; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00531220, + &UnitsState::processUnitAttackOtherUnit) + processUnitAttackOtherUnit; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00531920, + &UnitsState::processEntityDamageToUnit) + processEntityDamageToUnit; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00532460, + &UnitsState::processFireDamageToUnit) + processFireDamageToUnit; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, EntityTypeInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x00532700, &UnitsState::shootProjectile) + shootProjectile; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00532BA0, + &UnitsState::recomputeTroopValuesForPlayer) + recomputeTroopValuesForPlayer; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00532F60, &UnitsState::getArmySize) + getArmySize; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00532F80, + &UnitsState::distanceComputationForSomeOldCodeForSomeMissions) + distanceComputationForSomeOldCodeForSomeMissions; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00533090, &UnitsState::FUN_00533090) + FUN_00533090; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x005330A0, + &UnitsState::setRandomShootLocation) + setRandomShootLocation; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005334A0, + &UnitsState::getRemainingRequiredEngineers) + getRemainingRequiredEngineers; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533580, + &UnitsState::checkTargetBuildingPossibilityOrState) + checkTargetBuildingPossibilityOrState; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533630, + &UnitsState::findClosestLaddermanWithLadderPosition) + findClosestLaddermanWithLadderPosition; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00533810, &UnitsState::meth_0x533810) + meth_0x533810; + + 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(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005339A0, + &UnitsState::unitReachedDestinationUnk) + unitReachedDestinationUnk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005339F0, &UnitsState::meth_0x5339f0) + meth_0x5339f0; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00533A10, &UnitsState::ladderClimbRelatedUnk) + ladderClimbRelatedUnk; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00533B30, + &UnitsState::changeDestinationByAmount) + changeDestinationByAmount; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533C70, + &UnitsState::changeDestinationByLeftover) + changeDestinationByLeftover; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533CA0, + &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_0x00533F90, &UnitsState::meth_0x533f90) + meth_0x533f90; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00533FC0, &UnitsState::meth_0x533fc0) + meth_0x533fc0; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00534030, &UnitsState::updateMicroPosition) + updateMicroPosition; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005340F0, + &UnitsState::adjustUnitMapOrientationRelatedPositionBasedOnMapOrientationCorrectedFacingDirection) + adjustUnitMapOrientationRelatedPositionBasedOnMapOrientationCorrectedFacingDirection; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(uint), false, Address::SHC_3BB0A8C1_0x00534130, &UnitsState::meth_0x534130) + meth_0x534130; + + 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, int), false, Address::SHC_3BB0A8C1_0x005343F0, + &UnitsState::setWorkplaceBuildingEntryAsTarget) + setWorkplaceBuildingEntryAsTarget; + + MACRO_FUNCTION_RESOLVER( + 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, 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; + + 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_0x00534D10, &UnitsState::meth_0x534d10) + meth_0x534d10; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00534EE0, &UnitsState::meth_0x534ee0) + meth_0x534ee0; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005350B0, &UnitsState::meth_0x5350b0) + meth_0x5350b0; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535150, &UnitsState::deselectAllUnitsOneByOne) + deselectAllUnitsOneByOne; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00535190, &UnitsState::deselectUnit) + deselectUnit; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005351C0, + &UnitsState::filterUnitSelectionExcludeUnitType) + filterUnitSelectionExcludeUnitType; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00535200, + &UnitsState::filterUnitSelectionForUnitType) + filterUnitSelectionForUnitType; + + MACRO_FUNCTION_RESOLVER( + 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( + BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535550, &UnitsState::meth_0x535550) + meth_0x535550; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535560, &UnitsState::meth_0x535560) + meth_0x535560; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535580, &UnitsState::meth_0x535580) + meth_0x535580; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005355E0, &UnitsState::meth_0x5355e0) + meth_0x5355e0; + + MACRO_FUNCTION_RESOLVER( + uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535680, &UnitsState::meth_0x535680) + meth_0x535680; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535700, &UnitsState::meth_0x535700) + meth_0x535700; + + 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(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( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535870, &UnitsState::meth_0x535870) + meth_0x535870; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005358C0, &UnitsState::meth_0x5358c0) + meth_0x5358c0; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535910, &UnitsState::meth_0x535910) + meth_0x535910; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535980, &UnitsState::meth_0x535980) + meth_0x535980; + + MACRO_FUNCTION_RESOLVER( + uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005359C0, &UnitsState::meth_0x5359c0) + meth_0x5359c0; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535A30, &UnitsState::createUnitSelection) + createUnitSelection; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00535B00, + &UnitsState::createTribeFromSelectedUnits) + createTribeFromSelectedUnits; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00535BC0, + &UnitsState::playerMakeUnitSelection) + playerMakeUnitSelection; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00535DF0, &UnitsState::FUN_00535df0) + FUN_00535df0; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00535E20, + &UnitsState::siegeEngineRelated) + siegeEngineRelated; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00535FD0, + &UnitsState::makeSelectionBasedOnShortcut) + makeSelectionBasedOnShortcut; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005360A0, + &UnitsState::isUnitShortcutAvailable) + isUnitShortcutAvailable; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00536190, &UnitsState::tribeRelated1) + tribeRelated1; + + MACRO_FUNCTION_RESOLVER(UnitTypeInt (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( + uint (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x005362F0, &UnitsState::meth_0x5362f0) + meth_0x5362f0; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536370, &UnitsState::meth_0x536370) + meth_0x536370; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536400, &UnitsState::meth_0x536400) + meth_0x536400; + + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005364C0, + &UnitsState::returnFirstSelectedEngineer) + returnFirstSelectedEngineer; + + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536530, + &UnitsState::getTunnelerIDOnlyIfFirstSelected) + getTunnelerIDOnlyIfFirstSelected; + + MACRO_FUNCTION_RESOLVER( + uint (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x005365A0, &UnitsState::meth_0x5365a0) + meth_0x5365a0; + + 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_0x00536710, &UnitsState::meth_0x536710) + meth_0x536710; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00536780, &UnitsState::meth_0x536780) + meth_0x536780; + + 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(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; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00536C90, &UnitsState::queueCommand0xF) + queueCommand0xF; + + 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; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00536DE0, &UnitsState::meth_0x536de0) + meth_0x536de0; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00536E30, &UnitsState::giveMoveCommand) + giveMoveCommand; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, uint, uint, int, MatchSpeedInstructionEnumInt), false, + Address::SHC_3BB0A8C1_0x00537070, &UnitsState::giveTribeMoveInstructionHumans) + giveTribeMoveInstructionHumans; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x005370C0, + &UnitsState::extendRallyPoint) + extendRallyPoint; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00537100, &UnitsState::FUN_00537100) + FUN_00537100; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00537130, &UnitsState::FUN_00537130) + FUN_00537130; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(undefined4, undefined4, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00537160, &UnitsState::queueCommand_36d) + queueCommand_36d; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(undefined4, UnitInstructionTypeInt, undefined4, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x005371A0, &UnitsState::queueCommand_36_variation2) + queueCommand_36_variation2; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, UnitInstructionTypeInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x005371E0, &UnitsState::giveTribeAnInstruction2) + giveTribeAnInstruction2; + + MACRO_FUNCTION_RESOLVER(uint (UnitsState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x005371F0, + &UnitsState::findFreeTileNearby) + findFreeTileNearby; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00537700, + &UnitsState::findTunnelTarget) + findTunnelTarget; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x005377F0, &UnitsState::getAliveLordForPlayer) + getAliveLordForPlayer; + + MACRO_FUNCTION_RESOLVER( + 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( + int (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00537A00, &UnitsState::meth_0x537a00) + meth_0x537a00; + + 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; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00537D60, + &UnitsState::tryAttackUnitID) + tryAttackUnitID; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00537E00, + &UnitsState::setTowerSiegeEngineToIdle) + setTowerSiegeEngineToIdle; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00537EE0, + &UnitsState::setAIControlStatusTo100000) + setAIControlStatusTo100000; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int, int*), false, Address::SHC_3BB0A8C1_0x00537F60, &UnitsState::FUN_00537f60) + FUN_00537f60; + + MACRO_FUNCTION_RESOLVER( + GmIDInt (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00539BE0, &UnitsState::getPeasantGmID) + getPeasantGmID; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int*, int*), false, Address::SHC_3BB0A8C1_0x00539DF0, + &UnitsState::chooseHusbandAndWife) + chooseHusbandAndWife; + + MACRO_FUNCTION_RESOLVER( + undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A070, &UnitsState::meth_0x53a070) + meth_0x53a070; + + 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_0x0053A4D0, &UnitsState::meth_0x53a4d0) + meth_0x53a4d0; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053A560, &UnitsState::getLivingSelectableUnit) + getLivingSelectableUnit; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0053A5B0, + &UnitsState::renderDebugDataUnitData) + renderDebugDataUnitData; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, UnitTypeInt), false, Address::SHC_3BB0A8C1_0x0053B8E0, + &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_0x0053BB70, + &UnitsState::setupUnitSharingCurrentTilePosition) + setupUnitSharingCurrentTilePosition; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053BB90, + &UnitsState::teleportUnitToUnitXAndY) + teleportUnitToUnitXAndY; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0053CAE0, + &UnitsState::getEnemyUnitIDNearby) + getEnemyUnitIDNearby; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0053CBD0, + &UnitsState::prepareProjectileTarget) + prepareProjectileTarget; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053D030, + &UnitsState::harassBuildingsAIUnk) + harassBuildingsAIUnk; + + 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_0x0053D900, &UnitsState::exitLadder) + exitLadder; + + MACRO_FUNCTION_RESOLVER( + uint (UnitsState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0053D9C0, &UnitsState::getUnitInHitBox) + getUnitInHitBox; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0053DCC0, + &UnitsState::setTargetedBuildingDestinationUnk) + setTargetedBuildingDestinationUnk; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053DDD0, &UnitsState::meth_0x53ddd0) + meth_0x53ddd0; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(PackagedFileMagicNumInt, PackagedFileMagicNumInt), false, + Address::SHC_3BB0A8C1_0x0053E390, &UnitsState::upgradeMapFormatForUnits) + upgradeMapFormatForUnits; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int, int, int, int, int, UnitTypeInt), false, + Address::SHC_3BB0A8C1_0x0053E440, &UnitsState::spawnUnit) + spawnUnit; + + MACRO_FUNCTION_RESOLVER( + int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E6C0, &UnitsState::changeUnitType) + changeUnitType; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(uint), false, Address::SHC_3BB0A8C1_0x0053E790, &UnitsState::deleteUnit) + deleteUnit; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E820, &UnitsState::commitUnitLocation) + commitUnitLocation; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E870, &UnitsState::someUnitMoveFunction) + someUnitMoveFunction; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E8D0, &UnitsState::meth_0x53e8d0) + meth_0x53e8d0; + + MACRO_FUNCTION_RESOLVER(void (UnitsState::*)(int, uint, uint, undefined4), false, + Address::SHC_3BB0A8C1_0x0053E900, &UnitsState::setPositionOfUnit) + setPositionOfUnit; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0053E9F0, &UnitsState::commitMimmicLocation) + commitMimmicLocation; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x00540040, + &UnitsState::ifOnADefensiveStructureSetDestinationInDirectionOfTarget) + ifOnADefensiveStructureSetDestinationInDirectionOfTarget; + + MACRO_FUNCTION_RESOLVER( + 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(dword (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054A7B0, + &UnitsState::findNearestEnemyAndHeadTowardsItUnk) + findNearestEnemyAndHeadTowardsItUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(short*), false, Address::SHC_3BB0A8C1_0x0054B0D0, + &UnitsState::canShootTargetUnk) + canShootTargetUnk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054BFC0, &UnitsState::updateClimbing) + updateClimbing; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054C1C0, &UnitsState::unitClimbing) + unitClimbing; + + MACRO_FUNCTION_RESOLVER(int (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054C4F0, + &UnitsState::handleUnitMovementWhenTargetingBuildings) + handleUnitMovementWhenTargetingBuildings; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (UnitsState::*)(int), false, Address::SHC_3BB0A8C1_0x0054C610, + &UnitsState::moveToFreeTileNearby) + moveToFreeTileNearby; + + MACRO_FUNCTION_RESOLVER(undefined4 (UnitsState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00578C40, + &UnitsState::processUnitMove) + processUnitMove; + + MACRO_FUNCTION_RESOLVER( + void (UnitsState::*)(), false, Address::SHC_3BB0A8C1_0x00579300, &UnitsState::updateUnits) + updateUnits; + + } // namespace UnitsState_Func + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Units/UnitsState.hpp b/src/OpenSHC/Map/Units/UnitsState.hpp new file mode 100644 index 0000000..521db8c --- /dev/null +++ b/src/OpenSHC/Map/Units/UnitsState.hpp @@ -0,0 +1,497 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Units/UnitsState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/IO/PackagedFileMagicNumInt.hpp" +#include "OpenSHC/Map/Entities/EntityTypeInt.hpp" +#include "OpenSHC/Map/Units/Instructions/MatchSpeedInstructionEnumInt.hpp" +#include "OpenSHC/Map/Units/Unit.hpp" +#include "OpenSHC/Map/Units/UnitInstructionTypeInt.hpp" +#include "OpenSHC/Map/Units/UnitTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Map { + namespace Units { + + using OpenSHC::IO::PackagedFileMagicNumInt; + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Map::Entities::EntityTypeInt; + using OpenSHC::Map::Units::Unit; + using OpenSHC::Map::Units::UnitInstructionTypeInt; + using OpenSHC::Map::Units::UnitTypeInt; + using OpenSHC::Map::Units::Instructions::MatchSpeedInstructionEnumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x002CA7E4 + class UnitsState { + public: + uint maxUnitCount; // 0x00000000 length: 4 + uint DAT_UnitCount; // 0x00000004 length: 4 + undefined4 unknownInitially0_01; // 0x00000008 length: 4 + undefined4 DAT_LastSelectedUnitID; // 0x0000000C length: 4 + undefined4 unitControlsRelated; // 0x00000010 length: 4 + undefined4 field5_0x14; // 0x00000014 length: 4 + undefined4 DAT_LostChimps; // 0x00000018 length: 4 + undefined4 unitDistanceComputationResultUnk; // 0x0000001C length: 4 + undefined4 totalUnitsInSelection; // 0x00000020 length: 4 + int unitCountOfSelection[9]; // 0x00000024 length: 36 + byte unusedBytes01[44]; // 0x00000048 length: 44 + 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 + undefined4 selectionEuropeanArchers; // 0x00000564 length: 4 + undefined4 selectionSpearmen; // 0x00000568 length: 4 + undefined4 selectionMacemen; // 0x0000056C length: 4 + undefined4 selectionCrossbowmen; // 0x00000570 length: 4 + undefined4 selectionPikemen; // 0x00000574 length: 4 + undefined4 selectionSwordsmen; // 0x00000578 length: 4 + undefined4 selectionKnights; // 0x0000057C length: 4 + undefined4 selectionEngineers; // 0x00000580 length: 4 + int selectionLaddermen; // 0x00000584 length: 4 + int selectionTunnelers; // 0x00000588 length: 4 + int selectionMonks; // 0x0000058C length: 4 + int selectionCatapults; // 0x00000590 length: 4 + int selectionTrebuchets; // 0x00000594 length: 4 + int selectionBatteringRam; // 0x00000598 length: 4 + int selectionSiegeTower; // 0x0000059C length: 4 + int selectionShield; // 0x000005A0 length: 4 + int selectionMangonel; // 0x000005A4 length: 4 + int selectionBallista; // 0x000005A8 length: 4 + int field34_0x5ac; // 0x000005AC length: 4 + int selectionArabArcher; // 0x000005B0 length: 4 + int selectionArabSlave; // 0x000005B4 length: 4 + int selectionArabSlinger; // 0x000005B8 length: 4 + int selectionArabAssassin; // 0x000005BC length: 4 + int selectionArabHorseArchers; // 0x000005C0 length: 4 + int selectionArabSwordsman; // 0x000005C4 length: 4 + int selectionArabFireThrower; // 0x000005C8 length: 4 + int selectionFireBallista; // 0x000005CC length: 4 + int selectionSlots[8]; // 0x000005D0 length: 32 + int field44_0x5f0; // 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 + undefined4 DAT_EuroUnitAcquisitionFailReason; // 0x0000060C length: 4 + undefined4 DAT_EuroUnitRequiredResource; // 0x00000610 length: 4 + Unit units[2500]; // 0x00000614 length: 2920000 + short unusedUnitIDArray[2500]; // 0x002C9454 length: 5000 + int unusedUnitIDArrayIndex; // 0x002CA7DC length: 4 + DWORD creationTime; // 0x002CA7E0 length: 4 + + private: + UnitsState(UnitsState const&); + void operator=(UnitsState const&); + + UnitsState(); + ~UnitsState(); + + public: + // Constructor + UnitsState* Constructor_UnitsState(); + + void clearAllUnits(); + + int assignPeasantToBuilding(UnitTypeInt unitType, int buildingID, int playerID, int workerIndex); + + int euroRecruit(int unitType, undefined4 playersBarracksID, int playerID, int param_4); + + int nonEuroRecruit(UnitTypeInt unitType, undefined4 recruitmentBuilding, int playerID, int param_4); + + int disbandUnit(int unitID); + + void assignNameToUnit(int unitID); + + void removeUnitFromItsTribe(uint unitID, int unitUID); + + void makeUnitStopWalkingByClearingPathProgressState(int unitID); + + int checkUnitHasPropertyBasedOnUnitType(int unitID, int property); + + void recomputeUnitStandingHeight(int unitID); + + void setMoveDelayForUnitsOnSameTiles(int unitID, int unitIDCurrentTilePosition); + + void setupUnitSharingTileIDs(int unitID, int unitCurrentTilePosition); + + undefined4 meth_0x52f4e0(int unitID); + + BOOLEnum ifAnyUnitOnSameTileIsLadder(int unitID); + + undefined4 ifAnyUnitOnSameTileIsLadderInRightDirection(int tile, int y); + + void FUN_0052f680(int tile); + + void removeUnitsSameTileLinkageIfNoLongerApplicable(); + + void calculateUnitMovementSpeed(int unitID); + + undefined4 meth_0x52fbb0(int param_1); + + undefined4 meth_0x52fbf0(int param_1); + + void meth_0x52fc30(int param_1, int param_2); + + void meth_0x52fca0(int param_1, int param_2, int param_3); + + undefined4 setUnitFacingDirectionTowardsTarget(int unitID, int targetUnitID); + + void FUN_0052fe00(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); + + void playHurtSFXForUnit(int unitID); + + int meth_0x5301f0(int param_1); + + void meth_0x530240(int param_1); + + void killAllUnownedUnits(); + + void meth_0x530310(); + + void killUnits(int playerID); + + void meth_0x530400(int fromPlayer, int toPlayer); + + void makeCourtMemberUnitsDisappearAndSwapAllOtherUnitsOwnership(int param_1, int param_2); + + void makeUnitsDisappearThatCannotReachTheKeep(int playerID); + + void setRandomNumberOnCows(int playerID); + + void setMissionNumberSpecificLord(int missionNumber); + + BOOLEnum checkIfCitizenUnitIsAliveBasedOnStateUnk(int param_1); + + bool meth_0x531000(int param_1, int param_2); + + int ComputeDamageFearFactorBonus(int damage, int playerID); + + undefined4 processUnitAttackOtherUnit(int unitID, int unit2ID); + + BOOLEnum processEntityDamageToUnit(int unitID, int entityID, int tileDistance); + + undefined4 processFireDamageToUnit(int unitID, int playerID, int halfTheDamage); + + void shootProjectile(int unitID, EntityTypeInt projectileType, int targetX, int targetY, int targetZUnk); + + void recomputeTroopValuesForPlayer(int playerID); + + int getArmySize(int playerID); + + int distanceComputationForSomeOldCodeForSomeMissions(int param_1); + + BOOLEnum FUN_00533090(); + + void setRandomShootLocation(int unitID, int microX, int microY, int z); + + int getRemainingRequiredEngineers(int unitID); + + BOOLEnum checkTargetBuildingPossibilityOrState(int unitID); + + BOOLEnum findClosestLaddermanWithLadderPosition(int unitID); + + int meth_0x533810(int param_1, int param_2); + + BOOLEnum getDestination2EqualsGivenCoordinates(int unitID, int x, int y); + + bool meth_0x533960(int param_1); + + BOOLEnum unitReachedDestinationUnk(int unitID); + + BOOLEnum meth_0x5339f0(int param_1); + + undefined4 ladderClimbRelatedUnk(int unitID, uint param_2, int param_3, int param_4); + + void changeDestinationByAmount(int unitID, int leftover); + + void changeDestinationByLeftover(int unitID); + + void tracePathFromLadderExitSetDestination(int unitID); + + void FUN_00533d50(int unitID); + + void meth_0x533f90(int param_1); + + void meth_0x533fc0(int param_1); + + void updateMicroPosition(int unitID); + + void adjustUnitMapOrientationRelatedPositionBasedOnMapOrientationCorrectedFacingDirection(int param_1); + + void meth_0x534130(uint unitID); + + int stopUnitIfNextToTarget(int unitID); + + undefined4 meth_0x534380(int param_1); + + undefined4 setWorkplaceBuildingEntryAsTarget(int unitID, int entryAngleUnk); + + BOOLEnum unitIsInMoat(int unitID); + + void meth_0x534490(int param_1); + + void writeSixToTileMap1104InAllDirections(int unitID, undefined4 six); + + int getUnitThatFulfillsSomeTimebasedAndLocationBasedCriteria( + int unitID, int playerID, int unitXPosition, int unitYPosition, int zero1, int zero2); + + int selectNewBlessingTarget(int unitID); + + void meth_0x5347e0(); + + void meth_0x534d10(); + + void meth_0x534ee0(); + + void meth_0x5350b0(int param_1, int param_2); + + void deselectAllUnitsOneByOne(); + + void deselectUnit(int unitID); + + void filterUnitSelectionExcludeUnitType(int unitType); + + void filterUnitSelectionForUnitType(int unitType); + + void recountUnitsInSelection(); + + int meth_0x535520(); + + BOOLEnum meth_0x535550(); + + BOOLEnum meth_0x535560(); + + undefined4 meth_0x535580(); + + undefined4 meth_0x5355e0(); + + uint meth_0x535680(); + + int meth_0x535700(); + + BOOLEnum selectionContainsRangedOnlyUnits(); + + int meth_0x5357e0(); + + BOOLEnum selectionContainsOnlyArabAssassins(); + + int meth_0x535840(); + + undefined4 meth_0x535870(); + + undefined4 meth_0x5358c0(); + + undefined4 meth_0x535910(); + + undefined4 meth_0x535980(); + + uint meth_0x5359c0(); + + int createUnitSelection(); + + int createTribeFromSelectedUnits(); + + void playerMakeUnitSelection(int playerID, int tribeID); + + void FUN_00535df0(undefined4 param_1); + + void siegeEngineRelated(int playerID, int unitID, int tribeID); + + void makeSelectionBasedOnShortcut(int section1099ID); + + BOOLEnum isUnitShortcutAvailable(int unitHotKeyNumber); + + void tribeRelated1(int playerID, int tribeID); + + UnitTypeInt getUnitTypeOfFirstSelectedUnit(); + + undefined4 meth_0x536260(); + + uint meth_0x5362f0(int param_1, int param_2); + + int meth_0x536370(); + + undefined4 meth_0x536400(); + + uint returnFirstSelectedEngineer(); + + uint getTunnelerIDOnlyIfFirstSelected(); + + uint meth_0x5365a0(); + + undefined4 canAUnitClimb(); + + uint meth_0x536690(); + + uint meth_0x536710(); + + BOOLEnum meth_0x536780(int param_1); + + undefined4 checkAnySelectedUnitCannotClimb(); + + BOOLEnum meth_0x5369f0(int param_1); + + int selectionContainsCombatUnit(uint unitID); + + void FUN_00536c70(); + + void queueCommand0xF(undefined4 unitType); + + void queueClickNavigateMenuOrEscape(undefined4 param_1); + + void tribeRelated2(int playerID, uint unitID, int unitType); + + void meth_0x536de0(); + + void giveMoveCommand(int tribeID, int x, int y, int patrol, int matchUnitSpeeds); + + void giveTribeMoveInstructionHumans( + int tribeID, uint x, uint y, int rallyBool, MatchSpeedInstructionEnumInt speedMatching); + + void extendRallyPoint(int tribeID, int mouseX, int mouseY, int rallyCount); + + void FUN_00537100(undefined4 param_1, undefined4 param_2); + + void FUN_00537130(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 queueCommand_36_variation2(undefined4 param_1, UnitInstructionTypeInt instruction, undefined4 param_3, + undefined4 param_4, undefined4 param_5); + + void giveTribeAnInstruction2( + int tribeID, UnitInstructionTypeInt instructionType, int targetID_1, int targetID_2, int param_5); + + uint findFreeTileNearby(uint unitID, uint tile); + + BOOLEnum findTunnelTarget(int originBuildingID, int targetPlayer); + + int getAliveLordForPlayer(int playerID); + + int getRawDeerCount(); + + void meth_0x537880(int param_1); + + int meth_0x537a00(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); + + undefined4 tryAttackUnitID(int unitID_1, int unitID_2); + + void setTowerSiegeEngineToIdle(int buildingID); + + void setAIControlStatusTo100000(); + + int FUN_00537f60(int unitIndex, int* param_2); + + GmIDInt getPeasantGmID(int unitID); + + undefined4 chooseHusbandAndWife(int* husbandID, int* wifeID); + + undefined4 meth_0x53a070(int param_1); + + int meth_0x53a150(int param_1); + + int meth_0x53a4d0(int param_1); + + int getLivingSelectableUnit(int playerID); + + void renderDebugDataUnitData(int x, int y, int width, int height); + + void setUnitValues(int unitID, UnitTypeInt unitType); + + void updateUnitPositionUnk(int unitID); + + void setupUnitSharingCurrentTilePosition(int unitID); + + void teleportUnitToUnitXAndY(int unitID); + + int getEnemyUnitIDNearby(int unitID, int tileUnk, int unitHeight); + + int prepareProjectileTarget(int shooterID, int targetID, int param_3); + + undefined4 harassBuildingsAIUnk(int unitID); + + BOOLEnum setDestinationForUnit(int unitID, uint x, uint y, int reusePathingInfo); + + void meth_0x53d850(int unitID); + + void exitLadder(int unitID); + + uint getUnitInHitBox(undefined4 param_1); + + undefined4 setTargetedBuildingDestinationUnk(int unitID, int param_2); + + int meth_0x53ddd0(int unitID); + + void upgradeMapFormatForUnits( + PackagedFileMagicNumInt receivedMapVersion, PackagedFileMagicNumInt packagerMapVersion); + + int spawnUnit(int playerID, int displayColor, int microXPosition, int microYPosition, int terrainHeight, + UnitTypeInt unitType); + + int changeUnitType(int unitID); + + void deleteUnit(uint unitID); + + void commitUnitLocation(int unitID); + + void someUnitMoveFunction(int unitID); + + void meth_0x53e8d0(int unitID); + + void setPositionOfUnit(int unitID, uint x, uint y, undefined4 height); + + void commitMimmicLocation(int unitID); + + BOOLEnum ifOnADefensiveStructureSetDestinationInDirectionOfTarget(int unitID); + + void processMeleeInitiation(int unitID); + + void meth_0x54a770(int param_1); + + dword findNearestEnemyAndHeadTowardsItUnk(int unitID); + + BOOLEnum canShootTargetUnk(short* unitID); + + BOOLEnum updateClimbing(int unitID); + + void unitClimbing(int param_1); + + int handleUnitMovementWhenTargetingBuildings(int unitID); + + BOOLEnum moveToFreeTileNearby(int unitID); + + undefined4 processUnitMove(int unitID, int speedCategory); + + void updateUnits(); + }; + + static_assert_cpp98_obj(sizeof(UnitsState) == 2926564, UnitsState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(UnitsState, false, Address::SHC_3BB0A8C1_0x01387F38) pDAT_UnitsState; + + } // namespace Units +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Version.func.hpp b/src/OpenSHC/Map/Version.func.hpp new file mode 100644 index 0000000..1e8666a --- /dev/null +++ b/src/OpenSHC/Map/Version.func.hpp @@ -0,0 +1,195 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Version.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Version.hpp" +namespace OpenSHC { +namespace Map { + namespace Version_Func { + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004038B0, &OpenSHC::Map::Version::SetFlagEntityColor) + SetFlagEntityColor; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00404A70, &OpenSHC::Map::Version::deleteSeagull) + deleteSeagull; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00408250, &OpenSHC::Map::Version::UpgradeFirst25Entities) + UpgradeFirst25Entities; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A060, + &OpenSHC::Map::Version::SetUndamagedBuildingHealthToValue) + SetUndamagedBuildingHealthToValue; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A0A0, &OpenSHC::Map::Version::UpgradeFirst9Buildings) + UpgradeFirst9Buildings; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A0D0, &OpenSHC::Map::Version::UpgradeBuildingField1) + UpgradeBuildingField1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A100, &OpenSHC::Map::Version::UpgradeBuildingFlag1) + UpgradeBuildingFlag1; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int version), false, Address::SHC_3BB0A8C1_0x0041A140, + &OpenSHC::Map::Version::UpgradeBuildingProperties1) + UpgradeBuildingProperties1; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A2B0, &OpenSHC::Map::Version::SetDairyCheeseToZero) + SetDairyCheeseToZero; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A2E0, &OpenSHC::Map::Version::UpgradeTowerLogicLayer) + UpgradeTowerLogicLayer; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A340, &OpenSHC::Map::Version::SetHovelBuildOrder) + SetHovelBuildOrder; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A390, + &OpenSHC::Map::Version::SetBuildingsEmployeeCountToValue) + SetBuildingsEmployeeCountToValue; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A3C0, &OpenSHC::Map::Version::UpgradeBuildingField2) + UpgradeBuildingField2; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A3F0, + &OpenSHC::Map::Version::UpgradeSolitaryMapBuildingField3) + UpgradeSolitaryMapBuildingField3; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A420, + &OpenSHC::Map::Version::UpgradeLogicAndDisplayLayerForDairyFarms) + UpgradeLogicAndDisplayLayerForDairyFarms; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A520, + &OpenSHC::Map::Version::UpgradePitchDitchBuildingIntoPitchDitchObject) + UpgradePitchDitchBuildingIntoPitchDitchObject; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A5C0, &OpenSHC::Map::Version::UpgradeKillingPitField) + UpgradeKillingPitField; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A5F0, &OpenSHC::Map::Version::UpgradeBuildingField4) + UpgradeBuildingField4; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A650, + &OpenSHC::Map::Version::UpgradeKnightsAndStables) + UpgradeKnightsAndStables; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0041A710, &OpenSHC::Map::Version::UpgradeOutpostField) + UpgradeOutpostField; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int lossValue, int playerID), false, Address::SHC_3BB0A8C1_0x0044AA80, + &OpenSHC::Map::Version::UpdateUnitLossData) + UpdateUnitLossData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0044AAA0, + &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_0x0045AD10, &OpenSHC::Map::Version::FUN_0045ad10) + FUN_0045ad10; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0045AE00, &OpenSHC::Map::Version::FUN_0045ae00) + FUN_0045ae00; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F38A0, + &OpenSHC::Map::Version::UpdateTreesOfCertainTypes) + UpdateTreesOfCertainTypes; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x005011F0, + &OpenSHC::Map::Version::UpgradeMapLogicToVersion_Unknown1) + UpgradeMapLogicToVersion_Unknown1; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00501350, + &OpenSHC::Map::Version::UpgradeMapLogicToVersion_Unknown2) + UpgradeMapLogicToVersion_Unknown2; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00501760, + &OpenSHC::Map::Version::UpgradeMapLogicToVersion_Unknown3) + UpgradeMapLogicToVersion_Unknown3; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00523E00, + &OpenSHC::Map::Version::UpgradeMapTribesStateVersionTo_142) + UpgradeMapTribesStateVersionTo_142; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00523E30, + &OpenSHC::Map::Version::UpgradeMapTribesStateVersionTo_Unknown1) + UpgradeMapTribesStateVersionTo_Unknown1; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00523EB0, + &OpenSHC::Map::Version::UpgradeMapTribesStateVersionTo_Unknown2) + UpgradeMapTribesStateVersionTo_Unknown2; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B1F0, &OpenSHC::Map::Version::UpgradeMapUnitsTo_117) + UpgradeMapUnitsTo_117; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B260, + &OpenSHC::Map::Version::UpgradeMapUnitsTo_UnknownVersion2) + UpgradeMapUnitsTo_UnknownVersion2; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B310, &OpenSHC::Map::Version::UpgradeMapUnitsTo_114) + UpgradeMapUnitsTo_114; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B340, &OpenSHC::Map::Version::UpgradeMapUnitsTo_112) + UpgradeMapUnitsTo_112; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B380, &OpenSHC::Map::Version::UpgradeMapUnitsTo_100) + UpgradeMapUnitsTo_100; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B3E0, + &OpenSHC::Map::Version::UpgradeMapUnitsTo_UnknownVersion1) + UpgradeMapUnitsTo_UnknownVersion1; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B4F0, + &OpenSHC::Map::Version::UpgradeMapUnitsAttackTileLogicTo_122) + UpgradeMapUnitsAttackTileLogicTo_122; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B530, &OpenSHC::Map::Version::UpgradeMapUnitsTo_130) + UpgradeMapUnitsTo_130; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B570, &OpenSHC::Map::Version::UpgradeMapUnitsTo_149) + UpgradeMapUnitsTo_149; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B5A0, &OpenSHC::Map::Version::UpgradeMapUnitsTo_154) + UpgradeMapUnitsTo_154; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B5E0, &OpenSHC::Map::Version::UpgradeMapUnitsTo_155) + UpgradeMapUnitsTo_155; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B610, + &OpenSHC::Map::Version::UpgradeMapUnitsLordHealthTo_169) + UpgradeMapUnitsLordHealthTo_169; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0053B800, &OpenSHC::Map::Version::UpgradeMapUnitsTo_170) + UpgradeMapUnitsTo_170; + + } // namespace Version_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Version.hpp b/src/OpenSHC/Map/Version.hpp new file mode 100644 index 0000000..6cb3852 --- /dev/null +++ b/src/OpenSHC/Map/Version.hpp @@ -0,0 +1,104 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Version.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Version { + + void __stdcall SetFlagEntityColor(); + + void __stdcall deleteSeagull(); + + void __stdcall UpgradeFirst25Entities(); + + void __stdcall SetUndamagedBuildingHealthToValue(); + + void __stdcall UpgradeFirst9Buildings(); + + void __stdcall UpgradeBuildingField1(); + + void __stdcall UpgradeBuildingFlag1(); + + void __cdecl UpgradeBuildingProperties1(int version); + + void __stdcall SetDairyCheeseToZero(); + + void __stdcall UpgradeTowerLogicLayer(); + + void __stdcall SetHovelBuildOrder(); + + void __stdcall SetBuildingsEmployeeCountToValue(); + + void __stdcall UpgradeBuildingField2(); + + void __stdcall UpgradeSolitaryMapBuildingField3(); + + void __stdcall UpgradeLogicAndDisplayLayerForDairyFarms(); + + void __stdcall UpgradePitchDitchBuildingIntoPitchDitchObject(); + + void __stdcall UpgradeKillingPitField(); + + void __stdcall UpgradeBuildingField4(); + + void __stdcall UpgradeKnightsAndStables(); + + void __stdcall UpgradeOutpostField(); + + void __cdecl UpdateUnitLossData(int lossValue, int playerID); + + void __cdecl UpdateDestroyedBuildingCountData(int param_1); + + void __stdcall FUN_0045acc0(); + + void __stdcall FUN_0045ad10(); + + void __stdcall FUN_0045ae00(); + + void __stdcall UpdateTreesOfCertainTypes(); + + void __stdcall UpgradeMapLogicToVersion_Unknown1(); + + void __stdcall UpgradeMapLogicToVersion_Unknown2(); + + void __stdcall UpgradeMapLogicToVersion_Unknown3(); + + void __stdcall UpgradeMapTribesStateVersionTo_142(); + + void __stdcall UpgradeMapTribesStateVersionTo_Unknown1(); + + void __stdcall UpgradeMapTribesStateVersionTo_Unknown2(); + + void __stdcall UpgradeMapUnitsTo_117(); + + void __stdcall UpgradeMapUnitsTo_UnknownVersion2(); + + void __stdcall UpgradeMapUnitsTo_114(); + + void __stdcall UpgradeMapUnitsTo_112(); + + void __stdcall UpgradeMapUnitsTo_100(); + + void __stdcall UpgradeMapUnitsTo_UnknownVersion1(); + + void __stdcall UpgradeMapUnitsAttackTileLogicTo_122(); + + void __stdcall UpgradeMapUnitsTo_130(); + + void __stdcall UpgradeMapUnitsTo_149(); + + void __stdcall UpgradeMapUnitsTo_154(); + + void __stdcall UpgradeMapUnitsTo_155(); + + void __stdcall UpgradeMapUnitsLordHealthTo_169(); + + void __stdcall UpgradeMapUnitsTo_170(); + + } // namespace Version +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/WallAndPitchState.func.hpp b/src/OpenSHC/Map/WallAndPitchState.func.hpp new file mode 100644 index 0000000..fc57425 --- /dev/null +++ b/src/OpenSHC/Map/WallAndPitchState.func.hpp @@ -0,0 +1,56 @@ +/** + path: 'OpenSHC/Map/WallAndPitchState.func.hpp' +*/ + +#include "OpenSHC/Map/WallAndPitchState.hpp" +namespace OpenSHC { +namespace Map { + namespace WallAndPitchState_Func { + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500C20, + &WallAndPitchState::meth_0x500c20) + meth_0x500c20; + + 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; + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500CF0, + &WallAndPitchState::meth_0x500cf0) + meth_0x500cf0; + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(), false, Address::SHC_3BB0A8C1_0x00500D30, + &WallAndPitchState::resetWallPlacementInfo) + resetWallPlacementInfo; + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500D60, + &WallAndPitchState::addWallPlacementInfoForTile) + addWallPlacementInfoForTile; + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int), false, Address::SHC_3BB0A8C1_0x00500DD0, + &WallAndPitchState::placePitchDitch) + placePitchDitch; + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00500E20, &WallAndPitchState::destroyWall) + destroyWall; + + MACRO_FUNCTION_RESOLVER(void (WallAndPitchState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00500EE0, + &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_0x005118C0, &WallAndPitchState::meth_0x5118c0) + meth_0x5118c0; + + } // namespace WallAndPitchState_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/WallAndPitchState.hpp b/src/OpenSHC/Map/WallAndPitchState.hpp new file mode 100644 index 0000000..2282b4b --- /dev/null +++ b/src/OpenSHC/Map/WallAndPitchState.hpp @@ -0,0 +1,69 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/WallAndPitchState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Walls/WallPlacementInfoElementStruct.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::Walls::WallPlacementInfoElementStruct; + +#pragma pack(push, 1) + + // SIZE: 0x00000980 + class WallAndPitchState { + public: + int countdown; // 0x00000000 length: 4 + int state; // 0x00000004 length: 4 + int id; // 0x00000008 length: 4 + int uid; // 0x0000000C length: 4 + int index; // 0x00000010 length: 4 + int counter; // 0x00000014 length: 4 + int flag; // 0x00000018 length: 4 + WallPlacementInfoElementStruct wallPlacementInfoArray[100]; // 0x0000001C length: 1200 + WallPlacementInfoElementStruct receivedWallPlacementInfoArray[100]; // 0x000004CC length: 1200 + int unused; // 0x0000097C length: 4 + + private: + WallAndPitchState(WallAndPitchState const&); + void operator=(WallAndPitchState const&); + + WallAndPitchState(); + ~WallAndPitchState(); + + public: + void meth_0x500c20(int buildingID); + + void resetWallAndPitchState(); + + void meth_0x500cb0(int entityID); + + void meth_0x500cf0(int unitID); + + void resetWallPlacementInfo(); + + void addWallPlacementInfoForTile(int tile); + + void placePitchDitch(int pitchID); + + void destroyWall(int playerID, int count, int amount, int param_4); + + void destroyPitch(int playerID, int count, int amount); + + void meth_0x500f40(); + + void meth_0x5118c0(); + }; + + static_assert_cpp98_obj(sizeof(WallAndPitchState) == 2432, WallAndPitchState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(WallAndPitchState, false, Address::SHC_3BB0A8C1_0x00EE19D0) pDAT_WallAndPitchState; + +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Walls/WallPlacementInfoElementStruct.hpp b/src/OpenSHC/Map/Walls/WallPlacementInfoElementStruct.hpp new file mode 100644 index 0000000..00eb4bf --- /dev/null +++ b/src/OpenSHC/Map/Walls/WallPlacementInfoElementStruct.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Walls/WallPlacementInfoElementStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Walls { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct WallPlacementInfoElementStruct { + + int tile_OR_pitchID; // 0x00000000 length: 4 + byte damage; // 0x00000004 length: 1 + byte height; // 0x00000005 length: 1 + short field3_0x6; // 0x00000006 length: 2 + uint logic; // 0x00000008 length: 4 + + } WallPlacementInfoElementStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(WallPlacementInfoElementStruct) == 12, WallPlacementInfoElementStruct); + } // namespace Walls +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/Wildlife/WildlifeGridElement.hpp b/src/OpenSHC/Map/Wildlife/WildlifeGridElement.hpp new file mode 100644 index 0000000..7c4d952 --- /dev/null +++ b/src/OpenSHC/Map/Wildlife/WildlifeGridElement.hpp @@ -0,0 +1,54 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/Wildlife/WildlifeGridElement.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + namespace Wildlife { + +#pragma pack(push, 1) + // SIZE: 0x000000A0 + typedef struct WildlifeGridElement { + + int firstMember; // 0x00000000 length: 4 + int separateAreaID; // 0x00000004 length: 4 + int unclaimedArea; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int keeps; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int trees; // 0x00000018 length: 4 + int unitCount; // 0x0000001C length: 4 + int field8_0x20; // 0x00000020 length: 4 + int camelCount; // 0x00000024 length: 4 + int lionCount; // 0x00000028 length: 4 + int deerCount; // 0x0000002C length: 4 + int field12_0x30; // 0x00000030 length: 4 + int field13_0x34; // 0x00000034 length: 4 + int casDisRelated2; // 0x00000038 length: 4 + int field15_0x3c; // 0x0000003C length: 4 + int field16_0x40; // 0x00000040 length: 4 + int field17_0x44; // 0x00000044 length: 4 + int field18_0x48; // 0x00000048 length: 4 + int field19_0x4c; // 0x0000004C length: 4 + int field20_0x50; // 0x00000050 length: 4 + int rabbitCount; // 0x00000054 length: 4 + int chimps; // 0x00000058 length: 4 + int castlebuildings; // 0x0000005C length: 4 + int field24_0x60; // 0x00000060 length: 4 + int field25_0x64; // 0x00000064 length: 4 + int unknownNonZero01; // 0x00000068 length: 4 + int field27_0x6c; // 0x0000006C length: 4 + int field28_0x70; // 0x00000070 length: 4 + int field29_0x74; // 0x00000074 length: 4 + undefined1 padding_0x78[40]; // 0x00000078 length: 40 + + } WildlifeGridElement; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(WildlifeGridElement) == 160, WildlifeGridElement); + } // namespace Wildlife +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/WildlifeState.func.hpp b/src/OpenSHC/Map/WildlifeState.func.hpp new file mode 100644 index 0000000..67cc3b5 --- /dev/null +++ b/src/OpenSHC/Map/WildlifeState.func.hpp @@ -0,0 +1,72 @@ +/** + path: 'OpenSHC/Map/WildlifeState.func.hpp' +*/ + +#include "OpenSHC/Map/WildlifeState.hpp" +namespace OpenSHC { +namespace Map { + namespace WildlifeState_Func { + + MACRO_FUNCTION_RESOLVER( + void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052B9F0, &WildlifeState::clearWildlifeState) + clearWildlifeState; + + MACRO_FUNCTION_RESOLVER( + void (WildlifeState::*)(int), false, Address::SHC_3BB0A8C1_0x0052BA10, &WildlifeState::updateWildlifeGrid) + updateWildlifeGrid; + + MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0052BF40, + &WildlifeState::renderDebugDataMapData) + renderDebugDataMapData; + + MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052C570, + &WildlifeState::meth_0x52c570) + meth_0x52c570; + + MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052C810, + &WildlifeState::meth_0x52c810) + meth_0x52c810; + + 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, int), false, Address::SHC_3BB0A8C1_0x0052D620, + &WildlifeState::meth_0x52d620) + meth_0x52d620; + + MACRO_FUNCTION_RESOLVER(undefined4 (WildlifeState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0052D690, + &WildlifeState::meth_0x52d690) + meth_0x52d690; + + MACRO_FUNCTION_RESOLVER(void (WildlifeState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0052D720, + &WildlifeState::meth_0x52d720) + meth_0x52d720; + + MACRO_FUNCTION_RESOLVER( + void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052D9D0, &WildlifeState::meth_0x52d9d0) + meth_0x52d9d0; + + MACRO_FUNCTION_RESOLVER( + int (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052DD20, &WildlifeState::meth_0x52dd20) + meth_0x52dd20; + + MACRO_FUNCTION_RESOLVER( + void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052DF30, &WildlifeState::updateWildlife) + updateWildlife; + + MACRO_FUNCTION_RESOLVER( + void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052E020, &WildlifeState::updateSection1034Info) + updateSection1034Info; + + MACRO_FUNCTION_RESOLVER( + void (WildlifeState::*)(), false, Address::SHC_3BB0A8C1_0x0052E120, &WildlifeState::updateNofFpoints) + updateNofFpoints; + + } // namespace WildlifeState_Func +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/WildlifeState.hpp b/src/OpenSHC/Map/WildlifeState.hpp new file mode 100644 index 0000000..5adb8e0 --- /dev/null +++ b/src/OpenSHC/Map/WildlifeState.hpp @@ -0,0 +1,77 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/WildlifeState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Wildlife/WildlifeGridElement.hpp" + +namespace OpenSHC { +namespace Map { + + using OpenSHC::Map::Wildlife::WildlifeGridElement; + +#pragma pack(push, 1) + + // SIZE: 0x00040110 + class WildlifeState { + public: + WildlifeGridElement grid[40][40]; // 0x00000000 length: 256000 + int DAT_DebugDataMapDataDisplayType; // 0x0003E800 length: 4 + undefined4 casDisRelated; // 0x0003E804 length: 4 + undefined4 candidateIndex; // 0x0003E808 length: 4 + undefined4 candidateIndex2; // 0x0003E80C length: 4 + short DAT_Y10_Array_Section1034[1600]; // 0x0003E810 length: 3200 + short DAT_X10_Array_Section1034[1600]; // 0x0003F490 length: 3200 + + private: + WildlifeState(WildlifeState const&); + void operator=(WildlifeState const&); + + WildlifeState(); + ~WildlifeState(); + + public: + // Constructor + WildlifeState* Constructor_WildlifeState(); + + void clearWildlifeState(); + + void updateWildlifeGrid(int _y10); + + void renderDebugDataMapData(int x, int y, int width, int height); + + void meth_0x52c570(int param_1, int param_2, int param_3); + + void meth_0x52c810(int param_1, int param_2, int param_3); + + void findAndSetNewRallyPointForDeerAndLions(int tribeID, int always2or3or5, int always0or1); + + undefined4 meth_0x52cfe0(int param_1); + + undefined4 meth_0x52d620(int param_1, int param_2); + + undefined4 meth_0x52d690(int param_1, int param_2); + + void meth_0x52d720(int param_1, int param_2, int param_3); + + void meth_0x52d9d0(); + + int meth_0x52dd20(); + + void updateWildlife(); + + void updateSection1034Info(); + + void updateNofFpoints(); + }; + + static_assert_cpp98_obj(sizeof(WildlifeState) == 262416, WildlifeState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(WildlifeState, false, Address::SHC_3BB0A8C1_0x00EE23D8) pDAT_WildlifeState; + +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Map/WindState.hpp b/src/OpenSHC/Map/WindState.hpp new file mode 100644 index 0000000..2944543 --- /dev/null +++ b/src/OpenSHC/Map/WindState.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Map/WindState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Map { + +#pragma pack(push, 1) + // SIZE: 0x0000001C + typedef struct WindState { + + int value; // 0x00000000 length: 4 + int index; // 0x00000004 length: 4 + int countdown; // 0x00000008 length: 4 + int counter; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int valueIs2; // 0x00000014 length: 4 + int valueIs1; // 0x00000018 length: 4 + + } WindState; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(WindState) == 28, WindState); +} // namespace Map +} // namespace OpenSHC diff --git a/src/OpenSHC/Meta.func.hpp b/src/OpenSHC/Meta.func.hpp new file mode 100644 index 0000000..00a4ccf --- /dev/null +++ b/src/OpenSHC/Meta.func.hpp @@ -0,0 +1,709 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Meta.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Meta.hpp" +namespace OpenSHC { +namespace Meta_Func { + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD30, &OpenSHC::Meta::Destructor_0059cd30) + Destructor_0059cd30; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD40, &OpenSHC::Meta::Destructor_MenuView_IntroLogos) + Destructor_MenuView_IntroLogos; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD50, + &OpenSHC::Meta::Destructor_MenuView_HistoricMissionSelect) + Destructor_MenuView_HistoricMissionSelect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD60, + &OpenSHC::Meta::Destructor_MenuView_UnusedEconomicMissionSelect) + Destructor_MenuView_UnusedEconomicMissionSelect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD70, + &OpenSHC::Meta::Destructor_MenuView_UnusedSomeMissionStartUnk) + Destructor_MenuView_UnusedSomeMissionStartUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD80, + &OpenSHC::Meta::Destructor_MenuView_UnusedOldTitleMenu) + Destructor_MenuView_UnusedOldTitleMenu; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CD90, &OpenSHC::Meta::Destructor_MenuView_MpConnection) + Destructor_MenuView_MpConnection; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CDA0, &OpenSHC::Meta::Destructor_MenuView_Unknown21) + Destructor_MenuView_Unknown21; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CDB0, &OpenSHC::Meta::Destructor_MenuView_LobbyMenu) + Destructor_MenuView_LobbyMenu; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CDC0, &OpenSHC::Meta::Destructor_MenuView_Unknown33) + Destructor_MenuView_Unknown33; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CDD0, + &OpenSHC::Meta::Destructor_MenuView_Unknown61ReturnToSkrimishMenuUnk) + Destructor_MenuView_Unknown61ReturnToSkrimishMenuUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CDE0, + &OpenSHC::Meta::Destructor_MenuView_SingleplayerMapChoice) + Destructor_MenuView_SingleplayerMapChoice; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CDF0, + &OpenSHC::Meta::Destructor_MenuView_Unknown49DoesNothingUnk) + Destructor_MenuView_Unknown49DoesNothingUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE00, + &OpenSHC::Meta::Destructor_MenuView_MapEditorLandscaping) + Destructor_MenuView_MapEditorLandscaping; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE10, &OpenSHC::Meta::Destructor_MenuView_BuildMenu) + Destructor_MenuView_BuildMenu; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE20, + &OpenSHC::Meta::Destructor_MenuView_BuildingAndStatusMenu) + Destructor_MenuView_BuildingAndStatusMenu; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE30, + &OpenSHC::Meta::Destructor_MenuView_UnusedHelpTextEditor) + Destructor_MenuView_UnusedHelpTextEditor; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE40, + &OpenSHC::Meta::Destructor_MenuView_MapEditorProperties) + Destructor_MenuView_MapEditorProperties; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE50, &OpenSHC::Meta::Destructor_MenuView_NewMapMaptype) + Destructor_MenuView_NewMapMaptype; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE60, &OpenSHC::Meta::Destructor_MenuView_NewMapMapsize) + Destructor_MenuView_NewMapMapsize; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE70, + &OpenSHC::Meta::Destructor_MenuView_UnusedChooseAvailableKeeps) + Destructor_MenuView_UnusedChooseAvailableKeeps; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE80, + &OpenSHC::Meta::Destructor_MenuView_UnusedChooseGameType) + Destructor_MenuView_UnusedChooseGameType; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CE90, + &OpenSHC::Meta::Destructor_MenuView_UnusedCreateSiege) + Destructor_MenuView_UnusedCreateSiege; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CEA0, + &OpenSHC::Meta::Destructor_MenuView_Unknown26_CampaignRelatedUnk) + Destructor_MenuView_Unknown26_CampaignRelatedUnk; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CEB0, &OpenSHC::Meta::Destructor_MenuView_CampaignUnk) + Destructor_MenuView_CampaignUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CEC0, + &OpenSHC::Meta::Destructor_MenuView_ScenarioDescription) + Destructor_MenuView_ScenarioDescription; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CEE0, &OpenSHC::Meta::Destructor_MenuView_GameLost) + Destructor_MenuView_GameLost; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CEF0, &OpenSHC::Meta::Destructor_MenuView_UnusedExtremeAd) + Destructor_MenuView_UnusedExtremeAd; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF00, &OpenSHC::Meta::Destructor_MenuView_EditScenario) + Destructor_MenuView_EditScenario; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF10, + &OpenSHC::Meta::Destructor_MenuView_GameStartEnterName) + Destructor_MenuView_GameStartEnterName; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF20, &OpenSHC::Meta::Destructor_MenuView_MainMenu) + Destructor_MenuView_MainMenu; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF30, + &OpenSHC::Meta::Destructor_MenuView_HistoricCampaignSelect) + Destructor_MenuView_HistoricCampaignSelect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF40, + &OpenSHC::Meta::Destructor_MenuView_UnusedEconomicGametypeSelect) + Destructor_MenuView_UnusedEconomicGametypeSelect; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF50, &OpenSHC::Meta::Destructor_MenuView_CustomScenarios) + Destructor_MenuView_CustomScenarios; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF60, &OpenSHC::Meta::Destructor_MenuView_Credits) + Destructor_MenuView_Credits; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF70, + &OpenSHC::Meta::Destructor_MenuView_UnusedDemoBuyItScreen) + Destructor_MenuView_UnusedDemoBuyItScreen; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF80, &OpenSHC::Meta::Destructor_MenuView_IntroVideo) + Destructor_MenuView_IntroVideo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CF90, + &OpenSHC::Meta::Destructor_MenuView_HistoricMissionPicture) + Destructor_MenuView_HistoricMissionPicture; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CFA0, + &OpenSHC::Meta::Destructor_MenuView_HistoricMissionIntro) + Destructor_MenuView_HistoricMissionIntro; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CFB0, + &OpenSHC::Meta::Destructor_MenuView_HistoricCampaignIntro) + Destructor_MenuView_HistoricCampaignIntro; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CFC0, + &OpenSHC::Meta::Destructor_MenuView_HistoricCampaignOutro) + Destructor_MenuView_HistoricCampaignOutro; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CFD0, + &OpenSHC::Meta::Destructor_MenuView_UnusedSelectRandomNumberOfEnemies) + Destructor_MenuView_UnusedSelectRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CFE0, &OpenSHC::Meta::Destructor_MenuView_SelectCrusade) + Destructor_MenuView_SelectCrusade; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059CFF0, + &OpenSHC::Meta::Destructor_MenuView_CrusadeMissionIntro) + Destructor_MenuView_CrusadeMissionIntro; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D000, &OpenSHC::Meta::Destructor_MenuView_CrusadeMap) + Destructor_MenuView_CrusadeMap; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D010, &OpenSHC::Meta::Destructor_MenuView_RankingGames) + Destructor_MenuView_RankingGames; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D020, &OpenSHC::Meta::Destructor_MenuView_CrusadeEndscreen) + Destructor_MenuView_CrusadeEndscreen; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D030, &OpenSHC::Meta::Destructor_MenuModal_OverlaySlider) + Destructor_MenuModal_OverlaySlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D040, + &OpenSHC::Meta::Destructor_MenuModal_UnusedWinCondition) + Destructor_MenuModal_UnusedWinCondition; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D050, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataCurrentPlayerData) + Destructor_MenuModal_DebugDataCurrentPlayerData; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D060, &OpenSHC::Meta::Destructor_MenuModal_DebugDataAiInfo) + Destructor_MenuModal_DebugDataAiInfo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D070, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataUnitData) + Destructor_MenuModal_DebugDataUnitData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D080, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataZoneDataUnk) + Destructor_MenuModal_DebugDataZoneDataUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D090, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataNetwork) + Destructor_MenuModal_DebugDataNetwork; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D0A0, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataMousePointing) + Destructor_MenuModal_DebugDataMousePointing; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D0B0, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataSplitInfo) + Destructor_MenuModal_DebugDataSplitInfo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D0C0, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataMapData) + Destructor_MenuModal_DebugDataMapData; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D0D0, &OpenSHC::Meta::Destructor_MenuModal_PauseMenu) + Destructor_MenuModal_PauseMenu; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D0E0, &OpenSHC::Meta::Destructor_MenuModal_VideoOptions) + Destructor_MenuModal_VideoOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D0F0, &OpenSHC::Meta::Destructor_MenuModal_SoundOptions) + Destructor_MenuModal_SoundOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D100, &OpenSHC::Meta::Destructor_MenuModal_NetworkOptions) + Destructor_MenuModal_NetworkOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D110, &OpenSHC::Meta::Destructor_MenuModal_LoadMap) + Destructor_MenuModal_LoadMap; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D120, &OpenSHC::Meta::Destructor_MenuModal_SaveMap) + Destructor_MenuModal_SaveMap; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D130, &OpenSHC::Meta::Destructor_MenuModal_YesNoDialog) + Destructor_MenuModal_YesNoDialog; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D140, &OpenSHC::Meta::Destructor_MenuModal_QuitDialog) + Destructor_MenuModal_QuitDialog; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D150, + &OpenSHC::Meta::Destructor_MenuModal_PauseMenuOptions) + Destructor_MenuModal_PauseMenuOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D160, &OpenSHC::Meta::Destructor_MenuModal_MainMenuOptions) + Destructor_MenuModal_MainMenuOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D170, &OpenSHC::Meta::Destructor_MenuModal_GameplayOptions) + Destructor_MenuModal_GameplayOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D180, &OpenSHC::Meta::Destructor_MenuModal_IdentityOptions) + Destructor_MenuModal_IdentityOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D190, + &OpenSHC::Meta::Destructor_MenuModal_EnterTitleOnGameStart) + Destructor_MenuModal_EnterTitleOnGameStart; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D1A0, &OpenSHC::Meta::Destructor_MenuModal_ProgressBarBox) + Destructor_MenuModal_ProgressBarBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D1B0, + &OpenSHC::Meta::Destructor_MenuModal_BuildingHelpText) + Destructor_MenuModal_BuildingHelpText; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D1C0, &OpenSHC::Meta::Destructor_MenuModal_InGameHelpText) + Destructor_MenuModal_InGameHelpText; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D1D0, + &OpenSHC::Meta::Destructor_MenuModal_MapDescriptionEditor) + Destructor_MenuModal_MapDescriptionEditor; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D1E0, + &OpenSHC::Meta::Destructor_MenuModal_ChooseNetworkServiceProvider) + Destructor_MenuModal_ChooseNetworkServiceProvider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D1F0, + &OpenSHC::Meta::Destructor_MenuModal_FindingNetworkSessions) + Destructor_MenuModal_FindingNetworkSessions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D200, + &OpenSHC::Meta::Destructor_MenuModal_DisplayAiLordMessage) + Destructor_MenuModal_DisplayAiLordMessage; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D210, &OpenSHC::Meta::Destructor_MenuModal_WaitingForHost) + Destructor_MenuModal_WaitingForHost; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D220, &OpenSHC::Meta::Destructor_MenuModal_UnusedSetName) + Destructor_MenuModal_UnusedSetName; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D230, + &OpenSHC::Meta::Destructor_MenuModal_UnusedChooseMessageBox) + Destructor_MenuModal_UnusedChooseMessageBox; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D240, &OpenSHC::Meta::Destructor_MenuModal_TraderSettings) + Destructor_MenuModal_TraderSettings; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D250, &OpenSHC::Meta::Destructor_MenuModal_StartGoods) + Destructor_MenuModal_StartGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D260, + &OpenSHC::Meta::Destructor_MenuModal_UnusedSiegeAttackingForceUnk) + Destructor_MenuModal_UnusedSiegeAttackingForceUnk; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D270, &OpenSHC::Meta::Destructor_MenuModal_NewInvasion) + Destructor_MenuModal_NewInvasion; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D280, + &OpenSHC::Meta::Destructor_MenuModal_UnusedCreateTimedMessageEvent) + Destructor_MenuModal_UnusedCreateTimedMessageEvent; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D290, &OpenSHC::Meta::Destructor_MenuModal_NewEvent) + Destructor_MenuModal_NewEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D2A0, + &OpenSHC::Meta::Destructor_MenuModal_NewEventCondition) + Destructor_MenuModal_NewEventCondition; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D2B0, &OpenSHC::Meta::Destructor_MenuModal_NewEventAction) + Destructor_MenuModal_NewEventAction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D2C0, + &OpenSHC::Meta::Destructor_MenuModal_UnusedCreateMessageEvent) + Destructor_MenuModal_UnusedCreateMessageEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D2D0, + &OpenSHC::Meta::Destructor_MenuModal_BuildingAvailability) + Destructor_MenuModal_BuildingAvailability; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D2E0, + &OpenSHC::Meta::Destructor_MenuModal_DisableEuroTroops) + Destructor_MenuModal_DisableEuroTroops; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D2F0, + &OpenSHC::Meta::Destructor_MenuModal_DisableArabTroops) + Destructor_MenuModal_DisableArabTroops; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D300, &OpenSHC::Meta::Destructor_MenuModal_DisableWeapon) + Destructor_MenuModal_DisableWeapon; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D310, &OpenSHC::Meta::Destructor_MenuModal_TutorialBox) + Destructor_MenuModal_TutorialBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D320, + &OpenSHC::Meta::Destructor_MenuModal_TutorialBoxWithLeave) + Destructor_MenuModal_TutorialBoxWithLeave; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D330, + &OpenSHC::Meta::Destructor_MenuModal_DisplayScenarioHelpText) + Destructor_MenuModal_DisplayScenarioHelpText; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D340, &OpenSHC::Meta::Destructor_MenuModal_Chat) + Destructor_MenuModal_Chat; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D350, &OpenSHC::Meta::Destructor_MenuModal_CreditsScroll) + Destructor_MenuModal_CreditsScroll; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D360, + &OpenSHC::Meta::Destructor_MenuModal_EditorMapTypeQuickChange) + Destructor_MenuModal_EditorMapTypeQuickChange; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D370, + &OpenSHC::Meta::Destructor_MenuModal_SkirmishConnectionOptions) + Destructor_MenuModal_SkirmishConnectionOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D380, + &OpenSHC::Meta::Destructor_MenuModal_SkirmishPlayOptions) + Destructor_MenuModal_SkirmishPlayOptions; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D390, &OpenSHC::Meta::Destructor_MenuModal_OnlineQuitGame) + Destructor_MenuModal_OnlineQuitGame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D3A0, + &OpenSHC::Meta::Destructor_MenuModal_OnlineVoteQuitGame) + Destructor_MenuModal_OnlineVoteQuitGame; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D3B0, &OpenSHC::Meta::Destructor_MenuModal_TriggerInvasion) + Destructor_MenuModal_TriggerInvasion; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D3C0, &OpenSHC::Meta::Destructor_MenuModal_TriggerEvent) + Destructor_MenuModal_TriggerEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D3D0, + &OpenSHC::Meta::Destructor_MenuModal_TriggerEventOrInvasion) + Destructor_MenuModal_TriggerEventOrInvasion; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D3E0, + &OpenSHC::Meta::Destructor_MenuModal_TriggerEventSlider) + Destructor_MenuModal_TriggerEventSlider; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D3F0, &OpenSHC::Meta::Destructor_MenuModal_SendMapTo) + Destructor_MenuModal_SendMapTo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D400, + &OpenSHC::Meta::Destructor_MenuModal_ReceiveMapFromUnk) + Destructor_MenuModal_ReceiveMapFromUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D410, + &OpenSHC::Meta::Destructor_MenuModal_BasicAiLordSelect) + Destructor_MenuModal_BasicAiLordSelect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D420, + &OpenSHC::Meta::Destructor_MenuModal_ExtendedAiLordSelect) + Destructor_MenuModal_ExtendedAiLordSelect; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D430, &OpenSHC::Meta::Destructor_MenuModal_Roundtable) + Destructor_MenuModal_Roundtable; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D440, &OpenSHC::Meta::Destructor_MenuModal_Allies) + Destructor_MenuModal_Allies; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D450, &OpenSHC::Meta::Destructor_MenuModal_AlliesOrder) + Destructor_MenuModal_AlliesOrder; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D460, + &OpenSHC::Meta::Destructor_MenuModal_AlliesRequestGoods) + Destructor_MenuModal_AlliesRequestGoods; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D470, &OpenSHC::Meta::Destructor_MenuModal_GreatestLord) + Destructor_MenuModal_GreatestLord; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D480, &OpenSHC::Meta::Destructor_MenuModal_AlliesSendGoods) + Destructor_MenuModal_AlliesSendGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D490, + &OpenSHC::Meta::Destructor_MenuModal_ChooseRandomNumberOfEnemies) + Destructor_MenuModal_ChooseRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D4A0, + &OpenSHC::Meta::Destructor_MenuModal_DeleteGameRecord) + Destructor_MenuModal_DeleteGameRecord; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D4B0, + &OpenSHC::Meta::Destructor_MenuModal_TacticalPowerBar) + Destructor_MenuModal_TacticalPowerBar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D4C0, + &OpenSHC::Meta::Destructor_MenuModal_DebugDataAivStateUnk) + Destructor_MenuModal_DebugDataAivStateUnk; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D4D0, &OpenSHC::Meta::Destructor_0059d4d0) + Destructor_0059d4d0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D4E0, &OpenSHC::Meta::Destructor_0059d4e0) + Destructor_0059d4e0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D4F0, &OpenSHC::Meta::Destructor_0059d4f0) + Destructor_0059d4f0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D500, &OpenSHC::Meta::Destructor_0059d500) + Destructor_0059d500; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D510, &OpenSHC::Meta::Destructor_0059d510) + Destructor_0059d510; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D520, &OpenSHC::Meta::Destructor_ScrollingHandler) + Destructor_ScrollingHandler; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D530, &OpenSHC::Meta::Destructor_InsertKeyState) + Destructor_InsertKeyState; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D540, &OpenSHC::Meta::Destructor_0059d540) + Destructor_0059d540; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D550, &OpenSHC::Meta::Destructor_0059d550) + Destructor_0059d550; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D560, &OpenSHC::Meta::Destructor_0059d560) + Destructor_0059d560; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D570, &OpenSHC::Meta::Destructor_0059d570) + Destructor_0059d570; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D580, &OpenSHC::Meta::Destructor_0059d580) + Destructor_0059d580; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D590, &OpenSHC::Meta::Destructor_0059d590) + Destructor_0059d590; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D5A0, &OpenSHC::Meta::Destructor_GameCoreAndRendering) + Destructor_GameCoreAndRendering; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D5B0, &OpenSHC::Meta::Destructor_0059d5b0) + Destructor_0059d5b0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D5C0, &OpenSHC::Meta::Destructor_0059d5c0) + Destructor_0059d5c0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D5D0, &OpenSHC::Meta::Destructor_0059d5d0) + Destructor_0059d5d0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D5E0, &OpenSHC::Meta::Destructor_Stopwatch_Gameloop) + Destructor_Stopwatch_Gameloop; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D5F0, &OpenSHC::Meta::Destructor_Stopwatch_Unknown) + Destructor_Stopwatch_Unknown; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D600, &OpenSHC::Meta::Destructor_0059d600) + Destructor_0059d600; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D610, &OpenSHC::Meta::Destructor_Decoder) + Destructor_Decoder; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D620, &OpenSHC::Meta::Destructor_TextureRenderingCore) + Destructor_TextureRenderingCore; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D630, &OpenSHC::Meta::Destructor_0059d630) + Destructor_0059d630; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D640, &OpenSHC::Meta::Destructor_AlphaAndButtonSurface) + Destructor_AlphaAndButtonSurface; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D650, &OpenSHC::Meta::Destructor_0059d650) + Destructor_0059d650; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D660, &OpenSHC::Meta::Destructor_0059d660) + Destructor_0059d660; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D670, &OpenSHC::Meta::Destructor_0059d670) + Destructor_0059d670; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D680, &OpenSHC::Meta::Destructor_0059d680) + Destructor_0059d680; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D690, &OpenSHC::Meta::Destructor_0059d690) + Destructor_0059d690; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D6A0, &OpenSHC::Meta::Destructor_0059d6a0) + Destructor_0059d6a0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D6B0, &OpenSHC::Meta::Destructor_0059d6b0) + Destructor_0059d6b0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D6C0, &OpenSHC::Meta::Destructor_0059d6c0) + Destructor_0059d6c0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D6D0, &OpenSHC::Meta::Destructor_0059d6d0) + Destructor_0059d6d0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D6E0, &OpenSHC::Meta::Destructor_0059d6e0) + Destructor_0059d6e0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D6F0, &OpenSHC::Meta::Destructor_0059d6f0) + Destructor_0059d6f0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D700, &OpenSHC::Meta::Destructor_0059d700) + Destructor_0059d700; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D710, &OpenSHC::Meta::Destructor_0059d710) + Destructor_0059d710; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D720, &OpenSHC::Meta::Destructor_0059d720) + Destructor_0059d720; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D730, &OpenSHC::Meta::Destructor_0059d730) + Destructor_0059d730; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D740, &OpenSHC::Meta::Destructor_0059d740) + Destructor_0059d740; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D750, &OpenSHC::Meta::Destructor_0059d750) + Destructor_0059d750; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D760, &OpenSHC::Meta::Destructor_0059d760) + Destructor_0059d760; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D770, &OpenSHC::Meta::Destructor_0059d770) + Destructor_0059d770; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D780, &OpenSHC::Meta::Destructor_0059d780) + Destructor_0059d780; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D790, &OpenSHC::Meta::Destructor_BinkControlClass) + Destructor_BinkControlClass; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7A0, &OpenSHC::Meta::Destructor_0059d7a0) + Destructor_0059d7a0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7B0, &OpenSHC::Meta::Destructor_0059d7b0) + Destructor_0059d7b0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7C0, &OpenSHC::Meta::Destructor_0059d7c0) + Destructor_0059d7c0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7CA, &OpenSHC::Meta::Destructor_0059d7ca) + Destructor_0059d7ca; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7D4, &OpenSHC::Meta::Destructor_0059d7d4) + Destructor_0059d7d4; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7DE, &OpenSHC::Meta::Destructor_0059d7de) + Destructor_0059d7de; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7E8, &OpenSHC::Meta::Destructor_0059d7e8) + Destructor_0059d7e8; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0059D7F2, &OpenSHC::Meta::Destructor_0059d7f2) + Destructor_0059d7f2; + +} // namespace Meta_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Meta.hpp b/src/OpenSHC/Meta.hpp new file mode 100644 index 0000000..a297998 --- /dev/null +++ b/src/OpenSHC/Meta.hpp @@ -0,0 +1,360 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Meta.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Meta { + + void __cdecl Destructor_0059cd30(); + + void __cdecl Destructor_MenuView_IntroLogos(); + + void __cdecl Destructor_MenuView_HistoricMissionSelect(); + + void __cdecl Destructor_MenuView_UnusedEconomicMissionSelect(); + + void __cdecl Destructor_MenuView_UnusedSomeMissionStartUnk(); + + void __cdecl Destructor_MenuView_UnusedOldTitleMenu(); + + void __cdecl Destructor_MenuView_MpConnection(); + + void __cdecl Destructor_MenuView_Unknown21(); + + void __cdecl Destructor_MenuView_LobbyMenu(); + + void __cdecl Destructor_MenuView_Unknown33(); + + void __cdecl Destructor_MenuView_Unknown61ReturnToSkrimishMenuUnk(); + + void __cdecl Destructor_MenuView_SingleplayerMapChoice(); + + void __cdecl Destructor_MenuView_Unknown49DoesNothingUnk(); + + void __cdecl Destructor_MenuView_MapEditorLandscaping(); + + void __cdecl Destructor_MenuView_BuildMenu(); + + void __cdecl Destructor_MenuView_BuildingAndStatusMenu(); + + void __cdecl Destructor_MenuView_UnusedHelpTextEditor(); + + void __cdecl Destructor_MenuView_MapEditorProperties(); + + void __cdecl Destructor_MenuView_NewMapMaptype(); + + void __cdecl Destructor_MenuView_NewMapMapsize(); + + void __cdecl Destructor_MenuView_UnusedChooseAvailableKeeps(); + + void __cdecl Destructor_MenuView_UnusedChooseGameType(); + + void __cdecl Destructor_MenuView_UnusedCreateSiege(); + + void __cdecl Destructor_MenuView_Unknown26_CampaignRelatedUnk(); + + void __cdecl Destructor_MenuView_CampaignUnk(); + + void __cdecl Destructor_MenuView_ScenarioDescription(); + + void __cdecl Destructor_MenuView_GameLost(); + + void __cdecl Destructor_MenuView_UnusedExtremeAd(); + + void __cdecl Destructor_MenuView_EditScenario(); + + void __cdecl Destructor_MenuView_GameStartEnterName(); + + void __cdecl Destructor_MenuView_MainMenu(); + + void __cdecl Destructor_MenuView_HistoricCampaignSelect(); + + void __cdecl Destructor_MenuView_UnusedEconomicGametypeSelect(); + + void __cdecl Destructor_MenuView_CustomScenarios(); + + void __cdecl Destructor_MenuView_Credits(); + + void __cdecl Destructor_MenuView_UnusedDemoBuyItScreen(); + + void __cdecl Destructor_MenuView_IntroVideo(); + + void __cdecl Destructor_MenuView_HistoricMissionPicture(); + + void __cdecl Destructor_MenuView_HistoricMissionIntro(); + + void __cdecl Destructor_MenuView_HistoricCampaignIntro(); + + void __cdecl Destructor_MenuView_HistoricCampaignOutro(); + + void __cdecl Destructor_MenuView_UnusedSelectRandomNumberOfEnemies(); + + void __cdecl Destructor_MenuView_SelectCrusade(); + + void __cdecl Destructor_MenuView_CrusadeMissionIntro(); + + void __cdecl Destructor_MenuView_CrusadeMap(); + + void __cdecl Destructor_MenuView_RankingGames(); + + void __cdecl Destructor_MenuView_CrusadeEndscreen(); + + void __cdecl Destructor_MenuModal_OverlaySlider(); + + void __cdecl Destructor_MenuModal_UnusedWinCondition(); + + void __cdecl Destructor_MenuModal_DebugDataCurrentPlayerData(); + + void __cdecl Destructor_MenuModal_DebugDataAiInfo(); + + void __cdecl Destructor_MenuModal_DebugDataUnitData(); + + void __cdecl Destructor_MenuModal_DebugDataZoneDataUnk(); + + void __cdecl Destructor_MenuModal_DebugDataNetwork(); + + void __cdecl Destructor_MenuModal_DebugDataMousePointing(); + + void __cdecl Destructor_MenuModal_DebugDataSplitInfo(); + + void __cdecl Destructor_MenuModal_DebugDataMapData(); + + void __cdecl Destructor_MenuModal_PauseMenu(); + + void __cdecl Destructor_MenuModal_VideoOptions(); + + void __cdecl Destructor_MenuModal_SoundOptions(); + + void __cdecl Destructor_MenuModal_NetworkOptions(); + + void __cdecl Destructor_MenuModal_LoadMap(); + + void __cdecl Destructor_MenuModal_SaveMap(); + + void __cdecl Destructor_MenuModal_YesNoDialog(); + + void __cdecl Destructor_MenuModal_QuitDialog(); + + void __cdecl Destructor_MenuModal_PauseMenuOptions(); + + void __cdecl Destructor_MenuModal_MainMenuOptions(); + + void __cdecl Destructor_MenuModal_GameplayOptions(); + + void __cdecl Destructor_MenuModal_IdentityOptions(); + + void __cdecl Destructor_MenuModal_EnterTitleOnGameStart(); + + void __cdecl Destructor_MenuModal_ProgressBarBox(); + + void __cdecl Destructor_MenuModal_BuildingHelpText(); + + void __cdecl Destructor_MenuModal_InGameHelpText(); + + void __cdecl Destructor_MenuModal_MapDescriptionEditor(); + + void __cdecl Destructor_MenuModal_ChooseNetworkServiceProvider(); + + void __cdecl Destructor_MenuModal_FindingNetworkSessions(); + + void __cdecl Destructor_MenuModal_DisplayAiLordMessage(); + + void __cdecl Destructor_MenuModal_WaitingForHost(); + + void __cdecl Destructor_MenuModal_UnusedSetName(); + + void __cdecl Destructor_MenuModal_UnusedChooseMessageBox(); + + void __cdecl Destructor_MenuModal_TraderSettings(); + + void __cdecl Destructor_MenuModal_StartGoods(); + + void __cdecl Destructor_MenuModal_UnusedSiegeAttackingForceUnk(); + + void __cdecl Destructor_MenuModal_NewInvasion(); + + void __cdecl Destructor_MenuModal_UnusedCreateTimedMessageEvent(); + + void __cdecl Destructor_MenuModal_NewEvent(); + + void __cdecl Destructor_MenuModal_NewEventCondition(); + + void __cdecl Destructor_MenuModal_NewEventAction(); + + void __cdecl Destructor_MenuModal_UnusedCreateMessageEvent(); + + void __cdecl Destructor_MenuModal_BuildingAvailability(); + + void __cdecl Destructor_MenuModal_DisableEuroTroops(); + + void __cdecl Destructor_MenuModal_DisableArabTroops(); + + void __cdecl Destructor_MenuModal_DisableWeapon(); + + void __cdecl Destructor_MenuModal_TutorialBox(); + + void __cdecl Destructor_MenuModal_TutorialBoxWithLeave(); + + void __cdecl Destructor_MenuModal_DisplayScenarioHelpText(); + + void __cdecl Destructor_MenuModal_Chat(); + + void __cdecl Destructor_MenuModal_CreditsScroll(); + + void __cdecl Destructor_MenuModal_EditorMapTypeQuickChange(); + + void __cdecl Destructor_MenuModal_SkirmishConnectionOptions(); + + void __cdecl Destructor_MenuModal_SkirmishPlayOptions(); + + void __cdecl Destructor_MenuModal_OnlineQuitGame(); + + void __cdecl Destructor_MenuModal_OnlineVoteQuitGame(); + + void __cdecl Destructor_MenuModal_TriggerInvasion(); + + void __cdecl Destructor_MenuModal_TriggerEvent(); + + void __cdecl Destructor_MenuModal_TriggerEventOrInvasion(); + + void __cdecl Destructor_MenuModal_TriggerEventSlider(); + + void __cdecl Destructor_MenuModal_SendMapTo(); + + void __cdecl Destructor_MenuModal_ReceiveMapFromUnk(); + + void __cdecl Destructor_MenuModal_BasicAiLordSelect(); + + void __cdecl Destructor_MenuModal_ExtendedAiLordSelect(); + + void __cdecl Destructor_MenuModal_Roundtable(); + + void __cdecl Destructor_MenuModal_Allies(); + + void __cdecl Destructor_MenuModal_AlliesOrder(); + + void __cdecl Destructor_MenuModal_AlliesRequestGoods(); + + void __cdecl Destructor_MenuModal_GreatestLord(); + + void __cdecl Destructor_MenuModal_AlliesSendGoods(); + + void __cdecl Destructor_MenuModal_ChooseRandomNumberOfEnemies(); + + void __cdecl Destructor_MenuModal_DeleteGameRecord(); + + void __cdecl Destructor_MenuModal_TacticalPowerBar(); + + void __cdecl Destructor_MenuModal_DebugDataAivStateUnk(); + + void __cdecl Destructor_0059d4d0(); + + void __cdecl Destructor_0059d4e0(); + + void __cdecl Destructor_0059d4f0(); + + void __cdecl Destructor_0059d500(); + + void __cdecl Destructor_0059d510(); + + void __cdecl Destructor_ScrollingHandler(); + + void __cdecl Destructor_InsertKeyState(); + + void __cdecl Destructor_0059d540(); + + void __cdecl Destructor_0059d550(); + + void __cdecl Destructor_0059d560(); + + void __cdecl Destructor_0059d570(); + + void __cdecl Destructor_0059d580(); + + void __cdecl Destructor_0059d590(); + + void __cdecl Destructor_GameCoreAndRendering(); + + void __cdecl Destructor_0059d5b0(); + + void __cdecl Destructor_0059d5c0(); + + void __cdecl Destructor_0059d5d0(); + + void __cdecl Destructor_Stopwatch_Gameloop(); + + void __cdecl Destructor_Stopwatch_Unknown(); + + void __cdecl Destructor_0059d600(); + + void __cdecl Destructor_Decoder(); + + void __cdecl Destructor_TextureRenderingCore(); + + void __cdecl Destructor_0059d630(); + + void __cdecl Destructor_AlphaAndButtonSurface(); + + void __cdecl Destructor_0059d650(); + + void __cdecl Destructor_0059d660(); + + void __cdecl Destructor_0059d670(); + + void __cdecl Destructor_0059d680(); + + void __cdecl Destructor_0059d690(); + + void __cdecl Destructor_0059d6a0(); + + void __cdecl Destructor_0059d6b0(); + + void __cdecl Destructor_0059d6c0(); + + void __cdecl Destructor_0059d6d0(); + + void __cdecl Destructor_0059d6e0(); + + void __cdecl Destructor_0059d6f0(); + + void __cdecl Destructor_0059d700(); + + void __cdecl Destructor_0059d710(); + + void __cdecl Destructor_0059d720(); + + void __cdecl Destructor_0059d730(); + + void __cdecl Destructor_0059d740(); + + void __cdecl Destructor_0059d750(); + + void __cdecl Destructor_0059d760(); + + void __cdecl Destructor_0059d770(); + + void __cdecl Destructor_0059d780(); + + void __cdecl Destructor_BinkControlClass(); + + void __cdecl Destructor_0059d7a0(); + + void __cdecl Destructor_0059d7b0(); + + void __cdecl Destructor_0059d7c0(); + + void __cdecl Destructor_0059d7ca(); + + void __cdecl Destructor_0059d7d4(); + + void __cdecl Destructor_0059d7de(); + + void __cdecl Destructor_0059d7e8(); + + void __cdecl Destructor_0059d7f2(); + +} // namespace Meta +} // namespace OpenSHC diff --git a/src/OpenSHC/Random/RNG.func.hpp b/src/OpenSHC/Random/RNG.func.hpp new file mode 100644 index 0000000..6ca23d5 --- /dev/null +++ b/src/OpenSHC/Random/RNG.func.hpp @@ -0,0 +1,24 @@ +/** + path: 'OpenSHC/Random/RNG.func.hpp' +*/ + +#include "OpenSHC/Random/RNG.hpp" +namespace OpenSHC { +namespace Random { + namespace RNG_Func { + + MACRO_FUNCTION_RESOLVER(void (RNG::*)(), false, Address::SHC_3BB0A8C1_0x0046A740, &RNG::setTimeBasedSeed) + setTimeBasedSeed; + + MACRO_FUNCTION_RESOLVER(void (RNG::*)(), false, Address::SHC_3BB0A8C1_0x0046A760, &RNG::populateRNG1040) + populateRNG1040; + + MACRO_FUNCTION_RESOLVER(void (RNG::*)(), false, Address::SHC_3BB0A8C1_0x0046A7D0, &RNG::nextRandomNumber2) + nextRandomNumber2; + + MACRO_FUNCTION_RESOLVER(void (RNG::*)(), false, Address::SHC_3BB0A8C1_0x0046A800, &RNG::nextRandomNumber1) + nextRandomNumber1; + + } // namespace RNG_Func +} // namespace Random +} // namespace OpenSHC diff --git a/src/OpenSHC/Random/RNG.hpp b/src/OpenSHC/Random/RNG.hpp new file mode 100644 index 0000000..5b070a6 --- /dev/null +++ b/src/OpenSHC/Random/RNG.hpp @@ -0,0 +1,50 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Random/RNG.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Random { + +#pragma pack(push, 1) + + // SIZE: 0x00009C50 + class RNG { + public: + short currentNumber1; // 0x00000000 length: 2 + short currentNumber2; // 0x00000002 length: 2 + int seed; // 0x00000004 length: 4 + short randomNumbers[20000]; // 0x00000008 length: 40000 + int index2; // 0x00009C48 length: 4 + int index1; // 0x00009C4C length: 4 + + private: + RNG(RNG const&); + void operator=(RNG const&); + + RNG(); + ~RNG(); + + public: + // Constructor + RNG* Constructor_RNG(); + + void setTimeBasedSeed(); + + void populateRNG1040(); + + void nextRandomNumber2(); + + void nextRandomNumber1(); + }; + + static_assert_cpp98_obj(sizeof(RNG) == 40016, RNG); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(RNG, false, Address::SHC_3BB0A8C1_0x01A279C0) pDAT_RNG; + +} // namespace Random +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering.func.hpp b/src/OpenSHC/Rendering.func.hpp new file mode 100644 index 0000000..d437a94 --- /dev/null +++ b/src/OpenSHC/Rendering.func.hpp @@ -0,0 +1,41 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering.hpp" +namespace OpenSHC { +namespace Rendering_Func { + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00453600, &OpenSHC::Rendering::ApplyBlending) + ApplyBlending; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00453B00, &OpenSHC::Rendering::FUN_00453b00) + FUN_00453b00; + + 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_0x0046CF10, &OpenSHC::Rendering::TicksStartCounter) + TicksStartCounter; + + MACRO_FUNCTION_RESOLVER( + int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B2A60, &OpenSHC::Rendering::viewportBasedTileNumber) + viewportBasedTileNumber; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E0A50, &OpenSHC::Rendering::FUN_004e0a50) + FUN_004e0a50; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E12C0, &OpenSHC::Rendering::FUN_004e12c0) + FUN_004e12c0; + +} // namespace Rendering_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering.hpp b/src/OpenSHC/Rendering.hpp new file mode 100644 index 0000000..9cb2d06 --- /dev/null +++ b/src/OpenSHC/Rendering.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + + void __cdecl ApplyBlending(int param_1); + + void __stdcall FUN_00453b00(); + + void __stdcall FUN_00454080(); + + void __stdcall TicksStartCounter(); + + int __stdcall viewportBasedTileNumber(); + + void __stdcall FUN_004e0a50(); + + void __stdcall FUN_004e12c0(); + +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/AIMessageQueue.func.hpp b/src/OpenSHC/Rendering/Bink/AIMessageQueue.func.hpp new file mode 100644 index 0000000..11fd904 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/AIMessageQueue.func.hpp @@ -0,0 +1,45 @@ +/** + path: 'OpenSHC/Rendering/Bink/AIMessageQueue.func.hpp' +*/ + +#include "OpenSHC/Rendering/Bink/AIMessageQueue.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Rendering { + namespace Bink { + namespace AIMessageQueue_Func { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (AIMessageQueue::*)(char*, char*), false, Address::SHC_3BB0A8C1_0x004B7AF0, + &AIMessageQueue::playVideoOverMap) + playVideoOverMap; + + MACRO_FUNCTION_RESOLVER(void (AIMessageQueue::*)(int, int), false, Address::SHC_3BB0A8C1_0x004B7C90, + &AIMessageQueue::playAiLordMessage) + playAiLordMessage; + + MACRO_FUNCTION_RESOLVER(void (AIMessageQueue::*)(char*, char*, char*), false, + Address::SHC_3BB0A8C1_0x004BE7E0, &AIMessageQueue::playEventVideoBik) + playEventVideoBik; + + MACRO_FUNCTION_RESOLVER(void (AIMessageQueue::*)(char*, char*, char*, int), false, + Address::SHC_3BB0A8C1_0x004BE8A0, &AIMessageQueue::prepareSFXandVFX) + prepareSFXandVFX; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AIMessageQueue::*)(), false, Address::SHC_3BB0A8C1_0x004BE960, + &AIMessageQueue::playNextStoredAIMessage) + playNextStoredAIMessage; + + MACRO_FUNCTION_RESOLVER(void (AIMessageQueue::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004BEA90, + &AIMessageQueue::playBikVideoFromPlayer) + playBikVideoFromPlayer; + + MACRO_FUNCTION_RESOLVER(void (AIMessageQueue::*)(), false, Address::SHC_3BB0A8C1_0x004C62A0, + &AIMessageQueue::playNextStoredBinkVideo) + playNextStoredBinkVideo; + + } // namespace AIMessageQueue_Func + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/AIMessageQueue.hpp b/src/OpenSHC/Rendering/Bink/AIMessageQueue.hpp new file mode 100644 index 0000000..fc1cbc9 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/AIMessageQueue.hpp @@ -0,0 +1,68 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/AIMessageQueue.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000930 + class AIMessageQueue { + public: + BOOLEnum messagePlaying_0x0; // 0x00000000 length: 4 + dword currentMessageUnknownValue_0x4; // 0x00000004 length: 4 + char* currentMessageText_0x8; // 0x00000008 length: 4 + char currentMessageVfxFile_0xc[100]; // 0x0000000C length: 100 + char currentMessageSfxFile_0x70[100]; // 0x00000070 length: 100 + dword currentMessageUnknownValue2_0xd4; // 0x000000D4 length: 4 + dword videoStartTimeUnk_0xd8; // 0x000000D8 length: 4 + char* savedMessageTextPtr_0xdc[10]; // 0x000000DC length: 40 + int savedMessageUnknownValue_0x104[10]; // 0x00000104 length: 40 + char savedMessageVfxFile_0x12c[10][100]; // 0x0000012C length: 1000 + char savedMessageSfxFile_0x514[10][100]; // 0x00000514 length: 1000 + int savedMessageUnknownValue2_0x8fc[10]; // 0x000008FC length: 40 + int storedMessages_0x924; // 0x00000924 length: 4 + dword mbr_0x928; // 0x00000928 length: 4 + dword mbr_0x92c; // 0x0000092C length: 4 + + private: + AIMessageQueue(AIMessageQueue const&); + void operator=(AIMessageQueue const&); + + AIMessageQueue(); + ~AIMessageQueue(); + + public: + void playVideoOverMap(char* binkFileName, char* sfxFileName); + + void playAiLordMessage(int param_1, int param_2); + + void playEventVideoBik(char* eventText, char* eventVideoBik, char* eventWavFile); + + void prepareSFXandVFX(char* messageText, char* messageVfxFile, char* messageSfxFile, int param_4); + + BOOLEnum playNextStoredAIMessage(); + + void playBikVideoFromPlayer(int playerIndex, int aiType, int messageType); + + void playNextStoredBinkVideo(); + }; + + static_assert_cpp98_obj(sizeof(AIMessageQueue) == 2352, AIMessageQueue); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(AIMessageQueue, false, Address::SHC_3BB0A8C1_0x00EE10A0) pDAT_AIMessageQueue; + + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/BinkControlClass.func.hpp b/src/OpenSHC/Rendering/Bink/BinkControlClass.func.hpp new file mode 100644 index 0000000..67561e0 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/BinkControlClass.func.hpp @@ -0,0 +1,52 @@ +/** + path: 'OpenSHC/Rendering/Bink/BinkControlClass.func.hpp' +*/ + +#include "OpenSHC/Audio/mss/HDIGDRIVER.hpp" +#include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" +#include "OpenSHC/Rendering/Bink/BinkControlClass.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace Rendering { + namespace Bink { + namespace BinkControlClass_Func { + + using OpenSHC::Audio::mss::HDIGDRIVER; + using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(HDIGDRIVER), false, Address::SHC_3BB0A8C1_0x00408E10, + &BinkControlClass::zeroBinkPtrAndLoadBinkSoundSystem) + zeroBinkPtrAndLoadBinkSoundSystem; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(int), false, Address::SHC_3BB0A8C1_0x00408E30, + &BinkControlClass::stopBinkPlayback) + stopBinkPlayback; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(int, SHC_SoundStreamInt), false, + Address::SHC_3BB0A8C1_0x00408E70, &BinkControlClass::setBinkSndStreamAndStartTime) + setBinkSndStreamAndStartTime; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(), false, Address::SHC_3BB0A8C1_0x00408EB0, + &BinkControlClass::stopAllBinkPlayback) + stopAllBinkPlayback; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(int, char*, DWORD, DWORD, int, int, DWORD), false, + Address::SHC_3BB0A8C1_0x00408ED0, &BinkControlClass::playBINK) + playBINK; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(dword), false, Address::SHC_3BB0A8C1_0x00408FC0, + &BinkControlClass::copyBinkToVideoBuffer) + copyBinkToVideoBuffer; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(), false, Address::SHC_3BB0A8C1_0x00409200, + &BinkControlClass::processBinkFrames) + processBinkFrames; + + MACRO_FUNCTION_RESOLVER(void (BinkControlClass::*)(), false, Address::SHC_3BB0A8C1_0x004092B0, + &BinkControlClass::stopAllBinkPlaybackThunk) + stopAllBinkPlaybackThunk; + + } // namespace BinkControlClass_Func + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/BinkControlClass.hpp b/src/OpenSHC/Rendering/Bink/BinkControlClass.hpp new file mode 100644 index 0000000..fa3566d --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/BinkControlClass.hpp @@ -0,0 +1,78 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/BinkControlClass.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/HDIGDRIVER.hpp" +#include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" +#include "OpenSHC/Rendering/Bink/HBINK.hpp" +#include "OpenSHC/Rendering/Bink/UnsortedBinkFlagInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + + using OpenSHC::Audio::mss::HDIGDRIVER; + using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + using OpenSHC::Rendering::Bink::HBINK; + using OpenSHC::Rendering::Bink::UnsortedBinkFlagInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000060 + class BinkControlClass { + public: + dword unknownParam04[2]; // 0x00000000 length: 8 + int xPos[2]; // 0x00000008 length: 8 + int yPos[2]; // 0x00000010 length: 8 + BOOLEnum frameReadyToDisplay[2]; // 0x00000018 length: 8 + dword unknownParam03[2]; // 0x00000020 length: 8 + dword unknownParam07[2]; // 0x00000028 length: 8 + dword unknown01_zero[2]; // 0x00000030 length: 8 + dword unknown02_zero[2]; // 0x00000038 length: 8 + SHC_SoundStreamInt soundStreamIndex[2]; // 0x00000040 length: 8 + dword startTime[2]; // 0x00000048 length: 8 + HBINK binkObjPtrArray[2]; // 0x00000050 length: 8 + UnsortedBinkFlagInt mapGameSurfaceType; // 0x00000058 length: 4 + UnsortedBinkFlagInt screenMenuSurfaceType_0x5c; // 0x0000005C length: 4 + + private: + BinkControlClass(BinkControlClass const&); + void operator=(BinkControlClass const&); + + BinkControlClass(); + ~BinkControlClass(); + + public: + void zeroBinkPtrAndLoadBinkSoundSystem(HDIGDRIVER drvrPtr); + + void stopBinkPlayback(int binkObjIndex); + + void setBinkSndStreamAndStartTime(int binkObjIndex, SHC_SoundStreamInt soundStreamIndexUnk); + + void stopAllBinkPlayback(); + + void playBINK( + int binkObjIndex, char* binkFileName, DWORD param_3, DWORD param_4, int xPos, int yPos, DWORD param_7); + + void copyBinkToVideoBuffer(dword param_1); + + void processBinkFrames(); + + void stopAllBinkPlaybackThunk(); + }; + + static_assert_cpp98_obj(sizeof(BinkControlClass) == 96, BinkControlClass); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(BinkControlClass, false, Address::SHC_3BB0A8C1_0x02157518) pDAT_BinkControlClass; + + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/BinkDrawingSurface.hpp b/src/OpenSHC/Rendering/Bink/BinkDrawingSurface.hpp new file mode 100644 index 0000000..a9b4f21 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/BinkDrawingSurface.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/BinkDrawingSurface.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + typedef enum BinkDrawingSurface { + + BDS_GameSurface = 0, // 0x00000000 + BDS_MapSurface = 1 // 0x00000001 + + } BinkDrawingSurface; + + static_assert_cpp98_obj(sizeof(BinkDrawingSurface) == 4, BinkDrawingSurface); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/BinkDrawingSurfaceInt.hpp b/src/OpenSHC/Rendering/Bink/BinkDrawingSurfaceInt.hpp new file mode 100644 index 0000000..58fe58b --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/BinkDrawingSurfaceInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/BinkDrawingSurfaceInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Bink/BinkDrawingSurface.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + typedef int BinkDrawingSurfaceInt; + + static_assert_cpp98_obj(sizeof(BinkDrawingSurfaceInt) == 4, BinkDrawingSurfaceInt); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/FakeBink.hpp b/src/OpenSHC/Rendering/Bink/FakeBink.hpp new file mode 100644 index 0000000..0c413f6 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/FakeBink.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/FakeBink.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct FakeBink { + + ulong width; // 0x00000000 length: 4 + ulong height; // 0x00000004 length: 4 + ulong frames; // 0x00000008 length: 4 + ulong frameNum; // 0x0000000C length: 4 + + } FakeBink; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(FakeBink) == 16, FakeBink); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/HBINK.hpp b/src/OpenSHC/Rendering/Bink/HBINK.hpp new file mode 100644 index 0000000..3c9dc26 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/HBINK.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/HBINK.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Bink/FakeBink.hpp" +namespace OpenSHC { +namespace Rendering { + namespace Bink { + + using OpenSHC::Rendering::Bink::FakeBink; + + typedef FakeBink* HBINK; + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlag.hpp b/src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlag.hpp new file mode 100644 index 0000000..00381a1 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlag.hpp @@ -0,0 +1,44 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/UnsortedBinkBufferFlag.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + typedef enum UnsortedBinkBufferFlag { + + UBBF_BINKBUFFERAUTO = 0, // 0x00000000 + UBBF_BINKBUFFERDIRECT = 1, // 0x00000001 + UBBF_BINKBUFFERPRIMARY = 1, // 0x00000001 + UBBF_BINKBUFFERDIBSECTION = 2, // 0x00000002 + UBBF_BINKBUFFERGWORLD = 2, // 0x00000002 + UBBF_BINKBUFFERYV12OVERLAY = 3, // 0x00000003 + UBBF_BINKBUFFERYUY2OVERLAY = 4, // 0x00000004 + UBBF_BINKBUFFERUYVYOVERLAY = 5, // 0x00000005 + UBBF_BINKBUFFERYV12OFFSCREEN = 6, // 0x00000006 + UBBF_BINKBUFFERYUY2OFFSCREEN = 7, // 0x00000007 + UBBF_BINKBUFFERUYVYOFFSCREEN = 8, // 0x00000008 + UBBF_BINKBUFFERRGBOFFSCREENVIDEO = 9, // 0x00000009 + UBBF_BINKBUFFERLAST = 10, // 0x0000000A + UBBF_BINKBUFFERRGBOFFSCREENSYSTEM = 10, // 0x0000000A + UBBF_BINKBUFFERTYPEMASK = 31, // 0x0000001F + UBBF_BINKBUFFERRESOLUTION = 8388608, // 0x00800000 + UBBF_BINKBUFFERSHRINKY = 16777216, // 0x01000000 + UBBF_BINKBUFFERSHRINKYINT = 33554432, // 0x02000000 + UBBF_BINKBUFFERSTRETCHY = 67108864, // 0x04000000 + UBBF_BINKBUFFERSTRETCHYINT = 134217728, // 0x08000000 + UBBF_BINKBUFFERSHRINKX = 268435456, // 0x10000000 + UBBF_BINKBUFFERSHRINKXINT = 536870912, // 0x20000000 + UBBF_BINKBUFFERSTRETCHX = 1073741824, // 0x40000000 + UBBF_BINKBUFFERSTRETCHXINT = 2147483648, // 0x80000000 + UBBF_BINKBUFFERSCALES = 4278190080 // 0xFF000000 + + } UnsortedBinkBufferFlag; + + static_assert_cpp98_obj(sizeof(UnsortedBinkBufferFlag) == 4, UnsortedBinkBufferFlag); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlagInt.hpp b/src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlagInt.hpp new file mode 100644 index 0000000..c250618 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/UnsortedBinkBufferFlagInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/UnsortedBinkBufferFlagInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Bink/UnsortedBinkBufferFlag.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + typedef int UnsortedBinkBufferFlagInt; + + static_assert_cpp98_obj(sizeof(UnsortedBinkBufferFlagInt) == 4, UnsortedBinkBufferFlagInt); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/UnsortedBinkFlag.hpp b/src/OpenSHC/Rendering/Bink/UnsortedBinkFlag.hpp new file mode 100644 index 0000000..2af7c63 --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/UnsortedBinkFlag.hpp @@ -0,0 +1,68 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/UnsortedBinkFlag.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + typedef enum UnsortedBinkFlag { + + UBF_BINKGETKEYPREVIOUS = 0, // 0x00000000 + UBF_BINKSURFACE8P = 0, // 0x00000000 + UBF_BINKSURFACEFAST = 0, // 0x00000000 + UBF_BINKGETKEYNEXT = 1, // 0x00000001 + UBF_BINKGOTOQUICK = 1, // 0x00000001 + UBF_BINKSURFACE24 = 1, // 0x00000001 + UBF_BINKGETKEYCLOSEST = 2, // 0x00000002 + UBF_BINKSURFACE24R = 2, // 0x00000002 + UBF_BINKSURFACE32 = 3, // 0x00000003 + UBF_BINKSURFACE32R = 4, // 0x00000004 + UBF_BINKSURFACE32A = 5, // 0x00000005 + UBF_BINKSURFACE32RA = 6, // 0x00000006 + UBF_BINKSURFACE4444 = 7, // 0x00000007 + UBF_BINKSURFACE5551 = 8, // 0x00000008 + UBF_BINKSURFACE555 = 9, // 0x00000009 + UBF_BINKSURFACE565 = 10, // 0x0000000A + UBF_BINKSURFACE655 = 11, // 0x0000000B + UBF_BINKSURFACE664 = 12, // 0x0000000C + UBF_BINKSURFACEYUY2 = 13, // 0x0000000D + UBF_BINKSURFACEUYVY = 14, // 0x0000000E + UBF_BINKSURFACEMASK = 15, // 0x0000000F + UBF_BINKSURFACEYV12 = 15, // 0x0000000F + UBF_BINKGETKEYNOTEQUAL = 128, // 0x00000080 + UBF_BINKFRAMERATE = 4096, // 0x00001000 + UBF_BINKPRELOADALL = 8192, // 0x00002000 + UBF_BINKSNDTRACK = 16384, // 0x00004000 + UBF_BINKOLDFRAMEFORMAT = 32768, // 0x00008000 + UBF_BINKRBINVERT = 65536, // 0x00010000 + UBF_BINKGRAYSCALE = 131072, // 0x00020000 + UBF_BINKNOMMX = 262144, // 0x00040000 + UBF_BINKNOSKIP = 524288, // 0x00080000 + UBF_BINKALPHA = 1048576, // 0x00100000 + UBF_BINKNOFILLIOBUF = 2097152, // 0x00200000 + UBF_BINKSIMULATE = 4194304, // 0x00400000 + UBF_BINKFILEHANDLE = 8388608, // 0x00800000 + UBF_BINKIOSIZE = 16777216, // 0x01000000 + UBF_BINKIOPROCESSOR = 33554432, // 0x02000000 + UBF_BINKFROMMEMORY = 67108864, // 0x04000000 + UBF_BINKSURFACEDIRECT = 67108864, // 0x04000000 + UBF_BINKNOTHREADEDIO = 134217728, // 0x08000000 + UBF_BINKSURFACESLOW = 134217728, // 0x08000000 + UBF_BINKCOPY2XH = 268435456, // 0x10000000 + UBF_BINKCOPY2XHI = 536870912, // 0x20000000 + UBF_BINKCOPY2XW = 805306368, // 0x30000000 + UBF_BINKCOPY2XWH = 1073741824, // 0x40000000 + UBF_BINKCOPY2XWHI = 1342177280, // 0x50000000 + UBF_BINKCOPY1XI = 1610612736, // 0x60000000 + UBF_BINKCOPYNOSCALING = 1879048192, // 0x70000000 + UBF_BINKCOPYALL = 2147483648 // 0x80000000 + + } UnsortedBinkFlag; + + static_assert_cpp98_obj(sizeof(UnsortedBinkFlag) == 4, UnsortedBinkFlag); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Bink/UnsortedBinkFlagInt.hpp b/src/OpenSHC/Rendering/Bink/UnsortedBinkFlagInt.hpp new file mode 100644 index 0000000..01b6b8a --- /dev/null +++ b/src/OpenSHC/Rendering/Bink/UnsortedBinkFlagInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Bink/UnsortedBinkFlagInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Bink/UnsortedBinkFlag.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Bink { + typedef int UnsortedBinkFlagInt; + + static_assert_cpp98_obj(sizeof(UnsortedBinkFlagInt) == 4, UnsortedBinkFlagInt); + } // namespace Bink +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/BlendingDefinedData.hpp b/src/OpenSHC/Rendering/BlendingDefinedData.hpp new file mode 100644 index 0000000..d939de5 --- /dev/null +++ b/src/OpenSHC/Rendering/BlendingDefinedData.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/BlendingDefinedData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + +#pragma pack(push, 1) + // SIZE: 0x000036F4 + typedef struct BlendingDefinedData { + + int field0_0x0; // 0x00000000 length: 4 + char field1_0x4[10][1000]; // 0x00000004 length: 10000 + int DAT_DefaultPlayerSlotUnitColor[9]; // 0x00002714 length: 36 + int SEC_PlayerSlotUnitColor[9]; // 0x00002738 length: 36 + undefined1 padding_0x275c[160]; // 0x0000275C length: 160 + int field164_0x27fc[256]; // 0x000027FC length: 1024 + int field165_0x2bfc[128]; // 0x00002BFC length: 512 + int field166_0x2dfc[128]; // 0x00002DFC length: 512 + pointer PTR_campaign_map_england[6]; // 0x00002FFC length: 24 + int field168_0x3014[55][8]; // 0x00003014 length: 1760 + + } BlendingDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BlendingDefinedData) == 14068, BlendingDefinedData); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ColorMode.hpp b/src/OpenSHC/Rendering/ColorMode.hpp new file mode 100644 index 0000000..0d01cb0 --- /dev/null +++ b/src/OpenSHC/Rendering/ColorMode.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ColorMode.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + typedef enum ColorMode { + + RGB_555 = 1365, // 0x00000555 + RGB_565 = 1381 // 0x00000565 + + } ColorMode; + + static_assert_cpp98_obj(sizeof(ColorMode) == 4, ColorMode); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ColorModeInt.hpp b/src/OpenSHC/Rendering/ColorModeInt.hpp new file mode 100644 index 0000000..b20d58f --- /dev/null +++ b/src/OpenSHC/Rendering/ColorModeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ColorModeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/ColorMode.hpp" + +namespace OpenSHC { +namespace Rendering { + typedef int ColorModeInt; + + static_assert_cpp98_obj(sizeof(ColorModeInt) == 4, ColorModeInt); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Colors/BGR24.hpp b/src/OpenSHC/Rendering/Colors/BGR24.hpp new file mode 100644 index 0000000..f610b86 --- /dev/null +++ b/src/OpenSHC/Rendering/Colors/BGR24.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Colors/BGR24.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Colors { + + typedef uint BGR24; + } // namespace Colors +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Colors/RGB15.hpp b/src/OpenSHC/Rendering/Colors/RGB15.hpp new file mode 100644 index 0000000..447ef5a --- /dev/null +++ b/src/OpenSHC/Rendering/Colors/RGB15.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Colors/RGB15.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Colors { + + typedef ushort RGB15; + } // namespace Colors +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/CreditsRelatedStructure.hpp b/src/OpenSHC/Rendering/CreditsRelatedStructure.hpp new file mode 100644 index 0000000..a8d7054 --- /dev/null +++ b/src/OpenSHC/Rendering/CreditsRelatedStructure.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/CreditsRelatedStructure.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + +#pragma pack(push, 1) + // SIZE: 0x00000034 + typedef struct CreditsRelatedStructure { + + int isValid; // 0x00000000 length: 4 + int xSpace; // 0x00000004 length: 4 + int ySpace; // 0x00000008 length: 4 + int someX; // 0x0000000C length: 4 + int someY; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + int field7_0x1c; // 0x0000001C length: 4 + int field8_0x20; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + int field11_0x2c; // 0x0000002C length: 4 + int flag; // 0x00000030 length: 4 + + } CreditsRelatedStructure; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(CreditsRelatedStructure) == 52, CreditsRelatedStructure); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/CreditsRelatedStructure2.hpp b/src/OpenSHC/Rendering/CreditsRelatedStructure2.hpp new file mode 100644 index 0000000..a54cc3c --- /dev/null +++ b/src/OpenSHC/Rendering/CreditsRelatedStructure2.hpp @@ -0,0 +1,44 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/CreditsRelatedStructure2.hpp' +*/ + +#pragma once + +#include "OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp" +#include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" + +namespace OpenSHC { +namespace Rendering { + + using OpenSHC::Audio::mss::UnkSoundFlagsAndLoopCount; + using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + +#pragma pack(push, 1) + // SIZE: 0x0000005C + typedef struct CreditsRelatedStructure2 { + + int field0_0x0; // 0x00000000 length: 4 + SHC_SoundStreamInt soundStream; // 0x00000004 length: 4 + int x; // 0x00000008 length: 4 + int y; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + undefined1 padding_0x1c[4]; // 0x0000001C length: 4 + UnkSoundFlagsAndLoopCount flagLoopCount; // 0x00000020 length: 4 + int binkObjIndex; // 0x00000024 length: 4 + int field13_0x28; // 0x00000028 length: 4 + int volume; // 0x0000002C length: 4 + int field15_0x30; // 0x00000030 length: 4 + int field16_0x34; // 0x00000034 length: 4 + int field17_0x38; // 0x00000038 length: 4 + char* binkFileName; // 0x0000003C length: 4 + undefined1 padding_0x40[28]; // 0x00000040 length: 28 + + } CreditsRelatedStructure2; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(CreditsRelatedStructure2) == 92, CreditsRelatedStructure2); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Enums/DirectDrawStatus.hpp b/src/OpenSHC/Rendering/Enums/DirectDrawStatus.hpp new file mode 100644 index 0000000..1fb6e98 --- /dev/null +++ b/src/OpenSHC/Rendering/Enums/DirectDrawStatus.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Enums/DirectDrawStatus.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Enums { + typedef enum DirectDrawStatus { + + DD7_NOT_LOADED = 0, // 0x00000000 + DD7_LOADED = 1792 // 0x00000700 + + } DirectDrawStatus; + + static_assert_cpp98_obj(sizeof(DirectDrawStatus) == 4, DirectDrawStatus); + } // namespace Enums +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp b/src/OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp new file mode 100644 index 0000000..374a126 --- /dev/null +++ b/src/OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Enums/DirectDrawStatusInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Enums/DirectDrawStatus.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Enums { + typedef int DirectDrawStatusInt; + + static_assert_cpp98_obj(sizeof(DirectDrawStatusInt) == 4, DirectDrawStatusInt); + } // namespace Enums +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Enums/GmDataIndex.hpp b/src/OpenSHC/Rendering/Enums/GmDataIndex.hpp new file mode 100644 index 0000000..c089aca --- /dev/null +++ b/src/OpenSHC/Rendering/Enums/GmDataIndex.hpp @@ -0,0 +1,670 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Enums/GmDataIndex.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Enums { + typedef enum GmDataIndex { + + GDI_NONE_0 = 0, // 0x00000000 + GDI_ICONS_PLACEHOLDERS_1_PIC_61 = 1, // 0x00000001 + GDI_ICONS_PLACEHOLDERS_2_PIC_37 = 2, // 0x00000002 + GDI_ICONS_PLACEHOLDERS_3_PIC_39 = 3, // 0x00000003 + GDI_ICONS_PLACEHOLDERS_4_PIC_25 = 4, // 0x00000004 + GDI_ICONS_PLACEHOLDERS_5_PIC_101 = 5, // 0x00000005 + GDI_ICONS_PLACEHOLDERS_6_PIC_99 = 6, // 0x00000006 + GDI_ICONS_PLACEHOLDERS_7_PIC_97 = 7, // 0x00000007 + GDI_NONE_8 = 8, // 0x00000008 + GDI_ICONS_PLACEHOLDERS_9_PIC_13 = 9, // 0x00000009 + GDI_ICONS_PLACEHOLDERS_10_PIC_125 = 10, // 0x0000000A + GDI_ICONS_PLACEHOLDERS_11_PIC_117 = 11, // 0x0000000B + GDI_ICONS_PLACEHOLDERS_12_PIC_123 = 12, // 0x0000000C + GDI_ICONS_PLACEHOLDERS_13_PIC_121 = 13, // 0x0000000D + GDI_ICONS_PLACEHOLDERS_14_PIC_119 = 14, // 0x0000000E + GDI_ICONS_PLACEHOLDERS_15_PIC_29 = 15, // 0x0000000F + GDI_ICONS_PLACEHOLDERS_16_PIC_31 = 16, // 0x00000010 + GDI_ICONS_PLACEHOLDERS_17_PIC_11 = 17, // 0x00000011 + GDI_ICONS_PLACEHOLDERS_18_PIC_111 = 18, // 0x00000012 + GDI_ICONS_PLACEHOLDERS_19_PIC_113 = 19, // 0x00000013 + GDI_ICONS_PLACEHOLDERS_20_PIC_109 = 20, // 0x00000014 + GDI_ICONS_PLACEHOLDERS_21_PIC_115 = 21, // 0x00000015 + GDI_ICONS_PLACEHOLDERS_22_PIC_23 = 22, // 0x00000016 + GDI_ICONS_PLACEHOLDERS_23_PIC_27 = 23, // 0x00000017 + GDI_ICONS_PLACEHOLDERS_24_PIC_41 = 24, // 0x00000018 + GDI_ICONS_PLACEHOLDERS_25_PIC_43 = 25, // 0x00000019 + GDI_ICONS_PLACEHOLDERS_26_PIC_47 = 26, // 0x0000001A + GDI_ICONS_PLACEHOLDERS_27_PIC_49 = 27, // 0x0000001B + GDI_ICONS_PLACEHOLDERS_28_PIC_45 = 28, // 0x0000001C + GDI_ICONS_PLACEHOLDERS_29_PIC_81 = 29, // 0x0000001D + GDI_ICONS_PLACEHOLDERS_30_PIC_35 = 30, // 0x0000001E + GDI_ICONS_PLACEHOLDERS_31_PIC_103 = 31, // 0x0000001F + GDI_ICONS_PLACEHOLDERS_32_PIC_15 = 32, // 0x00000020 + GDI_ICONS_PLACEHOLDERS_33_PIC_33 = 33, // 0x00000021 + GDI_ICONS_PLACEHOLDERS_34_PIC_155 = 34, // 0x00000022 + GDI_ICONS_PLACEHOLDERS_35_PIC_105 = 35, // 0x00000023 + GDI_ICONS_PLACEHOLDERS_36_PIC_107 = 36, // 0x00000024 + GDI_ICONS_PLACEHOLDERS_37_PIC_83 = 37, // 0x00000025 + GDI_ICONS_PLACEHOLDERS_38_PIC_87 = 38, // 0x00000026 + GDI_ICONS_PLACEHOLDERS_39_PIC_85 = 39, // 0x00000027 + GDI_ICONS_PLACEHOLDERS_40_PIC_141 = 40, // 0x00000028 + GDI_ICONS_PLACEHOLDERS_41_PIC_139 = 41, // 0x00000029 + GDI_ICONS_PLACEHOLDERS_42_PIC_161 = 42, // 0x0000002A + GDI_ICONS_PLACEHOLDERS_43_PIC_163 = 43, // 0x0000002B + GDI_ICONS_PLACEHOLDERS_44_PIC_173 = 44, // 0x0000002C + GDI_ICONS_PLACEHOLDERS_45_PIC_63 = 45, // 0x0000002D + GDI_ICONS_PLACEHOLDERS_46_PIC_145 = 46, // 0x0000002E + GDI_ICONS_PLACEHOLDERS_47_PIC_147 = 47, // 0x0000002F + GDI_ICONS_PLACEHOLDERS_48_PIC_153 = 48, // 0x00000030 + GDI_INTERFACE_BUTTONS_49_PIC_32 = 49, // 0x00000031 + GDI_ICONS_PLACEHOLDERS_50_PIC_17 = 50, // 0x00000032 + GDI_ICONS_PLACEHOLDERS_51_PIC_19 = 51, // 0x00000033 + GDI_ICONS_PLACEHOLDERS_52_PIC_13 = 52, // 0x00000034 + GDI_ICONS_PLACEHOLDERS_53_PIC_15 = 53, // 0x00000035 + GDI_ICONS_PLACEHOLDERS_54_PIC_167 = 54, // 0x00000036 + GDI_ICONS_PLACEHOLDERS_55_PIC_171 = 55, // 0x00000037 + GDI_ICONS_PLACEHOLDERS_56_PIC_157 = 56, // 0x00000038 + GDI_NONE_57 = 57, // 0x00000039 + GDI_NONE_58 = 58, // 0x0000003A + GDI_NONE_59 = 59, // 0x0000003B + GDI_ICONS_PLACEHOLDERS_60_PIC_3 = 60, // 0x0000003C + GDI_ICONS_PLACEHOLDERS_61_PIC_21 = 61, // 0x0000003D + GDI_ICONS_PLACEHOLDERS_62_PIC_61 = 62, // 0x0000003E + GDI_ICONS_PLACEHOLDERS_63_PIC_63 = 63, // 0x0000003F + GDI_ICONS_PLACEHOLDERS_64_PIC_65 = 64, // 0x00000040 + GDI_ICONS_PLACEHOLDERS_65_PIC_143 = 65, // 0x00000041 + GDI_ICONS_PLACEHOLDERS_66_PIC_191 = 66, // 0x00000042 + GDI_ICONS_PLACEHOLDERS_67_PIC_9 = 67, // 0x00000043 + GDI_ICONS_PLACEHOLDERS_68_PIC_7 = 68, // 0x00000044 + GDI_ICONS_PLACEHOLDERS_69_PIC_17 = 69, // 0x00000045 + GDI_ICONS_PLACEHOLDERS_70_PIC_5 = 70, // 0x00000046 + GDI_ICONS_PLACEHOLDERS_71_PIC_81 = 71, // 0x00000047 + GDI_ICONS_PLACEHOLDERS_72_PIC_99 = 72, // 0x00000048 + GDI_ICONS_PLACEHOLDERS_73_PIC_95 = 73, // 0x00000049 + GDI_ICONS_PLACEHOLDERS_74_PIC_159 = 74, // 0x0000004A + GDI_ICONS_PLACEHOLDERS_75_PIC_161 = 75, // 0x0000004B + GDI_ICONS_PLACEHOLDERS_76_PIC_91 = 76, // 0x0000004C + GDI_ICONS_PLACEHOLDERS_77_PIC_163 = 77, // 0x0000004D + GDI_ICONS_PLACEHOLDERS_78_PIC_12 = 78, // 0x0000004E + GDI_ICONS_PLACEHOLDERS_79_PIC_21 = 79, // 0x0000004F + GDI_ICONS_PLACEHOLDERS_80_PIC_1 = 80, // 0x00000050 + GDI_ICONS_PLACEHOLDERS_81_PIC_51 = 81, // 0x00000051 + GDI_ICONS_PLACEHOLDERS_82_PIC_53 = 82, // 0x00000052 + GDI_ICONS_PLACEHOLDERS_83_PIC_55 = 83, // 0x00000053 + GDI_ICONS_PLACEHOLDERS_84_PIC_57 = 84, // 0x00000054 + GDI_ICONS_PLACEHOLDERS_85_PIC_59 = 85, // 0x00000055 + GDI_ICONS_PLACEHOLDERS_86_PIC_215 = 86, // 0x00000056 + GDI_ICONS_PLACEHOLDERS_87_PIC_127 = 87, // 0x00000057 + GDI_ICONS_PLACEHOLDERS_88_PIC_129 = 88, // 0x00000058 + GDI_ICONS_PLACEHOLDERS_89_PIC_131 = 89, // 0x00000059 + GDI_INTERFACE_ICONS_2_90_PIC_0 = 90, // 0x0000005A + GDI_INTERFACE_BUTTONS_91_PIC_35 = 91, // 0x0000005B + GDI_INTERFACE_BUTTONS_92_PIC_38 = 92, // 0x0000005C + GDI_INTERFACE_BUTTONS_93_PIC_34 = 93, // 0x0000005D + GDI_INTERFACE_BUTTONS_94_PIC_37 = 94, // 0x0000005E + GDI_INTERFACE_BUTTONS_95_PIC_36 = 95, // 0x0000005F + GDI_INTERFACE_BUTTONS_96_PIC_39 = 96, // 0x00000060 + GDI_INTERFACE_BUTTONS_97_PIC_40 = 97, // 0x00000061 + GDI_INTERFACE_ICONS_2_98_PIC_0 = 98, // 0x00000062 + GDI_INTERFACE_ICONS_2_99_PIC_0 = 99, // 0x00000063 + GDI_INTERFACE_ICONS_2_100_PIC_0 = 100, // 0x00000064 + GDI_INTERFACE_ICONS_2_101_PIC_6 = 101, // 0x00000065 + GDI_INTERFACE_ICONS_2_102_PIC_9 = 102, // 0x00000066 + GDI_INTERFACE_ICONS_2_103_PIC_5 = 103, // 0x00000067 + GDI_INTERFACE_ICONS_2_104_PIC_8 = 104, // 0x00000068 + GDI_INTERFACE_ICONS_2_105_PIC_10 = 105, // 0x00000069 + GDI_INTERFACE_ICONS_2_106_PIC_7 = 106, // 0x0000006A + GDI_INTERFACE_ICONS_2_107_PIC_11 = 107, // 0x0000006B + GDI_INTERFACE_ICONS_2_108_PIC_12 = 108, // 0x0000006C + GDI_INTERFACE_ICONS_2_109_PIC_13 = 109, // 0x0000006D + GDI_INTERFACE_ICONS_2_110_PIC_23 = 110, // 0x0000006E + GDI_INTERFACE_ICONS_2_111_PIC_25 = 111, // 0x0000006F + GDI_INTERFACE_ICONS_2_112_PIC_27 = 112, // 0x00000070 + GDI_INTERFACE_ICONS_2_113_PIC_25 = 113, // 0x00000071 + GDI_INTERFACE_ICONS_2_114_PIC_1 = 114, // 0x00000072 + GDI_INTERFACE_ICONS_2_115_PIC_3 = 115, // 0x00000073 + GDI_INTERFACE_BUTTONS_116_PIC_77 = 116, // 0x00000074 + GDI_INTERFACE_BUTTONS_117_PIC_88 = 117, // 0x00000075 + GDI_INTERFACE_BUTTONS_118_PIC_60 = 118, // 0x00000076 + GDI_INTERFACE_BUTTONS_119_PIC_61 = 119, // 0x00000077 + GDI_INTERFACE_ICONS_2_120_PIC_29 = 120, // 0x00000078 + GDI_INTERFACE_ICONS_2_121_PIC_31 = 121, // 0x00000079 + GDI_INTERFACE_ICONS_2_122_PIC_33 = 122, // 0x0000007A + GDI_INTERFACE_ICONS_2_123_PIC_35 = 123, // 0x0000007B + GDI_INTERFACE_ICONS_2_124_PIC_37 = 124, // 0x0000007C + GDI_INTERFACE_ICONS_2_125_PIC_39 = 125, // 0x0000007D + GDI_INTERFACE_ICONS_2_126_PIC_41 = 126, // 0x0000007E + GDI_INTERFACE_ICONS_2_127_PIC_43 = 127, // 0x0000007F + GDI_INTERFACE_ICONS_2_128_PIC_41 = 128, // 0x00000080 + GDI_INTERFACE_ICONS_2_129_PIC_43 = 129, // 0x00000081 + GDI_INTERFACE_ICONS_2_130_PIC_92 = 130, // 0x00000082 + GDI_INTERFACE_ICONS_2_131_PIC_94 = 131, // 0x00000083 + GDI_INTERFACE_ICONS_2_132_PIC_96 = 132, // 0x00000084 + GDI_INTERFACE_ICONS_2_133_PIC_98 = 133, // 0x00000085 + GDI_INTERFACE_ICONS_2_134_PIC_46 = 134, // 0x00000086 + GDI_INTERFACE_ICONS_2_135_PIC_48 = 135, // 0x00000087 + GDI_INTERFACE_ICONS_2_136_PIC_50 = 136, // 0x00000088 + GDI_INTERFACE_ICONS_2_137_PIC_54 = 137, // 0x00000089 + GDI_INTERFACE_ICONS_2_138_PIC_58 = 138, // 0x0000008A + GDI_INTERFACE_ICONS_2_139_PIC_60 = 139, // 0x0000008B + GDI_INTERFACE_ICONS_2_140_PIC_62 = 140, // 0x0000008C + GDI_INTERFACE_ICONS_2_141_PIC_64 = 141, // 0x0000008D + GDI_INTERFACE_ICONS_2_142_PIC_66 = 142, // 0x0000008E + GDI_INTERFACE_ICONS_2_143_PIC_68 = 143, // 0x0000008F + GDI_INTERFACE_ICONS_2_144_PIC_70 = 144, // 0x00000090 + GDI_INTERFACE_ICONS_2_145_PIC_76 = 145, // 0x00000091 + GDI_INTERFACE_ICONS_2_146_PIC_78 = 146, // 0x00000092 + GDI_INTERFACE_ICONS_2_147_PIC_80 = 147, // 0x00000093 + GDI_INTERFACE_ICONS_2_148_PIC_82 = 148, // 0x00000094 + GDI_INTERFACE_ICONS_2_149_PIC_84 = 149, // 0x00000095 + GDI_INTERFACE_ICONS_2_150_PIC_86 = 150, // 0x00000096 + GDI_INTERFACE_ICONS_2_151_PIC_88 = 151, // 0x00000097 + GDI_INTERFACE_ICONS_2_152_PIC_90 = 152, // 0x00000098 + GDI_INTERFACE_ICONS_2_153_PIC_74 = 153, // 0x00000099 + GDI_INTERFACE_BUTTONS_154_PIC_113 = 154, // 0x0000009A + GDI_INTERFACE_ICONS_2_155_PIC_0 = 155, // 0x0000009B + GDI_INTERFACE_ICONS_2_156_PIC_0 = 156, // 0x0000009C + GDI_INTERFACE_BUTTONS_157_PIC_104 = 157, // 0x0000009D + GDI_INTERFACE_BUTTONS_158_PIC_85 = 158, // 0x0000009E + GDI_INTERFACE_BUTTONS_159_PIC_81 = 159, // 0x0000009F + GDI_INTERFACE_BUTTONS_160_PIC_11 = 160, // 0x000000A0 + GDI_INTERFACE_BUTTONS_161_PIC_8 = 161, // 0x000000A1 + GDI_INTERFACE_BUTTONS_162_PIC_14 = 162, // 0x000000A2 + GDI_INTERFACE_BUTTONS_163_PIC_17 = 163, // 0x000000A3 + GDI_INTERFACE_BUTTONS_164_PIC_26 = 164, // 0x000000A4 + GDI_INTERFACE_BUTTONS_165_PIC_20 = 165, // 0x000000A5 + GDI_INTERFACE_BUTTONS_166_PIC_69 = 166, // 0x000000A6 + GDI_INTERFACE_BUTTONS_167_PIC_30 = 167, // 0x000000A7 + GDI_INTERFACE_ICONS_2_168_PIC_289 = 168, // 0x000000A8 + GDI_INTERFACE_BUTTONS_169_PIC_23 = 169, // 0x000000A9 + GDI_ICONS_PLACEHOLDERS_170_PIC_69 = 170, // 0x000000AA + GDI_ICONS_PLACEHOLDERS_171_PIC_71 = 171, // 0x000000AB + GDI_ICONS_PLACEHOLDERS_172_PIC_73 = 172, // 0x000000AC + GDI_ICONS_PLACEHOLDERS_173_PIC_75 = 173, // 0x000000AD + GDI_ICONS_PLACEHOLDERS_174_PIC_77 = 174, // 0x000000AE + GDI_ICONS_PLACEHOLDERS_175_PIC_67 = 175, // 0x000000AF + GDI_ICONS_PLACEHOLDERS_176_PIC_133 = 176, // 0x000000B0 + GDI_ICONS_PLACEHOLDERS_177_PIC_135 = 177, // 0x000000B1 + GDI_ICONS_PLACEHOLDERS_178_PIC_137 = 178, // 0x000000B2 + GDI_ICONS_PLACEHOLDERS_179_PIC_137 = 179, // 0x000000B3 + GDI_ICONS_PLACEHOLDERS_180_PIC_137 = 180, // 0x000000B4 + GDI_ICONS_PLACEHOLDERS_181_PIC_151 = 181, // 0x000000B5 + GDI_ICONS_PLACEHOLDERS_182_PIC_153 = 182, // 0x000000B6 + GDI_ICONS_PLACEHOLDERS_183_PIC_165 = 183, // 0x000000B7 + GDI_ICONS_PLACEHOLDERS_184_PIC_155 = 184, // 0x000000B8 + GDI_ICONS_PLACEHOLDERS_185_PIC_157 = 185, // 0x000000B9 + GDI_ICONS_PLACEHOLDERS_186_PIC_133 = 186, // 0x000000BA + GDI_ICONS_PLACEHOLDERS_187_PIC_133 = 187, // 0x000000BB + GDI_ICONS_PLACEHOLDERS_188_PIC_133 = 188, // 0x000000BC + GDI_ICONS_PLACEHOLDERS_189_PIC_135 = 189, // 0x000000BD + GDI_ICONS_PLACEHOLDERS_190_PIC_133 = 190, // 0x000000BE + GDI_ICONS_PLACEHOLDERS_191_PIC_133 = 191, // 0x000000BF + GDI_ICONS_PLACEHOLDERS_192_PIC_133 = 192, // 0x000000C0 + GDI_NONE_193 = 193, // 0x000000C1 + GDI_MAPEDIT_BUTTONS_194_PIC_229 = 194, // 0x000000C2 + GDI_NONE_195 = 195, // 0x000000C3 + GDI_INTERFACE_ICONS_2_196_PIC_392 = 196, // 0x000000C4 + GDI_INTERFACE_BUTTONS_197_PIC_28 = 197, // 0x000000C5 + GDI_INTERFACE_ICONS_2_198_PIC_282 = 198, // 0x000000C6 + GDI_ICONS_PLACEHOLDERS_199_PIC_67 = 199, // 0x000000C7 + GDI_INTERFACE_ICONS_2_200_PIC_136 = 200, // 0x000000C8 + GDI_INTERFACE_ICONS_2_201_PIC_138 = 201, // 0x000000C9 + GDI_INTERFACE_ICONS_2_202_PIC_140 = 202, // 0x000000CA + GDI_INTERFACE_ICONS_2_203_PIC_142 = 203, // 0x000000CB + GDI_INTERFACE_ICONS_2_204_PIC_134 = 204, // 0x000000CC + GDI_INTERFACE_ICONS_2_205_PIC_202 = 205, // 0x000000CD + GDI_INTERFACE_ICONS_2_206_PIC_260 = 206, // 0x000000CE + GDI_INTERFACE_ICONS_2_207_PIC_262 = 207, // 0x000000CF + GDI_INTERFACE_ICONS_2_208_PIC_236 = 208, // 0x000000D0 + GDI_INTERFACE_ICONS_2_209_PIC_238 = 209, // 0x000000D1 + GDI_INTERFACE_ICONS_2_210_PIC_319 = 210, // 0x000000D2 + GDI_INTERFACE_ICONS_2_211_PIC_327 = 211, // 0x000000D3 + GDI_INTERFACE_ICONS_2_212_PIC_329 = 212, // 0x000000D4 + GDI_INTERFACE_ICONS_2_213_PIC_331 = 213, // 0x000000D5 + GDI_INTERFACE_ICONS_2_214_PIC_333 = 214, // 0x000000D6 + GDI_INTERFACE_ICONS_2_215_PIC_335 = 215, // 0x000000D7 + GDI_INTERFACE_ICONS_2_216_PIC_301 = 216, // 0x000000D8 + GDI_INTERFACE_ICONS_2_217_PIC_303 = 217, // 0x000000D9 + GDI_INTERFACE_ICONS_2_218_PIC_321 = 218, // 0x000000DA + GDI_INTERFACE_ICONS_2_219_PIC_317 = 219, // 0x000000DB + GDI_INTERFACE_ICONS_2_220_PIC_305 = 220, // 0x000000DC + GDI_INTERFACE_ICONS_2_221_PIC_145 = 221, // 0x000000DD + GDI_INTERFACE_ICONS_2_222_PIC_147 = 222, // 0x000000DE + GDI_INTERFACE_ICONS_2_223_PIC_149 = 223, // 0x000000DF + GDI_INTERFACE_ICONS_2_224_PIC_153 = 224, // 0x000000E0 + GDI_INTERFACE_ICONS_2_225_PIC_155 = 225, // 0x000000E1 + GDI_INTERFACE_ICONS_2_226_PIC_159 = 226, // 0x000000E2 + GDI_INTERFACE_ICONS_2_227_PIC_161 = 227, // 0x000000E3 + GDI_INTERFACE_ICONS_2_228_PIC_163 = 228, // 0x000000E4 + GDI_INTERFACE_ICONS_2_229_PIC_165 = 229, // 0x000000E5 + GDI_INTERFACE_ICONS_2_230_PIC_167 = 230, // 0x000000E6 + GDI_INTERFACE_ICONS_2_231_PIC_169 = 231, // 0x000000E7 + GDI_INTERFACE_ICONS_2_232_PIC_175 = 232, // 0x000000E8 + GDI_INTERFACE_ICONS_2_233_PIC_177 = 233, // 0x000000E9 + GDI_INTERFACE_ICONS_2_234_PIC_179 = 234, // 0x000000EA + GDI_INTERFACE_ICONS_2_235_PIC_181 = 235, // 0x000000EB + GDI_INTERFACE_ICONS_2_236_PIC_183 = 236, // 0x000000EC + GDI_INTERFACE_ICONS_2_237_PIC_185 = 237, // 0x000000ED + GDI_INTERFACE_ICONS_2_238_PIC_187 = 238, // 0x000000EE + GDI_INTERFACE_ICONS_2_239_PIC_189 = 239, // 0x000000EF + GDI_MAPEDIT_BUTTONS_240_PIC_4 = 240, // 0x000000F0 + GDI_MAPEDIT_BUTTONS_241_PIC_10 = 241, // 0x000000F1 + GDI_MAPEDIT_BUTTONS_242_PIC_16 = 242, // 0x000000F2 + GDI_MAPEDIT_BUTTONS_243_PIC_7 = 243, // 0x000000F3 + GDI_MAPEDIT_BUTTONS_244_PIC_13 = 244, // 0x000000F4 + GDI_MAPEDIT_BUTTONS_245_PIC_19 = 245, // 0x000000F5 + GDI_MAPEDIT_BUTTONS_246_PIC_1 = 246, // 0x000000F6 + GDI_MAPEDIT_BUTTONS_247_PIC_22 = 247, // 0x000000F7 + GDI_MAPEDIT_BUTTONS_248_PIC_43 = 248, // 0x000000F8 + GDI_MAPEDIT_BUTTONS_249_PIC_52 = 249, // 0x000000F9 + GDI_MAPEDIT_BUTTONS_250_PIC_178 = 250, // 0x000000FA + GDI_MAPEDIT_BUTTONS_251_PIC_181 = 251, // 0x000000FB + GDI_MAPEDIT_BUTTONS_252_PIC_169 = 252, // 0x000000FC + GDI_MAPEDIT_BUTTONS_253_PIC_172 = 253, // 0x000000FD + GDI_MAPEDIT_BUTTONS_254_PIC_175 = 254, // 0x000000FE + GDI_MAPEDIT_BUTTONS_255_PIC_166 = 255, // 0x000000FF + GDI_MAPEDIT_BUTTONS_256_PIC_163 = 256, // 0x00000100 + GDI_MAPEDIT_BUTTONS_257_PIC_184 = 257, // 0x00000101 + GDI_MAPEDIT_BUTTONS_258_PIC_187 = 258, // 0x00000102 + GDI_MAPEDIT_BUTTONS_259_PIC_109 = 259, // 0x00000103 + GDI_MAPEDIT_BUTTONS_260_PIC_106 = 260, // 0x00000104 + GDI_MAPEDIT_BUTTONS_261_PIC_97 = 261, // 0x00000105 + GDI_MAPEDIT_BUTTONS_262_PIC_91 = 262, // 0x00000106 + GDI_MAPEDIT_BUTTONS_263_PIC_100 = 263, // 0x00000107 + GDI_MAPEDIT_BUTTONS_264_PIC_112 = 264, // 0x00000108 + GDI_MAPEDIT_BUTTONS_265_PIC_103 = 265, // 0x00000109 + GDI_MAPEDIT_BUTTONS_266_PIC_94 = 266, // 0x0000010A + GDI_MAPEDIT_BUTTONS_267_PIC_121 = 267, // 0x0000010B + GDI_MAPEDIT_BUTTONS_268_PIC_118 = 268, // 0x0000010C + GDI_MAPEDIT_BUTTONS_269_PIC_115 = 269, // 0x0000010D + GDI_MAPEDIT_BUTTONS_270_PIC_124 = 270, // 0x0000010E + GDI_MAPEDIT_BUTTONS_271_PIC_127 = 271, // 0x0000010F + GDI_MAPEDIT_BUTTONS_272_PIC_130 = 272, // 0x00000110 + GDI_MAPEDIT_BUTTONS_273_PIC_82 = 273, // 0x00000111 + GDI_MAPEDIT_BUTTONS_274_PIC_88 = 274, // 0x00000112 + GDI_MAPEDIT_BUTTONS_275_PIC_76 = 275, // 0x00000113 + GDI_MAPEDIT_BUTTONS_276_PIC_85 = 276, // 0x00000114 + GDI_MAPEDIT_BUTTONS_277_PIC_79 = 277, // 0x00000115 + GDI_MAPEDIT_BUTTONS_278_PIC_73 = 278, // 0x00000116 + GDI_MAPEDIT_BUTTONS_279_PIC_133 = 279, // 0x00000117 + GDI_MAPEDIT_BUTTONS_280_PIC_136 = 280, // 0x00000118 + GDI_MAPEDIT_BUTTONS_281_PIC_139 = 281, // 0x00000119 + GDI_MAPEDIT_BUTTONS_282_PIC_157 = 282, // 0x0000011A + GDI_MAPEDIT_BUTTONS_283_PIC_160 = 283, // 0x0000011B + GDI_MAPEDIT_BUTTONS_284_PIC_148 = 284, // 0x0000011C + GDI_MAPEDIT_BUTTONS_285_PIC_151 = 285, // 0x0000011D + GDI_MAPEDIT_BUTTONS_286_PIC_154 = 286, // 0x0000011E + GDI_MAPEDIT_BUTTONS_287_PIC_145 = 287, // 0x0000011F + GDI_MAPEDIT_BUTTONS_288_PIC_64 = 288, // 0x00000120 + GDI_MAPEDIT_BUTTONS_289_PIC_61 = 289, // 0x00000121 + GDI_MAPEDIT_BUTTONS_290_PIC_58 = 290, // 0x00000122 + GDI_MAPEDIT_BUTTONS_291_PIC_67 = 291, // 0x00000123 + GDI_MAPEDIT_BUTTONS_292_PIC_70 = 292, // 0x00000124 + GDI_MAPEDIT_BUTTONS_293_PIC_55 = 293, // 0x00000125 + GDI_MAPEDIT_BUTTONS_294_PIC_142 = 294, // 0x00000126 + GDI_MAPEDIT_BUTTONS_295_PIC_190 = 295, // 0x00000127 + GDI_MAPEDIT_BUTTONS_296_PIC_193 = 296, // 0x00000128 + GDI_MAPEDIT_BUTTONS_297_PIC_196 = 297, // 0x00000129 + GDI_MAPEDIT_BUTTONS_298_PIC_199 = 298, // 0x0000012A + GDI_MAPEDIT_BUTTONS_299_PIC_202 = 299, // 0x0000012B + GDI_INTERFACE_ICONS_2_300_PIC_240 = 300, // 0x0000012C + GDI_INTERFACE_ICONS_2_301_PIC_242 = 301, // 0x0000012D + GDI_INTERFACE_ICONS_2_302_PIC_244 = 302, // 0x0000012E + GDI_INTERFACE_ICONS_2_303_PIC_246 = 303, // 0x0000012F + GDI_INTERFACE_ICONS_2_304_PIC_248 = 304, // 0x00000130 + GDI_INTERFACE_ICONS_2_305_PIC_250 = 305, // 0x00000131 + GDI_INTERFACE_ICONS_2_306_PIC_252 = 306, // 0x00000132 + GDI_INTERFACE_ICONS_2_307_PIC_254 = 307, // 0x00000133 + GDI_INTERFACE_ICONS_2_308_PIC_256 = 308, // 0x00000134 + GDI_INTERFACE_ICONS_2_309_PIC_258 = 309, // 0x00000135 + GDI_INTERFACE_ICONS_2_310_PIC_258 = 310, // 0x00000136 + GDI_INTERFACE_ICONS_2_311_PIC_258 = 311, // 0x00000137 + GDI_INTERFACE_ICONS_2_312_PIC_258 = 312, // 0x00000138 + GDI_INTERFACE_ICONS_2_313_PIC_258 = 313, // 0x00000139 + GDI_INTERFACE_ICONS_2_314_PIC_258 = 314, // 0x0000013A + GDI_INTERFACE_ICONS_2_315_PIC_258 = 315, // 0x0000013B + GDI_NONE_316 = 316, // 0x0000013C + GDI_INTERFACE_ICONS_2_317_PIC_264 = 317, // 0x0000013D + GDI_INTERFACE_ICONS_2_318_PIC_266 = 318, // 0x0000013E + GDI_INTERFACE_ICONS_2_319_PIC_268 = 319, // 0x0000013F + GDI_MAPEDIT_BUTTONS_320_PIC_205 = 320, // 0x00000140 + GDI_MAPEDIT_BUTTONS_321_PIC_208 = 321, // 0x00000141 + GDI_MAPEDIT_BUTTONS_322_PIC_211 = 322, // 0x00000142 + GDI_MAPEDIT_BUTTONS_323_PIC_214 = 323, // 0x00000143 + GDI_MAPEDIT_BUTTONS_324_PIC_217 = 324, // 0x00000144 + GDI_MAPEDIT_BUTTONS_325_PIC_220 = 325, // 0x00000145 + GDI_MAPEDIT_BUTTONS_326_PIC_223 = 326, // 0x00000146 + GDI_MAPEDIT_BUTTONS_327_PIC_226 = 327, // 0x00000147 + GDI_MAPEDIT_BUTTONS_328_PIC_235 = 328, // 0x00000148 + GDI_MAPEDIT_BUTTONS_329_PIC_232 = 329, // 0x00000149 + GDI_INTERFACE_BUTTONS_330_PIC_1 = 330, // 0x0000014A + GDI_INTERFACE_BUTTONS_331_PIC_3 = 331, // 0x0000014B + GDI_INTERFACE_BUTTONS_332_PIC_48 = 332, // 0x0000014C + GDI_INTERFACE_BUTTONS_333_PIC_50 = 333, // 0x0000014D + GDI_INTERFACE_BUTTONS_334_PIC_72 = 334, // 0x0000014E + GDI_INTERFACE_BUTTONS_335_PIC_62 = 335, // 0x0000014F + GDI_INTERFACE_BUTTONS_336_PIC_64 = 336, // 0x00000150 + GDI_INTERFACE_BUTTONS_337_PIC_66 = 337, // 0x00000151 + GDI_NONE_338 = 338, // 0x00000152 + GDI_INTERFACE_ICONS_3_339_PIC_229 = 339, // 0x00000153 + GDI_INTERFACE_ICONS_2_340_PIC_277 = 340, // 0x00000154 + GDI_INTERFACE_ICONS_2_341_PIC_278 = 341, // 0x00000155 + GDI_INTERFACE_BUTTONS_342_PIC_53 = 342, // 0x00000156 + GDI_NONE_343 = 343, // 0x00000157 + GDI_NONE_344 = 344, // 0x00000158 + GDI_INTERFACE_ICONS_2_345_PIC_438 = 345, // 0x00000159 + GDI_INTERFACE_ICONS_2_346_PIC_439 = 346, // 0x0000015A + GDI_INTERFACE_ICONS_2_347_PIC_440 = 347, // 0x0000015B + GDI_INTERFACE_ICONS_2_348_PIC_441 = 348, // 0x0000015C + GDI_ICONS_FRONT_END_BUILDER_349_PIC_71 = 349, // 0x0000015D + GDI_ICONS_FRONT_END_350_PIC_11 = 350, // 0x0000015E + GDI_ICONS_FRONT_END_351_PIC_13 = 351, // 0x0000015F + GDI_ICONS_FRONT_END_352_PIC_15 = 352, // 0x00000160 + GDI_ICONS_FRONT_END_353_PIC_17 = 353, // 0x00000161 + GDI_ICONS_FRONT_END_354_PIC_5 = 354, // 0x00000162 + GDI_ICONS_FRONT_END_COMBAT_355_PIC_1 = 355, // 0x00000163 + GDI_ICONS_FRONT_END_COMBAT_356_PIC_18 = 356, // 0x00000164 + GDI_ICONS_FRONT_END_COMBAT_357_PIC_35 = 357, // 0x00000165 + GDI_ICONS_FRONT_END_COMBAT_358_PIC_52 = 358, // 0x00000166 + GDI_ICONS_FRONT_END_359_PIC_19 = 359, // 0x00000167 + GDI_ICONS_FRONT_END_ECONOMICS_360_PIC_1 = 360, // 0x00000168 + GDI_ICONS_FRONT_END_ECONOMICS_361_PIC_18 = 361, // 0x00000169 + GDI_ICONS_FRONT_END_ECONOMICS_362_PIC_35 = 362, // 0x0000016A + GDI_ICONS_FRONT_END_ECONOMICS_363_PIC_52 = 363, // 0x0000016B + GDI_ICONS_FRONT_END_BUILDER_364_PIC_1 = 364, // 0x0000016C + GDI_ICONS_FRONT_END_BUILDER_365_PIC_18 = 365, // 0x0000016D + GDI_ICONS_FRONT_END_BUILDER_366_PIC_35 = 366, // 0x0000016E + GDI_ICONS_FRONT_END_BUILDER_367_PIC_52 = 367, // 0x0000016F + GDI_ICONS_FRONT_END_COMBAT_368_PIC_69 = 368, // 0x00000170 + GDI_ICONS_FRONT_END_ECONOMICS_369_PIC_52 = 369, // 0x00000171 + GDI_INTERFACE_ICONS_2_370_PIC_309 = 370, // 0x00000172 + GDI_INTERFACE_ICONS_2_371_PIC_311 = 371, // 0x00000173 + GDI_INTERFACE_ICONS_2_372_PIC_313 = 372, // 0x00000174 + GDI_INTERFACE_ICONS_2_373_PIC_307 = 373, // 0x00000175 + GDI_INTERFACE_ICONS_2_374_PIC_315 = 374, // 0x00000176 + GDI_INTERFACE_ICONS_2_375_PIC_323 = 375, // 0x00000177 + GDI_INTERFACE_ICONS_2_376_PIC_325 = 376, // 0x00000178 + GDI_INTERFACE_ICONS_2_377_PIC_414 = 377, // 0x00000179 + GDI_ICONS_FRONT_END_COMBAT_378_PIC_71 = 378, // 0x0000017A + GDI_ICONS_FRONT_END_ECONOMICS_379_PIC_54 = 379, // 0x0000017B + GDI_INTERFACE_ICONS_2_380_PIC_337 = 380, // 0x0000017C + GDI_INTERFACE_ICONS_2_381_PIC_338 = 381, // 0x0000017D + GDI_INTERFACE_ICONS_2_382_PIC_339 = 382, // 0x0000017E + GDI_INTERFACE_ICONS_2_383_PIC_340 = 383, // 0x0000017F + GDI_INTERFACE_ICONS_2_384_PIC_341 = 384, // 0x00000180 + GDI_INTERFACE_ICONS_2_385_PIC_342 = 385, // 0x00000181 + GDI_INTERFACE_ICONS_2_386_PIC_343 = 386, // 0x00000182 + GDI_INTERFACE_ICONS_2_387_PIC_344 = 387, // 0x00000183 + GDI_INTERFACE_ICONS_2_388_PIC_345 = 388, // 0x00000184 + GDI_INTERFACE_ICONS_2_389_PIC_346 = 389, // 0x00000185 + GDI_INTERFACE_ICONS_2_390_PIC_347 = 390, // 0x00000186 + GDI_INTERFACE_ICONS_2_391_PIC_348 = 391, // 0x00000187 + GDI_INTERFACE_ICONS_2_392_PIC_349 = 392, // 0x00000188 + GDI_INTERFACE_ICONS_2_393_PIC_350 = 393, // 0x00000189 + GDI_INTERFACE_ICONS_2_394_PIC_351 = 394, // 0x0000018A + GDI_INTERFACE_ICONS_2_395_PIC_352 = 395, // 0x0000018B + GDI_INTERFACE_ICONS_2_396_PIC_354 = 396, // 0x0000018C + GDI_INTERFACE_ICONS_2_397_PIC_353 = 397, // 0x0000018D + GDI_NONE_398 = 398, // 0x0000018E + GDI_NONE_399 = 399, // 0x0000018F + GDI_ICONS_PLACEHOLDERS_400_PIC_179 = 400, // 0x00000190 + GDI_ICONS_PLACEHOLDERS_401_PIC_177 = 401, // 0x00000191 + GDI_ICONS_PLACEHOLDERS_402_PIC_175 = 402, // 0x00000192 + GDI_ICONS_PLACEHOLDERS_403_PIC_181 = 403, // 0x00000193 + GDI_ICONS_PLACEHOLDERS_404_PIC_183 = 404, // 0x00000194 + GDI_ICONS_PLACEHOLDERS_405_PIC_183 = 405, // 0x00000195 + GDI_ICONS_PLACEHOLDERS_406_PIC_185 = 406, // 0x00000196 + GDI_ICONS_PLACEHOLDERS_407_PIC_187 = 407, // 0x00000197 + GDI_ICONS_PLACEHOLDERS_408_PIC_189 = 408, // 0x00000198 + GDI_ICONS_PLACEHOLDERS_409_PIC_191 = 409, // 0x00000199 + GDI_ICONS_PLACEHOLDERS_410_PIC_201 = 410, // 0x0000019A + GDI_ICONS_PLACEHOLDERS_411_PIC_69 = 411, // 0x0000019B + GDI_ICONS_PLACEHOLDERS_412_PIC_205 = 412, // 0x0000019C + GDI_ICONS_PLACEHOLDERS_413_PIC_207 = 413, // 0x0000019D + GDI_ICONS_PLACEHOLDERS_414_PIC_169 = 414, // 0x0000019E + GDI_ICONS_PLACEHOLDERS_415_PIC_169 = 415, // 0x0000019F + GDI_ICONS_PLACEHOLDERS_416_PIC_211 = 416, // 0x000001A0 + GDI_ICONS_PLACEHOLDERS_417_PIC_165 = 417, // 0x000001A1 + GDI_NONE_418 = 418, // 0x000001A2 + GDI_NONE_419 = 419, // 0x000001A3 + GDI_INTERFACE_BUTTONS_420_PIC_78 = 420, // 0x000001A4 + GDI_INTERFACE_ICONS_2_421_PIC_373 = 421, // 0x000001A5 + GDI_INTERFACE_ICONS_2_422_PIC_379 = 422, // 0x000001A6 + GDI_INTERFACE_ICONS_2_423_PIC_375 = 423, // 0x000001A7 + GDI_INTERFACE_ICONS_2_424_PIC_381 = 424, // 0x000001A8 + GDI_INTERFACE_ICONS_2_425_PIC_377 = 425, // 0x000001A9 + GDI_INTERFACE_ICONS_2_426_PIC_383 = 426, // 0x000001AA + GDI_INTERFACE_ICONS_2_427_PIC_385 = 427, // 0x000001AB + GDI_INTERFACE_ICONS_2_428_PIC_387 = 428, // 0x000001AC + GDI_INTERFACE_ICONS_2_429_PIC_389 = 429, // 0x000001AD + GDI_INTERFACE_ICONS_2_430_PIC_391 = 430, // 0x000001AE + GDI_INTERFACE_ICONS_2_431_PIC_396 = 431, // 0x000001AF + GDI_INTERFACE_ICONS_3_432_PIC_127 = 432, // 0x000001B0 + GDI_INTERFACE_ICONS_3_433_PIC_128 = 433, // 0x000001B1 + GDI_INTERFACE_ICONS_3_434_PIC_130 = 434, // 0x000001B2 + GDI_INTERFACE_ICONS_3_435_PIC_136 = 435, // 0x000001B3 + GDI_INTERFACE_ICONS_3_436_PIC_137 = 436, // 0x000001B4 + GDI_INTERFACE_ICONS_3_437_PIC_129 = 437, // 0x000001B5 + GDI_INTERFACE_ICONS_3_438_PIC_131 = 438, // 0x000001B6 + GDI_INTERFACE_ICONS_3_439_PIC_132 = 439, // 0x000001B7 + GDI_INTERFACE_ICONS_2_440_PIC_422 = 440, // 0x000001B8 + GDI_INTERFACE_ICONS_2_441_PIC_423 = 441, // 0x000001B9 + GDI_INTERFACE_ICONS_2_442_PIC_424 = 442, // 0x000001BA + GDI_INTERFACE_ICONS_2_443_PIC_425 = 443, // 0x000001BB + GDI_INTERFACE_ICONS_2_444_PIC_426 = 444, // 0x000001BC + GDI_INTERFACE_ICONS_2_445_PIC_427 = 445, // 0x000001BD + GDI_INTERFACE_ICONS_2_446_PIC_428 = 446, // 0x000001BE + GDI_INTERFACE_ICONS_2_447_PIC_429 = 447, // 0x000001BF + GDI_NONE_448 = 448, // 0x000001C0 + GDI_NONE_449 = 449, // 0x000001C1 + GDI_INTERFACE_ICONS_3_450_PIC_133 = 450, // 0x000001C2 + GDI_INTERFACE_ICONS_3_451_PIC_134 = 451, // 0x000001C3 + GDI_INTERFACE_ICONS_3_452_PIC_135 = 452, // 0x000001C4 + GDI_INTERFACE_ICONS_3_453_PIC_138 = 453, // 0x000001C5 + GDI_INTERFACE_ICONS_3_454_PIC_139 = 454, // 0x000001C6 + GDI_INTERFACE_ICONS_3_455_PIC_140 = 455, // 0x000001C7 + GDI_NONE_456 = 456, // 0x000001C8 + GDI_INTERFACE_ICONS_2_457_PIC_416 = 457, // 0x000001C9 + GDI_INTERFACE_ICONS_2_458_PIC_420 = 458, // 0x000001CA + GDI_INTERFACE_ICONS_2_459_PIC_418 = 459, // 0x000001CB + GDI_ARMY_UNITS_460_PIC_1 = 460, // 0x000001CC + GDI_ARMY_UNITS_461_PIC_2 = 461, // 0x000001CD + GDI_ARMY_UNITS_462_PIC_3 = 462, // 0x000001CE + GDI_ARMY_UNITS_463_PIC_4 = 463, // 0x000001CF + GDI_ARMY_UNITS_464_PIC_5 = 464, // 0x000001D0 + GDI_ARMY_UNITS_465_PIC_6 = 465, // 0x000001D1 + GDI_ARMY_UNITS_466_PIC_7 = 466, // 0x000001D2 + GDI_ARMY_UNITS_467_PIC_8 = 467, // 0x000001D3 + GDI_ARMY_UNITS_468_PIC_9 = 468, // 0x000001D4 + GDI_ARMY_UNITS_469_PIC_10 = 469, // 0x000001D5 + GDI_ARMY_UNITS_470_PIC_11 = 470, // 0x000001D6 + GDI_ARMY_UNITS_471_PIC_12 = 471, // 0x000001D7 + GDI_ARMY_UNITS_472_PIC_13 = 472, // 0x000001D8 + GDI_ARMY_UNITS_473_PIC_14 = 473, // 0x000001D9 + GDI_ARMY_UNITS_474_PIC_15 = 474, // 0x000001DA + GDI_ARMY_UNITS_475_PIC_16 = 475, // 0x000001DB + GDI_NONE_476 = 476, // 0x000001DC + GDI_INTERFACE_ICONS_3_477_PIC_221 = 477, // 0x000001DD + GDI_INTERFACE_ICONS_3_478_PIC_223 = 478, // 0x000001DE + GDI_INTERFACE_ICONS_3_479_PIC_225 = 479, // 0x000001DF + GDI_INTERFACE_ARMY_480_PIC_1 = 480, // 0x000001E0 + GDI_INTERFACE_ARMY_481_PIC_2 = 481, // 0x000001E1 + GDI_INTERFACE_ARMY_482_PIC_3 = 482, // 0x000001E2 + GDI_INTERFACE_ARMY_483_PIC_4 = 483, // 0x000001E3 + GDI_INTERFACE_ARMY_484_PIC_5 = 484, // 0x000001E4 + GDI_INTERFACE_ARMY_485_PIC_6 = 485, // 0x000001E5 + GDI_INTERFACE_ARMY_486_PIC_7 = 486, // 0x000001E6 + GDI_INTERFACE_ARMY_487_PIC_8 = 487, // 0x000001E7 + GDI_INTERFACE_ARMY_488_PIC_9 = 488, // 0x000001E8 + GDI_INTERFACE_ARMY_489_PIC_11 = 489, // 0x000001E9 + GDI_INTERFACE_ARMY_490_PIC_12 = 490, // 0x000001EA + GDI_INTERFACE_ARMY_491_PIC_13 = 491, // 0x000001EB + GDI_INTERFACE_ARMY_492_PIC_14 = 492, // 0x000001EC + GDI_INTERFACE_ARMY_493_PIC_15 = 493, // 0x000001ED + GDI_INTERFACE_ARMY_494_PIC_16 = 494, // 0x000001EE + GDI_INTERFACE_ARMY_495_PIC_17 = 495, // 0x000001EF + GDI_INTERFACE_ARMY_496_PIC_10 = 496, // 0x000001F0 + GDI_INTERFACE_ICONS_2_497_PIC_699 = 497, // 0x000001F1 + GDI_INTERFACE_ICONS_2_498_PIC_695 = 498, // 0x000001F2 + GDI_INTERFACE_ICONS_2_499_PIC_697 = 499, // 0x000001F3 + GDI_INTERFACE_RUINS_500_PIC_1 = 500, // 0x000001F4 + GDI_INTERFACE_RUINS_501_PIC_2 = 501, // 0x000001F5 + GDI_INTERFACE_RUINS_502_PIC_3 = 502, // 0x000001F6 + GDI_INTERFACE_RUINS_503_PIC_4 = 503, // 0x000001F7 + GDI_INTERFACE_RUINS_504_PIC_5 = 504, // 0x000001F8 + GDI_INTERFACE_RUINS_505_PIC_6 = 505, // 0x000001F9 + GDI_INTERFACE_RUINS_506_PIC_7 = 506, // 0x000001FA + GDI_INTERFACE_RUINS_507_PIC_8 = 507, // 0x000001FB + GDI_INTERFACE_RUINS_508_PIC_9 = 508, // 0x000001FC + GDI_INTERFACE_RUINS_509_PIC_10 = 509, // 0x000001FD + GDI_INTERFACE_RUINS_510_PIC_11 = 510, // 0x000001FE + GDI_INTERFACE_RUINS_511_PIC_12 = 511, // 0x000001FF + GDI_INTERFACE_RUINS_512_PIC_13 = 512, // 0x00000200 + GDI_NONE_513 = 513, // 0x00000201 + GDI_INTERFACE_ICONS_2_514_PIC_693 = 514, // 0x00000202 + GDI_INTERFACE_ICONS_2_515_PIC_684 = 515, // 0x00000203 + GDI_INTERFACE_ICONS_2_516_PIC_687 = 516, // 0x00000204 + GDI_INTERFACE_ICONS_2_517_PIC_690 = 517, // 0x00000205 + GDI_INTERFACE_ICONS_2_518_PIC_680 = 518, // 0x00000206 + GDI_INTERFACE_ICONS_2_519_PIC_682 = 519, // 0x00000207 + GDI_INTERFACE_ICONS_2_520_PIC_442 = 520, // 0x00000208 + GDI_INTERFACE_ICONS_2_521_PIC_444 = 521, // 0x00000209 + GDI_INTERFACE_ICONS_2_522_PIC_446 = 522, // 0x0000020A + GDI_ICONS_FRONT_END_523_PIC_3 = 523, // 0x0000020B + GDI_ICONS_FRONT_END_524_PIC_7 = 524, // 0x0000020C + GDI_ICONS_FRONT_END_525_PIC_9 = 525, // 0x0000020D + GDI_INTERFACE_ICONS_2_526_PIC_668 = 526, // 0x0000020E + GDI_INTERFACE_ICONS_2_527_PIC_670 = 527, // 0x0000020F + GDI_ICONS_PLACEHOLDERS_528_PIC_89 = 528, // 0x00000210 + GDI_ICONS_PLACEHOLDERS_529_PIC_93 = 529, // 0x00000211 + GDI_INTERFACE_ICONS_3_530_PIC_182 = 530, // 0x00000212 + GDI_INTERFACE_ICONS_3_531_PIC_183 = 531, // 0x00000213 + GDI_INTERFACE_ICONS_3_532_PIC_184 = 532, // 0x00000214 + GDI_INTERFACE_ICONS_3_533_PIC_185 = 533, // 0x00000215 + GDI_INTERFACE_BUTTONS_534_PIC_107 = 534, // 0x00000216 + GDI_INTERFACE_BUTTONS_535_PIC_110 = 535, // 0x00000217 + GDI_INTERFACE_ICONS_2_536_PIC_645 = 536, // 0x00000218 + GDI_INTERFACE_ICONS_3_537_PIC_267 = 537, // 0x00000219 + GDI_INTERFACE_ICONS_2_538_PIC_759 = 538, // 0x0000021A + GDI_NONE_539 = 539, // 0x0000021B + GDI_INTERFACE_ICONS_2_540_PIC_448 = 540, // 0x0000021C + GDI_INTERFACE_ICONS_2_541_PIC_449 = 541, // 0x0000021D + GDI_INTERFACE_ICONS_2_542_PIC_450 = 542, // 0x0000021E + GDI_INTERFACE_ICONS_2_543_PIC_451 = 543, // 0x0000021F + GDI_INTERFACE_ICONS_2_544_PIC_452 = 544, // 0x00000220 + GDI_INTERFACE_ICONS_2_545_PIC_453 = 545, // 0x00000221 + GDI_INTERFACE_ICONS_2_546_PIC_454 = 546, // 0x00000222 + GDI_INTERFACE_ICONS_2_547_PIC_455 = 547, // 0x00000223 + GDI_INTERFACE_ICONS_2_548_PIC_72 = 548, // 0x00000224 + GDI_INTERFACE_ICONS_2_549_PIC_617 = 549, // 0x00000225 + GDI_INTERFACE_ARMY_550_PIC_18 = 550, // 0x00000226 + GDI_INTERFACE_ARMY_551_PIC_19 = 551, // 0x00000227 + GDI_INTERFACE_ARMY_552_PIC_20 = 552, // 0x00000228 + GDI_INTERFACE_ARMY_553_PIC_21 = 553, // 0x00000229 + GDI_INTERFACE_ARMY_554_PIC_22 = 554, // 0x0000022A + GDI_INTERFACE_ARMY_555_PIC_23 = 555, // 0x0000022B + GDI_INTERFACE_ARMY_556_PIC_24 = 556, // 0x0000022C + GDI_INTERFACE_ARMY_557_PIC_25 = 557, // 0x0000022D + GDI_INTERFACE_ICONS_2_558_PIC_465 = 558, // 0x0000022E + GDI_INTERFACE_BUTTONS_559_PIC_89 = 559, // 0x0000022F + GDI_INTERFACE_BUTTONS_560_PIC_90 = 560, // 0x00000230 + GDI_INTERFACE_BUTTONS_561_PIC_91 = 561, // 0x00000231 + GDI_INTERFACE_BUTTONS_562_PIC_92 = 562, // 0x00000232 + GDI_INTERFACE_BUTTONS_563_PIC_93 = 563, // 0x00000233 + GDI_INTERFACE_BUTTONS_564_PIC_94 = 564, // 0x00000234 + GDI_INTERFACE_BUTTONS_565_PIC_95 = 565, // 0x00000235 + GDI_INTERFACE_ICONS_2_566_PIC_467 = 566, // 0x00000236 + GDI_INTERFACE_ICONS_2_567_PIC_468 = 567, // 0x00000237 + GDI_INTERFACE_ICONS_2_568_PIC_521 = 568, // 0x00000238 + GDI_INTERFACE_ICONS_3_569_PIC_206 = 569, // 0x00000239 + GDI_INTERFACE_ICONS_3_570_PIC_208 = 570, // 0x0000023A + GDI_INTERFACE_ICONS_2_571_PIC_606 = 571, // 0x0000023B + GDI_INTERFACE_ICONS_2_572_PIC_608 = 572, // 0x0000023C + GDI_INTERFACE_ICONS_2_573_PIC_611 = 573, // 0x0000023D + GDI_INTERFACE_ICONS_2_574_PIC_613 = 574, // 0x0000023E + GDI_INTERFACE_ICONS_2_575_PIC_615 = 575, // 0x0000023F + GDI_INTERFACE_ICONS_2_576_PIC_478 = 576, // 0x00000240 + GDI_INTERFACE_ICONS_2_577_PIC_480 = 577, // 0x00000241 + GDI_INTERFACE_ICONS_2_578_PIC_482 = 578, // 0x00000242 + GDI_INTERFACE_ICONS_2_579_PIC_484 = 579, // 0x00000243 + GDI_INTERFACE_ICONS_2_580_PIC_486 = 580, // 0x00000244 + GDI_INTERFACE_ICONS_2_581_PIC_488 = 581, // 0x00000245 + GDI_INTERFACE_ICONS_2_582_PIC_490 = 582, // 0x00000246 + GDI_INTERFACE_ICONS_2_583_PIC_492 = 583, // 0x00000247 + GDI_INTERFACE_ICONS_2_584_PIC_494 = 584, // 0x00000248 + GDI_INTERFACE_ICONS_2_585_PIC_496 = 585, // 0x00000249 + GDI_INTERFACE_ICONS_2_586_PIC_498 = 586, // 0x0000024A + GDI_INTERFACE_ICONS_2_587_PIC_500 = 587, // 0x0000024B + GDI_INTERFACE_ICONS_2_588_PIC_515 = 588, // 0x0000024C + GDI_INTERFACE_ICONS_2_589_PIC_517 = 589, // 0x0000024D + GDI_INTERFACE_ICONS_2_590_PIC_519 = 590, // 0x0000024E + GDI_INTERFACE_ICONS_2_591_PIC_556 = 591, // 0x0000024F + GDI_INTERFACE_ICONS_2_592_PIC_558 = 592, // 0x00000250 + GDI_INTERFACE_ICONS_2_593_PIC_560 = 593, // 0x00000251 + GDI_INTERFACE_ICONS_2_594_PIC_562 = 594, // 0x00000252 + GDI_INTERFACE_ICONS_2_595_PIC_564 = 595, // 0x00000253 + GDI_INTERFACE_ICONS_2_596_PIC_566 = 596, // 0x00000254 + GDI_INTERFACE_ICONS_2_597_PIC_568 = 597, // 0x00000255 + GDI_INTERFACE_ICONS_2_598_PIC_570 = 598, // 0x00000256 + GDI_INTERFACE_ICONS_2_599_PIC_572 = 599, // 0x00000257 + GDI_INTERFACE_ICONS_3_600_PIC_230 = 600, // 0x00000258 + GDI_INTERFACE_ICONS_3_601_PIC_231 = 601, // 0x00000259 + GDI_INTERFACE_ICONS_3_602_PIC_232 = 602, // 0x0000025A + GDI_INTERFACE_ICONS_3_603_PIC_233 = 603, // 0x0000025B + GDI_INTERFACE_ICONS_3_604_PIC_236 = 604, // 0x0000025C + GDI_INTERFACE_ICONS_3_605_PIC_272 = 605, // 0x0000025D + GDI_INTERFACE_ICONS_3_606_PIC_270 = 606, // 0x0000025E + GDI_NONE_607 = 607, // 0x0000025F + GDI_NONE_608 = 608, // 0x00000260 + GDI_NONE_609 = 609, // 0x00000261 + GDI_ARMY_UNITS_610_PIC_17 = 610, // 0x00000262 + GDI_ARMY_UNITS_611_PIC_18 = 611, // 0x00000263 + GDI_ARMY_UNITS_612_PIC_19 = 612, // 0x00000264 + GDI_ARMY_UNITS_613_PIC_20 = 613, // 0x00000265 + GDI_ARMY_UNITS_614_PIC_21 = 614, // 0x00000266 + GDI_ARMY_UNITS_615_PIC_22 = 615, // 0x00000267 + GDI_ARMY_UNITS_616_PIC_23 = 616, // 0x00000268 + GDI_NONE_617 = 617, // 0x00000269 + GDI_NONE_618 = 618, // 0x0000026A + GDI_SUPER_CHICKEN_619_PIC_1 = 619, // 0x0000026B + GDI_INTERFACE_ICONS_3_620_PIC_286 = 620, // 0x0000026C + GDI_INTERFACE_ICONS_3_621_PIC_283 = 621, // 0x0000026D + GDI_INTERFACE_ICONS_3_622_PIC_280 = 622, // 0x0000026E + GDI_INTERFACE_ICONS_3_623_PIC_274 = 623, // 0x0000026F + GDI_INTERFACE_ICONS_3_624_PIC_277 = 624, // 0x00000270 + GDI_NONE_625 = 625, // 0x00000271 + GDI_INTERFACE_ICONS_2_626_PIC_755 = 626, // 0x00000272 + GDI_INTERFACE_ICONS_2_627_PIC_756 = 627, // 0x00000273 + GDI_INTERFACE_ICONS_2_628_PIC_751 = 628, // 0x00000274 + GDI_INTERFACE_ICONS_2_629_PIC_752 = 629, // 0x00000275 + GDI_INTERFACE_ICONS_2_630_PIC_746 = 630, // 0x00000276 + GDI_INTERFACE_ICONS_2_631_PIC_731 = 631, // 0x00000277 + GDI_INTERFACE_ICONS_2_632_PIC_734 = 632, // 0x00000278 + GDI_INTERFACE_ICONS_2_633_PIC_737 = 633, // 0x00000279 + GDI_INTERFACE_ICONS_2_634_PIC_740 = 634, // 0x0000027A + GDI_INTERFACE_ICONS_2_635_PIC_743 = 635, // 0x0000027B + GDI_INTERFACE_ICONS_2_636_PIC_757 = 636, // 0x0000027C + GDI_NONE_637 = 637, // 0x0000027D + GDI_NONE_638 = 638, // 0x0000027E + GDI_NONE_639 = 639, // 0x0000027F + GDI_NONE_640 = 640, // 0x00000280 + GDI_NONE_641 = 641, // 0x00000281 + GDI_NONE_642 = 642, // 0x00000282 + GDI_NONE_643 = 643, // 0x00000283 + GDI_NONE_644 = 644, // 0x00000284 + GDI_NONE_645 = 645, // 0x00000285 + GDI_NONE_646 = 646, // 0x00000286 + GDI_NONE_647 = 647, // 0x00000287 + GDI_NONE_648 = 648, // 0x00000288 + GDI_NONE_649 = 649, // 0x00000289 + GDI_USE_PIXEL_MOUSE_HIT_CHECKUnk = 1073741824 // 0x40000000 + + } GmDataIndex; + + static_assert_cpp98_obj(sizeof(GmDataIndex) == 4, GmDataIndex); + } // namespace Enums +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Enums/GmDataIndexInt.hpp b/src/OpenSHC/Rendering/Enums/GmDataIndexInt.hpp new file mode 100644 index 0000000..ab40787 --- /dev/null +++ b/src/OpenSHC/Rendering/Enums/GmDataIndexInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Enums/GmDataIndexInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Enums/GmDataIndex.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Enums { + typedef int GmDataIndexInt; + + static_assert_cpp98_obj(sizeof(GmDataIndexInt) == 4, GmDataIndexInt); + } // namespace Enums +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Enums/RenderTarget.hpp b/src/OpenSHC/Rendering/Enums/RenderTarget.hpp new file mode 100644 index 0000000..07331a3 --- /dev/null +++ b/src/OpenSHC/Rendering/Enums/RenderTarget.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Enums/RenderTarget.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + namespace Enums { + typedef enum RenderTarget { + + RT_SCREEN_MENU = 0, // 0x00000000 + RT_MAP_GAME = 1, // 0x00000001 + RT_BUTTON_AND_ALPHA = 2, // 0x00000002 + RT_CONTEXT_BASED = 4294967295 // 0xFFFFFFFF + + } RenderTarget; + + static_assert_cpp98_obj(sizeof(RenderTarget) == 4, RenderTarget); + } // namespace Enums +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/Enums/RenderTargetInt.hpp b/src/OpenSHC/Rendering/Enums/RenderTargetInt.hpp new file mode 100644 index 0000000..dba4610 --- /dev/null +++ b/src/OpenSHC/Rendering/Enums/RenderTargetInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/Enums/RenderTargetInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Enums/RenderTarget.hpp" + +namespace OpenSHC { +namespace Rendering { + namespace Enums { + typedef int RenderTargetInt; + + static_assert_cpp98_obj(sizeof(RenderTargetInt) == 4, RenderTargetInt); + } // namespace Enums +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/MapRenderDefinedData.hpp b/src/OpenSHC/Rendering/MapRenderDefinedData.hpp new file mode 100644 index 0000000..45ea35a --- /dev/null +++ b/src/OpenSHC/Rendering/MapRenderDefinedData.hpp @@ -0,0 +1,237 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/MapRenderDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" + +namespace OpenSHC { +namespace Rendering { + + using OpenSHC::Map::Navigation::Algorithms::XYPair; + +#pragma pack(push, 1) + // SIZE: 0x00001F04 + typedef struct MapRenderDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + int DAT_BuildingRenderSomeTypeArray[110]; // 0x00000004 length: 440 + int field5_0x1bc; // 0x000001BC length: 4 + int field6_0x1c0; // 0x000001C0 length: 4 + int field7_0x1c4; // 0x000001C4 length: 4 + int field8_0x1c8; // 0x000001C8 length: 4 + int field9_0x1cc; // 0x000001CC length: 4 + int field10_0x1d0; // 0x000001D0 length: 4 + int field11_0x1d4; // 0x000001D4 length: 4 + int field12_0x1d8; // 0x000001D8 length: 4 + int field13_0x1dc; // 0x000001DC length: 4 + int field14_0x1e0; // 0x000001E0 length: 4 + int field15_0x1e4; // 0x000001E4 length: 4 + int field16_0x1e8; // 0x000001E8 length: 4 + int field17_0x1ec; // 0x000001EC length: 4 + int field18_0x1f0; // 0x000001F0 length: 4 + int field19_0x1f4; // 0x000001F4 length: 4 + int field20_0x1f8; // 0x000001F8 length: 4 + int field21_0x1fc; // 0x000001FC length: 4 + int field22_0x200; // 0x00000200 length: 4 + int field23_0x204; // 0x00000204 length: 4 + int field24_0x208; // 0x00000208 length: 4 + int field25_0x20c; // 0x0000020C length: 4 + int field26_0x210; // 0x00000210 length: 4 + int field27_0x214; // 0x00000214 length: 4 + int field28_0x218; // 0x00000218 length: 4 + int field29_0x21c; // 0x0000021C length: 4 + int field30_0x220; // 0x00000220 length: 4 + int field31_0x224; // 0x00000224 length: 4 + int field32_0x228; // 0x00000228 length: 4 + int field33_0x22c; // 0x0000022C length: 4 + int field34_0x230; // 0x00000230 length: 4 + int field35_0x234; // 0x00000234 length: 4 + int field36_0x238; // 0x00000238 length: 4 + int field37_0x23c; // 0x0000023C length: 4 + int field38_0x240; // 0x00000240 length: 4 + int field39_0x244; // 0x00000244 length: 4 + int field40_0x248; // 0x00000248 length: 4 + int field41_0x24c; // 0x0000024C length: 4 + int field42_0x250; // 0x00000250 length: 4 + int field43_0x254; // 0x00000254 length: 4 + int field44_0x258; // 0x00000258 length: 4 + int field45_0x25c; // 0x0000025C length: 4 + int field46_0x260; // 0x00000260 length: 4 + int field47_0x264; // 0x00000264 length: 4 + int field48_0x268; // 0x00000268 length: 4 + int field49_0x26c; // 0x0000026C length: 4 + int field50_0x270; // 0x00000270 length: 4 + int field51_0x274; // 0x00000274 length: 4 + int field52_0x278; // 0x00000278 length: 4 + int field53_0x27c; // 0x0000027C length: 4 + int field54_0x280; // 0x00000280 length: 4 + int field55_0x284; // 0x00000284 length: 4 + int field56_0x288; // 0x00000288 length: 4 + int field57_0x28c; // 0x0000028C length: 4 + int field58_0x290; // 0x00000290 length: 4 + int field59_0x294; // 0x00000294 length: 4 + int field60_0x298; // 0x00000298 length: 4 + int field61_0x29c; // 0x0000029C length: 4 + int field62_0x2a0; // 0x000002A0 length: 4 + int field63_0x2a4; // 0x000002A4 length: 4 + int field64_0x2a8; // 0x000002A8 length: 4 + int field65_0x2ac; // 0x000002AC length: 4 + int field66_0x2b0; // 0x000002B0 length: 4 + int field67_0x2b4; // 0x000002B4 length: 4 + int field68_0x2b8; // 0x000002B8 length: 4 + int field69_0x2bc; // 0x000002BC length: 4 + int field70_0x2c0; // 0x000002C0 length: 4 + int field71_0x2c4; // 0x000002C4 length: 4 + int field72_0x2c8; // 0x000002C8 length: 4 + int field73_0x2cc; // 0x000002CC length: 4 + int field74_0x2d0; // 0x000002D0 length: 4 + int field75_0x2d4; // 0x000002D4 length: 4 + int field76_0x2d8; // 0x000002D8 length: 4 + int field77_0x2dc; // 0x000002DC length: 4 + int field78_0x2e0; // 0x000002E0 length: 4 + int field79_0x2e4; // 0x000002E4 length: 4 + int field80_0x2e8; // 0x000002E8 length: 4 + int field81_0x2ec; // 0x000002EC length: 4 + int field82_0x2f0; // 0x000002F0 length: 4 + int field83_0x2f4; // 0x000002F4 length: 4 + int field84_0x2f8; // 0x000002F8 length: 4 + int field85_0x2fc; // 0x000002FC length: 4 + int field86_0x300; // 0x00000300 length: 4 + int field87_0x304; // 0x00000304 length: 4 + int field88_0x308; // 0x00000308 length: 4 + int field89_0x30c; // 0x0000030C length: 4 + int field90_0x310; // 0x00000310 length: 4 + int field91_0x314; // 0x00000314 length: 4 + int field92_0x318; // 0x00000318 length: 4 + int field93_0x31c; // 0x0000031C length: 4 + int field94_0x320; // 0x00000320 length: 4 + int field95_0x324; // 0x00000324 length: 4 + int field96_0x328; // 0x00000328 length: 4 + int field97_0x32c; // 0x0000032C length: 4 + int field98_0x330; // 0x00000330 length: 4 + int field99_0x334; // 0x00000334 length: 4 + int field100_0x338; // 0x00000338 length: 4 + int field101_0x33c; // 0x0000033C length: 4 + int field102_0x340; // 0x00000340 length: 4 + int field103_0x344; // 0x00000344 length: 4 + int field104_0x348; // 0x00000348 length: 4 + int field105_0x34c; // 0x0000034C length: 4 + int field106_0x350; // 0x00000350 length: 4 + int field107_0x354; // 0x00000354 length: 4 + int field108_0x358; // 0x00000358 length: 4 + int field109_0x35c; // 0x0000035C length: 4 + int field110_0x360; // 0x00000360 length: 4 + int field111_0x364; // 0x00000364 length: 4 + int field112_0x368; // 0x00000368 length: 4 + int field113_0x36c; // 0x0000036C length: 4 + int field114_0x370; // 0x00000370 length: 4 + int field115_0x374; // 0x00000374 length: 4 + int field116_0x378; // 0x00000378 length: 4 + int field117_0x37c; // 0x0000037C length: 4 + int field118_0x380; // 0x00000380 length: 4 + int field119_0x384; // 0x00000384 length: 4 + int field120_0x388; // 0x00000388 length: 4 + int field121_0x38c; // 0x0000038C length: 4 + int field122_0x390; // 0x00000390 length: 4 + int field123_0x394; // 0x00000394 length: 4 + int field124_0x398; // 0x00000398 length: 4 + int field125_0x39c; // 0x0000039C length: 4 + int field126_0x3a0; // 0x000003A0 length: 4 + int field127_0x3a4; // 0x000003A4 length: 4 + int field128_0x3a8; // 0x000003A8 length: 4 + int field129_0x3ac; // 0x000003AC length: 4 + int field130_0x3b0; // 0x000003B0 length: 4 + int field131_0x3b4; // 0x000003B4 length: 4 + int field132_0x3b8; // 0x000003B8 length: 4 + int field133_0x3bc; // 0x000003BC length: 4 + int field134_0x3c0; // 0x000003C0 length: 4 + int field135_0x3c4; // 0x000003C4 length: 4 + int field136_0x3c8; // 0x000003C8 length: 4 + int field137_0x3cc; // 0x000003CC length: 4 + int field138_0x3d0; // 0x000003D0 length: 4 + int field139_0x3d4; // 0x000003D4 length: 4 + int field140_0x3d8; // 0x000003D8 length: 4 + int field141_0x3dc; // 0x000003DC length: 4 + int field142_0x3e0; // 0x000003E0 length: 4 + int field143_0x3e4; // 0x000003E4 length: 4 + int field144_0x3e8; // 0x000003E8 length: 4 + int field145_0x3ec; // 0x000003EC length: 4 + int field146_0x3f0; // 0x000003F0 length: 4 + int field147_0x3f4; // 0x000003F4 length: 4 + int field148_0x3f8; // 0x000003F8 length: 4 + int field149_0x3fc; // 0x000003FC length: 4 + int field150_0x400; // 0x00000400 length: 4 + int field151_0x404; // 0x00000404 length: 4 + int field152_0x408; // 0x00000408 length: 4 + int field153_0x40c; // 0x0000040C length: 4 + int field154_0x410; // 0x00000410 length: 4 + int field155_0x414; // 0x00000414 length: 4 + int field156_0x418; // 0x00000418 length: 4 + int field157_0x41c; // 0x0000041C length: 4 + int field158_0x420; // 0x00000420 length: 4 + int field159_0x424; // 0x00000424 length: 4 + int field160_0x428; // 0x00000428 length: 4 + int field161_0x42c; // 0x0000042C length: 4 + int field162_0x430; // 0x00000430 length: 4 + int field163_0x434; // 0x00000434 length: 4 + int field164_0x438; // 0x00000438 length: 4 + int field165_0x43c; // 0x0000043C length: 4 + int field166_0x440; // 0x00000440 length: 4 + int field167_0x444; // 0x00000444 length: 4 + int field168_0x448; // 0x00000448 length: 4 + int field169_0x44c; // 0x0000044C length: 4 + int field170_0x450; // 0x00000450 length: 4 + int field171_0x454; // 0x00000454 length: 4 + int field172_0x458; // 0x00000458 length: 4 + int field173_0x45c; // 0x0000045C length: 4 + int field174_0x460; // 0x00000460 length: 4 + int field175_0x464; // 0x00000464 length: 4 + int field176_0x468; // 0x00000468 length: 4 + int field177_0x46c; // 0x0000046C length: 4 + int field178_0x470; // 0x00000470 length: 4 + int field179_0x474; // 0x00000474 length: 4 + int field180_0x478; // 0x00000478 length: 4 + int field181_0x47c; // 0x0000047C length: 4 + int field182_0x480; // 0x00000480 length: 4 + int field183_0x484; // 0x00000484 length: 4 + int field184_0x488; // 0x00000488 length: 4 + int field185_0x48c; // 0x0000048C length: 4 + int field186_0x490; // 0x00000490 length: 4 + int field187_0x494; // 0x00000494 length: 4 + int field188_0x498; // 0x00000498 length: 4 + int field189_0x49c; // 0x0000049C length: 4 + int field190_0x4a0; // 0x000004A0 length: 4 + int field191_0x4a4; // 0x000004A4 length: 4 + int field192_0x4a8; // 0x000004A8 length: 4 + int field193_0x4ac; // 0x000004AC length: 4 + int field194_0x4b0; // 0x000004B0 length: 4 + int field195_0x4b4; // 0x000004B4 length: 4 + int field196_0x4b8; // 0x000004B8 length: 4 + int field197_0x4bc; // 0x000004BC length: 4 + int field198_0x4c0; // 0x000004C0 length: 4 + int field199_0x4c4; // 0x000004C4 length: 4 + int field200_0x4c8; // 0x000004C8 length: 4 + int field201_0x4cc; // 0x000004CC length: 4 + int field202_0x4d0; // 0x000004D0 length: 4 + int field203_0x4d4; // 0x000004D4 length: 4 + int field204_0x4d8; // 0x000004D8 length: 4 + int field205_0x4dc[12]; // 0x000004DC length: 48 + undefined1 padding_0x50c[408]; // 0x0000050C length: 408 + int field614_0x6a4[32]; // 0x000006A4 length: 128 + byte field615_0x724[512]; // 0x00000724 length: 512 + byte field616_0x924[512]; // 0x00000924 length: 512 + byte field617_0xb24[256]; // 0x00000B24 length: 256 + int field618_0xc24[16][16]; // 0x00000C24 length: 1024 + int field619_0x1024[16][16]; // 0x00001024 length: 1024 + int field620_0x1424[16][16]; // 0x00001424 length: 1024 + XYPair DAT_BuildingPreviewPositionRelatedOffsets[110][2]; // 0x00001824 length: 1760 + + } MapRenderDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MapRenderDefinedData) == 7940, MapRenderDefinedData); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ScreenResolutionArrayStruct.hpp b/src/OpenSHC/Rendering/ScreenResolutionArrayStruct.hpp new file mode 100644 index 0000000..37fd6bf --- /dev/null +++ b/src/OpenSHC/Rendering/ScreenResolutionArrayStruct.hpp @@ -0,0 +1,37 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ScreenResolutionArrayStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + +#pragma pack(push, 1) + // SIZE: 0x00000040 + typedef struct ScreenResolutionArrayStruct { + + int noneUnk; // 0x00000000 length: 4 + int _800x600; // 0x00000004 length: 4 + int _1024x768; // 0x00000008 length: 4 + int _1280x720; // 0x0000000C length: 4 + int _1280x1024; // 0x00000010 length: 4 + int _1366x768; // 0x00000014 length: 4 + int _1440x900; // 0x00000018 length: 4 + int _1600x900; // 0x0000001C length: 4 + int _1600x1200; // 0x00000020 length: 4 + int _1680x1050; // 0x00000024 length: 4 + int _1920x1080; // 0x00000028 length: 4 + int _1920x1200; // 0x0000002C length: 4 + int _2560x1440; // 0x00000030 length: 4 + int _2560x1600; // 0x00000034 length: 4 + int _1360x768; // 0x00000038 length: 4 + int _1024x600; // 0x0000003C length: 4 + + } ScreenResolutionArrayStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ScreenResolutionArrayStruct) == 64, ScreenResolutionArrayStruct); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ScreenResolutionEnum.hpp b/src/OpenSHC/Rendering/ScreenResolutionEnum.hpp new file mode 100644 index 0000000..0bedadf --- /dev/null +++ b/src/OpenSHC/Rendering/ScreenResolutionEnum.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ScreenResolutionEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + typedef enum ScreenResolutionEnum { + + SRE_800x600 = 1, // 0x00000001 + SRE_1024x768 = 2, // 0x00000002 + SRE_1280x720 = 3, // 0x00000003 + SRE_1280x1024 = 4, // 0x00000004 + SRE_1366x768 = 5, // 0x00000005 + SRE_1440x900 = 6, // 0x00000006 + SRE_1600x900 = 7, // 0x00000007 + SRE_1600x1200 = 8, // 0x00000008 + SRE_1680x1050 = 9, // 0x00000009 + SRE_1920x1080 = 10, // 0x0000000A + SRE_1920x1200 = 11, // 0x0000000B + SRE_2560x1440 = 12, // 0x0000000C + SRE_2560x1600 = 13, // 0x0000000D + SRE_1360x768 = 14, // 0x0000000E + SRE_1024x600 = 15, // 0x0000000F + SRE_640x480 = 20, // 0x00000014 + SRE_neg1 = 4294967295 // 0xFFFFFFFF + + } ScreenResolutionEnum; + + static_assert_cpp98_obj(sizeof(ScreenResolutionEnum) == 4, ScreenResolutionEnum); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ScreenResolutionEnumInt.hpp b/src/OpenSHC/Rendering/ScreenResolutionEnumInt.hpp new file mode 100644 index 0000000..ba37879 --- /dev/null +++ b/src/OpenSHC/Rendering/ScreenResolutionEnumInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ScreenResolutionEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/ScreenResolutionEnum.hpp" + +namespace OpenSHC { +namespace Rendering { + typedef int ScreenResolutionEnumInt; + + static_assert_cpp98_obj(sizeof(ScreenResolutionEnumInt) == 4, ScreenResolutionEnumInt); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/UnitRenderHelpStructure.hpp b/src/OpenSHC/Rendering/UnitRenderHelpStructure.hpp new file mode 100644 index 0000000..063fc3e --- /dev/null +++ b/src/OpenSHC/Rendering/UnitRenderHelpStructure.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/UnitRenderHelpStructure.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + +#pragma pack(push, 1) + // SIZE: 0x00000020 + typedef struct UnitRenderHelpStructure { + + int unitIDOrStatus; // 0x00000000 length: 4 + int ownerColor; // 0x00000004 length: 4 + int spriteID; // 0x00000008 length: 4 + int drawX; // 0x0000000C length: 4 + int drawY; // 0x00000010 length: 4 + int imageID; // 0x00000014 length: 4 + int blendStrength; // 0x00000018 length: 4 + int gmID; // 0x0000001C length: 4 + + } UnitRenderHelpStructure; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitRenderHelpStructure) == 32, UnitRenderHelpStructure); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ViewportRenderState.func.hpp b/src/OpenSHC/Rendering/ViewportRenderState.func.hpp new file mode 100644 index 0000000..a2a0314 --- /dev/null +++ b/src/OpenSHC/Rendering/ViewportRenderState.func.hpp @@ -0,0 +1,138 @@ +/** + path: 'OpenSHC/Rendering/ViewportRenderState.func.hpp' +*/ + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Rendering/ViewportRenderState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace Rendering { + namespace ViewportRenderState_Func { + + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (ViewportRenderState::*)(uint, uint), false, Address::SHC_3BB0A8C1_0x00401000, + &ViewportRenderState::xyAreValid) + xyAreValid; + + MACRO_FUNCTION_RESOLVER(int (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x00401040, + &ViewportRenderState::translateXYToTile) + translateXYToTile; + + MACRO_FUNCTION_RESOLVER(int (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004092E0, + &ViewportRenderState::meth_0x4092e0) + meth_0x4092e0; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E2050, + &ViewportRenderState::setTileSystemMemoryLookupArrays) + setTileSystemMemoryLookupArrays; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E25A0, + &ViewportRenderState::tweakValidTilesToExcludeMapBorders) + tweakValidTilesToExcludeMapBorders; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E2600, + &ViewportRenderState::resetBatchedRender) + resetBatchedRender; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int), false, Address::SHC_3BB0A8C1_0x004E2630, + &ViewportRenderState::FUN_004e2630) + FUN_004e2630; + + MACRO_FUNCTION_RESOLVER( + void (ViewportRenderState::*)(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, int), + false, Address::SHC_3BB0A8C1_0x004E26D0, &ViewportRenderState::scheduleUnitForBatchedRendering) + scheduleUnitForBatchedRendering; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004E2AD0, + &ViewportRenderState::renderGmOverlayBuilding2) + renderGmOverlayBuilding2; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004E3980, &ViewportRenderState::renderGmOverlayBuilding) + renderGmOverlayBuilding; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E5A90, + &ViewportRenderState::updateWaterAnimationFrames) + updateWaterAnimationFrames; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E5B80, + &ViewportRenderState::assignRandomTiles) + assignRandomTiles; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E5C00, + &ViewportRenderState::setViewportBasedOnMapSize) + setViewportBasedOnMapSize; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E5D80, + &ViewportRenderState::setupMouseTileXY2) + setupMouseTileXY2; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E5DD0, + &ViewportRenderState::setupMouseTileXY) + setupMouseTileXY; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int), false, Address::SHC_3BB0A8C1_0x004E5E20, + &ViewportRenderState::focusOnTile) + focusOnTile; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004E5ED0, + &ViewportRenderState::meth_0x4e5ed0) + meth_0x4e5ed0; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E6340, + &ViewportRenderState::meth_0x4e6340) + meth_0x4e6340; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(GmIDInt, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004E63A0, &ViewportRenderState::creataAFloatingLayerElement) + creataAFloatingLayerElement; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004E64D0, &ViewportRenderState::renderDebugDataMousePointing) + renderDebugDataMousePointing; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(undefined4, undefined4, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x004E66F0, &ViewportRenderState::setupViewport) + setupViewport; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int), false, Address::SHC_3BB0A8C1_0x004E7770, + &ViewportRenderState::resetupViewport) + resetupViewport; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E7800, + &ViewportRenderState::resetupViewportThunk) + resetupViewportThunk; + + MACRO_FUNCTION_RESOLVER( + void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E7810, &ViewportRenderState::renderUnits) + renderUnits; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004E8430, + &ViewportRenderState::updateBuildingPreviewPosition) + updateBuildingPreviewPosition; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E8C50, + &ViewportRenderState::meth_0x4e8c50) + meth_0x4e8c50; + + MACRO_FUNCTION_RESOLVER(void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E8C90, + &ViewportRenderState::meth_0x4e8c90) + meth_0x4e8c90; + + 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; + + MACRO_FUNCTION_RESOLVER( + void (ViewportRenderState::*)(), false, Address::SHC_3BB0A8C1_0x004E8CF0, &ViewportRenderState::renderMap) + renderMap; + + } // namespace ViewportRenderState_Func +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ViewportRenderState.hpp b/src/OpenSHC/Rendering/ViewportRenderState.hpp new file mode 100644 index 0000000..4e0e293 --- /dev/null +++ b/src/OpenSHC/Rendering/ViewportRenderState.hpp @@ -0,0 +1,171 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ViewportRenderState.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Map/Floaters/Floater.hpp" +#include "OpenSHC/Map/Matrices/TranslationMatrixTriplet.hpp" +#include "OpenSHC/Rendering/UnitRenderHelpStructure.hpp" +#include "OpenSHC/Rendering/ViewportState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Rendering { + + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Map::Floaters::Floater; + using OpenSHC::Map::Matrices::TranslationMatrixTriplet; + using OpenSHC::Rendering::UnitRenderHelpStructure; + using OpenSHC::Rendering::ViewportState; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0019F008 + class ViewportRenderState { + public: + ViewportState viewportState; // 0x00000000 length: 180 + undefined4 DAT_skipped_isos; // 0x000000B4 length: 4 + undefined1 padding_0xb8[4]; // 0x000000B8 length: 4 + undefined4 DAT_MapEditorDisplayLayer; // 0x000000BC length: 4 + uchar DAT_BinaryTileMap400x400[160000]; // 0x000000C0 length: 160000 + short DAT_TileTranslationMatrix_YComponent[80400]; // 0x000271C0 length: 160800 + int field9_0x4e5e0; // 0x0004E5E0 length: 4 + undefined4 field10_0x4e5e4; // 0x0004E5E4 length: 4 + undefined4 field11_0x4e5e8; // 0x0004E5E8 length: 4 + undefined4 field12_0x4e5ec; // 0x0004E5EC length: 4 + undefined4 field13_0x4e5f0; // 0x0004E5F0 length: 4 + undefined4 field14_0x4e5f4; // 0x0004E5F4 length: 4 + undefined4 field15_0x4e5f8; // 0x0004E5F8 length: 4 + undefined4 field16_0x4e5fc; // 0x0004E5FC length: 4 + int screenPointToTileNumber[321602]; // 0x0004E600 length: 1286408 + undefined1 padding_0x188708[8]; // 0x00188708 length: 8 + int DAT_TileTranslationMatrix_X_offset_min_24; // 0x00188710 length: 4 + int field27_0x188714; // 0x00188714 length: 4 + int field28_0x188718; // 0x00188718 length: 4 + int DAT_TileTranslationMatrix_X_offset_min_12; // 0x0018871C length: 4 + TranslationMatrixTriplet translationMatrix[400]; // 0x00188720 length: 4800 + undefined4 translationResult1; // 0x001899E0 length: 4 + undefined4 translationTracker1; // 0x001899E4 length: 4 + undefined4 translationResult2; // 0x001899E8 length: 4 + Floater floatersArray[250]; // 0x001899EC length: 7000 + undefined4 availableFloaterIndex; // 0x0018B544 length: 4 + int landscapeAnimationRandomTileArray[45]; // 0x0018B548 length: 180 + byte landscapeAnimationValueArray[60]; // 0x0018B5FC length: 60 + int landscapeSeaWhiteCapsAnimationFrames[45]; // 0x0018B638 length: 180 + byte unused02[60]; // 0x0018B6EC length: 60 + undefined4 windowX; // 0x0018B728 length: 4 + undefined4 windowY; // 0x0018B72C length: 4 + undefined4 screenPixelWidth; // 0x0018B730 length: 4 + undefined4 screenPixelHeight; // 0x0018B734 length: 4 + undefined4 field44_0x18b738; // 0x0018B738 length: 4 + undefined4 interval_03_160; // 0x0018B73C length: 4 + undefined4 previousIntervalTime_03; // 0x0018B740 length: 4 + undefined4 interval_04_180; // 0x0018B744 length: 4 + undefined4 previousIntervalTime_04; // 0x0018B748 length: 4 + undefined4 interval_01_80; // 0x0018B74C length: 4 + undefined4 previousIntervalTime_01; // 0x0018B750 length: 4 + undefined4 interval_02_100; // 0x0018B754 length: 4 + undefined4 previousIntervalTime_02; // 0x0018B758 length: 4 + int unknownCounterUntil_0x20; // 0x0018B75C length: 4 + int unknownCounterUntil_0x24; // 0x0018B760 length: 4 + int field55_0x18b764; // 0x0018B764 length: 4 + int unknownCounterUntil_0x10; // 0x0018B768 length: 4 + int unknownCounterUntil_0x200; // 0x0018B76C length: 4 + undefined4 unitBatchedRenderCounterUntil6; // 0x0018B770 length: 4 + UnitRenderHelpStructure unitBatch1[500]; // 0x0018B774 length: 16000 + UnitRenderHelpStructure unitBatch2[500]; // 0x0018F5F4 length: 16000 + UnitRenderHelpStructure unitBatch3[500]; // 0x00193474 length: 16000 + UnitRenderHelpStructure unitBatch4[500]; // 0x001972F4 length: 16000 + UnitRenderHelpStructure unitBatch5[500]; // 0x0019B174 length: 16000 + undefined4 unitRender1; // 0x0019EFF4 length: 4 + undefined4 unitRender2; // 0x0019EFF8 length: 4 + undefined4 unitRender3; // 0x0019EFFC length: 4 + undefined4 unitRender4; // 0x0019F000 length: 4 + undefined4 unitRender5; // 0x0019F004 length: 4 + + private: + ViewportRenderState(ViewportRenderState const&); + void operator=(ViewportRenderState const&); + + ViewportRenderState(); + ~ViewportRenderState(); + + public: + // Constructor + ViewportRenderState* Constructor_ViewportRenderState(); + + BOOLEnum xyAreValid(uint x, uint y); + + int translateXYToTile(int x, int y); + + int meth_0x4092e0(int param_1, int param_2); + + void setTileSystemMemoryLookupArrays(); + + void tweakValidTilesToExcludeMapBorders(); + + void resetBatchedRender(); + + void FUN_004e2630(int param_1); + + void scheduleUnitForBatchedRendering(undefined4 unitIDOrStatus, undefined4 drawX, undefined4 drawY, + undefined4 imageID, undefined4 blendStrength, undefined4 gmID, int param_7); + + void renderGmOverlayBuilding2(int param_1, int param_2, int param_3); + + void renderGmOverlayBuilding(int tileIndex, int xUnk, int yUnk, int param_4); + + void updateWaterAnimationFrames(); + + void assignRandomTiles(); + + void setViewportBasedOnMapSize(); + + void setupMouseTileXY2(); + + void setupMouseTileXY(); + + void focusOnTile(int tile); + + void meth_0x4e5ed0(int param_1, int param_2); + + void meth_0x4e6340(); + + void creataAFloatingLayerElement(GmIDInt gmID, int imageID, int imageX, int imageY, int tile, int variation); + + void renderDebugDataMousePointing(int x, int y, int width, int height); + + void setupViewport( + undefined4 windowX, undefined4 windowY, undefined4 screenPixelWidth, undefined4 screenPixelHeight); + + void resetupViewport(int zoomUnk); + + void resetupViewportThunk(); + + void renderUnits(); + + void updateBuildingPreviewPosition(int mouseXScreenSpace, int mouseYScreenSpace); + + void meth_0x4e8c50(); + + void meth_0x4e8c90(); + + 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 renderMap(); + }; + + static_assert_cpp98_obj(sizeof(ViewportRenderState) == 1699848, ViewportRenderState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(ViewportRenderState, false, Address::SHC_3BB0A8C1_0x021AEBD8) pDAT_ViewportRenderState; + +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/ViewportState.hpp b/src/OpenSHC/Rendering/ViewportState.hpp new file mode 100644 index 0000000..9414380 --- /dev/null +++ b/src/OpenSHC/Rendering/ViewportState.hpp @@ -0,0 +1,66 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/ViewportState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Rendering { + +#pragma pack(push, 1) + // SIZE: 0x000000B4 + typedef struct ViewportState { + + undefined4 field0_0x0; // 0x00000000 length: 4 + int mouseTileX; // 0x00000004 length: 4 + int mouseTileY; // 0x00000008 length: 4 + int mouseTile; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + undefined4 field5_0x14; // 0x00000014 length: 4 + undefined4 field6_0x18; // 0x00000018 length: 4 + int mouseRayBuildingID; // 0x0000001C length: 4 + undefined4 field8_0x20; // 0x00000020 length: 4 + int mouseRayEntityID; // 0x00000024 length: 4 + int mouseRayUnitID; // 0x00000028 length: 4 + undefined4 field11_0x2c; // 0x0000002C length: 4 + int mouseRayLastUnitID; // 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 + int somePitchDitchID; // 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 + int mouseX; // 0x00000064 length: 4 + int mouseY; // 0x00000068 length: 4 + undefined4 field27_0x6c; // 0x0000006C length: 4 + int mouseAtomRefFloorTile; // 0x00000070 length: 4 + undefined4 ptrColor; // 0x00000074 length: 4 + int viewportX; // 0x00000078 length: 4 + int viewportY; // 0x0000007C length: 4 + int currentCameraOffsetX; // 0x00000080 length: 4 + int currentCameraOffsetY; // 0x00000084 length: 4 + int viewportHeight; // 0x00000088 length: 4 + int viewportWidth; // 0x0000008C length: 4 + int isZoomedOutUnk; // 0x00000090 length: 4 + undefined4 field37_0x94; // 0x00000094 length: 4 + undefined4 unknownScreenXRelated; // 0x00000098 length: 4 + int tileCenterX; // 0x0000009C length: 4 + int tileCenterY; // 0x000000A0 length: 4 + undefined4 someYOffset; // 0x000000A4 length: 4 + undefined4 someXOffset; // 0x000000A8 length: 4 + dword mbr_0xac; // 0x000000AC length: 4 + dword mbr_0xb0; // 0x000000B0 length: 4 + + } ViewportState; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ViewportState) == 180, ViewportState); +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/WindowInformation.func.hpp b/src/OpenSHC/Rendering/WindowInformation.func.hpp new file mode 100644 index 0000000..e9b4ba5 --- /dev/null +++ b/src/OpenSHC/Rendering/WindowInformation.func.hpp @@ -0,0 +1,17 @@ +/** + path: 'OpenSHC/Rendering/WindowInformation.func.hpp' +*/ + +#include "OpenSHC/Rendering/WindowInformation.hpp" +#include "winnt.h" +namespace OpenSHC { +namespace Rendering { + namespace WindowInformation_Func { + + MACRO_FUNCTION_RESOLVER(void (WindowInformation::*)(LONG, LONG, LONG, LONG), false, + Address::SHC_3BB0A8C1_0x00467F60, &WindowInformation::storeWindowRectangleInfoUnk) + storeWindowRectangleInfoUnk; + + } // namespace WindowInformation_Func +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/Rendering/WindowInformation.hpp b/src/OpenSHC/Rendering/WindowInformation.hpp new file mode 100644 index 0000000..55ee372 --- /dev/null +++ b/src/OpenSHC/Rendering/WindowInformation.hpp @@ -0,0 +1,40 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Rendering/WindowInformation.hpp' +*/ + +#pragma once + +#include "WinDef.h" +#include "winnt.h" + +namespace OpenSHC { +namespace Rendering { + +#pragma pack(push, 1) + + // SIZE: 0x00000040 + class WindowInformation { + public: + undefined1 padding_0x0[48]; // 0x00000000 length: 48 + RECT RECT_SomeGameWindowRectUnk; // 0x00000030 length: 16 + + private: + WindowInformation(WindowInformation const&); + void operator=(WindowInformation const&); + + WindowInformation(); + ~WindowInformation(); + + public: + void storeWindowRectangleInfoUnk(LONG param_1, LONG param_2, LONG param_3, LONG param_4); + }; + + static_assert_cpp98_obj(sizeof(WindowInformation) == 64, WindowInformation); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(WindowInformation, false, Address::SHC_3BB0A8C1_0x01A27980) pDAT_WindowInformation; + +} // namespace Rendering +} // namespace OpenSHC diff --git a/src/OpenSHC/SHDE/eMappers.hpp b/src/OpenSHC/SHDE/eMappers.hpp new file mode 100644 index 0000000..f8d0e47 --- /dev/null +++ b/src/OpenSHC/SHDE/eMappers.hpp @@ -0,0 +1,393 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/SHDE/eMappers.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace SHDE { + typedef enum eMappers { + + M_MAPPER_NULL = 0, // 0x00000000 + M_MAPPER_AREA = 1, // 0x00000001 + M_MAPPER_RAISE = 2, // 0x00000002 + M_MAPPER_LOWER = 3, // 0x00000003 + M_MAPPER_SEA = 4, // 0x00000004 + M_MAPPER_LAND = 5, // 0x00000005 + M_MAPPER_FOREST = 6, // 0x00000006 + M_MAPPER_SCRUB = 7, // 0x00000007 + M_MAPPER_BEACH = 8, // 0x00000008 + M_MAPPER_SHALLOWS = 9, // 0x00000009 + M_MAPPER_ROCKY = 10, // 0x0000000A + M_MAPPER_STONES = 11, // 0x0000000B + M_MAPPER_BOULDERS = 12, // 0x0000000C + M_MAPPER_PEBBLES = 13, // 0x0000000D + M_MAPPER_RIVER = 14, // 0x0000000E + M_MAPPER_FORD = 15, // 0x0000000F + M_MAPPER_IRON = 16, // 0x00000010 + M_MAPPER_MARSH = 17, // 0x00000011 + M_MAPPER_DIRT = 18, // 0x00000012 + M_MAPPER_GRASS = 19, // 0x00000013 + M_MAPPER_BIGROCKS = 20, // 0x00000014 + M_MAPPER_DOWN = 20, // 0x00000014 + M_MAPPER_MIN = 21, // 0x00000015 + M_MAPPER_MAX = 22, // 0x00000016 + M_MAPPER_EQUALISE = 23, // 0x00000017 + M_MAPPER_PLATEAU = 24, // 0x00000018 + M_MAPPER_WALL = 25, // 0x00000019 + M_MAPPER_CRENAL = 26, // 0x0000001A + M_MAPPER_STAIR = 27, // 0x0000001B + M_MAPPER_TOWER = 28, // 0x0000001C + M_MAPPER_UP = 29, // 0x0000001D + M_MAPPER_EXIT = 31, // 0x0000001F + M_MAPPER_TOMAIN = 32, // 0x00000020 + M_MAPPER_TOTEST = 33, // 0x00000021 + M_MAPPER_PATROL = 34, // 0x00000022 + M_MAPPER_PATH_END = 35, // 0x00000023 + M_MAPPER_MOUNTAIN = 36, // 0x00000024 + M_MAPPER_HILL = 37, // 0x00000025 + M_MAPPER_AFFECT_TYPE = 38, // 0x00000026 + M_MAPPER_DELETE = 39, // 0x00000027 + M_MAPPER_CHESTNUT = 40, // 0x00000028 + M_MAPPER_OAK = 41, // 0x00000029 + M_MAPPER_PINE = 42, // 0x0000002A + M_MAPPER_BIRCH = 43, // 0x0000002B + M_MAPPER_UNDUGMOAT = 44, // 0x0000002C + M_MAPPER_DUGMOAT = 45, // 0x0000002D + M_MAPPER_WOODWALL = 46, // 0x0000002E + M_MAPPER_PLAIN1 = 47, // 0x0000002F + M_MAPPER_PLAIN2 = 48, // 0x00000030 + M_MAPPER_OIL = 49, // 0x00000031 + M_MAPPER_FLETCHER = 50, // 0x00000032 + M_MAPPER_WOODSMAN = 51, // 0x00000033 + M_MAPPER_STORES = 52, // 0x00000034 + M_MAPPER_HOUSE = 53, // 0x00000035 + M_MAPPER_HOVEL = 54, // 0x00000036 + M_MAPPER_OXENBASE = 55, // 0x00000037 + M_MAPPER_QUARRY = 56, // 0x00000038 + M_MAPPER_TUNNEL = 57, // 0x00000039 + M_MAPPER_CAMP_FIRE = 58, // 0x0000003A + M_MAPPER_SIGNPOST = 59, // 0x0000003B + M_MAPPER_KEEP1 = 60, // 0x0000003C + M_MAPPER_KEEP2 = 61, // 0x0000003D + M_MAPPER_KEEP3 = 62, // 0x0000003E + M_MAPPER_KEEP4 = 63, // 0x0000003F + M_MAPPER_KEEP5 = 64, // 0x00000040 + M_MAPPER_STABLES = 65, // 0x00000041 + M_MAPPER_TUNNEL_CONSTRUCTION = 66, // 0x00000042 + M_MAPPER_UNUSED_1 = 67, // 0x00000043 + M_MAPPER_UNUSED_2 = 68, // 0x00000044 + M_MAPPER_UNUSED_3 = 69, // 0x00000045 + M_MAPPER_WHEATFARM = 70, // 0x00000046 + M_MAPPER_HOPSFARM = 71, // 0x00000047 + M_MAPPER_APPLEFARM = 72, // 0x00000048 + M_MAPPER_CATTLEFARM = 73, // 0x00000049 + M_MAPPER_MILL = 74, // 0x0000004A + M_MAPPER_BAKER = 75, // 0x0000004B + M_MAPPER_BREWER = 76, // 0x0000004C + M_MAPPER_TRADEPOST = 77, // 0x0000004D + M_MAPPER_HUNTER = 78, // 0x0000004E + M_MAPPER_UNUSED_4 = 79, // 0x0000004F + M_MAPPER_GRANARY = 80, // 0x00000050 + M_MAPPER_ARMOURY = 81, // 0x00000051 + M_MAPPER_POLETURNER = 82, // 0x00000052 + M_MAPPER_BLACKSMITH = 83, // 0x00000053 + M_MAPPER_ARMOURER = 84, // 0x00000054 + M_MAPPER_TANNER = 85, // 0x00000055 + M_MAPPER_BARRACKS_WOOD = 86, // 0x00000056 + M_MAPPER_BARRACKS_STONE = 87, // 0x00000057 + M_MAPPER_ENGINEERS_GUILD = 88, // 0x00000058 + M_MAPPER_TUNNELERS_GUILD = 89, // 0x00000059 + M_MAPPER_IRON_MINE = 90, // 0x0000005A + M_MAPPER_PITCH_WORKINGS = 91, // 0x0000005B + M_MAPPER_INN = 92, // 0x0000005C + M_MAPPER_HEALER = 93, // 0x0000005D + M_MAPPER_SIEGE_TOWER_BASE = 94, // 0x0000005E + M_MAPPER_CHURCH1 = 95, // 0x0000005F + M_MAPPER_CHURCH2 = 96, // 0x00000060 + M_MAPPER_CHURCH3 = 97, // 0x00000061 + M_MAPPER_KILLING_PIT = 98, // 0x00000062 + M_MAPPER_PITCH_DITCH = 99, // 0x00000063 + M_MAPPER_GATEHOUSE = 100, // 0x00000064 + M_MAPPER_GATE_MAIN = 101, // 0x00000065 + M_MAPPER_GATE_INNER = 102, // 0x00000066 + M_MAPPER_GATE_WOOD = 103, // 0x00000067 + M_MAPPER_GATE_POSTERN = 104, // 0x00000068 + M_MAPPER_DRAWBRIDGE = 105, // 0x00000069 + M_MAPPER_MOAT = 106, // 0x0000006A + M_MAPPER_ANTIMOAT = 107, // 0x0000006B + M_MAPPER_UNUSED_5 = 108, // 0x0000006C + M_MAPPER_UNUSED_6 = 109, // 0x0000006D + M_MAPPER_TOWER1 = 110, // 0x0000006E + M_MAPPER_TOWER2 = 111, // 0x0000006F + M_MAPPER_TOWER3 = 112, // 0x00000070 + M_MAPPER_TOWER4 = 113, // 0x00000071 + M_MAPPER_TOWER5 = 114, // 0x00000072 + M_MAPPER_TOWER1_DESTROYED = 115, // 0x00000073 + M_MAPPER_TOWER2_DESTROYED = 116, // 0x00000074 + M_MAPPER_TOWER3_DESTROYED = 117, // 0x00000075 + M_MAPPER_TOWER4_DESTROYED = 118, // 0x00000076 + M_MAPPER_TOWER5_DESTROYED = 119, // 0x00000077 + M_MAPPER_FLAG_TYPE0 = 120, // 0x00000078 + M_MAPPER_FLAG_TYPE1 = 121, // 0x00000079 + M_MAPPER_FLAG_TYPE2 = 122, // 0x0000007A + M_MAPPER_FLAG_TYPE3 = 123, // 0x0000007B + M_MAPPER_FLAG_TYPE4 = 124, // 0x0000007C + M_MAPPER_FLAG_TYPE5 = 125, // 0x0000007D + M_MAPPER_FLAG_TYPE6 = 126, // 0x0000007E + M_MAPPER_FLAG_TYPE7 = 127, // 0x0000007F + M_MAPPER_FLAG_TYPE8 = 128, // 0x00000080 + M_MAPPER_HEADS = 129, // 0x00000081 + M_MAPPER_SHRUB1A = 130, // 0x00000082 + M_MAPPER_SHRUB1B = 131, // 0x00000083 + M_MAPPER_SHRUB1C = 132, // 0x00000084 + M_MAPPER_SHRUB1D = 133, // 0x00000085 + M_MAPPER_SHRUB1E = 134, // 0x00000086 + M_MAPPER_SHRUB2A = 135, // 0x00000087 + M_MAPPER_SHRUB2B = 136, // 0x00000088 + M_MAPPER_SHRUB2C = 137, // 0x00000089 + M_MAPPER_SHRUB2D = 138, // 0x0000008A + M_MAPPER_SHRUB2E = 139, // 0x0000008B + M_MAPPER_GATE_WOOD1A = 140, // 0x0000008C + M_MAPPER_GATE_WOOD1B = 141, // 0x0000008D + M_MAPPER_GATE_WOOD1C = 142, // 0x0000008E + M_MAPPER_GATE_WOOD1D = 143, // 0x0000008F + M_MAPPER_GATE_STONE1A = 144, // 0x00000090 + M_MAPPER_GATE_STONE1B = 145, // 0x00000091 + M_MAPPER_GATE_STONE2A = 146, // 0x00000092 + M_MAPPER_GATE_STONE2B = 147, // 0x00000093 + M_MAPPER_BRAZIER = 148, // 0x00000094 + M_MAPPER_UNUSED_7 = 149, // 0x00000095 + M_MAPPER_FOAM = 150, // 0x00000096 + M_MAPPER_RIPPLE = 151, // 0x00000097 + M_MAPPER_TO_MAP_EDIT = 152, // 0x00000098 + M_MAPPER_UNUSED_8 = 153, // 0x00000099 + M_MAPPER_UNUSED_9 = 154, // 0x0000009A + M_MAPPER_UNUSED_10 = 155, // 0x0000009B + M_MAPPER_UNUSED_11 = 156, // 0x0000009C + M_MAPPER_UNUSED_12 = 157, // 0x0000009D + M_MAPPER_UNUSED_13 = 158, // 0x0000009E + M_MAPPER_UNUSED_14 = 159, // 0x0000009F + M_MAPPER_GARDEN1 = 160, // 0x000000A0 + M_MAPPER_GARDEN2 = 161, // 0x000000A1 + M_MAPPER_GARDEN3 = 162, // 0x000000A2 + M_MAPPER_GARDEN4 = 163, // 0x000000A3 + M_MAPPER_GARDEN5 = 164, // 0x000000A4 + M_MAPPER_GARDEN6 = 165, // 0x000000A5 + M_MAPPER_GARDEN7 = 166, // 0x000000A6 + M_MAPPER_GARDEN8 = 167, // 0x000000A7 + M_MAPPER_GARDEN9 = 168, // 0x000000A8 + M_MAPPER_GARDEN10 = 169, // 0x000000A9 + M_MAPPER_GARDEN11 = 170, // 0x000000AA + M_MAPPER_GARDEN12 = 171, // 0x000000AB + M_MAPPER_UNUSED_15 = 172, // 0x000000AC + M_MAPPER_UNUSED_16 = 173, // 0x000000AD + M_MAPPER_UNUSED_17 = 174, // 0x000000AE + M_MAPPER_MAYPOLE = 175, // 0x000000AF + M_MAPPER_GALLOWS = 176, // 0x000000B0 + M_MAPPER_STOCKS = 177, // 0x000000B1 + M_MAPPER_UNUSED_18 = 178, // 0x000000B2 + M_MAPPER_UNUSED_19 = 179, // 0x000000B3 + M_MAPPER_OIL_SMELTER = 180, // 0x000000B4 + M_MAPPER_UNUSED_20 = 181, // 0x000000B5 + M_MAPPER_UNUSED_21 = 182, // 0x000000B6 + M_MAPPER_UNUSED_22 = 183, // 0x000000B7 + M_MAPPER_UNUSED_23 = 184, // 0x000000B8 + M_MAPPER_UNUSED_24 = 185, // 0x000000B9 + M_MAPPER_UNUSED_25 = 186, // 0x000000BA + M_MAPPER_UNUSED_26 = 187, // 0x000000BB + M_MAPPER_UNUSED_27 = 188, // 0x000000BC + M_MAPPER_UNUSED_28 = 189, // 0x000000BD + M_MAPPER_CATAPULT = 190, // 0x000000BE + M_MAPPER_TREBUCHET = 191, // 0x000000BF + M_MAPPER_SIEGE_TOWER = 192, // 0x000000C0 + M_MAPPER_BATTERING_RAM = 193, // 0x000000C1 + M_MAPPER_PORTABLE_SHIELD = 194, // 0x000000C2 + M_MAPPER_UNUSED_29 = 195, // 0x000000C3 + M_MAPPER_UNUSED_30 = 196, // 0x000000C4 + M_MAPPER_UNUSED_31 = 197, // 0x000000C5 + M_MAPPER_UNUSED_32 = 198, // 0x000000C6 + M_MAPPER_UNUSED_33 = 199, // 0x000000C7 + M_MAPPER_BACK = 200, // 0x000000C8 + M_MAPPER_CHECK_BOX = 201, // 0x000000C9 + M_MAPPER_TEST = 202, // 0x000000CA + M_MAPPER_REBUILD = 203, // 0x000000CB + M_MAPPER_SNAP_TO = 204, // 0x000000CC + M_MAPPER_BIGROCK1 = 205, // 0x000000CD + M_MAPPER_BIGROCK2 = 206, // 0x000000CE + M_MAPPER_BIGROCK3 = 207, // 0x000000CF + M_MAPPER_BIGROCK4 = 208, // 0x000000D0 + M_MAPPER_BIGROCK5 = 209, // 0x000000D1 + M_MAPPER_MANGONEL = 210, // 0x000000D2 + M_MAPPER_BALLISTA = 211, // 0x000000D3 + M_MAPPER_UNUSED_34 = 212, // 0x000000D4 + M_MAPPER_UNUSED_35 = 213, // 0x000000D5 + M_MAPPER_UNUSED_36 = 214, // 0x000000D6 + M_MAPPER_UNUSED_37 = 215, // 0x000000D7 + M_MAPPER_UNUSED_38 = 216, // 0x000000D8 + M_MAPPER_UNUSED_39 = 217, // 0x000000D9 + M_MAPPER_UNUSED_40 = 218, // 0x000000DA + M_MAPPER_UNUSED_41 = 219, // 0x000000DB + M_MAPPER_DEER = 220, // 0x000000DC + M_MAPPER_WOLF = 221, // 0x000000DD + M_MAPPER_RABBIT = 222, // 0x000000DE + M_MAPPER_BEAR = 223, // 0x000000DF + M_MAPPER_CROW = 224, // 0x000000E0 + M_MAPPER_SEAGULL = 225, // 0x000000E1 + M_MAPPER_UNUSED_42 = 226, // 0x000000E2 + M_MAPPER_UNUSED_44 = 227, // 0x000000E3 + M_MAPPER_UNUSED_45 = 228, // 0x000000E4 + M_MAPPER_UNUSED_46 = 229, // 0x000000E5 + M_MAPPER_MAP_SIZE = 230, // 0x000000E6 + M_MAPPER_SUB_MODE_HEIGHT = 231, // 0x000000E7 + M_MAPPER_SUB_MODE_TYPE = 232, // 0x000000E8 + M_MAPPER_SUB_MODE_OBJ = 234, // 0x000000EA + M_MAPPER_SUB_MODE_ANIMAL = 235, // 0x000000EB + M_MAPPER_SUB_MODE_WATER = 236, // 0x000000EC + M_MAPPER_SUB_MODE_FEATURE = 237, // 0x000000ED + M_MAPPER_ESTUARY = 238, // 0x000000EE + M_MAPPER_SUB_MODE_FEATURE_MP = 239, // 0x000000EF + M_MAPPER_MP_KEEP1 = 240, // 0x000000F0 + M_MAPPER_REPORT1 = 240, // 0x000000F0 + M_MAPPER_MP_KEEP2 = 241, // 0x000000F1 + M_MAPPER_REPORT2 = 241, // 0x000000F1 + M_MAPPER_MP_KEEP3 = 242, // 0x000000F2 + M_MAPPER_REPORT3 = 242, // 0x000000F2 + M_MAPPER_MP_KEEP4 = 243, // 0x000000F3 + M_MAPPER_REPORT4 = 243, // 0x000000F3 + M_MAPPER_MP_KEEP5 = 244, // 0x000000F4 + M_MAPPER_REPORT5 = 244, // 0x000000F4 + M_MAPPER_MP_KEEP6 = 245, // 0x000000F5 + M_MAPPER_REPORT6 = 245, // 0x000000F5 + M_MAPPER_MP_KEEP7 = 246, // 0x000000F6 + M_MAPPER_REPORT7 = 246, // 0x000000F6 + M_MAPPER_MP_KEEP8 = 247, // 0x000000F7 + M_MAPPER_REPORT8 = 247, // 0x000000F7 + M_MAPPER_RUINS1 = 248, // 0x000000F8 + M_MAPPER_RUINS2 = 249, // 0x000000F9 + M_MAPPER_RUINS3 = 250, // 0x000000FA + M_MAPPER_RUINS4 = 251, // 0x000000FB + M_MAPPER_RUINS5 = 252, // 0x000000FC + M_MAPPER_RUINS6 = 253, // 0x000000FD + M_MAPPER_RUINS7 = 254, // 0x000000FE + M_MAPPER_RUINS8 = 255, // 0x000000FF + M_MAPPER_RUINS9 = 256, // 0x00000100 + M_MAPPER_RUINS10 = 257, // 0x00000101 + M_MAPPER_RUINS11 = 258, // 0x00000102 + M_MAPPER_RUINS12 = 259, // 0x00000103 + M_MAPPER_RUINS13 = 260, // 0x00000104 + M_MAPPER_UNUSED_48 = 261, // 0x00000105 + M_MAPPER_UNUSED_49 = 262, // 0x00000106 + M_MAPPER_UNUSED_50 = 263, // 0x00000107 + M_MAPPER_UNUSED_51 = 264, // 0x00000108 + M_MAPPER_UNUSED_52 = 265, // 0x00000109 + M_MAPPER_UNUSED_53 = 266, // 0x0000010A + M_MAPPER_UNUSED_54 = 267, // 0x0000010B + M_MAPPER_UNUSED_55 = 268, // 0x0000010C + M_MAPPER_UNUSED_56 = 269, // 0x0000010D + M_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E + M_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F + M_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 + M_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 + M_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 + M_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 + M_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 + M_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 + M_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 + M_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 + M_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 + M_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 + M_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A + M_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B + M_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C + M_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D + M_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E + M_MAPPER_STANCE_STAND = 287, // 0x0000011F + M_MAPPER_STANCE_DEFENSIVE = 288, // 0x00000120 + M_MAPPER_STANCE_AGGRESSIVE = 289, // 0x00000121 + M_MAPPER_TROOP_STOP = 290, // 0x00000122 + M_MAPPER_ENGINEER_BUILD = 291, // 0x00000123 + M_MAPPER_BUILD_BACK = 292, // 0x00000124 + M_MAPPER_BUY_AMMO = 293, // 0x00000125 + M_MAPPER_UNUSED_57 = 294, // 0x00000126 + M_MAPPER_UNUSED_58 = 295, // 0x00000127 + M_MAPPER_UNUSED_59 = 296, // 0x00000128 + M_MAPPER_UNUSED_60 = 297, // 0x00000129 + M_MAPPER_UNUSED_61 = 298, // 0x0000012A + M_MAPPER_UNUSED_62 = 299, // 0x0000012B + M_MAPPER_UNUSED_63 = 300, // 0x0000012C + M_MAPPER_CESS_PIT1 = 301, // 0x0000012D + M_MAPPER_CESS_PIT2 = 302, // 0x0000012E + M_MAPPER_CESS_PIT3 = 303, // 0x0000012F + M_MAPPER_CESS_PIT4 = 304, // 0x00000130 + M_MAPPER_BURNING_STAKE = 305, // 0x00000131 + M_MAPPER_GIBBET = 306, // 0x00000132 + M_MAPPER_DUNGEON = 307, // 0x00000133 + M_MAPPER_RACK_STRETCHING = 308, // 0x00000134 + M_MAPPER_RACK_FLOGGING = 309, // 0x00000135 + M_MAPPER_CHOPPING_BLOCK = 310, // 0x00000136 + M_MAPPER_DUNKING_STOOL = 311, // 0x00000137 + M_MAPPER_DOG_CAGE = 312, // 0x00000138 + M_MAPPER_STATUE1 = 313, // 0x00000139 + M_MAPPER_STATUE2 = 314, // 0x0000013A + M_MAPPER_STATUE3 = 315, // 0x0000013B + M_MAPPER_STATUE4 = 316, // 0x0000013C + M_MAPPER_STATUE5 = 317, // 0x0000013D + M_MAPPER_SHRINE1 = 318, // 0x0000013E + M_MAPPER_SHRINE2 = 319, // 0x0000013F + M_MAPPER_SHRINE3 = 320, // 0x00000140 + M_MAPPER_SHRINE4 = 321, // 0x00000141 + M_MAPPER_SHRINE5 = 322, // 0x00000142 + M_MAPPER_BEE_HIVE = 323, // 0x00000143 + M_MAPPER_DANCING_BEAR = 324, // 0x00000144 + M_MAPPER_POND1 = 325, // 0x00000145 + M_MAPPER_POND2 = 326, // 0x00000146 + M_MAPPER_POND3 = 327, // 0x00000147 + M_MAPPER_POND4 = 328, // 0x00000148 + M_MAPPER_BEAR_CAVE = 329, // 0x00000149 + M_MAPPER_WELL = 330, // 0x0000014A + M_MAPPER_AREA_BACK = 331, // 0x0000014B + M_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C + M_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D + M_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E + M_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F + M_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 + M_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 + M_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 + M_MAPPER_SUB_MENU_TOWERS = 340, // 0x00000154 + M_MAPPER_SUB_MENU_MILITARY = 341, // 0x00000155 + M_MAPPER_SUB_MENU_GATEHOUSES = 342, // 0x00000156 + M_MAPPER_SUB_MENU_KEEPS = 343, // 0x00000157 + M_MAPPER_SUB_MENU_GATEHOUSES_WOOD = 344, // 0x00000158 + M_MAPPER_SUB_MENU_GATEHOUSES_STONESMALL = 345, // 0x00000159 + M_MAPPER_SUB_MENU_GATEHOUSES_STONELARGE = 346, // 0x0000015A + M_MAPPER_SUB_MENU_GOOD = 347, // 0x0000015B + M_MAPPER_SUB_MENU_BAD = 348, // 0x0000015C + M_MAPPER_DELETE_EDITOR = 349, // 0x0000015D + M_MAPPER_MARKER_POINT1 = 350, // 0x0000015E + M_MAPPER_MARKER_POINT2 = 351, // 0x0000015F + M_MAPPER_MARKER_POINT3 = 352, // 0x00000160 + M_MAPPER_MARKER_POINT4 = 353, // 0x00000161 + M_MAPPER_MARKER_POINT5 = 354, // 0x00000162 + M_MAPPER_MARKER_POINT6 = 355, // 0x00000163 + M_MAPPER_MARKER_POINT7 = 356, // 0x00000164 + M_MAPPER_MARKER_POINT8 = 357, // 0x00000165 + M_MAPPER_MARKER_POINT9 = 358, // 0x00000166 + M_MAPPER_MARKER_POINT10 = 359, // 0x00000167 + M_MAPPER_MENU_RETURN_TOWERS = 360, // 0x00000168 + M_MAPPER_MENU_RETURN_GATEHOUSES = 361, // 0x00000169 + M_MAPPER_MENU_RETURN_MILITARY = 362, // 0x0000016A + M_MAPPER_MENU_RETURN_KEEPS = 363, // 0x0000016B + M_MAPPER_MENU_RETURN_GOOD = 364, // 0x0000016C + M_MAPPER_MENU_RETURN_BAD = 365, // 0x0000016D + M_MAPPER_PLACE_ASSEMBLY_POINTE1 = 367, // 0x0000016F + M_MAPPER_PLACE_ASSEMBLY_POINTE2 = 368, // 0x00000170 + M_MAPPER_PLACE_ASSEMBLY_POINTT1 = 369, // 0x00000171 + M_END_OF_MAPPERS = 370 // 0x00000172 + + } eMappers; + + static_assert_cpp98_obj(sizeof(eMappers) == 4, eMappers); +} // namespace SHDE +} // namespace OpenSHC diff --git a/src/OpenSHC/SHDE/eMappersInt.hpp b/src/OpenSHC/SHDE/eMappersInt.hpp new file mode 100644 index 0000000..b77f589 --- /dev/null +++ b/src/OpenSHC/SHDE/eMappersInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/SHDE/eMappersInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/SHDE/eMappers.hpp" + +namespace OpenSHC { +namespace SHDE { + typedef int eMappersInt; + + static_assert_cpp98_obj(sizeof(eMappersInt) == 4, eMappersInt); +} // namespace SHDE +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony.func.hpp b/src/OpenSHC/Synchrony.func.hpp new file mode 100644 index 0000000..88fd844 --- /dev/null +++ b/src/OpenSHC/Synchrony.func.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony.hpp" +namespace OpenSHC { +namespace Synchrony_Func { + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AE7C0, &OpenSHC::Synchrony::FUN_004ae7c0) + FUN_004ae7c0; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AEA10, &OpenSHC::Synchrony::FUN_004aea10) + FUN_004aea10; + +} // namespace Synchrony_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony.hpp b/src/OpenSHC/Synchrony.hpp new file mode 100644 index 0000000..8658bbf --- /dev/null +++ b/src/OpenSHC/Synchrony.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Synchrony { + + void __stdcall FUN_004ae7c0(); + + void __stdcall FUN_004aea10(); + +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp b/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp new file mode 100644 index 0000000..4a90464 --- /dev/null +++ b/src/OpenSHC/Synchrony/GameSynchronyState.func.hpp @@ -0,0 +1,296 @@ +/** + path: 'OpenSHC/Synchrony/GameSynchronyState.func.hpp' +*/ + +#include "OpenSHC/Commands/GameCommandParameterLocationInt.hpp" +#include "OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp" +#include "OpenSHC/Commands/GameCommandTypeInt.hpp" +#include "OpenSHC/DirectPlay/DPERRInt.hpp" +#include "OpenSHC/Synchrony/GameSynchronyState.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "basetsd.h" +#include "crtdefs.h" +#include "guiddef.h" +namespace OpenSHC { +namespace Synchrony { + namespace GameSynchronyState_Func { + + using OpenSHC::Commands::GameCommandParameterLocationInt; + using OpenSHC::Commands::GameCommandParameterReadWriteInt; + using OpenSHC::Commands::GameCommandTypeInt; + using OpenSHC::DirectPlay::DPERRInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x004010B0, + &GameSynchronyState::isAIPlayer) + isAIPlayer; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(char*), false, Address::SHC_3BB0A8C1_0x00479C20, + &GameSynchronyState::meth_0x479c20) + meth_0x479c20; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(GUID*), false, Address::SHC_3BB0A8C1_0x0047D4A0, + &GameSynchronyState::getGUIDForSelectedProvider) + getGUIDForSelectedProvider; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047D500, + &GameSynchronyState::setMenuTypeBasedOnDirectPlayGUID) + setMenuTypeBasedOnDirectPlayGUID; + + MACRO_FUNCTION_RESOLVER(DPERRInt (GameSynchronyState::*)(LPVOID*, SIZE_T*), false, + Address::SHC_3BB0A8C1_0x0047D6A0, &GameSynchronyState::createCompoundAddressBasedOnSelectedProvider) + createCompoundAddressBasedOnSelectedProvider; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047DA70, + &GameSynchronyState::setDPlaySessionNameValue) + setDPlaySessionNameValue; + + MACRO_FUNCTION_RESOLVER(DPERRInt (GameSynchronyState::*)(BOOLEnum), false, Address::SHC_3BB0A8C1_0x0047DB10, + &GameSynchronyState::initializeDirectPlayAndCreateOrJoinSession) + initializeDirectPlayAndCreateOrJoinSession; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047DE00, + &GameSynchronyState::setSessionDescription) + setSessionDescription; + + MACRO_FUNCTION_RESOLVER( + void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047DEA0, &GameSynchronyState::meth_0x47dea0) + meth_0x47dea0; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(GUID*), false, Address::SHC_3BB0A8C1_0x0047E010, + &GameSynchronyState::fetchSessionGUID) + fetchSessionGUID; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(GUID*), false, Address::SHC_3BB0A8C1_0x0047E050, + &GameSynchronyState::resolveEqualEntries) + resolveEqualEntries; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E0E0, + &GameSynchronyState::clearSessionsList) + clearSessionsList; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E240, + &GameSynchronyState::disconnectDPlay) + disconnectDPlay; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E490, + &GameSynchronyState::readGameSpyConfig) + readGameSpyConfig; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x0047E5B0, + &GameSynchronyState::meth_0x47e5b0) + meth_0x47e5b0; + + 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_0x0047E890, + &GameSynchronyState::aiPlayerCountUnk) + aiPlayerCountUnk; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047E8F0, + &GameSynchronyState::checkPlayerSetValid) + checkPlayerSetValid; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x0047EA40, + &GameSynchronyState::countPlayersInSameTeam) + countPlayersInSameTeam; + + MACRO_FUNCTION_RESOLVER(uint (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x0047EAF0, + &GameSynchronyState::translateMultiplayerIDsIntoPlayerIDs) + translateMultiplayerIDsIntoPlayerIDs; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x0047EB80, + &GameSynchronyState::addPlayerToCurrentPlayerArray) + addPlayerToCurrentPlayerArray; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047EC10, + &GameSynchronyState::handleUnexpectedDPlayXResult) + handleUnexpectedDPlayXResult; + + MACRO_FUNCTION_RESOLVER(undefined4 (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047EDE0, + &GameSynchronyState::meth_0x47ede0) + meth_0x47ede0; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0047EED0, &GameSynchronyState::renderDebugDataSplitInfo) + renderDebugDataSplitInfo; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int), false, Address::SHC_3BB0A8C1_0x0047F6A0, + &GameSynchronyState::addChatMessageToDisplayList) + addChatMessageToDisplayList; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0047F7E0, + &GameSynchronyState::clearChatEvents) + clearChatEvents; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0047F860, + &GameSynchronyState::renderInGameChatUnk) + renderInGameChatUnk; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0047FB50, + &GameSynchronyState::FUN_0047fb50) + FUN_0047fb50; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00480050, + &GameSynchronyState::resetGameCommands) + resetGameCommands; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x004800B0, + &GameSynchronyState::clearGameCommandEntry) + clearGameCommandEntry; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(GameCommandTypeInt), false, + Address::SHC_3BB0A8C1_0x004800E0, &GameSynchronyState::sendLongerDataSuchAsResync) + sendLongerDataSuchAsResync; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(GameCommandTypeInt, DWORD, dword, void*), false, + Address::SHC_3BB0A8C1_0x00480210, &GameSynchronyState::scheduleReceivedCommand) + scheduleReceivedCommand; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00480440, + &GameSynchronyState::getCommandIDFromCommandSelectionStuff) + getCommandIDFromCommandSelectionStuff; + + MACRO_FUNCTION_RESOLVER(undefined4 (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00480570, + &GameSynchronyState::getGameCommandArrayIndex) + getGameCommandArrayIndex; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00480580, + &GameSynchronyState::getPendingGameCommandsCount) + getPendingGameCommandsCount; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)( + void*, size_t, GameCommandParameterLocationInt, GameCommandParameterReadWriteInt), + false, Address::SHC_3BB0A8C1_0x004805D0, &GameSynchronyState::serializeOrDeserializeCommandParameter) + serializeOrDeserializeCommandParameter; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00486600, + &GameSynchronyState::checkSkirmishGameDefeat) + checkSkirmishGameDefeat; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x00486A70, + &GameSynchronyState::getLordTypeForPlayer) + getLordTypeForPlayer; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x00486F20, + &GameSynchronyState::meth_0x486f20) + meth_0x486f20; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00487250, + &GameSynchronyState::invokeDirectPlayEnumConnections) + invokeDirectPlayEnumConnections; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(BOOLEnum), false, Address::SHC_3BB0A8C1_0x00487390, + &GameSynchronyState::restartDPlaySessionEnumeration) + restartDPlaySessionEnumeration; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x004874B0, + &GameSynchronyState::createDirectPlayInterfaceModemUnk) + createDirectPlayInterfaceModemUnk; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00487650, + &GameSynchronyState::setupSkirmishLobby) + setupSkirmishLobby; + + MACRO_FUNCTION_RESOLVER(int (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x00487A30, + &GameSynchronyState::determineGameTicksToPerform) + determineGameTicksToPerform; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(byte, undefined4, char*, size_t, undefined4), false, + Address::SHC_3BB0A8C1_0x00487C50, &GameSynchronyState::transmitCommand) + transmitCommand; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00487E30, + &GameSynchronyState::sendSomeMultiplayerSyncMessageWithType) + sendSomeMultiplayerSyncMessageWithType; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00488010, + &GameSynchronyState::processSyncPacketUnk) + processSyncPacketUnk; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x004880E0, + &GameSynchronyState::sendSyncPacket126) + sendSyncPacket126; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x004882A0, + &GameSynchronyState::computeAndSetLatencyInformation) + computeAndSetLatencyInformation; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00488540, &GameSynchronyState::renderDebugDataNetwork) + renderDebugDataNetwork; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(GameCommandTypeInt), false, + Address::SHC_3BB0A8C1_0x00489100, &GameSynchronyState::queueCommand) + queueCommand; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x004892F0, + &GameSynchronyState::processWaitingCommands) + processWaitingCommands; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048BD40, + &GameSynchronyState::compareGameVersions) + compareGameVersions; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048BF80, + &GameSynchronyState::createMultiplayerLobbyUnk) + createMultiplayerLobbyUnk; + + 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; + + MACRO_FUNCTION_RESOLVER(undefined4 (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048C7B0, + &GameSynchronyState::reorderTeamsAndPositions) + reorderTeamsAndPositions; + + MACRO_FUNCTION_RESOLVER( + void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x0048CB00, &GameSynchronyState::checkGameSync) + checkGameSync; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x0048CC90, + &GameSynchronyState::recomputeHashesAndSendResync) + recomputeHashesAndSendResync; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00490340, + &GameSynchronyState::someMultiplayerMessageSending) + someMultiplayerMessageSending; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int), false, Address::SHC_3BB0A8C1_0x00490380, + &GameSynchronyState::removePlayerFromLobby) + removePlayerFromLobby; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00490480, + &GameSynchronyState::checkMultiplayerLaggingPlayers) + checkMultiplayerLaggingPlayers; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00490690, + &GameSynchronyState::receiveAllTransmittedCommands) + receiveAllTransmittedCommands; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(), false, Address::SHC_3BB0A8C1_0x00490920, + &GameSynchronyState::waitForMultiplayerHost) + waitForMultiplayerHost; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(char*), false, Address::SHC_3BB0A8C1_0x00491040, + &GameSynchronyState::handleCommandLineArguments) + handleCommandLineArguments; + + MACRO_FUNCTION_RESOLVER(void (GameSynchronyState::*)(int, int, DWORD), false, Address::SHC_3BB0A8C1_0x004AF800, + &GameSynchronyState::RenderInGameChatDisplayElementUnk) + RenderInGameChatDisplayElementUnk; + + } // namespace GameSynchronyState_Func +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/GameSynchronyState.hpp b/src/OpenSHC/Synchrony/GameSynchronyState.hpp new file mode 100644 index 0000000..c60fc8b --- /dev/null +++ b/src/OpenSHC/Synchrony/GameSynchronyState.hpp @@ -0,0 +1,522 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/GameSynchronyState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/GameCommand.hpp" +#include "OpenSHC/Commands/GameCommandParameterLocationInt.hpp" +#include "OpenSHC/Commands/GameCommandParameterReadWriteInt.hpp" +#include "OpenSHC/Commands/GameCommandSchedulingInt.hpp" +#include "OpenSHC/Commands/GameCommandTypeInt.hpp" +#include "OpenSHC/DirectPlay/DPERRInt.hpp" +#include "OpenSHC/DirectPlay/DPNAME.hpp" +#include "OpenSHC/DirectPlay/IDirectPlay4A.hpp" +#include "OpenSHC/DirectPlay/lobby/IDirectPlayLobby3.hpp" +#include "OpenSHC/Game/GameModeInt.hpp" +#include "OpenSHC/Game/Skirmish/SkirmishStatistics.hpp" +#include "OpenSHC/Synchrony/HashContainer.hpp" +#include "OpenSHC/Synchrony/HashDataContainer.hpp" +#include "OpenSHC/Synchrony/Networking/ChatEvent.hpp" +#include "OpenSHC/Synchrony/Networking/ConnectionLagInfo.hpp" +#include "OpenSHC/Synchrony/Networking/PacketUnion.hpp" +#include "OpenSHC/UI/Enums/MenuModalTypeInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "basetsd.h" +#include "crtdefs.h" +#include "guiddef.h" +#include "inaddr.h" +#include "mbstring.h" +#include "winnt.h" + +namespace OpenSHC { +namespace Synchrony { + + using OpenSHC::Commands::GameCommand; + using OpenSHC::Commands::GameCommandParameterLocationInt; + using OpenSHC::Commands::GameCommandParameterReadWriteInt; + using OpenSHC::Commands::GameCommandSchedulingInt; + using OpenSHC::Commands::GameCommandTypeInt; + using OpenSHC::DirectPlay::DPERRInt; + using OpenSHC::DirectPlay::DPNAME; + using OpenSHC::DirectPlay::IDirectPlay4A; + using OpenSHC::DirectPlay::lobby::IDirectPlayLobby3; + using OpenSHC::Game::GameModeInt; + using OpenSHC::Game::Skirmish::SkirmishStatistics; + using OpenSHC::Synchrony::HashContainer; + using OpenSHC::Synchrony::HashDataContainer; + using OpenSHC::Synchrony::Networking::ChatEvent; + using OpenSHC::Synchrony::Networking::ConnectionLagInfo; + using OpenSHC::Synchrony::Networking::PacketUnion; + using OpenSHC::UI::Enums::MenuModalTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0010A218 + class GameSynchronyState { + public: + undefined4 scrollBarItemCount; // 0x00000000 length: 4 + undefined4 scrollBarItemOffset; // 0x00000004 length: 4 + undefined4 selectedProviderIndex; // 0x00000008 length: 4 + GUID* guids[10]; // 0x0000000C length: 40 + LPCWSTR providerNames[10]; // 0x00000034 length: 40 + undefined4 modemScrollbarCount; // 0x0000005C length: 4 + undefined4 modemScrollBarOffset; // 0x00000060 length: 4 + undefined4 modemScrollbarIndex; // 0x00000064 length: 4 + char* stringPointerArray[29]; // 0x00000068 length: 116 + undefined1 padding_0xdc[4]; // 0x000000DC length: 4 + undefined4 DPLAY_SessionsCount; // 0x000000E0 length: 4 + int scrollBarIndex; // 0x000000E4 length: 4 + GUID* DPLAY_SessionGUIDs[50]; // 0x000000E8 length: 200 + WCHAR* DPLAY_SessionNames[50]; // 0x000001B0 length: 200 + bool unkEnumerationRelatedBool; // 0x00000278 length: 1 + undefined1 padding_0x279[3]; // 0x00000279 length: 3 + IDirectPlay4A** DPLAYX_4A; // 0x0000027C length: 4 + IDirectPlayLobby3** DPLAYX_LOBBY; // 0x00000280 length: 4 + MenuModalTypeInt nextModalDialog; // 0x00000284 length: 4 + int multiplayerJoinStep; // 0x00000288 length: 4 + BOOLEnum useTCPIP; // 0x0000028C length: 4 + char connectTarget[30]; // 0x00000290 length: 30 + undefined1 padding_0x2ae[2]; // 0x000002AE length: 2 + undefined4 connectPort; // 0x000002B0 length: 4 + undefined4 willHost; // 0x000002B4 length: 4 + char shellExecuteTarget[600]; // 0x000002B8 length: 600 + int field32_0x510; // 0x00000510 length: 4 + BOOLEnum openOnClose; // 0x00000514 length: 4 + byte connectName[256]; // 0x00000518 length: 256 + GameModeInt DAT_CurrentGameMode; // 0x00000618 length: 4 + GameModeInt currentGameModeCopy_SEC_Section1106; // 0x0000061C length: 4 + byte unused02[104]; // 0x00000620 length: 104 + DPNAME DPLAY_PlayerNameStructure; // 0x00000688 length: 16 + undefined4 DPLAYX_Connection; // 0x00000698 length: 4 + undefined4 DPLAYX_ReceivedPlayerID; // 0x0000069C length: 4 + dword DPLAY_ToID; // 0x000006A0 length: 4 + undefined4 DPLAYX_PlayerHandle; // 0x000006A4 length: 4 + int currentPlayerFullIDArray[9]; // 0x000006A8 length: 36 + int DAT_CurrentPlayerFullIDArray2[9]; // 0x000006CC length: 36 + int somePlayerRelatedArray[9]; // 0x000006F0 length: 36 + int currentAIArray[9]; // 0x00000714 length: 36 + int SEC_AIVariationArray[9]; // 0x00000738 length: 36 + byte field48_0x75c[9]; // 0x0000075C length: 9 + byte field49_0x765[3][9]; // 0x00000765 length: 27 + BOOLEnum displayYourIP; // 0x00000780 length: 4 + BOOLEnum lanOrWan; // 0x00000784 length: 4 + IN_ADDR lanIP; // 0x00000788 length: 4 + IN_ADDR wanIP; // 0x0000078C length: 4 + BOOLEnum isHost; // 0x00000790 length: 4 + undefined4 DAT_HostPlayerSlotID; // 0x00000794 length: 4 + undefined4 DAT_HostAnnounced; // 0x00000798 length: 4 + byte field57_0x79c[254]; // 0x0000079C length: 254 + WCHAR DPLAYX_SessionName[250]; // 0x0000089A length: 500 + WCHAR DPLAY_PlayerShortName[125]; // 0x00000A8E length: 250 + int packetsReceived; // 0x00000B88 length: 4 + undefined4 transmissionCounterUnk; // 0x00000B8C length: 4 + undefined4 field62_0xb90; // 0x00000B90 length: 4 + undefined4 DAT_GameHalted; // 0x00000B94 length: 4 + undefined4 syncStatus; // 0x00000B98 length: 4 + undefined4 field65_0xb9c; // 0x00000B9C length: 4 + undefined4 field66_0xba0; // 0x00000BA0 length: 4 + undefined4 field67_0xba4; // 0x00000BA4 length: 4 + undefined4 field68_0xba8; // 0x00000BA8 length: 4 + undefined4 somePacketSubTypeUnk; // 0x00000BAC length: 4 + undefined4 field70_0xbb0; // 0x00000BB0 length: 4 + undefined4 field71_0xbb4; // 0x00000BB4 length: 4 + int syncRelatedStatusArray[9]; // 0x00000BB8 length: 36 + undefined4 field73_0xbdc; // 0x00000BDC length: 4 + undefined4 currentPacketTotalSize; // 0x00000BE0 length: 4 + undefined4 field75_0xbe4; // 0x00000BE4 length: 4 + undefined4 field76_0xbe8; // 0x00000BE8 length: 4 + undefined4 flag_0xbec; // 0x00000BEC length: 4 + undefined4 field78_0xbf0; // 0x00000BF0 length: 4 + undefined4 splinterType; // 0x00000BF4 length: 4 + undefined4 totalSplitDataItems; // 0x00000BF8 length: 4 + undefined4 totalSplitChimps; // 0x00000BFC length: 4 + undefined4 totalSplitStructures; // 0x00000C00 length: 4 + undefined4 totalSplitVeg; // 0x00000C04 length: 4 + undefined4 totalSplitTribes; // 0x00000C08 length: 4 + undefined4 totalSplitPlayers; // 0x00000C0C length: 4 + undefined4 totalSplitElements; // 0x00000C10 length: 4 + undefined4 totalSplitLayers; // 0x00000C14 length: 4 + undefined4 totalSplitFlies; // 0x00000C18 length: 4 + undefined4 totalSplitMoats; // 0x00000C1C length: 4 + undefined4 totalSplitTeleports; // 0x00000C20 length: 4 + undefined4 totalSplitPitchDitches; // 0x00000C24 length: 4 + undefined4 totalSplitZones; // 0x00000C28 length: 4 + undefined1 padding_0xc2c[8]; // 0x00000C2C length: 8 + undefined4 firstSplitChimps; // 0x00000C34 length: 4 + undefined4 firstSplitStructures; // 0x00000C38 length: 4 + undefined4 firstSplitVeg; // 0x00000C3C length: 4 + undefined4 firstSplitTribe; // 0x00000C40 length: 4 + undefined4 firstSplitPlayer; // 0x00000C44 length: 4 + undefined4 firstSplitElement; // 0x00000C48 length: 4 + undefined4 firstSplitLayer; // 0x00000C4C length: 4 + undefined4 firstSplitFly; // 0x00000C50 length: 4 + undefined4 firstSplitMoat; // 0x00000C54 length: 4 + undefined4 firstSplitTeleports; // 0x00000C58 length: 4 + undefined4 firstSplitPitchDitch; // 0x00000C5C length: 4 + undefined4 firstSplitZone; // 0x00000C60 length: 4 + undefined1 padding_0xc64[8]; // 0x00000C64 length: 8 + undefined4 quitGameVoteRelated; // 0x00000C6C length: 4 + int field122_0xc70[9]; // 0x00000C70 length: 36 + int quitGameVoteRequestTime; // 0x00000C94 length: 4 + int announcementReceivedByArray[9]; // 0x00000C98 length: 36 + undefined4 saveRelated; // 0x00000CBC length: 4 + undefined4 shouldSendAnnouncementUnk; // 0x00000CC0 length: 4 + BOOLEnum announcementReceivedBool; // 0x00000CC4 length: 4 + undefined4 announcementReceiveTime; // 0x00000CC8 length: 4 + undefined4 laggingPlayerIDUnk; // 0x00000CCC length: 4 + undefined4 DAT_SomeTime; // 0x00000CD0 length: 4 + undefined4 field131_0xcd4; // 0x00000CD4 length: 4 + PacketUnion DPLAY_ReceiveData; // 0x00000CD8 length: 61000 + byte DAT_PacketDecodingDestination[61100]; // 0x0000FB20 length: 61100 + PacketUnion DAT_Packet; // 0x0001E9CC length: 61000 + undefined1 syncPacket2Type; // 0x0002D814 length: 1 + undefined3 mapTimeInTicksLower3Bytes; // 0x0002D815 length: 3 + undefined1 syncParamTimeDiff; // 0x0002D818 length: 1 + undefined1 padding_0x2d819[3]; // 0x0002D819 length: 3 + undefined4 DPLAY_ReceiveDataSize; // 0x0002D81C length: 4 + undefined4 DAT_CurrentTransmitCommandPacketSize; // 0x0002D820 length: 4 + undefined4 DAT_CurrentGameCommandID; // 0x0002D824 length: 4 + GameCommandSchedulingInt DAT_CommandActionPlan; // 0x0002D828 length: 4 + undefined4 DAT_PlayerIDReceiver; // 0x0002D82C length: 4 + undefined4 DAT_CommandSize; // 0x0002D830 length: 4 + byte DAT_GameCommandFixedParameterLocation[61000]; // 0x0002D834 length: 61000 + GameCommand DAT_GameCommandArray[200]; // 0x0003C67C length: 254400 + short DAT_LagIndicatorPerPlayer[9]; // 0x0007A83C length: 18 + undefined1 padding_0x7a84e[2]; // 0x0007A84E length: 2 + undefined4 DAT_GameCommandParam0; // 0x0007A850 length: 4 + undefined4 DAT_GameCommandParam1; // 0x0007A854 length: 4 + undefined4 DAT_GameCommandParam2; // 0x0007A858 length: 4 + undefined4 DAT_GameCommandParam3; // 0x0007A85C length: 4 + undefined4 DAT_GameCommandParam4; // 0x0007A860 length: 4 + undefined4 DAT_GameCommandParam5; // 0x0007A864 length: 4 + int receivedMatchTimesTrackerUnk; // 0x0007A868 length: 4 + int clTimeDiff; // 0x0007A86C length: 4 + int syncRelatedCountdown; // 0x0007A870 length: 4 + int matchTime; // 0x0007A874 length: 4 + int matchTimesArray[8]; // 0x0007A878 length: 32 + int HASH_HashTotal[9]; // 0x0007A898 length: 36 + int DAT_PlayerMatchTimes[9]; // 0x0007A8BC length: 36 + HashContainer HASH_PartialHashPerPlayer; // 0x0007A8E0 length: 432 + int DAT_MultiplayerGameVersions[9]; // 0x0007AA90 length: 36 + BOOLEnum isIncludedPlayer[9]; // 0x0007AAB4 length: 36 + BOOLEnum flag_0x7aad8; // 0x0007AAD8 length: 4 + byte sharedDesyncFlags[14]; // 0x0007AADC length: 14 + undefined1 padding_0x7aaea[2]; // 0x0007AAEA length: 2 + ConnectionLagInfo connectionLagInfoArray[9]; // 0x0007AAEC length: 324 + undefined1 syncPacketType; // 0x0007AC30 length: 1 + undefined1 syncRelatedCounter; // 0x0007AC31 length: 1 + undefined1 syncRelated2; // 0x0007AC32 length: 1 + undefined1 padding_0x7ac33[1]; // 0x0007AC33 length: 1 + int historicalLagInfoPerPlayer[9][100][2]; // 0x0007AC34 length: 7200 + undefined4 counter; // 0x0007C854 length: 4 + undefined4 limit; // 0x0007C858 length: 4 + int HASH_Units[9][2500]; // 0x0007C85C length: 90000 + int HASH_Buildings[9][2000]; // 0x000927EC length: 72000 + int HASH_Trees[9][2000]; // 0x000A412C length: 72000 + int HASH_Tribes[9][1250]; // 0x000B5A6C length: 45000 + int HASH_PlayerDatas[9][9]; // 0x000C0A34 length: 324 + int HASH_Section1023[9][20]; // 0x000C0B78 length: 720 + int HASH_Entities[9][3000]; // 0x000C0E48 length: 108000 + HashDataContainer HASH_LogicalTileMap[9]; // 0x000DB428 length: 138240 + int HASH_Moats[9][160]; // 0x000FD028 length: 5760 + int HASH_LaddermanWalledData[9][200]; // 0x000FE6A8 length: 7200 + int HASH_PitchDitches[9][40]; // 0x001002C8 length: 1440 + int HASH_Unknown2[9][40]; // 0x00100868 length: 1440 + int HASH_AIVS[9][9]; // 0x00100E08 length: 324 + int HASH_HeatMaps[9][80]; // 0x00100F4C length: 2880 + int receivedSyncStatusUnk[9]; // 0x00101A8C length: 36 + int syncStatus10Related[9]; // 0x00101AB0 length: 36 + undefined4 field196_0x101ad4; // 0x00101AD4 length: 4 + char receivedChatMessage[250]; // 0x00101AD8 length: 250 + char DAT_ChatMessageArray[20][250]; // 0x00101BD2 length: 5000 + char DAT_ChatMessageSubjectPlayerNameArray[20][250]; // 0x00102F5A length: 5000 + char DAT_ChatMessageObjectPlayerNameArray[20][250]; // 0x001042E2 length: 5000 + undefined1 padding_0x10566a[2]; // 0x0010566A length: 2 + undefined4 DAT_ChatMessageArrayIndex; // 0x0010566C length: 4 + undefined4 field204_0x105670; // 0x00105670 length: 4 + undefined4 DAT_InsultTextIndex; // 0x00105674 length: 4 + ChatEvent DAT_ChatEventArray[20]; // 0x00105678 length: 320 + char shortMapName[120]; // 0x001057B8 length: 120 + int skirmishRelated1; // 0x00105830 length: 4 + char mapName[1000]; // 0x00105834 length: 1000 + char DAT_PlayerNames[9][250]; // 0x00105C1C length: 2250 + char playerNames2[9][250]; // 0x001064E6 length: 2250 + int DAT_PlayerSlotArraySomeValue[9]; // 0x00106DB0 length: 36 + int unknownPlayerInfo_01[9]; // 0x00106DD4 length: 36 + int unknownPlayerInfo_03[9]; // 0x00106DF8 length: 36 + int field215_0x106e1c; // 0x00106E1C length: 4 + int field216_0x106e20; // 0x00106E20 length: 4 + int field217_0x106e24; // 0x00106E24 length: 4 + int field218_0x106e28; // 0x00106E28 length: 4 + int field219_0x106e2c; // 0x00106E2C length: 4 + int startGold; // 0x00106E30 length: 4 + int defaultPopularity; // 0x00106E34 length: 4 + int DAT_MultiplayerGameSpeedLevel; // 0x00106E38 length: 4 + int SEC_GameIntensityType; // 0x00106E3C length: 4 + int field224_0x106e40[20]; // 0x00106E40 length: 80 + undefined4 field225_0x106e90; // 0x00106E90 length: 4 + int unknownSkirmishBalanceRelatedArray[10]; // 0x00106E94 length: 40 + byte unused03[40]; // 0x00106EBC length: 40 + int field228_0x106ee4; // 0x00106EE4 length: 4 + undefined4 DAT_SkirmishBalanceRelated; // 0x00106EE8 length: 4 + undefined1 padding_0x106eec[4]; // 0x00106EEC length: 4 + undefined4 DAT_SkirmishSettingRelated; // 0x00106EF0 length: 4 + undefined4 SEC_Section1084; // 0x00106EF4 length: 4 + char unknownMapName_01[1004]; // 0x00106EF8 length: 1004 + undefined4 SEC_CurrentAdvantageBalance; // 0x001072E4 length: 4 + int field238_0x1072e8; // 0x001072E8 length: 4 + int field239_0x1072ec; // 0x001072EC length: 4 + undefined4 field240_0x1072f0; // 0x001072F0 length: 4 + BOOLEnum reparseMaps; // 0x001072F4 length: 4 + int field242_0x1072f8; // 0x001072F8 length: 4 + undefined4 DAT_MapSelectionScrollOffset; // 0x001072FC length: 4 + undefined4 DAT_MapSelectionTotalNumber; // 0x00107300 length: 4 + int DAT_MapSelectionRelativeSelected; // 0x00107304 length: 4 + byte unused04[8]; // 0x00107308 length: 8 + int unknownMapRelatedReceivedDataArray[500]; // 0x00107310 length: 2000 + int mapPlayerCountArray[500]; // 0x00107AE0 length: 2000 + int mapBalanceArray[500]; // 0x001082B0 length: 2000 + int mapU4Int0_2Array[500]; // 0x00108A80 length: 2000 + undefined4 field251_0x109250; // 0x00109250 length: 4 + undefined4 savedMapTimeInTicks; // 0x00109254 length: 4 + undefined4 savedUnitsCRC32Hash; // 0x00109258 length: 4 + undefined1 padding_0x10925c[4]; // 0x0010925C length: 4 + undefined4 unknownIncrementBy40_01; // 0x00109260 length: 4 + int DAT_ChatMessageReceiverArray[9]; // 0x00109264 length: 36 + undefined4 DAT_ChatTauntOrMessage; // 0x00109288 length: 4 + undefined4 SEC_Section1093; // 0x0010928C length: 4 + dword field262_0x109290; // 0x00109290 length: 4 + int kickedAtTime; // 0x00109294 length: 4 + undefined4 field264_0x109298; // 0x00109298 length: 4 + undefined4 kickDueToLagStatusUnk; // 0x0010929C length: 4 + int DAT_AutoSaveEveryMinutes; // 0x001092A0 length: 4 + undefined4 DAT_TimeRelated1; // 0x001092A4 length: 4 + int DAT_MapU4Int2_2; // 0x001092A8 length: 4 + undefined4 DAT_HashCountdown; // 0x001092AC length: 4 + undefined4 field270_0x1092b0; // 0x001092B0 length: 4 + undefined4 DAT_StrongWalls; // 0x001092B4 length: 4 + undefined4 field272_0x1092b8; // 0x001092B8 length: 4 + undefined4 DAT_NoCowThrowing; // 0x001092BC length: 4 + undefined4 DAT_NoDogs; // 0x001092C0 length: 4 + undefined4 DAT_NoRushSetting; // 0x001092C4 length: 4 + undefined4 field276_0x1092c8; // 0x001092C8 length: 4 + undefined4 field277_0x1092cc; // 0x001092CC length: 4 + int unknownPlayerInfoArray_01[9]; // 0x001092D0 length: 36 + int DAT_ReceivedAIVFileAvailabilityPerAIArray[9][20]; // 0x001092F4 length: 720 + SkirmishStatistics SEC_FinalResults; // 0x001095C4 length: 1912 + char ipRelatedArray[20]; // 0x00109D3C length: 20 + char ipRelatedArray2[20]; // 0x00109D50 length: 20 + char ipRelatedArray3[20]; // 0x00109D64 length: 20 + char ipRelatedArray4[20]; // 0x00109D78 length: 20 + int ipArrayIndex; // 0x00109D8C length: 4 + undefined4 DAT_TwoIfNotHost; // 0x00109D90 length: 4 + undefined4 DAT_MapFileReceivingState; // 0x00109D94 length: 4 + short field288_0x109d98[9]; // 0x00109D98 length: 18 + undefined1 padding_0x109daa[2]; // 0x00109DAA length: 2 + int mapSendingFileSize; // 0x00109DAC length: 4 + int mapSendingByteBufferAddress[9]; // 0x00109DB0 length: 36 + FILE* mapSendingFileHandles[9]; // 0x00109DD4 length: 36 + FILE* FILEPTR_ReceivedMapFile; // 0x00109DF8 length: 4 + int field295_0x109dfc[9]; // 0x00109DFC length: 36 + int field296_0x109e20[9]; // 0x00109E20 length: 36 + byte DAT_RoundTableOrderArray[9]; // 0x00109E44 length: 9 + byte DAT_PlayerGroupArray[9]; // 0x00109E4D length: 9 + byte playerGroupArray2Unk[9]; // 0x00109E56 length: 9 + byte field300_0x109e5f[9]; // 0x00109E5F length: 9 + byte DAT_PlayerPositionsArray[8]; // 0x00109E68 length: 8 + undefined4 protocolInvokerPlayerID; // 0x00109E70 length: 4 + undefined4 currentPlayerSlotID; // 0x00109E74 length: 4 + undefined4 DAT_SomePlayerID; // 0x00109E78 length: 4 + undefined4 field305_0x109e7c; // 0x00109E7C length: 4 + byte field306_0x109e80[9]; // 0x00109E80 length: 9 + undefined1 padding_0x109e89[3]; // 0x00109E89 length: 3 + int field310_0x109e8c; // 0x00109E8C length: 4 + undefined1 padding_0x109e90[4]; // 0x00109E90 length: 4 + undefined4 field315_0x109e94; // 0x00109E94 length: 4 + undefined4 field316_0x109e98; // 0x00109E98 length: 4 + undefined4 mapTimeInTicksSinglePlayer; // 0x00109E9C length: 4 + undefined4 field318_0x109ea0; // 0x00109EA0 length: 4 + undefined4 field319_0x109ea4; // 0x00109EA4 length: 4 + undefined4 field320_0x109ea8; // 0x00109EA8 length: 4 + undefined4 field321_0x109eac; // 0x00109EAC length: 4 + undefined4 field322_0x109eb0; // 0x00109EB0 length: 4 + undefined4 field323_0x109eb4; // 0x00109EB4 length: 4 + undefined4 field324_0x109eb8; // 0x00109EB8 length: 4 + int field325_0x109ebc; // 0x00109EBC length: 4 + int field326_0x109ec0; // 0x00109EC0 length: 4 + undefined4 receivedCommandMapTimeInTicks; // 0x00109EC4 length: 4 + undefined1 padding_0x109ec8[4]; // 0x00109EC8 length: 4 + int field332_0x109ecc; // 0x00109ECC length: 4 + undefined4 otherTime1; // 0x00109ED0 length: 4 + undefined4 now2; // 0x00109ED4 length: 4 + dword field335_0x109ed8; // 0x00109ED8 length: 4 + undefined4 MBR_GameCommandID; // 0x00109EDC length: 4 + undefined4 DAT_GameCommandArrayIndex; // 0x00109EE0 length: 4 + undefined4 DAT_CommandParameterOffset; // 0x00109EE4 length: 4 + undefined4 commandDelay; // 0x00109EE8 length: 4 + int MBR_SelectedGameCommands[100][2]; // 0x00109EEC length: 800 + undefined4 MBR_someIndex; // 0x0010A20C length: 4 + DPERRInt DPLAYX_SendAndReceiveREsult; // 0x0010A210 length: 4 + undefined4 DAT_TickCount; // 0x0010A214 length: 4 + + private: + GameSynchronyState(GameSynchronyState const&); + void operator=(GameSynchronyState const&); + + GameSynchronyState(); + ~GameSynchronyState(); + + public: + // Constructor + GameSynchronyState* Constructor_GameSynchronyState(); + + BOOLEnum isAIPlayer(int playerID); + + int meth_0x479c20(char* fileName); + + void getGUIDForSelectedProvider(GUID* param_1); + + void setMenuTypeBasedOnDirectPlayGUID(); + + DPERRInt createCompoundAddressBasedOnSelectedProvider(LPVOID* pCompoundAddress, SIZE_T* param_2); + + void setDPlaySessionNameValue(); + + DPERRInt initializeDirectPlayAndCreateOrJoinSession(BOOLEnum join); + + void setSessionDescription(); + + void meth_0x47dea0(); + + void fetchSessionGUID(GUID* pGUID); + + void resolveEqualEntries(GUID* pGUID); + + void clearSessionsList(); + + void disconnectDPlay(); + + void readGameSpyConfig(); + + void meth_0x47e5b0(int param_1); + + void decompressTooLongPacketData(void* source, void* destination); + + int FUN_0047e830(); + + int aiPlayerCountUnk(); + + int checkPlayerSetValid(); + + int countPlayersInSameTeam(int playerID); + + uint translateMultiplayerIDsIntoPlayerIDs(int multiplayerID); + + int addPlayerToCurrentPlayerArray(int playerFullID); + + void handleUnexpectedDPlayXResult(); + + undefined4 meth_0x47ede0(); + + void renderDebugDataSplitInfo(int x, int y, int width, int height); + + void addChatMessageToDisplayList(int subjectPlayerID, int objectPlayerID); + + void clearChatEvents(); + + void renderInGameChatUnk(int param_1, int param_2, int param_3); + + void FUN_0047fb50(int xPos, int yPos, int param_3); + + void resetGameCommands(); + + void clearGameCommandEntry(int gameCommandID); + + int sendLongerDataSuchAsResync(GameCommandTypeInt commandCategory); + + void scheduleReceivedCommand( + GameCommandTypeInt commandCategory, DWORD dxPlayerHandle, dword time, void* address); + + int getCommandIDFromCommandSelectionStuff(); + + undefined4 getGameCommandArrayIndex(); + + int getPendingGameCommandsCount(); + + void serializeOrDeserializeCommandParameter(void* destination, size_t size, + GameCommandParameterLocationInt srcSwitch, GameCommandParameterReadWriteInt destSwitch); + + void checkSkirmishGameDefeat(); + + int getLordTypeForPlayer(int playerID); + + void meth_0x486f20(int param_1); + + void invokeDirectPlayEnumConnections(); + + void restartDPlaySessionEnumeration(BOOLEnum respectTimeout); + + void createDirectPlayInterfaceModemUnk(); + + void setupSkirmishLobby(); + + int determineGameTicksToPerform(int currentPlayerSlotID); + + void transmitCommand(byte commandCategory, undefined4 time, char* addressOfFullCommandObjectOrCommandParameters, + size_t size, undefined4 idTo); + + void sendSomeMultiplayerSyncMessageWithType(undefined4 syncPacketType2); + + void processSyncPacketUnk(); + + void sendSyncPacket126(); + + void computeAndSetLatencyInformation(); + + void renderDebugDataNetwork(int x, int y, int width, int height); + + void queueCommand(GameCommandTypeInt commandType); + + void processWaitingCommands(); + + void compareGameVersions(); + + void createMultiplayerLobbyUnk(); + + void queueSynchronizedAutosaveProtocol(); + + void multiplayerSyncMessagesUnk(); + + undefined4 reorderTeamsAndPositions(); + + void checkGameSync(); + + void recomputeHashesAndSendResync(int dontSendSyncCommand); + + void someMultiplayerMessageSending(); + + void removePlayerFromLobby(int playerID); + + void checkMultiplayerLaggingPlayers(); + + void receiveAllTransmittedCommands(); + + void waitForMultiplayerHost(); + + void handleCommandLineArguments(char* arguments); + + void RenderInGameChatDisplayElementUnk(int posX, int posY, DWORD elementState); + }; + + static_assert_cpp98_obj(sizeof(GameSynchronyState) == 1090072, GameSynchronyState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(GameSynchronyState, false, Address::SHC_3BB0A8C1_0x0191D768) pDAT_GameSynchronyState; + +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/HashContainer.hpp b/src/OpenSHC/Synchrony/HashContainer.hpp new file mode 100644 index 0000000..cea9061 --- /dev/null +++ b/src/OpenSHC/Synchrony/HashContainer.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/HashContainer.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony/HashContainerElement.hpp" + +namespace OpenSHC { +namespace Synchrony { + + using OpenSHC::Synchrony::HashContainerElement; + +#pragma pack(push, 1) + // SIZE: 0x000001B0 + typedef struct HashContainer { + + HashContainerElement player0; // 0x00000000 length: 48 + HashContainerElement player1; // 0x00000030 length: 48 + HashContainerElement player2; // 0x00000060 length: 48 + HashContainerElement player3; // 0x00000090 length: 48 + HashContainerElement player4; // 0x000000C0 length: 48 + HashContainerElement player5; // 0x000000F0 length: 48 + HashContainerElement player6; // 0x00000120 length: 48 + HashContainerElement player7; // 0x00000150 length: 48 + HashContainerElement player8; // 0x00000180 length: 48 + + } HashContainer; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HashContainer) == 432, HashContainer); +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/HashContainerElement.hpp b/src/OpenSHC/Synchrony/HashContainerElement.hpp new file mode 100644 index 0000000..122dc7c --- /dev/null +++ b/src/OpenSHC/Synchrony/HashContainerElement.hpp @@ -0,0 +1,33 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/HashContainerElement.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Synchrony { + +#pragma pack(push, 1) + // SIZE: 0x00000030 + typedef struct HashContainerElement { + + int domain01; // 0x00000000 length: 4 + int domain02; // 0x00000004 length: 4 + int domain03; // 0x00000008 length: 4 + int domain04; // 0x0000000C length: 4 + int domain05; // 0x00000010 length: 4 + int domain06; // 0x00000014 length: 4 + int domain07; // 0x00000018 length: 4 + int domain08; // 0x0000001C length: 4 + int domain09; // 0x00000020 length: 4 + int domain10; // 0x00000024 length: 4 + int domain11; // 0x00000028 length: 4 + int domain12; // 0x0000002C length: 4 + + } HashContainerElement; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HashContainerElement) == 48, HashContainerElement); +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/HashData.hpp b/src/OpenSHC/Synchrony/HashData.hpp new file mode 100644 index 0000000..3097c82 --- /dev/null +++ b/src/OpenSHC/Synchrony/HashData.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/HashData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Synchrony { + +#pragma pack(push, 1) + // SIZE: 0x00000200 + typedef struct HashData { + + int componentArray[128]; // 0x00000000 length: 512 + + } HashData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HashData) == 512, HashData); +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/HashDataContainer.hpp b/src/OpenSHC/Synchrony/HashDataContainer.hpp new file mode 100644 index 0000000..1a96014 --- /dev/null +++ b/src/OpenSHC/Synchrony/HashDataContainer.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/HashDataContainer.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony/HashData.hpp" + +namespace OpenSHC { +namespace Synchrony { + + using OpenSHC::Synchrony::HashData; + +#pragma pack(push, 1) + // SIZE: 0x00003C00 + typedef struct HashDataContainer { + + HashData hashDataArray[30]; // 0x00000000 length: 15360 + + } HashDataContainer; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HashDataContainer) == 15360, HashDataContainer); +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/Networking/ChatEvent.hpp b/src/OpenSHC/Synchrony/Networking/ChatEvent.hpp new file mode 100644 index 0000000..2ffdf28 --- /dev/null +++ b/src/OpenSHC/Synchrony/Networking/ChatEvent.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/Networking/ChatEvent.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Synchrony { + namespace Networking { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct ChatEvent { + + int subjectPlayer; // 0x00000000 length: 4 + int time; // 0x00000004 length: 4 + int flag; // 0x00000008 length: 4 + int objectPlayer; // 0x0000000C length: 4 + + } ChatEvent; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ChatEvent) == 16, ChatEvent); + } // namespace Networking +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/Networking/ConnectionLagInfo.hpp b/src/OpenSHC/Synchrony/Networking/ConnectionLagInfo.hpp new file mode 100644 index 0000000..267a2f1 --- /dev/null +++ b/src/OpenSHC/Synchrony/Networking/ConnectionLagInfo.hpp @@ -0,0 +1,34 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/Networking/ConnectionLagInfo.hpp' +*/ + +#pragma once + +#include "WinDef.h" + +namespace OpenSHC { +namespace Synchrony { + namespace Networking { + +#pragma pack(push, 1) + // SIZE: 0x00000024 + typedef struct ConnectionLagInfo { + + int mapTimeInTicks; // 0x00000000 length: 4 + int subtractedMapTicks; // 0x00000004 length: 4 + int counter; // 0x00000008 length: 4 + int average1; // 0x0000000C length: 4 + int now; // 0x00000010 length: 4 + DWORD subtractedTime; // 0x00000014 length: 4 + int average2; // 0x00000018 length: 4 + int checkFor0; // 0x0000001C length: 4 + DWORD time; // 0x00000020 length: 4 + + } ConnectionLagInfo; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ConnectionLagInfo) == 36, ConnectionLagInfo); + } // namespace Networking +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/Networking/Packet.hpp b/src/OpenSHC/Synchrony/Networking/Packet.hpp new file mode 100644 index 0000000..be16c43 --- /dev/null +++ b/src/OpenSHC/Synchrony/Networking/Packet.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/Networking/Packet.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Synchrony { + namespace Networking { + +#pragma pack(push, 1) + // SIZE: 0x0000EE47 + typedef struct Packet { + + byte commandProtocol; // 0x00000000 length: 1 + short time; // 0x00000001 length: 2 + byte unknown; // 0x00000003 length: 1 + byte payload[60995]; // 0x00000004 length: 60995 + + } Packet; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Packet) == 60999, Packet); + } // namespace Networking +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/Networking/PacketUnion.hpp b/src/OpenSHC/Synchrony/Networking/PacketUnion.hpp new file mode 100644 index 0000000..45f0d00 --- /dev/null +++ b/src/OpenSHC/Synchrony/Networking/PacketUnion.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/Networking/PacketUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony/Networking/Packet.hpp" +#include "OpenSHC/Synchrony/Networking/PrefixedPacket.hpp" + +namespace OpenSHC { +namespace Synchrony { + namespace Networking { + + using OpenSHC::Synchrony::Networking::Packet; + using OpenSHC::Synchrony::Networking::PrefixedPacket; + +#pragma pack(push, 1) + // SIZE: 0x0000EE48 + typedef union PacketUnion { + + Packet packet; // 0x00000000 length: 60999 + PrefixedPacket prefixedPacket; // 0x00000000 length: 61000 + + } PacketUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(PacketUnion) == 61000, PacketUnion); + } // namespace Networking +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/Networking/PrefixedPacket.hpp b/src/OpenSHC/Synchrony/Networking/PrefixedPacket.hpp new file mode 100644 index 0000000..643004e --- /dev/null +++ b/src/OpenSHC/Synchrony/Networking/PrefixedPacket.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/Networking/PrefixedPacket.hpp' +*/ + +#pragma once + +#include "OpenSHC/Synchrony/Networking/Packet.hpp" + +namespace OpenSHC { +namespace Synchrony { + namespace Networking { + + using OpenSHC::Synchrony::Networking::Packet; + +#pragma pack(push, 1) + // SIZE: 0x0000EE48 + typedef struct PrefixedPacket { + + byte prefix; // 0x00000000 length: 1 + Packet packet; // 0x00000001 length: 60999 + + } PrefixedPacket; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(PrefixedPacket) == 61000, PrefixedPacket); + } // namespace Networking +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Synchrony/ProtocolDefinedData.hpp b/src/OpenSHC/Synchrony/ProtocolDefinedData.hpp new file mode 100644 index 0000000..d2eebde --- /dev/null +++ b/src/OpenSHC/Synchrony/ProtocolDefinedData.hpp @@ -0,0 +1,152 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Synchrony/ProtocolDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Util/FunctionTypes/NoArgCallback.hpp" + +namespace OpenSHC { +namespace Synchrony { + + using OpenSHC::Util::FunctionTypes::NoArgCallback; + +#pragma pack(push, 1) + // SIZE: 0x000004F8 + typedef struct ProtocolDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + int field4_0x4[12][2]; // 0x00000004 length: 96 + int field5_0x64[39][3]; // 0x00000064 length: 468 + undefined1 padding_0x238[8]; // 0x00000238 length: 8 + char** field14_0x240[21]; // 0x00000240 length: 84 + NoArgCallback* handleFunctions; // 0x00000294 length: 4 + NoArgCallback* field16_0x298; // 0x00000298 length: 4 + NoArgCallback* field17_0x29c; // 0x0000029C length: 4 + NoArgCallback* field18_0x2a0; // 0x000002A0 length: 4 + NoArgCallback* field19_0x2a4; // 0x000002A4 length: 4 + NoArgCallback* field20_0x2a8; // 0x000002A8 length: 4 + NoArgCallback* field21_0x2ac; // 0x000002AC length: 4 + NoArgCallback* field22_0x2b0; // 0x000002B0 length: 4 + NoArgCallback* field23_0x2b4; // 0x000002B4 length: 4 + NoArgCallback* field24_0x2b8; // 0x000002B8 length: 4 + NoArgCallback* field25_0x2bc; // 0x000002BC length: 4 + NoArgCallback* field26_0x2c0; // 0x000002C0 length: 4 + NoArgCallback* field27_0x2c4; // 0x000002C4 length: 4 + NoArgCallback* field28_0x2c8; // 0x000002C8 length: 4 + NoArgCallback* field29_0x2cc; // 0x000002CC length: 4 + NoArgCallback* field30_0x2d0; // 0x000002D0 length: 4 + NoArgCallback* field31_0x2d4; // 0x000002D4 length: 4 + NoArgCallback* field32_0x2d8; // 0x000002D8 length: 4 + NoArgCallback* field33_0x2dc; // 0x000002DC length: 4 + NoArgCallback* field34_0x2e0; // 0x000002E0 length: 4 + NoArgCallback* field35_0x2e4; // 0x000002E4 length: 4 + NoArgCallback* field36_0x2e8; // 0x000002E8 length: 4 + NoArgCallback* field37_0x2ec; // 0x000002EC length: 4 + NoArgCallback* field38_0x2f0; // 0x000002F0 length: 4 + NoArgCallback* field39_0x2f4; // 0x000002F4 length: 4 + NoArgCallback* field40_0x2f8; // 0x000002F8 length: 4 + NoArgCallback* field41_0x2fc; // 0x000002FC length: 4 + NoArgCallback* field42_0x300; // 0x00000300 length: 4 + NoArgCallback* field43_0x304; // 0x00000304 length: 4 + NoArgCallback* field44_0x308; // 0x00000308 length: 4 + NoArgCallback* field45_0x30c; // 0x0000030C length: 4 + NoArgCallback* field46_0x310; // 0x00000310 length: 4 + NoArgCallback* field47_0x314; // 0x00000314 length: 4 + NoArgCallback* field48_0x318; // 0x00000318 length: 4 + NoArgCallback* field49_0x31c; // 0x0000031C length: 4 + NoArgCallback* field50_0x320; // 0x00000320 length: 4 + NoArgCallback* field51_0x324; // 0x00000324 length: 4 + NoArgCallback* field52_0x328; // 0x00000328 length: 4 + NoArgCallback* field53_0x32c; // 0x0000032C length: 4 + NoArgCallback* field54_0x330; // 0x00000330 length: 4 + NoArgCallback* field55_0x334; // 0x00000334 length: 4 + NoArgCallback* field56_0x338; // 0x00000338 length: 4 + NoArgCallback* field57_0x33c; // 0x0000033C length: 4 + NoArgCallback* field58_0x340; // 0x00000340 length: 4 + NoArgCallback* field59_0x344; // 0x00000344 length: 4 + NoArgCallback* field60_0x348; // 0x00000348 length: 4 + NoArgCallback* field61_0x34c; // 0x0000034C length: 4 + NoArgCallback* field62_0x350; // 0x00000350 length: 4 + NoArgCallback* field63_0x354; // 0x00000354 length: 4 + NoArgCallback* field64_0x358; // 0x00000358 length: 4 + NoArgCallback* field65_0x35c; // 0x0000035C length: 4 + NoArgCallback* field66_0x360; // 0x00000360 length: 4 + NoArgCallback* field67_0x364; // 0x00000364 length: 4 + NoArgCallback* field68_0x368; // 0x00000368 length: 4 + NoArgCallback* field69_0x36c; // 0x0000036C length: 4 + NoArgCallback* field70_0x370; // 0x00000370 length: 4 + NoArgCallback* field71_0x374; // 0x00000374 length: 4 + NoArgCallback* field72_0x378; // 0x00000378 length: 4 + NoArgCallback* field73_0x37c; // 0x0000037C length: 4 + NoArgCallback* field74_0x380; // 0x00000380 length: 4 + NoArgCallback* field75_0x384; // 0x00000384 length: 4 + NoArgCallback* field76_0x388; // 0x00000388 length: 4 + NoArgCallback* field77_0x38c; // 0x0000038C length: 4 + NoArgCallback* field78_0x390; // 0x00000390 length: 4 + NoArgCallback* field79_0x394; // 0x00000394 length: 4 + NoArgCallback* field80_0x398; // 0x00000398 length: 4 + NoArgCallback* field81_0x39c; // 0x0000039C length: 4 + NoArgCallback* field82_0x3a0; // 0x000003A0 length: 4 + NoArgCallback* field83_0x3a4; // 0x000003A4 length: 4 + NoArgCallback* field84_0x3a8; // 0x000003A8 length: 4 + NoArgCallback* field85_0x3ac; // 0x000003AC length: 4 + NoArgCallback* field86_0x3b0; // 0x000003B0 length: 4 + NoArgCallback* field87_0x3b4; // 0x000003B4 length: 4 + NoArgCallback* field88_0x3b8; // 0x000003B8 length: 4 + NoArgCallback* field89_0x3bc; // 0x000003BC length: 4 + NoArgCallback* field90_0x3c0; // 0x000003C0 length: 4 + NoArgCallback* field91_0x3c4; // 0x000003C4 length: 4 + NoArgCallback* field92_0x3c8; // 0x000003C8 length: 4 + NoArgCallback* field93_0x3cc; // 0x000003CC length: 4 + NoArgCallback* field94_0x3d0; // 0x000003D0 length: 4 + NoArgCallback* field95_0x3d4; // 0x000003D4 length: 4 + NoArgCallback* field96_0x3d8; // 0x000003D8 length: 4 + NoArgCallback* field97_0x3dc; // 0x000003DC length: 4 + NoArgCallback* field98_0x3e0; // 0x000003E0 length: 4 + NoArgCallback* field99_0x3e4; // 0x000003E4 length: 4 + NoArgCallback* field100_0x3e8; // 0x000003E8 length: 4 + NoArgCallback* field101_0x3ec; // 0x000003EC length: 4 + NoArgCallback* field102_0x3f0; // 0x000003F0 length: 4 + NoArgCallback* field103_0x3f4; // 0x000003F4 length: 4 + NoArgCallback* field104_0x3f8; // 0x000003F8 length: 4 + NoArgCallback* field105_0x3fc; // 0x000003FC length: 4 + NoArgCallback* field106_0x400; // 0x00000400 length: 4 + NoArgCallback* field107_0x404; // 0x00000404 length: 4 + NoArgCallback* field108_0x408; // 0x00000408 length: 4 + NoArgCallback* field109_0x40c; // 0x0000040C length: 4 + NoArgCallback* field110_0x410; // 0x00000410 length: 4 + NoArgCallback* field111_0x414; // 0x00000414 length: 4 + NoArgCallback* field112_0x418; // 0x00000418 length: 4 + NoArgCallback* field113_0x41c; // 0x0000041C length: 4 + NoArgCallback* field114_0x420; // 0x00000420 length: 4 + NoArgCallback* field115_0x424; // 0x00000424 length: 4 + NoArgCallback* field116_0x428; // 0x00000428 length: 4 + NoArgCallback* field117_0x42c; // 0x0000042C length: 4 + NoArgCallback* field118_0x430; // 0x00000430 length: 4 + NoArgCallback* field119_0x434; // 0x00000434 length: 4 + NoArgCallback* field120_0x438; // 0x00000438 length: 4 + NoArgCallback* field121_0x43c; // 0x0000043C length: 4 + NoArgCallback* field122_0x440; // 0x00000440 length: 4 + NoArgCallback* field123_0x444; // 0x00000444 length: 4 + NoArgCallback* field124_0x448; // 0x00000448 length: 4 + NoArgCallback* field125_0x44c; // 0x0000044C length: 4 + NoArgCallback* field126_0x450; // 0x00000450 length: 4 + NoArgCallback* field127_0x454; // 0x00000454 length: 4 + NoArgCallback* field128_0x458; // 0x00000458 length: 4 + NoArgCallback* field129_0x45c; // 0x0000045C length: 4 + NoArgCallback* field130_0x460; // 0x00000460 length: 4 + NoArgCallback* field131_0x464; // 0x00000464 length: 4 + NoArgCallback* field132_0x468; // 0x00000468 length: 4 + NoArgCallback* field133_0x46c; // 0x0000046C length: 4 + NoArgCallback* field134_0x470; // 0x00000470 length: 4 + int field135_0x474[32]; // 0x00000474 length: 128 + char** field136_0x4f4; // 0x000004F4 length: 4 + + } ProtocolDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ProtocolDefinedData) == 1272, ProtocolDefinedData); +} // namespace Synchrony +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/CharPointerArrayUnion.hpp b/src/OpenSHC/Text/CharPointerArrayUnion.hpp new file mode 100644 index 0000000..2973974 --- /dev/null +++ b/src/OpenSHC/Text/CharPointerArrayUnion.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/CharPointerArrayUnion.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef union CharPointerArrayUnion { + + char charArray[16]; // 0x00000000 length: 16 + char* pCharArray; // 0x00000000 length: 4 + + } CharPointerArrayUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(CharPointerArrayUnion) == 16, CharPointerArrayUnion); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/FontRenderType.hpp b/src/OpenSHC/Text/FontRenderType.hpp new file mode 100644 index 0000000..70cafb3 --- /dev/null +++ b/src/OpenSHC/Text/FontRenderType.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/FontRenderType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + typedef enum FontRenderType { + + FRT_COLOR = 0, // 0x00000000 + FRT_BLENDED_COLOR = 1, // 0x00000001 + FRT_RAW = 2 // 0x00000002 + + } FontRenderType; + + static_assert_cpp98_obj(sizeof(FontRenderType) == 4, FontRenderType); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/FontRenderTypeInt.hpp b/src/OpenSHC/Text/FontRenderTypeInt.hpp new file mode 100644 index 0000000..8173aba --- /dev/null +++ b/src/OpenSHC/Text/FontRenderTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/FontRenderTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/FontRenderType.hpp" + +namespace OpenSHC { +namespace Text { + typedef int FontRenderTypeInt; + + static_assert_cpp98_obj(sizeof(FontRenderTypeInt) == 4, FontRenderTypeInt); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/FontSizeClass.func.hpp b/src/OpenSHC/Text/FontSizeClass.func.hpp new file mode 100644 index 0000000..47ce877 --- /dev/null +++ b/src/OpenSHC/Text/FontSizeClass.func.hpp @@ -0,0 +1,75 @@ +/** + path: 'OpenSHC/Text/FontSizeClass.func.hpp' +*/ + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/Text/FontRenderTypeInt.hpp" +#include "OpenSHC/Text/FontSizeClass.hpp" +namespace OpenSHC { +namespace Text { + namespace FontSizeClass_Func { + + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::Text::FontRenderTypeInt; + + MACRO_FUNCTION_RESOLVER(void (FontSizeClass::*)(GmIDInt, int, FontRenderTypeInt, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00469A30, &FontSizeClass::setupFontSizeClassObject) + setupFontSizeClassObject; + + MACRO_FUNCTION_RESOLVER( + int (FontSizeClass::*)(char*, int), false, Address::SHC_3BB0A8C1_0x00469A70, &FontSizeClass::getWidthOfText) + getWidthOfText; + + MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(char*, int, char*, int, int*), false, + 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( + int (FontSizeClass::*)(byte), false, Address::SHC_3BB0A8C1_0x00469E10, &FontSizeClass::getCharWidthUnk) + getCharWidthUnk; + + MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(LPWSTR, int), false, Address::SHC_3BB0A8C1_0x00471610, + &FontSizeClass::getWidthOfWideText) + getWidthOfWideText; + + MACRO_FUNCTION_RESOLVER( + dword (FontSizeClass::*)(WCHAR), false, Address::SHC_3BB0A8C1_0x00471670, &FontSizeClass::meth_0x471670) + meth_0x471670; + + MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(char*, int, int, int, BGR24, int), false, + Address::SHC_3BB0A8C1_0x00472D60, &FontSizeClass::renderText) + renderText; + + MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(char*, int, int, int, BGR24, int, int), false, + Address::SHC_3BB0A8C1_0x00472EF0, &FontSizeClass::renderMultilineTextUnk) + renderMultilineTextUnk; + + MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(LPWSTR, int, int, int, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00473300, &FontSizeClass::renderMultilineWideTextUnk) + renderMultilineWideTextUnk; + + MACRO_FUNCTION_RESOLVER(void (FontSizeClass::*)(int, int, int, int, BGR24), false, + Address::SHC_3BB0A8C1_0x004733A0, &FontSizeClass::renderSomeSpecificTextUnk) + renderSomeSpecificTextUnk; + + MACRO_FUNCTION_RESOLVER(int (FontSizeClass::*)(char, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00473640, &FontSizeClass::renderCharUnk) + renderCharUnk; + + MACRO_FUNCTION_RESOLVER(void (FontSizeClass::*)(LPWSTR, int, int, int, BGR24, int), false, + Address::SHC_3BB0A8C1_0x004737B0, &FontSizeClass::renderWideText) + renderWideText; + + MACRO_FUNCTION_RESOLVER(void (FontSizeClass::*)(undefined4, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00473830, &FontSizeClass::meth_0x473830) + meth_0x473830; + + } // namespace FontSizeClass_Func +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/FontSizeClass.hpp b/src/OpenSHC/Text/FontSizeClass.hpp new file mode 100644 index 0000000..fdb389f --- /dev/null +++ b/src/OpenSHC/Text/FontSizeClass.hpp @@ -0,0 +1,81 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/FontSizeClass.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/Text/FontRenderTypeInt.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Text { + + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::Text::FontRenderTypeInt; + +#pragma pack(push, 1) + + // SIZE: 0x00000024 + class FontSizeClass { + public: + GmIDInt fontGmID_0x0; // 0x00000000 length: 4 + dword numberOfFontStartInGm_0x4; // 0x00000004 length: 4 + int fontStartImageId_0x8; // 0x00000008 length: 4 + FontRenderTypeInt renderType_0xc; // 0x0000000C length: 4 + int baselineOffset_0x10; // 0x00000010 length: 4 + dword lineHeight_0x14; // 0x00000014 length: 4 + int letterSpacing_0x18; // 0x00000018 length: 4 + int whiteSpaceWidth_0x1c; // 0x0000001C length: 4 + HGDIOBJ hgdiobj; // 0x00000020 length: 4 + + private: + FontSizeClass(FontSizeClass const&); + void operator=(FontSizeClass const&); + + FontSizeClass(); + ~FontSizeClass(); + + public: + void setupFontSizeClassObject(GmIDInt fontGmID, int numberOfFontStartInGm, FontRenderTypeInt renderType, + int baselineOffset, int lineHeight, int letterSpacing, int whiteSpaceWidth); + + int getWidthOfText(char* text, int length); + + int getWordStartingFromPos( + char* text, int startAndRunIndex, char* wordReceiver, int maxWordBufferSize, int* wordStartIndexOutPtr); + + void meth_0x469c40(char* text, int allowedWidth); + + int getCharWidthUnk(byte charUnk); + + int getWidthOfWideText(LPWSTR wideText, int numberOfChars); + + dword meth_0x471670(WCHAR wChar); + + int renderText(char* text, int textLength, int xPos, int yPos, BGR24 color, int blendStrength); + + int renderMultilineTextUnk( + char* text, int xPos, int yPos, int maxWidth, BGR24 color, int blendStrength, int modeUnk); + + int renderMultilineWideTextUnk( + LPWSTR _wideText, int xPos, int yPos, int maxWidth, uint color, int blendStrength, int modeUnk); + + void renderSomeSpecificTextUnk(int lengthUnk, int otherBlendValueUnk, int xPos, int yPos, BGR24 color); + + int renderCharUnk(char charId, int xPos, int yPosUnk, int bgr24, int blendStrengthUnk); + + 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); + }; + + static_assert_cpp98_obj(sizeof(FontSizeClass) == 36, FontSizeClass); + +#pragma pack(pop) + +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/GameLanguage.hpp b/src/OpenSHC/Text/GameLanguage.hpp new file mode 100644 index 0000000..807fe2f --- /dev/null +++ b/src/OpenSHC/Text/GameLanguage.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/GameLanguage.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + typedef enum GameLanguage { + + GL_ENGLISH = 0, // 0x00000000 + GL_AMERICAN = 1, // 0x00000001 + GL_GERMAN = 2, // 0x00000002 + GL_FRENCH = 3, // 0x00000003 + GL_ITALIAN = 4, // 0x00000004 + GL_SPANISH = 5, // 0x00000005 + GL_POLISH = 6 // 0x00000006 + + } GameLanguage; + + static_assert_cpp98_obj(sizeof(GameLanguage) == 4, GameLanguage); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/GameLanguageInt.hpp b/src/OpenSHC/Text/GameLanguageInt.hpp new file mode 100644 index 0000000..f727d02 --- /dev/null +++ b/src/OpenSHC/Text/GameLanguageInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/GameLanguageInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/GameLanguage.hpp" + +namespace OpenSHC { +namespace Text { + typedef int GameLanguageInt; + + static_assert_cpp98_obj(sizeof(GameLanguageInt) == 4, GameLanguageInt); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/HelpTextRelatedColorStruct.hpp b/src/OpenSHC/Text/HelpTextRelatedColorStruct.hpp new file mode 100644 index 0000000..c34bc87 --- /dev/null +++ b/src/OpenSHC/Text/HelpTextRelatedColorStruct.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/HelpTextRelatedColorStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct HelpTextRelatedColorStruct { + + char* name_0x0; // 0x00000000 length: 4 + int r_0x4; // 0x00000004 length: 4 + int g_0x8; // 0x00000008 length: 4 + int b_0xc; // 0x0000000C length: 4 + + } HelpTextRelatedColorStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HelpTextRelatedColorStruct) == 16, HelpTextRelatedColorStruct); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextAlignment.hpp b/src/OpenSHC/Text/TextAlignment.hpp new file mode 100644 index 0000000..2d530a2 --- /dev/null +++ b/src/OpenSHC/Text/TextAlignment.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/TextAlignment.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + typedef enum TextAlignment { + + TTA_LEFT = 0, // 0x00000000 + TTA_CENTER = 1, // 0x00000001 + TTA_RIGHT = 4294967295 // 0xFFFFFFFF + + } TextAlignment; + + static_assert_cpp98_obj(sizeof(TextAlignment) == 4, TextAlignment); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextAlignmentInt.hpp b/src/OpenSHC/Text/TextAlignmentInt.hpp new file mode 100644 index 0000000..2b00c15 --- /dev/null +++ b/src/OpenSHC/Text/TextAlignmentInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/TextAlignmentInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/TextAlignment.hpp" + +namespace OpenSHC { +namespace Text { + typedef int TextAlignmentInt; + + static_assert_cpp98_obj(sizeof(TextAlignmentInt) == 4, TextAlignmentInt); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextArrayIndexType.hpp b/src/OpenSHC/Text/TextArrayIndexType.hpp new file mode 100644 index 0000000..aeff6d7 --- /dev/null +++ b/src/OpenSHC/Text/TextArrayIndexType.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/TextArrayIndexType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + typedef enum TextArrayIndexType { + + TAIT_ZERO = 0, // 0x00000000 + TAIT_ONE__FILTER_B = 1, // 0x00000001 + TAIT_TWO__FILTER_A = 2, // 0x00000002 + TAIT_THREE__FILTER_A = 3, // 0x00000003 + TAIT_FIVE__NUMERIC_DOT = 5, // 0x00000005 + TAIT_SIX__NUMERIC_ONLY = 6, // 0x00000006 + TAIT_SEVEN__NUMERIC_ONLY = 7, // 0x00000007 + TAIT_EIGHT__FILTER_B = 8, // 0x00000008 + TAIT_NINE__FILTER_B = 9 // 0x00000009 + + } TextArrayIndexType; + + static_assert_cpp98_obj(sizeof(TextArrayIndexType) == 4, TextArrayIndexType); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextArrayIndexTypeInt.hpp b/src/OpenSHC/Text/TextArrayIndexTypeInt.hpp new file mode 100644 index 0000000..21fb699 --- /dev/null +++ b/src/OpenSHC/Text/TextArrayIndexTypeInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/TextArrayIndexTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/TextArrayIndexType.hpp" + +namespace OpenSHC { +namespace Text { + typedef int TextArrayIndexTypeInt; + + static_assert_cpp98_obj(sizeof(TextArrayIndexTypeInt) == 4, TextArrayIndexTypeInt); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextEditorState.func.hpp b/src/OpenSHC/Text/TextEditorState.func.hpp new file mode 100644 index 0000000..a4c0a1e --- /dev/null +++ b/src/OpenSHC/Text/TextEditorState.func.hpp @@ -0,0 +1,170 @@ +/** + path: 'OpenSHC/Text/TextEditorState.func.hpp' +*/ + +#include "OpenSHC/Text/TextEditorState.hpp" +#include "mbstring.h" +#include "winnt.h" +namespace OpenSHC { +namespace Text { + namespace TextEditorState_Func { + + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(undefined4, undefined4, undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x0045D080, &TextEditorState::meth_0x45d080) + meth_0x45d080; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D0C0, &TextEditorState::meth_0x45d0c0) + meth_0x45d0c0; + + 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_0x0045D1A0, &TextEditorState::meth_0x45d1a0) + meth_0x45d1a0; + + 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(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_0x0045D690, + &TextEditorState::bltTextToScreenIfNeedBe) + bltTextToScreenIfNeedBe; + + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x0045D6C0, + &TextEditorState::drawBorderStyle0x20) + drawBorderStyle0x20; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045D740, &TextEditorState::meth_0x45d740) + meth_0x45d740; + + MACRO_FUNCTION_RESOLVER( + int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D890, &TextEditorState::meth_0x45d890) + meth_0x45d890; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045D8F0, &TextEditorState::meth_0x45d8f0) + meth_0x45d8f0; + + 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_0x0045D990, &TextEditorState::FUN_0045d990) + FUN_0045d990; + + MACRO_FUNCTION_RESOLVER( + char* (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x0045D9E0, &TextEditorState::FUN_0045d9e0) + FUN_0045d9e0; + + 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_0x0045DA40, &TextEditorState::FUN_0045da40) + FUN_0045da40; + + MACRO_FUNCTION_RESOLVER( + int (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045DA80, &TextEditorState::meth_0x45da80) + meth_0x45da80; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(char*), false, Address::SHC_3BB0A8C1_0x0045DAE0, &TextEditorState::meth_0x45dae0) + meth_0x45dae0; + + MACRO_FUNCTION_RESOLVER(undefined4 (TextEditorState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0045F080, + &TextEditorState::FUN_0045f080) + FUN_0045f080; + + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(undefined4), false, Address::SHC_3BB0A8C1_0x0045F0D0, + &TextEditorState::meth_0x45f0d0) + meth_0x45f0d0; + + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x0045F240, + &TextEditorState::someKindOfTextEscape) + someKindOfTextEscape; + + 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; + + 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::*)(), 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_0x00461550, &TextEditorState::meth_0x461550) + meth_0x461550; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x004619D0, &TextEditorState::meth_0x4619d0) + meth_0x4619d0; + + 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_0x00461B90, &TextEditorState::meth_0x461b90) + meth_0x461b90; + + 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_0x00461E50, &TextEditorState::meth_0x461e50) + meth_0x461e50; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00461F90, &TextEditorState::meth_0x461f90) + meth_0x461f90; + + MACRO_FUNCTION_RESOLVER(void (TextEditorState::*)(char*, undefined4), false, Address::SHC_3BB0A8C1_0x004620F0, + &TextEditorState::meth_0x4620f0) + meth_0x4620f0; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(), false, Address::SHC_3BB0A8C1_0x00462150, &TextEditorState::FUN_00462150) + FUN_00462150; + + MACRO_FUNCTION_RESOLVER( + void (TextEditorState::*)(int), false, Address::SHC_3BB0A8C1_0x00462190, &TextEditorState::meth_0x462190) + meth_0x462190; + + } // namespace TextEditorState_Func +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextEditorState.hpp b/src/OpenSHC/Text/TextEditorState.hpp new file mode 100644 index 0000000..60634d8 --- /dev/null +++ b/src/OpenSHC/Text/TextEditorState.hpp @@ -0,0 +1,195 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/TextEditorState.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "mbstring.h" +#include "winnt.h" + +namespace OpenSHC { +namespace Text { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00023974 + 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 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 + 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 + int intArray1[25]; // 0x00023910 length: 100 + + private: + TextEditorState(TextEditorState const&); + void operator=(TextEditorState const&); + + TextEditorState(); + ~TextEditorState(); + + public: + // Constructor + TextEditorState* Constructor_TextEditorState(); + + void meth_0x45d080(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4); + + void meth_0x45d0c0(); + + int meth_0x45d140(char* param_1); + + int meth_0x45d1a0(char* param_1); + + WCHAR parseHLPPart(FILE* filePointer); + + void meth_0x45d370(); + + undefined* getWideCharPointer(int* param_1); + + void meth_0x45d430(); + + void bltTextToScreenIfNeedBe(); + + void drawBorderStyle0x20(int param_1, int param_2, int param_3, int param_4); + + void meth_0x45d740(); + + int meth_0x45d890(char* param_1); + + void meth_0x45d8f0(char* param_1); + + int FUN_0045d950(int param_1); + + int FUN_0045d990(int param_1); + + char* FUN_0045d9e0(int param_1); + + int FUN_0045da20(int param_1); + + int FUN_0045da40(int param_1); + + int meth_0x45da80(char* param_1); + + void meth_0x45dae0(char* param_1); + + undefined4 FUN_0045f080(undefined4 param_1); + + void meth_0x45f0d0(undefined4 param_1); + + void someKindOfTextEscape(); + + void readCrusaderHelpHlp(LPCSTR param_1); + + undefined4 meth_0x45f580(FILE* param_1); + + void parseHlp(); + + void FUN_0045fdc0(int param_1); + + void setTextRenderingLogic(); + + void meth_0x4614d0(); + + void meth_0x461550(); + + void meth_0x4619d0(); + + void meth_0x461a20(int param_1); + + void meth_0x461b90(int param_1); + + void meth_0x461cf0(int param_1); + + void meth_0x461e50(int param_1); + + void meth_0x461f90(int param_1); + + void meth_0x4620f0(char* param_1, undefined4 param_2); + + void FUN_00462150(); + + void meth_0x462190(int param_1); + }; + + static_assert_cpp98_obj(sizeof(TextEditorState) == 145780, TextEditorState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(TextEditorState, false, Address::SHC_3BB0A8C1_0x02403AF8) pDAT_TextEditorState; + +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextManager.func.hpp b/src/OpenSHC/Text/TextManager.func.hpp new file mode 100644 index 0000000..a6df8f6 --- /dev/null +++ b/src/OpenSHC/Text/TextManager.func.hpp @@ -0,0 +1,175 @@ +/** + path: 'OpenSHC/Text/TextManager.func.hpp' +*/ + +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/Text/TextAlignmentInt.hpp" +#include "OpenSHC/Text/TextManager.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eTextSectionsInt.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace Text { + namespace TextManager_Func { + + using OpenSHC::_SHCDE::eTextSectionsInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::Text::TextAlignmentInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(char*, int, int, TextAlignmentInt, uint, uint, int, BOOLEnum), + false, Address::SHC_3BB0A8C1_0x00424320, &TextManager::renderInGameText) + renderInGameText; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(char*, int, int, TextAlignmentInt, BGR24, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00424360, &TextManager::renderTextToScreen2) + renderTextToScreen2; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(eTextSectionsInt, int, int, int, TextAlignmentInt, uint, uint, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00424390, &TextManager::renderText) + renderText; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(eTextSectionsInt, int, int, int, TextAlignmentInt, uint, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x004243E0, &TextManager::renderText2) + renderText2; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(eTextSectionsInt, int, int, int, TextAlignmentInt, uint, uint, int, BOOLEnum, int), + false, Address::SHC_3BB0A8C1_0x00424420, &TextManager::renderInGameText2) + renderInGameText2; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(eTextSectionsInt, int, int, int, TextAlignmentInt, uint, int, BOOLEnum, int), false, + Address::SHC_3BB0A8C1_0x00424470, &TextManager::renderTextFromTextGroup) + renderTextFromTextGroup; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(eTextSectionsInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x004244C0, &TextManager::renderMultilineText2) + renderMultilineText2; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(eTextSectionsInt, int, int, int, int, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00424500, &TextManager::renderMultilineTextUnk) + renderMultilineTextUnk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(eTextSectionsInt, int, int, int, int, uint, int), false, + Address::SHC_3BB0A8C1_0x00424540, &TextManager::renderMultilineText2Unk) + renderMultilineText2Unk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(eTextSectionsInt, int, int, int, int, uint, uint, int, int), + false, Address::SHC_3BB0A8C1_0x00424580, &TextManager::renderMultilineText3Unk) + renderMultilineText3Unk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(eTextSectionsInt, int, int, int, int, uint, int, int), false, + Address::SHC_3BB0A8C1_0x004245D0, &TextManager::renderMultilineText4Unk) + renderMultilineText4Unk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(int, int, int, uint, uint, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00424620, &TextManager::renderNumber) + renderNumber; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(int, int, int, uint, int, BOOL), false, + Address::SHC_3BB0A8C1_0x00424650, &TextManager::renderLeftAlignedNumberToScreen) + renderLeftAlignedNumberToScreen; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(int, int, int, TextAlignmentInt, uint, int, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x00424680, &TextManager::renderNumberToScreen) + renderNumberToScreen; + + MACRO_FUNCTION_RESOLVER(int (TextManager::*)(eTextSectionsInt, int, int), false, + Address::SHC_3BB0A8C1_0x004246B0, &TextManager::computeTextWidthForTextGroup) + computeTextWidthForTextGroup; + + MACRO_FUNCTION_RESOLVER( + 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::*)(), false, Address::SHC_3BB0A8C1_0x00469F40, &TextManager::meth_0x469f40) + meth_0x469f40; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(char*, int, int), false, Address::SHC_3BB0A8C1_0x00469F50, &TextManager::trimText) + trimText; + + MACRO_FUNCTION_RESOLVER(int (TextManager::*)(char*, int, int), false, Address::SHC_3BB0A8C1_0x00469F70, + &TextManager::getTextWidthTillCursorUnk) + getTextWidthTillCursorUnk; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(int), false, Address::SHC_3BB0A8C1_0x00469FA0, &TextManager::fillIntegerTextBuffer) + fillIntegerTextBuffer; + + MACRO_FUNCTION_RESOLVER(char* (TextManager::*)(eTextSectionsInt, int), false, Address::SHC_3BB0A8C1_0x0046A050, + &TextManager::getTextStringInGroupAtOffset) + getTextStringInGroupAtOffset; + + MACRO_FUNCTION_RESOLVER(int (TextManager::*)(int, int, int, int, int, int, BOOL), false, + 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::*)(char, int), false, Address::SHC_3BB0A8C1_0x0046A720, &TextManager::getCharWidth) + getCharWidth; + + MACRO_FUNCTION_RESOLVER( + 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( + void (TextManager::*)(), false, Address::SHC_3BB0A8C1_0x00473870, &TextManager::loadCRTex) + loadCRTex; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(char*, int, int, int, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00473A70, &TextManager::renderMultilineText5Unk) + renderMultilineText5Unk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(char*, int, int, int, uint, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00473AC0, &TextManager::renderMultilineText6Unk) + renderMultilineText6Unk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(LPWSTR, int, int, int, uint, uint, int, int), false, + Address::SHC_3BB0A8C1_0x00473B50, &TextManager::renderMultilineWideTextUnk) + renderMultilineWideTextUnk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(int, int, int, int, uint, int), false, + Address::SHC_3BB0A8C1_0x00473BE0, &TextManager::renderSomeSpecificTextUnk) + renderSomeSpecificTextUnk; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(char*, int, int, TextAlignmentInt, BGR24, int, BOOLEnum, int), + false, Address::SHC_3BB0A8C1_0x00474250, &TextManager::renderTextToScreen) + renderTextToScreen; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(LPWSTR, int, int, TextAlignmentInt, uint, int, BOOL, int), false, + Address::SHC_3BB0A8C1_0x004742F0, &TextManager::renderWideText) + renderWideText; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(int, int, int, TextAlignmentInt, uint, uint, int, BOOLEnum, int), + false, Address::SHC_3BB0A8C1_0x00474390, &TextManager::renderNumber2) + renderNumber2; + + MACRO_FUNCTION_RESOLVER(void (TextManager::*)(int, int, int, TextAlignmentInt, uint, int, BOOLEnum, int), false, + Address::SHC_3BB0A8C1_0x00474430, &TextManager::renderNumberToScreen2) + renderNumberToScreen2; + + MACRO_FUNCTION_RESOLVER( + void (TextManager::*)(char*, int, int, TextAlignmentInt, uint, uint, int, BOOLEnum, int), false, + Address::SHC_3BB0A8C1_0x00475E00, &TextManager::renderInGameTextWithShadow) + renderInGameTextWithShadow; + + } // namespace TextManager_Func +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextManager.hpp b/src/OpenSHC/Text/TextManager.hpp new file mode 100644 index 0000000..893f131 --- /dev/null +++ b/src/OpenSHC/Text/TextManager.hpp @@ -0,0 +1,177 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/TextManager.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/Rendering/Enums/RenderTargetInt.hpp" +#include "OpenSHC/Text/FontSizeClass.hpp" +#include "OpenSHC/Text/GameLanguageInt.hpp" +#include "OpenSHC/Text/TextAlignmentInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/WindowsHelper/Enums/CodePageInt.hpp" +#include "OpenSHC/_SHCDE/eTextSectionsInt.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace Text { + + using OpenSHC::_SHCDE::eTextSectionsInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::Rendering::Enums::RenderTargetInt; + using OpenSHC::Text::FontSizeClass; + using OpenSHC::Text::GameLanguageInt; + using OpenSHC::Text::TextAlignmentInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + using OpenSHC::WindowsHelper::Enums::CodePageInt; + +#pragma pack(push, 1) + + // SIZE: 0x00057274 + class TextManager { + public: + int currentXOffset_0x0; // 0x00000000 length: 4 + dword field1_0x4; // 0x00000004 length: 4 + dword field2_0x8; // 0x00000008 length: 4 + dword field3_0xc; // 0x0000000C length: 4 + CodePageInt codePage; // 0x00000010 length: 4 + dword field5_0x14; // 0x00000014 length: 4 + dword field6_0x18; // 0x00000018 length: 4 + RenderTargetInt textSurfaceTarget; // 0x0000001C length: 4 + dword field8_0x20; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + dword field11_0x2c; // 0x0000002C length: 4 + dword field12_0x30; // 0x00000030 length: 4 + dword field13_0x34; // 0x00000034 length: 4 + dword textColor; // 0x00000038 length: 4 + int sizeOfOneFontSet_0x3c; // 0x0000003C length: 4 + BOOLEnum alternativeCodePageUsedUnk; // 0x00000040 length: 4 + GameLanguageInt gameLanguage; // 0x00000044 length: 4 + FontSizeClass fontSizeClassArray[20]; // 0x00000048 length: 720 + char stringArray1[32][128]; // 0x00000318 length: 4096 + dword count1; // 0x00001318 length: 4 + undefined1 padding_0x131c[4]; // 0x0000131C length: 4 + char integerTextBuffer[20]; // 0x00001320 length: 20 + char field26_0x1334[20]; // 0x00001334 length: 20 + dword field27_0x1348; // 0x00001348 length: 4 + int textOffsets[260]; // 0x0000134C length: 1040 + char textStart[351000]; // 0x0000175C length: 351000 + + private: + TextManager(TextManager const&); + void operator=(TextManager const&); + + TextManager(); + ~TextManager(); + + public: + void renderInGameText(char* textAddress, int xParam, int yParam, TextAlignmentInt alignment, uint color1, + uint color2, int fontSize, BOOLEnum keepOffsetX); + + void renderTextToScreen2(char* textAddress, int xParam, int yParam, TextAlignmentInt alignment, BGR24 color, + int fontSize, BOOLEnum keepOffsetX); + + void renderText(eTextSectionsInt textGroupIndex, int textNumInGroup, int xPosition, int yPosition, + TextAlignmentInt textShift, uint color, uint param_7, int fontSize, BOOLEnum param_9); + + void renderText2(eTextSectionsInt textOffsetIndex, int textNumInGroup, int xParam, int yParam, + TextAlignmentInt alignment, uint color, int fontSize, BOOLEnum keepOffsetX); + + void renderInGameText2(eTextSectionsInt textOffsetIndex, int textNumInGroup, int xParam, int yParam, + TextAlignmentInt alignment, uint color1, uint color2, int fontSize, BOOLEnum keepOffsetX, + int blendStrength); + + void renderTextFromTextGroup(eTextSectionsInt offsetIndex, int numInGroup, int xParam, int yParam, + TextAlignmentInt alignment, uint color, int fontSize, BOOLEnum keepOffsetX, int blendStrength); + + void renderMultilineText2(eTextSectionsInt param_1, int param_2, int param_3, int param_4); + + void renderMultilineTextUnk(eTextSectionsInt textOffsetIndex, int textNumInGroup, int xPos, int yPos, + int maxWidth, uint color, int fontSize, int blendStrength); + + void renderMultilineText2Unk(eTextSectionsInt textOffsetIndex, int textNumInGroup, int xPos, int yPos, + int maxWidth, uint color, int fontSize); + + void renderMultilineText3Unk(eTextSectionsInt textOffsetIndex, int textNumInGroup, int xPos, int yPos, + int maxWidth, uint color1, uint color2, int fontSize, int blendStrength); + + void renderMultilineText4Unk(eTextSectionsInt textOffsetIndex, int textNumInGroup, int xPos, int yPos, + int maxWidth, uint color, int fontSize, int blendStrength); + + void renderNumber( + int number, int xPosition, int yPosition, uint color1, uint color2, int fontSize, BOOLEnum keepOffsetX); + + void renderLeftAlignedNumberToScreen( + int number, int xParam, int yParam, uint color, int fontSize, BOOL keepOffsetX); + + void renderNumberToScreen(int number, int xParam, int yParam, TextAlignmentInt alignment, uint color, + int fontSize, BOOLEnum keepOffsetX); + + int computeTextWidthForTextGroup(eTextSectionsInt textOffsetIndex, int textNumInGroup, int fontSize); + + void setupFontSizeClassObjects(); + + void meth_0x469f20(dword param_1, dword param_2); + + void meth_0x469f40(); + + void trimText(char* text, int allowedWidth, int fontSize); + + int getTextWidthTillCursorUnk(char* text, int cursorIndex, int fontSize); + + void fillIntegerTextBuffer(int numberInt); + + char* getTextStringInGroupAtOffset(eTextSectionsInt offsetIndex, int numInGroup); + + 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 getCharWidth(char char_, int fontSize); + + int computeTextWidth(char* text, int fontSize); + + int meth_0x4716d0(int param_1, int param_2); + + void loadCRTex(); + + void renderMultilineText5Unk( + char* text, int xPos, int yPos, int maxWidth, uint color, int fontSize, int blendStrength); + + void renderMultilineText6Unk( + char* text, int xPos, int yPos, int maxWidth, uint color1, uint color2, int fontSize, int blendStrength); + + void renderMultilineWideTextUnk(LPWSTR _wideText, int xPos, int yPos, int maxWidth, uint color1, uint color2, + int fontSize, int blendStrength); + + void renderSomeSpecificTextUnk( + int lengthUnk, int otherBlendValueUnk, int xPos, int yPos, uint color, int fontSize); + + void renderTextToScreen(char* textAddress, int xParam, int yParam, TextAlignmentInt alignment, BGR24 color, + int fontSize, BOOLEnum keepOffsetX, int blendStrength); + + void renderWideText(LPWSTR wideText, int xPos, int yPos, TextAlignmentInt alignment, uint color, int fontSize, + BOOL keepXOffset, int blendStrength); + + void renderNumber2(int integer, int xPosition, int yPosition, TextAlignmentInt textShift, uint color, + uint param_6, int fontSize, BOOLEnum param_8, int param_9); + + void renderNumberToScreen2(int number, int xParam, int yParam, TextAlignmentInt alignment, uint color, + int fontSize, BOOLEnum keepOffsetX, int blendStrength); + + void renderInGameTextWithShadow(char* textAddress, int xParam, int yParam, TextAlignmentInt alignment, + uint foregroundColor, uint backgroundColor, int fontSize, BOOLEnum keepOffsetX, int blendStrength); + }; + + static_assert_cpp98_obj(sizeof(TextManager) == 356980, TextManager); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(TextManager, false, Address::SHC_3BB0A8C1_0x02157578) pDAT_TextManager; + +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/UnkHelpTextRelatedFontStruct.hpp b/src/OpenSHC/Text/UnkHelpTextRelatedFontStruct.hpp new file mode 100644 index 0000000..0c748db --- /dev/null +++ b/src/OpenSHC/Text/UnkHelpTextRelatedFontStruct.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/UnkHelpTextRelatedFontStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Text { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct UnkHelpTextRelatedFontStruct { + + char* text_0x0; // 0x00000000 length: 4 + int unknown_0x4; // 0x00000004 length: 4 + + } UnkHelpTextRelatedFontStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnkHelpTextRelatedFontStruct) == 8, UnkHelpTextRelatedFontStruct); +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/UserTextHandler.func.hpp b/src/OpenSHC/Text/UserTextHandler.func.hpp new file mode 100644 index 0000000..0000d22 --- /dev/null +++ b/src/OpenSHC/Text/UserTextHandler.func.hpp @@ -0,0 +1,92 @@ +/** + path: 'OpenSHC/Text/UserTextHandler.func.hpp' +*/ + +#include "OpenSHC/Text/UserTextHandler.hpp" +namespace OpenSHC { +namespace Text { + namespace UserTextHandler_Func { + + MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(undefined4), false, Address::SHC_3BB0A8C1_0x00469790, + &UserTextHandler::resetToTextIndex) + resetToTextIndex; + + MACRO_FUNCTION_RESOLVER( + char* (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004697C0, &UserTextHandler::getCurrentText) + getCurrentText; + + MACRO_FUNCTION_RESOLVER(int (UserTextHandler::*)(int), false, Address::SHC_3BB0A8C1_0x004697E0, + &UserTextHandler::getTextArrayPointer) + getTextArrayPointer; + + MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(undefined4, undefined4), false, + Address::SHC_3BB0A8C1_0x00469800, &UserTextHandler::FUN_00469800) + FUN_00469800; + + MACRO_FUNCTION_RESOLVER( + int (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469860, &UserTextHandler::FUN_00469860) + FUN_00469860; + + MACRO_FUNCTION_RESOLVER( + void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469870, &UserTextHandler::handleReturnKey) + handleReturnKey; + + MACRO_FUNCTION_RESOLVER( + void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469880, &UserTextHandler::handleRightKey) + handleRightKey; + + MACRO_FUNCTION_RESOLVER( + undefined (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004698A0, &UserTextHandler::handleLeftKey) + handleLeftKey; + + MACRO_FUNCTION_RESOLVER( + undefined (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004698C0, &UserTextHandler::FUN_004698c0) + FUN_004698c0; + + 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; + + MACRO_FUNCTION_RESOLVER( + undefined (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00469930, &UserTextHandler::FUN_00469930) + FUN_00469930; + + 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(undefined (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x004715A0, + &UserTextHandler::handleBackspace) + handleBackspace; + + MACRO_FUNCTION_RESOLVER( + void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00472B90, &UserTextHandler::clearTextAndCursor) + clearTextAndCursor; + + MACRO_FUNCTION_RESOLVER(void (UserTextHandler::*)(char*), false, Address::SHC_3BB0A8C1_0x00472C30, + &UserTextHandler::copyIntoTextArray) + copyIntoTextArray; + + MACRO_FUNCTION_RESOLVER( + int (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00472CB0, &UserTextHandler::FUN_00472cb0) + FUN_00472cb0; + + MACRO_FUNCTION_RESOLVER( + void (UserTextHandler::*)(), false, Address::SHC_3BB0A8C1_0x00472D00, &UserTextHandler::handleDeleteKey) + handleDeleteKey; + + MACRO_FUNCTION_RESOLVER(undefined (UserTextHandler::*)(undefined1), false, Address::SHC_3BB0A8C1_0x00474110, + &UserTextHandler::handleCharacterCode) + handleCharacterCode; + + } // namespace UserTextHandler_Func +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/Text/UserTextHandler.hpp b/src/OpenSHC/Text/UserTextHandler.hpp new file mode 100644 index 0000000..28dd236 --- /dev/null +++ b/src/OpenSHC/Text/UserTextHandler.hpp @@ -0,0 +1,90 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Text/UserTextHandler.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/TextArrayIndexTypeInt.hpp" + +namespace OpenSHC { +namespace Text { + + using OpenSHC::Text::TextArrayIndexTypeInt; + +#pragma pack(push, 1) + + // SIZE: 0x00001114 + class UserTextHandler { + public: + TextArrayIndexTypeInt textArrayIndex; // 0x00000000 length: 4 + dword unknown01; // 0x00000004 length: 4 + dword returnPressed; // 0x00000008 length: 4 + dword allowUserTextInput; // 0x0000000C length: 4 + int textArrayFontSizes[16]; // 0x00000010 length: 64 + int textBoxMaxCharactersArray[16]; // 0x00000050 length: 64 + int textContentLengthArray[16]; // 0x00000090 length: 64 + int textCursorIndexArray[16]; // 0x000000D0 length: 64 + int textBoxMaxTextWidthDimensionArray[16]; // 0x00000110 length: 64 + char textArray[16][250]; // 0x00000150 length: 4000 + char inputBuffer[30]; // 0x000010F0 length: 30 + undefined1 padding_0x110e[2]; // 0x0000110E length: 2 + int inputBufferIndex; // 0x00001110 length: 4 + + private: + UserTextHandler(UserTextHandler const&); + void operator=(UserTextHandler const&); + + UserTextHandler(); + ~UserTextHandler(); + + public: + void resetToTextIndex(undefined4 textIndex); + + char* getCurrentText(); + + int getTextArrayPointer(int param_1); + + void FUN_00469800(undefined4 param_1, undefined4 param_2); + + int FUN_00469860(); + + void handleReturnKey(); + + void handleRightKey(); + + undefined handleLeftKey(); + + undefined FUN_004698c0(); + + void moveCursorToEnd(); + + void FUN_004698f0(int param_1, int param_2); + + undefined FUN_00469930(); + + void handleCharacterIntoInputBuffer(int characterCode); + + uint FUN_004699e0(); + + undefined handleBackspace(); + + void clearTextAndCursor(); + + void copyIntoTextArray(char* param_1); + + int FUN_00472cb0(); + + void handleDeleteKey(); + + undefined handleCharacterCode(undefined1 characterCode); + }; + + static_assert_cpp98_obj(sizeof(UserTextHandler) == 4372, UserTextHandler); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(UserTextHandler, false, Address::SHC_3BB0A8C1_0x01652740) pDAT_UserTextHandler; + +} // namespace Text +} // namespace OpenSHC diff --git a/src/OpenSHC/UI.func.hpp b/src/OpenSHC/UI.func.hpp new file mode 100644 index 0000000..b0a3225 --- /dev/null +++ b/src/OpenSHC/UI.func.hpp @@ -0,0 +1,2162 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/UI.hpp" +#include "OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp" +#include "OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp" +#include "OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace UI_Func { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::UI::ChooseNetworkServiceProvider::ChooseNetworkServiceProviderButtonActionsInt; + using OpenSHC::UI::Enums::SoundMenuClickTypeInt; + using OpenSHC::UI::Multiplayer::FindingNetworkSessions_ButtonParametersInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424720, &OpenSHC::UI::MenuView_IntroLogos_Prepare) + MenuView_IntroLogos_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424770, &OpenSHC::UI::MenuView_IntroLogos_DoInitial) + MenuView_IntroLogos_DoInitial; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004247A0, &OpenSHC::UI::MenuView_IntroLogos_DoEveryFrame) + MenuView_IntroLogos_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int unused), false, Address::SHC_3BB0A8C1_0x00424990, + &OpenSHC::UI::MenuItemActionHandler_IntroLogos_General) + MenuItemActionHandler_IntroLogos_General; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424A50, &OpenSHC::UI::MenuView_IntroVideo_Prepare) + MenuView_IntroVideo_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424AD0, &OpenSHC::UI::MenuView_IntroVideo_DoEveryFrame) + MenuView_IntroVideo_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424B10, + &OpenSHC::UI::MenuView_GameStartEnterName_DoEveryFrame) + MenuView_GameStartEnterName_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424C40, &OpenSHC::UI::MenuView_MainMenu_Prepare) + MenuView_MainMenu_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424CD0, &OpenSHC::UI::MenuView_MainMenu_DoInitial) + MenuView_MainMenu_DoInitial; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00424DA0, &OpenSHC::UI::MenuView_MainMenu_DoEveryFrame) + MenuView_MainMenu_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00424F50, + &OpenSHC::UI::MenuItemRenderFunction_MainMenu_Main) + MenuItemRenderFunction_MainMenu_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004251A0, + &OpenSHC::UI::MenuItemActionHandler_MainMenu_Main) + MenuItemActionHandler_MainMenu_Main; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00425500, + &OpenSHC::UI::MenuView_HistoricCampaignSelect_Prepare) + MenuView_HistoricCampaignSelect_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00425580, + &OpenSHC::UI::MenuView_HistoricCampaignSelect_DoEveryFrame) + MenuView_HistoricCampaignSelect_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004255D0, + &OpenSHC::UI::MenuItemRenderFunction_HistoricCampaignSelect_Main) + MenuItemRenderFunction_HistoricCampaignSelect_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00425720, + &OpenSHC::UI::MenuItemActionHandler_HistoricCampaignSelect_Main) + MenuItemActionHandler_HistoricCampaignSelect_Main; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004259D0, + &OpenSHC::UI::MenuView_UnusedEconomicGametypeSelect_Prepare) + MenuView_UnusedEconomicGametypeSelect_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00425A40, + &OpenSHC::UI::MenuView_UnusedEconomicGametypeSelect_DoInitial) + MenuView_UnusedEconomicGametypeSelect_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00425AD0, + &OpenSHC::UI::MenuItemRenderFunction_UnusedEconomicGametypeSelect_Main) + MenuItemRenderFunction_UnusedEconomicGametypeSelect_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00425C20, + &OpenSHC::UI::MenuItemActionHandler_UnusedEconomicGametypeSelect_Main) + MenuItemActionHandler_UnusedEconomicGametypeSelect_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00425EA0, &OpenSHC::UI::MenuView_CustomScenarios_Prepare) + MenuView_CustomScenarios_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00425F60, + &OpenSHC::UI::MenuView_General_DoInitial_BlackBoxDefaultBorderAndPicture) + MenuView_General_DoInitial_BlackBoxDefaultBorderAndPicture; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00425FF0, + &OpenSHC::UI::MenuView_CustomScenarios_DoEveryFrame) + MenuView_CustomScenarios_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426060, + &OpenSHC::UI::MenuItemRenderFunction_CustomScenarios_Main) + MenuItemRenderFunction_CustomScenarios_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004261E0, &OpenSHC::UI::MenuView_Credits_Prepare) + MenuView_Credits_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004262B0, &OpenSHC::UI::MenuView_Credits_DoInitial) + MenuView_Credits_DoInitial; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00426340, &OpenSHC::UI::MenuView_Credits_DoEveryFrame) + MenuView_Credits_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00426570, + &OpenSHC::UI::MenuView_UnusedDemoBuyItScreen_Prepare) + MenuView_UnusedDemoBuyItScreen_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00426600, + &OpenSHC::UI::MenuView_UnusedDemoBuyItScreen_DoInitial) + MenuView_UnusedDemoBuyItScreen_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004266A0, + &OpenSHC::UI::MenuView_UnusedDemoBuyItScreen_DoEveryFrame) + MenuView_UnusedDemoBuyItScreen_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004266E0, &OpenSHC::UI::MenuModalRenderFunction_UnusedSetName) + MenuModalRenderFunction_UnusedSetName; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426750, + &OpenSHC::UI::MenuItemRenderFunction_UnusedSetName_ButtonsUnk) + MenuItemRenderFunction_UnusedSetName_ButtonsUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004267F0, + &OpenSHC::UI::MenuItemActionHandler_UnusedSetName_ButtonsUnk) + MenuItemActionHandler_UnusedSetName_ButtonsUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00426830, + &OpenSHC::UI::MenuView_HistoricMissionSelect_Prepare) + MenuView_HistoricMissionSelect_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004268C0, &OpenSHC::UI::MenuView_MissionSelect_DoEveryFrame) + MenuView_MissionSelect_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004269E0, + &OpenSHC::UI::MenuItemRenderFunction_HistoricMissionSelect_MissionRows) + MenuItemRenderFunction_HistoricMissionSelect_MissionRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426B80, + &OpenSHC::UI::MenuItemActionHandler_HistoricMissionSelect_General) + MenuItemActionHandler_HistoricMissionSelect_General; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00426C50, + &OpenSHC::UI::MenuView_UnusedEconomicMissionSelect_Prepare) + MenuView_UnusedEconomicMissionSelect_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426CA0, + &OpenSHC::UI::MenuItemRenderFunction_HistoricAndEconomicMissionSelect_NextAndBackHands) + MenuItemRenderFunction_HistoricAndEconomicMissionSelect_NextAndBackHands; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426D30, + &OpenSHC::UI::MenuItemRenderFunction_UnusedEconomicMissionSelect_MissionSelect) + MenuItemRenderFunction_UnusedEconomicMissionSelect_MissionSelect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426ED0, + &OpenSHC::UI::MenuItemActionHandler_UnusedEconomicMissionSelect_General) + MenuItemActionHandler_UnusedEconomicMissionSelect_General; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00426F80, + &OpenSHC::UI::MenuView_UnusedSomeMissionStartUnk_Prepare) + MenuView_UnusedSomeMissionStartUnk_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00426FB0, + &OpenSHC::UI::MenuItemRenderFunction_UnusedSomeMissionStartUnk_General) + MenuItemRenderFunction_UnusedSomeMissionStartUnk_General; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00427080, + &OpenSHC::UI::MenuItemActionHandler_UnusedSomeMissionStartUnk_General) + MenuItemActionHandler_UnusedSomeMissionStartUnk_General; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00427110, &OpenSHC::UI::MenuView_MpConnection_Prepare) + MenuView_MpConnection_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004271E0, + &OpenSHC::UI::MenuView_General_DoEveryFrame_FirstGfxCentered) + MenuView_General_DoEveryFrame_FirstGfxCentered; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00427240, + &OpenSHC::UI::MenuView_Unknown61ReturnToSkrimishMenuUnk_DoInitial) + MenuView_Unknown61ReturnToSkrimishMenuUnk_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004272C0, + &OpenSHC::UI::MenuView_Unknown61ReturnToSkrimishMenuUnk_DoEveryFrame) + MenuView_Unknown61ReturnToSkrimishMenuUnk_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00427320, &OpenSHC::UI::MenuView_LobbyMenu_Prepare) + MenuView_LobbyMenu_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004276F0, + &OpenSHC::UI::MenuView_General_DoInitial_DefaultMainMenuStructure) + MenuView_General_DoInitial_DefaultMainMenuStructure; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00427740, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_MapSelectHeader) + MenuItemRenderFunction_LobbyMenu_MapSelectHeader; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00427810, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_PlayerListAndNpcButtons) + MenuItemRenderFunction_LobbyMenu_PlayerListAndNpcButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00428150, + &OpenSHC::UI::MenuItemRenderFunction_General_MenuMiniMap) + MenuItemRenderFunction_General_MenuMiniMap; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004285F0, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_MapDesc) + MenuItemRenderFunction_LobbyMenu_MapDesc; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00428980, &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_MapDescScrollbar) + MenuItemActionHandler_LobbyMenu_MapDescScrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x00428A60, &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_MapDescScrollbar) + MenuItemRenderFunction_LobbyMenu_MapDescScrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00428AC0, + &OpenSHC::UI::MenuItemRenderFunction_General_AdvancedGameOptions) + MenuItemRenderFunction_General_AdvancedGameOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00429A40, + &OpenSHC::UI::MenuItemActionHandler_General_AdvancedGameOptions) + MenuItemActionHandler_General_AdvancedGameOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042A480, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_SkirmishTypeAndBalance) + MenuItemRenderFunction_LobbyMenu_SkirmishTypeAndBalance; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042A840, + &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_SkirmishTypeAndBalance) + MenuItemActionHandler_LobbyMenu_SkirmishTypeAndBalance; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042AC40, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_Unknown) + MenuItemRenderFunction_LobbyMenu_Unknown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042AC90, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_ChatBox) + MenuItemRenderFunction_LobbyMenu_ChatBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042AE90, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_NonBoxedButtons) + MenuItemRenderFunction_LobbyMenu_NonBoxedButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042B470, + &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_MapSelectTable) + MenuItemActionHandler_LobbyMenu_MapSelectTable; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042B4C0, + &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_MapSelectTable) + MenuItemRenderFunction_LobbyMenu_MapSelectTable; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x0042B7B0, &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_MapSelectScrollbar) + MenuItemActionHandler_LobbyMenu_MapSelectScrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x0042B8F0, &OpenSHC::UI::MenuItemRenderFunction_LobbyMenu_MapSelectScrollbar) + MenuItemRenderFunction_LobbyMenu_MapSelectScrollbar; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042B960, + &OpenSHC::UI::MenuView_UnusedSelectRandomNumberOfEnemies_DoEveryFrame) + MenuView_UnusedSelectRandomNumberOfEnemies_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042BA50, + &OpenSHC::UI::MenuItemActionHandler_UnusedSelectRandomNumberOfEnemies_Main) + MenuItemActionHandler_UnusedSelectRandomNumberOfEnemies_Main; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042BB70, + &OpenSHC::UI::MenuView_General_Prepare_SwordShieldAndBorder) + MenuView_General_Prepare_SwordShieldAndBorder; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042BB90, &OpenSHC::UI::MenuView_SelectCrusade_DoInitial) + MenuView_SelectCrusade_DoInitial; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042BBF0, &OpenSHC::UI::MenuView_SelectCrusade_DoEveryFrame) + MenuView_SelectCrusade_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042BF00, + &OpenSHC::UI::MenuItemActionHandler_SelectCrusade_Main) + MenuItemActionHandler_SelectCrusade_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042C060, + &OpenSHC::UI::MenuItemRenderFunction_SelectCrusade_Main) + MenuItemRenderFunction_SelectCrusade_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042C090, &OpenSHC::UI::MenuView_Unknown33_DoEveryFrame) + MenuView_Unknown33_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042D140, + &OpenSHC::UI::MenuItemRenderFunction_SingleplayerMapChoice_ButtonsAndHands) + MenuItemRenderFunction_SingleplayerMapChoice_ButtonsAndHands; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042D640, + &OpenSHC::UI::MenuItemActionHandler_SingleplayerMapChoice_ButtonsAndHands) + MenuItemActionHandler_SingleplayerMapChoice_ButtonsAndHands; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042D9A0, + &OpenSHC::UI::MenuItemRenderFunction_SingleplayerMapChoice_MapTable) + MenuItemRenderFunction_SingleplayerMapChoice_MapTable; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042DBB0, + &OpenSHC::UI::MenuItemRenderFunction_SingleplayerMapChoice_MapTableHeader) + MenuItemRenderFunction_SingleplayerMapChoice_MapTableHeader; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x0042DC60, &OpenSHC::UI::MenuItemRenderFunction_SingleplayerMapChoice_Scrollbar) + MenuItemRenderFunction_SingleplayerMapChoice_Scrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042DCB0, &OpenSHC::UI::MenuView_UnusedOldTitleMenu_Prepare) + MenuView_UnusedOldTitleMenu_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042DD00, + &OpenSHC::UI::MenuView_UnusedOldTitleMenu_DoInitial) + MenuView_UnusedOldTitleMenu_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042DE20, + &OpenSHC::UI::MenuItemRenderFunction_UnusedOldTitleMenu_ExitButton) + MenuItemRenderFunction_UnusedOldTitleMenu_ExitButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042DEB0, + &OpenSHC::UI::MenuItemRenderFunction_UnusedOldTitleMenu_ContinueButton) + MenuItemRenderFunction_UnusedOldTitleMenu_ContinueButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042DF40, + &OpenSHC::UI::MenuItemRenderFunction_UnusedOldTitleMenu_TestMapButton) + MenuItemRenderFunction_UnusedOldTitleMenu_TestMapButton; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042DFD0, &OpenSHC::UI::MenuView_MapEditorProperties_Prepare) + MenuView_MapEditorProperties_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042E0D0, + &OpenSHC::UI::MenuView_MapEditorProperties_DoEveryFrame) + MenuView_MapEditorProperties_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042E900, + &OpenSHC::UI::MenuItemRenderFunction_MapEditorProperties_MainButtons) + MenuItemRenderFunction_MapEditorProperties_MainButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042EBC0, + &OpenSHC::UI::MenuItemRenderFunction_MapEditorProperties_MapDescriptionBox) + MenuItemRenderFunction_MapEditorProperties_MapDescriptionBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0042EDF0, + &OpenSHC::UI::MenuItemActionHandler_MapEditorProperties_MapDescriptionBox) + MenuItemActionHandler_MapEditorProperties_MapDescriptionBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x0042EE80, + &OpenSHC::UI::MenuItemActionHandler_MapEditorProperties_MapDescriptionScrollbar) + MenuItemActionHandler_MapEditorProperties_MapDescriptionScrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x0042EF80, + &OpenSHC::UI::MenuItemRenderFunction_MapEditorProperties_MapDescriptionScrollbar) + MenuItemRenderFunction_MapEditorProperties_MapDescriptionScrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042EFE0, &OpenSHC::UI::MenuView_NewMapMaptype_Prepare) + MenuView_NewMapMaptype_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042F140, + &OpenSHC::UI::MenuItemRenderFunction_NewMapMaptype_Buttons) + MenuItemRenderFunction_NewMapMaptype_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042F2B0, + &OpenSHC::UI::MenuItemActionHandler_NewMapMaptype_Buttons) + MenuItemActionHandler_NewMapMaptype_Buttons; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042F3D0, &OpenSHC::UI::MenuView_NewMapMapsize_Prepare) + MenuView_NewMapMapsize_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042F3F0, &OpenSHC::UI::MenuView_NewMapMapsize_DoEveryFrame) + MenuView_NewMapMapsize_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042F7F0, + &OpenSHC::UI::MenuItemRenderFunction_NewMapMapsize_Buttons) + MenuItemRenderFunction_NewMapMapsize_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042F940, + &OpenSHC::UI::MenuItemActionHandler_NewMapMapsize_Buttons) + MenuItemActionHandler_NewMapMapsize_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042FAA0, + &OpenSHC::UI::MenuView_UnusedChooseAvailableKeeps_Prepare) + MenuView_UnusedChooseAvailableKeeps_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0042FAC0, + &OpenSHC::UI::MenuView_UnusedChooseAvailableKeeps_DoEveryFrame) + MenuView_UnusedChooseAvailableKeeps_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042FEC0, + &OpenSHC::UI::MenuItemRenderFunction_UnusedChooseAvailableKeeps_Main) + MenuItemRenderFunction_UnusedChooseAvailableKeeps_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00430050, + &OpenSHC::UI::MenuItemActionHandler_UnusedChooseAvailableKeeps_Main) + MenuItemActionHandler_UnusedChooseAvailableKeeps_Main; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00430100, + &OpenSHC::UI::MenuView_General_DoInitial_ScreenToBlack) + MenuView_General_DoInitial_ScreenToBlack; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00430150, + &OpenSHC::UI::MenuView_UnusedChooseGameType_DoEveryFrame) + MenuView_UnusedChooseGameType_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00430550, + &OpenSHC::UI::MenuItemRenderFunctio_UnusedChooseGameType_Mainn) + MenuItemRenderFunctio_UnusedChooseGameType_Mainn; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004305D0, + &OpenSHC::UI::MenuItemActionHandler_UnusedChooseGameType_Main) + MenuItemActionHandler_UnusedChooseGameType_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00430690, &OpenSHC::UI::MenuView_UnusedCreateSiege_Prepare) + MenuView_UnusedCreateSiege_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004306D0, + &OpenSHC::UI::MenuView_UnusedCreateSiege_DoEveryFrame) + MenuView_UnusedCreateSiege_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00430BF0, + &OpenSHC::UI::MenuItemRenderFunction_UnusedCreateSiege_SiegeThat) + MenuItemRenderFunction_UnusedCreateSiege_SiegeThat; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00430CC0, + &OpenSHC::UI::MenuView_MapEditorLandscaping_Prepare) + MenuView_MapEditorLandscaping_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00430CE0, + &OpenSHC::UI::MenuView_MapEditorLandscaping_DoInitial) + MenuView_MapEditorLandscaping_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004313C0, + &OpenSHC::UI::MenuView_MapEditorLandscaping_DoEveryFrame) + MenuView_MapEditorLandscaping_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00431460, + &OpenSHC::UI::MenuItemActionHandler_MapEditorLandscaping_CategoryButtons) + MenuItemActionHandler_MapEditorLandscaping_CategoryButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(CommandBuildingTypeInt param_1), false, Address::SHC_3BB0A8C1_0x004314E0, + &OpenSHC::UI::MenuItemActionHandler_MapEditorLandscaping_GeneralButtons) + MenuItemActionHandler_MapEditorLandscaping_GeneralButtons; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00431A90, &OpenSHC::UI::MenuView_BuildMenu_Prepare) + MenuView_BuildMenu_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00431B60, &OpenSHC::UI::MenuView_BuildMenu_DoInitial) + MenuView_BuildMenu_DoInitial; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00433030, &OpenSHC::UI::MenuView_BuildMenu_DoEveryFrame) + MenuView_BuildMenu_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00433200, + &OpenSHC::UI::MenuItemActionHandler_BuildMenu_SomeKeepAndGranaryCheckUnk) + MenuItemActionHandler_BuildMenu_SomeKeepAndGranaryCheckUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00433230, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_UnknownBinkRelated) + MenuItemActionHandler_InGameMenu_UnknownBinkRelated; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00433260, &OpenSHC::UI::RenderScribeFrame) + RenderScribeFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00433370, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_ProcessScribeAnimationChange) + MenuItemActionHandler_InGameMenu_ProcessScribeAnimationChange; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004335A0, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_ViewToKeeps) + MenuItemActionHandler_InGameMenu_ViewToKeeps; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00433780, &OpenSHC::UI::RenderGoldValue) + RenderGoldValue; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00434120, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_Scrolling) + MenuItemActionHandler_InGameMenu_Scrolling; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00434230, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_BuildingKeepSubcategoryButton) + MenuItemRenderFunction_BuildMenu_BuildingKeepSubcategoryButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00434260, + &OpenSHC::UI::MenuItemActionHandler_General_Unknown2) + MenuItemActionHandler_General_Unknown2; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00434270, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_MiniMapInteraction) + MenuItemActionHandler_InGameMenu_MiniMapInteraction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00434300, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_MiniMapInteraction) + MenuItemRenderFunction_BuildMenu_MiniMapInteraction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00434350, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_PeasantBuildAndRightClickMenuSelection) + MenuItemActionHandler_InGameMenu_PeasantBuildAndRightClickMenuSelection; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004348D0, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_UnitSelectionAndControlsUnk) + MenuItemActionHandler_InGameMenu_UnitSelectionAndControlsUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00437ED0, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_TriggerPlaceWallCommand) + MenuItemActionHandler_InGameMenu_TriggerPlaceWallCommand; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004387D0, + &OpenSHC::UI::MenuItemActionHandler_BuildMenu_DeleteAction) + MenuItemActionHandler_BuildMenu_DeleteAction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00438B60, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_RightClickMenuAndMaybeResets) + MenuItemActionHandler_InGameMenu_RightClickMenuAndMaybeResets; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int mapperValue), false, Address::SHC_3BB0A8C1_0x00438BE0, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_UnitActionButtons) + MenuItemRenderFunction_BuildMenu_UnitActionButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00439160, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_CurrentlySelectedTroops) + MenuItemRenderFunction_BuildMenu_CurrentlySelectedTroops; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00439390, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_CurrentlySelectedTroopsDeselectHelper) + MenuItemRenderFunction_BuildMenu_CurrentlySelectedTroopsDeselectHelper; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int slotID), false, Address::SHC_3BB0A8C1_0x004393C0, + &OpenSHC::UI::MenuItemActionHandler_BuildMenu_CurrentlySelectedTroops) + MenuItemActionHandler_BuildMenu_CurrentlySelectedTroops; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00439890, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_StopBuildingOrPeasantBinkPlayback) + MenuItemActionHandler_BuildingAndStatusMenu_StopBuildingOrPeasantBinkPlayback; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004398B0, + &OpenSHC::UI::MenuView_BuildingAndStatusMenu_DoInitial) + MenuView_BuildingAndStatusMenu_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043A850, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_Unknown_Countdown) + MenuItemActionHandler_BuildingAndStatusMenu_Unknown_Countdown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043A860, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_BuildingHelpTextButton) + MenuItemActionHandler_BuildingAndStatusMenu_BuildingHelpTextButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043A880, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_BuildingHelpTextButton) + MenuItemRenderFunction_BuildingAndStatusMenu_BuildingHelpTextButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043A8C0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_BarracksAndMercenaryPostHelpText) + MenuItemRenderFunction_BuildingAndStatusMenu_BarracksAndMercenaryPostHelpText; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043A8E0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_AvailablePeasantsTextUpperRight) + MenuItemRenderFunction_BuildingAndStatusMenu_AvailablePeasantsTextUpperRight; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043A960, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_AvailablePeasantsTextDownRight) + MenuItemRenderFunction_BuildingAndStatusMenu_AvailablePeasantsTextDownRight; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043E490, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_StatusMenuButtons) + MenuItemActionHandler_BuildingAndStatusMenu_StatusMenuButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043E4E0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_StatusMainMenuButtons) + MenuItemRenderFunction_BuildingAndStatusMenu_StatusMainMenuButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043F2B0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_PopularityMenuSwitchButtonUnk) + MenuItemActionHandler_BuildingAndStatusMenu_PopularityMenuSwitchButtonUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043F2C0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_PopularityMenuSwitchButton) + MenuItemRenderFunction_BuildingAndStatusMenu_PopularityMenuSwitchButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043FBB0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_DisableFoodType) + MenuItemActionHandler_BuildingAndStatusMenu_DisableFoodType; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int foodType), false, Address::SHC_3BB0A8C1_0x0043FBF0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_DisableFoodType) + MenuItemRenderFunction_BuildingAndStatusMenu_DisableFoodType; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043FC80, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_ArmySwitchButton) + MenuItemActionHandler_BuildingAndStatusMenu_ArmySwitchButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043FCA0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_ArmyStatusSwitchButton) + MenuItemRenderFunction_BuildingAndStatusMenu_ArmyStatusSwitchButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0043FCB0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_ArmyStatusReturn) + MenuItemRenderFunction_BuildingAndStatusMenu_ArmyStatusReturn; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00440280, + &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_0x004403D0, + &OpenSHC::UI::MenuView_UnusedHelpTextEditor_Prepare) + MenuView_UnusedHelpTextEditor_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00440400, + &OpenSHC::UI::MenuView_UnusedHelpTextEditor_DoEveryFrame) + MenuView_UnusedHelpTextEditor_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00440410, + &OpenSHC::UI::MenuItemFunction_General_Unknown) + MenuItemFunction_General_Unknown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00440420, + &OpenSHC::UI::MenuItemActionHandler_UnusedOldTitleMenu_General) + MenuItemActionHandler_UnusedOldTitleMenu_General; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(void* param_1), false, Address::SHC_3BB0A8C1_0x00440560, + &OpenSHC::UI::MenuView_GameStartEnterName_Prepare) + MenuView_GameStartEnterName_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004406F0, + &OpenSHC::UI::MenuView_GameStartEnterName_DoInitial) + MenuView_GameStartEnterName_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00440770, + &OpenSHC::UI::MenuItemActionHandler_CustomScenarios_Main) + MenuItemActionHandler_CustomScenarios_Main; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004409C0, + &OpenSHC::UI::MenuView_Unknown61ReturnToSkrimishMenuUnk_Prepare) + MenuView_Unknown61ReturnToSkrimishMenuUnk_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00440A50, + &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_MapSelectHeader) + MenuItemActionHandler_LobbyMenu_MapSelectHeader; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00440E50, + &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_PlayerListAndNpcButtons) + MenuItemActionHandler_LobbyMenu_PlayerListAndNpcButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00442640, + &OpenSHC::UI::MenuItemActionHandler_LobbyMenu_LobbyscreenStartButtonClick) + MenuItemActionHandler_LobbyMenu_LobbyscreenStartButtonClick; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00442C30, + &OpenSHC::UI::MenuItemActionHandler_SingleplayerMapChoice_MapTable) + MenuItemActionHandler_SingleplayerMapChoice_MapTable; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00442F40, &OpenSHC::UI::MenuItemActionHandler_SingleplayerMapChoice_Scrollbar) + MenuItemActionHandler_SingleplayerMapChoice_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00443070, + &OpenSHC::UI::MenuItemActionHandler_MapEditorProperties_MainButtons) + MenuItemActionHandler_MapEditorProperties_MainButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004437E0, + &OpenSHC::UI::MenuItemActionHandler_UnusedCreateSiege_SiegeThat) + MenuItemActionHandler_UnusedCreateSiege_SiegeThat; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00437CC0, + &OpenSHC::UI::MenuItemActionHandler_MapEditorLandscaping_QueueCommandCallback) + MenuItemActionHandler_MapEditorLandscaping_QueueCommandCallback; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(CommandBuildingTypeInt buttonID), false, Address::SHC_3BB0A8C1_0x00444410, + &OpenSHC::UI::MenuItemActionHandler_General_ToolbarButtonPressed) + MenuItemActionHandler_General_ToolbarButtonPressed; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00444B80, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_MainButtons) + MenuItemActionHandler_InGameMenu_MainButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004451C0, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_TriggerPlaceBuildingCommand) + MenuItemActionHandler_InGameMenu_TriggerPlaceBuildingCommand; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00446920, + &OpenSHC::UI::MenuItemActionHandler_BuildMenu_UnitActionButtons) + MenuItemActionHandler_BuildMenu_UnitActionButtons; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00446C00, + &OpenSHC::UI::MenuView_BuildingAndStatusMenu_Prepare) + MenuView_BuildingAndStatusMenu_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004476B0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_BuildingWorkStatus) + MenuItemRenderFunction_BuildingAndStatusMenu_BuildingWorkStatus; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004482F0, &OpenSHC::UI::MenuView_LobbyMenu_DoEveryFrame) + MenuView_LobbyMenu_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00448D40, + &OpenSHC::UI::MenuView_SingleplayerMapChoice_Prepare) + MenuView_SingleplayerMapChoice_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00448E90, + &OpenSHC::UI::MenuView_SingleplayerMapChoice_DoEveryFrame) + MenuView_SingleplayerMapChoice_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00449290, + &OpenSHC::UI::MenuItemActionHandler_SingleplayerMapChoice_MapTableHeader) + MenuItemActionHandler_SingleplayerMapChoice_MapTableHeader; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004494E0, + &OpenSHC::UI::MenuView_BuildingAndStatusMenu_DoEveryFrame) + MenuView_BuildingAndStatusMenu_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0045DE40, + &OpenSHC::UI::MenuItemRenderFunction_TextEditor_Buttons) + MenuItemRenderFunction_TextEditor_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x0045EDF0, &OpenSHC::UI::MenuItemActionHandler_TextEditor_Scrollbar) + MenuItemActionHandler_TextEditor_Scrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x0045EF90, &OpenSHC::UI::MenuItemRenderFunction_TextEditor_Scrollbar) + MenuItemRenderFunction_TextEditor_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0045F120, + &OpenSHC::UI::MenuItemRenderFunction_DisplayScenarioHelpText_AnotherButtonUnk) + MenuItemRenderFunction_DisplayScenarioHelpText_AnotherButtonUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00461570, + &OpenSHC::UI::MenuItemActionHandler_TextEditor_TextInputRelatedUnk) + MenuItemActionHandler_TextEditor_TextInputRelatedUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0045DB40, + &OpenSHC::UI::MenuItemActionHandler_TextEditor_Buttons) + MenuItemActionHandler_TextEditor_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00463FF0, + &OpenSHC::UI::MenuItemRenderFunction_General_RenderCurrentButtonWithPossibleAlphaTexOnScreenMenuSurface) + MenuItemRenderFunction_General_RenderCurrentButtonWithPossibleAlphaTexOnScreenMenuSurface; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00464260, + &OpenSHC::UI::MenuItemRenderFunction_ChooseRandomNumberOfEnemies_Main) + MenuItemRenderFunction_ChooseRandomNumberOfEnemies_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004643F0, + &OpenSHC::UI::MenuItemRenderFunction_InGameMenu_MainButtons) + MenuItemRenderFunction_InGameMenu_MainButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00464860, + &OpenSHC::UI::MenuItemRenderFunction_MapEditorLandscaping_GeneralButtons) + MenuItemRenderFunction_MapEditorLandscaping_GeneralButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004649C0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_Unknown_Min1) + MenuItemActionHandler_BuildingAndStatusMenu_Unknown_Min1; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004649D0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_BarracksWeaponAvailability) + MenuItemRenderFunction_BuildingAndStatusMenu_BarracksWeaponAvailability; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00464D90, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_UnknownMin1Unk) + MenuItemActionHandler_BuildingAndStatusMenu_UnknownMin1Unk; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465040, &OpenSHC::UI::HasEnoughGold) + HasEnoughGold; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(ResourceTypeInt _weapon), false, Address::SHC_3BB0A8C1_0x00465110, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_WorkshopWeaponSelection) + MenuItemRenderFunction_BuildingAndStatusMenu_WorkshopWeaponSelection; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(ResourceTypeInt weapon), false, Address::SHC_3BB0A8C1_0x00465200, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_WorkshopWeaponSelection) + MenuItemActionHandler_BuildingAndStatusMenu_WorkshopWeaponSelection; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004652D0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_DrawbridgeOpenClose) + MenuItemRenderFunction_BuildingAndStatusMenu_DrawbridgeOpenClose; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465360, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_DrawbridgeOpenClose) + MenuItemActionHandler_BuildingAndStatusMenu_DrawbridgeOpenClose; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004653F0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_GatehouseOpenClose) + MenuItemRenderFunction_BuildingAndStatusMenu_GatehouseOpenClose; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465480, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_GatehouseOpenClose) + MenuItemActionHandler_BuildingAndStatusMenu_GatehouseOpenClose; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00465560, &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_TaxSlider) + MenuItemActionHandler_BuildingAndStatusMenu_TaxSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged), + false, Address::SHC_3BB0A8C1_0x00465630, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_HorizontalSlider) + MenuItemRenderFunction_BuildingAndStatusMenu_HorizontalSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004656A0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_TaxArrowButtons) + MenuItemActionHandler_BuildingAndStatusMenu_TaxArrowButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004657B0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_TaxArrowButtons) + MenuItemRenderFunction_BuildingAndStatusMenu_TaxArrowButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465820, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_ChangeRations) + MenuItemActionHandler_BuildingAndStatusMenu_ChangeRations; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004658B0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_GeneralButtonRender) + MenuItemRenderFunction_BuildingAndStatusMenu_GeneralButtonRender; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465920, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_MarketMenuChangeButtons) + MenuItemActionHandler_BuildingAndStatusMenu_MarketMenuChangeButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465950, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_SelectBuySellGoods) + MenuItemRenderFunction_BuildingAndStatusMenu_SelectBuySellGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004659E0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_SelectBuySellGoods) + MenuItemActionHandler_BuildingAndStatusMenu_SelectBuySellGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00465A20, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_BuySellMenuButtonsAndHands) + MenuItemRenderFunction_BuildingAndStatusMenu_BuySellMenuButtonsAndHands; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004660B0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_BuildingSleep) + MenuItemActionHandler_BuildingAndStatusMenu_BuildingSleep; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00466160, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_RepairBuildingButton) + MenuItemActionHandler_BuildingAndStatusMenu_RepairBuildingButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466320, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_RepairBuildingButton) + MenuItemRenderFunction_BuildingAndStatusMenu_RepairBuildingButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466620, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_OutpostUnitSelection) + MenuItemRenderFunction_BuildingAndStatusMenu_OutpostUnitSelection; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466710, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_OutpostUnitSelection) + MenuItemActionHandler_BuildingAndStatusMenu_OutpostUnitSelection; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00466730, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_OutpostSliderSize) + MenuItemActionHandler_BuildingAndStatusMenu_OutpostSliderSize; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00466810, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_OutpostSliderDelay) + MenuItemActionHandler_BuildingAndStatusMenu_OutpostSliderDelay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004668F0, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_BuildingIcons) + MenuItemRenderFunction_BuildMenu_BuildingIcons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466920, + &OpenSHC::UI::MenuItemRenderFunction_BuildMenu_BuildingSubcategoryButton) + MenuItemRenderFunction_BuildMenu_BuildingSubcategoryButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466950, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_BarrackUnitPortraits) + MenuItemActionHandler_BuildingAndStatusMenu_BarrackUnitPortraits; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466AB0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_MercenaryPostPortraits) + MenuItemRenderFunction_BuildingAndStatusMenu_MercenaryPostPortraits; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466C20, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_EngineerAndMonkPortraits) + MenuItemRenderFunction_BuildingAndStatusMenu_EngineerAndMonkPortraits; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466D10, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAndStatusMenu_TunnelerPortrait) + MenuItemRenderFunction_BuildingAndStatusMenu_TunnelerPortrait; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00466E10, &OpenSHC::UI::DisableMercPostPortraits) + DisableMercPostPortraits; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466E20, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_EngineerAndMonkPortraits) + MenuItemActionHandler_BuildingAndStatusMenu_EngineerAndMonkPortraits; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00466F60, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_TunnelerPortrait) + MenuItemActionHandler_BuildingAndStatusMenu_TunnelerPortrait; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00467040, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_BuySellMenuButtonsAndHands) + MenuItemActionHandler_BuildingAndStatusMenu_BuySellMenuButtonsAndHands; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int barrackUnitIdUnk), false, Address::SHC_3BB0A8C1_0x004672F0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_BarrackMenuClick) + MenuItemActionHandler_BuildingAndStatusMenu_BarrackMenuClick; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004674C0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAndStatusMenu_MercenaryPostPortraits) + MenuItemActionHandler_BuildingAndStatusMenu_MercenaryPostPortraits; + + MACRO_FUNCTION_RESOLVER( + 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(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047C670, + &OpenSHC::UI::MenuItemRenderFunction_NetworkSessions_Buttons) + MenuItemRenderFunction_NetworkSessions_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x0047C860, &OpenSHC::UI::MenuModalRenderFunction_ChooseNetworkServiceProvider) + MenuModalRenderFunction_ChooseNetworkServiceProvider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x0047CA80, + &OpenSHC::UI::MenuItemActionHandler_ChooseNetworkServiceProvider_ProviderScrollbarUnk) + MenuItemActionHandler_ChooseNetworkServiceProvider_ProviderScrollbarUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047CB30, + &OpenSHC::UI::MenuItemRenderFunction_ChooseNetworkServiceProvider_ProviderTableRows) + MenuItemRenderFunction_ChooseNetworkServiceProvider_ProviderTableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047CC10, + &OpenSHC::UI::MenuItemActionHandler_General_TextInputDisplay) + MenuItemActionHandler_General_TextInputDisplay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047CCA0, + &OpenSHC::UI::MenuItemRenderFunction_General_TextInputDisplay) + MenuItemRenderFunction_General_TextInputDisplay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047CEE0, + &OpenSHC::UI::MenuItemRenderFunction_ChooseNetworkServiceProvider_InputLabels) + MenuItemRenderFunction_ChooseNetworkServiceProvider_InputLabels; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047CF50, + &OpenSHC::UI::MenuItemRenderFunction_ChooseNetworkServiceProvider_YourIpDisplay) + MenuItemRenderFunction_ChooseNetworkServiceProvider_YourIpDisplay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x0047D070, + &OpenSHC::UI::MenuItemActionHandler_ChooseNetworkServiceProvider_ModemScrollbarUnk) + MenuItemActionHandler_ChooseNetworkServiceProvider_ModemScrollbarUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047D0E0, + &OpenSHC::UI::MenuItemActionHandler_ChooseNetworkServiceProvider_ModemTableRows) + MenuItemActionHandler_ChooseNetworkServiceProvider_ModemTableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047D100, + &OpenSHC::UI::MenuItemRenderFunction_ChooseNetworkServiceProvider_ModemTableRows) + MenuItemRenderFunction_ChooseNetworkServiceProvider_ModemTableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x0047D190, &OpenSHC::UI::MenuModalRenderFunction_FindingNetworkSessions) + MenuModalRenderFunction_FindingNetworkSessions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x0047D330, &OpenSHC::UI::MenuItemActionHandler_FindingNetworkSessions_Scrollbar) + MenuItemActionHandler_FindingNetworkSessions_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047D3F0, + &OpenSHC::UI::MenuItemActionHandler_FindingNetworkSessions_TableRows) + MenuItemActionHandler_FindingNetworkSessions_TableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047D410, + &OpenSHC::UI::MenuItemRenderFunction_FindingNetworkSessions_TableRows) + MenuItemRenderFunction_FindingNetworkSessions_TableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x0047E3A0, &OpenSHC::UI::MenuModalRenderFunction_WaitingForHost) + MenuModalRenderFunction_WaitingForHost; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047E3E0, + &OpenSHC::UI::MenuItemActionHandler_WaitingForHost_Button) + MenuItemActionHandler_WaitingForHost_Button; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047E420, + &OpenSHC::UI::MenuItemRenderFunction_WaitingForHost_Button) + MenuItemRenderFunction_WaitingForHost_Button; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047FD50, + &OpenSHC::UI::MenuItemRenderFunction_Chat_MostButtons) + MenuItemRenderFunction_Chat_MostButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047FFA0, + &OpenSHC::UI::MenuItemActionHandler_Chat_SendMessageToPlayer) + MenuItemActionHandler_Chat_SendMessageToPlayer; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0047FFE0, + &OpenSHC::UI::MenuItemRenderFunction_Chat_TauntButtons) + MenuItemRenderFunction_Chat_TauntButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00487200, + &OpenSHC::UI::MenuItemActionHandler_ChooseNetworkServiceProvider_ProviderTableRows) + MenuItemActionHandler_ChooseNetworkServiceProvider_ProviderTableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0048BF70, + &OpenSHC::UI::MenuItemActionHandler_FindingNetworkSessions_EnumerateDPlaySessions) + MenuItemActionHandler_FindingNetworkSessions_EnumerateDPlaySessions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0048F590, + &OpenSHC::UI::MenuItemActionHandler_Chat_MostButtons) + MenuItemActionHandler_Chat_MostButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0048F850, + &OpenSHC::UI::MenuItemActionHandler_Chat_TauntButtons) + MenuItemActionHandler_Chat_TauntButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(ChooseNetworkServiceProviderButtonActionsInt param_1), false, + Address::SHC_3BB0A8C1_0x004909E0, &OpenSHC::UI::MenuItemActionHandler_ChooseNetworkServiceProvider_Buttons) + MenuItemActionHandler_ChooseNetworkServiceProvider_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(FindingNetworkSessions_ButtonParametersInt param_1), false, + Address::SHC_3BB0A8C1_0x00490D90, &OpenSHC::UI::MenuItemActionHandler_FindingNetworkSessions_Buttons) + MenuItemActionHandler_FindingNetworkSessions_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x004914D0, + &OpenSHC::UI::MenuItemActionHandler_WaitingForHost_ConnectToLobby) + MenuItemActionHandler_WaitingForHost_ConnectToLobby; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00491810, &OpenSHC::UI::MenuModalRenderFunction_OptionsMenu) + MenuModalRenderFunction_OptionsMenu; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491840, + &OpenSHC::UI::MenuItemRenderFunction_OptionsMenu_Buttons) + MenuItemRenderFunction_OptionsMenu_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491A30, + &OpenSHC::UI::MenuItemRenderFunction_OptionsMenu_SubOptionsButtons) + MenuItemRenderFunction_OptionsMenu_SubOptionsButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00491AC0, &OpenSHC::UI::MenuModalRenderFunction_IdentityOptions) + MenuModalRenderFunction_IdentityOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00491BF0, &OpenSHC::UI::MenuModalRenderFunction_EnterTitleOnGameStart) + MenuModalRenderFunction_EnterTitleOnGameStart; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491C20, + &OpenSHC::UI::MenuItemActionHandler_EnterTitleOnGameStart_Button) + MenuItemActionHandler_EnterTitleOnGameStart_Button; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491C50, + &OpenSHC::UI::MenuItemRenderFunction_EnterTitleOnGameStart_Button) + MenuItemRenderFunction_EnterTitleOnGameStart_Button; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491CE0, + &OpenSHC::UI::MenuItemActionHandler_IdentityOptions_LordIcons) + MenuItemActionHandler_IdentityOptions_LordIcons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491D70, + &OpenSHC::UI::MenuItemRenderFunction_IdentityOptions_LordIcons) + MenuItemRenderFunction_IdentityOptions_LordIcons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00491E80, &OpenSHC::UI::MenuModalRenderFunction_GameplayOptions) + MenuModalRenderFunction_GameplayOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00491EB0, + &OpenSHC::UI::MenuItemRenderFunction_GameplayOptions_Buttons) + MenuItemRenderFunction_GameplayOptions_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00491FD0, &OpenSHC::UI::MenuItemActionHandler_GameplayOptions_SpeedSlider) + MenuItemActionHandler_GameplayOptions_SpeedSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged), + false, Address::SHC_3BB0A8C1_0x00492080, &OpenSHC::UI::MenuItemRenderFunction_GameplayOptions_SpeedSlider) + MenuItemRenderFunction_GameplayOptions_SpeedSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00492120, &OpenSHC::UI::MenuModalRenderFunction_VideoOptions) + MenuModalRenderFunction_VideoOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00492170, + &OpenSHC::UI::MenuItemRenderFunction_VideoOptions_Main) + MenuItemRenderFunction_VideoOptions_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00492660, &OpenSHC::UI::MenuModalRenderFunction_SoundOptions) + MenuModalRenderFunction_SoundOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00492690, + &OpenSHC::UI::MenuItemRenderFunction_SoundOptions_Buttons) + MenuItemRenderFunction_SoundOptions_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00492890, &OpenSHC::UI::MenuItemActionHandler_SoundOptions_VolumeSlider) + MenuItemActionHandler_SoundOptions_VolumeSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged), + false, Address::SHC_3BB0A8C1_0x004929C0, &OpenSHC::UI::MenuItemRenderFunction_SoundOptions_VolumeSlider) + MenuItemRenderFunction_SoundOptions_VolumeSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00492A60, &OpenSHC::UI::MenuModalRenderFunction_NetworkOptions) + MenuModalRenderFunction_NetworkOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00492A90, + &OpenSHC::UI::MenuItemRenderFunction_SaveLoadMap_Buttons) + MenuItemRenderFunction_SaveLoadMap_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x00492BA0, &OpenSHC::UI::MenuItemActionHandler_SaveLoadMap_Scrollbar) + MenuItemActionHandler_SaveLoadMap_Scrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x00492C60, &OpenSHC::UI::MenuItemRenderFunction_SaveLoadMap_Scrollbar) + MenuItemRenderFunction_SaveLoadMap_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00492C90, + &OpenSHC::UI::MenuItemRenderFunction_SaveLoadMap_TableContent) + MenuItemRenderFunction_SaveLoadMap_TableContent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00492DE0, + &OpenSHC::UI::MenuItemActionHandler_SaveLoadMap_TableHeader) + MenuItemActionHandler_SaveLoadMap_TableHeader; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00492FD0, + &OpenSHC::UI::MenuItemRenderFunction_SaveLoadMap_TableHeader) + MenuItemRenderFunction_SaveLoadMap_TableHeader; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004931A0, &OpenSHC::UI::MenuModalRenderFunction_SaveMap) + MenuModalRenderFunction_SaveMap; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004932A0, + &OpenSHC::UI::MenuItemActionHandler_SaveMap_TableContent) + MenuItemActionHandler_SaveMap_TableContent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004932E0, + &OpenSHC::UI::MenuItemRenderFunction_SaveMap_InputTextDisplay) + MenuItemRenderFunction_SaveMap_InputTextDisplay; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00493390, &OpenSHC::UI::MenuModalRenderFunction_YesNoDialog) + MenuModalRenderFunction_YesNoDialog; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004934F0, + &OpenSHC::UI::MenuItemRenderFunction_General_GameOptionsTextButton) + MenuItemRenderFunction_General_GameOptionsTextButton; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00493560, &OpenSHC::UI::MenuModalRenderFunction_ProgressBarBox) + MenuModalRenderFunction_ProgressBarBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004937B0, &OpenSHC::UI::MenuModalRenderFunction_OnlineQuitGame) + MenuModalRenderFunction_OnlineQuitGame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004937E0, &OpenSHC::UI::MenuModalRenderFunction_OnlineVoteQuitGame) + MenuModalRenderFunction_OnlineVoteQuitGame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00493850, + &OpenSHC::UI::MenuItemRenderFunction_OnlineVoteQuitAndQuitGame_Main) + MenuItemRenderFunction_OnlineVoteQuitAndQuitGame_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00493BD0, + &OpenSHC::UI::MenuItemActionHandler_OptionsMenu_SubOptionsButtons) + MenuItemActionHandler_OptionsMenu_SubOptionsButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00493D30, + &OpenSHC::UI::MenuItemActionHandler_IdentityOptions_Confirm) + MenuItemActionHandler_IdentityOptions_Confirm; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00493D80, + &OpenSHC::UI::MenuItemActionHandler_GameplayOptions_Buttons) + MenuItemActionHandler_GameplayOptions_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00493E20, + &OpenSHC::UI::MenuItemActionHandler_VideoOptions_Main) + MenuItemActionHandler_VideoOptions_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(SoundMenuClickTypeInt param_1), false, Address::SHC_3BB0A8C1_0x004940B0, + &OpenSHC::UI::MenuItemActionHandler_SoundOptions_Buttons) + MenuItemActionHandler_SoundOptions_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004941F0, + &OpenSHC::UI::MenuItemActionHandler_NetworkOptions_LeaveButtonUnk) + MenuItemActionHandler_NetworkOptions_LeaveButtonUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x00494210, &OpenSHC::UI::MenuModalRenderFunction_LoadMap) + MenuModalRenderFunction_LoadMap; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004943B0, + &OpenSHC::UI::MenuItemActionHandler_SaveLoadMap_Buttons) + MenuItemActionHandler_SaveLoadMap_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004948C0, + &OpenSHC::UI::MenuItemActionHandler_LoadMap_TableContent) + MenuItemActionHandler_LoadMap_TableContent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00494920, + &OpenSHC::UI::MenuItemActionHandler_SaveMap_ReturnKeySave) + MenuItemActionHandler_SaveMap_ReturnKeySave; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0048C230, + &OpenSHC::UI::MenuItemActionHandler_General_LaunchOrQuitMultiplayerGameUnk) + MenuItemActionHandler_General_LaunchOrQuitMultiplayerGameUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004950B0, + &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_0x00495860, + &OpenSHC::UI::MenuItemActionHandler_OnlineVoteQuitAndQuitGame_Main) + MenuItemActionHandler_OnlineVoteQuitAndQuitGame_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x00496B80, + &OpenSHC::UI::MenuItemActionHandler_OptionsMenu_Buttons) + MenuItemActionHandler_OptionsMenu_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AA440, &OpenSHC::UI::MenuModalRenderFunction_OverlaySlider) + MenuModalRenderFunction_OverlaySlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004AA600, &OpenSHC::UI::MenuItemActionHandler_OverlaySlider_Slider) + MenuItemActionHandler_OverlaySlider_Slider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged), + false, Address::SHC_3BB0A8C1_0x004AA800, &OpenSHC::UI::MenuItemRenderFunction_OverlaySlider_Slider) + MenuItemRenderFunction_OverlaySlider_Slider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AA970, + &OpenSHC::UI::MenuItemRenderFunction_UnusedWinCondition_Options) + MenuItemRenderFunction_UnusedWinCondition_Options; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAA40, &OpenSHC::UI::MenuModalRenderFunction_DebugDataCurrentPlayerData) + MenuModalRenderFunction_DebugDataCurrentPlayerData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAA60, &OpenSHC::UI::MenuModalRenderFunction_DebugDataAiInfo) + MenuModalRenderFunction_DebugDataAiInfo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAA80, &OpenSHC::UI::MenuModalRenderFunction_DebugDataUnitData) + MenuModalRenderFunction_DebugDataUnitData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAAA0, &OpenSHC::UI::MenuModalRenderFunction_DebugDataZoneDataUnk) + MenuModalRenderFunction_DebugDataZoneDataUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAAC0, &OpenSHC::UI::MenuModalRenderFunction_DebugDataMousePointing) + MenuModalRenderFunction_DebugDataMousePointing; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAAE0, &OpenSHC::UI::MenuModalRenderFunction_DebugDataNetwork) + MenuModalRenderFunction_DebugDataNetwork; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAB00, &OpenSHC::UI::MenuModalRenderFunction_DebugDataSplitInfo) + MenuModalRenderFunction_DebugDataSplitInfo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAB20, &OpenSHC::UI::MenuModalRenderFunction_DebugDataMapData) + MenuModalRenderFunction_DebugDataMapData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAB40, &OpenSHC::UI::MenuModalRenderFunction_TextEditor) + MenuModalRenderFunction_TextEditor; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AAB50, &OpenSHC::UI::MenuModalRenderFunction_CreditsScroll) + MenuModalRenderFunction_CreditsScroll; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB440, &OpenSHC::UI::MenuModalRenderFunction_DisplayAiLordMessage) + MenuModalRenderFunction_DisplayAiLordMessage; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB460, &OpenSHC::UI::MenuModalRenderFunction_UnusedChooseMessageBox) + MenuModalRenderFunction_UnusedChooseMessageBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB4B0, &OpenSHC::UI::MenuModalRenderFunction_TraderSettings) + MenuModalRenderFunction_TraderSettings; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB4E0, &OpenSHC::UI::MenuModalRenderFunction_StartGoods) + MenuModalRenderFunction_StartGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB510, &OpenSHC::UI::MenuModalRenderFunction_UnusedSiegeAttackingForceUnk) + MenuModalRenderFunction_UnusedSiegeAttackingForceUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB540, &OpenSHC::UI::MenuModalRenderFunction_CreateOrTriggerInvasion) + MenuModalRenderFunction_CreateOrTriggerInvasion; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB570, &OpenSHC::UI::MenuModalRenderFunction_UnusedCreateTimedMessageEvent) + MenuModalRenderFunction_UnusedCreateTimedMessageEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB680, &OpenSHC::UI::MenuModalRenderFunction_UnusedCreateMessageEvent) + MenuModalRenderFunction_UnusedCreateMessageEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AB790, &OpenSHC::UI::MenuModalRenderFunction_NewEvent) + MenuModalRenderFunction_NewEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABA20, &OpenSHC::UI::MenuModalRenderFunction_NewEventCondition) + MenuModalRenderFunction_NewEventCondition; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABAB0, &OpenSHC::UI::MenuModalRenderFunction_NewEventAction) + MenuModalRenderFunction_NewEventAction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABBA0, &OpenSHC::UI::MenuModalRenderFunction_BuildingAvailability) + MenuModalRenderFunction_BuildingAvailability; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABCB0, &OpenSHC::UI::MenuModalRenderFunction_DisableTroops) + MenuModalRenderFunction_DisableTroops; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABCE0, &OpenSHC::UI::MenuModalRenderFunction_DisableWeapon) + MenuModalRenderFunction_DisableWeapon; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABD10, &OpenSHC::UI::MenuModalRenderFunction_TutorialBox_Thunk) + MenuModalRenderFunction_TutorialBox_Thunk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABD20, &OpenSHC::UI::MenuModalRenderFunction_Chat) + MenuModalRenderFunction_Chat; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABE50, &OpenSHC::UI::MenuModalRenderFunction_SkirmishConnectionOptions) + MenuModalRenderFunction_SkirmishConnectionOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ABE80, &OpenSHC::UI::MenuModalRenderFunction_SkirmishPlayOptions) + MenuModalRenderFunction_SkirmishPlayOptions; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004ABEB0, + &OpenSHC::UI::MenuItemActionHandler_EditorMapTypeQuickChange_Main) + MenuItemActionHandler_EditorMapTypeQuickChange_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AC040, + &OpenSHC::UI::MenuItemRenderFunction_EditorMapTypeQuickChange_Main) + MenuItemRenderFunction_EditorMapTypeQuickChange_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AC250, &OpenSHC::UI::MenuModalRenderFunction_TriggerEvent) + MenuModalRenderFunction_TriggerEvent; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AC280, &OpenSHC::UI::MenuModalRenderFunction_TriggerEventSlider) + MenuModalRenderFunction_TriggerEventSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AC310, &OpenSHC::UI::MenuModalRenderFunction_SendMapTo) + MenuModalRenderFunction_SendMapTo; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AC440, + &OpenSHC::UI::MenuItemRenderFunction_SendReceiveMap_Main) + MenuItemRenderFunction_SendReceiveMap_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + 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(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AC6E0, &OpenSHC::UI::MenuModalRenderFunction_Allies) + MenuModalRenderFunction_Allies; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004641A0, + &OpenSHC::UI::MenuItemRenderFunction_Allies_Main) + MenuItemRenderFunction_Allies_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AD2B0, &OpenSHC::UI::MenuModalRenderFunction_AlliesOrder) + MenuModalRenderFunction_AlliesOrder; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AD480, + &OpenSHC::UI::MenuItemRenderFunction_AlliesOrder_Main) + MenuItemRenderFunction_AlliesOrder_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AD780, &OpenSHC::UI::MenuModalRenderFunction_AlliesRequestGoods) + MenuModalRenderFunction_AlliesRequestGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int actionParam), false, Address::SHC_3BB0A8C1_0x004AD920, + &OpenSHC::UI::MenuItemRenderFunction_AlliesSendAndRequestGoods_Main) + MenuItemRenderFunction_AlliesSendAndRequestGoods_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004ADD90, &OpenSHC::UI::MenuModalRenderFunction_AlliesSendGoods) + MenuModalRenderFunction_AlliesSendGoods; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AE070, &OpenSHC::UI::MenuModalRenderFunction_ChooseRandomNumberOfEnemies) + MenuModalRenderFunction_ChooseRandomNumberOfEnemies; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AE0F0, &OpenSHC::UI::MenuModalRenderFunction_GreatestLord) + MenuModalRenderFunction_GreatestLord; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AE720, + &OpenSHC::UI::MenuItemRenderFunction_GreatestLord_Main) + MenuItemRenderFunction_GreatestLord_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AE7D0, + &OpenSHC::UI::MenuItemActionHandler_AiLordSelect_Main) + MenuItemActionHandler_AiLordSelect_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AE950, + &OpenSHC::UI::MenuItemRenderFunction_AiLordSelect_Main) + MenuItemRenderFunction_AiLordSelect_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AEA50, + &OpenSHC::UI::MenuItemActionHandler_Roundtable_Main) + MenuItemActionHandler_Roundtable_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004AEF70, + &OpenSHC::UI::MenuItemRenderFunction_Roundtable_Main) + MenuItemRenderFunction_Roundtable_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004AF4C0, &OpenSHC::UI::MenuModalRenderFunction_DebugDataAivStateUnk) + MenuModalRenderFunction_DebugDataAivStateUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B0F70, + &OpenSHC::UI::MenuItemActionHandler_OverlaySlider_Deselect) + MenuItemActionHandler_OverlaySlider_Deselect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B1000, + &OpenSHC::UI::MenuItemActionHandler_UnusedWinCondition_DeselectUnk) + MenuItemActionHandler_UnusedWinCondition_DeselectUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B1090, + &OpenSHC::UI::MenuItemActionHandler_UnusedWinCondition_Options) + MenuItemActionHandler_UnusedWinCondition_Options; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B10D0, + &OpenSHC::UI::MenuItemActionHandler_SendReceiveMap_Main) + MenuItemActionHandler_SendReceiveMap_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B12D0, + &OpenSHC::UI::MenuItemActionHandler_Allies_Main) + MenuItemActionHandler_Allies_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B1410, + &OpenSHC::UI::MenuItemActionHandler_AlliesOrder_Main) + MenuItemActionHandler_AlliesOrder_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B14C0, + &OpenSHC::UI::MenuItemActionHandler_AlliesSendAndRequestGoods_Main) + MenuItemActionHandler_AlliesSendAndRequestGoods_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B18D0, + &OpenSHC::UI::MenuItemActionHandler_ChooseRandomNumberOfEnemies_Main) + MenuItemActionHandler_ChooseRandomNumberOfEnemies_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B1990, + &OpenSHC::UI::MenuItemActionHandler_GreatestLord_Main) + MenuItemActionHandler_GreatestLord_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004B19E0, &OpenSHC::UI::MenuModalRenderFunction_AiLordSelect) + MenuModalRenderFunction_AiLordSelect; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004B1AC0, &OpenSHC::UI::MenuModalRenderFunction_Roundtable) + MenuModalRenderFunction_Roundtable; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B6500, + &OpenSHC::UI::MenuItemRenderFunction_InGameMenu_MapEventIconUnk) + MenuItemRenderFunction_InGameMenu_MapEventIconUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B6530, + &OpenSHC::UI::MenuItemActionHandler_InGameMenu_MapEventIconUnk) + MenuItemActionHandler_InGameMenu_MapEventIconUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B65A0, + &OpenSHC::UI::MenuItemRenderFunction_InGameMenu_KeepEnclosedSymbol) + MenuItemRenderFunction_InGameMenu_KeepEnclosedSymbol; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B65F0, + &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(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004B8050, + &OpenSHC::UI::MenuView_General_DoInitial_OnlySetMenuXY) + MenuView_General_DoInitial_OnlySetMenuXY; + + MACRO_FUNCTION_RESOLVER( + 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(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B8220, + &OpenSHC::UI::MenuItemActionHandler_EditScenario_BaseMenuButtons) + MenuItemActionHandler_EditScenario_BaseMenuButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B8990, + &OpenSHC::UI::MenuItemActionHandler_EditScenario_DateYearBox) + MenuItemActionHandler_EditScenario_DateYearBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004B8A50, &OpenSHC::UI::MenuItemActionHandler_EditScenario_Scrollbar) + MenuItemActionHandler_EditScenario_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B8B10, + &OpenSHC::UI::MenuItemActionHandler_EditScenario_EventAndInvasionList) + MenuItemActionHandler_EditScenario_EventAndInvasionList; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B8BF0, + &OpenSHC::UI::MenuItemRenderFunction_EditScenario_EventAndInvasionList) + MenuItemRenderFunction_EditScenario_EventAndInvasionList; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B9020, + &OpenSHC::UI::MenuItemActionHandler_EditScenario_UpDownButtons) + MenuItemActionHandler_EditScenario_UpDownButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B9060, + &OpenSHC::UI::MenuItemRenderFunction_EditScenario_UpDownButtons) + MenuItemRenderFunction_EditScenario_UpDownButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int unitTypeMenuID), false, Address::SHC_3BB0A8C1_0x004B9110, + &OpenSHC::UI::MenuItemActionHandler_NewInvasion_UnitButtons) + MenuItemActionHandler_NewInvasion_UnitButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B92D0, + &OpenSHC::UI::MenuItemRenderFunction_NewInvasion_UnitButtons) + MenuItemRenderFunction_NewInvasion_UnitButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004B94A0, &OpenSHC::UI::MenuItemActionHandler_NewInvasion_RepeatSlider) + MenuItemActionHandler_NewInvasion_RepeatSlider; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbXPos, int sliderValue, int thumbWidth, BOOLEnum isDragged), false, + 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(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B9620, + &OpenSHC::UI::MenuItemActionHandler_NewEventCondition_Main) + MenuItemActionHandler_NewEventCondition_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004B9C00, + &OpenSHC::UI::MenuItemActionHandler_NewEventAction_Main) + MenuItemActionHandler_NewEventAction_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004B9E50, &OpenSHC::UI::MenuItemActionHandler_General_EventSlider) + MenuItemActionHandler_General_EventSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged), + false, Address::SHC_3BB0A8C1_0x004BA3C0, &OpenSHC::UI::MenuItemRenderFunction_General_EventSlider) + MenuItemRenderFunction_General_EventSlider; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int index), false, Address::SHC_3BB0A8C1_0x004BA560, + &OpenSHC::UI::MenuItemActionHandler_UnusedCreateMessageEvent_Unknown) + MenuItemActionHandler_UnusedCreateMessageEvent_Unknown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BA5C0, + &OpenSHC::UI::MenuItemActionHandler_SiegeAttackingForceAndStartGoods_Main) + MenuItemActionHandler_SiegeAttackingForceAndStartGoods_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BA780, + &OpenSHC::UI::MenuItemActionHandler_TraderSettings) + MenuItemActionHandler_TraderSettings; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BA980, + &OpenSHC::UI::MenuItemRenderFunction_UnusedCreateMessageEvent_Buttons) + MenuItemRenderFunction_UnusedCreateMessageEvent_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BAC20, + &OpenSHC::UI::MenuItemRenderFunction_EditScenario_StartDateMonth) + MenuItemRenderFunction_EditScenario_StartDateMonth; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BAC90, + &OpenSHC::UI::MenuItemRenderFunction_EditScenario_StartDate) + MenuItemRenderFunction_EditScenario_StartDate; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004BAD70, &OpenSHC::UI::MenuItemActionHandler_General_MessageScrollbar) + MenuItemActionHandler_General_MessageScrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x004BAE30, &OpenSHC::UI::MenuItemRenderFunction_General_Scrollbar) + MenuItemRenderFunction_General_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BAE80, + &OpenSHC::UI::MenuItemRenderFunction_General_MessageScrollbarUpDown) + MenuItemRenderFunction_General_MessageScrollbarUpDown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB0D0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAvailability_Buttons) + MenuItemRenderFunction_BuildingAvailability_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB2C0, + &OpenSHC::UI::MenuItemActionHandler_BuildingAvailability_Buttons) + MenuItemActionHandler_BuildingAvailability_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB3E0, + &OpenSHC::UI::MenuItemRenderFunction_BuildingAvailability_TableRows) + MenuItemRenderFunction_BuildingAvailability_TableRows; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004BB480, &OpenSHC::UI::MenuItemActionHandler_BuildingAvailability_Scrollbar) + MenuItemActionHandler_BuildingAvailability_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB540, + &OpenSHC::UI::MenuItemActionHandler_DisableEuroTroops_Main) + MenuItemActionHandler_DisableEuroTroops_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB570, + &OpenSHC::UI::MenuItemRenderFunction_DisableEuroTroops_Main) + MenuItemRenderFunction_DisableEuroTroops_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB650, + &OpenSHC::UI::MenuItemActionHandler_DisableArabTroops_Main) + MenuItemActionHandler_DisableArabTroops_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB680, + &OpenSHC::UI::MenuItemRenderFunction_DisableArabTroops_Main) + MenuItemRenderFunction_DisableArabTroops_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB740, + &OpenSHC::UI::MenuItemActionHandler_DisableWeapon_Main) + MenuItemActionHandler_DisableWeapon_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BB7B0, + &OpenSHC::UI::MenuItemRenderFunction_DisableWeapon_Main) + MenuItemRenderFunction_DisableWeapon_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BBA60, + &OpenSHC::UI::MenuItemRenderFunction_General_CreateEventCallbackFunction) + MenuItemRenderFunction_General_CreateEventCallbackFunction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BBD90, + &OpenSHC::UI::MenuItemActionHandler_TriggerInvasion_Main) + MenuItemActionHandler_TriggerInvasion_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BBF40, + &OpenSHC::UI::MenuItemRenderFunction_TriggerInvasion_Main) + MenuItemRenderFunction_TriggerInvasion_Main; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BC5F0, &OpenSHC::UI::FUN_004bc5f0) + FUN_004bc5f0; + + 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; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int param_2), false, Address::SHC_3BB0A8C1_0x004BC790, &OpenSHC::UI::FUN_004bc790) + FUN_004bc790; + + 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 x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004BCBA0, &OpenSHC::UI::MenuModalRenderFunction_TutorialBox) + MenuModalRenderFunction_TutorialBox; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BCEC0, + &OpenSHC::UI::MenuItemActionHandler_TutorialBox_Main) + MenuItemActionHandler_TutorialBox_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BD0F0, + &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_0x004BEC10, &OpenSHC::UI::MenuView_EditScenario_Prepare) + MenuView_EditScenario_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BEC40, + &OpenSHC::UI::MenuItemRenderFunction_EditScenario_BaseMenuButtons) + MenuItemRenderFunction_EditScenario_BaseMenuButtons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BF1D0, + &OpenSHC::UI::MenuItemRenderFunction_EditScenario_TextBoxLike) + MenuItemRenderFunction_EditScenario_TextBoxLike; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BF720, + &OpenSHC::UI::MenuItemActionHandler_UnusedChooseMessageBox_Unknown) + MenuItemActionHandler_UnusedChooseMessageBox_Unknown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BF760, + &OpenSHC::UI::MenuItemActionHandler_NewInvasion_Buttons) + MenuItemActionHandler_NewInvasion_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BFA60, + &OpenSHC::UI::MenuItemRenderFunction_NewInvasion_Buttons) + MenuItemRenderFunction_NewInvasion_Buttons; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BFE20, + &OpenSHC::UI::MenuItemActionHandler_UnusedCreateMessageEvent_SetTextUnk) + MenuItemActionHandler_UnusedCreateMessageEvent_SetTextUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004BFFA0, + &OpenSHC::UI::MenuItemRenderFunction_General_EventButtonAndData) + MenuItemRenderFunction_General_EventButtonAndData; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004C0040, + &OpenSHC::UI::MenuItemActionHandler_NewEvent_Main) + MenuItemActionHandler_NewEvent_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004C01B0, + &OpenSHC::UI::MenuItemRenderFunction_NewEventCondition_Main) + MenuItemRenderFunction_NewEventCondition_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004C0860, + &OpenSHC::UI::MenuItemRenderFunction_NewEventAction_Main) + MenuItemRenderFunction_NewEventAction_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004C0CF0, + &OpenSHC::UI::MenuItemRenderFunction_SiegeAttackingForceAndStartGoods_Main) + MenuItemRenderFunction_SiegeAttackingForceAndStartGoods_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004C1070, + &OpenSHC::UI::MenuItemRenderFunction_TraderSettings) + MenuItemRenderFunction_TraderSettings; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004C1770, + &OpenSHC::UI::MenuItemActionHandler_General_CreateEventCallbackFunction) + MenuItemActionHandler_General_CreateEventCallbackFunction; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D55D0, &OpenSHC::UI::MenuView_GameLost_Prepare) + MenuView_GameLost_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D6BC0, + &OpenSHC::UI::MenuItemActionHandler_MissionEndscreen_Main) + MenuItemActionHandler_MissionEndscreen_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D6D20, + &OpenSHC::UI::MenuItemRenderFunction_MissionEndscreen_Main) + MenuItemRenderFunction_MissionEndscreen_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D6EF0, &OpenSHC::UI::MenuView_CampaignUnk_DoEveryFrame) + MenuView_CampaignUnk_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D6F20, + &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(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D8250, + &OpenSHC::UI::MenuItemRenderFunction_ScenarioDescription_Main) + MenuItemRenderFunction_ScenarioDescription_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D8570, + &OpenSHC::UI::MenuItemActionHandler_ScenarioDescription_Main) + MenuItemActionHandler_ScenarioDescription_Main; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(char* param_1), false, Address::SHC_3BB0A8C1_0x004D8A20, &OpenSHC::UI::FUN_004d8a20) + FUN_004d8a20; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D8AB0, &OpenSHC::UI::MenuView_CrusadeMissionIntro_Prepare) + MenuView_CrusadeMissionIntro_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int imageID, int x, int y), false, Address::SHC_3BB0A8C1_0x004D8AE0, + &OpenSHC::UI::RenderPlayerAvatars) + RenderPlayerAvatars; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D8BB0, + &OpenSHC::UI::MenuItemRenderFunction_CrusadeMissionIntro_Main) + MenuItemRenderFunction_CrusadeMissionIntro_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D8C10, + &OpenSHC::UI::MenuItemActionHandler_CrusadeMissionIntro_Main) + MenuItemActionHandler_CrusadeMissionIntro_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D8CB0, &OpenSHC::UI::MenuView_CrusadeMap_Prepare) + MenuView_CrusadeMap_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D8DF0, + &OpenSHC::UI::MenuItemRenderFunction_General_CrusadeMapAndEndscreen) + MenuItemRenderFunction_General_CrusadeMapAndEndscreen; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D8EC0, + &OpenSHC::UI::MenuItemActionHandler_CrusadeMap_Main) + MenuItemActionHandler_CrusadeMap_Main; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D91D0, &OpenSHC::UI::MenuView_CrusadeEndscreen_DoInitial) + MenuView_CrusadeEndscreen_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D9230, + &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(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D9700, &OpenSHC::UI::MenuView_RankingGames_Prepare) + MenuView_RankingGames_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D9730, + &OpenSHC::UI::MenuItemActionHandler_RankingGames_Main) + MenuItemActionHandler_RankingGames_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D99F0, + &OpenSHC::UI::MenuItemRenderFunction_RankingGames_Main) + MenuItemRenderFunction_RankingGames_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1, int param_2, int* minValue, int* maxValue, int* currentValue), + false, Address::SHC_3BB0A8C1_0x004D9B30, &OpenSHC::UI::MenuItemActionHandler_RankingGames_Scrollbar) + MenuItemActionHandler_RankingGames_Scrollbar; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged), false, + Address::SHC_3BB0A8C1_0x004D9C10, &OpenSHC::UI::MenuItemRenderFunction_RankingGames_Scrollbar) + MenuItemRenderFunction_RankingGames_Scrollbar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004D9CC0, &OpenSHC::UI::MenuModalRenderFunctionMenuModal_DeleteGameRecord) + MenuModalRenderFunctionMenuModal_DeleteGameRecord; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D9D60, + &OpenSHC::UI::MenuItemActionHandler_DeleteGameRecord_Main) + MenuItemActionHandler_DeleteGameRecord_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int x, int y, int width, int height), false, + Address::SHC_3BB0A8C1_0x004D9DB0, &OpenSHC::UI::MenuModalRenderFunction_TacticalPowerBar) + MenuModalRenderFunction_TacticalPowerBar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004D9EC0, + &OpenSHC::UI::MenuItemRenderFunction_TacticalPowerBar_Main) + MenuItemRenderFunction_TacticalPowerBar_Main; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004DA050, + &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_0x004DA200, &OpenSHC::UI::FUN_004da200) + FUN_004da200; + + 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; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x004DA7E0, &OpenSHC::UI::FUN_004da7e0) + FUN_004da7e0; + + 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_0x004DA840, &OpenSHC::UI::FUN_004da840) + FUN_004da840; + + 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_0x004DA8A0, &OpenSHC::UI::FUN_004da8a0) + FUN_004da8a0; + + 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; + + 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, 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; + + 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; + + 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; + + 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; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, undefined4 param_2), false, + Address::SHC_3BB0A8C1_0x004DABF0, &OpenSHC::UI::FUN_004dabf0) + FUN_004dabf0; + + 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; + + 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(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DAFB0, &OpenSHC::UI::FUN_004dafb0) + FUN_004dafb0; + + MACRO_FUNCTION_RESOLVER( + void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004DB0D0, &OpenSHC::UI::FUN_004db0d0) + FUN_004db0d0; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1, undefined4 param_2), false, + Address::SHC_3BB0A8C1_0x004DB180, &OpenSHC::UI::FUN_004db180) + FUN_004db180; + + 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(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB4F0, + &OpenSHC::UI::MenuView_HistoricMissionPicture_Prepare) + MenuView_HistoricMissionPicture_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB5C0, + &OpenSHC::UI::MenuView_General_DoInitial_BlackBorderAndGfx) + MenuView_General_DoInitial_BlackBorderAndGfx; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB600, + &OpenSHC::UI::MenuView_HistoricMissionPicture_DoEveryFrame) + MenuView_HistoricMissionPicture_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB7B0, + &OpenSHC::UI::MenuView_HistoricMissionIntro_Prepare) + MenuView_HistoricMissionIntro_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB8B0, + &OpenSHC::UI::MenuView_HistoricMissionIntro_DoEveryFrame) + MenuView_HistoricMissionIntro_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DBAF0, + &OpenSHC::UI::MenuView_HistoricCampaignIntro_Prepare) + MenuView_HistoricCampaignIntro_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DBBC0, + &OpenSHC::UI::MenuView_HistoricCampaignIntro_DoEveryFrame) + MenuView_HistoricCampaignIntro_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DBE30, + &OpenSHC::UI::MenuView_HistoricCampaignOutro_Prepare) + MenuView_HistoricCampaignOutro_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DBF00, + &OpenSHC::UI::MenuView_HistoricCampaignOutro_DoEveryFrame) + MenuView_HistoricCampaignOutro_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + undefined4(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC140, &OpenSHC::UI::FUN_004dc140) + FUN_004dc140; + + 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_0x004DC500, + &OpenSHC::UI::MenuView_MissionFinishedTransition_DoEveryFrame) + MenuView_MissionFinishedTransition_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DC9E0, &OpenSHC::UI::MenuView_GameLost_DoEveryFrame) + MenuView_GameLost_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DCC70, + &OpenSHC::UI::MenuView_Unknown26_CampaignRelatedUnk_Prepare) + MenuView_Unknown26_CampaignRelatedUnk_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DCC90, &OpenSHC::UI::MenuView_CampaignUnk_Prepare) + MenuView_CampaignUnk_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DD0C0, &OpenSHC::UI::MenuView_CampaignUnk_DoInitial) + MenuView_CampaignUnk_DoInitial; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DD100, &OpenSHC::UI::MenuView_ScenarioDescription_Prepare) + MenuView_ScenarioDescription_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DD300, + &OpenSHC::UI::MenuView_ScenarioDescription_DoInitial) + MenuView_ScenarioDescription_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DD350, + &OpenSHC::UI::MenuView_ScenarioDescription_DoEveryFrame) + MenuView_ScenarioDescription_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DD750, + &OpenSHC::UI::MenuView_General_DoInitial_CrusadeAndRankMenu) + MenuView_General_DoInitial_CrusadeAndRankMenu; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DD7B0, + &OpenSHC::UI::MenuView_CrusadeMissionIntro_DoEveryFrame) + MenuView_CrusadeMissionIntro_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DE300, &OpenSHC::UI::MenuView_CrusadeMap_DoEveryFrame) + MenuView_CrusadeMap_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DF2E0, &OpenSHC::UI::MenuView_CrusadeEndscreen_Prepare) + MenuView_CrusadeEndscreen_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DFB90, &OpenSHC::UI::MenuView_RankingGames_DoEveryFrame) + MenuView_RankingGames_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1A20, &OpenSHC::UI::MenuView_UnusedExtremeAd_Prepare) + MenuView_UnusedExtremeAd_Prepare; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1A50, &OpenSHC::UI::MenuView_UnusedExtremeAd_DoInitial) + MenuView_UnusedExtremeAd_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1AA0, + &OpenSHC::UI::MenuView_UnusedExtremeAd_DoEveryFrame) + MenuView_UnusedExtremeAd_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1B30, + &OpenSHC::UI::MenuView_MissionFinishedTransition_Prepare) + MenuView_MissionFinishedTransition_Prepare; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1E30, + &OpenSHC::UI::MenuView_Unknown26_CampaignRelatedUnk_DoInitial) + MenuView_Unknown26_CampaignRelatedUnk_DoInitial; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1E70, + &OpenSHC::UI::MenuView_Unknown26_CampaignRelatedUnk_DoEveryFrame) + MenuView_Unknown26_CampaignRelatedUnk_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004E1F50, + &OpenSHC::UI::MenuView_CrusadeEndscreen_DoEveryFrame) + MenuView_CrusadeEndscreen_DoEveryFrame; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004F6A60, + &OpenSHC::UI::MenuItemActionHandler_General_DisplayConditionalText) + MenuItemActionHandler_General_DisplayConditionalText; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x004F6A70, + &OpenSHC::UI::MenuItemActionHandler_General_RemoveConditionalTextOrReleaseHoverUnk) + MenuItemActionHandler_General_RemoveConditionalTextOrReleaseHoverUnk; + +} // namespace UI_Func +} // namespace OpenSHC diff --git a/src/OpenSHC/UI.hpp b/src/OpenSHC/UI.hpp new file mode 100644 index 0000000..1adf92b --- /dev/null +++ b/src/OpenSHC/UI.hpp @@ -0,0 +1,1133 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/Game/Resources/ResourceTypeInt.hpp" +#include "OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp" +#include "OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp" +#include "OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace UI { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::Game::Resources::ResourceTypeInt; + using OpenSHC::UI::ChooseNetworkServiceProvider::ChooseNetworkServiceProviderButtonActionsInt; + using OpenSHC::UI::Enums::SoundMenuClickTypeInt; + using OpenSHC::UI::Multiplayer::FindingNetworkSessions_ButtonParametersInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + void __stdcall MenuView_IntroLogos_Prepare(); + + void __stdcall MenuView_IntroLogos_DoInitial(); + + void __stdcall MenuView_IntroLogos_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_IntroLogos_General(int unused); + + void __stdcall MenuView_IntroVideo_Prepare(); + + void __stdcall MenuView_IntroVideo_DoEveryFrame(); + + void __stdcall MenuView_GameStartEnterName_DoEveryFrame(); + + void __stdcall MenuView_MainMenu_Prepare(); + + void __stdcall MenuView_MainMenu_DoInitial(); + + void __stdcall MenuView_MainMenu_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_MainMenu_Main(int param_1); + + void __cdecl MenuItemActionHandler_MainMenu_Main(int param_1); + + void __stdcall MenuView_HistoricCampaignSelect_Prepare(); + + void __stdcall MenuView_HistoricCampaignSelect_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_HistoricCampaignSelect_Main(int param_1); + + void __cdecl MenuItemActionHandler_HistoricCampaignSelect_Main(int param_1); + + void __stdcall MenuView_UnusedEconomicGametypeSelect_Prepare(); + + void __stdcall MenuView_UnusedEconomicGametypeSelect_DoInitial(); + + void __cdecl MenuItemRenderFunction_UnusedEconomicGametypeSelect_Main(int param_1); + + void __cdecl MenuItemActionHandler_UnusedEconomicGametypeSelect_Main(int param_1); + + void __stdcall MenuView_CustomScenarios_Prepare(); + + void __stdcall MenuView_General_DoInitial_BlackBoxDefaultBorderAndPicture(); + + void __stdcall MenuView_CustomScenarios_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_CustomScenarios_Main(int param_1); + + void __stdcall MenuView_Credits_Prepare(); + + void __stdcall MenuView_Credits_DoInitial(); + + void __stdcall MenuView_Credits_DoEveryFrame(); + + void __stdcall MenuView_UnusedDemoBuyItScreen_Prepare(); + + void __stdcall MenuView_UnusedDemoBuyItScreen_DoInitial(); + + void __stdcall MenuView_UnusedDemoBuyItScreen_DoEveryFrame(); + + void __cdecl MenuModalRenderFunction_UnusedSetName(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_UnusedSetName_ButtonsUnk(int param_1); + + void __cdecl MenuItemActionHandler_UnusedSetName_ButtonsUnk(int param_1); + + void __stdcall MenuView_HistoricMissionSelect_Prepare(); + + void __stdcall MenuView_MissionSelect_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_HistoricMissionSelect_MissionRows(int param_1); + + void __cdecl MenuItemActionHandler_HistoricMissionSelect_General(int param_1); + + void __stdcall MenuView_UnusedEconomicMissionSelect_Prepare(); + + void __cdecl MenuItemRenderFunction_HistoricAndEconomicMissionSelect_NextAndBackHands(int param_1); + + void __cdecl MenuItemRenderFunction_UnusedEconomicMissionSelect_MissionSelect(int param_1); + + void __cdecl MenuItemActionHandler_UnusedEconomicMissionSelect_General(int param_1); + + void __stdcall MenuView_UnusedSomeMissionStartUnk_Prepare(); + + void __cdecl MenuItemRenderFunction_UnusedSomeMissionStartUnk_General(int param_1); + + void __cdecl MenuItemActionHandler_UnusedSomeMissionStartUnk_General(int param_1); + + void __stdcall MenuView_MpConnection_Prepare(); + + void __stdcall MenuView_General_DoEveryFrame_FirstGfxCentered(); + + void __stdcall MenuView_Unknown61ReturnToSkrimishMenuUnk_DoInitial(); + + void __stdcall MenuView_Unknown61ReturnToSkrimishMenuUnk_DoEveryFrame(); + + void __stdcall MenuView_LobbyMenu_Prepare(); + + void __stdcall MenuView_General_DoInitial_DefaultMainMenuStructure(); + + void __cdecl MenuItemRenderFunction_LobbyMenu_MapSelectHeader(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_PlayerListAndNpcButtons(int param_1); + + void __cdecl MenuItemRenderFunction_General_MenuMiniMap(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_MapDesc(int param_1); + + void __cdecl MenuItemActionHandler_LobbyMenu_MapDescScrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_LobbyMenu_MapDescScrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __cdecl MenuItemRenderFunction_General_AdvancedGameOptions(int param_1); + + void __cdecl MenuItemActionHandler_General_AdvancedGameOptions(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_SkirmishTypeAndBalance(int param_1); + + void __cdecl MenuItemActionHandler_LobbyMenu_SkirmishTypeAndBalance(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_Unknown(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_ChatBox(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_NonBoxedButtons(int param_1); + + void __cdecl MenuItemActionHandler_LobbyMenu_MapSelectTable(int param_1); + + void __cdecl MenuItemRenderFunction_LobbyMenu_MapSelectTable(int param_1); + + void __cdecl MenuItemActionHandler_LobbyMenu_MapSelectScrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_LobbyMenu_MapSelectScrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __stdcall MenuView_UnusedSelectRandomNumberOfEnemies_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_UnusedSelectRandomNumberOfEnemies_Main(int param_1); + + void __stdcall MenuView_General_Prepare_SwordShieldAndBorder(); + + void __stdcall MenuView_SelectCrusade_DoInitial(); + + void __stdcall MenuView_SelectCrusade_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_SelectCrusade_Main(int param_1); + + void __cdecl MenuItemRenderFunction_SelectCrusade_Main(int param_1); + + void __stdcall MenuView_Unknown33_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_SingleplayerMapChoice_ButtonsAndHands(int param_1); + + void __cdecl MenuItemActionHandler_SingleplayerMapChoice_ButtonsAndHands(int param_1); + + void __cdecl MenuItemRenderFunction_SingleplayerMapChoice_MapTable(int param_1); + + void __cdecl MenuItemRenderFunction_SingleplayerMapChoice_MapTableHeader(int param_1); + + void __cdecl MenuItemRenderFunction_SingleplayerMapChoice_Scrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __stdcall MenuView_UnusedOldTitleMenu_Prepare(); + + void __stdcall MenuView_UnusedOldTitleMenu_DoInitial(); + + void __cdecl MenuItemRenderFunction_UnusedOldTitleMenu_ExitButton(int param_1); + + void __cdecl MenuItemRenderFunction_UnusedOldTitleMenu_ContinueButton(int param_1); + + void __cdecl MenuItemRenderFunction_UnusedOldTitleMenu_TestMapButton(int param_1); + + void __stdcall MenuView_MapEditorProperties_Prepare(); + + void __stdcall MenuView_MapEditorProperties_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_MapEditorProperties_MainButtons(int param_1); + + void __cdecl MenuItemRenderFunction_MapEditorProperties_MapDescriptionBox(int param_1); + + void __cdecl MenuItemActionHandler_MapEditorProperties_MapDescriptionBox(); + + void __cdecl MenuItemActionHandler_MapEditorProperties_MapDescriptionScrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_MapEditorProperties_MapDescriptionScrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __stdcall MenuView_NewMapMaptype_Prepare(); + + void __cdecl MenuItemRenderFunction_NewMapMaptype_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_NewMapMaptype_Buttons(int param_1); + + void __stdcall MenuView_NewMapMapsize_Prepare(); + + void __stdcall MenuView_NewMapMapsize_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_NewMapMapsize_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_NewMapMapsize_Buttons(int param_1); + + void __stdcall MenuView_UnusedChooseAvailableKeeps_Prepare(); + + void __stdcall MenuView_UnusedChooseAvailableKeeps_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_UnusedChooseAvailableKeeps_Main(int param_1); + + void __cdecl MenuItemActionHandler_UnusedChooseAvailableKeeps_Main(int param_1); + + void __stdcall MenuView_General_DoInitial_ScreenToBlack(); + + void __stdcall MenuView_UnusedChooseGameType_DoEveryFrame(); + + void __cdecl MenuItemRenderFunctio_UnusedChooseGameType_Mainn(int param_1); + + void __cdecl MenuItemActionHandler_UnusedChooseGameType_Main(int param_1); + + void __stdcall MenuView_UnusedCreateSiege_Prepare(); + + void __stdcall MenuView_UnusedCreateSiege_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_UnusedCreateSiege_SiegeThat(int param_1); + + void __stdcall MenuView_MapEditorLandscaping_Prepare(); + + void __stdcall MenuView_MapEditorLandscaping_DoInitial(); + + void __stdcall MenuView_MapEditorLandscaping_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_MapEditorLandscaping_CategoryButtons(int param_1); + + void __cdecl MenuItemActionHandler_MapEditorLandscaping_GeneralButtons(CommandBuildingTypeInt param_1); + + void __stdcall MenuView_BuildMenu_Prepare(); + + void __stdcall MenuView_BuildMenu_DoInitial(); + + void __stdcall MenuView_BuildMenu_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_BuildMenu_SomeKeepAndGranaryCheckUnk(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_UnknownBinkRelated(int param_1); + + void __stdcall RenderScribeFrame(); + + void __cdecl MenuItemActionHandler_InGameMenu_ProcessScribeAnimationChange(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_ViewToKeeps(int param_1); + + void __stdcall RenderGoldValue(); + + void __cdecl MenuItemActionHandler_InGameMenu_Scrolling(int param_1); + + void __cdecl MenuItemRenderFunction_BuildMenu_BuildingKeepSubcategoryButton(int param_1); + + void __cdecl MenuItemActionHandler_General_Unknown2(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_MiniMapInteraction(int param_1); + + void __cdecl MenuItemRenderFunction_BuildMenu_MiniMapInteraction(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_PeasantBuildAndRightClickMenuSelection(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_UnitSelectionAndControlsUnk(int param_1); + + void __stdcall MenuItemActionHandler_InGameMenu_TriggerPlaceWallCommand(); + + void __cdecl MenuItemActionHandler_BuildMenu_DeleteAction(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_RightClickMenuAndMaybeResets(int param_1); + + void __cdecl MenuItemRenderFunction_BuildMenu_UnitActionButtons(int mapperValue); + + void __cdecl MenuItemRenderFunction_BuildMenu_CurrentlySelectedTroops(int param_1); + + void __cdecl MenuItemRenderFunction_BuildMenu_CurrentlySelectedTroopsDeselectHelper(int param_1); + + void __cdecl MenuItemActionHandler_BuildMenu_CurrentlySelectedTroops(int slotID); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_StopBuildingOrPeasantBinkPlayback(); + + void __stdcall MenuView_BuildingAndStatusMenu_DoInitial(); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_Unknown_Countdown(); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_BuildingHelpTextButton(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_BuildingHelpTextButton(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_BarracksAndMercenaryPostHelpText(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_AvailablePeasantsTextUpperRight(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_AvailablePeasantsTextDownRight(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_StatusMenuButtons(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_StatusMainMenuButtons(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_PopularityMenuSwitchButtonUnk(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_PopularityMenuSwitchButton(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_DisableFoodType(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_DisableFoodType(int foodType); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_ArmySwitchButton(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_ArmyStatusSwitchButton(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_ArmyStatusReturn(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_ReturnToBuildMenu(int param_1); + + void __stdcall FUN_00440360(); + + void __stdcall MenuView_UnusedHelpTextEditor_Prepare(); + + void __stdcall MenuView_UnusedHelpTextEditor_DoEveryFrame(); + + void __cdecl MenuItemFunction_General_Unknown(int param_1); + + void __cdecl MenuItemActionHandler_UnusedOldTitleMenu_General(int param_1); + + void __cdecl MenuView_GameStartEnterName_Prepare(void* param_1); + + void __stdcall MenuView_GameStartEnterName_DoInitial(); + + void __cdecl MenuItemActionHandler_CustomScenarios_Main(int param_1); + + void __stdcall MenuView_Unknown61ReturnToSkrimishMenuUnk_Prepare(); + + void __cdecl MenuItemActionHandler_LobbyMenu_MapSelectHeader(int param_1); + + void __cdecl MenuItemActionHandler_LobbyMenu_PlayerListAndNpcButtons(int param_1); + + void __cdecl MenuItemActionHandler_LobbyMenu_LobbyscreenStartButtonClick(int param_1); + + void __cdecl MenuItemActionHandler_SingleplayerMapChoice_MapTable(int param_1); + + void __cdecl MenuItemActionHandler_SingleplayerMapChoice_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemActionHandler_MapEditorProperties_MainButtons(int param_1); + + void __cdecl MenuItemActionHandler_UnusedCreateSiege_SiegeThat(int param_1); + + void __cdecl MenuItemActionHandler_MapEditorLandscaping_QueueCommandCallback(); + + void __cdecl MenuItemActionHandler_General_ToolbarButtonPressed(CommandBuildingTypeInt buttonID); + + void __cdecl MenuItemActionHandler_InGameMenu_MainButtons(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_TriggerPlaceBuildingCommand(int param_1); + + void __cdecl MenuItemActionHandler_BuildMenu_UnitActionButtons(int param_1); + + void __stdcall MenuView_BuildingAndStatusMenu_Prepare(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_BuildingWorkStatus(int param_1); + + void __stdcall MenuView_LobbyMenu_DoEveryFrame(); + + void __stdcall MenuView_SingleplayerMapChoice_Prepare(); + + void __stdcall MenuView_SingleplayerMapChoice_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_SingleplayerMapChoice_MapTableHeader(int param_1); + + void __stdcall MenuView_BuildingAndStatusMenu_DoEveryFrame(); + + void __cdecl MenuItemRenderFunction_TextEditor_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_TextEditor_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_TextEditor_Scrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __cdecl MenuItemRenderFunction_DisplayScenarioHelpText_AnotherButtonUnk(int param_1); + + void __cdecl MenuItemActionHandler_TextEditor_TextInputRelatedUnk(); + + void __cdecl MenuItemActionHandler_TextEditor_Buttons(int param_1); + + void __cdecl MenuItemRenderFunction_General_RenderCurrentButtonWithPossibleAlphaTexOnScreenMenuSurface(); + + void __cdecl MenuItemRenderFunction_ChooseRandomNumberOfEnemies_Main(int param_1); + + void __cdecl MenuItemRenderFunction_InGameMenu_MainButtons(int param_1); + + void __cdecl MenuItemRenderFunction_MapEditorLandscaping_GeneralButtons(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_Unknown_Min1(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_BarracksWeaponAvailability(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_UnknownMin1Unk(); + + BOOLEnum __cdecl HasEnoughGold(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_WorkshopWeaponSelection(ResourceTypeInt _weapon); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_WorkshopWeaponSelection(ResourceTypeInt weapon); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_DrawbridgeOpenClose(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_DrawbridgeOpenClose(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_GatehouseOpenClose(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_GatehouseOpenClose(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_TaxSlider( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_HorizontalSlider( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_TaxArrowButtons(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_TaxArrowButtons(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_ChangeRations(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_GeneralButtonRender(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_MarketMenuChangeButtons(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_SelectBuySellGoods(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_SelectBuySellGoods(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_BuySellMenuButtonsAndHands(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_BuildingSleep(); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_RepairBuildingButton(); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_RepairBuildingButton(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_OutpostUnitSelection(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_OutpostUnitSelection(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_OutpostSliderSize( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_OutpostSliderDelay( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_BuildMenu_BuildingIcons(int param_1); + + void __cdecl MenuItemRenderFunction_BuildMenu_BuildingSubcategoryButton(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_BarrackUnitPortraits(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_MercenaryPostPortraits(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_EngineerAndMonkPortraits(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAndStatusMenu_TunnelerPortrait(int param_1); + + void __cdecl DisableMercPostPortraits(); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_EngineerAndMonkPortraits(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_TunnelerPortrait(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_BuySellMenuButtonsAndHands(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_BarrackMenuClick(int barrackUnitIdUnk); + + void __cdecl MenuItemActionHandler_BuildingAndStatusMenu_MercenaryPostPortraits(int param_1); + + undefined4 __cdecl TicksSinceCounterStart(); + + void __stdcall FUN_00471a80(); + + void __cdecl MenuItemRenderFunction_NetworkSessions_Buttons(int param_1); + + void __cdecl MenuModalRenderFunction_ChooseNetworkServiceProvider(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_ChooseNetworkServiceProvider_ProviderScrollbarUnk( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_ChooseNetworkServiceProvider_ProviderTableRows(int param_1); + + void __cdecl MenuItemActionHandler_General_TextInputDisplay(int param_1); + + void __cdecl MenuItemRenderFunction_General_TextInputDisplay(int param_1); + + void __cdecl MenuItemRenderFunction_ChooseNetworkServiceProvider_InputLabels(int param_1); + + void __cdecl MenuItemRenderFunction_ChooseNetworkServiceProvider_YourIpDisplay(int param_1); + + void __cdecl MenuItemActionHandler_ChooseNetworkServiceProvider_ModemScrollbarUnk( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemActionHandler_ChooseNetworkServiceProvider_ModemTableRows(int param_1); + + void __cdecl MenuItemRenderFunction_ChooseNetworkServiceProvider_ModemTableRows(int param_1); + + void __cdecl MenuModalRenderFunction_FindingNetworkSessions(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_FindingNetworkSessions_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemActionHandler_FindingNetworkSessions_TableRows(int param_1); + + void __cdecl MenuItemRenderFunction_FindingNetworkSessions_TableRows(int param_1); + + void __cdecl MenuModalRenderFunction_WaitingForHost(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_WaitingForHost_Button(int param_1); + + void __cdecl MenuItemRenderFunction_WaitingForHost_Button(int param_1); + + void __cdecl MenuItemRenderFunction_Chat_MostButtons(int param_1); + + void __cdecl MenuItemActionHandler_Chat_SendMessageToPlayer(int param_1); + + void __cdecl MenuItemRenderFunction_Chat_TauntButtons(int param_1); + + void __cdecl MenuItemActionHandler_ChooseNetworkServiceProvider_ProviderTableRows(int param_1); + + void __cdecl MenuItemActionHandler_FindingNetworkSessions_EnumerateDPlaySessions(int param_1); + + void __cdecl MenuItemActionHandler_Chat_MostButtons(int param_1); + + void __cdecl MenuItemActionHandler_Chat_TauntButtons(int param_1); + + void __cdecl MenuItemActionHandler_ChooseNetworkServiceProvider_Buttons( + ChooseNetworkServiceProviderButtonActionsInt param_1); + + void __cdecl MenuItemActionHandler_FindingNetworkSessions_Buttons( + FindingNetworkSessions_ButtonParametersInt param_1); + + void __cdecl MenuItemActionHandler_WaitingForHost_ConnectToLobby(); + + void __cdecl MenuModalRenderFunction_OptionsMenu(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_OptionsMenu_Buttons(int param_1); + + void __cdecl MenuItemRenderFunction_OptionsMenu_SubOptionsButtons(int param_1); + + void __cdecl MenuModalRenderFunction_IdentityOptions(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_EnterTitleOnGameStart(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_EnterTitleOnGameStart_Button(int param_1); + + void __cdecl MenuItemRenderFunction_EnterTitleOnGameStart_Button(int param_1); + + void __cdecl MenuItemActionHandler_IdentityOptions_LordIcons(int param_1); + + void __cdecl MenuItemRenderFunction_IdentityOptions_LordIcons(int param_1); + + void __cdecl MenuModalRenderFunction_GameplayOptions(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_GameplayOptions_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_GameplayOptions_SpeedSlider( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_GameplayOptions_SpeedSlider( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged); + + void __cdecl MenuModalRenderFunction_VideoOptions(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_VideoOptions_Main(int param_1); + + void __cdecl MenuModalRenderFunction_SoundOptions(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_SoundOptions_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_SoundOptions_VolumeSlider( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_SoundOptions_VolumeSlider( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged); + + void __cdecl MenuModalRenderFunction_NetworkOptions(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_SaveLoadMap_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_SaveLoadMap_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_SaveLoadMap_Scrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __cdecl MenuItemRenderFunction_SaveLoadMap_TableContent(int param_1); + + void __cdecl MenuItemActionHandler_SaveLoadMap_TableHeader(int param_1); + + void __cdecl MenuItemRenderFunction_SaveLoadMap_TableHeader(int param_1); + + void __cdecl MenuModalRenderFunction_SaveMap(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_SaveMap_TableContent(int param_1); + + void __cdecl MenuItemRenderFunction_SaveMap_InputTextDisplay(int param_1); + + void __cdecl MenuModalRenderFunction_YesNoDialog(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_General_GameOptionsTextButton(int param_1); + + void __cdecl MenuModalRenderFunction_ProgressBarBox(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_OnlineQuitGame(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_OnlineVoteQuitGame(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_OnlineVoteQuitAndQuitGame_Main(int param_1); + + void __cdecl MenuItemActionHandler_OptionsMenu_SubOptionsButtons(int param_1); + + void __cdecl MenuItemActionHandler_IdentityOptions_Confirm(int param_1); + + void __cdecl MenuItemActionHandler_GameplayOptions_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_VideoOptions_Main(int param_1); + + void __cdecl MenuItemActionHandler_SoundOptions_Buttons(SoundMenuClickTypeInt param_1); + + void __cdecl MenuItemActionHandler_NetworkOptions_LeaveButtonUnk(int param_1); + + void __cdecl MenuModalRenderFunction_LoadMap(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_SaveLoadMap_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_LoadMap_TableContent(int param_1); + + void __cdecl MenuItemActionHandler_SaveMap_ReturnKeySave(int param_1); + + void __cdecl MenuItemActionHandler_General_LaunchOrQuitMultiplayerGameUnk(int param_1); + + void __cdecl MenuItemActionHandler_ProgressBarBox_LoadAndSaveGameButtonLogic(int param_1); + + void __cdecl FUN_00495800(int param_1); + + void __cdecl MenuItemActionHandler_OnlineVoteQuitAndQuitGame_Main(int param_1); + + void __cdecl MenuItemActionHandler_OptionsMenu_Buttons(int param_1); + + void __cdecl MenuModalRenderFunction_OverlaySlider(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_OverlaySlider_Slider( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_OverlaySlider_Slider( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged); + + void __cdecl MenuItemRenderFunction_UnusedWinCondition_Options(int param_1); + + void __cdecl MenuModalRenderFunction_DebugDataCurrentPlayerData(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataAiInfo(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataUnitData(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataZoneDataUnk(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataMousePointing(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataNetwork(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataSplitInfo(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DebugDataMapData(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_TextEditor(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_CreditsScroll(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DisplayAiLordMessage(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_UnusedChooseMessageBox(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_TraderSettings(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_StartGoods(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_UnusedSiegeAttackingForceUnk(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_CreateOrTriggerInvasion(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_UnusedCreateTimedMessageEvent(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_UnusedCreateMessageEvent(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_NewEvent(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_NewEventCondition(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_NewEventAction(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_BuildingAvailability(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DisableTroops(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_DisableWeapon(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_TutorialBox_Thunk(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_Chat(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_SkirmishConnectionOptions(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_SkirmishPlayOptions(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_EditorMapTypeQuickChange_Main(int param_1); + + void __cdecl MenuItemRenderFunction_EditorMapTypeQuickChange_Main(int param_1); + + void __cdecl MenuModalRenderFunction_TriggerEvent(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_TriggerEventSlider(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_SendMapTo(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_SendReceiveMap_Main(int param_1); + + void __cdecl MenuModalRenderFunction_ReceiveMapFrom(int x, int y, int width, int height); + + void __stdcall FUN_004ac650(); + + void __cdecl MenuModalRenderFunction_Allies(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_Allies_Main(int param_1); + + void __cdecl MenuModalRenderFunction_AlliesOrder(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_AlliesOrder_Main(int param_1); + + void __cdecl MenuModalRenderFunction_AlliesRequestGoods(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_AlliesSendAndRequestGoods_Main(int actionParam); + + void __cdecl MenuModalRenderFunction_AlliesSendGoods(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_ChooseRandomNumberOfEnemies(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_GreatestLord(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_GreatestLord_Main(int param_1); + + void __cdecl MenuItemActionHandler_AiLordSelect_Main(int param_1); + + void __cdecl MenuItemRenderFunction_AiLordSelect_Main(int param_1); + + void __cdecl MenuItemActionHandler_Roundtable_Main(int param_1); + + void __cdecl MenuItemRenderFunction_Roundtable_Main(int param_1); + + void __cdecl MenuModalRenderFunction_DebugDataAivStateUnk(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_OverlaySlider_Deselect(int param_1); + + void __cdecl MenuItemActionHandler_UnusedWinCondition_DeselectUnk(int param_1); + + void __cdecl MenuItemActionHandler_UnusedWinCondition_Options(int param_1); + + void __cdecl MenuItemActionHandler_SendReceiveMap_Main(int param_1); + + void __cdecl MenuItemActionHandler_Allies_Main(int param_1); + + void __cdecl MenuItemActionHandler_AlliesOrder_Main(int param_1); + + void __cdecl MenuItemActionHandler_AlliesSendAndRequestGoods_Main(int param_1); + + void __cdecl MenuItemActionHandler_ChooseRandomNumberOfEnemies_Main(int param_1); + + void __cdecl MenuItemActionHandler_GreatestLord_Main(int param_1); + + void __cdecl MenuModalRenderFunction_AiLordSelect(int x, int y, int width, int height); + + void __cdecl MenuModalRenderFunction_Roundtable(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_InGameMenu_MapEventIconUnk(int param_1); + + void __cdecl MenuItemActionHandler_InGameMenu_MapEventIconUnk(int param_1); + + void __cdecl MenuItemRenderFunction_InGameMenu_KeepEnclosedSymbol(int param_1); + + void __cdecl MenuItemRenderFunction_InGameMenu_BikMessagePlayerShield(int param_1); + + void __cdecl FUN_004b7f60(uint param_1, int param_2); + + void __stdcall MenuView_General_DoInitial_OnlySetMenuXY(); + + void __stdcall MenuView_EditScenario_DoEveryFrame(); + + void __stdcall FUN_004b8210(); + + void __cdecl MenuItemActionHandler_EditScenario_BaseMenuButtons(int param_1); + + void __cdecl MenuItemActionHandler_EditScenario_DateYearBox(int param_1); + + void __cdecl MenuItemActionHandler_EditScenario_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemActionHandler_EditScenario_EventAndInvasionList(int param_1); + + void __cdecl MenuItemRenderFunction_EditScenario_EventAndInvasionList(int param_1); + + void __cdecl MenuItemActionHandler_EditScenario_UpDownButtons(int param_1); + + void __cdecl MenuItemRenderFunction_EditScenario_UpDownButtons(int param_1); + + void __cdecl MenuItemActionHandler_NewInvasion_UnitButtons(int unitTypeMenuID); + + void __cdecl MenuItemRenderFunction_NewInvasion_UnitButtons(int param_1); + + void __cdecl MenuItemActionHandler_NewInvasion_RepeatSlider( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_NewInvasion_RepeatSlider( + int param_1, int thumbXPos, int sliderValue, int thumbWidth, BOOLEnum isDragged); + + void __stdcall FUN_004b9610(); + + void __cdecl MenuItemActionHandler_NewEventCondition_Main(int param_1); + + void __cdecl MenuItemActionHandler_NewEventAction_Main(int param_1); + + void __cdecl MenuItemActionHandler_General_EventSlider( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_General_EventSlider( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOL isDragged); + + void __cdecl MenuItemActionHandler_UnusedCreateMessageEvent_Unknown(int index); + + void __cdecl MenuItemActionHandler_SiegeAttackingForceAndStartGoods_Main(int param_1); + + void __cdecl MenuItemActionHandler_TraderSettings(int param_1); + + void __cdecl MenuItemRenderFunction_UnusedCreateMessageEvent_Buttons(int param_1); + + void __cdecl MenuItemRenderFunction_EditScenario_StartDateMonth(int param_1); + + void __cdecl MenuItemRenderFunction_EditScenario_StartDate(int param_1); + + void __cdecl MenuItemActionHandler_General_MessageScrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_General_Scrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __cdecl MenuItemRenderFunction_General_MessageScrollbarUpDown(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAvailability_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAvailability_Buttons(int param_1); + + void __cdecl MenuItemRenderFunction_BuildingAvailability_TableRows(int param_1); + + void __cdecl MenuItemActionHandler_BuildingAvailability_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemActionHandler_DisableEuroTroops_Main(int param_1); + + void __cdecl MenuItemRenderFunction_DisableEuroTroops_Main(int param_1); + + void __cdecl MenuItemActionHandler_DisableArabTroops_Main(int param_1); + + void __cdecl MenuItemRenderFunction_DisableArabTroops_Main(int param_1); + + void __cdecl MenuItemActionHandler_DisableWeapon_Main(int param_1); + + void __cdecl MenuItemRenderFunction_DisableWeapon_Main(int param_1); + + void __cdecl MenuItemRenderFunction_General_CreateEventCallbackFunction(int param_1); + + void __cdecl MenuItemActionHandler_TriggerInvasion_Main(int param_1); + + void __cdecl MenuItemRenderFunction_TriggerInvasion_Main(int param_1); + + void __cdecl FUN_004bc5f0(int param_1); + + void __cdecl FUN_004bc630(int param_1); + + void __stdcall FUN_004bc6c0(); + + void __cdecl FUN_004bc790(int param_1, int param_2); + + void __cdecl FUN_004bc910(int param_1); + + void __cdecl MenuModalRenderFunction_TutorialBox(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_TutorialBox_Main(int param_1); + + void __cdecl MenuItemRenderFunction_TutorialBox_Main(int param_1); + + void __stdcall FUN_004bd1b0(); + + void __stdcall MenuView_EditScenario_Prepare(); + + void __cdecl MenuItemRenderFunction_EditScenario_BaseMenuButtons(int param_1); + + void __cdecl MenuItemRenderFunction_EditScenario_TextBoxLike(int param_1); + + void __cdecl MenuItemActionHandler_UnusedChooseMessageBox_Unknown(int param_1); + + void __cdecl MenuItemActionHandler_NewInvasion_Buttons(int param_1); + + void __cdecl MenuItemRenderFunction_NewInvasion_Buttons(int param_1); + + void __cdecl MenuItemActionHandler_UnusedCreateMessageEvent_SetTextUnk(int param_1); + + void __cdecl MenuItemRenderFunction_General_EventButtonAndData(int param_1); + + void __cdecl MenuItemActionHandler_NewEvent_Main(int param_1); + + void __cdecl MenuItemRenderFunction_NewEventCondition_Main(int param_1); + + void __cdecl MenuItemRenderFunction_NewEventAction_Main(int param_1); + + void __cdecl MenuItemRenderFunction_SiegeAttackingForceAndStartGoods_Main(int param_1); + + void __cdecl MenuItemRenderFunction_TraderSettings(int param_1); + + void __cdecl MenuItemActionHandler_General_CreateEventCallbackFunction(int param_1); + + void __stdcall MenuView_GameLost_Prepare(); + + void __cdecl MenuItemActionHandler_MissionEndscreen_Main(int param_1); + + void __cdecl MenuItemRenderFunction_MissionEndscreen_Main(int param_1); + + void __stdcall MenuView_CampaignUnk_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_Unknown27CampaignUnk_Main(int param_1); + + void __stdcall FUN_004d6f60(); + + void __cdecl MenuItemRenderFunction_ScenarioDescription_Main(int param_1); + + void __cdecl MenuItemActionHandler_ScenarioDescription_Main(int param_1); + + void __cdecl FUN_004d8a20(char* param_1); + + void __stdcall MenuView_CrusadeMissionIntro_Prepare(); + + void __cdecl RenderPlayerAvatars(int imageID, int x, int y); + + void __cdecl MenuItemRenderFunction_CrusadeMissionIntro_Main(int param_1); + + void __cdecl MenuItemActionHandler_CrusadeMissionIntro_Main(int param_1); + + void __stdcall MenuView_CrusadeMap_Prepare(); + + void __cdecl MenuItemRenderFunction_General_CrusadeMapAndEndscreen(int param_1); + + void __cdecl MenuItemActionHandler_CrusadeMap_Main(int param_1); + + void __stdcall MenuView_CrusadeEndscreen_DoInitial(); + + void __cdecl MenuItemActionHandler_CrusadeEndscreen_Main(int param_1); + + void __cdecl FUN_004d9270(undefined4 param_1); + + void __stdcall MenuView_RankingGames_Prepare(); + + void __cdecl MenuItemActionHandler_RankingGames_Main(int param_1); + + void __cdecl MenuItemRenderFunction_RankingGames_Main(int param_1); + + void __cdecl MenuItemActionHandler_RankingGames_Scrollbar( + int param_1, int param_2, int* minValue, int* maxValue, int* currentValue); + + void __cdecl MenuItemRenderFunction_RankingGames_Scrollbar( + int param_1, int thumbYPos, int param_3, int thumbHeight, BOOLEnum isDragged); + + void __cdecl MenuModalRenderFunctionMenuModal_DeleteGameRecord(int x, int y, int width, int height); + + void __cdecl MenuItemActionHandler_DeleteGameRecord_Main(int param_1); + + void __cdecl MenuModalRenderFunction_TacticalPowerBar(int x, int y, int width, int height); + + void __cdecl MenuItemRenderFunction_TacticalPowerBar_Main(int param_1); + + void __cdecl MenuItemActionHandler_TacticalPowerBar_Main(int param_1); + + void __stdcall FUN_004da180(); + + void __stdcall FUN_004da200(); + + void __stdcall resetCredits(); + + void __cdecl FUN_004da7a0(undefined4 param_1, undefined4 param_2); + + void __cdecl FUN_004da7e0(undefined4 param_1); + + void __stdcall FUN_004da810(); + + void __stdcall FUN_004da840(); + + void __stdcall FUN_004da870(); + + void __stdcall FUN_004da8a0(); + + void __cdecl FUN_004da8d0(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 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 FUN_004daa80(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 FUN_004dab80(char* param_1, undefined4 param_2, int param_3, undefined4 param_4); + + void __cdecl FUN_004dabf0(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 FUN_004dacf0(int param_1, int param_2); + + void __stdcall FUN_004dafb0(); + + void __cdecl FUN_004db0d0(int param_1); + + void __cdecl FUN_004db180(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 __stdcall MenuView_HistoricMissionPicture_Prepare(); + + void __stdcall MenuView_General_DoInitial_BlackBorderAndGfx(); + + void __stdcall MenuView_HistoricMissionPicture_DoEveryFrame(); + + void __stdcall MenuView_HistoricMissionIntro_Prepare(); + + void __stdcall MenuView_HistoricMissionIntro_DoEveryFrame(); + + void __stdcall MenuView_HistoricCampaignIntro_Prepare(); + + void __stdcall MenuView_HistoricCampaignIntro_DoEveryFrame(); + + void __stdcall MenuView_HistoricCampaignOutro_Prepare(); + + void __stdcall MenuView_HistoricCampaignOutro_DoEveryFrame(); + + undefined4 __stdcall FUN_004dc140(); + + void __stdcall FUN_004dc1c0(); + + void __stdcall MenuView_MissionFinishedTransition_DoEveryFrame(); + + void __stdcall MenuView_GameLost_DoEveryFrame(); + + void __stdcall MenuView_Unknown26_CampaignRelatedUnk_Prepare(); + + void __stdcall MenuView_CampaignUnk_Prepare(); + + void __stdcall MenuView_CampaignUnk_DoInitial(); + + void __stdcall MenuView_ScenarioDescription_Prepare(); + + void __stdcall MenuView_ScenarioDescription_DoInitial(); + + void __stdcall MenuView_ScenarioDescription_DoEveryFrame(); + + void __stdcall MenuView_General_DoInitial_CrusadeAndRankMenu(); + + void __stdcall MenuView_CrusadeMissionIntro_DoEveryFrame(); + + void __stdcall MenuView_CrusadeMap_DoEveryFrame(); + + void __stdcall MenuView_CrusadeEndscreen_Prepare(); + + void __stdcall MenuView_RankingGames_DoEveryFrame(); + + void __stdcall MenuView_UnusedExtremeAd_Prepare(); + + void __stdcall MenuView_UnusedExtremeAd_DoInitial(); + + void __stdcall MenuView_UnusedExtremeAd_DoEveryFrame(); + + void __stdcall MenuView_MissionFinishedTransition_Prepare(); + + void __stdcall MenuView_Unknown26_CampaignRelatedUnk_DoInitial(); + + void __stdcall MenuView_Unknown26_CampaignRelatedUnk_DoEveryFrame(); + + void __stdcall MenuView_CrusadeEndscreen_DoEveryFrame(); + + void __cdecl MenuItemActionHandler_General_DisplayConditionalText(int param_1); + + void __cdecl MenuItemActionHandler_General_RemoveConditionalTextOrReleaseHoverUnk(int param_1); + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ActiveMenuTab.hpp b/src/OpenSHC/UI/ActiveMenuTab.hpp new file mode 100644 index 0000000..ab36f02 --- /dev/null +++ b/src/OpenSHC/UI/ActiveMenuTab.hpp @@ -0,0 +1,32 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ActiveMenuTab.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp" +#include "OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp" +#include "OpenSHC/_SHCDE/eInBuildingModesInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::_SHCDE::eInBuildingModesInt; + using OpenSHC::UI::Enums::BuildingsAndStatusMenuTabTypeInt; + using OpenSHC::UI::Enums::BuildMenuTabTypeShort; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union ActiveMenuTab { + + BuildingsAndStatusMenuTabTypeInt tabType; // 0x00000000 length: 4 + BuildMenuTabTypeShort buildMenuTab; // 0x00000000 length: 4 + eInBuildingModesInt inBuildingTab; // 0x00000000 length: 4 + + } ActiveMenuTab; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ActiveMenuTab) == 4, ActiveMenuTab); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/BottomLeftTextDisplayState.func.hpp b/src/OpenSHC/UI/BottomLeftTextDisplayState.func.hpp new file mode 100644 index 0000000..baa748b --- /dev/null +++ b/src/OpenSHC/UI/BottomLeftTextDisplayState.func.hpp @@ -0,0 +1,28 @@ +/** + path: 'OpenSHC/UI/BottomLeftTextDisplayState.func.hpp' +*/ + +#include "OpenSHC/UI/BottomLeftTextDisplayState.hpp" +#include "OpenSHC/UI/TextMessageBLLookupStructUnion.hpp" +namespace OpenSHC { +namespace UI { + namespace BottomLeftTextDisplayState_Func { + + using OpenSHC::UI::TextMessageBLLookupStructUnion; + + MACRO_FUNCTION_RESOLVER( + void (BottomLeftTextDisplayState::*)(int, int, int, TextMessageBLLookupStructUnion, int, int), false, + Address::SHC_3BB0A8C1_0x004F4E00, &BottomLeftTextDisplayState::setBottomLeftTextDisplayText) + setBottomLeftTextDisplayText; + + MACRO_FUNCTION_RESOLVER(void (BottomLeftTextDisplayState::*)(), false, Address::SHC_3BB0A8C1_0x004F4EF0, + &BottomLeftTextDisplayState::hasPassedCountdownOrDuration) + hasPassedCountdownOrDuration; + + MACRO_FUNCTION_RESOLVER(void (BottomLeftTextDisplayState::*)(int), false, Address::SHC_3BB0A8C1_0x004F4F60, + &BottomLeftTextDisplayState::renderCurrentlyDisplayedTextConstructionCost) + renderCurrentlyDisplayedTextConstructionCost; + + } // namespace BottomLeftTextDisplayState_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/BottomLeftTextDisplayState.hpp b/src/OpenSHC/UI/BottomLeftTextDisplayState.hpp new file mode 100644 index 0000000..018f68a --- /dev/null +++ b/src/OpenSHC/UI/BottomLeftTextDisplayState.hpp @@ -0,0 +1,54 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/BottomLeftTextDisplayState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/TextMessageBLLookupStructUnion.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::TextMessageBLLookupStructUnion; + +#pragma pack(push, 1) + + // SIZE: 0x00000024 + class BottomLeftTextDisplayState { + public: + dword currentlyDisplayedTextIsDisplayedUnk; // 0x00000000 length: 4 + dword currentlyDisplayedUnkTextGroupIndex_0x4; // 0x00000004 length: 4 + dword currentlyDisplayedUnkTextNumInGroup_0x8; // 0x00000008 length: 4 + TextMessageBLLookupStructUnion currentlyDisplayedUnktextExtraObject; // 0x0000000C length: 4 + int currentlyDisplayedTextImportanceUnk; // 0x00000010 length: 4 + int textMessageDurationUnk; // 0x00000014 length: 4 + int textMessageTime; // 0x00000018 length: 4 + int unknownCountdown01; // 0x0000001C length: 4 + dword countdown; // 0x00000020 length: 4 + + private: + BottomLeftTextDisplayState(BottomLeftTextDisplayState const&); + void operator=(BottomLeftTextDisplayState const&); + + BottomLeftTextDisplayState(); + ~BottomLeftTextDisplayState(); + + public: + void setBottomLeftTextDisplayText(int messageTypeUnk, int textGroupIndex, int textNumInGroup, + TextMessageBLLookupStructUnion param_4, int importanceUnk, int displayDurationUnk); + + void hasPassedCountdownOrDuration(); + + void renderCurrentlyDisplayedTextConstructionCost(int param_1); + }; + + static_assert_cpp98_obj(sizeof(BottomLeftTextDisplayState) == 36, BottomLeftTextDisplayState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(BottomLeftTextDisplayState, false, Address::SHC_3BB0A8C1_0x00EE106C) + pDAT_BottomLeftTextDisplayState; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/BuildingNameRelatedStruct.hpp b/src/OpenSHC/UI/BuildingNameRelatedStruct.hpp new file mode 100644 index 0000000..336e935 --- /dev/null +++ b/src/OpenSHC/UI/BuildingNameRelatedStruct.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/BuildingNameRelatedStruct.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/BuildingNameRelatedSubStruct.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::BuildingNameRelatedSubStruct; + +#pragma pack(push, 1) + // SIZE: 0x00000028 + typedef struct BuildingNameRelatedStruct { + + int nameNumberInTextGroup; // 0x00000000 length: 4 + BuildingNameRelatedSubStruct field1_0x4[3]; // 0x00000004 length: 36 + + } BuildingNameRelatedStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BuildingNameRelatedStruct) == 40, BuildingNameRelatedStruct); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/BuildingNameRelatedSubStruct.hpp b/src/OpenSHC/UI/BuildingNameRelatedSubStruct.hpp new file mode 100644 index 0000000..27dd17f --- /dev/null +++ b/src/OpenSHC/UI/BuildingNameRelatedSubStruct.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/BuildingNameRelatedSubStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x0000000C + typedef struct BuildingNameRelatedSubStruct { + + int identifier1; // 0x00000000 length: 4 + int identifier2; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + + } BuildingNameRelatedSubStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(BuildingNameRelatedSubStruct) == 12, BuildingNameRelatedSubStruct); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ButtonState.hpp b/src/OpenSHC/UI/ButtonState.hpp new file mode 100644 index 0000000..9a6dd29 --- /dev/null +++ b/src/OpenSHC/UI/ButtonState.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ButtonState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct ButtonState { + + int someTimestamp_1_0x0; // 0x00000000 length: 4 + int clickTimestamp_0x4; // 0x00000004 length: 4 + int countTo100; // 0x00000008 length: 4 + int currentButtonPictureInGm_0xc; // 0x0000000C length: 4 + + } ButtonState; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ButtonState) == 16, ButtonState); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActions.hpp b/src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActions.hpp new file mode 100644 index 0000000..3c0fdf8 --- /dev/null +++ b/src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActions.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActions.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace ChooseNetworkServiceProvider { + typedef enum ChooseNetworkServiceProviderButtonActions { + + CNSPBA_EXIT = 3, // 0x00000003 + CNSPBA_HOST_GAME = 7, // 0x00000007 + CNSPBA_JOIN_GAME = 8 // 0x00000008 + + } ChooseNetworkServiceProviderButtonActions; + + static_assert_cpp98_obj( + sizeof(ChooseNetworkServiceProviderButtonActions) == 4, ChooseNetworkServiceProviderButtonActions); + } // namespace ChooseNetworkServiceProvider +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp b/src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp new file mode 100644 index 0000000..7ec5589 --- /dev/null +++ b/src/OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActionsInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ChooseNetworkServiceProvider/ChooseNetworkServiceProviderButtonActions.hpp" + +namespace OpenSHC { +namespace UI { + namespace ChooseNetworkServiceProvider { + typedef int ChooseNetworkServiceProviderButtonActionsInt; + + static_assert_cpp98_obj( + sizeof(ChooseNetworkServiceProviderButtonActionsInt) == 4, ChooseNetworkServiceProviderButtonActionsInt); + } // namespace ChooseNetworkServiceProvider +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/DisplayElement.func.hpp b/src/OpenSHC/UI/DisplayElement.func.hpp new file mode 100644 index 0000000..fcfaffc --- /dev/null +++ b/src/OpenSHC/UI/DisplayElement.func.hpp @@ -0,0 +1,12 @@ +/** + path: 'OpenSHC/UI/DisplayElement.func.hpp' +*/ + +#include "OpenSHC/UI/DisplayElement.hpp" +namespace OpenSHC { +namespace UI { + namespace DisplayElement_Func { + + } // namespace DisplayElement_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/DisplayElement.hpp b/src/OpenSHC/UI/DisplayElement.hpp new file mode 100644 index 0000000..2f3025e --- /dev/null +++ b/src/OpenSHC/UI/DisplayElement.hpp @@ -0,0 +1,56 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/DisplayElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/DisplayElementRenderFunc.hpp" +#include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" +#include "OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp" +#include "OpenSHC/_SHCDE/eOnScreenTextInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::_SHCDE::eOnScreenTextInt; + using OpenSHC::UI::DisplayElementRenderFunc; + using OpenSHC::UI::Enums::DisplayElementIDInt; + using OpenSHC::UI::Enums::DisplayElementPositionModifierInt; + +#pragma pack(push, 1) + + // SIZE: 0x00000024 + class DisplayElement { + public: + int x_0x0; // 0x00000000 length: 4 + int y_0x4; // 0x00000004 length: 4 + DisplayElementIDInt elementID_0x8; // 0x00000008 length: 4 + dword elementStateUnk_0xc; // 0x0000000C length: 4 + dword activationTime_0x10; // 0x00000010 length: 4 + int displayDuration_0x14; // 0x00000014 length: 4 + DisplayElementRenderFunc* renderFunction_0x18; // 0x00000018 length: 4 + DisplayElementPositionModifierInt positionModifier_0x1c; // 0x0000001C length: 4 + DisplayElement* nextDisplayElement_0x20; // 0x00000020 length: 4 + + private: + DisplayElement(DisplayElement const&); + void operator=(DisplayElement const&); + + DisplayElement(); + ~DisplayElement(); + + public: + // Constructor + DisplayElement* Constructor_DisplayElement(eOnScreenTextInt elementID, int xPos, int yPos, dword elementState, + DisplayElementRenderFunc* renderFunction, DisplayElementPositionModifierInt positionModifier); + }; + + static_assert_cpp98_obj(sizeof(DisplayElement) == 36, DisplayElement); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(DisplayElement, false, Address::SHC_3BB0A8C1_0x00DF517C) pDAT_DisplayElement; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/DisplayElementRenderFunc.hpp b/src/OpenSHC/UI/DisplayElementRenderFunc.hpp new file mode 100644 index 0000000..6501dca --- /dev/null +++ b/src/OpenSHC/UI/DisplayElementRenderFunc.hpp @@ -0,0 +1,14 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/DisplayElementRenderFunc.hpp' +*/ + +#pragma once + +#include "WinDef.h" +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl DisplayElementRenderFunc)(int, int, DWORD); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/BuildMenuTabType.hpp b/src/OpenSHC/UI/Enums/BuildMenuTabType.hpp new file mode 100644 index 0000000..5af7715 --- /dev/null +++ b/src/OpenSHC/UI/Enums/BuildMenuTabType.hpp @@ -0,0 +1,39 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/BuildMenuTabType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum BuildMenuTabType { + + BMTT_CASTLE = 10, // 0x0000000A + BMTT_CASTLE_TOWERS = 11, // 0x0000000B + BMTT_CASTLE_DEFENSES = 12, // 0x0000000C + BMTT_CASTLE_KEEPS = 13, // 0x0000000D + BMTT_CASTLE_MILITARY = 14, // 0x0000000E + BMTT_TOWN_GOOD_THINGS = 15, // 0x0000000F + BMTT_CASTLE_DEFENSES_GATE_SMALL = 18, // 0x00000012 + BMTT_CASTLE_DEFENSES_GATE_BIG = 19, // 0x00000013 + BMTT_INDUSTRY = 20, // 0x00000014 + BMTT_FOOD = 25, // 0x00000019 + BMTT_EUROP_SOLDIERS = 26, // 0x0000001A + BMTT_RUINS = 27, // 0x0000001B + BMTT_WEAPONS = 28, // 0x0000001C + BMTT_ARAB_SOLDIERS = 29, // 0x0000001D + BMTT_TOWN = 30, // 0x0000001E + BMTT_TOWN_BAD_THINGS = 33, // 0x00000021 + BMTT_FARMS = 40, // 0x00000028 + BMTT_MENU_HIDDEN = 60, // 0x0000003C + BMTT_SOLDIERS = 61, // 0x0000003D + BMTT_CITIZEN_SELECTED = 70 // 0x00000046 + + } BuildMenuTabType; + + static_assert_cpp98_obj(sizeof(BuildMenuTabType) == 4, BuildMenuTabType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp b/src/OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp new file mode 100644 index 0000000..85847c4 --- /dev/null +++ b/src/OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/BuildMenuTabType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int BuildMenuTabTypeShort; + + static_assert_cpp98_obj(sizeof(BuildMenuTabTypeShort) == 4, BuildMenuTabTypeShort); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabType.hpp b/src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabType.hpp new file mode 100644 index 0000000..4a92743 --- /dev/null +++ b/src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabType.hpp @@ -0,0 +1,107 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/BuildingsAndStatusMenuTabType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum BuildingsAndStatusMenuTabType { + + BASMTT_BARRACKS_OR_MPMENU_MODEM = 1, // 0x00000001 + BASMTT_KEEP_OR_MPMENU_IPX = 2, // 0x00000002 + BASMTT_INN_OR_MPMMENU_UNK = 3, // 0x00000003 + BASMTT_GRANARY_OR_MPMENU_TCPIP = 4, // 0x00000004 + BASMTT_HOUSE = 5, // 0x00000005 + BASMTT_WOODCUTTERSHUT = 6, // 0x00000006 + BASMTT_OXTETHER = 7, // 0x00000007 + BASMTT_IRONMINE = 8, // 0x00000008 + BASMTT_PITCHRIG = 9, // 0x00000009 + BASMTT_HUNTERSHUT = 10, // 0x0000000A + BASMTT_STOCKPILE = 11, // 0x0000000B + BASMTT_ARMORY = 12, // 0x0000000C + BASMTT_FLETCHER = 13, // 0x0000000D + BASMTT_BLACKSMITH = 14, // 0x0000000E + BASMTT_POLETURNER = 15, // 0x0000000F + BASMTT_ARMOURER = 16, // 0x00000010 + BASMTT_TANNER = 17, // 0x00000011 + BASMTT_BAKERY = 18, // 0x00000012 + BASMTT_BREWERY = 19, // 0x00000013 + BASMTT_QUARRY = 20, // 0x00000014 + BASMTT_QUARRY_STONEPILE = 21, // 0x00000015 + BASMTT_APOTHECARY = 22, // 0x00000016 + BASMTT_ENGINEERSGUILD = 23, // 0x00000017 + BASMTT_TUNNELERSGUILD = 24, // 0x00000018 + BASMTT_MARKETPLACE = 25, // 0x00000019 + BASMTT_WELL = 26, // 0x0000001A + BASMTT_OILSMELTER = 27, // 0x0000001B + BASMTT_WHEATFARM = 29, // 0x0000001D + BASMTT_HOPFARM = 30, // 0x0000001E + BASMTT_APPLEFARM = 31, // 0x0000001F + BASMTT_DAIRYFARM = 32, // 0x00000020 + BASMTT_MILL = 33, // 0x00000021 + BASMTT_STABLES = 34, // 0x00000022 + BASMTT_CHAPEL_AND_CHURCH = 35, // 0x00000023 + BASMTT_GATEHOUSE = 36, // 0x00000024 + BASMTT_DRAWBRIDGE = 37, // 0x00000025 + BASMTT_UNUSED_POSTERNGATE = 38, // 0x00000026 + BASMTT_TUNNELENTRANCE = 39, // 0x00000027 + BASMTT_WATERPOT = 40, // 0x00000028 + BASMTT_SIGNPOST = 41, // 0x00000029 + BASMTT_KILLINGPIT = 42, // 0x0000002A + BASMTT_CAMPFIRE = 43, // 0x0000002B + BASMTT_MERCENARYPOST = 44, // 0x0000002C + BASMTT_OUTPOST = 45, // 0x0000002D + BASMTT_TOWER = 46, // 0x0000002E + BASMTT_GALLOWS = 47, // 0x0000002F + BASMTT_STOCKS = 48, // 0x00000030 + BASMTT_UNUSED_WITCHHOIST = 49, // 0x00000031 + BASMTT_MAYPOLE = 50, // 0x00000032 + BASMTT_GARDENS = 51, // 0x00000033 + BASMTT_TRAININGGROUNDS = 52, // 0x00000034 + BASMTT_MARKETPLACE_STONKS = 53, // 0x00000035 + BASMTT_MARKETPLACE_FOOD = 54, // 0x00000036 + BASMTT_MARKETPLACE_RESOURCE = 55, // 0x00000037 + BASMTT_MARKETPLACE_WEAPONS = 56, // 0x00000038 + BASMTT_MARKETPLACE_TRADE = 57, // 0x00000039 + BASMTT_SIEGETENT_CATAPULT = 58, // 0x0000003A + BASMTT_SIEGETENT_TREBUCHET = 59, // 0x0000003B + BASMTT_SIEGETENT_SIEGETOWER = 60, // 0x0000003C + BASMTT_SIEGETENT_BATTERINGRAM = 61, // 0x0000003D + BASMTT_SIEGETENT_SHIELD = 62, // 0x0000003E + BASMTT_PEASANT = 70, // 0x00000046 + BASMTT_STATUS_OVERVIEW = 71, // 0x00000047 + BASMTT_STATUS_POPULARITY = 72, // 0x00000048 + BASMTT_STATUS_FEARFACTOR = 73, // 0x00000049 + BASMTT_STATUS_POPULATION = 74, // 0x0000004A + BASMTT_STATUS_FOOD = 75, // 0x0000004B + BASMTT_STATUS_ARMY = 76, // 0x0000004C + BASMTT_STATUS_RESOURCES = 77, // 0x0000004D + BASMTT_STATUS_WEAPONS = 78, // 0x0000004E + BASMTT_STATUS_RELIGION = 79, // 0x0000004F + BASMTT_CESSPIT = 80, // 0x00000050 + BASMTT_BURNINGSTAKE = 81, // 0x00000051 + BASMTT_GIBBET = 82, // 0x00000052 + BASMTT_DUNGEON = 83, // 0x00000053 + BASMTT_STRETCHINGRACK = 84, // 0x00000054 + BASMTT_UNUSED_FLOGGINGRACK = 85, // 0x00000055 + BASMTT_CHOPPINGBLOCK = 86, // 0x00000056 + BASMTT_DUNKINGSTOOL = 87, // 0x00000057 + BASMTT_DOGCAGE = 88, // 0x00000058 + BASMTT_STATUE = 89, // 0x00000059 + BASMTT_SHRINE = 90, // 0x0000005A + BASMTT_UNUSED_BEEHIVE = 91, // 0x0000005B + BASMTT_DANCINGBEAR = 92, // 0x0000005C + BASMTT_UNUSED_POND = 93, // 0x0000005D + BASMTT_UNUSED_BEARCAVE = 94, // 0x0000005E + BASMTT_SIEGETENT_FIREBALLISTA = 95, // 0x0000005F + BASMTT_CATHEDRAL = 96 // 0x00000060 + + } BuildingsAndStatusMenuTabType; + + static_assert_cpp98_obj(sizeof(BuildingsAndStatusMenuTabType) == 4, BuildingsAndStatusMenuTabType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp b/src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp new file mode 100644 index 0000000..ea8b18a --- /dev/null +++ b/src/OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/BuildingsAndStatusMenuTabType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int BuildingsAndStatusMenuTabTypeInt; + + static_assert_cpp98_obj(sizeof(BuildingsAndStatusMenuTabTypeInt) == 4, BuildingsAndStatusMenuTabTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/CursorType.hpp b/src/OpenSHC/UI/Enums/CursorType.hpp new file mode 100644 index 0000000..20da0cf --- /dev/null +++ b/src/OpenSHC/UI/Enums/CursorType.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/CursorType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum CursorType { + + CT_NOT_SELECTED_YET = 0, // 0x00000000 + CT_ANI_CURSOR = 1, // 0x00000001 + CT_WINDOWS_LIKE_CURSOR = 2 // 0x00000002 + + } CursorType; + + static_assert_cpp98_obj(sizeof(CursorType) == 4, CursorType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/CursorTypeInt.hpp b/src/OpenSHC/UI/Enums/CursorTypeInt.hpp new file mode 100644 index 0000000..4e791f7 --- /dev/null +++ b/src/OpenSHC/UI/Enums/CursorTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/CursorTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/CursorType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int CursorTypeInt; + + static_assert_cpp98_obj(sizeof(CursorTypeInt) == 4, CursorTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/DisplayElementID.hpp b/src/OpenSHC/UI/Enums/DisplayElementID.hpp new file mode 100644 index 0000000..4f52068 --- /dev/null +++ b/src/OpenSHC/UI/Enums/DisplayElementID.hpp @@ -0,0 +1,45 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/DisplayElementID.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum DisplayElementID { + + DEID_UNKNOWN_0 = 0, // 0x00000000 + DEID_BOTTOM_LEFT_DATE = 1, // 0x00000001 + DEID_CONNECT_AND_PATH_LINKAGE_INFO_TEXT = 2, // 0x00000002 + DEID_IN_GAME_CHAT_Unk = 3, // 0x00000003 + DEID_RESOURCE_MISSING_1 = 4, // 0x00000004 + DEID_RESOURCE_MISSING_2 = 5, // 0x00000005 + DEID_DEBUG_NUMBERS = 6, // 0x00000006 + DEID_UNKNOWN_7 = 7, // 0x00000007 + DEID_SOME_MISSION_NUMBER_Unk_9 = 9, // 0x00000009 + DEID_IN_GAME_STARTING_GOODS_COUNTER = 12, // 0x0000000C + DEID_NO_TREE_GROWTH = 14, // 0x0000000E + DEID_WIN_DEFEAT_WINDOW = 16, // 0x00000010 + DEID_MISSION_WIN_DEFEAT_BANNER = 17, // 0x00000011 + DEID_UNKNOWN_18 = 18, // 0x00000012 + DEID_SOME_MULTIPLAYER_INFO_Unk_19 = 19, // 0x00000013 + DEID_KEEP_AND_GRANERY_PLACEMENT_INFO = 20, // 0x00000014 + DEID_PLAYER_INFO_ON_HOVER = 21, // 0x00000015 + DEID_PLAYER_PING_Unk_19 = 22, // 0x00000016 + DEID_GAME_PAUSED_TEXT = 23, // 0x00000017 + DEID_GAME_SPEED_TEXT = 24, // 0x00000018 + DEID_UNKNOWN_25 = 25, // 0x00000019 + DEID_TIME_UNTIL_VICTORY = 26, // 0x0000001A + DEID_TIME_UNTIL_DEFEAT = 27, // 0x0000001B + DEID_SOME_MULTIPLAYER_INFO_Unk_28 = 28, // 0x0000001C + DEID_PEOPLE_LEFT_TO_PLACE = 29, // 0x0000001D + DEID_NO_RUSH = 30 // 0x0000001E + + } DisplayElementID; + + static_assert_cpp98_obj(sizeof(DisplayElementID) == 4, DisplayElementID); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/DisplayElementIDInt.hpp b/src/OpenSHC/UI/Enums/DisplayElementIDInt.hpp new file mode 100644 index 0000000..266f121 --- /dev/null +++ b/src/OpenSHC/UI/Enums/DisplayElementIDInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/DisplayElementIDInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/DisplayElementID.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int DisplayElementIDInt; + + static_assert_cpp98_obj(sizeof(DisplayElementIDInt) == 4, DisplayElementIDInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp b/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp new file mode 100644 index 0000000..c94a9f8 --- /dev/null +++ b/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/DisplayElementIDUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" +#include "OpenSHC/_SHCDE/eOnScreenTextInt.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + + using OpenSHC::_SHCDE::eOnScreenTextInt; + using OpenSHC::UI::Enums::DisplayElementIDInt; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union DisplayElementIDUnion { + + eOnScreenTextInt shcde; // 0x00000000 length: 4 + DisplayElementIDInt shc; // 0x00000000 length: 4 + + } DisplayElementIDUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(DisplayElementIDUnion) == 4, DisplayElementIDUnion); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/DisplayElementPositionModifier.hpp b/src/OpenSHC/UI/Enums/DisplayElementPositionModifier.hpp new file mode 100644 index 0000000..5d1b9f6 --- /dev/null +++ b/src/OpenSHC/UI/Enums/DisplayElementPositionModifier.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/DisplayElementPositionModifier.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum DisplayElementPositionModifier { + + DEPM_MAIN_MENU_X_Y = 0, // 0x00000000 + DEPM_RESOLUTION_Y = 1, // 0x00000001 + DEPM_TOWARDS_MID_Y = 2, // 0x00000002 + DEPM_RESOLUTION_X = 4, // 0x00000004 + DEPM_TOWARDS_MID_X = 8 // 0x00000008 + + } DisplayElementPositionModifier; + + static_assert_cpp98_obj(sizeof(DisplayElementPositionModifier) == 4, DisplayElementPositionModifier); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp b/src/OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp new file mode 100644 index 0000000..42f6dd4 --- /dev/null +++ b/src/OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/DisplayElementPositionModifier.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int DisplayElementPositionModifierInt; + + static_assert_cpp98_obj(sizeof(DisplayElementPositionModifierInt) == 4, DisplayElementPositionModifierInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemHandleState.hpp b/src/OpenSHC/UI/Enums/MenuItemHandleState.hpp new file mode 100644 index 0000000..737502a --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemHandleState.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemHandleState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum MenuItemHandleState { + + MIHS_HANDLE_INPUT_CALLBACKSUnk = 0, // 0x00000000 + MIHS_PREPARE_AND_RENDER = 1, // 0x00000001 + MIHS_RESET_MENU_ITEM_STATEUnk = 2, // 0x00000002 + MIHS_PREPARE_AND_RENDER_FOR_FLAG_0X800000 = 3 // 0x00000003 + + } MenuItemHandleState; + + static_assert_cpp98_obj(sizeof(MenuItemHandleState) == 4, MenuItemHandleState); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp b/src/OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp new file mode 100644 index 0000000..8a9426a --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemHandleState.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int MenuItemHandleStateInt; + + static_assert_cpp98_obj(sizeof(MenuItemHandleStateInt) == 4, MenuItemHandleStateInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemRenderFunctionType.hpp b/src/OpenSHC/UI/Enums/MenuItemRenderFunctionType.hpp new file mode 100644 index 0000000..9168c3a --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemRenderFunctionType.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemRenderFunctionType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum MenuItemRenderFunctionType { + + MIRFT_SIMPLE_RENDERUnk = 1, // 0x00000001 + MIRFT_GM_DATA_IMAGE = 3, // 0x00000003 + MIRFT_SLIDER_OR_SCROLLBAR = 4 // 0x00000004 + + } MenuItemRenderFunctionType; + + static_assert_cpp98_obj(sizeof(MenuItemRenderFunctionType) == 4, MenuItemRenderFunctionType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemRenderFunctionTypeInt.hpp b/src/OpenSHC/UI/Enums/MenuItemRenderFunctionTypeInt.hpp new file mode 100644 index 0000000..0607dd3 --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemRenderFunctionTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemRenderFunctionTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemRenderFunctionType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int MenuItemRenderFunctionTypeInt; + + static_assert_cpp98_obj(sizeof(MenuItemRenderFunctionTypeInt) == 4, MenuItemRenderFunctionTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemType.hpp b/src/OpenSHC/UI/Enums/MenuItemType.hpp new file mode 100644 index 0000000..856dd67 --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemType.hpp @@ -0,0 +1,32 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum MenuItemType { + + MIT_NORMAL_ELEMENTUnk = 3, // 0x00000003 + MIT_TEXT_OR_STATE_OR_PLAYER_DEPENDENTUnk = 4, // 0x00000004 + MIT_SLIDERUnk = 5, // 0x00000005 + MIT_SCROLLBARUnk = 6, // 0x00000006 + MIT_ENABLE_OR_WRAP_BUILD_MENU_TRANSITION_OFFSET = 8, // 0x00000008 + MIT_MENU_MODALUnk = 9, // 0x00000009 + MIT_TAB_CONSIDER_ITEM_SKIP_BECAUSE_OTHER_MENU_TAB = 100, // 0x00000064 + MIT_TAB_CONSIDER_STOP_BECAUSE_IS_CURRENT_MENU_TAB = 101, // 0x00000065 + MIT_LAST_ENTRY = 102, // 0x00000066 + MIT_STOP_HANDLING = 103, // 0x00000067 + MIT_MENU_ITEM_TYPE_ID_PARTUnk = 8388607, // 0x007FFFFF + MIT_START_OF_INTERACTION_GROUPUnk = 16777216, // 0x01000000 + MIT_PART_OF_INTERACTION_GROUPUnk = 33554432 // 0x02000000 + + } MenuItemType; + + static_assert_cpp98_obj(sizeof(MenuItemType) == 4, MenuItemType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemTypeInt.hpp b/src/OpenSHC/UI/Enums/MenuItemTypeInt.hpp new file mode 100644 index 0000000..2c98f8e --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int MenuItemTypeInt; + + static_assert_cpp98_obj(sizeof(MenuItemTypeInt) == 4, MenuItemTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemUCMarker.hpp b/src/OpenSHC/UI/Enums/MenuItemUCMarker.hpp new file mode 100644 index 0000000..306211d --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemUCMarker.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemUCMarker.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum MenuItemUCMarker { + + USE_UC_COORDS = 2147483648 // 0x80000000 + + } MenuItemUCMarker; + + static_assert_cpp98_obj(sizeof(MenuItemUCMarker) == 4, MenuItemUCMarker); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp b/src/OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp new file mode 100644 index 0000000..7bfafcf --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemUCMarker.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int MenuItemUCMarkerInt; + + static_assert_cpp98_obj(sizeof(MenuItemUCMarkerInt) == 4, MenuItemUCMarkerInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuModalType.hpp b/src/OpenSHC/UI/Enums/MenuModalType.hpp new file mode 100644 index 0000000..550dc8b --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuModalType.hpp @@ -0,0 +1,95 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuModalType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum MenuModalType { + + MMT_NO_MENU = 0, // 0x00000000 + MMT_DEBUG_DATA_CURRENT_PLAYER_DATA = 1, // 0x00000001 + MMT_DEBUG_DATA_UNIT_DATA = 2, // 0x00000002 + MMT_DEBUG_DATA_ZONE_DATAUnk = 3, // 0x00000003 + MMT_DEBUG_DATA_NETWORK = 4, // 0x00000004 + MMT_PAUSE_MENU = 5, // 0x00000005 + MMT_VIDEO_OPTIONS = 6, // 0x00000006 + MMT_SOUND_OPTIONS = 7, // 0x00000007 + MMT_NETWORK_OPTIONS = 8, // 0x00000008 + MMT_LOAD_MAP = 9, // 0x00000009 + MMT_SAVE_MAP = 10, // 0x0000000A + MMT_YES_NO_DIALOG = 11, // 0x0000000B + MMT_PAUSE_MENU_OPTIONS = 12, // 0x0000000C + MMT_GAMEPLAY_OPTIONS = 13, // 0x0000000D + MMT_PROGRESS_BAR_BOX = 14, // 0x0000000E + MMT_BUILDING_HELP_TEXT = 15, // 0x0000000F + MMT_CHOOSE_NETWORK_SERVICE_PROVIDER = 17, // 0x00000011 + MMT_FINDING_NETWORK_SESSIONS = 18, // 0x00000012 + MMT_DISPLAY_AI_LORD_MESSAGE = 19, // 0x00000013 + MMT_WAITING_FOR_HOST = 21, // 0x00000015 + MMT_UNUSED_SET_NAME = 22, // 0x00000016 + MMT_OVERLAY_SLIDER = 23, // 0x00000017 + MMT_UNUSED_WIN_CONDITION = 24, // 0x00000018 + MMT_MAP_DESCRIPTION_EDITOR = 25, // 0x00000019 + MMT_DISPLAY_SCENARIO_HELP_TEXT = 26, // 0x0000001A + MMT_CHAT = 27, // 0x0000001B + MMT_IN_GAME_HELP_TEXT = 28, // 0x0000001C + MMT_QUIT_DIALOG = 29, // 0x0000001D + MMT_CREDITS_SCROLL = 30, // 0x0000001E + MMT_EDITOR_MAP_TYPE_QUICK_CHANGE = 31, // 0x0000001F + MMT_SKIRMISH_CONNECTION_OPTIONS = 32, // 0x00000020 + MMT_ONLINE_QUIT_GAME = 33, // 0x00000021 + MMT_ONLINE_VOTE_QUIT_GAME = 34, // 0x00000022 + MMT_IDENTITY_OPTIONS = 35, // 0x00000023 + MMT_ENTER_TITLE_ON_GAME_START = 36, // 0x00000024 + MMT_SKIRMISH_PLAY_OPTIONS = 37, // 0x00000025 + MMT_CREATE_OR_TRIGGER_INVASION = 38, // 0x00000026 + MMT_TRIGGER_EVENT = 39, // 0x00000027 + MMT_TRIGGER_EVENT_OR_INVASION = 40, // 0x00000028 + MMT_TRIGGER_EVENT_SLIDER = 41, // 0x00000029 + MMT_SEND_MAP_TO = 42, // 0x0000002A + MMT_RECEIVE_MAP_FROM = 43, // 0x0000002B + MMT_MAIN_MENU_OPTIONS = 44, // 0x0000002C + MMT_UNUSED_CHOOSE_MESSAGE_BOX = 100, // 0x00000064 + MMT_TRADER_SETTINGS = 101, // 0x00000065 + MMT_START_GOODS = 102, // 0x00000066 + MMT_NEW_INVASION = 103, // 0x00000067 + MMT_UNUSED_CREATE_TIMED_MESSAGE_EVENT = 104, // 0x00000068 + MMT_NEW_EVENT = 105, // 0x00000069 + MMT_NEW_EVENT_CONDITION = 108, // 0x0000006C + MMT_NEW_EVENT_ACTION = 109, // 0x0000006D + MMT_UNUSED_CREATE_MESSAGE_EVENT = 110, // 0x0000006E + MMT_UNUSED_SIEGE_ATTACKING_FORCEUnk = 111, // 0x0000006F + MMT_BUILDING_AVAILABILITY = 112, // 0x00000070 + MMT_TUTORIAL_BOX = 113, // 0x00000071 + MMT_TUTORIAL_BOX_WITH_LEAVE = 114, // 0x00000072 + MMT_DISABLE_EURO_TROOPS = 115, // 0x00000073 + MMT_DISABLE_WEAPON = 116, // 0x00000074 + MMT_DISABLE_ARAB_TROOPS = 117, // 0x00000075 + MMT_BASIC_AI_LORD_SELECT = 118, // 0x00000076 + MMT_EXTENDED_AI_LORD_SELECT = 119, // 0x00000077 + MMT_ROUNDTABLE = 120, // 0x00000078 + MMT_ALLIES = 121, // 0x00000079 + MMT_ALLIES_ORDER = 122, // 0x0000007A + MMT_ALLIES_REQUEST_GOODS = 123, // 0x0000007B + MMT_ALLIES_SEND_GOODS = 124, // 0x0000007C + MMT_GREATEST_LORD = 125, // 0x0000007D + MMT_CHOOSE_RANDOM_NUMBER_OF_ENEMIES = 126, // 0x0000007E + MMT_DEBUG_DATA_AIV_STATEUnk = 128, // 0x00000080 + MMT_DELETE_GAME_RECORD = 129, // 0x00000081 + MMT_TACTICAL_POWER_BAR = 130, // 0x00000082 + MMT_DEBUG_DATA_SPLIT_INFO = 200, // 0x000000C8 + MMT_DEBUG_DATA_MAP_DATA = 201, // 0x000000C9 + MMT_DEBUG_DATA_MOUSE_POINTING = 202, // 0x000000CA + MMT_DEBUG_DATA_AI_INFO = 203, // 0x000000CB + MMT_NONE = 4294967295 // 0xFFFFFFFF + + } MenuModalType; + + static_assert_cpp98_obj(sizeof(MenuModalType) == 4, MenuModalType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuModalTypeInt.hpp b/src/OpenSHC/UI/Enums/MenuModalTypeInt.hpp new file mode 100644 index 0000000..d988271 --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuModalTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuModalTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuModalType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int MenuModalTypeInt; + + static_assert_cpp98_obj(sizeof(MenuModalTypeInt) == 4, MenuModalTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuViewType.hpp b/src/OpenSHC/UI/Enums/MenuViewType.hpp new file mode 100644 index 0000000..fc3f4b9 --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuViewType.hpp @@ -0,0 +1,71 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuViewType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum MenuViewType { + + MVT_NO_VIEW = 0, // 0x00000000 + MVT_UNUSED_OLD_TITLE_MENU = 1, // 0x00000001 + MVT_INTRO_LOGOS = 3, // 0x00000003 + MVT_EMPTY_10 = 10, // 0x0000000A + MVT_EMPTY_11 = 11, // 0x0000000B + MVT_MAP_EDITOR_LANDSCAPING = 12, // 0x0000000C + MVT_BUILD_MENU = 14, // 0x0000000E + MVT_BUILDING_AND_STATUS_MENU = 16, // 0x00000010 + MVT_MAP_EDITOR_PROPERTIES = 17, // 0x00000011 + MVT_NEW_MAP_MAPTYPE = 18, // 0x00000012 + MVT_MP_CONNECTION = 19, // 0x00000013 + MVT_LOBBY_MENU = 20, // 0x00000014 + MVT_UNKNOWN_21 = 21, // 0x00000015 + MVT_UNUSED_HELP_TEXT_EDITOR = 22, // 0x00000016 + MVT_UNUSED_SOME_MISSION_STARTUnk = 25, // 0x00000019 + MVT_UNKNOWN_26_CAMPAIGN_RELATEDUnk = 26, // 0x0000001A + MVT_UNKNOWN_27_CAMPAIGNUnk = 27, // 0x0000001B + MVT_SCENARIO_DESCRIPTION = 28, // 0x0000001C + MVT_MISSION_FINISHED_TRANSITION = 29, // 0x0000001D + MVT_GAME_LOSTUnk = 30, // 0x0000001E + MVT_NEW_MAP_MAPSIZE = 31, // 0x0000001F + MVT_UNUSED_CHOOSE_AVAILABLE_KEEPS = 32, // 0x00000020 + MVT_UNKNOWN_33 = 33, // 0x00000021 + MVT_SINGLEPLAYER_MAP_CHOICE = 35, // 0x00000023 + MVT_UNUSED_CHOOSE_GAME_TYPE = 37, // 0x00000025 + MVT_HISTORIC_MISSION_SELECT = 38, // 0x00000026 + MVT_UNUSED_ECONOMIC_MISSION_SELECTUnk = 39, // 0x00000027 + MVT_GAME_START_ENTER_NAME = 40, // 0x00000028 + MVT_MAIN_MENU = 41, // 0x00000029 + MVT_HISTORIC_CAMPAIGN_SELECT = 42, // 0x0000002A + MVT_UNUSED_ECONOMIC_GAMETYPE_SELECT = 43, // 0x0000002B + MVT_CUSTOM_SCENARIOS = 44, // 0x0000002C + MVT_CREDITS = 45, // 0x0000002D + MVT_UNUSED_DEMO_BUY_IT_SCREEN = 46, // 0x0000002E + MVT_UNUSED_CREATE_SIEGE = 47, // 0x0000002F + MVT_INTRO_VIDEO = 48, // 0x00000030 + MVT_UNKNOWN_49_DOES_NOTHINGUnk = 49, // 0x00000031 + MVT_HISTORIC_MISSION_PICTURE = 50, // 0x00000032 + MVT_HISTORIC_MISSION_INTRO = 51, // 0x00000033 + MVT_HISTORIC_CAMPAIGN_INTRO = 52, // 0x00000034 + MVT_HISTORIC_CAMPAIGN_OUTRO = 53, // 0x00000035 + MVT_UNUSED_SELECT_RANDOM_NUMBER_OF_ENEMIES = 54, // 0x00000036 + MVT_SELECT_CRUSADE = 55, // 0x00000037 + MVT_CRUSADE_MISSION_INTRO = 56, // 0x00000038 + MVT_CRUSADE_MAP = 57, // 0x00000039 + MVT_RANKING_GAMES = 58, // 0x0000003A + MVT_UNUSED_EXTREME_AD = 59, // 0x0000003B + MVT_UNKNOWN_60 = 60, // 0x0000003C + MVT_UNKNOWN_61_RETURN_TO_SKIRMISH_MENUUnk = 61, // 0x0000003D + MVT_CRUSADE_ENDSCREEN = 62, // 0x0000003E + MVT_EDIT_SCENARIO = 1002, // 0x000003EA + MVT_MENUVIEWID_MENU_PAIR_ENDMARKER = 4294967295 // 0xFFFFFFFF + + } MenuViewType; + + static_assert_cpp98_obj(sizeof(MenuViewType) == 4, MenuViewType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuViewTypeInt.hpp b/src/OpenSHC/UI/Enums/MenuViewTypeInt.hpp new file mode 100644 index 0000000..aabb8fc --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuViewTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuViewTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuViewType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int MenuViewTypeInt; + + static_assert_cpp98_obj(sizeof(MenuViewTypeInt) == 4, MenuViewTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp b/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp new file mode 100644 index 0000000..59bb343 --- /dev/null +++ b/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/MenuViewTypeUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/_SHCDE/eAppModesInt.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + + using OpenSHC::_SHCDE::eAppModesInt; + using OpenSHC::UI::Enums::MenuViewTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union MenuViewTypeUnion { + + eAppModesInt shcde; // 0x00000000 length: 4 + MenuViewTypeInt shc; // 0x00000000 length: 4 + + } MenuViewTypeUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuViewTypeUnion) == 4, MenuViewTypeUnion); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevel.hpp b/src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevel.hpp new file mode 100644 index 0000000..799353e --- /dev/null +++ b/src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevel.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevel.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum RoundedBoxEdgeRoundingLevel { + + RBERL_SLIGHT = 5, // 0x00000005 + RBERL_STRONG = 22 // 0x00000016 + + } RoundedBoxEdgeRoundingLevel; + + static_assert_cpp98_obj(sizeof(RoundedBoxEdgeRoundingLevel) == 4, RoundedBoxEdgeRoundingLevel); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp b/src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp new file mode 100644 index 0000000..003a2e5 --- /dev/null +++ b/src/OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevel.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int RoundedBoxEdgeRoundingLevelInt; + + static_assert_cpp98_obj(sizeof(RoundedBoxEdgeRoundingLevelInt) == 4, RoundedBoxEdgeRoundingLevelInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/SoundMenuClickType.hpp b/src/OpenSHC/UI/Enums/SoundMenuClickType.hpp new file mode 100644 index 0000000..febd00d --- /dev/null +++ b/src/OpenSHC/UI/Enums/SoundMenuClickType.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/SoundMenuClickType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum SoundMenuClickType { + + SMCT_SOUND_MENU_RETURNUnk = 17, // 0x00000011 + SMCT_TOGGLE_SOUND_ACTIVEUnk = 34, // 0x00000022 + SMCT_TOGGLE_GENIE = 4294967286, // 0xFFFFFFF6 + SMCT_RESET_SPEECH_VOLUME = 4294967292, // 0xFFFFFFFC + SMCT_RESET_SFX_VOLUME = 4294967293, // 0xFFFFFFFD + SMCT_RESET_MUSIC_VOLUME = 4294967294 // 0xFFFFFFFE + + } SoundMenuClickType; + + static_assert_cpp98_obj(sizeof(SoundMenuClickType) == 4, SoundMenuClickType); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp b/src/OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp new file mode 100644 index 0000000..52e4475 --- /dev/null +++ b/src/OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/SoundMenuClickTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/SoundMenuClickType.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int SoundMenuClickTypeInt; + + static_assert_cpp98_obj(sizeof(SoundMenuClickTypeInt) == 4, SoundMenuClickTypeInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnum.hpp b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnum.hpp new file mode 100644 index 0000000..24df4cc --- /dev/null +++ b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnum.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum TextMessageBLLookupStructButtonTextEnum { + + TMBLLSBTE_NONE = 0, // 0x00000000 + TMBLLSBTE_BRUSH_SHAPE = 1 // 0x00000001 + + } TextMessageBLLookupStructButtonTextEnum; + + static_assert_cpp98_obj( + sizeof(TextMessageBLLookupStructButtonTextEnum) == 4, TextMessageBLLookupStructButtonTextEnum); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnumInt.hpp b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnumInt.hpp new file mode 100644 index 0000000..e357378 --- /dev/null +++ b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnumInt.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnum.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int TextMessageBLLookupStructButtonTextEnumInt; + + static_assert_cpp98_obj( + sizeof(TextMessageBLLookupStructButtonTextEnumInt) == 4, TextMessageBLLookupStructButtonTextEnumInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnum.hpp b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnum.hpp new file mode 100644 index 0000000..e57e24c --- /dev/null +++ b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnum.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum TextMessageBLLookupStructTypeEnum { + + TMBLLSTE_BUTTON_TEXT = 2, // 0x00000002 + TMBLLSTE_BUILDING_TEXT = 3, // 0x00000003 + TMBLLSTE_POPULARITY_HELP_TEXT = 4, // 0x00000004 + TMBLLSTE_WALL_TEXT = 5, // 0x00000005 + TMBLLSTE_UNITS_AND_WEAPONS_TEXT = 6 // 0x00000006 + + } TextMessageBLLookupStructTypeEnum; + + static_assert_cpp98_obj(sizeof(TextMessageBLLookupStructTypeEnum) == 4, TextMessageBLLookupStructTypeEnum); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnumInt.hpp b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnumInt.hpp new file mode 100644 index 0000000..0dd4e2c --- /dev/null +++ b/src/OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnumInt.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnumInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnum.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int TextMessageBLLookupStructTypeEnumInt; + + static_assert_cpp98_obj( + sizeof(TextMessageBLLookupStructTypeEnumInt) == 4, TextMessageBLLookupStructTypeEnumInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/UserControlID.hpp b/src/OpenSHC/UI/Enums/UserControlID.hpp new file mode 100644 index 0000000..a2fb600 --- /dev/null +++ b/src/OpenSHC/UI/Enums/UserControlID.hpp @@ -0,0 +1,311 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/UserControlID.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef enum UserControlID { + + UCID_TOWERS = 1, // 0x00000001 + UCID_GATEHOUSES = 2, // 0x00000002 + UCID_KEEPS = 3, // 0x00000003 + UCID_BLD_ARMOURY = 4, // 0x00000004 + UCID_BLD_BARRACKS_STONE = 5, // 0x00000005 + UCID_BLD_BARRACKS_WOOD = 6, // 0x00000006 + UCID_BLD_STABLES = 7, // 0x00000007 + UCID_WALL_SINGLE = 8, // 0x00000008 + UCID_WALL_CRENAL = 9, // 0x00000009 + UCID_WALL_STAIRS = 10, // 0x0000000A + UCID_WALL_WOODEN = 11, // 0x0000000B + UCID_BRAZIER = 12, // 0x0000000C + UCID_KILLING_PITS = 13, // 0x0000000D + UCID_SIEGE_TENT_1 = 14, // 0x0000000E + UCID_SIEGE_TENT_2 = 15, // 0x0000000F + UCID_SIEGE_TENT_3 = 16, // 0x00000010 + UCID_TOWER_A = 17, // 0x00000011 + UCID_TOWER_B = 18, // 0x00000012 + UCID_TOWER_C = 19, // 0x00000013 + UCID_TOWER_D = 20, // 0x00000014 + UCID_TOWER_E = 21, // 0x00000015 + UCID_TOWER_F = 22, // 0x00000016 + UCID_GATE_SMALL_WOODEN = 23, // 0x00000017 + UCID_GATE_LARGE_WOODEN = 24, // 0x00000018 + UCID_GATE_SMALL_STONE = 25, // 0x00000019 + UCID_DRAWBRIDGE = 26, // 0x0000001A + UCID_MOAT = 27, // 0x0000001B + UCID_KEEPS_A = 28, // 0x0000001C + UCID_KEEPS_B = 29, // 0x0000001D + UCID_KEEPS_C = 30, // 0x0000001E + UCID_KEEPS_D = 31, // 0x0000001F + UCID_KEEPS_E = 32, // 0x00000020 + UCID_FARMS = 33, // 0x00000021 + UCID_WORKSHOPS = 34, // 0x00000022 + UCID_BLD_HOVEL = 35, // 0x00000023 + UCID_BLD_HOUSE = 36, // 0x00000024 + UCID_BLD_QUARRY = 37, // 0x00000025 + UCID_BLD_WOODCUTTER = 38, // 0x00000026 + UCID_BLD_PITCH_DUGOUT = 39, // 0x00000027 + UCID_BLD_STOCKPILE = 40, // 0x00000028 + UCID_BLD_GRANARY = 41, // 0x00000029 + UCID_BLD_WELL = 42, // 0x0000002A + UCID_BLD_MILL = 43, // 0x0000002B + UCID_BLD_TRADEPOST = 44, // 0x0000002C + UCID_BLD_BLACKSMITH = 45, // 0x0000002D + UCID_BLD_ARMOURER = 46, // 0x0000002E + UCID_BLD_TANNER = 47, // 0x0000002F + UCID_BLD_FLETCHER = 48, // 0x00000030 + UCID_BLD_POLETURNER = 49, // 0x00000031 + UCID_BLD_BAKER = 50, // 0x00000032 + UCID_BLD_BREWER = 51, // 0x00000033 + UCID_BLD_FARM_WHEAT = 52, // 0x00000034 + UCID_BLD_FARM_APPLE = 53, // 0x00000035 + UCID_BLD_FARM_HOPS = 54, // 0x00000036 + UCID_BLD_FARM_COWS = 55, // 0x00000037 + UCID_BLD_FARM_HUNTER = 56, // 0x00000038 + UCID_BLD_OX_TETHER = 57, // 0x00000039 + UCID_BLD_CHURCHS = 58, // 0x0000003A + UCID_BLD_INN = 59, // 0x0000003B + UCID_BLD_HEALER = 60, // 0x0000003C + UCID_BLD_ENGINEER = 61, // 0x0000003D + UCID_BLD_TUNNELER = 62, // 0x0000003E + UCID_BLD_LATRINES = 63, // 0x0000003F + UCID_BLD_BARRED_WINDOWS = 64, // 0x00000040 + UCID_BLD_PARAPETS = 65, // 0x00000041 + UCID_BLD_GALLOWS = 66, // 0x00000042 + UCID_BLD_MAYPOLE = 67, // 0x00000043 + UCID_BLD_ARCHERY_TARGETS = 68, // 0x00000044 + UCID_BLD_TROOP_TARGETS = 69, // 0x00000045 + UCID_BLD_STOCKS = 70, // 0x00000046 + UCID_BLD_IRONMINE = 71, // 0x00000047 + UCID_GATE_LARGE_STONE = 72, // 0x00000048 + UCID_UC_ANTIMOAT = 73, // 0x00000049 + UCID_CASTLE_DECORATIONS = 74, // 0x0000004A + UCID_MILITARY_BUILDINGS = 75, // 0x0000004B + UCID_FLAG_1 = 76, // 0x0000004C + UCID_FLAG_2 = 77, // 0x0000004D + UCID_FLAG_3 = 78, // 0x0000004E + UCID_CREST = 79, // 0x0000004F + UCID_CREST_2 = 80, // 0x00000050 + UCID_BANNER = 81, // 0x00000051 + UCID_GARDEN = 82, // 0x00000052 + UCID_PUNISHMENTS = 83, // 0x00000053 + UCID_AMUSEMENTS = 84, // 0x00000054 + UCID_BLD_DWELLING = 85, // 0x00000055 + UCID_BLD_CHURCH_1 = 86, // 0x00000056 + UCID_BLD_CHURCH_2 = 87, // 0x00000057 + UCID_BLD_CHURCH_3 = 88, // 0x00000058 + UCID_BLD_GARDEN_1 = 89, // 0x00000059 + UCID_BLD_GARDEN_2 = 90, // 0x0000005A + UCID_BLD_GARDEN_3 = 91, // 0x0000005B + UCID_BLD_GARDEN_4 = 92, // 0x0000005C + UCID_BLD_GARDEN_5 = 93, // 0x0000005D + UCID_BLD_GARDEN_6 = 94, // 0x0000005E + UCID_BLD_GARDEN_7 = 95, // 0x0000005F + UCID_BLD_GARDEN_8 = 96, // 0x00000060 + UCID_BLD_GARDEN_9 = 97, // 0x00000061 + UCID_BLD_GARDEN_10 = 98, // 0x00000062 + UCID_BLD_GARDEN_11 = 99, // 0x00000063 + UCID_BLD_GARDEN_12 = 100, // 0x00000064 + UCID_BLD_FINGERPRESS = 101, // 0x00000065 + UCID_BLD_THUMBSCREW = 102, // 0x00000066 + UCID_BLD_DUNKINGSTOOL = 103, // 0x00000067 + UCID_BLD_STAKE = 104, // 0x00000068 + UCID_BLD_FLOGGINGHORSE = 105, // 0x00000069 + UCID_BLD_FAIR = 106, // 0x0000006A + UCID_BLD_JOUSTING = 107, // 0x0000006B + UCID_SUB_TOWERS = 108, // 0x0000006C + UCID_SUB_KEEPS = 109, // 0x0000006D + UCID_SUB_GATEHOUSES = 110, // 0x0000006E + UCID_SUB_MILITARY = 111, // 0x0000006F + UCID_SUB_DECORATION = 112, // 0x00000070 + UCID_SUB_WORKSHOPS = 113, // 0x00000071 + UCID_SUB_CHURCHES = 114, // 0x00000072 + UCID_SUB_PUNISHMENTS = 115, // 0x00000073 + UCID_SUB_AMUSEMENTS = 116, // 0x00000074 + UCID_SUB_FARMS = 117, // 0x00000075 + UCID_SUB_MOATS = 118, // 0x00000076 + UCID_DIG_MOATS = 119, // 0x00000077 + UCID_SUB_GARDENS = 120, // 0x00000078 + UCID_BLD_MANGONEL = 121, // 0x00000079 + UCID_BLD_CATAPULT = 122, // 0x0000007A + UCID_BLD_TREBUCHET = 123, // 0x0000007B + UCID_BLD_SIEGE_TOWER = 124, // 0x0000007C + UCID_BLD_BATTERING_RAM = 125, // 0x0000007D + UCID_BLD_PORTABLE_SHIELD = 126, // 0x0000007E + UCID_BLD_OIL_SMELTER = 127, // 0x0000007F + UCID_GATEDIRC1 = 128, // 0x00000080 + UCID_GATEDIRC2 = 129, // 0x00000081 + UCID_GATEDIRC3 = 130, // 0x00000082 + UCID_WOODGATE_NORTH = 131, // 0x00000083 + UCID_WOODGATE_EAST = 132, // 0x00000084 + UCID_WOODGATE_SOUTH = 133, // 0x00000085 + UCID_WOODGATE_WEST = 134, // 0x00000086 + UCID_GATE1_NORTH = 135, // 0x00000087 + UCID_GATE1_EAST = 136, // 0x00000088 + UCID_GATE2_NORTH = 137, // 0x00000089 + UCID_GATE2_EAST = 138, // 0x0000008A + UCID_MAP_HEIGHT = 140, // 0x0000008C + UCID_MAP_LANDTYPE = 141, // 0x0000008D + UCID_MAP_OBJ = 142, // 0x0000008E + UCID_MAP_ANIMAL = 143, // 0x0000008F + UCID_MAP_WATER = 144, // 0x00000090 + UCID_MAP_FEATURE = 145, // 0x00000091 + UCID_MAP_GAME = 146, // 0x00000092 + UCID_MAP_BRUSH = 147, // 0x00000093 + UCID_MAP_SNAP = 148, // 0x00000094 + UCID_MAP_DELETE = 149, // 0x00000095 + UCID_MAP_RAISE = 150, // 0x00000096 + UCID_MAP_LOWER = 151, // 0x00000097 + UCID_MAP_MIN = 152, // 0x00000098 + UCID_MAP_MAX = 153, // 0x00000099 + UCID_MAP_EQUALIZE = 154, // 0x0000009A + UCID_MAP_MOUNTAIN = 155, // 0x0000009B + UCID_MAP_HILL = 156, // 0x0000009C + UCID_MAP_MID_PLAIN = 157, // 0x0000009D + UCID_MAP_HI_PLAIN = 158, // 0x0000009E + UCID_MAP_LAND = 159, // 0x0000009F + UCID_MAP_GRASS = 160, // 0x000000A0 + UCID_MAP_ROCKS = 161, // 0x000000A1 + UCID_MAP_PEBBLES = 162, // 0x000000A2 + UCID_MAP_BOULDERS = 163, // 0x000000A3 + UCID_MAP_IRON = 164, // 0x000000A4 + UCID_MAP_DIRT = 165, // 0x000000A5 + UCID_MAP_STONES = 166, // 0x000000A6 + UCID_MAP_CHESTNUT = 167, // 0x000000A7 + UCID_MAP_OAK = 168, // 0x000000A8 + UCID_MAP_PINE = 169, // 0x000000A9 + UCID_MAP_BIRCH = 170, // 0x000000AA + UCID_MAP_SHRUB1A = 171, // 0x000000AB + UCID_MAP_SHRUB1B = 172, // 0x000000AC + UCID_MAP_SHRUB1C = 173, // 0x000000AD + UCID_MAP_SHRUB1D = 174, // 0x000000AE + UCID_MAP_SHRUB1E = 175, // 0x000000AF + UCID_MAP_SHRUB2 = 176, // 0x000000B0 + UCID_MAP_DEER = 177, // 0x000000B1 + UCID_MAP_WOLF = 178, // 0x000000B2 + UCID_MAP_RABBIT = 179, // 0x000000B3 + UCID_MAP_BEAR = 180, // 0x000000B4 + UCID_MAP_SEAGULL = 181, // 0x000000B5 + UCID_MAP_CROW = 182, // 0x000000B6 + UCID_MAP_SEA = 183, // 0x000000B7 + UCID_MAP_SHALLOW = 184, // 0x000000B8 + UCID_MAP_BEACH = 185, // 0x000000B9 + UCID_MAP_MARSH = 186, // 0x000000BA + UCID_MAP_OIL = 187, // 0x000000BB + UCID_MAP_RIVER = 188, // 0x000000BC + UCID_MAP_FORD = 189, // 0x000000BD + UCID_MAP_FOAM = 190, // 0x000000BE + UCID_MAP_RIPPLE = 191, // 0x000000BF + UCID_MAP_BIGROCK1 = 192, // 0x000000C0 + UCID_MAP_BIGROCK2 = 193, // 0x000000C1 + UCID_MAP_BIGROCK3 = 194, // 0x000000C2 + UCID_MAP_BIGROCK4 = 195, // 0x000000C3 + UCID_MAP_BIGROCK5 = 196, // 0x000000C4 + UCID_MAP_SIGNPOST = 197, // 0x000000C5 + UCID_MAP_ESTUARY = 198, // 0x000000C6 + UCID_BLD_BALLISTA = 199, // 0x000000C7 + UCID_BLD_POUR_OIL = 200, // 0x000000C8 + UCID_PATROL = 201, // 0x000000C9 + UCID_DISBAND = 202, // 0x000000CA + UCID_TUNNELHERE = 203, // 0x000000CB + UCID_ATTACKHERE = 204, // 0x000000CC + UCID_LAUNCHCOW = 205, // 0x000000CD + UCID_PITCH_DITCH = 206, // 0x000000CE + UCID_MAP_KEEP1 = 212, // 0x000000D4 + UCID_MAP_KEEP2 = 213, // 0x000000D5 + UCID_MAP_KEEP3 = 214, // 0x000000D6 + UCID_MAP_KEEP4 = 215, // 0x000000D7 + UCID_MAP_KEEP5 = 216, // 0x000000D8 + UCID_MAP_KEEP6 = 217, // 0x000000D9 + UCID_MAP_KEEP7 = 218, // 0x000000DA + UCID_MAP_KEEP8 = 219, // 0x000000DB + UCID_BLD_RUINS1 = 220, // 0x000000DC + UCID_BLD_RUINS2 = 221, // 0x000000DD + UCID_BLD_RUINS3 = 222, // 0x000000DE + UCID_BLD_RUINS4 = 223, // 0x000000DF + UCID_BLD_RUINS5 = 224, // 0x000000E0 + UCID_BLD_RUINS6 = 225, // 0x000000E1 + UCID_BLD_RUINS7 = 226, // 0x000000E2 + UCID_BLD_RUINS8 = 227, // 0x000000E3 + UCID_BLD_RUINS9 = 228, // 0x000000E4 + UCID_BLD_RUINS10 = 229, // 0x000000E5 + UCID_BLD_RUINS11 = 230, // 0x000000E6 + UCID_BLD_RUINS12 = 231, // 0x000000E7 + UCID_BLD_RUINS13 = 232, // 0x000000E8 + UCID_KEEPS_ONLY = 233, // 0x000000E9 + UCID_BLD_GRANARY_KEEPS_ONLY = 234, // 0x000000EA + UCID_TTS_SPEARMEN = 235, // 0x000000EB + UCID_TTS_ARCHERS = 236, // 0x000000EC + UCID_TTS_ENGINEERS = 237, // 0x000000ED + UCID_TTS_PIKEMEN = 238, // 0x000000EE + UCID_TTS_MACEMEN = 239, // 0x000000EF + UCID_TTS_SWORDSMEN = 240, // 0x000000F0 + UCID_TTS_XBOWMEN = 241, // 0x000000F1 + UCID_TTS_KNIGHTS = 242, // 0x000000F2 + UCID_TTS_MONKS = 243, // 0x000000F3 + UCID_TTS_LADDERMEN = 244, // 0x000000F4 + UCID_PLP_ARCHERS = 245, // 0x000000F5 + UCID_PLP_SPEARMEN = 246, // 0x000000F6 + UCID_PLP_PIKEMEN = 247, // 0x000000F7 + UCID_PLP_MACEMEN = 248, // 0x000000F8 + UCID_PLP_XBOWMEN = 249, // 0x000000F9 + UCID_PLP_SWORDSMEN = 250, // 0x000000FA + UCID_PLP_KNIGHTS = 251, // 0x000000FB + UCID_PLP_LADDERMEN = 252, // 0x000000FC + UCID_PLP_ENGINEERS = 253, // 0x000000FD + UCID_PLP_ENGINEERS_POTS = 254, // 0x000000FE + UCID_PLP_MONKS = 255, // 0x000000FF + UCID_PLP_CATAPULTS = 256, // 0x00000100 + UCID_PLP_TREBUCHETS = 257, // 0x00000101 + UCID_PLP_BATTERING_RAM = 258, // 0x00000102 + UCID_PLP_SIEGE_TOWERS = 259, // 0x00000103 + UCID_PLP_PORTABLE_SHIELDS = 260, // 0x00000104 + UCID_PLP_TUNNELERS = 261, // 0x00000105 + UCID_TTS_TUNNELERS = 262, // 0x00000106 + UCID_STANCE_STAND = 263, // 0x00000107 + UCID_STANCE_DEFENSIVE = 264, // 0x00000108 + UCID_STANCE_AGGRESSIVE = 265, // 0x00000109 + UCID_STOP = 266, // 0x0000010A + UCID_BUILD = 267, // 0x0000010B + UCID_BACK = 268, // 0x0000010C + UCID_CESS_PIT = 269, // 0x0000010D + UCID_BURNING_STAKE = 270, // 0x0000010E + UCID_GIBBET = 271, // 0x0000010F + UCID_DUNGEON = 272, // 0x00000110 + UCID_RACK_STRETCHING = 273, // 0x00000111 + UCID_RACK_FLOGGING = 274, // 0x00000112 + UCID_CHOPPING_BLOCK = 275, // 0x00000113 + UCID_DUNKING_STOOL = 276, // 0x00000114 + UCID_DOG_CAGE = 277, // 0x00000115 + UCID_STATUE = 278, // 0x00000116 + UCID_SHRINE = 279, // 0x00000117 + UCID_BEE_HIVE = 280, // 0x00000118 + UCID_DANCING_BEAR = 281, // 0x00000119 + UCID_POND = 282, // 0x0000011A + UCID_BEAR_CAVE = 283, // 0x0000011B + UCID_POND_LARGE = 284, // 0x0000011C + UCID_HEADS_ON_SPIKES = 285, // 0x0000011D + UCID_PLP_ARAB_ARCHER = 286, // 0x0000011E + UCID_PLP_ARAB_SLAVE = 287, // 0x0000011F + UCID_PLP_ARAB_SLINGER = 288, // 0x00000120 + UCID_PLP_ARAB_ASSASIN = 289, // 0x00000121 + UCID_PLP_ARAB_HORSEMAN = 290, // 0x00000122 + UCID_PLP_ARAB_SWORDSMEN = 291, // 0x00000123 + UCID_PLP_ARAB_GRENADIER = 292, // 0x00000124 + UCID_PLP_ARAB_BALLISTA = 293, // 0x00000125 + UCID_BLD_WATERPOT = 294, // 0x00000126 + UCID_BLD_ARAB_BALLISTA = 295, // 0x00000127 + UCID_BLD_OUTPOST = 296, // 0x00000128 + UCID_BLD_OUTPOST_ARAB = 297, // 0x00000129 + UserControlIDShort__UCID__BLD_BAKER = 50 // 0x00000032 + + } UserControlID; + + static_assert_cpp98_obj(sizeof(UserControlID) == 4, UserControlID); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/UserControlIDInt.hpp b/src/OpenSHC/UI/Enums/UserControlIDInt.hpp new file mode 100644 index 0000000..643ade2 --- /dev/null +++ b/src/OpenSHC/UI/Enums/UserControlIDInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/UserControlIDInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/UserControlID.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef int UserControlIDInt; + + static_assert_cpp98_obj(sizeof(UserControlIDInt) == 4, UserControlIDInt); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Enums/UserControlIDShort.hpp b/src/OpenSHC/UI/Enums/UserControlIDShort.hpp new file mode 100644 index 0000000..9ee3830 --- /dev/null +++ b/src/OpenSHC/UI/Enums/UserControlIDShort.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Enums/UserControlIDShort.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/UserControlID.hpp" + +namespace OpenSHC { +namespace UI { + namespace Enums { + typedef short UserControlIDShort; + + static_assert_cpp98_obj(sizeof(UserControlIDShort) == 2, UserControlIDShort); + } // namespace Enums +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/FwdMenuMenuItem.hpp b/src/OpenSHC/UI/FwdMenuMenuItem.hpp new file mode 100644 index 0000000..be76f44 --- /dev/null +++ b/src/OpenSHC/UI/FwdMenuMenuItem.hpp @@ -0,0 +1,11 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/FwdMenuMenuItem.hpp' +*/ + +namespace OpenSHC { +namespace UI { + class Menu; + class MenuItem; +} +} diff --git a/src/OpenSHC/UI/GreatestLordDefinedData.hpp b/src/OpenSHC/UI/GreatestLordDefinedData.hpp new file mode 100644 index 0000000..89d03ff --- /dev/null +++ b/src/OpenSHC/UI/GreatestLordDefinedData.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/GreatestLordDefinedData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct GreatestLordDefinedData { + + int tableSortBy; // 0x00000000 length: 4 + + } GreatestLordDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(GreatestLordDefinedData) == 4, GreatestLordDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Helpers.func.hpp b/src/OpenSHC/UI/Helpers.func.hpp new file mode 100644 index 0000000..81b70b7 --- /dev/null +++ b/src/OpenSHC/UI/Helpers.func.hpp @@ -0,0 +1,47 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Helpers.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Helpers.hpp" +namespace OpenSHC { +namespace UI { + namespace Helpers_Func { + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042C1E0, + &OpenSHC::UI::Helpers::SomeSiegeUnitsComputation) + SomeSiegeUnitsComputation; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int param_1), false, Address::SHC_3BB0A8C1_0x0042C540, + &OpenSHC::UI::Helpers::SomeSiegeRelatedCopying) + SomeSiegeRelatedCopying; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int taxesSettingUnk), false, Address::SHC_3BB0A8C1_0x00433560, + &OpenSHC::UI::Helpers::SetTaxesSetting_unknown) + SetTaxesSetting_unknown; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(undefined4 param_1), false, Address::SHC_3BB0A8C1_0x00434340, + &OpenSHC::UI::Helpers::SetTribesStateField_0x1C) + SetTribesStateField_0x1C; + + MACRO_FUNCTION_RESOLVER(undefined4(__cdecl*)(int unitID), false, Address::SHC_3BB0A8C1_0x004347F0, + &OpenSHC::UI::Helpers::SomeUnitAndViewportCheck) + SomeUnitAndViewportCheck; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E540, + &OpenSHC::UI::Helpers::SomePopularityRelatedComputation) + SomePopularityRelatedComputation; + + MACRO_FUNCTION_RESOLVER(undefined4(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043E5A0, + &OpenSHC::UI::Helpers::SomeFearFactorComputation) + SomeFearFactorComputation; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E5F0, + &OpenSHC::UI::Helpers::SomeGoldRelatedComputation) + SomeGoldRelatedComputation; + + } // namespace Helpers_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Helpers.hpp b/src/OpenSHC/UI/Helpers.hpp new file mode 100644 index 0000000..020a57b --- /dev/null +++ b/src/OpenSHC/UI/Helpers.hpp @@ -0,0 +1,30 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Helpers.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Helpers { + + void __cdecl SomeSiegeUnitsComputation(int param_1); + + void __cdecl SomeSiegeRelatedCopying(int param_1); + + void __cdecl SetTaxesSetting_unknown(int taxesSettingUnk); + + void __cdecl SetTribesStateField_0x1C(undefined4 param_1); + + undefined4 __cdecl SomeUnitAndViewportCheck(int unitID); + + int __stdcall SomePopularityRelatedComputation(); + + undefined4 __cdecl SomeFearFactorComputation(); + + int __stdcall SomeGoldRelatedComputation(); + + } // namespace Helpers +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/HoveredState.func.hpp b/src/OpenSHC/UI/HoveredState.func.hpp new file mode 100644 index 0000000..fe557fd --- /dev/null +++ b/src/OpenSHC/UI/HoveredState.func.hpp @@ -0,0 +1,31 @@ +/** + path: 'OpenSHC/UI/HoveredState.func.hpp' +*/ + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/UI/HoveredState.hpp" +namespace OpenSHC { +namespace UI { + namespace HoveredState_Func { + + using OpenSHC::Commands::CommandBuildingTypeInt; + + MACRO_FUNCTION_RESOLVER( + void (HoveredState::*)(), false, Address::SHC_3BB0A8C1_0x005010C0, &HoveredState::clearHoveredState) + clearHoveredState; + + MACRO_FUNCTION_RESOLVER(void (HoveredState::*)(), false, Address::SHC_3BB0A8C1_0x005010E0, + &HoveredState::clearInvalidatedHoverStates) + clearInvalidatedHoverStates; + + MACRO_FUNCTION_RESOLVER(void (HoveredState::*)(int, int, CommandBuildingTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x00501110, &HoveredState::createHoverStateElement) + createHoverStateElement; + + MACRO_FUNCTION_RESOLVER( + void (HoveredState::*)(), false, Address::SHC_3BB0A8C1_0x005119D0, &HoveredState::calculateHoveredTile) + calculateHoveredTile; + + } // namespace HoveredState_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/HoveredState.hpp b/src/OpenSHC/UI/HoveredState.hpp new file mode 100644 index 0000000..f4a56f4 --- /dev/null +++ b/src/OpenSHC/UI/HoveredState.hpp @@ -0,0 +1,51 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/HoveredState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/UI/HoveredStateElement.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::UI::HoveredStateElement; + +#pragma pack(push, 1) + + // SIZE: 0x000001E0 + class HoveredState { + public: + HoveredStateElement elements[20]; // 0x00000000 length: 480 + + private: + HoveredState(HoveredState const&); + void operator=(HoveredState const&); + + HoveredState(); + ~HoveredState(); + + public: + // Constructor + HoveredState* Constructor_HoveredState(); + + void clearHoveredState(); + + void clearInvalidatedHoverStates(); + + void createHoverStateElement(int x, int y, CommandBuildingTypeInt type, int size, int flag); + + void calculateHoveredTile(); + }; + + static_assert_cpp98_obj(sizeof(HoveredState) == 480, HoveredState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(HoveredState, false, Address::SHC_3BB0A8C1_0x00F2C7D0) pDAT_HoveredState; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/HoveredStateElement.hpp b/src/OpenSHC/UI/HoveredStateElement.hpp new file mode 100644 index 0000000..f536b00 --- /dev/null +++ b/src/OpenSHC/UI/HoveredStateElement.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/HoveredStateElement.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Commands::CommandBuildingTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000018 + typedef struct HoveredStateElement { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + CommandBuildingTypeInt type; // 0x00000008 length: 4 + int size; // 0x0000000C length: 4 + int time; // 0x00000010 length: 4 + int rotationOrExtraInfo; // 0x00000014 length: 4 + + } HoveredStateElement; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(HoveredStateElement) == 24, HoveredStateElement); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Menu.func.hpp b/src/OpenSHC/UI/Menu.func.hpp new file mode 100644 index 0000000..dc4ff41 --- /dev/null +++ b/src/OpenSHC/UI/Menu.func.hpp @@ -0,0 +1,29 @@ +/** + path: 'OpenSHC/UI/Menu.func.hpp' +*/ + +#include "OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp" +#include "OpenSHC/UI/Menu.hpp" +namespace OpenSHC { +namespace UI { + namespace Menu_Func { + + using OpenSHC::UI::Enums::MenuItemHandleStateInt; + + MACRO_FUNCTION_RESOLVER( + void (Menu::*)(MenuItemHandleStateInt), false, Address::SHC_3BB0A8C1_0x004F6280, &Menu::handleMenuItems) + handleMenuItems; + + MACRO_FUNCTION_RESOLVER(void (Menu::*)(), false, Address::SHC_3BB0A8C1_0x004F6470, &Menu::updateMenuButtons) + updateMenuButtons; + + MACRO_FUNCTION_RESOLVER( + void (Menu::*)(), false, Address::SHC_3BB0A8C1_0x004F64A0, &Menu::renderConstructionMenu) + renderConstructionMenu; + + MACRO_FUNCTION_RESOLVER(void (Menu::*)(int), false, Address::SHC_3BB0A8C1_0x004F69D0, &Menu::loadMenuElements) + loadMenuElements; + + } // namespace Menu_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Menu.hpp b/src/OpenSHC/UI/Menu.hpp new file mode 100644 index 0000000..c47ca41 --- /dev/null +++ b/src/OpenSHC/UI/Menu.hpp @@ -0,0 +1,68 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Menu.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemHandleStateInt.hpp" +#include "OpenSHC/UI/FwdMenuMenuItem.hpp" +#include "OpenSHC/UI/MenuItem.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::MenuItem; + using OpenSHC::UI::Enums::MenuItemHandleStateInt; + +#pragma pack(push, 1) + + // SIZE: 0x00000044 + class Menu { + public: + MenuItem* menuItemArray; // 0x00000000 length: 4 + int xPosition; // 0x00000004 length: 4 + int yPosition; // 0x00000008 length: 4 + int thousand; // 0x0000000C length: 4 + int one; // 0x00000010 length: 4 + int currentBuildMenuButtonShiftUnk_0x14; // 0x00000014 length: 4 + int zero; // 0x00000018 length: 4 + int mouseXScreenSpace; // 0x0000001C length: 4 + int mouseYScreenSpace; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + int field11_0x2c; // 0x0000002C length: 4 + int field12_0x30; // 0x00000030 length: 4 + int someTimestampUnk; // 0x00000034 length: 4 + MenuItem* hoveredItem; // 0x00000038 length: 4 + MenuItem* someMenuItemPtr_0x3c; // 0x0000003C length: 4 + int field16_0x40; // 0x00000040 length: 4 + + private: + Menu(Menu const&); + void operator=(Menu const&); + + Menu(); + ~Menu(); + + public: + // Constructor + Menu* Constructor_Menu(MenuItem* menuItemArrayAddress); + + void handleMenuItems(MenuItemHandleStateInt funcIndex); + + void updateMenuButtons(); + + void renderConstructionMenu(); + + void loadMenuElements(int ucPositionIndex); + }; + + static_assert_cpp98_obj(sizeof(Menu) == 68, Menu); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(Menu, false, Address::SHC_3BB0A8C1_0x00B983C0) pDAT_Menu; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuHandlerState.func.hpp b/src/OpenSHC/UI/MenuHandlerState.func.hpp new file mode 100644 index 0000000..e9f13ff --- /dev/null +++ b/src/OpenSHC/UI/MenuHandlerState.func.hpp @@ -0,0 +1,39 @@ +/** + path: 'OpenSHC/UI/MenuHandlerState.func.hpp' +*/ + +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/UI/MenuHandlerState.hpp" +#include "OpenSHC/UI/MenuIDMenuElementAddressPair.hpp" +#include "OpenSHC/UI/UC.hpp" +namespace OpenSHC { +namespace UI { + namespace MenuHandlerState_Func { + + using OpenSHC::UI::MenuIDMenuElementAddressPair; + using OpenSHC::UI::UC; + using OpenSHC::UI::Enums::MenuViewTypeInt; + + MACRO_FUNCTION_RESOLVER(void (MenuHandlerState::*)(dword, dword), false, Address::SHC_3BB0A8C1_0x004F4C60, + &MenuHandlerState::setupBuildMenuState) + setupBuildMenuState; + + MACRO_FUNCTION_RESOLVER(void (MenuHandlerState::*)(int), false, Address::SHC_3BB0A8C1_0x004F4C80, + &MenuHandlerState::startBuildMenuTransition) + startBuildMenuTransition; + + MACRO_FUNCTION_RESOLVER(void (MenuHandlerState::*)(), false, Address::SHC_3BB0A8C1_0x004F4CD0, + &MenuHandlerState::computeBuildMenuTransitionShift) + computeBuildMenuTransitionShift; + + MACRO_FUNCTION_RESOLVER(void (MenuHandlerState::*)(MenuIDMenuElementAddressPair*, UC*, char*), false, + Address::SHC_3BB0A8C1_0x004F6A20, &MenuHandlerState::initializeUI) + initializeUI; + + MACRO_FUNCTION_RESOLVER(void (MenuHandlerState::*)(MenuViewTypeInt), false, Address::SHC_3BB0A8C1_0x004F6A80, + &MenuHandlerState::setupMenuForRendering) + setupMenuForRendering; + + } // namespace MenuHandlerState_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuHandlerState.hpp b/src/OpenSHC/UI/MenuHandlerState.hpp new file mode 100644 index 0000000..fc8927a --- /dev/null +++ b/src/OpenSHC/UI/MenuHandlerState.hpp @@ -0,0 +1,74 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuHandlerState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/UI/Menu.hpp" +#include "OpenSHC/UI/MenuIDMenuElementAddressPair.hpp" +#include "OpenSHC/UI/UC.hpp" +#include "OpenSHC/UI/UCPointerStruct.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Menu; + using OpenSHC::UI::MenuIDMenuElementAddressPair; + using OpenSHC::UI::UC; + using OpenSHC::UI::UCPointerStruct; + using OpenSHC::UI::Enums::MenuViewTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000040 + class MenuHandlerState { + public: + MenuIDMenuElementAddressPair* pointerToMenuIDMenuElementAddressMap; // 0x00000000 length: 4 + Menu* currentMenu; // 0x00000004 length: 4 + UCPointerStruct ucPtrStruct; // 0x00000008 length: 4 + undefined1 padding_0xc[4]; // 0x0000000C length: 4 + int x; // 0x00000010 length: 4 + int y; // 0x00000014 length: 4 + BOOLEnum isBuildMenuTransitioning_0x18; // 0x00000018 length: 4 + dword const017; // 0x0000001C length: 4 + dword const516; // 0x00000020 length: 4 + int buildMenuBackgroundLeftShift_0x24; // 0x00000024 length: 4 + dword buildMenuItemsLeftShift_0x28; // 0x00000028 length: 4 + int buildMenuTransitionDirection_0x2c; // 0x0000002C length: 4 + int buildMenuTransitionStartTime_0x30; // 0x00000030 length: 4 + int buildMenuTransitionDuration_0x34; // 0x00000034 length: 4 + int buildMenuTransitionProgress_0x38; // 0x00000038 length: 4 + dword field18_0x3c; // 0x0000003C length: 4 + + private: + MenuHandlerState(MenuHandlerState const&); + void operator=(MenuHandlerState const&); + + MenuHandlerState(); + ~MenuHandlerState(); + + public: + void setupBuildMenuState(dword param_1, dword param_2); + + void startBuildMenuTransition(int transitionDuration); + + void computeBuildMenuTransitionShift(); + + void initializeUI( + MenuIDMenuElementAddressPair* menuIDMenuElementAddressPair, UC* ucPtr, char* ptrStrongholdUCString); + + void setupMenuForRendering(MenuViewTypeInt menuID); + }; + + static_assert_cpp98_obj(sizeof(MenuHandlerState) == 64, MenuHandlerState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MenuHandlerState, false, Address::SHC_3BB0A8C1_0x00F2B390) pDAT_MenuHandlerState; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuIDMenuElementAddressPair.hpp b/src/OpenSHC/UI/MenuIDMenuElementAddressPair.hpp new file mode 100644 index 0000000..621a3c3 --- /dev/null +++ b/src/OpenSHC/UI/MenuIDMenuElementAddressPair.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuIDMenuElementAddressPair.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/UI/Menu.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Menu; + using OpenSHC::UI::Enums::MenuViewTypeInt; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct MenuIDMenuElementAddressPair { + + MenuViewTypeInt menuID; // 0x00000000 length: 4 + Menu* menuAddress; // 0x00000004 length: 4 + + } MenuIDMenuElementAddressPair; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuIDMenuElementAddressPair) == 8, MenuIDMenuElementAddressPair); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItem.func.hpp b/src/OpenSHC/UI/MenuItem.func.hpp new file mode 100644 index 0000000..f44a9a8 --- /dev/null +++ b/src/OpenSHC/UI/MenuItem.func.hpp @@ -0,0 +1,27 @@ +/** + path: 'OpenSHC/UI/MenuItem.func.hpp' +*/ + +#include "OpenSHC/UI/MenuItem.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace UI { + namespace MenuItem_Func { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER( + BOOLEnum (MenuItem::*)(), false, Address::SHC_3BB0A8C1_0x004F4290, &MenuItem::handleMenuElementsCallbacks) + handleMenuElementsCallbacks; + + MACRO_FUNCTION_RESOLVER( + void (MenuItem::*)(), false, Address::SHC_3BB0A8C1_0x004F49D0, &MenuItem::prepareAndRenderMenuItems) + prepareAndRenderMenuItems; + + MACRO_FUNCTION_RESOLVER( + void (MenuItem::*)(), false, Address::SHC_3BB0A8C1_0x004F4C30, &MenuItem::resetMenuItemStateUnk) + resetMenuItemStateUnk; + + } // namespace MenuItem_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItem.hpp b/src/OpenSHC/UI/MenuItem.hpp new file mode 100644 index 0000000..fea435f --- /dev/null +++ b/src/OpenSHC/UI/MenuItem.hpp @@ -0,0 +1,83 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItem.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemRenderFunctionTypeInt.hpp" +#include "OpenSHC/UI/Enums/MenuItemTypeInt.hpp" +#include "OpenSHC/UI/Enums/UserControlIDShort.hpp" +#include "OpenSHC/UI/FwdMenuMenuItem.hpp" +#include "OpenSHC/UI/Menu.hpp" +#include "OpenSHC/UI/MenuItemActionHandler.hpp" +#include "OpenSHC/UI/MenuItemCallbackParameter.hpp" +#include "OpenSHC/UI/MenuItemFirstItemTypeData.hpp" +#include "OpenSHC/UI/MenuItemPosition.hpp" +#include "OpenSHC/UI/MenuItemRenderFunction.hpp" +#include "OpenSHC/UI/MenuItemSecondItemTypeData.hpp" +#include "OpenSHC/UI/UnknownMenuSubStruct.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Menu; + using OpenSHC::UI::MenuItemActionHandler; + using OpenSHC::UI::MenuItemCallbackParameter; + using OpenSHC::UI::MenuItemFirstItemTypeData; + using OpenSHC::UI::MenuItemPosition; + using OpenSHC::UI::MenuItemRenderFunction; + using OpenSHC::UI::MenuItemSecondItemTypeData; + using OpenSHC::UI::UnknownMenuSubStruct; + using OpenSHC::UI::Enums::MenuItemRenderFunctionTypeInt; + using OpenSHC::UI::Enums::MenuItemTypeInt; + using OpenSHC::UI::Enums::UserControlIDShort; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000050 + class MenuItem { + public: + MenuItemTypeInt menuItemType; // 0x00000000 length: 4 + MenuItemPosition position; // 0x00000004 length: 8 + int itemWidth; // 0x0000000C length: 4 + int itemHeight; // 0x00000010 length: 4 + MenuItemActionHandler* menuItemActionHandler; // 0x00000014 length: 4 + MenuItemCallbackParameter callbackParameter; // 0x00000018 length: 4 + MenuItemRenderFunction* menuItemRenderFunction; // 0x0000001C length: 4 + MenuItemFirstItemTypeData firstItemTypeData; // 0x00000020 length: 4 + MenuItemRenderFunctionTypeInt menuItemRenderFunctionType; // 0x00000024 length: 4 + int testNotEqualZero; // 0x00000028 length: 4 + UnknownMenuSubStruct textMessageLookupIndex; // 0x0000002C length: 4 + UserControlIDShort ucID; // 0x00000030 length: 2 + short hovering; // 0x00000032 length: 2 + short clicked; // 0x00000034 length: 2 + ushort iconDeactivatedUnk_0x36; // 0x00000036 length: 2 + short unknownZero; // 0x00000038 length: 2 + short field16_0x3a; // 0x0000003A length: 2 + MenuItemSecondItemTypeData secondItemTypeData; // 0x0000003C length: 16 + Menu* menuPointer; // 0x0000004C length: 4 + + private: + MenuItem(MenuItem const&); + void operator=(MenuItem const&); + + MenuItem(); + ~MenuItem(); + + public: + BOOLEnum handleMenuElementsCallbacks(); + + void prepareAndRenderMenuItems(); + + void resetMenuItemStateUnk(); + }; + + static_assert_cpp98_obj(sizeof(MenuItem) == 80, MenuItem); + +#pragma pack(pop) + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemActionHandler.hpp b/src/OpenSHC/UI/MenuItemActionHandler.hpp new file mode 100644 index 0000000..a434dff --- /dev/null +++ b/src/OpenSHC/UI/MenuItemActionHandler.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemActionHandler.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl MenuItemActionHandler)(int); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemActionHandler_0x20.hpp b/src/OpenSHC/UI/MenuItemActionHandler_0x20.hpp new file mode 100644 index 0000000..04a0635 --- /dev/null +++ b/src/OpenSHC/UI/MenuItemActionHandler_0x20.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemActionHandler_0x20.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl MenuItemActionHandler_0x20)(int, int, int*, int*, int*); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemActionHandler_0x4.hpp b/src/OpenSHC/UI/MenuItemActionHandler_0x4.hpp new file mode 100644 index 0000000..6a9809f --- /dev/null +++ b/src/OpenSHC/UI/MenuItemActionHandler_0x4.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemActionHandler_0x4.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl MenuItemActionHandler_0x4)(int); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemCallbackParameter.hpp b/src/OpenSHC/UI/MenuItemCallbackParameter.hpp new file mode 100644 index 0000000..6aae2ff --- /dev/null +++ b/src/OpenSHC/UI/MenuItemCallbackParameter.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemCallbackParameter.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ActiveMenuTab.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::ActiveMenuTab; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union MenuItemCallbackParameter { + + int parameter; // 0x00000000 length: 4 + ActiveMenuTab activeMenuTab; // 0x00000000 length: 4 + int textIndex; // 0x00000000 length: 4 + + } MenuItemCallbackParameter; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuItemCallbackParameter) == 4, MenuItemCallbackParameter); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemFirstItemTypeData.hpp b/src/OpenSHC/UI/MenuItemFirstItemTypeData.hpp new file mode 100644 index 0000000..f62171a --- /dev/null +++ b/src/OpenSHC/UI/MenuItemFirstItemTypeData.hpp @@ -0,0 +1,27 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemFirstItemTypeData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Enums/GmDataIndexInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Rendering::Enums::GmDataIndexInt; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union MenuItemFirstItemTypeData { + + GmDataIndexInt gmDataIndex; // 0x00000000 length: 4 + int itemsToSkip; // 0x00000000 length: 4 + + } MenuItemFirstItemTypeData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuItemFirstItemTypeData) == 4, MenuItemFirstItemTypeData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemPosition.hpp b/src/OpenSHC/UI/MenuItemPosition.hpp new file mode 100644 index 0000000..9ad7ecb --- /dev/null +++ b/src/OpenSHC/UI/MenuItemPosition.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemPosition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/MenuItemUCInfo.hpp" +#include "OpenSHC/UI/Position.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::MenuItemUCInfo; + using OpenSHC::UI::Position; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef union MenuItemPosition { + + Position position; // 0x00000000 length: 8 + MenuItemUCInfo ucInfo; // 0x00000000 length: 8 + + } MenuItemPosition; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuItemPosition) == 8, MenuItemPosition); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemRenderFunction.hpp b/src/OpenSHC/UI/MenuItemRenderFunction.hpp new file mode 100644 index 0000000..7d497af --- /dev/null +++ b/src/OpenSHC/UI/MenuItemRenderFunction.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemRenderFunction.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl MenuItemRenderFunction)(int); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemRenderFunction_0x20.hpp b/src/OpenSHC/UI/MenuItemRenderFunction_0x20.hpp new file mode 100644 index 0000000..a3abaa1 --- /dev/null +++ b/src/OpenSHC/UI/MenuItemRenderFunction_0x20.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemRenderFunction_0x20.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace UI { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + typedef void(__cdecl MenuItemRenderFunction_0x20)(int, int, int, int, BOOLEnum); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemSecondItemTypeData.hpp b/src/OpenSHC/UI/MenuItemSecondItemTypeData.hpp new file mode 100644 index 0000000..15ace89 --- /dev/null +++ b/src/OpenSHC/UI/MenuItemSecondItemTypeData.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemSecondItemTypeData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ButtonState.hpp" +#include "OpenSHC/UI/ScrollbarOrSliderState.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::ButtonState; + using OpenSHC::UI::ScrollbarOrSliderState; + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef union MenuItemSecondItemTypeData { + + ButtonState buttonState; // 0x00000000 length: 16 + ScrollbarOrSliderState scrollbarOrSliderState; // 0x00000000 length: 16 + + } MenuItemSecondItemTypeData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuItemSecondItemTypeData) == 16, MenuItemSecondItemTypeData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuItemUCInfo.hpp b/src/OpenSHC/UI/MenuItemUCInfo.hpp new file mode 100644 index 0000000..6e1baa7 --- /dev/null +++ b/src/OpenSHC/UI/MenuItemUCInfo.hpp @@ -0,0 +1,29 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuItemUCInfo.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuItemUCMarkerInt.hpp" +#include "OpenSHC/UI/Enums/UserControlIDInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Enums::MenuItemUCMarkerInt; + using OpenSHC::UI::Enums::UserControlIDInt; + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct MenuItemUCInfo { + + MenuItemUCMarkerInt ucMarker_0x0; // 0x00000000 length: 4 + UserControlIDInt ucIndex_0x4; // 0x00000004 length: 4 + + } MenuItemUCInfo; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MenuItemUCInfo) == 8, MenuItemUCInfo); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuModal.func.hpp b/src/OpenSHC/UI/MenuModal.func.hpp new file mode 100644 index 0000000..9851809 --- /dev/null +++ b/src/OpenSHC/UI/MenuModal.func.hpp @@ -0,0 +1,12 @@ +/** + path: 'OpenSHC/UI/MenuModal.func.hpp' +*/ + +#include "OpenSHC/UI/MenuModal.hpp" +namespace OpenSHC { +namespace UI { + namespace MenuModal_Func { + + } // namespace MenuModal_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuModal.hpp b/src/OpenSHC/UI/MenuModal.hpp new file mode 100644 index 0000000..fc067ee --- /dev/null +++ b/src/OpenSHC/UI/MenuModal.hpp @@ -0,0 +1,55 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuModal.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuModalTypeInt.hpp" +#include "OpenSHC/UI/Menu.hpp" +#include "OpenSHC/UI/MenuModalRenderFunction.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Menu; + using OpenSHC::UI::MenuModalRenderFunction; + using OpenSHC::UI::Enums::MenuModalTypeInt; + +#pragma pack(push, 1) + + // SIZE: 0x00000028 + class MenuModal { + public: + MenuModalTypeInt menuModalID; // 0x00000000 length: 4 + int x; // 0x00000004 length: 4 + int y; // 0x00000008 length: 4 + int width; // 0x0000000C length: 4 + int height; // 0x00000010 length: 4 + int borderStyle; // 0x00000014 length: 4 + int backgroundColourIndex; // 0x00000018 length: 4 + MenuModalRenderFunction* menuModalRenderFunction; // 0x0000001C length: 4 + Menu* pointerToMenu; // 0x00000020 length: 4 + MenuModal* pointerToNextModalMenu; // 0x00000024 length: 4 + + private: + MenuModal(MenuModal const&); + void operator=(MenuModal const&); + + MenuModal(); + ~MenuModal(); + + public: + // Constructor + MenuModal* Constructor_MenuModal(MenuModalTypeInt menuModalId, int xPos, int yPos, int width, int height, + int borderStyle, int backgroundColourIndex, MenuModalRenderFunction* renderFunctionPtr, Menu* menuPtr); + }; + + static_assert_cpp98_obj(sizeof(MenuModal) == 40, MenuModal); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MenuModal, false, Address::SHC_3BB0A8C1_0x00DF51C8) pDAT_MenuModal; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuModalComposition.func.hpp b/src/OpenSHC/UI/MenuModalComposition.func.hpp new file mode 100644 index 0000000..01dcc29 --- /dev/null +++ b/src/OpenSHC/UI/MenuModalComposition.func.hpp @@ -0,0 +1,63 @@ +/** + path: 'OpenSHC/UI/MenuModalComposition.func.hpp' +*/ + +#include "OpenSHC/UI/Enums/MenuModalTypeInt.hpp" +#include "OpenSHC/UI/MenuModal.hpp" +#include "OpenSHC/UI/MenuModalComposition.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace UI { + namespace MenuModalComposition_Func { + + using OpenSHC::UI::MenuModal; + using OpenSHC::UI::Enums::MenuModalTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(), false, Address::SHC_3BB0A8C1_0x004A9E80, + &MenuModalComposition::loadAllMenuElementsOfMenuModals) + loadAllMenuElementsOfMenuModals; + + MACRO_FUNCTION_RESOLVER(MenuModal* (MenuModalComposition::*)(MenuModalTypeInt), false, + Address::SHC_3BB0A8C1_0x004A9EB0, &MenuModalComposition::findModalMenu) + findModalMenu; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(MenuModalTypeInt, BOOLEnum), false, + Address::SHC_3BB0A8C1_0x004A9ED0, &MenuModalComposition::activateModalDialog) + activateModalDialog; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(MenuModalTypeInt, int, int), false, + Address::SHC_3BB0A8C1_0x004AA0A0, &MenuModalComposition::setExtraActiveModalDialog) + setExtraActiveModalDialog; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(), false, Address::SHC_3BB0A8C1_0x004AA1F0, + &MenuModalComposition::handleActiveModalDialogUnk) + handleActiveModalDialogUnk; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(int*, int*, int*, int*), false, + Address::SHC_3BB0A8C1_0x004AA3E0, &MenuModalComposition::fillWithMenuModalDimensions) + fillWithMenuModalDimensions; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(int, int, int, undefined*, void*), false, + Address::SHC_3BB0A8C1_0x004AA480, &MenuModalComposition::setSliderParameters) + setSliderParameters; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(dword, dword, dword, dword, undefined*), false, + Address::SHC_3BB0A8C1_0x004AA540, &MenuModalComposition::setSliderParameters2) + setSliderParameters2; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(int, int, dword, dword, undefined*, undefined*), false, + Address::SHC_3BB0A8C1_0x004AA930, &MenuModalComposition::meth_0x4aa930) + meth_0x4aa930; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(), false, Address::SHC_3BB0A8C1_0x004B0B30, + &MenuModalComposition::renderMenuModal) + renderMenuModal; + + MACRO_FUNCTION_RESOLVER(void (MenuModalComposition::*)(MenuModalTypeInt), false, + Address::SHC_3BB0A8C1_0x004B2820, &MenuModalComposition::activateModalDialog2) + activateModalDialog2; + + } // namespace MenuModalComposition_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuModalComposition.hpp b/src/OpenSHC/UI/MenuModalComposition.hpp new file mode 100644 index 0000000..d948be9 --- /dev/null +++ b/src/OpenSHC/UI/MenuModalComposition.hpp @@ -0,0 +1,89 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuModalComposition.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuModalTypeInt.hpp" +#include "OpenSHC/UI/MenuModal.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::MenuModal; + using OpenSHC::UI::Enums::MenuModalTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0000007C + class MenuModalComposition { + public: + int slot; // 0x00000000 length: 4 + MenuModal modalMenu; // 0x00000004 length: 40 + MenuModalTypeInt activeModalDialogID; // 0x0000002C length: 4 + dword modalDragDropUnk; // 0x00000030 length: 4 + dword mouseRelativeX; // 0x00000034 length: 4 + dword mouseRelativeY; // 0x00000038 length: 4 + dword sliderMinimum; // 0x0000003C length: 4 + dword sliderMaximum; // 0x00000040 length: 4 + undefined1 padding_0x44[8]; // 0x00000044 length: 8 + int textGroup; // 0x0000004C length: 4 + int textIndex; // 0x00000050 length: 4 + dword sliderValue; // 0x00000054 length: 4 + int* destination; // 0x00000058 length: 4 + short* destination2; // 0x0000005C length: 4 + pointer* sliderCallbackFunction; // 0x00000060 length: 4 + dword mbr_0x64; // 0x00000064 length: 4 + dword disappearAfter; // 0x00000068 length: 4 + dword mbr_0x6c; // 0x0000006C length: 4 + dword timeItIsSet; // 0x00000070 length: 4 + int minus1; // 0x00000074 length: 4 + dword mbr_0x78; // 0x00000078 length: 4 + + private: + MenuModalComposition(MenuModalComposition const&); + void operator=(MenuModalComposition const&); + + MenuModalComposition(); + ~MenuModalComposition(); + + public: + // Constructor + MenuModalComposition* Constructor_MenuModalComposition(int slot); + + void loadAllMenuElementsOfMenuModals(); + + MenuModal* findModalMenu(MenuModalTypeInt menuModalID); + + void activateModalDialog(MenuModalTypeInt menuModalID, BOOLEnum retainOther); + + void setExtraActiveModalDialog(MenuModalTypeInt menuModalID, int dialogX, int dialogY); + + void handleActiveModalDialogUnk(); + + void fillWithMenuModalDimensions(int* xPtr, int* yPtr, int* widthPtr, int* heigthPtr); + + void setSliderParameters(int minimum, int maximum, int value, undefined* destination, void* callbackFunction); + + void setSliderParameters2( + dword minimum, dword maximum, dword value, dword destination, undefined* callbackFunction); + + void meth_0x4aa930( + int param_1, int param_2, dword param_3, dword param_4, undefined* param_5, undefined* param_6); + + void renderMenuModal(); + + void activateModalDialog2(MenuModalTypeInt modalDialogID); + }; + + static_assert_cpp98_obj(sizeof(MenuModalComposition) == 124, MenuModalComposition); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MenuModalComposition, false, Address::SHC_3BB0A8C1_0x02403678) pDAT_MenuModalComposition; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuModalRenderFunction.hpp b/src/OpenSHC/UI/MenuModalRenderFunction.hpp new file mode 100644 index 0000000..ad4b3e9 --- /dev/null +++ b/src/OpenSHC/UI/MenuModalRenderFunction.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuModalRenderFunction.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl MenuModalRenderFunction)(int, int, int, int); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuTextInputState.func.hpp b/src/OpenSHC/UI/MenuTextInputState.func.hpp new file mode 100644 index 0000000..f1b82e9 --- /dev/null +++ b/src/OpenSHC/UI/MenuTextInputState.func.hpp @@ -0,0 +1,47 @@ +/** + path: 'OpenSHC/UI/MenuTextInputState.func.hpp' +*/ + +#include "OpenSHC/UI/Enums/MenuModalTypeInt.hpp" +#include "OpenSHC/UI/MenuTextInputState.hpp" +namespace OpenSHC { +namespace UI { + namespace MenuTextInputState_Func { + + using OpenSHC::UI::Enums::MenuModalTypeInt; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(MenuModalTypeInt), false, Address::SHC_3BB0A8C1_0x004916C0, + &MenuTextInputState::activateModalDialogAndClearText) + activateModalDialogAndClearText; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(), false, Address::SHC_3BB0A8C1_0x00491730, + &MenuTextInputState::clearModalDialog2to6) + clearModalDialog2to6; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(), false, Address::SHC_3BB0A8C1_0x00491750, + &MenuTextInputState::clearAnyOtherModalDialogs) + clearAnyOtherModalDialogs; + + MACRO_FUNCTION_RESOLVER( + void (MenuTextInputState::*)(), false, Address::SHC_3BB0A8C1_0x004917C0, &MenuTextInputState::meth_0x4917c0) + meth_0x4917c0; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(), false, Address::SHC_3BB0A8C1_0x00493900, + &MenuTextInputState::popModalDialog) + popModalDialog; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(int), false, Address::SHC_3BB0A8C1_0x00493980, + &MenuTextInputState::activateLoadOrSaveMapUI) + activateLoadOrSaveMapUI; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(MenuModalTypeInt), false, Address::SHC_3BB0A8C1_0x00493AC0, + &MenuTextInputState::loadOrSaveMap) + loadOrSaveMap; + + MACRO_FUNCTION_RESOLVER(void (MenuTextInputState::*)(int), false, Address::SHC_3BB0A8C1_0x004968A0, + &MenuTextInputState::loadOrSaveGame) + loadOrSaveGame; + + } // namespace MenuTextInputState_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuTextInputState.hpp b/src/OpenSHC/UI/MenuTextInputState.hpp new file mode 100644 index 0000000..11fbd4f --- /dev/null +++ b/src/OpenSHC/UI/MenuTextInputState.hpp @@ -0,0 +1,106 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuTextInputState.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuModalTypeInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Enums::MenuModalTypeInt; + +#pragma pack(push, 1) + + // SIZE: 0x00001828 + class MenuTextInputState { + public: + undefined4 field0_0x0; // 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 + undefined4 field8_0x20; // 0x00000020 length: 4 + undefined4 field9_0x24; // 0x00000024 length: 4 + undefined4 menuCurrentlySelectedResolution; // 0x00000028 length: 4 + undefined4 unknownZoomRelatedFlag01; // 0x0000002C length: 4 + undefined4 field12_0x30; // 0x00000030 length: 4 + undefined4 menuScrollSpeedSetting; // 0x00000034 length: 4 + undefined4 field14_0x38; // 0x00000038 length: 4 + undefined1 field15_0x3c; // 0x0000003C length: 1 + undefined1 padding_0x3d[3]; // 0x0000003D length: 3 + undefined4 DAT_SoundActiveMenuVar; // 0x00000040 length: 4 + undefined4 field20_0x44; // 0x00000044 length: 4 + undefined4 field21_0x48; // 0x00000048 length: 4 + undefined4 field22_0x4c; // 0x0000004C length: 4 + undefined4 menuCursorType; // 0x00000050 length: 4 + undefined4 DAT_GenieVoiceActiveMenuVar; // 0x00000054 length: 4 + undefined4 DAT_MenuOptionsActionParameter; // 0x00000058 length: 4 + MenuModalTypeInt currentModalDialog; // 0x0000005C length: 4 + MenuModalTypeInt modalDialog_2; // 0x00000060 length: 4 + MenuModalTypeInt modalDialog_3; // 0x00000064 length: 4 + MenuModalTypeInt modalDialog_4; // 0x00000068 length: 4 + MenuModalTypeInt modalDialog_5; // 0x0000006C length: 4 + MenuModalTypeInt modalDialog_6; // 0x00000070 length: 4 + undefined4 field32_0x74; // 0x00000074 length: 4 + undefined4 field33_0x78; // 0x00000078 length: 4 + undefined4 DAT_MenuLoadGameRelativeSelectionIndex; // 0x0000007C length: 4 + undefined4 DAT_MenuLoadGameRelativeSelectionOffset; // 0x00000080 length: 4 + undefined4 field36_0x84; // 0x00000084 length: 4 + undefined4 DAT_SomeTextArrayIndex; // 0x00000088 length: 4 + undefined4 field38_0x8c; // 0x0000008C length: 4 + undefined4 field39_0x90; // 0x00000090 length: 4 + undefined4 field40_0x94; // 0x00000094 length: 4 + undefined4 field41_0x98; // 0x00000098 length: 4 + undefined4 field42_0x9c; // 0x0000009C length: 4 + undefined4 field43_0xa0; // 0x000000A0 length: 4 + int field44_0xa4; // 0x000000A4 length: 4 + undefined1 padding_0xa8[4]; // 0x000000A8 length: 4 + undefined4 field49_0xac; // 0x000000AC length: 4 + undefined4 DAT_ArrayOfMapU3EndInt2[500]; // 0x000000B0 length: 2000 + undefined4 DAT_MapSelectionPreloadMapIndexMapping; // 0x00000880 length: 4 + undefined4 DAT_ArrayOfMapIndices[500]; // 0x00000884 length: 2000 + undefined4 DAT_ArrayOfMapIndices2[500]; // 0x00001054 length: 2000 + undefined1 padding_0x1824[4]; // 0x00001824 length: 4 + + private: + MenuTextInputState(MenuTextInputState const&); + void operator=(MenuTextInputState const&); + + MenuTextInputState(); + ~MenuTextInputState(); + + public: + // Constructor + MenuTextInputState* Constructor_MenuTextInputState(); + + void activateModalDialogAndClearText(MenuModalTypeInt dialogID); + + void clearModalDialog2to6(); + + void clearAnyOtherModalDialogs(); + + void meth_0x4917c0(); + + void popModalDialog(); + + void activateLoadOrSaveMapUI(int loadOrSaveMap); + + void loadOrSaveMap(MenuModalTypeInt param_1); + + void loadOrSaveGame(int action); + }; + + static_assert_cpp98_obj(sizeof(MenuTextInputState) == 6184, MenuTextInputState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MenuTextInputState, false, Address::SHC_3BB0A8C1_0x011265A8) pDAT_MenuTextInputState; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuView.func.hpp b/src/OpenSHC/UI/MenuView.func.hpp new file mode 100644 index 0000000..aae4dd4 --- /dev/null +++ b/src/OpenSHC/UI/MenuView.func.hpp @@ -0,0 +1,20 @@ +/** + path: 'OpenSHC/UI/MenuView.func.hpp' +*/ + +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/UI/MenuView.hpp" +namespace OpenSHC { +namespace UI { + namespace MenuView_Func { + + using OpenSHC::UI::MenuView; + using OpenSHC::UI::Enums::MenuViewTypeInt; + + MACRO_FUNCTION_RESOLVER(MenuView* (MenuView::*)(MenuViewTypeInt), false, Address::SHC_3BB0A8C1_0x004F4050, + &MenuView::Constructor_MenuView_Reduced) + Constructor_MenuView_Reduced; + + } // namespace MenuView_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MenuView.hpp b/src/OpenSHC/UI/MenuView.hpp new file mode 100644 index 0000000..ca09b7b --- /dev/null +++ b/src/OpenSHC/UI/MenuView.hpp @@ -0,0 +1,51 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MenuView.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" +#include "OpenSHC/WindowsHelper/cdeclVoidFunc.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Enums::MenuViewTypeInt; + using OpenSHC::WindowsHelper::cdeclVoidFunc; + +#pragma pack(push, 1) + + // SIZE: 0x00000018 + class MenuView { + public: + dword unknown_0x0; // 0x00000000 length: 4 + MenuViewTypeInt menuID; // 0x00000004 length: 4 + MenuView* nextMenuViewPtr; // 0x00000008 length: 4 + cdeclVoidFunc* prepare; // 0x0000000C length: 4 + cdeclVoidFunc* doInitial; // 0x00000010 length: 4 + cdeclVoidFunc* doEveryFrame; // 0x00000014 length: 4 + + private: + MenuView(MenuView const&); + void operator=(MenuView const&); + + MenuView(); + ~MenuView(); + + public: + // Constructor + MenuView* Constructor_MenuView(MenuViewTypeInt menuID, cdeclVoidFunc* prepareMenuView, cdeclVoidFunc* doInitial, + cdeclVoidFunc* doEveryFrame); + + MenuView* Constructor_MenuView_Reduced(MenuViewTypeInt menuType); + }; + + static_assert_cpp98_obj(sizeof(MenuView) == 24, MenuView); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MenuView, false, Address::SHC_3BB0A8C1_0x00B983A4) pDAT_MenuView; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp b/src/OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp new file mode 100644 index 0000000..d052804 --- /dev/null +++ b/src/OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp @@ -0,0 +1,120 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MiniMap/MiniMapDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapColorRelatedStructure1.hpp" + +namespace OpenSHC { +namespace UI { + namespace MiniMap { + + using OpenSHC::Map::MapColorRelatedStructure1; + +#pragma pack(push, 1) + // SIZE: 0x000002C4 + typedef struct MiniMapDefinedData { + + int field0_0x0[8]; // 0x00000000 length: 32 + ushort field1_0x20[2]; // 0x00000020 length: 4 + ushort field2_0x24[16]; // 0x00000024 length: 32 + ushort field3_0x44[8]; // 0x00000044 length: 16 + ushort field4_0x54[8]; // 0x00000054 length: 16 + ushort field5_0x64[8]; // 0x00000064 length: 16 + ushort field6_0x74[8]; // 0x00000074 length: 16 + ushort field7_0x84[16]; // 0x00000084 length: 32 + ushort DAT_MinimapColorArray[8]; // 0x000000A4 length: 16 + ushort field9_0xb4[8]; // 0x000000B4 length: 16 + ushort field10_0xc4[8]; // 0x000000C4 length: 16 + ushort field11_0xd4[8]; // 0x000000D4 length: 16 + ushort field12_0xe4[8]; // 0x000000E4 length: 16 + ushort field13_0xf4[8]; // 0x000000F4 length: 16 + ushort field14_0x104[16]; // 0x00000104 length: 32 + ushort field15_0x124[16]; // 0x00000124 length: 32 + ushort field16_0x144[8]; // 0x00000144 length: 16 + ushort field17_0x154[8]; // 0x00000154 length: 16 + ushort field18_0x164[8]; // 0x00000164 length: 16 + ushort field19_0x174[8]; // 0x00000174 length: 16 + ushort field20_0x184[52]; // 0x00000184 length: 104 + ushort DAT_PlayerColorColors[2][2]; // 0x000001EC length: 8 + ushort DAT_AnimalMinimapColour_RGB15; // 0x000001F4 length: 2 + ushort DAT_AnimalMinimapColour_RGB16; // 0x000001F6 length: 2 + ushort field24_0x1f8; // 0x000001F8 length: 2 + ushort field25_0x1fa; // 0x000001FA length: 2 + ushort DAT_PlayerColorColors_entry2; // 0x000001FC length: 2 + ushort field27_0x1fe; // 0x000001FE length: 2 + ushort field28_0x200; // 0x00000200 length: 2 + ushort field29_0x202; // 0x00000202 length: 2 + ushort field30_0x204; // 0x00000204 length: 2 + ushort field31_0x206; // 0x00000206 length: 2 + ushort field32_0x208; // 0x00000208 length: 2 + ushort field33_0x20a; // 0x0000020A length: 2 + ushort field34_0x20c; // 0x0000020C length: 2 + ushort field35_0x20e; // 0x0000020E length: 2 + ushort field36_0x210; // 0x00000210 length: 2 + ushort field37_0x212; // 0x00000212 length: 2 + ushort field38_0x214; // 0x00000214 length: 2 + ushort field39_0x216; // 0x00000216 length: 2 + ushort field40_0x218; // 0x00000218 length: 2 + ushort field41_0x21a; // 0x0000021A length: 2 + ushort field42_0x21c; // 0x0000021C length: 2 + ushort field43_0x21e; // 0x0000021E length: 2 + ushort field44_0x220; // 0x00000220 length: 2 + ushort field45_0x222; // 0x00000222 length: 2 + ushort field46_0x224; // 0x00000224 length: 2 + ushort field47_0x226; // 0x00000226 length: 2 + ushort field48_0x228; // 0x00000228 length: 2 + ushort field49_0x22a; // 0x0000022A length: 2 + ushort field50_0x22c; // 0x0000022C length: 2 + ushort field51_0x22e; // 0x0000022E length: 2 + ushort field52_0x230; // 0x00000230 length: 2 + ushort field53_0x232; // 0x00000232 length: 2 + ushort field54_0x234; // 0x00000234 length: 2 + ushort field55_0x236; // 0x00000236 length: 2 + ushort field56_0x238; // 0x00000238 length: 2 + ushort field57_0x23a; // 0x0000023A length: 2 + ushort field58_0x23c; // 0x0000023C length: 2 + ushort field59_0x23e; // 0x0000023E length: 2 + ushort field60_0x240; // 0x00000240 length: 2 + ushort field61_0x242; // 0x00000242 length: 2 + ushort field62_0x244; // 0x00000244 length: 2 + ushort field63_0x246; // 0x00000246 length: 2 + ushort field64_0x248; // 0x00000248 length: 2 + ushort field65_0x24a; // 0x0000024A length: 2 + ushort field66_0x24c; // 0x0000024C length: 2 + ushort field67_0x24e; // 0x0000024E length: 2 + ushort field68_0x250; // 0x00000250 length: 2 + ushort field69_0x252; // 0x00000252 length: 2 + ushort field70_0x254; // 0x00000254 length: 2 + ushort field71_0x256; // 0x00000256 length: 2 + ushort field72_0x258; // 0x00000258 length: 2 + ushort field73_0x25a; // 0x0000025A length: 2 + ushort field74_0x25c; // 0x0000025C length: 2 + ushort field75_0x25e; // 0x0000025E length: 2 + ushort field76_0x260; // 0x00000260 length: 2 + ushort field77_0x262; // 0x00000262 length: 2 + ushort field78_0x264; // 0x00000264 length: 2 + ushort field79_0x266; // 0x00000266 length: 2 + ushort field80_0x268; // 0x00000268 length: 2 + ushort field81_0x26a; // 0x0000026A length: 2 + ushort field82_0x26c; // 0x0000026C length: 2 + ushort field83_0x26e; // 0x0000026E length: 2 + ushort field84_0x270; // 0x00000270 length: 2 + ushort field85_0x272; // 0x00000272 length: 2 + ushort field86_0x274; // 0x00000274 length: 2 + ushort field87_0x276; // 0x00000276 length: 2 + ushort field88_0x278; // 0x00000278 length: 2 + ushort field89_0x27a; // 0x0000027A length: 2 + MapColorRelatedStructure1 field90_0x27c[8]; // 0x0000027C length: 64 + int field91_0x2bc; // 0x000002BC length: 4 + int field92_0x2c0; // 0x000002C0 length: 4 + + } MiniMapDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(MiniMapDefinedData) == 708, MiniMapDefinedData); + } // namespace MiniMap +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MinimapViewState.func.hpp b/src/OpenSHC/UI/MinimapViewState.func.hpp new file mode 100644 index 0000000..e500252 --- /dev/null +++ b/src/OpenSHC/UI/MinimapViewState.func.hpp @@ -0,0 +1,84 @@ +/** + path: 'OpenSHC/UI/MinimapViewState.func.hpp' +*/ + +#include "OpenSHC/UI/MinimapViewState.hpp" +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::*)(int*, int*), false, Address::SHC_3BB0A8C1_0x004B51A0, + &MinimapViewState::meth_0x4b51a0) + meth_0x4b51a0; + + 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::*)(uint, int, int, uint, int), false, + Address::SHC_3BB0A8C1_0x004B5330, &MinimapViewState::FUN_004b5330) + FUN_004b5330; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(uint, int, int, int, uint), false, + Address::SHC_3BB0A8C1_0x004B58D0, &MinimapViewState::setTileColorsUnk) + setTileColorsUnk; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(uint, int, int), false, Address::SHC_3BB0A8C1_0x004B5F70, + &MinimapViewState::meth_0x4b5f70) + meth_0x4b5f70; + + 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; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int), false, Address::SHC_3BB0A8C1_0x004B6430, + &MinimapViewState::setSpawnMoment) + setSpawnMoment; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B6480, + &MinimapViewState::clearOldSpawnMoment) + clearOldSpawnMoment; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(uint, int), false, Address::SHC_3BB0A8C1_0x004B6640, + &MinimapViewState::setMapPropertyDependingOnMapSize) + setMapPropertyDependingOnMapSize; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, uint), false, Address::SHC_3BB0A8C1_0x004B6680, + &MinimapViewState::setTileColorsDependingOnMapSize) + setTileColorsDependingOnMapSize; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int, int, int, uint, int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004B66C0, &MinimapViewState::drawMinimap) + drawMinimap; + + MACRO_FUNCTION_RESOLVER( + void (MinimapViewState::*)(), false, Address::SHC_3BB0A8C1_0x004B7300, &MinimapViewState::renderMinimapMain) + renderMinimapMain; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004B7460, + &MinimapViewState::renderMinimapLandscaping) + renderMinimapLandscaping; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004B7530, + &MinimapViewState::renderMinimapEditor) + renderMinimapEditor; + + MACRO_FUNCTION_RESOLVER(void (MinimapViewState::*)(int, int, int, int), false, Address::SHC_3BB0A8C1_0x004B7600, + &MinimapViewState::renderMiniMapForSaving) + renderMiniMapForSaving; + + } // namespace MinimapViewState_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/MinimapViewState.hpp b/src/OpenSHC/UI/MinimapViewState.hpp new file mode 100644 index 0000000..e39bfb5 --- /dev/null +++ b/src/OpenSHC/UI/MinimapViewState.hpp @@ -0,0 +1,103 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/MinimapViewState.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/MapHeaderSection4IntStruct.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Map::MapHeaderSection4IntStruct; + +#pragma pack(push, 1) + + // SIZE: 0x00061BF8 + class MinimapViewState { + public: + undefined4 field0_0x0; // 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 width; // 0x00000018 length: 4 + undefined4 height; // 0x0000001C length: 4 + undefined4 widthFactor; // 0x00000020 length: 4 + undefined4 heightFactor; // 0x00000024 length: 4 + undefined4 x; // 0x00000028 length: 4 + undefined4 y; // 0x0000002C length: 4 + undefined4 oneOrTwo; // 0x00000030 length: 4 + undefined4 field13_0x34; // 0x00000034 length: 4 + undefined4 field14_0x38; // 0x00000038 length: 4 + undefined4 field15_0x3c; // 0x0000003C length: 4 + undefined4 DAT_SomeMiniMapCounterTill4; // 0x00000040 length: 4 + ushort field17_0x44[80000]; // 0x00000044 length: 160000 + ushort field18_0x27144[80000]; // 0x00027144 length: 160000 + short loadedMiniMap[200][200]; // 0x0004E244 length: 80000 + MapHeaderSection4IntStruct DAT_MapU4B64; // 0x00061AC4 length: 64 + int spawnMomentX[20]; // 0x00061B04 length: 80 + int spawnMomentY[20]; // 0x00061B54 length: 80 + DWORD spawnMoment[20]; // 0x00061BA4 length: 80 + undefined4 spawnMomentCount; // 0x00061BF4 length: 4 + + private: + MinimapViewState(MinimapViewState const&); + void operator=(MinimapViewState const&); + + MinimapViewState(); + ~MinimapViewState(); + + public: + // Constructor + MinimapViewState* Constructor_MinimapViewState(); + + void FUN_004b5110(); + + void meth_0x4b51a0(int* param_1, int* param_2); + + void renderMinimapPreview(int screenX, int screenY); + + void meth_0x4b5300(); + + void FUN_004b5330(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 meth_0x4b5f70(uint param_1, int param_2, int param_3); + + void generateMinimapImage(); + + void createMapPreviewMiniMap_ConvertColorsUnk(); + + void setSpawnMoment(int x, int y); + + void clearOldSpawnMoment(); + + void setMapPropertyDependingOnMapSize(uint param_1, int param_2); + + void setTileColorsDependingOnMapSize(int param_1, uint param_2); + + void drawMinimap(int xPos, int yPos, int width, int height, uint flags, int xOffset, int yOffset, + int widthFactor, int heightFactor, int param_10); + + void renderMinimapMain(); + + void renderMinimapLandscaping(int xPos, int yPos, int width, int heigth); + + void renderMinimapEditor(int xPos, int yPos, int width, int height); + + void renderMiniMapForSaving(int param_1, int param_2, int param_3, int param_4); + }; + + static_assert_cpp98_obj(sizeof(MinimapViewState) == 400376, MinimapViewState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(MinimapViewState, false, Address::SHC_3BB0A8C1_0x01A31610) pDAT_MinimapViewState; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParameters.hpp b/src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParameters.hpp new file mode 100644 index 0000000..3409795 --- /dev/null +++ b/src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParameters.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParameters.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Multiplayer { + typedef enum FindingNetworkSessions_ButtonParameters { + + FNSBP_JOIN = 10000 // 0x00002710 + + } FindingNetworkSessions_ButtonParameters; + + static_assert_cpp98_obj( + sizeof(FindingNetworkSessions_ButtonParameters) == 4, FindingNetworkSessions_ButtonParameters); + } // namespace Multiplayer +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp b/src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp new file mode 100644 index 0000000..379bfbc --- /dev/null +++ b/src/OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp @@ -0,0 +1,19 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParametersInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Multiplayer/FindingNetworkSessions_ButtonParameters.hpp" + +namespace OpenSHC { +namespace UI { + namespace Multiplayer { + typedef int FindingNetworkSessions_ButtonParametersInt; + + static_assert_cpp98_obj( + sizeof(FindingNetworkSessions_ButtonParametersInt) == 4, FindingNetworkSessions_ButtonParametersInt); + } // namespace Multiplayer +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Position.hpp b/src/OpenSHC/UI/Position.hpp new file mode 100644 index 0000000..5557c3d --- /dev/null +++ b/src/OpenSHC/UI/Position.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Position.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct Position { + + int x; // 0x00000000 length: 4 + int y; // 0x00000004 length: 4 + + } Position; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Position) == 8, Position); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/RenderLoadAndSaveBar.hpp b/src/OpenSHC/UI/RenderLoadAndSaveBar.hpp new file mode 100644 index 0000000..9ebfbca --- /dev/null +++ b/src/OpenSHC/UI/RenderLoadAndSaveBar.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/RenderLoadAndSaveBar.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl RenderLoadAndSaveBar)(int); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering.func.hpp b/src/OpenSHC/UI/Rendering.func.hpp new file mode 100644 index 0000000..249e262 --- /dev/null +++ b/src/OpenSHC/UI/Rendering.func.hpp @@ -0,0 +1,543 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering.func.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" +#include "OpenSHC/UI/Rendering.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace UI { + namespace Rendering_Func { + + using OpenSHC::UI::Enums::DisplayElementIDInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD tileType), false, + Address::SHC_3BB0A8C1_0x00433BC0, + &OpenSHC::UI::Rendering::RenderConnectAndPathLinkageInfoTextDisplayElement) + RenderConnectAndPathLinkageInfoTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int xPos, int yPos, int valueUnk, BOOLEnum otherImageFlagUnk), false, + Address::SHC_3BB0A8C1_0x00433C20, &OpenSHC::UI::Rendering::TransformAndRenderPercentage) + TransformAndRenderPercentage; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x00433D00, &OpenSHC::UI::Rendering::RenderBottomLeftDateDisplayElement) + RenderBottomLeftDateDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x00433DA0, &OpenSHC::UI::Rendering::RenderStartingGoodDisplayElement) + RenderStartingGoodDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x00439440, + &OpenSHC::UI::Rendering::RenderBuildingMenu_WorkshopWeaponProduction) + RenderBuildingMenu_WorkshopWeaponProduction; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043A8D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_RecruitingBuilding) + RenderBuildingMenu_RecruitingBuilding; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043A9F0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Keep) + RenderBuildingMenu_Keep; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043AF40, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Inn) + RenderBuildingMenu_Inn; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043B3B0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Granary) + RenderBuildingMenu_Granary; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043B910, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Fletcher) + RenderBuildingMenu_Fletcher; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043B950, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Blacksmith) + RenderBuildingMenu_Blacksmith; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043B990, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Poleturner) + RenderBuildingMenu_Poleturner; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043B9D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Armourer) + RenderBuildingMenu_Armourer; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BA80, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Tanner) + RenderBuildingMenu_Tanner; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BB30, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Bakery) + RenderBuildingMenu_Bakery; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BB70, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Brewery) + RenderBuildingMenu_Brewery; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BBB0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Outpost) + RenderBuildingMenu_Outpost; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(), false, Address::SHC_3BB0A8C1_0x0043BD60, + &OpenSHC::UI::Rendering::RenderBuildingMenu_House) + RenderBuildingMenu_House; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BDE0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_WoodcutterShut) + RenderBuildingMenu_WoodcutterShut; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BE20, + &OpenSHC::UI::Rendering::RenderBuildingMenu_OxThether) + RenderBuildingMenu_OxThether; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BEA0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Quarry) + RenderBuildingMenu_Quarry; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BEE0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Ironmine) + RenderBuildingMenu_Ironmine; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BF20, + &OpenSHC::UI::Rendering::RenderBuildingMenu_PitchRig) + RenderBuildingMenu_PitchRig; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BF60, + &OpenSHC::UI::Rendering::RenderBuildingMenu_HuntersHut) + RenderBuildingMenu_HuntersHut; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043BFA0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Apothecary) + RenderBuildingMenu_Apothecary; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C0A0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Wheatfarm) + RenderBuildingMenu_Wheatfarm; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C0E0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Hopfarm) + RenderBuildingMenu_Hopfarm; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C120, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Applefarm) + RenderBuildingMenu_Applefarm; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C160, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Diaryfarm) + RenderBuildingMenu_Diaryfarm; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C1A0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Mill) + RenderBuildingMenu_Mill; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C1E0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_ChapelAndChurch) + RenderBuildingMenu_ChapelAndChurch; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C6A0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Stockpile) + RenderBuildingMenu_Stockpile; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C840, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Armory) + RenderBuildingMenu_Armory; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043C9F0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Quarry_Stonepile) + RenderBuildingMenu_Quarry_Stonepile; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043CA70, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Engineersguild) + RenderBuildingMenu_Engineersguild; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043CB00, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Tunnelersguild) + RenderBuildingMenu_Tunnelersguild; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043CB90, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Cathedral) + RenderBuildingMenu_Cathedral; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int unitID, int xPos, int yPos), false, Address::SHC_3BB0A8C1_0x0043CC30, + &OpenSHC::UI::Rendering::RenderPeasantMenu_CurrentActionUnk) + RenderPeasantMenu_CurrentActionUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043CDB0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Marketplace) + RenderBuildingMenu_Marketplace; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043CE30, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Marketplace_Stonks) + RenderBuildingMenu_Marketplace_Stonks; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D070, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Marketplace_Food) + RenderBuildingMenu_Marketplace_Food; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D120, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Marketplace_Resource) + RenderBuildingMenu_Marketplace_Resource; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D1D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Marketplace_Weapons) + RenderBuildingMenu_Marketplace_Weapons; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D280, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Marketplace_Trade) + RenderBuildingMenu_Marketplace_Trade; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D420, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Well) + RenderBuildingMenu_Well; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D460, + &OpenSHC::UI::Rendering::RenderBuildingMenu_WaterPot) + RenderBuildingMenu_WaterPot; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D4A0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Oilsmelter) + RenderBuildingMenu_Oilsmelter; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D520, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Stables) + RenderBuildingMenu_Stables; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D690, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Drawbridge) + RenderBuildingMenu_Drawbridge; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D6D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Unused_PosternGate) + RenderBuildingMenu_Unused_PosternGate; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D710, + &OpenSHC::UI::Rendering::RenderBuildingMenu_TunnelEntrance) + RenderBuildingMenu_TunnelEntrance; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D750, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Signpost) + RenderBuildingMenu_Signpost; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D790, + &OpenSHC::UI::Rendering::RenderBuildingMenu_KillingPit) + RenderBuildingMenu_KillingPit; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D7D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Campfire) + RenderBuildingMenu_Campfire; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D850, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Gallows) + RenderBuildingMenu_Gallows; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D890, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Stocks) + RenderBuildingMenu_Stocks; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D8D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Unused_Witchhoist) + RenderBuildingMenu_Unused_Witchhoist; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D910, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Maypole) + RenderBuildingMenu_Maypole; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D950, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Gardens) + RenderBuildingMenu_Gardens; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D990, + &OpenSHC::UI::Rendering::RenderBuildingMenu_TrainingGrounds) + RenderBuildingMenu_TrainingGrounds; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043D9D0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_CessPit) + RenderBuildingMenu_CessPit; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DA10, + &OpenSHC::UI::Rendering::RenderBuildingMenu_BurningStake) + RenderBuildingMenu_BurningStake; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DA50, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Gibbet) + RenderBuildingMenu_Gibbet; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DA90, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Dungeon) + RenderBuildingMenu_Dungeon; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DAD0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_StretchingRack) + RenderBuildingMenu_StretchingRack; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DB10, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Unused_FloggingRack) + RenderBuildingMenu_Unused_FloggingRack; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DB50, + &OpenSHC::UI::Rendering::RenderBuildingMenu_ChoppingBlock) + RenderBuildingMenu_ChoppingBlock; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DB90, + &OpenSHC::UI::Rendering::RenderBuildingMenu_DunkingStool) + RenderBuildingMenu_DunkingStool; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DBD0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_DogCage) + RenderBuildingMenu_DogCage; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DC60, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Statue) + RenderBuildingMenu_Statue; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DD30, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Shrine) + RenderBuildingMenu_Shrine; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DD70, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Unused_BeeHive) + RenderBuildingMenu_Unused_BeeHive; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DDB0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_DancingBear) + RenderBuildingMenu_DancingBear; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DDF0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Unused_Pond) + RenderBuildingMenu_Unused_Pond; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DE30, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Unused_BearCave) + RenderBuildingMenu_Unused_BearCave; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DE70, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Siegetent_Catapult) + RenderBuildingMenu_Siegetent_Catapult; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043DF40, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Siegetent_Fireballista) + RenderBuildingMenu_Siegetent_Fireballista; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E010, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Siegetent_Trebuchet) + RenderBuildingMenu_Siegetent_Trebuchet; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E0E0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Siegetent_Siegetower) + RenderBuildingMenu_Siegetent_Siegetower; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E1B0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Siegetent_BatteringRam) + RenderBuildingMenu_Siegetent_BatteringRam; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E280, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Siegetent_Shield) + RenderBuildingMenu_Siegetent_Shield; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E350, + &OpenSHC::UI::Rendering::RenderBuildingMenu_RenderTowerAndGateHealth) + RenderBuildingMenu_RenderTowerAndGateHealth; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043E6C0, + &OpenSHC::UI::Rendering::RenderStatusMenu_Popularity) + RenderStatusMenu_Popularity; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043F2F0, + &OpenSHC::UI::Rendering::RenderStatusMenu_FearFactor) + RenderStatusMenu_FearFactor; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043F6A0, + &OpenSHC::UI::Rendering::RenderStatusMenu_Population) + RenderStatusMenu_Population; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043FAC0, &OpenSHC::UI::Rendering::RenderStatusMenu_Food) + RenderStatusMenu_Food; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043FD30, + &OpenSHC::UI::Rendering::RenderStatusMenu_Resources) + RenderStatusMenu_Resources; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x0043FE10, + &OpenSHC::UI::Rendering::RenderStatusMenu_Religion) + RenderStatusMenu_Religion; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004401A0, + &OpenSHC::UI::Rendering::RenderStatusMenu_Weapons) + RenderStatusMenu_Weapons; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00447A50, + &OpenSHC::UI::Rendering::RenderStatusMenu_Chimp) + RenderStatusMenu_Chimp; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00447CF0, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Gatehouse) + RenderBuildingMenu_Gatehouse; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00447D30, + &OpenSHC::UI::Rendering::RenderBuildingMenu_Tower) + RenderBuildingMenu_Tower; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00447DC0, + &OpenSHC::UI::Rendering::RenderStatusMenu_Overview) + RenderStatusMenu_Overview; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00447FA0, &OpenSHC::UI::Rendering::RenderStatusMenu_Army) + RenderStatusMenu_Army; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00452900, + &OpenSHC::UI::Rendering::RenderTerrainTilesCenterPiece) + RenderTerrainTilesCenterPiece; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004640D0, + &OpenSHC::UI::Rendering::RenderCurrentNotActiveButtonWithPossibleAlphaTexOnCurrentSurfaceUnk) + RenderCurrentNotActiveButtonWithPossibleAlphaTexOnCurrentSurfaceUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x00464300, + &OpenSHC::UI::Rendering::RenderCurrentButtonOnScreenMenu) + RenderCurrentButtonOnScreenMenu; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int blendStrengthUnk), false, Address::SHC_3BB0A8C1_0x00464370, + &OpenSHC::UI::Rendering::RenderCurrentButtonToScreenMenuWithBlendingUnk) + RenderCurrentButtonToScreenMenuWithBlendingUnk; + + MACRO_FUNCTION_RESOLVER(uint(__cdecl*)(int red, int green, int blue), false, Address::SHC_3BB0A8C1_0x00467850, + &OpenSHC::UI::Rendering::TransformToCurrentModeColor) + TransformToCurrentModeColor; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int progressValueUnk), false, Address::SHC_3BB0A8C1_0x00493690, + &OpenSHC::UI::Rendering::RenderLoadAndSaveBar) + RenderLoadAndSaveBar; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(DisplayElementIDInt displayElementID, uint toggleValue), false, + Address::SHC_3BB0A8C1_0x004AF6B0, &OpenSHC::UI::Rendering::TogglePlayerPingDisplayElementUnk) + TogglePlayerPingDisplayElementUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004AF700, + &OpenSHC::UI::Rendering::RenderDisplayElementsUnk) + RenderDisplayElementsUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AF820, &OpenSHC::UI::Rendering::RenderResourceMissing1DisplayElement) + RenderResourceMissing1DisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AF840, &OpenSHC::UI::Rendering::RenderResourceMissing2DisplayElement) + RenderResourceMissing2DisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AF860, &OpenSHC::UI::Rendering::RenderDebugNumbersDisplayElement) + RenderDebugNumbersDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AFA50, &OpenSHC::UI::Rendering::RenderUnknownDisplayElement7) + RenderUnknownDisplayElement7; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD MissionNumPlus1Unk), false, + Address::SHC_3BB0A8C1_0x004AFA80, &OpenSHC::UI::Rendering::RenderSomeMissionNumberUnkDisplayElement9) + RenderSomeMissionNumberUnkDisplayElement9; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AFB00, &OpenSHC::UI::Rendering::RenderNoTreeGrowthTextDisplayElement) + RenderNoTreeGrowthTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AFB30, &OpenSHC::UI::Rendering::RenderInGameWinDefeatWindowDisplayElement) + RenderInGameWinDefeatWindowDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD winDefeatState), false, + Address::SHC_3BB0A8C1_0x004AFDA0, &OpenSHC::UI::Rendering::RenderMissionWinDefeatBannerDisplayElement) + RenderMissionWinDefeatBannerDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004AFE10, &OpenSHC::UI::Rendering::RenderSomeMultiplayerInfoUnkDisplayElement19) + RenderSomeMultiplayerInfoUnkDisplayElement19; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B0390, &OpenSHC::UI::Rendering::RenderPlayerInfoOnHoverDisplayElement) + RenderPlayerInfoOnHoverDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B07C0, &OpenSHC::UI::Rendering::RenderGameSpeedTextDisplayElement) + RenderGameSpeedTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B0820, &OpenSHC::UI::Rendering::RenderUnknownDisplayElement25) + RenderUnknownDisplayElement25; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B0AC0, &OpenSHC::UI::Rendering::RenderPeopleLeftToPlaceDisplayElement) + RenderPeopleLeftToPlaceDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD whichBuildingIsMissing), false, + Address::SHC_3BB0A8C1_0x004B1C30, + &OpenSHC::UI::Rendering::RenderAndPlayKeepAndGranaryPlacementInfoDisplayElement) + RenderAndPlayKeepAndGranaryPlacementInfoDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B1D30, &OpenSHC::UI::Rendering::RenderPlayerPingUnkDisplayElement22) + RenderPlayerPingUnkDisplayElement22; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B1E60, &OpenSHC::UI::Rendering::RenderGamePausedTextDisplayElement) + RenderGamePausedTextDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B1EB0, &OpenSHC::UI::Rendering::RenderTimeUntilVictoryDisplayElement) + RenderTimeUntilVictoryDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B20B0, &OpenSHC::UI::Rendering::RenderNoRushDisplayElementUnk) + RenderNoRushDisplayElementUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B2280, &OpenSHC::UI::Rendering::RenderTimeUntilDefeatDisplayElement) + RenderTimeUntilDefeatDisplayElement; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int posX, int posY, DWORD elementState), false, + Address::SHC_3BB0A8C1_0x004B2530, &OpenSHC::UI::Rendering::RenderSomeMultiplayerInfoUnkDisplayElement28) + RenderSomeMultiplayerInfoUnkDisplayElement28; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int textNumInGroup), false, Address::SHC_3BB0A8C1_0x004BA910, + &OpenSHC::UI::Rendering::RenderScenarioButtonWithText) + RenderScenarioButtonWithText; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D5810, + &OpenSHC::UI::Rendering::RenderGreatestLordScreen) + RenderGreatestLordScreen; + + MACRO_FUNCTION_RESOLVER(int(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004D76A0, + &OpenSHC::UI::Rendering::RenderMissionObjectivesUnk) + RenderMissionObjectivesUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int loadedGfxIndex, int xPosInMenuRect, int yPosInMenuRect), false, + Address::SHC_3BB0A8C1_0x004DA570, &OpenSHC::UI::Rendering::RenderGfxHelperUnk) + RenderGfxHelperUnk; + + MACRO_FUNCTION_RESOLVER(void(__cdecl*)(int gfxIndex, int x, int y, int blendStrength), false, + Address::SHC_3BB0A8C1_0x004DA640, &OpenSHC::UI::Rendering::RenderMenuGfxHelper) + RenderMenuGfxHelper; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004DB490, + &OpenSHC::UI::Rendering::RenderHistoryBookEdgeUnk) + RenderHistoryBookEdgeUnk; + + MACRO_FUNCTION_RESOLVER(void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F4070, + &OpenSHC::UI::Rendering::RenderNoViewsFoundWarning) + RenderNoViewsFoundWarning; + + MACRO_FUNCTION_RESOLVER( + void(__stdcall*)(), false, Address::SHC_3BB0A8C1_0x004F6210, &OpenSHC::UI::Rendering::RenderCurrentMenuView) + RenderCurrentMenuView; + + } // namespace Rendering_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering.hpp b/src/OpenSHC/UI/Rendering.hpp new file mode 100644 index 0000000..07b1d79 --- /dev/null +++ b/src/OpenSHC/UI/Rendering.hpp @@ -0,0 +1,281 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +namespace OpenSHC { +namespace UI { + namespace Rendering { + + using OpenSHC::UI::Enums::DisplayElementIDInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + void __cdecl RenderConnectAndPathLinkageInfoTextDisplayElement(int posX, int posY, DWORD tileType); + + void __cdecl TransformAndRenderPercentage(int xPos, int yPos, int valueUnk, BOOLEnum otherImageFlagUnk); + + void __cdecl RenderBottomLeftDateDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderStartingGoodDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderBuildingMenu_WorkshopWeaponProduction(); + + void __cdecl RenderBuildingMenu_RecruitingBuilding(); + + void __stdcall RenderBuildingMenu_Keep(); + + void __stdcall RenderBuildingMenu_Inn(); + + void __cdecl RenderBuildingMenu_Granary(); + + void __stdcall RenderBuildingMenu_Fletcher(); + + void __stdcall RenderBuildingMenu_Blacksmith(); + + void __stdcall RenderBuildingMenu_Poleturner(); + + void __stdcall RenderBuildingMenu_Armourer(); + + void __stdcall RenderBuildingMenu_Tanner(); + + void __stdcall RenderBuildingMenu_Bakery(); + + void __stdcall RenderBuildingMenu_Brewery(); + + void __stdcall RenderBuildingMenu_Outpost(); + + void __cdecl RenderBuildingMenu_House(); + + void __stdcall RenderBuildingMenu_WoodcutterShut(); + + void __stdcall RenderBuildingMenu_OxThether(); + + void __stdcall RenderBuildingMenu_Quarry(); + + void __stdcall RenderBuildingMenu_Ironmine(); + + void __stdcall RenderBuildingMenu_PitchRig(); + + void __stdcall RenderBuildingMenu_HuntersHut(); + + void __stdcall RenderBuildingMenu_Apothecary(); + + void __stdcall RenderBuildingMenu_Wheatfarm(); + + void __stdcall RenderBuildingMenu_Hopfarm(); + + void __stdcall RenderBuildingMenu_Applefarm(); + + void __stdcall RenderBuildingMenu_Diaryfarm(); + + void __stdcall RenderBuildingMenu_Mill(); + + void __stdcall RenderBuildingMenu_ChapelAndChurch(); + + void __stdcall RenderBuildingMenu_Stockpile(); + + void __stdcall RenderBuildingMenu_Armory(); + + void __stdcall RenderBuildingMenu_Quarry_Stonepile(); + + void __stdcall RenderBuildingMenu_Engineersguild(); + + void __stdcall RenderBuildingMenu_Tunnelersguild(); + + void __stdcall RenderBuildingMenu_Cathedral(); + + void __cdecl RenderPeasantMenu_CurrentActionUnk(int unitID, int xPos, int yPos); + + void __stdcall RenderBuildingMenu_Marketplace(); + + void __stdcall RenderBuildingMenu_Marketplace_Stonks(); + + void __stdcall RenderBuildingMenu_Marketplace_Food(); + + void __stdcall RenderBuildingMenu_Marketplace_Resource(); + + void __stdcall RenderBuildingMenu_Marketplace_Weapons(); + + void __stdcall RenderBuildingMenu_Marketplace_Trade(); + + void __stdcall RenderBuildingMenu_Well(); + + void __stdcall RenderBuildingMenu_WaterPot(); + + void __stdcall RenderBuildingMenu_Oilsmelter(); + + void __stdcall RenderBuildingMenu_Stables(); + + void __stdcall RenderBuildingMenu_Drawbridge(); + + void __stdcall RenderBuildingMenu_Unused_PosternGate(); + + void __stdcall RenderBuildingMenu_TunnelEntrance(); + + void __stdcall RenderBuildingMenu_Signpost(); + + void __stdcall RenderBuildingMenu_KillingPit(); + + void __stdcall RenderBuildingMenu_Campfire(); + + void __stdcall RenderBuildingMenu_Gallows(); + + void __stdcall RenderBuildingMenu_Stocks(); + + void __stdcall RenderBuildingMenu_Unused_Witchhoist(); + + void __stdcall RenderBuildingMenu_Maypole(); + + void __stdcall RenderBuildingMenu_Gardens(); + + void __stdcall RenderBuildingMenu_TrainingGrounds(); + + void __stdcall RenderBuildingMenu_CessPit(); + + void __stdcall RenderBuildingMenu_BurningStake(); + + void __stdcall RenderBuildingMenu_Gibbet(); + + void __stdcall RenderBuildingMenu_Dungeon(); + + void __stdcall RenderBuildingMenu_StretchingRack(); + + void __stdcall RenderBuildingMenu_Unused_FloggingRack(); + + void __stdcall RenderBuildingMenu_ChoppingBlock(); + + void __stdcall RenderBuildingMenu_DunkingStool(); + + void __stdcall RenderBuildingMenu_DogCage(); + + void __stdcall RenderBuildingMenu_Statue(); + + void __stdcall RenderBuildingMenu_Shrine(); + + void __stdcall RenderBuildingMenu_Unused_BeeHive(); + + void __stdcall RenderBuildingMenu_DancingBear(); + + void __stdcall RenderBuildingMenu_Unused_Pond(); + + void __stdcall RenderBuildingMenu_Unused_BearCave(); + + void __stdcall RenderBuildingMenu_Siegetent_Catapult(); + + void __stdcall RenderBuildingMenu_Siegetent_Fireballista(); + + void __stdcall RenderBuildingMenu_Siegetent_Trebuchet(); + + void __stdcall RenderBuildingMenu_Siegetent_Siegetower(); + + void __stdcall RenderBuildingMenu_Siegetent_BatteringRam(); + + void __stdcall RenderBuildingMenu_Siegetent_Shield(); + + void __stdcall RenderBuildingMenu_RenderTowerAndGateHealth(); + + void __stdcall RenderStatusMenu_Popularity(); + + void __stdcall RenderStatusMenu_FearFactor(); + + void __stdcall RenderStatusMenu_Population(); + + void __stdcall RenderStatusMenu_Food(); + + void __stdcall RenderStatusMenu_Resources(); + + void __stdcall RenderStatusMenu_Religion(); + + void __stdcall RenderStatusMenu_Weapons(); + + void __stdcall RenderStatusMenu_Chimp(); + + void __stdcall RenderBuildingMenu_Gatehouse(); + + void __stdcall RenderBuildingMenu_Tower(); + + void __stdcall RenderStatusMenu_Overview(); + + void __stdcall RenderStatusMenu_Army(); + + void __stdcall RenderTerrainTilesCenterPiece(); + + void __stdcall RenderCurrentNotActiveButtonWithPossibleAlphaTexOnCurrentSurfaceUnk(); + + void __stdcall RenderCurrentButtonOnScreenMenu(); + + void __cdecl RenderCurrentButtonToScreenMenuWithBlendingUnk(int blendStrengthUnk); + + uint __cdecl TransformToCurrentModeColor(int red, int green, int blue); + + void __cdecl RenderLoadAndSaveBar(int progressValueUnk); + + void __cdecl TogglePlayerPingDisplayElementUnk(DisplayElementIDInt displayElementID, uint toggleValue); + + void __stdcall RenderDisplayElementsUnk(); + + void __cdecl RenderResourceMissing1DisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderResourceMissing2DisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderDebugNumbersDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderUnknownDisplayElement7(int posX, int posY, DWORD elementState); + + void __cdecl RenderSomeMissionNumberUnkDisplayElement9(int posX, int posY, DWORD MissionNumPlus1Unk); + + void __cdecl RenderNoTreeGrowthTextDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderInGameWinDefeatWindowDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderMissionWinDefeatBannerDisplayElement(int posX, int posY, DWORD winDefeatState); + + void __cdecl RenderSomeMultiplayerInfoUnkDisplayElement19(int posX, int posY, DWORD elementState); + + void __cdecl RenderPlayerInfoOnHoverDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderGameSpeedTextDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderUnknownDisplayElement25(int posX, int posY, DWORD elementState); + + void __cdecl RenderPeopleLeftToPlaceDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderAndPlayKeepAndGranaryPlacementInfoDisplayElement( + int posX, int posY, DWORD whichBuildingIsMissing); + + void __cdecl RenderPlayerPingUnkDisplayElement22(int posX, int posY, DWORD elementState); + + void __cdecl RenderGamePausedTextDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderTimeUntilVictoryDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderNoRushDisplayElementUnk(int posX, int posY, DWORD elementState); + + void __cdecl RenderTimeUntilDefeatDisplayElement(int posX, int posY, DWORD elementState); + + void __cdecl RenderSomeMultiplayerInfoUnkDisplayElement28(int posX, int posY, DWORD elementState); + + void __cdecl RenderScenarioButtonWithText(int textNumInGroup); + + void __stdcall RenderGreatestLordScreen(); + + int __stdcall RenderMissionObjectivesUnk(); + + void __cdecl RenderGfxHelperUnk(int loadedGfxIndex, int xPosInMenuRect, int yPosInMenuRect); + + void __cdecl RenderMenuGfxHelper(int gfxIndex, int x, int y, int blendStrength); + + void __stdcall RenderHistoryBookEdgeUnk(); + + void __stdcall RenderNoViewsFoundWarning(); + + void __stdcall RenderCurrentMenuView(); + + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp new file mode 100644 index 0000000..8a996be --- /dev/null +++ b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp @@ -0,0 +1,51 @@ +/** + path: 'OpenSHC/UI/Rendering/AlphaAndButtonSurface.func.hpp' +*/ + +#include "OpenSHC/Rendering/Enums/RenderTargetInt.hpp" +#include "OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace UI { + namespace Rendering { + namespace AlphaAndButtonSurface_Func { + + using OpenSHC::Rendering::Enums::RenderTargetInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(int), false, Address::SHC_3BB0A8C1_0x004246E0, + &AlphaAndButtonSurface::renderNonInteractingButtonBackground) + renderNonInteractingButtonBackground; + + MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(), false, Address::SHC_3BB0A8C1_0x0045D0B0, + &AlphaAndButtonSurface::freeMemory) + freeMemory; + + MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(), false, Address::SHC_3BB0A8C1_0x00462FF0, + &AlphaAndButtonSurface::prepareButtonAndAlphaSurface) + prepareButtonAndAlphaSurface; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (AlphaAndButtonSurface::*)(), false, Address::SHC_3BB0A8C1_0x004630D0, + &AlphaAndButtonSurface::isMouseOnButtonImageUnk) + isMouseOnButtonImageUnk; + + MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(int), false, Address::SHC_3BB0A8C1_0x00463270, + &AlphaAndButtonSurface::FUN_00463270) + FUN_00463270; + + 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; + + MACRO_FUNCTION_RESOLVER(void (AlphaAndButtonSurface::*)(int, RenderTargetInt), false, + Address::SHC_3BB0A8C1_0x00463A90, &AlphaAndButtonSurface::renderBasicButton) + renderBasicButton; + + } // namespace AlphaAndButtonSurface_Func + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp new file mode 100644 index 0000000..d69cecd --- /dev/null +++ b/src/OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp @@ -0,0 +1,65 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering/AlphaAndButtonSurface.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Enums/RenderTargetInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + namespace Rendering { + + using OpenSHC::Rendering::Enums::RenderTargetInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000010 + class AlphaAndButtonSurface { + public: + ushort* surfacePtr; // 0x00000000 length: 4 + dword dim1_intMinimal350_1; // 0x00000004 length: 4 + dword dim2_intMinimal350_2; // 0x00000008 length: 4 + int currentImageWidth; // 0x0000000C length: 4 + + private: + AlphaAndButtonSurface(AlphaAndButtonSurface const&); + void operator=(AlphaAndButtonSurface const&); + + AlphaAndButtonSurface(); + ~AlphaAndButtonSurface(); + + public: + // Constructor + AlphaAndButtonSurface* Constructor_AlphaAndButtonSurface(); + + void renderNonInteractingButtonBackground(int blendStrength); + + void freeMemory(); + + void prepareButtonAndAlphaSurface(); + + BOOLEnum isMouseOnButtonImageUnk(); + + void FUN_00463270(int buildingIndex); + + BOOLEnum openBuildingStatusMenuForBuildingID(int buildingID); + + BOOLEnum FUN_00463a00(int unitIndex); + + void renderBasicButton(int reverseOrBlendStrength, RenderTargetInt renderSurface); + }; + + static_assert_cpp98_obj(sizeof(AlphaAndButtonSurface) == 16, AlphaAndButtonSurface); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(AlphaAndButtonSurface, false, Address::SHC_3BB0A8C1_0x00F2C7BC) + pDAT_AlphaAndButtonSurface; + + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/ButtonGmData.func.hpp b/src/OpenSHC/UI/Rendering/ButtonGmData.func.hpp new file mode 100644 index 0000000..ad6b0b3 --- /dev/null +++ b/src/OpenSHC/UI/Rendering/ButtonGmData.func.hpp @@ -0,0 +1,21 @@ +/** + path: 'OpenSHC/UI/Rendering/ButtonGmData.func.hpp' +*/ + +#include "OpenSHC/UI/Rendering/ButtonGmData.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace UI { + namespace Rendering { + namespace ButtonGmData_Func { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(int (ButtonGmData::*)(BOOLEnum), false, Address::SHC_3BB0A8C1_0x004630B0, + &ButtonGmData::getPictureNumberInGm) + getPictureNumberInGm; + + } // namespace ButtonGmData_Func + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/ButtonGmData.hpp b/src/OpenSHC/UI/Rendering/ButtonGmData.hpp new file mode 100644 index 0000000..cf75e23 --- /dev/null +++ b/src/OpenSHC/UI/Rendering/ButtonGmData.hpp @@ -0,0 +1,48 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering/ButtonGmData.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + namespace Rendering { + + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0000001C + class ButtonGmData { + public: + GmIDInt gmId_0x0; // 0x00000000 length: 4 + int pictureInGm_0x4; // 0x00000004 length: 4 + int numOfAdditionalIconStates_0x8; // 0x00000008 length: 4 + GmIDInt alphaGmIdUnk_0xc; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int stateTransitionTimeBaseUnk_0x18; // 0x00000018 length: 4 + + private: + ButtonGmData(ButtonGmData const&); + void operator=(ButtonGmData const&); + + ButtonGmData(); + ~ButtonGmData(); + + public: + int getPictureNumberInGm(BOOLEnum buttonIsInteracting); + }; + + static_assert_cpp98_obj(sizeof(ButtonGmData) == 28, ButtonGmData); + +#pragma pack(pop) + + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/PencilRenderCore.func.hpp b/src/OpenSHC/UI/Rendering/PencilRenderCore.func.hpp new file mode 100644 index 0000000..6c868a3 --- /dev/null +++ b/src/OpenSHC/UI/Rendering/PencilRenderCore.func.hpp @@ -0,0 +1,116 @@ +/** + path: 'OpenSHC/UI/Rendering/PencilRenderCore.func.hpp' +*/ + +#include "OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp" +#include "OpenSHC/UI/Rendering/PencilRenderCore.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +namespace OpenSHC { +namespace UI { + namespace Rendering { + namespace PencilRenderCore_Func { + + using OpenSHC::UI::Enums::RoundedBoxEdgeRoundingLevelInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00468C50, + &PencilRenderCore::setupPencilSurface) + setupPencilSurface; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (PencilRenderCore::*)(int, int, int, int, ushort), false, + Address::SHC_3BB0A8C1_0x00468C80, &PencilRenderCore::setupPencil) + setupPencil; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00468DE0, + &PencilRenderCore::drawHorizontalLine) + drawHorizontalLine; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00468E40, + &PencilRenderCore::drawVerticalLine) + drawVerticalLine; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00468EA0, + &PencilRenderCore::dimHorizontalLine) + dimHorizontalLine; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00468F20, + &PencilRenderCore::drawCurrentPixel) + drawCurrentPixel; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x00468F70, + &PencilRenderCore::drawPixelPattern4x4) + drawPixelPattern4x4; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00468FE0, &PencilRenderCore::drawHeaderBanner) + drawHeaderBanner; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(uint, int, int, int, BOOLEnum, int, int), false, + Address::SHC_3BB0A8C1_0x004690E0, &PencilRenderCore::drawScrollbar) + drawScrollbar; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x00469290, + &PencilRenderCore::renderUpDownButtonUnk) + renderUpDownButtonUnk; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(BOOLEnum, int, int), false, + Address::SHC_3BB0A8C1_0x004692E0, &PencilRenderCore::drawTableCellBackground) + drawTableCellBackground; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, ushort), false, + Address::SHC_3BB0A8C1_0x00470E90, &PencilRenderCore::drawColorBox) + drawColorBox; + + MACRO_FUNCTION_RESOLVER( + void (PencilRenderCore::*)(int, int, int, int, ushort, RoundedBoxEdgeRoundingLevelInt), false, + Address::SHC_3BB0A8C1_0x00470EE0, &PencilRenderCore::drawBoxWithRoundedEdgesAndColor) + drawBoxWithRoundedEdgesAndColor; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00471000, &PencilRenderCore::drawBlendedBlackBox) + drawBlendedBlackBox; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00471050, &PencilRenderCore::dimBox) + dimBox; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, RoundedBoxEdgeRoundingLevelInt), + false, Address::SHC_3BB0A8C1_0x004710A0, &PencilRenderCore::drawBoxWithRoundedEdges) + drawBoxWithRoundedEdges; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, ushort), false, + Address::SHC_3BB0A8C1_0x004711B0, &PencilRenderCore::drawBorderBox) + drawBorderBox; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00471220, + &PencilRenderCore::drawDiagonalHeigherThanWideUnk) + drawDiagonalHeigherThanWideUnk; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00471280, + &PencilRenderCore::drawDiagonalWiderThanHighUnk) + drawDiagonalWiderThanHighUnk; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x004712E0, + &PencilRenderCore::drawPixelPattern4x4OverWholeScreen) + drawPixelPattern4x4OverWholeScreen; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00471340, &PencilRenderCore::drawBorderedBoxWithBlendedBackground) + drawBorderedBoxWithBlendedBackground; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00471440, &PencilRenderCore::drawBorderedBoxWithCustomBlendedBackground) + drawBorderedBoxWithCustomBlendedBackground; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, ushort), false, + Address::SHC_3BB0A8C1_0x00472B20, &PencilRenderCore::drawLine) + drawLine; + + MACRO_FUNCTION_RESOLVER(void (PencilRenderCore::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00475CC0, &PencilRenderCore::drawHeaderTextBanner) + drawHeaderTextBanner; + + } // namespace PencilRenderCore_Func + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/PencilRenderCore.hpp b/src/OpenSHC/UI/Rendering/PencilRenderCore.hpp new file mode 100644 index 0000000..64c432a --- /dev/null +++ b/src/OpenSHC/UI/Rendering/PencilRenderCore.hpp @@ -0,0 +1,113 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering/PencilRenderCore.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/Enums/RenderTargetInt.hpp" +#include "OpenSHC/UI/Enums/RoundedBoxEdgeRoundingLevelInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + namespace Rendering { + + using OpenSHC::Rendering::Enums::RenderTargetInt; + using OpenSHC::UI::Enums::RoundedBoxEdgeRoundingLevelInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000042 + class PencilRenderCore { + public: + ushort otherColorUnk_0x0; // 0x00000000 length: 2 + undefined1 padding_0x2[2]; // 0x00000002 length: 2 + ushort* surfacePtr; // 0x00000004 length: 4 + dword horizontalByteSize; // 0x00000008 length: 4 + RenderTargetInt surfaceTarget; // 0x0000000C length: 4 + dword currentX; // 0x00000010 length: 4 + dword currentY; // 0x00000014 length: 4 + dword field8_0x18; // 0x00000018 length: 4 + dword field9_0x1c; // 0x0000001C length: 4 + dword moveDirectionXUnk_0x20; // 0x00000020 length: 4 + dword moveDirectionYUnk_0x24; // 0x00000024 length: 4 + int currentWidth_0x28; // 0x00000028 length: 4 + int currentHeight_0x2c; // 0x0000002C length: 4 + dword drawStartX; // 0x00000030 length: 4 + dword drawStartY; // 0x00000034 length: 4 + dword drawEndX; // 0x00000038 length: 4 + dword drawEndY; // 0x0000003C length: 4 + ushort drawColor; // 0x00000040 length: 2 + + private: + PencilRenderCore(PencilRenderCore const&); + void operator=(PencilRenderCore const&); + + PencilRenderCore(); + ~PencilRenderCore(); + + public: + void setupPencilSurface(); + + BOOLEnum setupPencil(int left, int top, int right, int bottom, ushort color); + + void drawHorizontalLine(); + + void drawVerticalLine(); + + void dimHorizontalLine(); + + void drawCurrentPixel(); + + void drawPixelPattern4x4(int drawX, int drawY); + + void drawHeaderBanner(int xPos, int yPos, int width, int unusedUnk); + + void drawScrollbar( + uint xPos, int yPos, int height, int thumbYPos, BOOLEnum isDragged, int thumbHeight, int blendStrength); + + void renderUpDownButtonUnk(int isDownButtonUnk, int blendStrengthUnk); + + void drawTableCellBackground(BOOLEnum isSelected, int indexToGetStripes, int blendStrength); + + void drawColorBox(int left, int top, int right, int bottom, ushort color); + + void drawBoxWithRoundedEdgesAndColor( + int left, int top, int right, int bottom, ushort color, RoundedBoxEdgeRoundingLevelInt roundingLevel); + + void drawBlendedBlackBox(int left, int top, int right, int bottom, int blendStrengh); + + void dimBox(int left, int top, int right, int bottom); + + void drawBoxWithRoundedEdges( + int left, int top, int right, int bottom, RoundedBoxEdgeRoundingLevelInt roundingLevel); + + void drawBorderBox(int left, int top, int right, int bottom, ushort color); + + void drawDiagonalHeigherThanWideUnk(); + + void drawDiagonalWiderThanHighUnk(); + + void drawPixelPattern4x4OverWholeScreen(); + + void drawBorderedBoxWithBlendedBackground(int xPos, int yPos, int width, int height); + + void drawBorderedBoxWithCustomBlendedBackground( + int xPos, int yPos, int width, int height, int blendStrength); + + void drawLine(int x1, int y1, int x2, int y2, ushort color); + + void drawHeaderTextBanner(int textGroupIndex, int textNumInGroup, int xPos, int yPos, int width); + }; + + static_assert_cpp98_obj(sizeof(PencilRenderCore) == 66, PencilRenderCore); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(PencilRenderCore, false, Address::SHC_3BB0A8C1_0x0191D720) pDAT_PencilRenderCore; + + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/Range.hpp b/src/OpenSHC/UI/Rendering/Range.hpp new file mode 100644 index 0000000..aa429eb --- /dev/null +++ b/src/OpenSHC/UI/Rendering/Range.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering/Range.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + namespace Rendering { + +#pragma pack(push, 1) + // SIZE: 0x00000008 + typedef struct Range { + + int start; // 0x00000000 length: 4 + int end; // 0x00000004 length: 4 + + } Range; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(Range) == 8, Range); + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp b/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp new file mode 100644 index 0000000..47cec04 --- /dev/null +++ b/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp @@ -0,0 +1,239 @@ +/** + path: 'OpenSHC/UI/Rendering/TextureRenderCore.func.hpp' +*/ + +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/Rendering/Colors/RGB15.hpp" +#include "OpenSHC/Text/FontRenderTypeInt.hpp" +#include "OpenSHC/UI/Rendering/TextureRenderCore.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eGMInt.hpp" +namespace OpenSHC { +namespace UI { + namespace Rendering { + namespace TextureRenderCore_Func { + + using OpenSHC::_SHCDE::eGMInt; + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::Rendering::Colors::RGB15; + using OpenSHC::Text::FontRenderTypeInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x0044C7E0, + &TextureRenderCore::Destructor_TextureRenderCore) + Destructor_TextureRenderCore; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(GmIDInt, int), false, Address::SHC_3BB0A8C1_0x0044C850, + &TextureRenderCore::drawLoadingBarUnk) + drawLoadingBarUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x0044C8F0, + &TextureRenderCore::transformGmColorTableFromRGB555To565IfRequired) + transformGmColorTableFromRGB555To565IfRequired; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x0044C940, + &TextureRenderCore::transformRawWithMarkerUnkToRGB555To565) + transformRawWithMarkerUnkToRGB555To565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(ushort*, int), false, Address::SHC_3BB0A8C1_0x0044C9C0, + &TextureRenderCore::transformTgxFromRGB555ToRGB565) + transformTgxFromRGB555ToRGB565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x0044CAE0, + &TextureRenderCore::transformTileObjectToRGB565) + transformTileObjectToRGB565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x0044CB60, + &TextureRenderCore::transformRawToRGB555To565) + transformRawToRGB555To565; + + MACRO_FUNCTION_RESOLVER(RGB15 (TextureRenderCore::*)(BGR24), false, Address::SHC_3BB0A8C1_0x0044CBE0, + &TextureRenderCore::transformBGR24ToScreenColor) + transformBGR24ToScreenColor; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x0044CC30, + &TextureRenderCore::clearSomeMemory) + clearSomeMemory; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x0044CCA0, + &TextureRenderCore::setMapSurfaceHeightRange) + setMapSurfaceHeightRange; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x0044CCC0, + &TextureRenderCore::setMapSurfaceHeightRangeUnk) + setMapSurfaceHeightRangeUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x0044CCD0, + &TextureRenderCore::temporarySaveMapSurfaceHeightRangeUnk) + temporarySaveMapSurfaceHeightRangeUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x0044CCF0, + &TextureRenderCore::restoreMapSurfaceHeightRangeFromTemporaryUnk) + restoreMapSurfaceHeightRangeFromTemporaryUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x0044CD10, + &TextureRenderCore::setScreenMenuSurfaceHeightRange) + setScreenMenuSurfaceHeightRange; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x0044CD30, + &TextureRenderCore::setScreenMenuSurfaceHeightRangeToResolution) + setScreenMenuSurfaceHeightRangeToResolution; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0044CD40, + &TextureRenderCore::drawBitmapFace) + drawBitmapFace; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x0044CE00, + &TextureRenderCore::renderFacesSmallUnk) + renderFacesSmallUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0044CEB0, &TextureRenderCore::drawBitmapFaceWithBlendUnk) + drawBitmapFaceWithBlendUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, ushort*), false, + Address::SHC_3BB0A8C1_0x0044D3D0, &TextureRenderCore::renderFunctionResponsibleForManyGameObjects) + renderFunctionResponsibleForManyGameObjects; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, ushort*, int), false, + Address::SHC_3BB0A8C1_0x0044E630, &TextureRenderCore::renderInterfaceOrBuildingOccupationArea) + renderInterfaceOrBuildingOccupationArea; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x0044F020, &TextureRenderCore::renderBlendedBlackBox) + renderBlendedBlackBox; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, ushort*, int), false, + Address::SHC_3BB0A8C1_0x0044F170, &TextureRenderCore::renderGmWithPreparedAlphaMask) + renderGmWithPreparedAlphaMask; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, ushort*, ushort), false, + Address::SHC_3BB0A8C1_0x0044F6F0, &TextureRenderCore::renderTgxWithColorUnk) + renderTgxWithColorUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, ushort*, ushort, int), false, + Address::SHC_3BB0A8C1_0x0044F850, &TextureRenderCore::renderTgxWithColorAndBlendingUnk) + renderTgxWithColorAndBlendingUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, byte*), false, + Address::SHC_3BB0A8C1_0x0044FBF0, &TextureRenderCore::renderUnitAnimationUnk) + renderUnitAnimationUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, byte*, int), false, + Address::SHC_3BB0A8C1_0x00451E00, &TextureRenderCore::renderUnitAnimationWithBlendingUnk) + renderUnitAnimationWithBlendingUnk; + + MACRO_FUNCTION_RESOLVER(int (TextureRenderCore::*)(char*), false, Address::SHC_3BB0A8C1_0x00454620, + &TextureRenderCore::loadGfxFile) + loadGfxFile; + + MACRO_FUNCTION_RESOLVER(int (TextureRenderCore::*)(char*), false, Address::SHC_3BB0A8C1_0x00454700, + &TextureRenderCore::loadGFX8) + loadGFX8; + + MACRO_FUNCTION_RESOLVER(int (TextureRenderCore::*)(char*), false, Address::SHC_3BB0A8C1_0x004547C0, + &TextureRenderCore::loadGfxAtBufferEnd) + loadGfxAtBufferEnd; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TextureRenderCore::*)(char*), false, Address::SHC_3BB0A8C1_0x004548D0, + &TextureRenderCore::FUN_004548d0) + FUN_004548d0; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x00454900, + &TextureRenderCore::renderLoadedGfx) + renderLoadedGfx; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00454960, + &TextureRenderCore::setRenderingRectToGameResolution) + setRenderingRectToGameResolution; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00454990, &TextureRenderCore::setRenderingRect) + setRenderingRect; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x004549C0, + &TextureRenderCore::checkIfGfxTgxStartsWithTransparentPixels) + checkIfGfxTgxStartsWithTransparentPixels; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004549F0, &TextureRenderCore::renderGfxTgxWithBlending) + renderGfxTgxWithBlending; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, int, ushort*), false, + Address::SHC_3BB0A8C1_0x00454A60, &TextureRenderCore::drawTgxOnFlaggedSurface) + drawTgxOnFlaggedSurface; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00454CB0, + &TextureRenderCore::loadCampaignMapGfxUnk) + loadCampaignMapGfxUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x00454EE0, + &TextureRenderCore::setMenuTabIndexUnk) + setMenuTabIndexUnk; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00454EF0, + &TextureRenderCore::setActiveMenuTabIndexToZero) + setActiveMenuTabIndexToZero; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(), false, Address::SHC_3BB0A8C1_0x00454F00, + &TextureRenderCore::moveOverlappingMenuPartsToMapSurface) + moveOverlappingMenuPartsToMapSurface; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x00455250, + &TextureRenderCore::transformUncompressedImageWithMarkerUnkToRGB565) + transformUncompressedImageWithMarkerUnkToRGB565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x00455270, + &TextureRenderCore::transformTgxCompressedImageToRGB565) + transformTgxCompressedImageToRGB565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x00455290, + &TextureRenderCore::transformTilesetToRGB565) + transformTilesetToRGB565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int), false, Address::SHC_3BB0A8C1_0x004552E0, + &TextureRenderCore::transformUncompressedImageToRGB565) + transformUncompressedImageToRGB565; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(eGMInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x00455300, &TextureRenderCore::renderGM) + renderGM; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(GmIDInt, int, int, int, int), false, + Address::SHC_3BB0A8C1_0x00455390, &TextureRenderCore::renderGMWithBlending) + renderGMWithBlending; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(GmIDInt, int, int, int), false, + Address::SHC_3BB0A8C1_0x004554A0, &TextureRenderCore::drawTgxGmOnFlaggedSurface) + drawTgxGmOnFlaggedSurface; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int, FontRenderTypeInt, int, ushort, int), + false, Address::SHC_3BB0A8C1_0x00455540, &TextureRenderCore::renderTextChar) + renderTextChar; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(GmIDInt, int, int, int, GmIDInt, int, int), false, + Address::SHC_3BB0A8C1_0x004557B0, &TextureRenderCore::renderGMWithAlphaMask) + renderGMWithAlphaMask; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int, int), false, Address::SHC_3BB0A8C1_0x004558E0, + &TextureRenderCore::drawGfxOnFlaggedSurface) + drawGfxOnFlaggedSurface; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(int, int), false, Address::SHC_3BB0A8C1_0x00455930, + &TextureRenderCore::adaptGmColorsToRGB565IfRequired) + adaptGmColorsToRGB565IfRequired; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(GmIDInt, char*), false, + Address::SHC_3BB0A8C1_0x004559B0, &TextureRenderCore::loadGMFile) + loadGMFile; + + MACRO_FUNCTION_RESOLVER(void (TextureRenderCore::*)(char*), false, Address::SHC_3BB0A8C1_0x00455C60, + &TextureRenderCore::loadGmFiles) + loadGmFiles; + + } // namespace TextureRenderCore_Func + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp b/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp new file mode 100644 index 0000000..3bde929 --- /dev/null +++ b/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp @@ -0,0 +1,243 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering/TextureRenderCore.hpp' +*/ + +#pragma once + +#include "OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp" +#include "OpenSHC/IO/Graphics/GfxRef.hpp" +#include "OpenSHC/IO/Graphics/GmIDInt.hpp" +#include "OpenSHC/Rendering/Colors/BGR24.hpp" +#include "OpenSHC/Rendering/Colors/RGB15.hpp" +#include "OpenSHC/Rendering/Enums/RenderTargetInt.hpp" +#include "OpenSHC/Text/FontRenderTypeInt.hpp" +#include "OpenSHC/UI/Rendering/Range.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "OpenSHC/_SHCDE/eGMInt.hpp" +#include "WinDef.h" + +namespace OpenSHC { +namespace UI { + namespace Rendering { + + using OpenSHC::_SHCDE::eGMInt; + using OpenSHC::IO::Graphics::GfxRef; + using OpenSHC::IO::Graphics::GMFileHeaderColorpalette; + using OpenSHC::IO::Graphics::GmIDInt; + using OpenSHC::Rendering::Colors::BGR24; + using OpenSHC::Rendering::Colors::RGB15; + using OpenSHC::Rendering::Enums::RenderTargetInt; + using OpenSHC::Text::FontRenderTypeInt; + using OpenSHC::UI::Rendering::Range; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x0016D484 + class TextureRenderCore { + public: + dword bufferAllocStateUnk_0x0; // 0x00000000 length: 4 + RenderTargetInt drawBufferChoiceValue; // 0x00000004 length: 4 + RenderTargetInt currentRenderSurfaceIdentifierUnk_0x8; // 0x00000008 length: 4 + ushort* currentRenderSurface; // 0x0000000C length: 4 + dword mbr_0x10; // 0x00000010 length: 4 + undefined1 padding_0x14[24]; // 0x00000014 length: 24 + int field29_0x2c; // 0x0000002C length: 4 + undefined1 padding_0x30[20]; // 0x00000030 length: 20 + int gmSizeOfProcessedPictures_0x44; // 0x00000044 length: 4 + int gmNumberOfProcessedPictures; // 0x00000048 length: 4 + int gmFileID; // 0x0000004C length: 4 + BOOLEnum unknownSfxAndGmRelatedFlag; // 0x00000050 length: 4 + int isZoom2; // 0x00000054 length: 4 + Range mapGameSurfaceHeightRange; // 0x00000058 length: 8 + Range screenMenuSurfaceHeightRange; // 0x00000060 length: 8 + dword activeMenuTabIndex; // 0x00000068 length: 4 + dword mbr_0x6c; // 0x0000006C length: 4 + dword mbr_0x70; // 0x00000070 length: 4 + int gmProcessedImageDataBufferSize_0x74; // 0x00000074 length: 4 + void* gmProcessedImageData; // 0x00000078 length: 4 + int unknownMemSize_1_0x7c; // 0x0000007C length: 4 + void* unknownMemPtr_1_0x80; // 0x00000080 length: 4 + int unknownMemSize_2_0x84; // 0x00000084 length: 4 + void* address2; // 0x00000088 length: 4 + int gmAndGfxImageDataBufferSize_0x8c; // 0x0000008C length: 4 + void* gmAndGfxImageDataBuffer; // 0x00000090 length: 4 + void* bitmapsFaces_0x94; // 0x00000094 length: 4 + int field69_0x98; // 0x00000098 length: 4 + int field70_0x9c; // 0x0000009C length: 4 + int field71_0xa0; // 0x000000A0 length: 4 + int field72_0xa4; // 0x000000A4 length: 4 + int field73_0xa8; // 0x000000A8 length: 4 + int field74_0xac; // 0x000000AC length: 4 + int field75_0xb0; // 0x000000B0 length: 4 + int field76_0xb4; // 0x000000B4 length: 4 + int field77_0xb8; // 0x000000B8 length: 4 + int field78_0xbc; // 0x000000BC length: 4 + int field79_0xc0; // 0x000000C0 length: 4 + int field80_0xc4; // 0x000000C4 length: 4 + int field81_0xc8; // 0x000000C8 length: 4 + int field82_0xcc; // 0x000000CC length: 4 + int field83_0xd0; // 0x000000D0 length: 4 + int field84_0xd4; // 0x000000D4 length: 4 + int field85_0xd8; // 0x000000D8 length: 4 + int field86_0xdc; // 0x000000DC length: 4 + int field87_0xe0; // 0x000000E0 length: 4 + int unknownPlayerDependentRenderValue[9]; // 0x000000E4 length: 36 + int field89_0x108; // 0x00000108 length: 4 + int field90_0x10c; // 0x0000010C length: 4 + int field91_0x110; // 0x00000110 length: 4 + int field92_0x114; // 0x00000114 length: 4 + int field93_0x118; // 0x00000118 length: 4 + int field94_0x11c; // 0x0000011C length: 4 + int field95_0x120; // 0x00000120 length: 4 + int field96_0x124; // 0x00000124 length: 4 + int field97_0x128; // 0x00000128 length: 4 + int field98_0x12c; // 0x0000012C length: 4 + undefined1 padding_0x130[1004]; // 0x00000130 length: 1004 + GMFileHeaderColorpalette gmFileHeaderColorpaletteArray[240]; // 0x0000051C length: 1249920 + char gmFileNameArray_UNUSEDUnk_0x13179c[240][1001]; // 0x0013179C length: 240240 + GfxRef loadedGfxArray[100]; // 0x0016C20C length: 1600 + int totalLoadedGfx; // 0x0016C84C length: 4 + int backwardsLoadedGfxIndex_0x16C850; // 0x0016C850 length: 4 + RECT renderingRect_16c854; // 0x0016C854 length: 16 + Range mapSurfaceRangeTemporaryUnk_0x16c864; // 0x0016C864 length: 8 + undefined1 padding_0x16c86c[24]; // 0x0016C86C length: 24 + ushort campaignMapColorMapsUnk_0x16c886[6][256]; // 0x0016C884 length: 3072 + + private: + TextureRenderCore(TextureRenderCore const&); + void operator=(TextureRenderCore const&); + + TextureRenderCore(); + ~TextureRenderCore(); + + public: + // Constructor + TextureRenderCore* Constructor_TextureRenderCore( + int processedImageDataBufferSize, int gmAndGfxImageDataBufferSize, int unknownMemSize); + + void Destructor_TextureRenderCore(); + + void drawLoadingBarUnk(GmIDInt currentGmId, int barLengthUnk); + + void transformGmColorTableFromRGB555To565IfRequired(int gmID); + + void transformRawWithMarkerUnkToRGB555To565(int imageOffset, int imageSize); + + void transformTgxFromRGB555ToRGB565(ushort* tgxDataPtr, int tgxByteSize); + + void transformTileObjectToRGB565(int imageOffset); + + void transformRawToRGB555To565(int imageOffset, int imageSize); + + RGB15 transformBGR24ToScreenColor(BGR24 color); + + void clearSomeMemory(); + + void setMapSurfaceHeightRange(int start, int end); + + void setMapSurfaceHeightRangeUnk(); + + void temporarySaveMapSurfaceHeightRangeUnk(); + + void restoreMapSurfaceHeightRangeFromTemporaryUnk(); + + void setScreenMenuSurfaceHeightRange(int start, int end); + + void setScreenMenuSurfaceHeightRangeToResolution(); + + void drawBitmapFace(int bitmapFaceIndex, int xPos, int yPos); + + void renderFacesSmallUnk(int facesIndex, int drawX, int drawY); + + void drawBitmapFaceWithBlendUnk(int bitmapFaceIndex, int xPos, int yPos, int colorOrBlendOrGammaUnk); + + void renderFunctionResponsibleForManyGameObjects( + int drawX, int drawY, int imageWidth, int imageHeight, ushort* imageAddress); + + void renderInterfaceOrBuildingOccupationArea( + int x, int y, int width, int height, ushort* imageDataPtr, int blendStrengthUnk); + + void renderBlendedBlackBox(int drawX, int drawY, int drawXEnd, int drawYEnd, int blendStrengthUnk); + + void renderGmWithPreparedAlphaMask( + int x, int y, int width, int height, ushort* imageDataPtr, int blendStrength); + + void renderTgxWithColorUnk( + int xPos, int yPos, int width, int height, ushort* imageSource, ushort fillColorUnk); + + void renderTgxWithColorAndBlendingUnk(int xPos, int yPos, int width, int height, ushort* imageSource, + ushort fillColorUnk, int blendStrengthUnk); + + void renderUnitAnimationUnk(int xPosition, int yPosition, int width, int height, byte* imageAddress); + + void renderUnitAnimationWithBlendingUnk( + int xPosition, int yPosition, int width, int height, byte* imageAddress, int blendStrengthUnk); + + int loadGfxFile(char* tgxFileName); + + int loadGFX8(char* gfx8Filename); + + int loadGfxAtBufferEnd(char* fileName); + + BOOLEnum FUN_004548d0(char* param_1); + + void renderLoadedGfx(int loadedGfxIndex, int xPos, int yPos); + + void setRenderingRectToGameResolution(); + + void setRenderingRect(int xPos, int yPos, int width, int heigth); + + BOOLEnum checkIfGfxTgxStartsWithTransparentPixels(int gfxIndex); + + void renderGfxTgxWithBlending(int gfxIndex, int x, int y, int blendStrengthUnk); + + void drawTgxOnFlaggedSurface(int xPos, int yPos, int gfxWidth, int gfxHeight, ushort* tgxSourcePtr); + + void loadCampaignMapGfxUnk(); + + void setMenuTabIndexUnk(int indexToSetToMinusOne); + + void setActiveMenuTabIndexToZero(); + + void moveOverlappingMenuPartsToMapSurface(); + + void transformUncompressedImageWithMarkerUnkToRGB565(int imageIndex); + + void transformTgxCompressedImageToRGB565(int imageIndex); + + void transformTilesetToRGB565(int imageIndex); + + void transformUncompressedImageToRGB565(int imageIndex); + + void renderGM(eGMInt gmID, int imageID, int drawX, int drawY); + + void renderGMWithBlending(GmIDInt GmID, int imageID, int drawX, int drawY, int blendStrengthUnk); + + void drawTgxGmOnFlaggedSurface(GmIDInt gmId, int imageIndexInGm, int xPos, int yPos); + + void renderTextChar(int xPos, int yPos, int imageId, FontRenderTypeInt renderType, int lineHeight, + ushort fillColor, int blendStrength); + + void renderGMWithAlphaMask( + GmIDInt gmID, int imageID, int xPos, int yPos, GmIDInt maskGmID, int alphaImageID, int blendStrength); + + void drawGfxOnFlaggedSurface(int gfxIndex, int xPos, int yPos); + + void adaptGmColorsToRGB565IfRequired(int gmID, int imageIndex); + + void loadGMFile(GmIDInt gmID, char* gmFileName); + + void loadGmFiles(char* fileNameArray); + }; + + static_assert_cpp98_obj(sizeof(TextureRenderCore) == 1496196, TextureRenderCore); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(TextureRenderCore, false, Address::SHC_3BB0A8C1_0x01FEA090) pDAT_TextureRenderCore; + + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/WindowAndDirectDraw.func.hpp b/src/OpenSHC/UI/Rendering/WindowAndDirectDraw.func.hpp new file mode 100644 index 0000000..49568a3 --- /dev/null +++ b/src/OpenSHC/UI/Rendering/WindowAndDirectDraw.func.hpp @@ -0,0 +1,101 @@ +/** + path: 'OpenSHC/UI/Rendering/WindowAndDirectDraw.func.hpp' +*/ + +#include "OpenSHC/Rendering/ScreenResolutionEnumInt.hpp" +#include "OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "winnt.h" +namespace OpenSHC { +namespace UI { + namespace Rendering { + namespace WindowAndDirectDraw_Func { + + using OpenSHC::Rendering::ScreenResolutionEnumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (WindowAndDirectDraw::*)(LPCSTR, uint), false, + Address::SHC_3BB0A8C1_0x00467A90, &WindowAndDirectDraw::createWindow) + createWindow; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x00467B40, + &WindowAndDirectDraw::getDeviceCapsAndSetup) + getDeviceCapsAndSetup; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(BOOLEnum), false, Address::SHC_3BB0A8C1_0x00467D80, + &WindowAndDirectDraw::releaseSurfacesAndDirectDraw) + releaseSurfacesAndDirectDraw; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x00467E40, + &WindowAndDirectDraw::finalizeDirectDrawShutdown) + finalizeDirectDrawShutdown; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(LPRECT, LPRECT), false, + Address::SHC_3BB0A8C1_0x00467E50, &WindowAndDirectDraw::adjustForNotExclusiveFullscreenUnk) + adjustForNotExclusiveFullscreenUnk; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x00467EC0, + &WindowAndDirectDraw::restoreDXSurfaces) + restoreDXSurfaces; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x0046F730, + &WindowAndDirectDraw::cleanDirectDraw) + cleanDirectDraw; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x0046F750, + &WindowAndDirectDraw::setWindowStyleRectAndPosition) + setWindowStyleRectAndPosition; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x0046F880, + &WindowAndDirectDraw::setupPreferredScreenResolution) + setupPreferredScreenResolution; + + MACRO_FUNCTION_RESOLVER(BOOLEnum (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x0046FA70, + &WindowAndDirectDraw::initializeDirectDraw) + initializeDirectDraw; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(HINSTANCE, LPCSTR, uint), false, + Address::SHC_3BB0A8C1_0x0046FF50, &WindowAndDirectDraw::createCrusaderWindow) + createCrusaderWindow; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x0046FFB0, + &WindowAndDirectDraw::prepareWindowAndDDrawUnk) + prepareWindowAndDDrawUnk; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(int), false, Address::SHC_3BB0A8C1_0x00470040, + &WindowAndDirectDraw::renderBltAndFlip) + renderBltAndFlip; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x00470610, + &WindowAndDirectDraw::bltMapGameSurfaceToScreenMenuSurfaceComplete) + bltMapGameSurfaceToScreenMenuSurfaceComplete; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(RECT, RECT), false, Address::SHC_3BB0A8C1_0x004706A0, + &WindowAndDirectDraw::bltMapGameSurfaceToScreenMenuSurface) + bltMapGameSurfaceToScreenMenuSurface; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004706E0, &WindowAndDirectDraw::bltMapGameSurfaceToScreen) + bltMapGameSurfaceToScreen; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(int, int, int, int), false, + Address::SHC_3BB0A8C1_0x004707F0, &WindowAndDirectDraw::bltScreenMenuSurfaceToScreen) + bltScreenMenuSurfaceToScreen; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(), false, Address::SHC_3BB0A8C1_0x004708F0, + &WindowAndDirectDraw::reinitWindow) + reinitWindow; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(BOOLEnum, ScreenResolutionEnumInt), false, + Address::SHC_3BB0A8C1_0x004729B0, &WindowAndDirectDraw::prepareWindowAndDDraw_2Unk) + prepareWindowAndDDraw_2Unk; + + MACRO_FUNCTION_RESOLVER(void (WindowAndDirectDraw::*)(int), false, Address::SHC_3BB0A8C1_0x00479540, + &WindowAndDirectDraw::takeScreenshot) + takeScreenshot; + + } // namespace WindowAndDirectDraw_Func + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp b/src/OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp new file mode 100644 index 0000000..20c5fdf --- /dev/null +++ b/src/OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp @@ -0,0 +1,141 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/Rendering/WindowAndDirectDraw.hpp' +*/ + +#pragma once + +#include "OpenSHC/Rendering/ColorModeInt.hpp" +#include "OpenSHC/Rendering/ScreenResolutionArrayStruct.hpp" +#include "OpenSHC/Rendering/ScreenResolutionEnumInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" +#include "WinDef.h" +#include "ddraw.h" +#include "winnt.h" + +namespace OpenSHC { +namespace UI { + namespace Rendering { + + using OpenSHC::Rendering::ColorModeInt; + using OpenSHC::Rendering::ScreenResolutionArrayStruct; + using OpenSHC::Rendering::ScreenResolutionEnumInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x000001E4 + class WindowAndDirectDraw { + public: + BOOLEnum drawingReady_0x0; // 0x00000000 length: 4 + dword depthBitsPerPixel; // 0x00000004 length: 4 + int screenHorizontalResolutionInPixels; // 0x00000008 length: 4 + int screenVerticalResolutionInPixels; // 0x0000000C length: 4 + int screenWidthOnInit_0x10; // 0x00000010 length: 4 + int screenHeightOnInit_0x14; // 0x00000014 length: 4 + int gameResolutionX; // 0x00000018 length: 4 + int gameResolutionY; // 0x0000001C length: 4 + int mainMenuBorderWidth; // 0x00000020 length: 4 + int mainMenuBorderHeight; // 0x00000024 length: 4 + int gameOnScreenPosX_0x28; // 0x00000028 length: 4 + int gameOnScreenPosY_0x2c; // 0x0000002C length: 4 + int gameInWindowPosX_0x30; // 0x00000030 length: 4 + int gameInWindowPosY_0x34; // 0x00000034 length: 4 + int resolutionX; // 0x00000038 length: 4 + int resolutionY; // 0x0000003C length: 4 + int byteSizeOfOneHorizontalLine; // 0x00000040 length: 4 + int gameResolutionY_3_0x44; // 0x00000044 length: 4 + int byteSizeofScreenResolution; // 0x00000048 length: 4 + int numPixel_GameX_x_3_x_GameY_0x4c; // 0x0000004C length: 4 + dword colorDepth; // 0x00000050 length: 4 + ColorModeInt colorBitMode; // 0x00000054 length: 4 + BOOLEnum runGameAsExclusiveFullscreen; // 0x00000058 length: 4 + ScreenResolutionEnumInt currentGameResolution; // 0x0000005C length: 4 + dword windowMoveEventBlitCountdown; // 0x00000060 length: 4 + dword postWindowCloseMessage; // 0x00000064 length: 4 + ScreenResolutionArrayStruct resolutionSupported_0x68; // 0x00000068 length: 64 + HINSTANCE hInstanceUnk_0xa8; // 0x000000A8 length: 4 + HWND windowHandle; // 0x000000AC length: 4 + RECT clientOnScreenCoords; // 0x000000B0 length: 16 + dword unk_resetViewportRelated; // 0x000000C0 length: 4 + BOOLEnum isNotProcessingInputEvents; // 0x000000C4 length: 4 + BOOLEnum gameFocused; // 0x000000C8 length: 4 + dword mbr_0xcc; // 0x000000CC length: 4 + dword mbr_0xd0; // 0x000000D0 length: 4 + ushort* surfacePointer_screenMenu; // 0x000000D4 length: 4 + ushort* surfacePointer_mapGame; // 0x000000D8 length: 4 + dword field37_0xdc; // 0x000000DC length: 4 + BOOLEnum not_DDCAPS2_CANBOBHARDWARE_0xe0; // 0x000000E0 length: 4 + undefined1 padding_0xe4[8]; // 0x000000E4 length: 8 + IDirectDraw* pointerToIDirectDrawInterface; // 0x000000EC length: 4 + IDirectDrawSurface* directDrawBackbufferSurfacePointer; // 0x000000F0 length: 4 + IDirectDrawSurface* directDrawPrimarySurfacePointer; // 0x000000F4 length: 4 + BOOLEnum NOTSelfBufferOrWindowMode_0xf8; // 0x000000F8 length: 4 + IDirectDrawSurface* directDrawOffscreenSurfacePointer_screenMenu; // 0x000000FC length: 4 + IDirectDrawSurface* directDrawOffscreenSurfacePointer_mapGame; // 0x00000100 length: 4 + DDSURFACEDESC surfDescBink_offSurfScreenMenu_0x104; // 0x00000104 length: 108 + DDSURFACEDESC surfDescBink_offSurfMapGame; // 0x00000170 length: 108 + undefined* unknownSpecificPointer; // 0x000001DC length: 4 + dword windowRenderTimeUnk_0x1e0; // 0x000001E0 length: 4 + + private: + WindowAndDirectDraw(WindowAndDirectDraw const&); + void operator=(WindowAndDirectDraw const&); + + WindowAndDirectDraw(); + ~WindowAndDirectDraw(); + + public: + // Constructor + WindowAndDirectDraw* Constructor_WindowAndDirectDraw(); + + BOOLEnum createWindow(LPCSTR windowName, uint cursorResource); + + void getDeviceCapsAndSetup(); + + void releaseSurfacesAndDirectDraw(BOOLEnum alsoReleaseDDInterfaceUnk); + + void finalizeDirectDrawShutdown(); + + void adjustForNotExclusiveFullscreenUnk(LPRECT destinationRect, LPRECT sourceRect); + + BOOLEnum restoreDXSurfaces(); + + void cleanDirectDraw(); + + void setWindowStyleRectAndPosition(); + + void setupPreferredScreenResolution(); + + BOOLEnum initializeDirectDraw(); + + void createCrusaderWindow(HINSTANCE hInstance, LPCSTR windowName, uint cursorResource); + + void prepareWindowAndDDrawUnk(); + + void renderBltAndFlip(int param_1); + + void bltMapGameSurfaceToScreenMenuSurfaceComplete(); + + void bltMapGameSurfaceToScreenMenuSurface(RECT sourceRect, RECT destinationRect); + + void bltMapGameSurfaceToScreen(int windowedX, int windowedY, int windowedWidth, int windowedHeigth); + + void bltScreenMenuSurfaceToScreen(int windowedX, int windowedY, int windowedWidth, int windowedHeigth); + + void reinitWindow(); + + void prepareWindowAndDDraw_2Unk(BOOLEnum runAsExclusiveFullscreen, ScreenResolutionEnumInt resEnum); + + void takeScreenshot(int param_1); + }; + + static_assert_cpp98_obj(sizeof(WindowAndDirectDraw) == 484, WindowAndDirectDraw); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(WindowAndDirectDraw, false, Address::SHC_3BB0A8C1_0x00F98338) pDAT_WindowAndDirectDraw; + + } // namespace Rendering +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollDirection.hpp b/src/OpenSHC/UI/ScrollDirection.hpp new file mode 100644 index 0000000..f7a35c5 --- /dev/null +++ b/src/OpenSHC/UI/ScrollDirection.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ScrollDirection.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + typedef enum ScrollDirection { + + SD_UP = 0, // 0x00000000 + SD_UP_RIGHT = 1, // 0x00000001 + SD_RIGHT = 2, // 0x00000002 + SD_DOWN_RIGHT = 3, // 0x00000003 + SD_DOWN = 4, // 0x00000004 + SD_DOWN_LEFT = 5, // 0x00000005 + SD_LEFT = 6, // 0x00000006 + SD_UP_LEFT = 7, // 0x00000007 + SD_NONE = 15 // 0x0000000F + + } ScrollDirection; + + static_assert_cpp98_obj(sizeof(ScrollDirection) == 4, ScrollDirection); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollDirectionInt.hpp b/src/OpenSHC/UI/ScrollDirectionInt.hpp new file mode 100644 index 0000000..a363b75 --- /dev/null +++ b/src/OpenSHC/UI/ScrollDirectionInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ScrollDirectionInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ScrollDirection.hpp" + +namespace OpenSHC { +namespace UI { + typedef int ScrollDirectionInt; + + static_assert_cpp98_obj(sizeof(ScrollDirectionInt) == 4, ScrollDirectionInt); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollSpeed.hpp b/src/OpenSHC/UI/ScrollSpeed.hpp new file mode 100644 index 0000000..df8202d --- /dev/null +++ b/src/OpenSHC/UI/ScrollSpeed.hpp @@ -0,0 +1,20 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ScrollSpeed.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + typedef enum ScrollSpeed { + + SS_NORMAL = 0, // 0x00000000 + SS_FAST = 1, // 0x00000001 + SS_SLOW = 2 // 0x00000002 + + } ScrollSpeed; + + static_assert_cpp98_obj(sizeof(ScrollSpeed) == 4, ScrollSpeed); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollSpeedInt.hpp b/src/OpenSHC/UI/ScrollSpeedInt.hpp new file mode 100644 index 0000000..0d47d7d --- /dev/null +++ b/src/OpenSHC/UI/ScrollSpeedInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ScrollSpeedInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ScrollSpeed.hpp" + +namespace OpenSHC { +namespace UI { + typedef int ScrollSpeedInt; + + static_assert_cpp98_obj(sizeof(ScrollSpeedInt) == 4, ScrollSpeedInt); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollbarOrSliderState.hpp b/src/OpenSHC/UI/ScrollbarOrSliderState.hpp new file mode 100644 index 0000000..51828b9 --- /dev/null +++ b/src/OpenSHC/UI/ScrollbarOrSliderState.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ScrollbarOrSliderState.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct ScrollbarOrSliderState { + + int minValue; // 0x00000000 length: 4 + int maxValue; // 0x00000004 length: 4 + int currentValue; // 0x00000008 length: 4 + int dragTiming; // 0x0000000C length: 4 + + } ScrollbarOrSliderState; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ScrollbarOrSliderState) == 16, ScrollbarOrSliderState); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollingHandler.func.hpp b/src/OpenSHC/UI/ScrollingHandler.func.hpp new file mode 100644 index 0000000..7efb110 --- /dev/null +++ b/src/OpenSHC/UI/ScrollingHandler.func.hpp @@ -0,0 +1,20 @@ +/** + path: 'OpenSHC/UI/ScrollingHandler.func.hpp' +*/ + +#include "OpenSHC/UI/ScrollingHandler.hpp" +namespace OpenSHC { +namespace UI { + namespace ScrollingHandler_Func { + + MACRO_FUNCTION_RESOLVER( + void (ScrollingHandler::*)(), false, Address::SHC_3BB0A8C1_0x00468AD0, &ScrollingHandler::handleScrolling) + handleScrolling; + + MACRO_FUNCTION_RESOLVER(int (ScrollingHandler::*)(), false, Address::SHC_3BB0A8C1_0x00468C30, + &ScrollingHandler::getScrollDistanceBaseUnk) + getScrollDistanceBaseUnk; + + } // namespace ScrollingHandler_Func +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ScrollingHandler.hpp b/src/OpenSHC/UI/ScrollingHandler.hpp new file mode 100644 index 0000000..ceb1004 --- /dev/null +++ b/src/OpenSHC/UI/ScrollingHandler.hpp @@ -0,0 +1,66 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ScrollingHandler.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/ScrollDirectionInt.hpp" +#include "OpenSHC/UI/ScrollSpeedInt.hpp" +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::ScrollDirectionInt; + using OpenSHC::UI::ScrollSpeedInt; + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000048 + class ScrollingHandler { + public: + BOOLEnum isScrolling_0x0; // 0x00000000 length: 4 + ScrollDirectionInt scrollDirection_0x4; // 0x00000004 length: 4 + BOOLEnum scrollRight; // 0x00000008 length: 4 + BOOLEnum scrollLeft; // 0x0000000C length: 4 + BOOLEnum scrollDown; // 0x00000010 length: 4 + BOOLEnum scrollUp; // 0x00000014 length: 4 + BOOLEnum rightKeyDown_0x18; // 0x00000018 length: 4 + BOOLEnum leftKeyDown_0x1c; // 0x0000001C length: 4 + BOOLEnum downKeyDown_0x20; // 0x00000020 length: 4 + BOOLEnum upKeyDown_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 + ScrollSpeedInt scrollSpeedSetting_0x38; // 0x00000038 length: 4 + int scrollDistanceBase; // 0x0000003C length: 4 + int timeOfLastNotScroll_0x40; // 0x00000040 length: 4 + int timeScrolling_0x44; // 0x00000044 length: 4 + + private: + ScrollingHandler(ScrollingHandler const&); + void operator=(ScrollingHandler const&); + + ScrollingHandler(); + ~ScrollingHandler(); + + public: + // Constructor + ScrollingHandler* Constructor_ScrollingHandler(); + + void handleScrolling(); + + int getScrollDistanceBaseUnk(); + }; + + static_assert_cpp98_obj(sizeof(ScrollingHandler) == 72, ScrollingHandler); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(ScrollingHandler, false, Address::SHC_3BB0A8C1_0x0112B070) pDAT_ScrollingHandler; + +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/ShortcutDefinedData.hpp b/src/OpenSHC/UI/ShortcutDefinedData.hpp new file mode 100644 index 0000000..78773bc --- /dev/null +++ b/src/OpenSHC/UI/ShortcutDefinedData.hpp @@ -0,0 +1,25 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/ShortcutDefinedData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x0000001C + typedef struct ShortcutDefinedData { + + undefined4 DAT_ScreenshotFilenameVariant; // 0x00000000 length: 4 + undefined4 DAT_CyclingLordID; // 0x00000004 length: 4 + string DAT_CheatCodeString; // 0x00000008 length: 16 + undefined1 padding_0x18[4]; // 0x00000018 length: 4 + + } ShortcutDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(ShortcutDefinedData) == 28, ShortcutDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/TextInputDefinedData.hpp b/src/OpenSHC/UI/TextInputDefinedData.hpp new file mode 100644 index 0000000..d1d3e35 --- /dev/null +++ b/src/OpenSHC/UI/TextInputDefinedData.hpp @@ -0,0 +1,46 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/TextInputDefinedData.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x00000734 + typedef struct TextInputDefinedData { + + int field0_0x0[11]; // 0x00000000 length: 44 + int field1_0x2c[22]; // 0x0000002C length: 88 + byte DAT_UserTextHandler_CharacterFilter_B_1_8_9[256]; // 0x00000084 length: 256 + byte DAT_UserTextHandler_CharacterFilter_A_2_3[256]; // 0x00000184 length: 256 + short field4_0x284[2][256]; // 0x00000284 length: 1024 + int field5_0x684[8][2]; // 0x00000684 length: 64 + int field6_0x6c4[10]; // 0x000006C4 length: 40 + string field7_0x6ec; // 0x000006EC length: 4 + string field8_0x6f0; // 0x000006F0 length: 6 + undefined1 padding_0x6f6[2]; // 0x000006F6 length: 2 + string field11_0x6f8; // 0x000006F8 length: 4 + string field12_0x6fc; // 0x000006FC length: 6 + undefined1 padding_0x702[2]; // 0x00000702 length: 2 + string field15_0x704; // 0x00000704 length: 4 + string field16_0x708; // 0x00000708 length: 6 + undefined1 padding_0x70e[2]; // 0x0000070E length: 2 + string field19_0x710; // 0x00000710 length: 4 + string field20_0x714; // 0x00000714 length: 6 + undefined1 padding_0x71a[2]; // 0x0000071A length: 2 + string field23_0x71c; // 0x0000071C length: 4 + string field24_0x720; // 0x00000720 length: 6 + undefined1 padding_0x726[2]; // 0x00000726 length: 2 + string field27_0x728; // 0x00000728 length: 4 + string field28_0x72c; // 0x0000072C length: 6 + undefined1 padding_0x732[2]; // 0x00000732 length: 2 + + } TextInputDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TextInputDefinedData) == 1844, TextInputDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/TextMessageBLLookupStruct.hpp b/src/OpenSHC/UI/TextMessageBLLookupStruct.hpp new file mode 100644 index 0000000..370fd1a --- /dev/null +++ b/src/OpenSHC/UI/TextMessageBLLookupStruct.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/TextMessageBLLookupStruct.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/TextMessageBLLookupStructTypeEnumInt.hpp" +#include "OpenSHC/UI/TextMessageBLLookupStructUnion.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::TextMessageBLLookupStructUnion; + using OpenSHC::UI::Enums::TextMessageBLLookupStructTypeEnumInt; + +#pragma pack(push, 1) + // SIZE: 0x00000010 + typedef struct TextMessageBLLookupStruct { + + TextMessageBLLookupStructTypeEnumInt messageType; // 0x00000000 length: 4 + int textGroupIndex; // 0x00000004 length: 4 + int textIndexInGroup; // 0x00000008 length: 4 + TextMessageBLLookupStructUnion associatedType; // 0x0000000C length: 4 + + } TextMessageBLLookupStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TextMessageBLLookupStruct) == 16, TextMessageBLLookupStruct); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/TextMessageBLLookupStructUnion.hpp b/src/OpenSHC/UI/TextMessageBLLookupStructUnion.hpp new file mode 100644 index 0000000..d2d38c1 --- /dev/null +++ b/src/OpenSHC/UI/TextMessageBLLookupStructUnion.hpp @@ -0,0 +1,32 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/TextMessageBLLookupStructUnion.hpp' +*/ + +#pragma once + +#include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" +#include "OpenSHC/UI/Enums/TextMessageBLLookupStructButtonTextEnumInt.hpp" +#include "OpenSHC/UI/TextMessageBLLookupStructUnitsTextTypeInt.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Commands::CommandBuildingTypeInt; + using OpenSHC::UI::TextMessageBLLookupStructUnitsTextTypeInt; + using OpenSHC::UI::Enums::TextMessageBLLookupStructButtonTextEnumInt; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union TextMessageBLLookupStructUnion { + + CommandBuildingTypeInt buildingType; // 0x00000000 length: 4 + TextMessageBLLookupStructUnitsTextTypeInt unitsAndWeaponsType; // 0x00000000 length: 4 + TextMessageBLLookupStructButtonTextEnumInt buttonText; // 0x00000000 length: 4 + + } TextMessageBLLookupStructUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(TextMessageBLLookupStructUnion) == 4, TextMessageBLLookupStructUnion); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextType.hpp b/src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextType.hpp new file mode 100644 index 0000000..c6212e9 --- /dev/null +++ b/src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextType.hpp @@ -0,0 +1,33 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/TextMessageBLLookupStructUnitsTextType.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + typedef enum TextMessageBLLookupStructUnitsTextType { + + TMBLLSUTT_ARCHER = 0, // 0x00000000 + TMBLLSUTT_CROSSBOWMAN = 1, // 0x00000001 + TMBLLSUTT_SPEARMAN = 2, // 0x00000002 + TMBLLSUTT_PIKEMAN = 3, // 0x00000003 + TMBLLSUTT_MACEMAN = 4, // 0x00000004 + TMBLLSUTT_SWORDSMAN = 5, // 0x00000005 + TMBLLSUTT_KNIGHT = 6, // 0x00000006 + TMBLLSUTT_BOWS = 17, // 0x00000011 + TMBLLSUTT_CROSSBOWS = 18, // 0x00000012 + TMBLLSUTT_SPEARS = 19, // 0x00000013 + TMBLLSUTT_PIKES = 20, // 0x00000014 + TMBLLSUTT_MACES = 21, // 0x00000015 + TMBLLSUTT_SWORDS = 22, // 0x00000016 + TMBLLSUTT_LEATHER_ARMOUR = 23, // 0x00000017 + TMBLLSUTT_METAL_ARMOUR = 24 // 0x00000018 + + } TextMessageBLLookupStructUnitsTextType; + + static_assert_cpp98_obj( + sizeof(TextMessageBLLookupStructUnitsTextType) == 4, TextMessageBLLookupStructUnitsTextType); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextTypeInt.hpp b/src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextTypeInt.hpp new file mode 100644 index 0000000..36d65ae --- /dev/null +++ b/src/OpenSHC/UI/TextMessageBLLookupStructUnitsTextTypeInt.hpp @@ -0,0 +1,17 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/TextMessageBLLookupStructUnitsTextTypeInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/TextMessageBLLookupStructUnitsTextType.hpp" + +namespace OpenSHC { +namespace UI { + typedef int TextMessageBLLookupStructUnitsTextTypeInt; + + static_assert_cpp98_obj( + sizeof(TextMessageBLLookupStructUnitsTextTypeInt) == 4, TextMessageBLLookupStructUnitsTextTypeInt); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UC.hpp b/src/OpenSHC/UI/UC.hpp new file mode 100644 index 0000000..6b8af1a --- /dev/null +++ b/src/OpenSHC/UI/UC.hpp @@ -0,0 +1,32 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UC.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Enums/UserControlIDInt.hpp" +#include "OpenSHC/UI/Position.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Position; + using OpenSHC::UI::Enums::UserControlIDInt; + +#pragma pack(push, 1) + // SIZE: 0x000001F0 + typedef struct UC { + + Position defaultPosition; // 0x00000000 length: 8 + UserControlIDInt id; // 0x00000008 length: 4 + char* ucLabelPtr; // 0x0000000C length: 4 + Position ucPositionArray[40]; // 0x00000010 length: 320 + int isActiveArray[40]; // 0x00000150 length: 160 + + } UC; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UC) == 496, UC); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UCPointerStruct.hpp b/src/OpenSHC/UI/UCPointerStruct.hpp new file mode 100644 index 0000000..9a3e6fd --- /dev/null +++ b/src/OpenSHC/UI/UCPointerStruct.hpp @@ -0,0 +1,26 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UCPointerStruct.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/UC.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::UC; + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct UCPointerStruct { + + UC* ucArrayPointer; // 0x00000000 length: 4 + + } UCPointerStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UCPointerStruct) == 4, UCPointerStruct); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UIButtonDefinedData.hpp b/src/OpenSHC/UI/UIButtonDefinedData.hpp new file mode 100644 index 0000000..6a5f033 --- /dev/null +++ b/src/OpenSHC/UI/UIButtonDefinedData.hpp @@ -0,0 +1,41 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UIButtonDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/UI/Rendering/ButtonGmData.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::UI::Rendering::ButtonGmData; + +#pragma pack(push, 1) + // SIZE: 0x0000490C + typedef struct UIButtonDefinedData { + + int field0_0x0; // 0x00000000 length: 4 + int field1_0x4; // 0x00000004 length: 4 + int field2_0x8; // 0x00000008 length: 4 + int field3_0xc; // 0x0000000C length: 4 + int field4_0x10; // 0x00000010 length: 4 + int field5_0x14; // 0x00000014 length: 4 + int field6_0x18; // 0x00000018 length: 4 + int field7_0x1c; // 0x0000001C length: 4 + int field8_0x20; // 0x00000020 length: 4 + int field9_0x24; // 0x00000024 length: 4 + int field10_0x28; // 0x00000028 length: 4 + int field11_0x2c; // 0x0000002C length: 4 + undefined1 padding_0x30[4]; // 0x00000030 length: 4 + ButtonGmData DAT_ButtonGmDataArray[650]; // 0x00000034 length: 18200 + char field17_0x474c[7][32]; // 0x0000474C length: 224 + char field18_0x482c[7][32]; // 0x0000482C length: 224 + + } UIButtonDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UIButtonDefinedData) == 18700, UIButtonDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UIDragDropDefinedData.hpp b/src/OpenSHC/UI/UIDragDropDefinedData.hpp new file mode 100644 index 0000000..f85500b --- /dev/null +++ b/src/OpenSHC/UI/UIDragDropDefinedData.hpp @@ -0,0 +1,28 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UIDragDropDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + // SIZE: 0x0000006C + typedef struct UIDragDropDefinedData { + + BOOLEnum DAT_MenuView_TriggerInitial; // 0x00000000 length: 4 + byte DAT_UI_DragTicks[100]; // 0x00000004 length: 100 + undefined1 padding_0x68[4]; // 0x00000068 length: 4 + + } UIDragDropDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UIDragDropDefinedData) == 108, UIDragDropDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UnitSelectionDefinedData.hpp b/src/OpenSHC/UI/UnitSelectionDefinedData.hpp new file mode 100644 index 0000000..9235bab --- /dev/null +++ b/src/OpenSHC/UI/UnitSelectionDefinedData.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UnitSelectionDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Map/Navigation/Algorithms/XYPair.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Map::Navigation::Algorithms::XYPair; + +#pragma pack(push, 1) + // SIZE: 0x00000E04 + typedef struct UnitSelectionDefinedData { + + undefined1 padding_0x0[1604]; // 0x00000000 length: 1604 + short DAT_BitMaskHelper[16]; // 0x00000644 length: 32 + short DAT_BitMaskHelper2[16]; // 0x00000664 length: 32 + int DAT_UnitInstructionMoveDelay[200]; // 0x00000684 length: 800 + int DAT_UnitMoveDelay[200]; // 0x000009A4 length: 800 + XYPair field1608_0xcc4[40]; // 0x00000CC4 length: 320 + + } UnitSelectionDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnitSelectionDefinedData) == 3588, UnitSelectionDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UnknownMenuSubStruct.hpp b/src/OpenSHC/UI/UnknownMenuSubStruct.hpp new file mode 100644 index 0000000..d2c6f35 --- /dev/null +++ b/src/OpenSHC/UI/UnknownMenuSubStruct.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UnknownMenuSubStruct.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef struct UnknownMenuSubStruct { + + short field0_0x0; // 0x00000000 length: 2 + short field1_0x2; // 0x00000002 length: 2 + + } UnknownMenuSubStruct; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UnknownMenuSubStruct) == 4, UnknownMenuSubStruct); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/UserHelpDefinedData.hpp b/src/OpenSHC/UI/UserHelpDefinedData.hpp new file mode 100644 index 0000000..97ce11b --- /dev/null +++ b/src/OpenSHC/UI/UserHelpDefinedData.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/UserHelpDefinedData.hpp' +*/ + +#pragma once + +#include "OpenSHC/Text/HelpTextRelatedColorStruct.hpp" +#include "OpenSHC/Text/UnkHelpTextRelatedFontStruct.hpp" + +namespace OpenSHC { +namespace UI { + + using OpenSHC::Text::HelpTextRelatedColorStruct; + using OpenSHC::Text::UnkHelpTextRelatedFontStruct; + +#pragma pack(push, 1) + // SIZE: 0x0007A23C + typedef struct UserHelpDefinedData { + + undefined1 padding_0x0[4]; // 0x00000000 length: 4 + char HLP_HelpSections[500][1000]; // 0x00000004 length: 500000 + UnkHelpTextRelatedFontStruct field5_0x7a124[9]; // 0x0007A124 length: 72 + HelpTextRelatedColorStruct field6_0x7a16c[13]; // 0x0007A16C length: 208 + + } UserHelpDefinedData; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(UserHelpDefinedData) == 500284, UserHelpDefinedData); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/UI/drawCall.hpp b/src/OpenSHC/UI/drawCall.hpp new file mode 100644 index 0000000..5e9e7ad --- /dev/null +++ b/src/OpenSHC/UI/drawCall.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/UI/drawCall.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace UI { + + typedef void(__cdecl drawCall)(int, int, int, int); +} // namespace UI +} // namespace OpenSHC diff --git a/src/OpenSHC/Util/FunctionTypes/NoArgCallback.hpp b/src/OpenSHC/Util/FunctionTypes/NoArgCallback.hpp new file mode 100644 index 0000000..7a2e7d9 --- /dev/null +++ b/src/OpenSHC/Util/FunctionTypes/NoArgCallback.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Util/FunctionTypes/NoArgCallback.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Util { + namespace FunctionTypes { + + typedef void(__cdecl NoArgCallback)(); + } // namespace FunctionTypes +} // namespace Util +} // namespace OpenSHC diff --git a/src/OpenSHC/Util/IntShortUnion.hpp b/src/OpenSHC/Util/IntShortUnion.hpp new file mode 100644 index 0000000..bc1fa82 --- /dev/null +++ b/src/OpenSHC/Util/IntShortUnion.hpp @@ -0,0 +1,23 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Util/IntShortUnion.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace Util { + +#pragma pack(push, 1) + // SIZE: 0x00000004 + typedef union IntShortUnion { + + int int_; // 0x00000000 length: 4 + short short_; // 0x00000000 length: 2 + + } IntShortUnion; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(IntShortUnion) == 4, IntShortUnion); +} // namespace Util +} // namespace OpenSHC diff --git a/src/OpenSHC/Util/Timing/Stopwatch.func.hpp b/src/OpenSHC/Util/Timing/Stopwatch.func.hpp new file mode 100644 index 0000000..90d2b7b --- /dev/null +++ b/src/OpenSHC/Util/Timing/Stopwatch.func.hpp @@ -0,0 +1,20 @@ +/** + path: 'OpenSHC/Util/Timing/Stopwatch.func.hpp' +*/ + +#include "OpenSHC/Util/Timing/Stopwatch.hpp" +namespace OpenSHC { +namespace Util { + namespace Timing { + namespace Stopwatch_Func { + + MACRO_FUNCTION_RESOLVER(void (Stopwatch::*)(), false, Address::SHC_3BB0A8C1_0x0046CED0, &Stopwatch::start) + start; + + MACRO_FUNCTION_RESOLVER(void (Stopwatch::*)(), false, Address::SHC_3BB0A8C1_0x0046CEF0, &Stopwatch::stop) + stop; + + } // namespace Stopwatch_Func + } // namespace Timing +} // namespace Util +} // namespace OpenSHC diff --git a/src/OpenSHC/Util/Timing/Stopwatch.hpp b/src/OpenSHC/Util/Timing/Stopwatch.hpp new file mode 100644 index 0000000..f4b2867 --- /dev/null +++ b/src/OpenSHC/Util/Timing/Stopwatch.hpp @@ -0,0 +1,50 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Util/Timing/Stopwatch.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" + +namespace OpenSHC { +namespace Util { + namespace Timing { + + using OpenSHC::WindowsHelper::Enums::BOOLEnum; + +#pragma pack(push, 1) + + // SIZE: 0x00000010 + class Stopwatch { + public: + dword duration_0x0; // 0x00000000 length: 4 + BOOLEnum running_0x4; // 0x00000004 length: 4 + dword startTime_0x8; // 0x00000008 length: 4 + dword stopTime_0xc; // 0x0000000C length: 4 + + private: + Stopwatch(Stopwatch const&); + void operator=(Stopwatch const&); + + Stopwatch(); + ~Stopwatch(); + + public: + // Constructor + Stopwatch* Cosntructor_Stopwatch(); + + void start(); + + void stop(); + }; + + static_assert_cpp98_obj(sizeof(Stopwatch) == 16, Stopwatch); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(Stopwatch, false, Address::SHC_3BB0A8C1_0x0165271C) pDAT_Stopwatch; + + } // namespace Timing +} // namespace Util +} // namespace OpenSHC diff --git a/src/OpenSHC/Util/WideCharMultiByteState.func.hpp b/src/OpenSHC/Util/WideCharMultiByteState.func.hpp new file mode 100644 index 0000000..0b45c0b --- /dev/null +++ b/src/OpenSHC/Util/WideCharMultiByteState.func.hpp @@ -0,0 +1,37 @@ +/** + path: 'OpenSHC/Util/WideCharMultiByteState.func.hpp' +*/ + +#include "OpenSHC/Util/WideCharMultiByteState.hpp" +#include "winnt.h" +namespace OpenSHC { +namespace Util { + namespace WideCharMultiByteState_Func { + + MACRO_FUNCTION_RESOLVER(int (WideCharMultiByteState::*)(LPSTR, LPCWSTR), false, + Address::SHC_3BB0A8C1_0x0046B080, &WideCharMultiByteState::wideCharToMultiByteComplete) + wideCharToMultiByteComplete; + + MACRO_FUNCTION_RESOLVER(void (WideCharMultiByteState::*)(LPWSTR, LPCSTR), false, + Address::SHC_3BB0A8C1_0x0046B0D0, &WideCharMultiByteState::multiByteToWideCharacter) + multiByteToWideCharacter; + + MACRO_FUNCTION_RESOLVER(int (WideCharMultiByteState::*)(LPSTR, LPWSTR, int), false, + Address::SHC_3BB0A8C1_0x0046B110, &WideCharMultiByteState::wideCharToMultiByteWithSize) + wideCharToMultiByteWithSize; + + MACRO_FUNCTION_RESOLVER(void (WideCharMultiByteState::*)(LPWSTR, LPCSTR, int), false, + Address::SHC_3BB0A8C1_0x0046B140, &WideCharMultiByteState::multiByteToWideCharThunk) + multiByteToWideCharThunk; + + MACRO_FUNCTION_RESOLVER(char (WideCharMultiByteState::*)(WCHAR), false, Address::SHC_3BB0A8C1_0x0046B170, + &WideCharMultiByteState::wideCharToByteUnk) + wideCharToByteUnk; + + MACRO_FUNCTION_RESOLVER(void (WideCharMultiByteState::*)(undefined), false, Address::SHC_3BB0A8C1_0x0046B1B0, + &WideCharMultiByteState::multiByteToWideCharThunk2) + multiByteToWideCharThunk2; + + } // namespace WideCharMultiByteState_Func +} // namespace Util +} // namespace OpenSHC diff --git a/src/OpenSHC/Util/WideCharMultiByteState.hpp b/src/OpenSHC/Util/WideCharMultiByteState.hpp new file mode 100644 index 0000000..e6df0f7 --- /dev/null +++ b/src/OpenSHC/Util/WideCharMultiByteState.hpp @@ -0,0 +1,48 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/Util/WideCharMultiByteState.hpp' +*/ + +#pragma once + +#include "winnt.h" + +namespace OpenSHC { +namespace Util { + +#pragma pack(push, 1) + + // SIZE: 0x00000001 + class WideCharMultiByteState { + public: + undefined1 padding_0x0[1]; // 0x00000000 length: 1 + + private: + WideCharMultiByteState(WideCharMultiByteState const&); + void operator=(WideCharMultiByteState const&); + + WideCharMultiByteState(); + ~WideCharMultiByteState(); + + public: + int wideCharToMultiByteComplete(LPSTR charOut, LPCWSTR wideCharIn); + + void multiByteToWideCharacter(LPWSTR param_1, LPCSTR param_2); + + int wideCharToMultiByteWithSize(LPSTR lpMultiByteStr, LPWSTR lpWideCharStr, int numOfSymbols); + + void multiByteToWideCharThunk(LPWSTR param_1, LPCSTR param_2, int param_3); + + char wideCharToByteUnk(WCHAR wideChar); + + void multiByteToWideCharThunk2(undefined param_1); + }; + + static_assert_cpp98_obj(sizeof(WideCharMultiByteState) == 1, WideCharMultiByteState); + +#pragma pack(pop) + + MACRO_STRUCT_RESOLVER(WideCharMultiByteState, false, Address::SHC_3BB0A8C1_0x00EE1099) pDAT_WideCharMultiByteState; + +} // namespace Util +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp b/src/OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp new file mode 100644 index 0000000..a40d3f1 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp @@ -0,0 +1,15 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + + typedef BOOL BOOLEnum; + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/CodePage.hpp b/src/OpenSHC/WindowsHelper/Enums/CodePage.hpp new file mode 100644 index 0000000..ed32012 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/CodePage.hpp @@ -0,0 +1,21 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/CodePage.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum CodePage { + + CP_WINDOWS_1250 = 1250, // 0x000004E2 + CP_WINDOWS_1252 = 1252 // 0x000004E4 + + } CodePage; + + static_assert_cpp98_obj(sizeof(CodePage) == 4, CodePage); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/CodePageInt.hpp b/src/OpenSHC/WindowsHelper/Enums/CodePageInt.hpp new file mode 100644 index 0000000..cde637f --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/CodePageInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/CodePageInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/CodePage.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int CodePageInt; + + static_assert_cpp98_obj(sizeof(CodePageInt) == 4, CodePageInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethod.hpp b/src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethod.hpp new file mode 100644 index 0000000..ca8dc63 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethod.hpp @@ -0,0 +1,22 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/FilePtrMoveMethod.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum FilePtrMoveMethod { + + FILE_BEGIN = 0, // 0x00000000 + FILE_CURRENT = 1, // 0x00000001 + FILE_END = 2 // 0x00000002 + + } FilePtrMoveMethod; + + static_assert_cpp98_obj(sizeof(FilePtrMoveMethod) == 4, FilePtrMoveMethod); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethodInt.hpp b/src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethodInt.hpp new file mode 100644 index 0000000..7937cdb --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/FilePtrMoveMethodInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/FilePtrMoveMethodInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/FilePtrMoveMethod.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int FilePtrMoveMethodInt; + + static_assert_cpp98_obj(sizeof(FilePtrMoveMethodInt) == 4, FilePtrMoveMethodInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessage.hpp b/src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessage.hpp new file mode 100644 index 0000000..e0fb508 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessage.hpp @@ -0,0 +1,273 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/GeneralWindowsMessage.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum GeneralWindowsMessage { + + WM_NULL = 0, // 0x00000000 + WM_CREATE = 1, // 0x00000001 + WM_DESTROY = 2, // 0x00000002 + WM_MOVE = 3, // 0x00000003 + WM_SIZE = 5, // 0x00000005 + WM_ACTIVATE = 6, // 0x00000006 + WM_SETFOCUS = 7, // 0x00000007 + WM_KILLFOCUS = 8, // 0x00000008 + WM_ENABLE = 10, // 0x0000000A + WM_SETREDRAW = 11, // 0x0000000B + WM_SETTEXT = 12, // 0x0000000C + WM_GETTEXT = 13, // 0x0000000D + WM_GETTEXTLENGTH = 14, // 0x0000000E + WM_PAINT = 15, // 0x0000000F + WM_CLOSE = 16, // 0x00000010 + WM_QUERYENDSESSION = 17, // 0x00000011 + WM_QUIT = 18, // 0x00000012 + WM_QUERYOPEN = 19, // 0x00000013 + WM_ERASEBKGND = 20, // 0x00000014 + WM_SYSCOLORCHANGE = 21, // 0x00000015 + WM_ENDSESSION = 22, // 0x00000016 + WM_SHOWWINDOW = 24, // 0x00000018 + WM_CTLCOLOR = 25, // 0x00000019 + WM_WININICHANGE = 26, // 0x0000001A + WM_DEVMODECHANGE = 27, // 0x0000001B + WM_ACTIVATEAPP = 28, // 0x0000001C + WM_FONTCHANGE = 29, // 0x0000001D + WM_TIMECHANGE = 30, // 0x0000001E + WM_CANCELMODE = 31, // 0x0000001F + WM_SETCURSOR = 32, // 0x00000020 + WM_MOUSEACTIVATE = 33, // 0x00000021 + WM_CHILDACTIVATE = 34, // 0x00000022 + WM_QUEUESYNC = 35, // 0x00000023 + WM_GETMINMAXINFO = 36, // 0x00000024 + WM_PAINTICON = 38, // 0x00000026 + WM_ICONERASEBKGND = 39, // 0x00000027 + WM_NEXTDLGCTL = 40, // 0x00000028 + WM_SPOOLERSTATUS = 42, // 0x0000002A + WM_DRAWITEM = 43, // 0x0000002B + WM_MEASUREITEM = 44, // 0x0000002C + WM_DELETEITEM = 45, // 0x0000002D + WM_VKEYTOITEM = 46, // 0x0000002E + WM_CHARTOITEM = 47, // 0x0000002F + WM_SETFONT = 48, // 0x00000030 + WM_GETFONT = 49, // 0x00000031 + WM_SETHOTKEY = 50, // 0x00000032 + WM_GETHOTKEY = 51, // 0x00000033 + WM_QUERYDRAGICON = 55, // 0x00000037 + WM_COMPAREITEM = 57, // 0x00000039 + WM_GETOBJECT = 61, // 0x0000003D + WM_COMPACTING = 65, // 0x00000041 + WM_COMMNOTIFY = 68, // 0x00000044 + WM_WINDOWPOSCHANGING = 70, // 0x00000046 + WM_WINDOWPOSCHANGED = 71, // 0x00000047 + WM_POWER = 72, // 0x00000048 + WM_COPYGLOBALDATA = 73, // 0x00000049 + WM_COPYDATA = 74, // 0x0000004A + WM_CANCELJOURNAL = 75, // 0x0000004B + WM_NOTIFY = 78, // 0x0000004E + WM_INPUTLANGCHANGEREQUEST = 80, // 0x00000050 + WM_INPUTLANGCHANGE = 81, // 0x00000051 + WM_TCARD = 82, // 0x00000052 + WM_HELP = 83, // 0x00000053 + WM_USERCHANGED = 84, // 0x00000054 + WM_NOTIFYFORMAT = 85, // 0x00000055 + WM_CONTEXTMENU = 123, // 0x0000007B + WM_STYLECHANGING = 124, // 0x0000007C + WM_STYLECHANGED = 125, // 0x0000007D + WM_DISPLAYCHANGE = 126, // 0x0000007E + WM_GETICON = 127, // 0x0000007F + WM_SETICON = 128, // 0x00000080 + WM_NCCREATE = 129, // 0x00000081 + WM_NCDESTROY = 130, // 0x00000082 + WM_NCCALCSIZE = 131, // 0x00000083 + WM_NCHITTEST = 132, // 0x00000084 + WM_NCPAINT = 133, // 0x00000085 + WM_NCACTIVATE = 134, // 0x00000086 + WM_GETDLGCODE = 135, // 0x00000087 + WM_SYNCPAINT = 136, // 0x00000088 + WM_NCMOUSEMOVE = 160, // 0x000000A0 + WM_NCLBUTTONDOWN = 161, // 0x000000A1 + WM_NCLBUTTONUP = 162, // 0x000000A2 + WM_NCLBUTTONDBLCLK = 163, // 0x000000A3 + WM_NCRBUTTONDOWN = 164, // 0x000000A4 + WM_NCRBUTTONUP = 165, // 0x000000A5 + WM_NCRBUTTONDBLCLK = 166, // 0x000000A6 + WM_NCMBUTTONDOWN = 167, // 0x000000A7 + WM_NCMBUTTONUP = 168, // 0x000000A8 + WM_NCMBUTTONDBLCLK = 169, // 0x000000A9 + WM_NCXBUTTONDOWN = 171, // 0x000000AB + WM_NCXBUTTONUP = 172, // 0x000000AC + WM_NCXBUTTONDBLCLK = 173, // 0x000000AD + WM_INPUT = 255, // 0x000000FF + WM_KEYDOWN = 256, // 0x00000100 + WM_KEYUP = 257, // 0x00000101 + WM_CHAR = 258, // 0x00000102 + WM_DEADCHAR = 259, // 0x00000103 + WM_SYSKEYDOWN = 260, // 0x00000104 + WM_SYSKEYUP = 261, // 0x00000105 + WM_SYSCHAR = 262, // 0x00000106 + WM_SYSDEADCHAR = 263, // 0x00000107 + WM_UNICHAR = 265, // 0x00000109 + WM_CONVERTREQUEST = 266, // 0x0000010A + WM_CONVERTRESULT = 267, // 0x0000010B + WM_INTERIM = 268, // 0x0000010C + WM_IME_STARTCOMPOSITION = 269, // 0x0000010D + WM_IME_ENDCOMPOSITION = 270, // 0x0000010E + WM_IME_COMPOSITION = 271, // 0x0000010F + WM_INITDIALOG = 272, // 0x00000110 + WM_COMMAND = 273, // 0x00000111 + WM_SYSCOMMAND = 274, // 0x00000112 + WM_TIMER = 275, // 0x00000113 + WM_HSCROLL = 276, // 0x00000114 + WM_VSCROLL = 277, // 0x00000115 + WM_INITMENU = 278, // 0x00000116 + WM_INITMENUPOPUP = 279, // 0x00000117 + WM_SYSTIMER = 280, // 0x00000118 + WM_MENUSELECT = 287, // 0x0000011F + WM_MENUCHAR = 288, // 0x00000120 + WM_ENTERIDLE = 289, // 0x00000121 + WM_MENURBUTTONUP = 290, // 0x00000122 + WM_MENUDRAG = 291, // 0x00000123 + WM_MENUGETOBJECT = 292, // 0x00000124 + WM_UNINITMENUPOPUP = 293, // 0x00000125 + WM_MENUCOMMAND = 294, // 0x00000126 + WM_CHANGEUISTATE = 295, // 0x00000127 + WM_UPDATEUISTATE = 296, // 0x00000128 + WM_QUERYUISTATE = 297, // 0x00000129 + WM_CTLCOLORMSGBOX = 306, // 0x00000132 + WM_CTLCOLOREDIT = 307, // 0x00000133 + WM_CTLCOLORLISTBOX = 308, // 0x00000134 + WM_CTLCOLORBTN = 309, // 0x00000135 + WM_CTLCOLORDLG = 310, // 0x00000136 + WM_CTLCOLORSCROLLBAR = 311, // 0x00000137 + WM_CTLCOLORSTATIC = 312, // 0x00000138 + WM_MOUSEMOVE = 512, // 0x00000200 + WM_LBUTTONDOWN = 513, // 0x00000201 + WM_LBUTTONUP = 514, // 0x00000202 + WM_LBUTTONDBLCLK = 515, // 0x00000203 + WM_RBUTTONDOWN = 516, // 0x00000204 + WM_RBUTTONUP = 517, // 0x00000205 + WM_RBUTTONDBLCLK = 518, // 0x00000206 + WM_MBUTTONDOWN = 519, // 0x00000207 + WM_MBUTTONUP = 520, // 0x00000208 + WM_MBUTTONDBLCLK = 521, // 0x00000209 + WM_MOUSEWHEEL = 522, // 0x0000020A + WM_XBUTTONDOWN = 523, // 0x0000020B + WM_XBUTTONUP = 524, // 0x0000020C + WM_XBUTTONDBLCLK = 525, // 0x0000020D + WM_MOUSEHWHEEL = 526, // 0x0000020E + WM_PARENTNOTIFY = 528, // 0x00000210 + WM_ENTERMENULOOP = 529, // 0x00000211 + WM_EXITMENULOOP = 530, // 0x00000212 + WM_NEXTMENU = 531, // 0x00000213 + WM_SIZING = 532, // 0x00000214 + WM_CAPTURECHANGED = 533, // 0x00000215 + WM_MOVING = 534, // 0x00000216 + WM_POWERBROADCAST = 536, // 0x00000218 + WM_DEVICECHANGE = 537, // 0x00000219 + WM_MDICREATE = 544, // 0x00000220 + WM_MDIDESTROY = 545, // 0x00000221 + WM_MDIACTIVATE = 546, // 0x00000222 + WM_MDIRESTORE = 547, // 0x00000223 + WM_MDINEXT = 548, // 0x00000224 + WM_MDIMAXIMIZE = 549, // 0x00000225 + WM_MDITILE = 550, // 0x00000226 + WM_MDICASCADE = 551, // 0x00000227 + WM_MDIICONARRANGE = 552, // 0x00000228 + WM_MDIGETACTIVE = 553, // 0x00000229 + WM_MDISETMENU = 560, // 0x00000230 + WM_ENTERSIZEMOVE = 561, // 0x00000231 + WM_EXITSIZEMOVE = 562, // 0x00000232 + WM_DROPFILES = 563, // 0x00000233 + WM_MDIREFRESHMENU = 564, // 0x00000234 + WM_IME_REPORT = 640, // 0x00000280 + WM_IME_SETCONTEXT = 641, // 0x00000281 + WM_IME_NOTIFY = 642, // 0x00000282 + WM_IME_CONTROL = 643, // 0x00000283 + WM_IME_COMPOSITIONFULL = 644, // 0x00000284 + WM_IME_SELECT = 645, // 0x00000285 + WM_IME_CHAR = 646, // 0x00000286 + WM_IME_REQUEST = 648, // 0x00000288 + WM_IME_KEYDOWN = 656, // 0x00000290 + WM_IME_KEYUP = 657, // 0x00000291 + WM_NCMOUSEHOVER = 672, // 0x000002A0 + WM_MOUSEHOVER = 673, // 0x000002A1 + WM_NCMOUSELEAVE = 674, // 0x000002A2 + WM_MOUSELEAVE = 675, // 0x000002A3 + WM_CUT = 768, // 0x00000300 + WM_COPY = 769, // 0x00000301 + WM_PASTE = 770, // 0x00000302 + WM_CLEAR = 771, // 0x00000303 + WM_UNDO = 772, // 0x00000304 + WM_RENDERFORMAT = 773, // 0x00000305 + WM_RENDERALLFORMATS = 774, // 0x00000306 + WM_DESTROYCLIPBOARD = 775, // 0x00000307 + WM_DRAWCLIPBOARD = 776, // 0x00000308 + WM_PAINTCLIPBOARD = 777, // 0x00000309 + WM_VSCROLLCLIPBOARD = 778, // 0x0000030A + WM_SIZECLIPBOARD = 779, // 0x0000030B + WM_ASKCBFORMATNAME = 780, // 0x0000030C + WM_CHANGECBCHAIN = 781, // 0x0000030D + WM_HSCROLLCLIPBOARD = 782, // 0x0000030E + WM_QUERYNEWPALETTE = 783, // 0x0000030F + WM_PALETTEISCHANGING = 784, // 0x00000310 + WM_PALETTECHANGED = 785, // 0x00000311 + WM_HOTKEY = 786, // 0x00000312 + WM_PRINT = 791, // 0x00000317 + WM_PRINTCLIENT = 792, // 0x00000318 + WM_APPCOMMAND = 793, // 0x00000319 + WM_HANDHELDFIRST = 856, // 0x00000358 + WM_HANDHELDLAST = 863, // 0x0000035F + WM_AFXFIRST = 864, // 0x00000360 + WM_AFXLAST = 895, // 0x0000037F + WM_PENWINFIRST = 896, // 0x00000380 + WM_RCRESULT = 897, // 0x00000381 + WM_HOOKRCRESULT = 898, // 0x00000382 + WM_GLOBALRCCHANGE = 899, // 0x00000383 + WM_PENMISCINFO = 899, // 0x00000383 + WM_SKB = 900, // 0x00000384 + WM_HEDITCTL = 901, // 0x00000385 + WM_PENCTL = 901, // 0x00000385 + WM_PENMISC = 902, // 0x00000386 + WM_CTLINIT = 903, // 0x00000387 + WM_PENEVENT = 904, // 0x00000388 + WM_PENWINLAST = 911, // 0x0000038F + WM_PSD_PAGESETUPDLG = 1024, // 0x00000400 + WM_USER = 1024, // 0x00000400 + WM_CHOOSEFONT_GETLOGFONT = 1025, // 0x00000401 + WM_PSD_FULLPAGERECT = 1025, // 0x00000401 + WM_PSD_MINMARGINRECT = 1026, // 0x00000402 + WM_PSD_MARGINRECT = 1027, // 0x00000403 + WM_PSD_GREEKTEXTRECT = 1028, // 0x00000404 + WM_PSD_ENVSTAMPRECT = 1029, // 0x00000405 + WM_PSD_YAFULLPAGERECT = 1030, // 0x00000406 + WM_CAP_UNICODE_START = 1124, // 0x00000464 + WM_CHOOSEFONT_SETLOGFONT = 1125, // 0x00000465 + WM_CAP_SET_CALLBACK_ERRORW = 1126, // 0x00000466 + WM_CHOOSEFONT_SETFLAGS = 1126, // 0x00000466 + WM_CAP_SET_CALLBACK_STATUSW = 1127, // 0x00000467 + WM_CAP_DRIVER_GET_NAMEW = 1136, // 0x00000470 + WM_CAP_DRIVER_GET_VERSIONW = 1137, // 0x00000471 + WM_CAP_FILE_SET_CAPTURE_FILEW = 1144, // 0x00000478 + WM_CAP_FILE_GET_CAPTURE_FILEW = 1145, // 0x00000479 + WM_CAP_FILE_SAVEASW = 1147, // 0x0000047B + WM_CAP_FILE_SAVEDIBW = 1149, // 0x0000047D + WM_CAP_SET_MCI_DEVICEW = 1190, // 0x000004A6 + WM_CAP_GET_MCI_DEVICEW = 1191, // 0x000004A7 + WM_CAP_PAL_OPENW = 1204, // 0x000004B4 + WM_CAP_PAL_SAVEW = 1205, // 0x000004B5 + WM_CPL_LAUNCH = 2024, // 0x000007E8 + WM_CPL_LAUNCHED = 2025, // 0x000007E9 + WM_APP = 32768, // 0x00008000 + WM_RASDIALEVENT = 52429 // 0x0000CCCD + + } GeneralWindowsMessage; + + static_assert_cpp98_obj(sizeof(GeneralWindowsMessage) == 4, GeneralWindowsMessage); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessageInt.hpp b/src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessageInt.hpp new file mode 100644 index 0000000..fd3bd76 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/GeneralWindowsMessageInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/GeneralWindowsMessageInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/GeneralWindowsMessage.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int GeneralWindowsMessageInt; + + static_assert_cpp98_obj(sizeof(GeneralWindowsMessageInt) == 4, GeneralWindowsMessageInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlag.hpp b/src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlag.hpp new file mode 100644 index 0000000..535325e --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlag.hpp @@ -0,0 +1,24 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/GlobalAllocFlag.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum GlobalAllocFlag { + + GAF_GMEM_FIXED = 0, // 0x00000000 + GAF_GMEM_MOVEABLE = 2, // 0x00000002 + GAF_GMEM_ZEROINIT = 64, // 0x00000040 + GAF_GPTR = 64, // 0x00000040 + GAF_GHND = 66 // 0x00000042 + + } GlobalAllocFlag; + + static_assert_cpp98_obj(sizeof(GlobalAllocFlag) == 4, GlobalAllocFlag); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlagInt.hpp b/src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlagInt.hpp new file mode 100644 index 0000000..be125f0 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/GlobalAllocFlagInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/GlobalAllocFlagInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/GlobalAllocFlag.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int GlobalAllocFlagInt; + + static_assert_cpp98_obj(sizeof(GlobalAllocFlagInt) == 4, GlobalAllocFlagInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/LoadCursorDefault.hpp b/src/OpenSHC/WindowsHelper/Enums/LoadCursorDefault.hpp new file mode 100644 index 0000000..16bc46c --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/LoadCursorDefault.hpp @@ -0,0 +1,35 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/LoadCursorDefault.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum LoadCursorDefault { + + IDC_ARROW = 32512, // 0x00007F00 + IDC_IBEAM = 32513, // 0x00007F01 + IDC_WAIT = 32514, // 0x00007F02 + IDC_CROSS = 32515, // 0x00007F03 + IDC_UPARROW = 32516, // 0x00007F04 + IDC_SIZE = 32640, // 0x00007F80 + IDC_ICON = 32641, // 0x00007F81 + IDC_SIZENWSE = 32642, // 0x00007F82 + IDC_SIZENESW = 32643, // 0x00007F83 + IDC_SIZEWE = 32644, // 0x00007F84 + IDC_SIZENS = 32645, // 0x00007F85 + IDC_SIZEALL = 32646, // 0x00007F86 + IDC_NO = 32648, // 0x00007F88 + IDC_HAND = 32649, // 0x00007F89 + IDC_APPSTARTING = 32650, // 0x00007F8A + IDC_HELP = 32651 // 0x00007F8B + + } LoadCursorDefault; + + static_assert_cpp98_obj(sizeof(LoadCursorDefault) == 4, LoadCursorDefault); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/LoadCursorDefaultInt.hpp b/src/OpenSHC/WindowsHelper/Enums/LoadCursorDefaultInt.hpp new file mode 100644 index 0000000..ae3cdf8 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/LoadCursorDefaultInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/LoadCursorDefaultInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/LoadCursorDefault.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int LoadCursorDefaultInt; + + static_assert_cpp98_obj(sizeof(LoadCursorDefaultInt) == 4, LoadCursorDefaultInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/OpenFlag.hpp b/src/OpenSHC/WindowsHelper/Enums/OpenFlag.hpp new file mode 100644 index 0000000..8fc8e4b --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/OpenFlag.hpp @@ -0,0 +1,38 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/OpenFlag.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum OpenFlag { + + _O_RDONLY = 0, // 0x00000000 + _O_WRONLY = 1, // 0x00000001 + _O_RDWR = 2, // 0x00000002 + _O_APPEND = 8, // 0x00000008 + _O_RANDOM = 16, // 0x00000010 + _O_SEQUENTIAL = 32, // 0x00000020 + _O_TEMPORARY = 64, // 0x00000040 + _O_NOINHERIT = 128, // 0x00000080 + _O_CREAT = 256, // 0x00000100 + _O_TRUNC = 512, // 0x00000200 + _O_EXCL = 1024, // 0x00000400 + _O_SHORT_LIVED = 4096, // 0x00001000 + _O_OBTAIN_DIR = 8192, // 0x00002000 + _O_TEXT = 16384, // 0x00004000 + _O_BINARY = 32768, // 0x00008000 + _O_RAW = 32768, // 0x00008000 + _O_WTEXT = 65536, // 0x00010000 + _O_U16TEXT = 131072, // 0x00020000 + _O_U8TEXT = 262144 // 0x00040000 + + } OpenFlag; + + static_assert_cpp98_obj(sizeof(OpenFlag) == 4, OpenFlag); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/OpenFlagInt.hpp b/src/OpenSHC/WindowsHelper/Enums/OpenFlagInt.hpp new file mode 100644 index 0000000..7b382d8 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/OpenFlagInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/OpenFlagInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/OpenFlag.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int OpenFlagInt; + + static_assert_cpp98_obj(sizeof(OpenFlagInt) == 4, OpenFlagInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/RawWindowsMessage.hpp b/src/OpenSHC/WindowsHelper/Enums/RawWindowsMessage.hpp new file mode 100644 index 0000000..dd44adf --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/RawWindowsMessage.hpp @@ -0,0 +1,1018 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/RawWindowsMessage.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum RawWindowsMessage { + + RWM_WM_NULL = 0, // 0x00000000 + RWM_WM_CREATE = 1, // 0x00000001 + RWM_WM_DESTROY = 2, // 0x00000002 + RWM_WM_MOVE = 3, // 0x00000003 + RWM_WM_SIZE = 5, // 0x00000005 + RWM_WM_ACTIVATE = 6, // 0x00000006 + RWM_WM_SETFOCUS = 7, // 0x00000007 + RWM_WM_KILLFOCUS = 8, // 0x00000008 + RWM_WM_ENABLE = 10, // 0x0000000A + RWM_WM_SETREDRAW = 11, // 0x0000000B + RWM_WM_SETTEXT = 12, // 0x0000000C + RWM_WM_GETTEXT = 13, // 0x0000000D + RWM_WM_GETTEXTLENGTH = 14, // 0x0000000E + RWM_WM_PAINT = 15, // 0x0000000F + RWM_WM_CLOSE = 16, // 0x00000010 + RWM_WM_QUERYENDSESSION = 17, // 0x00000011 + RWM_WM_QUIT = 18, // 0x00000012 + RWM_WM_QUERYOPEN = 19, // 0x00000013 + RWM_WM_ERASEBKGND = 20, // 0x00000014 + RWM_WM_SYSCOLORCHANGE = 21, // 0x00000015 + RWM_WM_ENDSESSION = 22, // 0x00000016 + RWM_WM_SHOWWINDOW = 24, // 0x00000018 + RWM_WM_CTLCOLOR = 25, // 0x00000019 + RWM_WM_WININICHANGE = 26, // 0x0000001A + RWM_WM_DEVMODECHANGE = 27, // 0x0000001B + RWM_WM_ACTIVATEAPP = 28, // 0x0000001C + RWM_WM_FONTCHANGE = 29, // 0x0000001D + RWM_WM_TIMECHANGE = 30, // 0x0000001E + RWM_WM_CANCELMODE = 31, // 0x0000001F + RWM_WM_SETCURSOR = 32, // 0x00000020 + RWM_WM_MOUSEACTIVATE = 33, // 0x00000021 + RWM_WM_CHILDACTIVATE = 34, // 0x00000022 + RWM_WM_QUEUESYNC = 35, // 0x00000023 + RWM_WM_GETMINMAXINFO = 36, // 0x00000024 + RWM_WM_PAINTICON = 38, // 0x00000026 + RWM_WM_ICONERASEBKGND = 39, // 0x00000027 + RWM_WM_NEXTDLGCTL = 40, // 0x00000028 + RWM_WM_SPOOLERSTATUS = 42, // 0x0000002A + RWM_WM_DRAWITEM = 43, // 0x0000002B + RWM_WM_MEASUREITEM = 44, // 0x0000002C + RWM_WM_DELETEITEM = 45, // 0x0000002D + RWM_WM_VKEYTOITEM = 46, // 0x0000002E + RWM_WM_CHARTOITEM = 47, // 0x0000002F + RWM_WM_SETFONT = 48, // 0x00000030 + RWM_WM_GETFONT = 49, // 0x00000031 + RWM_WM_SETHOTKEY = 50, // 0x00000032 + RWM_WM_GETHOTKEY = 51, // 0x00000033 + RWM_WM_QUERYDRAGICON = 55, // 0x00000037 + RWM_WM_COMPAREITEM = 57, // 0x00000039 + RWM_WM_GETOBJECT = 61, // 0x0000003D + RWM_WM_COMPACTING = 65, // 0x00000041 + RWM_WM_COMMNOTIFY = 68, // 0x00000044 + RWM_WM_WINDOWPOSCHANGING = 70, // 0x00000046 + RWM_WM_WINDOWPOSCHANGED = 71, // 0x00000047 + RWM_WM_POWER = 72, // 0x00000048 + RWM_WM_COPYGLOBALDATA = 73, // 0x00000049 + RWM_WM_COPYDATA = 74, // 0x0000004A + RWM_WM_CANCELJOURNAL = 75, // 0x0000004B + RWM_WM_NOTIFY = 78, // 0x0000004E + RWM_WM_INPUTLANGCHANGEREQUEST = 80, // 0x00000050 + RWM_WM_INPUTLANGCHANGE = 81, // 0x00000051 + RWM_WM_TCARD = 82, // 0x00000052 + RWM_WM_HELP = 83, // 0x00000053 + RWM_WM_USERCHANGED = 84, // 0x00000054 + RWM_WM_NOTIFYFORMAT = 85, // 0x00000055 + RWM_WM_CONTEXTMENU = 123, // 0x0000007B + RWM_WM_STYLECHANGING = 124, // 0x0000007C + RWM_WM_STYLECHANGED = 125, // 0x0000007D + RWM_WM_DISPLAYCHANGE = 126, // 0x0000007E + RWM_WM_GETICON = 127, // 0x0000007F + RWM_WM_SETICON = 128, // 0x00000080 + RWM_WM_NCCREATE = 129, // 0x00000081 + RWM_WM_NCDESTROY = 130, // 0x00000082 + RWM_WM_NCCALCSIZE = 131, // 0x00000083 + RWM_WM_NCHITTEST = 132, // 0x00000084 + RWM_WM_NCPAINT = 133, // 0x00000085 + RWM_WM_NCACTIVATE = 134, // 0x00000086 + RWM_WM_GETDLGCODE = 135, // 0x00000087 + RWM_WM_SYNCPAINT = 136, // 0x00000088 + RWM_WM_NCMOUSEMOVE = 160, // 0x000000A0 + RWM_WM_NCLBUTTONDOWN = 161, // 0x000000A1 + RWM_WM_NCLBUTTONUP = 162, // 0x000000A2 + RWM_WM_NCLBUTTONDBLCLK = 163, // 0x000000A3 + RWM_WM_NCRBUTTONDOWN = 164, // 0x000000A4 + RWM_WM_NCRBUTTONUP = 165, // 0x000000A5 + RWM_WM_NCRBUTTONDBLCLK = 166, // 0x000000A6 + RWM_WM_NCMBUTTONDOWN = 167, // 0x000000A7 + RWM_WM_NCMBUTTONUP = 168, // 0x000000A8 + RWM_WM_NCMBUTTONDBLCLK = 169, // 0x000000A9 + RWM_WM_NCXBUTTONDOWN = 171, // 0x000000AB + RWM_WM_NCXBUTTONUP = 172, // 0x000000AC + RWM_WM_NCXBUTTONDBLCLK = 173, // 0x000000AD + RWM_EM_GETSEL = 176, // 0x000000B0 + RWM_EM_SETSEL = 177, // 0x000000B1 + RWM_EM_GETRECT = 178, // 0x000000B2 + RWM_EM_SETRECT = 179, // 0x000000B3 + RWM_EM_SETRECTNP = 180, // 0x000000B4 + RWM_EM_SCROLL = 181, // 0x000000B5 + RWM_EM_LINESCROLL = 182, // 0x000000B6 + RWM_EM_SCROLLCARET = 183, // 0x000000B7 + RWM_EM_GETMODIFY = 184, // 0x000000B8 + RWM_EM_SETMODIFY = 185, // 0x000000B9 + RWM_EM_GETLINECOUNT = 186, // 0x000000BA + RWM_EM_LINEINDEX = 187, // 0x000000BB + RWM_EM_SETHANDLE = 188, // 0x000000BC + RWM_EM_GETHANDLE = 189, // 0x000000BD + RWM_EM_GETTHUMB = 190, // 0x000000BE + RWM_EM_LINELENGTH = 193, // 0x000000C1 + RWM_EM_REPLACESEL = 194, // 0x000000C2 + RWM_EM_SETFONT = 195, // 0x000000C3 + RWM_EM_GETLINE = 196, // 0x000000C4 + RWM_EM_LIMITTEXT = 197, // 0x000000C5 + RWM_EM_SETLIMITTEXT = 197, // 0x000000C5 + RWM_EM_CANUNDO = 198, // 0x000000C6 + RWM_EM_UNDO = 199, // 0x000000C7 + RWM_EM_FMTLINES = 200, // 0x000000C8 + RWM_EM_LINEFROMCHAR = 201, // 0x000000C9 + RWM_EM_SETWORDBREAK = 202, // 0x000000CA + RWM_EM_SETTABSTOPS = 203, // 0x000000CB + RWM_EM_SETPASSWORDCHAR = 204, // 0x000000CC + RWM_EM_EMPTYUNDOBUFFER = 205, // 0x000000CD + RWM_EM_GETFIRSTVISIBLELINE = 206, // 0x000000CE + RWM_EM_SETREADONLY = 207, // 0x000000CF + RWM_EM_SETWORDBREAKPROC = 208, // 0x000000D0 + RWM_EM_GETWORDBREAKPROC = 209, // 0x000000D1 + RWM_EM_GETPASSWORDCHAR = 210, // 0x000000D2 + RWM_EM_SETMARGINS = 211, // 0x000000D3 + RWM_EM_GETMARGINS = 212, // 0x000000D4 + RWM_EM_GETLIMITTEXT = 213, // 0x000000D5 + RWM_EM_POSFROMCHAR = 214, // 0x000000D6 + RWM_EM_CHARFROMPOS = 215, // 0x000000D7 + RWM_EM_SETIMESTATUS = 216, // 0x000000D8 + RWM_EM_GETIMESTATUS = 217, // 0x000000D9 + RWM_SBM_SETPOS = 224, // 0x000000E0 + RWM_SBM_GETPOS = 225, // 0x000000E1 + RWM_SBM_SETRANGE = 226, // 0x000000E2 + RWM_SBM_GETRANGE = 227, // 0x000000E3 + RWM_SBM_ENABLE_ARROWS = 228, // 0x000000E4 + RWM_SBM_SETRANGEREDRAW = 230, // 0x000000E6 + RWM_SBM_SETSCROLLINFO = 233, // 0x000000E9 + RWM_SBM_GETSCROLLINFO = 234, // 0x000000EA + RWM_SBM_GETSCROLLBARINFO = 235, // 0x000000EB + RWM_BM_GETCHECK = 240, // 0x000000F0 + RWM_BM_SETCHECK = 241, // 0x000000F1 + RWM_BM_GETSTATE = 242, // 0x000000F2 + RWM_BM_SETSTATE = 243, // 0x000000F3 + RWM_BM_SETSTYLE = 244, // 0x000000F4 + RWM_BM_CLICK = 245, // 0x000000F5 + RWM_BM_GETIMAGE = 246, // 0x000000F6 + RWM_BM_SETIMAGE = 247, // 0x000000F7 + RWM_BM_SETDONTCLICK = 248, // 0x000000F8 + RWM_WM_INPUT = 255, // 0x000000FF + RWM_WM_KEYDOWN = 256, // 0x00000100 + RWM_WM_KEYFIRST = 256, // 0x00000100 + RWM_WM_KEYUP = 257, // 0x00000101 + RWM_WM_CHAR = 258, // 0x00000102 + RWM_WM_DEADCHAR = 259, // 0x00000103 + RWM_WM_SYSKEYDOWN = 260, // 0x00000104 + RWM_WM_SYSKEYUP = 261, // 0x00000105 + RWM_WM_SYSCHAR = 262, // 0x00000106 + RWM_WM_SYSDEADCHAR = 263, // 0x00000107 + RWM_WM_KEYLAST = 265, // 0x00000109 + RWM_WM_UNICHAR = 265, // 0x00000109 + RWM_WM_WNT_CONVERTREQUESTEX = 265, // 0x00000109 + RWM_WM_CONVERTREQUEST = 266, // 0x0000010A + RWM_WM_CONVERTRESULT = 267, // 0x0000010B + RWM_WM_INTERIM = 268, // 0x0000010C + RWM_WM_IME_STARTCOMPOSITION = 269, // 0x0000010D + RWM_WM_IME_ENDCOMPOSITION = 270, // 0x0000010E + RWM_WM_IME_COMPOSITION = 271, // 0x0000010F + RWM_WM_IME_KEYLAST = 271, // 0x0000010F + RWM_WM_INITDIALOG = 272, // 0x00000110 + RWM_WM_COMMAND = 273, // 0x00000111 + RWM_WM_SYSCOMMAND = 274, // 0x00000112 + RWM_WM_TIMER = 275, // 0x00000113 + RWM_WM_HSCROLL = 276, // 0x00000114 + RWM_WM_VSCROLL = 277, // 0x00000115 + RWM_WM_INITMENU = 278, // 0x00000116 + RWM_WM_INITMENUPOPUP = 279, // 0x00000117 + RWM_WM_SYSTIMER = 280, // 0x00000118 + RWM_WM_MENUSELECT = 287, // 0x0000011F + RWM_WM_MENUCHAR = 288, // 0x00000120 + RWM_WM_ENTERIDLE = 289, // 0x00000121 + RWM_WM_MENURBUTTONUP = 290, // 0x00000122 + RWM_WM_MENUDRAG = 291, // 0x00000123 + RWM_WM_MENUGETOBJECT = 292, // 0x00000124 + RWM_WM_UNINITMENUPOPUP = 293, // 0x00000125 + RWM_WM_MENUCOMMAND = 294, // 0x00000126 + RWM_WM_CHANGEUISTATE = 295, // 0x00000127 + RWM_WM_UPDATEUISTATE = 296, // 0x00000128 + RWM_WM_QUERYUISTATE = 297, // 0x00000129 + RWM_WM_CTLCOLORMSGBOX = 306, // 0x00000132 + RWM_WM_CTLCOLOREDIT = 307, // 0x00000133 + RWM_WM_CTLCOLORLISTBOX = 308, // 0x00000134 + RWM_WM_CTLCOLORBTN = 309, // 0x00000135 + RWM_WM_CTLCOLORDLG = 310, // 0x00000136 + RWM_WM_CTLCOLORSCROLLBAR = 311, // 0x00000137 + RWM_WM_CTLCOLORSTATIC = 312, // 0x00000138 + RWM_WM_MOUSEFIRST = 512, // 0x00000200 + RWM_WM_MOUSEMOVE = 512, // 0x00000200 + RWM_WM_LBUTTONDOWN = 513, // 0x00000201 + RWM_WM_LBUTTONUP = 514, // 0x00000202 + RWM_WM_LBUTTONDBLCLK = 515, // 0x00000203 + RWM_WM_RBUTTONDOWN = 516, // 0x00000204 + RWM_WM_RBUTTONUP = 517, // 0x00000205 + RWM_WM_RBUTTONDBLCLK = 518, // 0x00000206 + RWM_WM_MBUTTONDOWN = 519, // 0x00000207 + RWM_WM_MBUTTONUP = 520, // 0x00000208 + RWM_WM_MBUTTONDBLCLK = 521, // 0x00000209 + RWM_WM_MOUSELAST = 521, // 0x00000209 + RWM_WM_MOUSEWHEEL = 522, // 0x0000020A + RWM_WM_XBUTTONDOWN = 523, // 0x0000020B + RWM_WM_XBUTTONUP = 524, // 0x0000020C + RWM_WM_XBUTTONDBLCLK = 525, // 0x0000020D + RWM_WM_MOUSEHWHEEL = 526, // 0x0000020E + RWM_WM_PARENTNOTIFY = 528, // 0x00000210 + RWM_WM_ENTERMENULOOP = 529, // 0x00000211 + RWM_WM_EXITMENULOOP = 530, // 0x00000212 + RWM_WM_NEXTMENU = 531, // 0x00000213 + RWM_WM_SIZING = 532, // 0x00000214 + RWM_WM_CAPTURECHANGED = 533, // 0x00000215 + RWM_WM_MOVING = 534, // 0x00000216 + RWM_WM_POWERBROADCAST = 536, // 0x00000218 + RWM_WM_DEVICECHANGE = 537, // 0x00000219 + RWM_WM_MDICREATE = 544, // 0x00000220 + RWM_WM_MDIDESTROY = 545, // 0x00000221 + RWM_WM_MDIACTIVATE = 546, // 0x00000222 + RWM_WM_MDIRESTORE = 547, // 0x00000223 + RWM_WM_MDINEXT = 548, // 0x00000224 + RWM_WM_MDIMAXIMIZE = 549, // 0x00000225 + RWM_WM_MDITILE = 550, // 0x00000226 + RWM_WM_MDICASCADE = 551, // 0x00000227 + RWM_WM_MDIICONARRANGE = 552, // 0x00000228 + RWM_WM_MDIGETACTIVE = 553, // 0x00000229 + RWM_WM_MDISETMENU = 560, // 0x00000230 + RWM_WM_ENTERSIZEMOVE = 561, // 0x00000231 + RWM_WM_EXITSIZEMOVE = 562, // 0x00000232 + RWM_WM_DROPFILES = 563, // 0x00000233 + RWM_WM_MDIREFRESHMENU = 564, // 0x00000234 + RWM_WM_IME_REPORT = 640, // 0x00000280 + RWM_WM_IME_SETCONTEXT = 641, // 0x00000281 + RWM_WM_IME_NOTIFY = 642, // 0x00000282 + RWM_WM_IME_CONTROL = 643, // 0x00000283 + RWM_WM_IME_COMPOSITIONFULL = 644, // 0x00000284 + RWM_WM_IME_SELECT = 645, // 0x00000285 + RWM_WM_IME_CHAR = 646, // 0x00000286 + RWM_WM_IME_REQUEST = 648, // 0x00000288 + RWM_WM_IMEKEYDOWN = 656, // 0x00000290 + RWM_WM_IME_KEYDOWN = 656, // 0x00000290 + RWM_WM_IMEKEYUP = 657, // 0x00000291 + RWM_WM_IME_KEYUP = 657, // 0x00000291 + RWM_WM_NCMOUSEHOVER = 672, // 0x000002A0 + RWM_WM_MOUSEHOVER = 673, // 0x000002A1 + RWM_WM_NCMOUSELEAVE = 674, // 0x000002A2 + RWM_WM_MOUSELEAVE = 675, // 0x000002A3 + RWM_WM_CUT = 768, // 0x00000300 + RWM_WM_COPY = 769, // 0x00000301 + RWM_WM_PASTE = 770, // 0x00000302 + RWM_WM_CLEAR = 771, // 0x00000303 + RWM_WM_UNDO = 772, // 0x00000304 + RWM_WM_RENDERFORMAT = 773, // 0x00000305 + RWM_WM_RENDERALLFORMATS = 774, // 0x00000306 + RWM_WM_DESTROYCLIPBOARD = 775, // 0x00000307 + RWM_WM_DRAWCLIPBOARD = 776, // 0x00000308 + RWM_WM_PAINTCLIPBOARD = 777, // 0x00000309 + RWM_WM_VSCROLLCLIPBOARD = 778, // 0x0000030A + RWM_WM_SIZECLIPBOARD = 779, // 0x0000030B + RWM_WM_ASKCBFORMATNAME = 780, // 0x0000030C + RWM_WM_CHANGECBCHAIN = 781, // 0x0000030D + RWM_WM_HSCROLLCLIPBOARD = 782, // 0x0000030E + RWM_WM_QUERYNEWPALETTE = 783, // 0x0000030F + RWM_WM_PALETTEISCHANGING = 784, // 0x00000310 + RWM_WM_PALETTECHANGED = 785, // 0x00000311 + RWM_WM_HOTKEY = 786, // 0x00000312 + RWM_WM_PRINT = 791, // 0x00000317 + RWM_WM_PRINTCLIENT = 792, // 0x00000318 + RWM_WM_APPCOMMAND = 793, // 0x00000319 + RWM_WM_HANDHELDFIRST = 856, // 0x00000358 + RWM_WM_HANDHELDLAST = 863, // 0x0000035F + RWM_WM_AFXFIRST = 864, // 0x00000360 + RWM_WM_AFXLAST = 895, // 0x0000037F + RWM_WM_PENWINFIRST = 896, // 0x00000380 + RWM_WM_RCRESULT = 897, // 0x00000381 + RWM_WM_HOOKRCRESULT = 898, // 0x00000382 + RWM_WM_GLOBALRCCHANGE = 899, // 0x00000383 + RWM_WM_PENMISCINFO = 899, // 0x00000383 + RWM_WM_SKB = 900, // 0x00000384 + RWM_WM_HEDITCTL = 901, // 0x00000385 + RWM_WM_PENCTL = 901, // 0x00000385 + RWM_WM_PENMISC = 902, // 0x00000386 + RWM_WM_CTLINIT = 903, // 0x00000387 + RWM_WM_PENEVENT = 904, // 0x00000388 + RWM_WM_PENWINLAST = 911, // 0x0000038F + RWM_DDM_SETFMT = 1024, // 0x00000400 + RWM_DM_GETDEFID = 1024, // 0x00000400 + RWM_NIN_SELECT = 1024, // 0x00000400 + RWM_TBM_GETPOS = 1024, // 0x00000400 + RWM_WM_PSD_PAGESETUPDLG = 1024, // 0x00000400 + RWM_WM_USER = 1024, // 0x00000400 + RWM_CBEM_INSERTITEMA = 1025, // 0x00000401 + RWM_DDM_DRAW = 1025, // 0x00000401 + RWM_DM_SETDEFID = 1025, // 0x00000401 + RWM_HKM_SETHOTKEY = 1025, // 0x00000401 + RWM_PBM_SETRANGE = 1025, // 0x00000401 + RWM_RB_INSERTBANDA = 1025, // 0x00000401 + RWM_SB_SETTEXTA = 1025, // 0x00000401 + RWM_TBM_GETRANGEMIN = 1025, // 0x00000401 + RWM_TB_ENABLEBUTTON = 1025, // 0x00000401 + RWM_TTM_ACTIVATE = 1025, // 0x00000401 + RWM_WM_CHOOSEFONT_GETLOGFONT = 1025, // 0x00000401 + RWM_WM_PSD_FULLPAGERECT = 1025, // 0x00000401 + RWM_CBEM_SETIMAGELIST = 1026, // 0x00000402 + RWM_DDM_CLOSE = 1026, // 0x00000402 + RWM_DM_REPOSITION = 1026, // 0x00000402 + RWM_HKM_GETHOTKEY = 1026, // 0x00000402 + RWM_PBM_SETPOS = 1026, // 0x00000402 + RWM_RB_DELETEBAND = 1026, // 0x00000402 + RWM_SB_GETTEXTA = 1026, // 0x00000402 + RWM_TBM_GETRANGEMAX = 1026, // 0x00000402 + RWM_TB_CHECKBUTTON = 1026, // 0x00000402 + RWM_WM_PSD_MINMARGINRECT = 1026, // 0x00000402 + RWM_CBEM_GETIMAGELIST = 1027, // 0x00000403 + RWM_DDM_BEGIN = 1027, // 0x00000403 + RWM_HKM_SETRULES = 1027, // 0x00000403 + RWM_PBM_DELTAPOS = 1027, // 0x00000403 + RWM_RB_GETBARINFO = 1027, // 0x00000403 + RWM_SB_GETTEXTLENGTHA = 1027, // 0x00000403 + RWM_TBM_GETTIC = 1027, // 0x00000403 + RWM_TB_PRESSBUTTON = 1027, // 0x00000403 + RWM_TTM_SETDELAYTIME = 1027, // 0x00000403 + RWM_WM_PSD_MARGINRECT = 1027, // 0x00000403 + RWM_CBEM_GETITEMA = 1028, // 0x00000404 + RWM_DDM_END = 1028, // 0x00000404 + RWM_PBM_SETSTEP = 1028, // 0x00000404 + RWM_RB_SETBARINFO = 1028, // 0x00000404 + RWM_SB_SETPARTS = 1028, // 0x00000404 + RWM_TBM_SETTIC = 1028, // 0x00000404 + RWM_TB_HIDEBUTTON = 1028, // 0x00000404 + RWM_TTM_ADDTOOLA = 1028, // 0x00000404 + RWM_WM_PSD_GREEKTEXTRECT = 1028, // 0x00000404 + RWM_CBEM_SETITEMA = 1029, // 0x00000405 + RWM_PBM_STEPIT = 1029, // 0x00000405 + RWM_TBM_SETPOS = 1029, // 0x00000405 + RWM_TB_INDETERMINATE = 1029, // 0x00000405 + RWM_TTM_DELTOOLA = 1029, // 0x00000405 + RWM_WM_PSD_ENVSTAMPRECT = 1029, // 0x00000405 + RWM_CBEM_GETCOMBOCONTROL = 1030, // 0x00000406 + RWM_PBM_SETRANGE32 = 1030, // 0x00000406 + RWM_RB_SETBANDINFOA = 1030, // 0x00000406 + RWM_SB_GETPARTS = 1030, // 0x00000406 + RWM_TBM_SETRANGE = 1030, // 0x00000406 + RWM_TB_MARKBUTTON = 1030, // 0x00000406 + RWM_TTM_NEWTOOLRECTA = 1030, // 0x00000406 + RWM_WM_PSD_YAFULLPAGERECT = 1030, // 0x00000406 + RWM_CBEM_GETEDITCONTROL = 1031, // 0x00000407 + RWM_PBM_GETRANGE = 1031, // 0x00000407 + RWM_RB_SETPARENT = 1031, // 0x00000407 + RWM_SB_GETBORDERS = 1031, // 0x00000407 + RWM_TBM_SETRANGEMIN = 1031, // 0x00000407 + RWM_TTM_RELAYEVENT = 1031, // 0x00000407 + RWM_CBEM_SETEXSTYLE = 1032, // 0x00000408 + RWM_PBM_GETPOS = 1032, // 0x00000408 + RWM_RB_HITTEST = 1032, // 0x00000408 + RWM_SB_SETMINHEIGHT = 1032, // 0x00000408 + RWM_TBM_SETRANGEMAX = 1032, // 0x00000408 + RWM_TTM_GETTOOLINFOA = 1032, // 0x00000408 + RWM_CBEM_GETEXSTYLE = 1033, // 0x00000409 + RWM_CBEM_GETEXTENDEDSTYLE = 1033, // 0x00000409 + RWM_PBM_SETBARCOLOR = 1033, // 0x00000409 + RWM_RB_GETRECT = 1033, // 0x00000409 + RWM_SB_SIMPLE = 1033, // 0x00000409 + RWM_TBM_CLEARTICS = 1033, // 0x00000409 + RWM_TB_ISBUTTONENABLED = 1033, // 0x00000409 + RWM_TTM_SETTOOLINFOA = 1033, // 0x00000409 + RWM_CBEM_HASEDITCHANGED = 1034, // 0x0000040A + RWM_RB_INSERTBANDW = 1034, // 0x0000040A + RWM_SB_GETRECT = 1034, // 0x0000040A + RWM_TBM_SETSEL = 1034, // 0x0000040A + RWM_TB_ISBUTTONCHECKED = 1034, // 0x0000040A + RWM_TTM_HITTESTA = 1034, // 0x0000040A + RWM_WIZ_QUERYNUMPAGES = 1034, // 0x0000040A + RWM_CBEM_INSERTITEMW = 1035, // 0x0000040B + RWM_RB_SETBANDINFOW = 1035, // 0x0000040B + RWM_SB_SETTEXTW = 1035, // 0x0000040B + RWM_TBM_SETSELSTART = 1035, // 0x0000040B + RWM_TB_ISBUTTONPRESSED = 1035, // 0x0000040B + RWM_TTM_GETTEXTA = 1035, // 0x0000040B + RWM_WIZ_NEXT = 1035, // 0x0000040B + RWM_CBEM_SETITEMW = 1036, // 0x0000040C + RWM_RB_GETBANDCOUNT = 1036, // 0x0000040C + RWM_SB_GETTEXTLENGTHW = 1036, // 0x0000040C + RWM_TBM_SETSELEND = 1036, // 0x0000040C + RWM_TB_ISBUTTONHIDDEN = 1036, // 0x0000040C + RWM_TTM_UPDATETIPTEXTA = 1036, // 0x0000040C + RWM_WIZ_PREV = 1036, // 0x0000040C + RWM_CBEM_GETITEMW = 1037, // 0x0000040D + RWM_RB_GETROWCOUNT = 1037, // 0x0000040D + RWM_SB_GETTEXTW = 1037, // 0x0000040D + RWM_TB_ISBUTTONINDETERMINATE = 1037, // 0x0000040D + RWM_TTM_GETTOOLCOUNT = 1037, // 0x0000040D + RWM_CBEM_SETEXTENDEDSTYLE = 1038, // 0x0000040E + RWM_RB_GETROWHEIGHT = 1038, // 0x0000040E + RWM_SB_ISSIMPLE = 1038, // 0x0000040E + RWM_TBM_GETPTICS = 1038, // 0x0000040E + RWM_TB_ISBUTTONHIGHLIGHTED = 1038, // 0x0000040E + RWM_TTM_ENUMTOOLSA = 1038, // 0x0000040E + RWM_SB_SETICON = 1039, // 0x0000040F + RWM_TBM_GETTICPOS = 1039, // 0x0000040F + RWM_TTM_GETCURRENTTOOLA = 1039, // 0x0000040F + RWM_RB_IDTOINDEX = 1040, // 0x00000410 + RWM_SB_SETTIPTEXTA = 1040, // 0x00000410 + RWM_TBM_GETNUMTICS = 1040, // 0x00000410 + RWM_TTM_WINDOWFROMPOINT = 1040, // 0x00000410 + RWM_RB_GETTOOLTIPS = 1041, // 0x00000411 + RWM_SB_SETTIPTEXTW = 1041, // 0x00000411 + RWM_TBM_GETSELSTART = 1041, // 0x00000411 + RWM_TB_SETSTATE = 1041, // 0x00000411 + RWM_TTM_TRACKACTIVATE = 1041, // 0x00000411 + RWM_RB_SETTOOLTIPS = 1042, // 0x00000412 + RWM_SB_GETTIPTEXTA = 1042, // 0x00000412 + RWM_TBM_GETSELEND = 1042, // 0x00000412 + RWM_TB_GETSTATE = 1042, // 0x00000412 + RWM_TTM_TRACKPOSITION = 1042, // 0x00000412 + RWM_RB_SETBKCOLOR = 1043, // 0x00000413 + RWM_SB_GETTIPTEXTW = 1043, // 0x00000413 + RWM_TBM_CLEARSEL = 1043, // 0x00000413 + RWM_TB_ADDBITMAP = 1043, // 0x00000413 + RWM_TTM_SETTIPBKCOLOR = 1043, // 0x00000413 + RWM_RB_GETBKCOLOR = 1044, // 0x00000414 + RWM_SB_GETICON = 1044, // 0x00000414 + RWM_TBM_SETTICFREQ = 1044, // 0x00000414 + RWM_TB_ADDBUTTONSA = 1044, // 0x00000414 + RWM_TTM_SETTIPTEXTCOLOR = 1044, // 0x00000414 + RWM_RB_SETTEXTCOLOR = 1045, // 0x00000415 + RWM_TBM_SETPAGESIZE = 1045, // 0x00000415 + RWM_TB_INSERTBUTTONA = 1045, // 0x00000415 + RWM_TTM_GETDELAYTIME = 1045, // 0x00000415 + RWM_RB_GETTEXTCOLOR = 1046, // 0x00000416 + RWM_TBM_GETPAGESIZE = 1046, // 0x00000416 + RWM_TB_DELETEBUTTON = 1046, // 0x00000416 + RWM_TTM_GETTIPBKCOLOR = 1046, // 0x00000416 + RWM_RB_SIZETORECT = 1047, // 0x00000417 + RWM_TBM_SETLINESIZE = 1047, // 0x00000417 + RWM_TB_GETBUTTON = 1047, // 0x00000417 + RWM_TTM_GETTIPTEXTCOLOR = 1047, // 0x00000417 + RWM_RB_BEGINDRAG = 1048, // 0x00000418 + RWM_TBM_GETLINESIZE = 1048, // 0x00000418 + RWM_TB_BUTTONCOUNT = 1048, // 0x00000418 + RWM_TTM_SETMAXTIPWIDTH = 1048, // 0x00000418 + RWM_RB_ENDDRAG = 1049, // 0x00000419 + RWM_TBM_GETTHUMBRECT = 1049, // 0x00000419 + RWM_TB_COMMANDTOINDEX = 1049, // 0x00000419 + RWM_TTM_GETMAXTIPWIDTH = 1049, // 0x00000419 + RWM_RB_DRAGMOVE = 1050, // 0x0000041A + RWM_TBM_GETCHANNELRECT = 1050, // 0x0000041A + RWM_TB_SAVERESTOREA = 1050, // 0x0000041A + RWM_TTM_SETMARGIN = 1050, // 0x0000041A + RWM_RB_GETBARHEIGHT = 1051, // 0x0000041B + RWM_TBM_SETTHUMBLENGTH = 1051, // 0x0000041B + RWM_TB_CUSTOMIZE = 1051, // 0x0000041B + RWM_TTM_GETMARGIN = 1051, // 0x0000041B + RWM_RB_GETBANDINFOW = 1052, // 0x0000041C + RWM_TBM_GETTHUMBLENGTH = 1052, // 0x0000041C + RWM_TB_ADDSTRINGA = 1052, // 0x0000041C + RWM_TTM_POP = 1052, // 0x0000041C + RWM_RB_GETBANDINFOA = 1053, // 0x0000041D + RWM_TBM_SETTOOLTIPS = 1053, // 0x0000041D + RWM_TB_GETITEMRECT = 1053, // 0x0000041D + RWM_TTM_UPDATE = 1053, // 0x0000041D + RWM_RB_MINIMIZEBAND = 1054, // 0x0000041E + RWM_TBM_GETTOOLTIPS = 1054, // 0x0000041E + RWM_TB_BUTTONSTRUCTSIZE = 1054, // 0x0000041E + RWM_TTM_GETBUBBLESIZE = 1054, // 0x0000041E + RWM_RB_MAXIMIZEBAND = 1055, // 0x0000041F + RWM_TBM_SETTIPSIDE = 1055, // 0x0000041F + RWM_TB_SETBUTTONSIZE = 1055, // 0x0000041F + RWM_TTM_ADJUSTRECT = 1055, // 0x0000041F + RWM_TBM_SETBUDDY = 1056, // 0x00000420 + RWM_TB_SETBITMAPSIZE = 1056, // 0x00000420 + RWM_TTM_SETTITLEA = 1056, // 0x00000420 + RWM_MSG_FTS_JUMP_VA = 1057, // 0x00000421 + RWM_TBM_GETBUDDY = 1057, // 0x00000421 + RWM_TB_AUTOSIZE = 1057, // 0x00000421 + RWM_TTM_SETTITLEW = 1057, // 0x00000421 + RWM_RB_GETBANDBORDERS = 1058, // 0x00000422 + RWM_MSG_FTS_JUMP_QWORD = 1059, // 0x00000423 + RWM_RB_SHOWBAND = 1059, // 0x00000423 + RWM_TB_GETTOOLTIPS = 1059, // 0x00000423 + RWM_MSG_REINDEX_REQUEST = 1060, // 0x00000424 + RWM_TB_SETTOOLTIPS = 1060, // 0x00000424 + RWM_MSG_FTS_WHERE_IS_IT = 1061, // 0x00000425 + RWM_RB_SETPALETTE = 1061, // 0x00000425 + RWM_TB_SETPARENT = 1061, // 0x00000425 + RWM_RB_GETPALETTE = 1062, // 0x00000426 + RWM_RB_MOVEBAND = 1063, // 0x00000427 + RWM_TB_SETROWS = 1063, // 0x00000427 + RWM_TB_GETROWS = 1064, // 0x00000428 + RWM_TB_GETBITMAPFLAGS = 1065, // 0x00000429 + RWM_TB_SETCMDID = 1066, // 0x0000042A + RWM_RB_PUSHCHEVRON = 1067, // 0x0000042B + RWM_TB_CHANGEBITMAP = 1067, // 0x0000042B + RWM_TB_GETBITMAP = 1068, // 0x0000042C + RWM_MSG_GET_DEFFONT = 1069, // 0x0000042D + RWM_TB_GETBUTTONTEXTA = 1069, // 0x0000042D + RWM_TB_REPLACEBITMAP = 1070, // 0x0000042E + RWM_TB_SETINDENT = 1071, // 0x0000042F + RWM_TB_SETIMAGELIST = 1072, // 0x00000430 + RWM_TB_GETIMAGELIST = 1073, // 0x00000431 + RWM_EM_CANPASTE = 1074, // 0x00000432 + RWM_TB_LOADIMAGES = 1074, // 0x00000432 + RWM_TTM_ADDTOOLW = 1074, // 0x00000432 + RWM_EM_DISPLAYBAND = 1075, // 0x00000433 + RWM_TB_GETRECT = 1075, // 0x00000433 + RWM_TTM_DELTOOLW = 1075, // 0x00000433 + RWM_EM_EXGETSEL = 1076, // 0x00000434 + RWM_TB_SETHOTIMAGELIST = 1076, // 0x00000434 + RWM_TTM_NEWTOOLRECTW = 1076, // 0x00000434 + RWM_EM_EXLIMITTEXT = 1077, // 0x00000435 + RWM_TB_GETHOTIMAGELIST = 1077, // 0x00000435 + RWM_TTM_GETTOOLINFOW = 1077, // 0x00000435 + RWM_EM_EXLINEFROMCHAR = 1078, // 0x00000436 + RWM_TB_SETDISABLEDIMAGELIST = 1078, // 0x00000436 + RWM_TTM_SETTOOLINFOW = 1078, // 0x00000436 + RWM_EM_EXSETSEL = 1079, // 0x00000437 + RWM_TB_GETDISABLEDIMAGELIST = 1079, // 0x00000437 + RWM_TTM_HITTESTW = 1079, // 0x00000437 + RWM_EM_FINDTEXT = 1080, // 0x00000438 + RWM_TB_SETSTYLE = 1080, // 0x00000438 + RWM_TTM_GETTEXTW = 1080, // 0x00000438 + RWM_EM_FORMATRANGE = 1081, // 0x00000439 + RWM_TB_GETSTYLE = 1081, // 0x00000439 + RWM_TTM_UPDATETIPTEXTW = 1081, // 0x00000439 + RWM_EM_GETCHARFORMAT = 1082, // 0x0000043A + RWM_TB_GETBUTTONSIZE = 1082, // 0x0000043A + RWM_TTM_ENUMTOOLSW = 1082, // 0x0000043A + RWM_EM_GETEVENTMASK = 1083, // 0x0000043B + RWM_TB_SETBUTTONWIDTH = 1083, // 0x0000043B + RWM_TTM_GETCURRENTTOOLW = 1083, // 0x0000043B + RWM_EM_GETOLEINTERFACE = 1084, // 0x0000043C + RWM_TB_SETMAXTEXTROWS = 1084, // 0x0000043C + RWM_EM_GETPARAFORMAT = 1085, // 0x0000043D + RWM_TB_GETTEXTROWS = 1085, // 0x0000043D + RWM_EM_GETSELTEXT = 1086, // 0x0000043E + RWM_TB_GETOBJECT = 1086, // 0x0000043E + RWM_EM_HIDESELECTION = 1087, // 0x0000043F + RWM_TB_GETBUTTONINFOW = 1087, // 0x0000043F + RWM_EM_PASTESPECIAL = 1088, // 0x00000440 + RWM_TB_SETBUTTONINFOW = 1088, // 0x00000440 + RWM_EM_REQUESTRESIZE = 1089, // 0x00000441 + RWM_TB_GETBUTTONINFOA = 1089, // 0x00000441 + RWM_EM_SELECTIONTYPE = 1090, // 0x00000442 + RWM_TB_SETBUTTONINFOA = 1090, // 0x00000442 + RWM_EM_SETBKGNDCOLOR = 1091, // 0x00000443 + RWM_TB_INSERTBUTTONW = 1091, // 0x00000443 + RWM_EM_SETCHARFORMAT = 1092, // 0x00000444 + RWM_TB_ADDBUTTONSW = 1092, // 0x00000444 + RWM_EM_SETEVENTMASK = 1093, // 0x00000445 + RWM_TB_HITTEST = 1093, // 0x00000445 + RWM_EM_SETOLECALLBACK = 1094, // 0x00000446 + RWM_TB_SETDRAWTEXTFLAGS = 1094, // 0x00000446 + RWM_EM_SETPARAFORMAT = 1095, // 0x00000447 + RWM_TB_GETHOTITEM = 1095, // 0x00000447 + RWM_EM_SETTARGETDEVICE = 1096, // 0x00000448 + RWM_TB_SETHOTITEM = 1096, // 0x00000448 + RWM_EM_STREAMIN = 1097, // 0x00000449 + RWM_TB_SETANCHORHIGHLIGHT = 1097, // 0x00000449 + RWM_EM_STREAMOUT = 1098, // 0x0000044A + RWM_TB_GETANCHORHIGHLIGHT = 1098, // 0x0000044A + RWM_EM_GETTEXTRANGE = 1099, // 0x0000044B + RWM_TB_GETBUTTONTEXTW = 1099, // 0x0000044B + RWM_EM_FINDWORDBREAK = 1100, // 0x0000044C + RWM_TB_SAVERESTOREW = 1100, // 0x0000044C + RWM_EM_SETOPTIONS = 1101, // 0x0000044D + RWM_TB_ADDSTRINGW = 1101, // 0x0000044D + RWM_EM_GETOPTIONS = 1102, // 0x0000044E + RWM_TB_MAPACCELERATORA = 1102, // 0x0000044E + RWM_EM_FINDTEXTEX = 1103, // 0x0000044F + RWM_TB_GETINSERTMARK = 1103, // 0x0000044F + RWM_EM_GETWORDBREAKPROCEX = 1104, // 0x00000450 + RWM_TB_SETINSERTMARK = 1104, // 0x00000450 + RWM_EM_SETWORDBREAKPROCEX = 1105, // 0x00000451 + RWM_TB_INSERTMARKHITTEST = 1105, // 0x00000451 + RWM_EM_SETUNDOLIMIT = 1106, // 0x00000452 + RWM_TB_MOVEBUTTON = 1106, // 0x00000452 + RWM_TB_GETMAXSIZE = 1107, // 0x00000453 + RWM_EM_REDO = 1108, // 0x00000454 + RWM_TB_SETEXTENDEDSTYLE = 1108, // 0x00000454 + RWM_EM_CANREDO = 1109, // 0x00000455 + RWM_TB_GETEXTENDEDSTYLE = 1109, // 0x00000455 + RWM_EM_GETUNDONAME = 1110, // 0x00000456 + RWM_TB_GETPADDING = 1110, // 0x00000456 + RWM_EM_GETREDONAME = 1111, // 0x00000457 + RWM_TB_SETPADDING = 1111, // 0x00000457 + RWM_EM_STOPGROUPTYPING = 1112, // 0x00000458 + RWM_TB_SETINSERTMARKCOLOR = 1112, // 0x00000458 + RWM_EM_SETTEXTMODE = 1113, // 0x00000459 + RWM_TB_GETINSERTMARKCOLOR = 1113, // 0x00000459 + RWM_EM_GETTEXTMODE = 1114, // 0x0000045A + RWM_TB_MAPACCELERATORW = 1114, // 0x0000045A + RWM_EM_AUTOURLDETECT = 1115, // 0x0000045B + RWM_TB_GETSTRINGW = 1115, // 0x0000045B + RWM_EM_GETAUTOURLDETECT = 1116, // 0x0000045C + RWM_TB_GETSTRINGA = 1116, // 0x0000045C + RWM_EM_SETPALETTE = 1117, // 0x0000045D + RWM_EM_GETTEXTEX = 1118, // 0x0000045E + RWM_EM_GETTEXTLENGTHEX = 1119, // 0x0000045F + RWM_EM_SHOWSCROLLBAR = 1120, // 0x00000460 + RWM_EM_SETTEXTEX = 1121, // 0x00000461 + RWM_TAPI_REPLY = 1123, // 0x00000463 + RWM_ACM_OPENA = 1124, // 0x00000464 + RWM_BFFM_SETSTATUSTEXTA = 1124, // 0x00000464 + RWM_CDM_FIRST = 1124, // 0x00000464 + RWM_CDM_GETSPEC = 1124, // 0x00000464 + RWM_EM_SETPUNCTUATION = 1124, // 0x00000464 + RWM_IPM_CLEARADDRESS = 1124, // 0x00000464 + RWM_WM_CAP_UNICODE_START = 1124, // 0x00000464 + RWM_ACM_PLAY = 1125, // 0x00000465 + RWM_BFFM_ENABLEOK = 1125, // 0x00000465 + RWM_CDM_GETFILEPATH = 1125, // 0x00000465 + RWM_EM_GETPUNCTUATION = 1125, // 0x00000465 + RWM_IPM_SETADDRESS = 1125, // 0x00000465 + RWM_PSM_SETCURSEL = 1125, // 0x00000465 + RWM_UDM_SETRANGE = 1125, // 0x00000465 + RWM_WM_CHOOSEFONT_SETLOGFONT = 1125, // 0x00000465 + RWM_ACM_STOP = 1126, // 0x00000466 + RWM_BFFM_SETSELECTIONA = 1126, // 0x00000466 + RWM_CDM_GETFOLDERPATH = 1126, // 0x00000466 + RWM_EM_SETWORDWRAPMODE = 1126, // 0x00000466 + RWM_IPM_GETADDRESS = 1126, // 0x00000466 + RWM_PSM_REMOVEPAGE = 1126, // 0x00000466 + RWM_UDM_GETRANGE = 1126, // 0x00000466 + RWM_WM_CAP_SET_CALLBACK_ERRORW = 1126, // 0x00000466 + RWM_WM_CHOOSEFONT_SETFLAGS = 1126, // 0x00000466 + RWM_ACM_OPENW = 1127, // 0x00000467 + RWM_BFFM_SETSELECTIONW = 1127, // 0x00000467 + RWM_CDM_GETFOLDERIDLIST = 1127, // 0x00000467 + RWM_EM_GETWORDWRAPMODE = 1127, // 0x00000467 + RWM_IPM_SETRANGE = 1127, // 0x00000467 + RWM_PSM_ADDPAGE = 1127, // 0x00000467 + RWM_UDM_SETPOS = 1127, // 0x00000467 + RWM_WM_CAP_SET_CALLBACK_STATUSW = 1127, // 0x00000467 + RWM_BFFM_SETSTATUSTEXTW = 1128, // 0x00000468 + RWM_CDM_SETCONTROLTEXT = 1128, // 0x00000468 + RWM_EM_SETIMECOLOR = 1128, // 0x00000468 + RWM_IPM_SETFOCUS = 1128, // 0x00000468 + RWM_PSM_CHANGED = 1128, // 0x00000468 + RWM_UDM_GETPOS = 1128, // 0x00000468 + RWM_CDM_HIDECONTROL = 1129, // 0x00000469 + RWM_EM_GETIMECOLOR = 1129, // 0x00000469 + RWM_IPM_ISBLANK = 1129, // 0x00000469 + RWM_PSM_RESTARTWINDOWS = 1129, // 0x00000469 + RWM_UDM_SETBUDDY = 1129, // 0x00000469 + RWM_CDM_SETDEFEXT = 1130, // 0x0000046A + RWM_EM_SETIMEOPTIONS = 1130, // 0x0000046A + RWM_PSM_REBOOTSYSTEM = 1130, // 0x0000046A + RWM_UDM_GETBUDDY = 1130, // 0x0000046A + RWM_EM_GETIMEOPTIONS = 1131, // 0x0000046B + RWM_PSM_CANCELTOCLOSE = 1131, // 0x0000046B + RWM_UDM_SETACCEL = 1131, // 0x0000046B + RWM_EM_CONVPOSITION = 1132, // 0x0000046C + RWM_PSM_QUERYSIBLINGS = 1132, // 0x0000046C + RWM_UDM_GETACCEL = 1132, // 0x0000046C + RWM_MCIWNDM_GETZOOM = 1133, // 0x0000046D + RWM_PSM_UNCHANGED = 1133, // 0x0000046D + RWM_UDM_SETBASE = 1133, // 0x0000046D + RWM_PSM_APPLY = 1134, // 0x0000046E + RWM_UDM_GETBASE = 1134, // 0x0000046E + RWM_PSM_SETTITLEA = 1135, // 0x0000046F + RWM_UDM_SETRANGE32 = 1135, // 0x0000046F + RWM_PSM_SETWIZBUTTONS = 1136, // 0x00000470 + RWM_UDM_GETRANGE32 = 1136, // 0x00000470 + RWM_WM_CAP_DRIVER_GET_NAMEW = 1136, // 0x00000470 + RWM_PSM_PRESSBUTTON = 1137, // 0x00000471 + RWM_UDM_SETPOS32 = 1137, // 0x00000471 + RWM_WM_CAP_DRIVER_GET_VERSIONW = 1137, // 0x00000471 + RWM_PSM_SETCURSELID = 1138, // 0x00000472 + RWM_UDM_GETPOS32 = 1138, // 0x00000472 + RWM_PSM_SETFINISHTEXTA = 1139, // 0x00000473 + RWM_PSM_GETTABCONTROL = 1140, // 0x00000474 + RWM_PSM_ISDIALOGMESSAGE = 1141, // 0x00000475 + RWM_MCIWNDM_REALIZE = 1142, // 0x00000476 + RWM_PSM_GETCURRENTPAGEHWND = 1142, // 0x00000476 + RWM_MCIWNDM_SETTIMEFORMATA = 1143, // 0x00000477 + RWM_PSM_INSERTPAGE = 1143, // 0x00000477 + RWM_EM_SETLANGOPTIONS = 1144, // 0x00000478 + RWM_MCIWNDM_GETTIMEFORMATA = 1144, // 0x00000478 + RWM_PSM_SETTITLEW = 1144, // 0x00000478 + RWM_WM_CAP_FILE_SET_CAPTURE_FILEW = 1144, // 0x00000478 + RWM_EM_GETLANGOPTIONS = 1145, // 0x00000479 + RWM_MCIWNDM_VALIDATEMEDIA = 1145, // 0x00000479 + RWM_PSM_SETFINISHTEXTW = 1145, // 0x00000479 + RWM_WM_CAP_FILE_GET_CAPTURE_FILEW = 1145, // 0x00000479 + RWM_EM_GETIMECOMPMODE = 1146, // 0x0000047A + RWM_EM_FINDTEXTW = 1147, // 0x0000047B + RWM_MCIWNDM_PLAYTO = 1147, // 0x0000047B + RWM_WM_CAP_FILE_SAVEASW = 1147, // 0x0000047B + RWM_EM_FINDTEXTEXW = 1148, // 0x0000047C + RWM_MCIWNDM_GETFILENAMEA = 1148, // 0x0000047C + RWM_EM_RECONVERSION = 1149, // 0x0000047D + RWM_MCIWNDM_GETDEVICEA = 1149, // 0x0000047D + RWM_PSM_SETHEADERTITLEA = 1149, // 0x0000047D + RWM_WM_CAP_FILE_SAVEDIBW = 1149, // 0x0000047D + RWM_EM_SETIMEMODEBIAS = 1150, // 0x0000047E + RWM_MCIWNDM_GETPALETTE = 1150, // 0x0000047E + RWM_PSM_SETHEADERTITLEW = 1150, // 0x0000047E + RWM_EM_GETIMEMODEBIAS = 1151, // 0x0000047F + RWM_MCIWNDM_SETPALETTE = 1151, // 0x0000047F + RWM_PSM_SETHEADERSUBTITLEA = 1151, // 0x0000047F + RWM_MCIWNDM_GETERRORA = 1152, // 0x00000480 + RWM_PSM_SETHEADERSUBTITLEW = 1152, // 0x00000480 + RWM_PSM_HWNDTOINDEX = 1153, // 0x00000481 + RWM_PSM_INDEXTOHWND = 1154, // 0x00000482 + RWM_MCIWNDM_SETINACTIVETIMER = 1155, // 0x00000483 + RWM_PSM_PAGETOINDEX = 1155, // 0x00000483 + RWM_PSM_INDEXTOPAGE = 1156, // 0x00000484 + RWM_DL_BEGINDRAG = 1157, // 0x00000485 + RWM_MCIWNDM_GETINACTIVETIMER = 1157, // 0x00000485 + RWM_PSM_IDTOINDEX = 1157, // 0x00000485 + RWM_DL_DRAGGING = 1158, // 0x00000486 + RWM_PSM_INDEXTOID = 1158, // 0x00000486 + RWM_DL_DROPPED = 1159, // 0x00000487 + RWM_PSM_GETRESULT = 1159, // 0x00000487 + RWM_DL_CANCELDRAG = 1160, // 0x00000488 + RWM_PSM_RECALCPAGESIZES = 1160, // 0x00000488 + RWM_MCIWNDM_GET_SOURCE = 1164, // 0x0000048C + RWM_MCIWNDM_PUT_SOURCE = 1165, // 0x0000048D + RWM_MCIWNDM_GET_DEST = 1166, // 0x0000048E + RWM_MCIWNDM_PUT_DEST = 1167, // 0x0000048F + RWM_MCIWNDM_CAN_PLAY = 1168, // 0x00000490 + RWM_MCIWNDM_CAN_WINDOW = 1169, // 0x00000491 + RWM_MCIWNDM_CAN_RECORD = 1170, // 0x00000492 + RWM_MCIWNDM_CAN_SAVE = 1171, // 0x00000493 + RWM_MCIWNDM_CAN_EJECT = 1172, // 0x00000494 + RWM_MCIWNDM_CAN_CONFIG = 1173, // 0x00000495 + RWM_IE_GETINK = 1174, // 0x00000496 + RWM_IE_MSGFIRST = 1174, // 0x00000496 + RWM_MCIWNDM_PALETTEKICK = 1174, // 0x00000496 + RWM_IE_SETINK = 1175, // 0x00000497 + RWM_IE_GETPENTIP = 1176, // 0x00000498 + RWM_IE_SETPENTIP = 1177, // 0x00000499 + RWM_IE_GETERASERTIP = 1178, // 0x0000049A + RWM_IE_SETERASERTIP = 1179, // 0x0000049B + RWM_IE_GETBKGND = 1180, // 0x0000049C + RWM_IE_SETBKGND = 1181, // 0x0000049D + RWM_IE_GETGRIDORIGIN = 1182, // 0x0000049E + RWM_IE_SETGRIDORIGIN = 1183, // 0x0000049F + RWM_IE_GETGRIDPEN = 1184, // 0x000004A0 + RWM_IE_SETGRIDPEN = 1185, // 0x000004A1 + RWM_IE_GETGRIDSIZE = 1186, // 0x000004A2 + RWM_IE_SETGRIDSIZE = 1187, // 0x000004A3 + RWM_IE_GETMODE = 1188, // 0x000004A4 + RWM_IE_SETMODE = 1189, // 0x000004A5 + RWM_IE_GETINKRECT = 1190, // 0x000004A6 + RWM_WM_CAP_SET_MCI_DEVICEW = 1190, // 0x000004A6 + RWM_WM_CAP_GET_MCI_DEVICEW = 1191, // 0x000004A7 + RWM_WM_CAP_PAL_OPENW = 1204, // 0x000004B4 + RWM_WM_CAP_PAL_SAVEW = 1205, // 0x000004B5 + RWM_IE_GETAPPDATA = 1208, // 0x000004B8 + RWM_IE_SETAPPDATA = 1209, // 0x000004B9 + RWM_IE_GETDRAWOPTS = 1210, // 0x000004BA + RWM_IE_SETDRAWOPTS = 1211, // 0x000004BB + RWM_IE_GETFORMAT = 1212, // 0x000004BC + RWM_IE_SETFORMAT = 1213, // 0x000004BD + RWM_IE_GETINKINPUT = 1214, // 0x000004BE + RWM_IE_SETINKINPUT = 1215, // 0x000004BF + RWM_IE_GETNOTIFY = 1216, // 0x000004C0 + RWM_IE_SETNOTIFY = 1217, // 0x000004C1 + RWM_IE_GETRECOG = 1218, // 0x000004C2 + RWM_IE_SETRECOG = 1219, // 0x000004C3 + RWM_IE_GETSECURITY = 1220, // 0x000004C4 + RWM_IE_SETSECURITY = 1221, // 0x000004C5 + RWM_IE_GETSEL = 1222, // 0x000004C6 + RWM_IE_SETSEL = 1223, // 0x000004C7 + RWM_CDM_LAST = 1224, // 0x000004C8 + RWM_EM_SETBIDIOPTIONS = 1224, // 0x000004C8 + RWM_IE_DOCOMMAND = 1224, // 0x000004C8 + RWM_MCIWNDM_NOTIFYMODE = 1224, // 0x000004C8 + RWM_EM_GETBIDIOPTIONS = 1225, // 0x000004C9 + RWM_IE_GETCOMMAND = 1225, // 0x000004C9 + RWM_EM_SETTYPOGRAPHYOPTIONS = 1226, // 0x000004CA + RWM_IE_GETCOUNT = 1226, // 0x000004CA + RWM_EM_GETTYPOGRAPHYOPTIONS = 1227, // 0x000004CB + RWM_IE_GETGESTURE = 1227, // 0x000004CB + RWM_MCIWNDM_NOTIFYMEDIA = 1227, // 0x000004CB + RWM_EM_SETEDITSTYLE = 1228, // 0x000004CC + RWM_IE_GETMENU = 1228, // 0x000004CC + RWM_EM_GETEDITSTYLE = 1229, // 0x000004CD + RWM_IE_GETPAINTDC = 1229, // 0x000004CD + RWM_MCIWNDM_NOTIFYERROR = 1229, // 0x000004CD + RWM_IE_GETPDEVENT = 1230, // 0x000004CE + RWM_IE_GETSELCOUNT = 1231, // 0x000004CF + RWM_IE_GETSELITEMS = 1232, // 0x000004D0 + RWM_IE_GETSTYLE = 1233, // 0x000004D1 + RWM_MCIWNDM_SETTIMEFORMATW = 1243, // 0x000004DB + RWM_EM_OUTLINE = 1244, // 0x000004DC + RWM_MCIWNDM_GETTIMEFORMATW = 1244, // 0x000004DC + RWM_EM_GETSCROLLPOS = 1245, // 0x000004DD + RWM_EM_SETSCROLLPOS = 1246, // 0x000004DE + RWM_EM_SETFONTSIZE = 1247, // 0x000004DF + RWM_EM_GETZOOM = 1248, // 0x000004E0 + RWM_MCIWNDM_GETFILENAMEW = 1248, // 0x000004E0 + RWM_EM_SETZOOM = 1249, // 0x000004E1 + RWM_MCIWNDM_GETDEVICEW = 1249, // 0x000004E1 + RWM_EM_GETVIEWKIND = 1250, // 0x000004E2 + RWM_EM_SETVIEWKIND = 1251, // 0x000004E3 + RWM_EM_GETPAGE = 1252, // 0x000004E4 + RWM_MCIWNDM_GETERRORW = 1252, // 0x000004E4 + RWM_EM_SETPAGE = 1253, // 0x000004E5 + RWM_EM_GETHYPHENATEINFO = 1254, // 0x000004E6 + RWM_EM_SETHYPHENATEINFO = 1255, // 0x000004E7 + RWM_EM_GETPAGEROTATE = 1259, // 0x000004EB + RWM_EM_SETPAGEROTATE = 1260, // 0x000004EC + RWM_EM_GETCTFMODEBIAS = 1261, // 0x000004ED + RWM_EM_SETCTFMODEBIAS = 1262, // 0x000004EE + RWM_EM_GETCTFOPENSTATUS = 1264, // 0x000004F0 + RWM_EM_SETCTFOPENSTATUS = 1265, // 0x000004F1 + RWM_EM_GETIMECOMPTEXT = 1266, // 0x000004F2 + RWM_EM_ISIME = 1267, // 0x000004F3 + RWM_EM_GETIMEPROPERTY = 1268, // 0x000004F4 + RWM_EM_GETQUERYRTFOBJ = 1293, // 0x0000050D + RWM_EM_SETQUERYRTFOBJ = 1294, // 0x0000050E + RWM_FM_GETFOCUS = 1536, // 0x00000600 + RWM_FM_GETDRIVEINFOA = 1537, // 0x00000601 + RWM_FM_GETSELCOUNT = 1538, // 0x00000602 + RWM_FM_GETSELCOUNTLFN = 1539, // 0x00000603 + RWM_FM_GETFILESELA = 1540, // 0x00000604 + RWM_FM_GETFILESELLFNA = 1541, // 0x00000605 + RWM_FM_REFRESH_WINDOWS = 1542, // 0x00000606 + RWM_FM_RELOAD_EXTENSIONS = 1543, // 0x00000607 + RWM_FM_GETDRIVEINFOW = 1553, // 0x00000611 + RWM_FM_GETFILESELW = 1556, // 0x00000614 + RWM_FM_GETFILESELLFNW = 1557, // 0x00000615 + RWM_WLX_WM_SAS = 1625, // 0x00000659 + RWM_SM_GETSELCOUNT = 2024, // 0x000007E8 + RWM_UM_GETSELCOUNT = 2024, // 0x000007E8 + RWM_WM_CPL_LAUNCH = 2024, // 0x000007E8 + RWM_SM_GETSERVERSELA = 2025, // 0x000007E9 + RWM_UM_GETUSERSELA = 2025, // 0x000007E9 + RWM_WM_CPL_LAUNCHED = 2025, // 0x000007E9 + RWM_SM_GETSERVERSELW = 2026, // 0x000007EA + RWM_UM_GETUSERSELW = 2026, // 0x000007EA + RWM_SM_GETCURFOCUSA = 2027, // 0x000007EB + RWM_UM_GETGROUPSELA = 2027, // 0x000007EB + RWM_SM_GETCURFOCUSW = 2028, // 0x000007EC + RWM_UM_GETGROUPSELW = 2028, // 0x000007EC + RWM_SM_GETOPTIONS = 2029, // 0x000007ED + RWM_UM_GETCURFOCUSA = 2029, // 0x000007ED + RWM_UM_GETCURFOCUSW = 2030, // 0x000007EE + RWM_UM_GETOPTIONS = 2031, // 0x000007EF + RWM_UM_GETOPTIONS2 = 2032, // 0x000007F0 + RWM_LVM_FIRST = 4096, // 0x00001000 + RWM_LVM_GETBKCOLOR = 4096, // 0x00001000 + RWM_LVM_SETBKCOLOR = 4097, // 0x00001001 + RWM_LVM_GETIMAGELIST = 4098, // 0x00001002 + RWM_LVM_SETIMAGELIST = 4099, // 0x00001003 + RWM_LVM_GETITEMCOUNT = 4100, // 0x00001004 + RWM_LVM_GETITEMA = 4101, // 0x00001005 + RWM_LVM_SETITEMA = 4102, // 0x00001006 + RWM_LVM_INSERTITEMA = 4103, // 0x00001007 + RWM_LVM_DELETEITEM = 4104, // 0x00001008 + RWM_LVM_DELETEALLITEMS = 4105, // 0x00001009 + RWM_LVM_GETCALLBACKMASK = 4106, // 0x0000100A + RWM_LVM_SETCALLBACKMASK = 4107, // 0x0000100B + RWM_LVM_GETNEXTITEM = 4108, // 0x0000100C + RWM_LVM_FINDITEMA = 4109, // 0x0000100D + RWM_LVM_GETITEMRECT = 4110, // 0x0000100E + RWM_LVM_SETITEMPOSITION = 4111, // 0x0000100F + RWM_LVM_GETITEMPOSITION = 4112, // 0x00001010 + RWM_LVM_GETSTRINGWIDTHA = 4113, // 0x00001011 + RWM_LVM_HITTEST = 4114, // 0x00001012 + RWM_LVM_ENSUREVISIBLE = 4115, // 0x00001013 + RWM_LVM_SCROLL = 4116, // 0x00001014 + RWM_LVM_REDRAWITEMS = 4117, // 0x00001015 + RWM_LVM_ARRANGE = 4118, // 0x00001016 + RWM_LVM_EDITLABELA = 4119, // 0x00001017 + RWM_LVM_GETEDITCONTROL = 4120, // 0x00001018 + RWM_LVM_GETCOLUMNA = 4121, // 0x00001019 + RWM_LVM_SETCOLUMNA = 4122, // 0x0000101A + RWM_LVM_INSERTCOLUMNA = 4123, // 0x0000101B + RWM_LVM_DELETECOLUMN = 4124, // 0x0000101C + RWM_LVM_GETCOLUMNWIDTH = 4125, // 0x0000101D + RWM_LVM_SETCOLUMNWIDTH = 4126, // 0x0000101E + RWM_LVM_GETHEADER = 4127, // 0x0000101F + RWM_LVM_CREATEDRAGIMAGE = 4129, // 0x00001021 + RWM_LVM_GETVIEWRECT = 4130, // 0x00001022 + RWM_LVM_GETTEXTCOLOR = 4131, // 0x00001023 + RWM_LVM_SETTEXTCOLOR = 4132, // 0x00001024 + RWM_LVM_GETTEXTBKCOLOR = 4133, // 0x00001025 + RWM_LVM_SETTEXTBKCOLOR = 4134, // 0x00001026 + RWM_LVM_GETTOPINDEX = 4135, // 0x00001027 + RWM_LVM_GETCOUNTPERPAGE = 4136, // 0x00001028 + RWM_LVM_GETORIGIN = 4137, // 0x00001029 + RWM_LVM_UPDATE = 4138, // 0x0000102A + RWM_LVM_SETITEMSTATE = 4139, // 0x0000102B + RWM_LVM_GETITEMSTATE = 4140, // 0x0000102C + RWM_LVM_GETITEMTEXTA = 4141, // 0x0000102D + RWM_LVM_SETITEMTEXTA = 4142, // 0x0000102E + RWM_LVM_SETITEMCOUNT = 4143, // 0x0000102F + RWM_LVM_SORTITEMS = 4144, // 0x00001030 + RWM_LVM_SETITEMPOSITION32 = 4145, // 0x00001031 + RWM_LVM_GETSELECTEDCOUNT = 4146, // 0x00001032 + RWM_LVM_GETITEMSPACING = 4147, // 0x00001033 + RWM_LVM_GETISEARCHSTRINGA = 4148, // 0x00001034 + RWM_LVM_SETICONSPACING = 4149, // 0x00001035 + RWM_LVM_SETEXTENDEDLISTVIEWSTYLE = 4150, // 0x00001036 + RWM_LVM_GETEXTENDEDLISTVIEWSTYLE = 4151, // 0x00001037 + RWM_LVM_GETSUBITEMRECT = 4152, // 0x00001038 + RWM_LVM_SUBITEMHITTEST = 4153, // 0x00001039 + RWM_LVM_SETCOLUMNORDERARRAY = 4154, // 0x0000103A + RWM_LVM_GETCOLUMNORDERARRAY = 4155, // 0x0000103B + RWM_LVM_SETHOTITEM = 4156, // 0x0000103C + RWM_LVM_GETHOTITEM = 4157, // 0x0000103D + RWM_LVM_SETHOTCURSOR = 4158, // 0x0000103E + RWM_LVM_GETHOTCURSOR = 4159, // 0x0000103F + RWM_LVM_APPROXIMATEVIEWRECT = 4160, // 0x00001040 + RWM_LVM_SETWORKAREAS = 4161, // 0x00001041 + RWM_LVM_GETSELECTIONMARK = 4162, // 0x00001042 + RWM_LVM_SETSELECTIONMARK = 4163, // 0x00001043 + RWM_LVM_SETBKIMAGEA = 4164, // 0x00001044 + RWM_LVM_GETBKIMAGEA = 4165, // 0x00001045 + RWM_LVM_GETWORKAREAS = 4166, // 0x00001046 + RWM_LVM_SETHOVERTIME = 4167, // 0x00001047 + RWM_LVM_GETHOVERTIME = 4168, // 0x00001048 + RWM_LVM_GETNUMBEROFWORKAREAS = 4169, // 0x00001049 + RWM_LVM_SETTOOLTIPS = 4170, // 0x0000104A + RWM_LVM_GETITEMW = 4171, // 0x0000104B + RWM_LVM_SETITEMW = 4172, // 0x0000104C + RWM_LVM_INSERTITEMW = 4173, // 0x0000104D + RWM_LVM_GETTOOLTIPS = 4174, // 0x0000104E + RWM_LVM_FINDITEMW = 4179, // 0x00001053 + RWM_LVM_GETSTRINGWIDTHW = 4183, // 0x00001057 + RWM_LVM_GETCOLUMNW = 4191, // 0x0000105F + RWM_LVM_SETCOLUMNW = 4192, // 0x00001060 + RWM_LVM_INSERTCOLUMNW = 4193, // 0x00001061 + RWM_LVM_GETITEMTEXTW = 4211, // 0x00001073 + RWM_LVM_SETITEMTEXTW = 4212, // 0x00001074 + RWM_LVM_GETISEARCHSTRINGW = 4213, // 0x00001075 + RWM_LVM_EDITLABELW = 4214, // 0x00001076 + RWM_LVM_GETBKIMAGEW = 4235, // 0x0000108B + RWM_LVM_SETSELECTEDCOLUMN = 4236, // 0x0000108C + RWM_LVM_SETTILEWIDTH = 4237, // 0x0000108D + RWM_LVM_SETVIEW = 4238, // 0x0000108E + RWM_LVM_GETVIEW = 4239, // 0x0000108F + RWM_LVM_INSERTGROUP = 4241, // 0x00001091 + RWM_LVM_SETGROUPINFO = 4243, // 0x00001093 + RWM_LVM_GETGROUPINFO = 4245, // 0x00001095 + RWM_LVM_REMOVEGROUP = 4246, // 0x00001096 + RWM_LVM_MOVEGROUP = 4247, // 0x00001097 + RWM_LVM_MOVEITEMTOGROUP = 4250, // 0x0000109A + RWM_LVM_SETGROUPMETRICS = 4251, // 0x0000109B + RWM_LVM_GETGROUPMETRICS = 4252, // 0x0000109C + RWM_LVM_ENABLEGROUPVIEW = 4253, // 0x0000109D + RWM_LVM_SORTGROUPS = 4254, // 0x0000109E + RWM_LVM_INSERTGROUPSORTED = 4255, // 0x0000109F + RWM_LVM_REMOVEALLGROUPS = 4256, // 0x000010A0 + RWM_LVM_HASGROUP = 4257, // 0x000010A1 + RWM_LVM_SETTILEVIEWINFO = 4258, // 0x000010A2 + RWM_LVM_GETTILEVIEWINFO = 4259, // 0x000010A3 + RWM_LVM_SETTILEINFO = 4260, // 0x000010A4 + RWM_LVM_GETTILEINFO = 4261, // 0x000010A5 + RWM_LVM_SETINSERTMARK = 4262, // 0x000010A6 + RWM_LVM_GETINSERTMARK = 4263, // 0x000010A7 + RWM_LVM_INSERTMARKHITTEST = 4264, // 0x000010A8 + RWM_LVM_GETINSERTMARKRECT = 4265, // 0x000010A9 + RWM_LVM_SETINSERTMARKCOLOR = 4266, // 0x000010AA + RWM_LVM_GETINSERTMARKCOLOR = 4267, // 0x000010AB + RWM_LVM_SETINFOTIP = 4269, // 0x000010AD + RWM_LVM_GETSELECTEDCOLUMN = 4270, // 0x000010AE + RWM_LVM_ISGROUPVIEWENABLED = 4271, // 0x000010AF + RWM_LVM_GETOUTLINECOLOR = 4272, // 0x000010B0 + RWM_LVM_SETOUTLINECOLOR = 4273, // 0x000010B1 + RWM_LVM_CANCELEDITLABEL = 4275, // 0x000010B3 + RWM_LVM_MAPINDEXTOID = 4276, // 0x000010B4 + RWM_LVM_MAPIDTOINDEX = 4277, // 0x000010B5 + RWM_LVM_ISITEMVISIBLE = 4278, // 0x000010B6 + RWM_OCM__BASE = 8192, // 0x00002000 + RWM_LVM_SETUNICODEFORMAT = 8197, // 0x00002005 + RWM_LVM_GETUNICODEFORMAT = 8198, // 0x00002006 + RWM_OCM_CTLCOLOR = 8217, // 0x00002019 + RWM_OCM_DRAWITEM = 8235, // 0x0000202B + RWM_OCM_MEASUREITEM = 8236, // 0x0000202C + RWM_OCM_DELETEITEM = 8237, // 0x0000202D + RWM_OCM_VKEYTOITEM = 8238, // 0x0000202E + RWM_OCM_CHARTOITEM = 8239, // 0x0000202F + RWM_OCM_COMPAREITEM = 8249, // 0x00002039 + RWM_OCM_NOTIFY = 8270, // 0x0000204E + RWM_OCM_COMMAND = 8465, // 0x00002111 + RWM_OCM_HSCROLL = 8468, // 0x00002114 + RWM_OCM_VSCROLL = 8469, // 0x00002115 + RWM_OCM_CTLCOLORMSGBOX = 8498, // 0x00002132 + RWM_OCM_CTLCOLOREDIT = 8499, // 0x00002133 + RWM_OCM_CTLCOLORLISTBOX = 8500, // 0x00002134 + RWM_OCM_CTLCOLORBTN = 8501, // 0x00002135 + RWM_OCM_CTLCOLORDLG = 8502, // 0x00002136 + RWM_OCM_CTLCOLORSCROLLBAR = 8503, // 0x00002137 + RWM_OCM_CTLCOLORSTATIC = 8504, // 0x00002138 + RWM_OCM_PARENTNOTIFY = 8720, // 0x00002210 + RWM_WM_APP = 32768, // 0x00008000 + RWM_WM_RASDIALEVENT = 52429 // 0x0000CCCD + + } RawWindowsMessage; + + static_assert_cpp98_obj(sizeof(RawWindowsMessage) == 4, RawWindowsMessage); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/RawWindowsMessageInt.hpp b/src/OpenSHC/WindowsHelper/Enums/RawWindowsMessageInt.hpp new file mode 100644 index 0000000..566f256 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/RawWindowsMessageInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/RawWindowsMessageInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/RawWindowsMessage.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int RawWindowsMessageInt; + + static_assert_cpp98_obj(sizeof(RawWindowsMessageInt) == 4, RawWindowsMessageInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCap.hpp b/src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCap.hpp new file mode 100644 index 0000000..52b24a1 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCap.hpp @@ -0,0 +1,59 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/WindowsDeviceCap.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum WindowsDeviceCap { + + WDC_DRIVERVERSION = 0, // 0x00000000 + WDC_TECHNOLOGY = 2, // 0x00000002 + WDC_HORZSIZE = 4, // 0x00000004 + WDC_VERTSIZE = 6, // 0x00000006 + WDC_HORZRES = 8, // 0x00000008 + WDC_VERTRES = 10, // 0x0000000A + WDC_BITSPIXEL = 12, // 0x0000000C + WDC_PLANES = 14, // 0x0000000E + WDC_NUMBRUSHES = 16, // 0x00000010 + WDC_NUMPENS = 18, // 0x00000012 + WDC_NUMMARKERS = 20, // 0x00000014 + WDC_NUMFONTS = 22, // 0x00000016 + WDC_NUMCOLORS = 24, // 0x00000018 + WDC_PDEVICESIZE = 26, // 0x0000001A + WDC_CURVECAPS = 28, // 0x0000001C + WDC_LINECAPS = 30, // 0x0000001E + WDC_POLYGONALCAPS = 32, // 0x00000020 + WDC_TEXTCAPS = 34, // 0x00000022 + WDC_CLIPCAPS = 36, // 0x00000024 + WDC_RASTERCAPS = 38, // 0x00000026 + WDC_ASPECTX = 40, // 0x00000028 + WDC_ASPECTY = 42, // 0x0000002A + WDC_ASPECTXY = 44, // 0x0000002C + WDC_LOGPIXELSX = 88, // 0x00000058 + WDC_LOGPIXELSY = 90, // 0x0000005A + WDC_SIZEPALETTE = 104, // 0x00000068 + WDC_NUMRESERVED = 106, // 0x0000006A + WDC_COLORRES = 108, // 0x0000006C + WDC_PHYSICALWIDTH = 110, // 0x0000006E + WDC_PHYSICALHEIGHT = 111, // 0x0000006F + WDC_PHYSICALOFFSETX = 112, // 0x00000070 + WDC_PHYSICALOFFSETY = 113, // 0x00000071 + WDC_SCALINGFACTORX = 114, // 0x00000072 + WDC_SCALINGFACTORY = 115, // 0x00000073 + WDC_VREFRESH = 116, // 0x00000074 + WDC_DESKTOPVERTRES = 117, // 0x00000075 + WDC_DESKTOPHORZRES = 118, // 0x00000076 + WDC_BLTALIGNMENT = 119, // 0x00000077 + WDC_SHADEBLENDCAPS = 120, // 0x00000078 + WDC_COLORMGMTCAPS = 121 // 0x00000079 + + } WindowsDeviceCap; + + static_assert_cpp98_obj(sizeof(WindowsDeviceCap) == 4, WindowsDeviceCap); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCapInt.hpp b/src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCapInt.hpp new file mode 100644 index 0000000..f6daaae --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/WindowsDeviceCapInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/WindowsDeviceCapInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/WindowsDeviceCap.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int WindowsDeviceCapInt; + + static_assert_cpp98_obj(sizeof(WindowsDeviceCapInt) == 4, WindowsDeviceCapInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetric.hpp b/src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetric.hpp new file mode 100644 index 0000000..3016e76 --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetric.hpp @@ -0,0 +1,114 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/WindowsSystemMetric.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum WindowsSystemMetric { + + SM_CXSCREEN = 0, // 0x00000000 + SM_CYSCREEN = 1, // 0x00000001 + SM_CXVSCROLL = 2, // 0x00000002 + SM_CYHSCROLL = 3, // 0x00000003 + SM_CYCAPTION = 4, // 0x00000004 + SM_CXBORDER = 5, // 0x00000005 + SM_CYBORDER = 6, // 0x00000006 + SM_CXDLGFRAME = 7, // 0x00000007 + SM_CXFIXEDFRAME = 7, // 0x00000007 + SM_CYDLGFRAME = 8, // 0x00000008 + SM_CYFIXEDFRAME = 8, // 0x00000008 + SM_CYVTHUMB = 9, // 0x00000009 + SM_CXHTHUMB = 10, // 0x0000000A + SM_CXICON = 11, // 0x0000000B + SM_CYICON = 12, // 0x0000000C + SM_CXCURSOR = 13, // 0x0000000D + SM_CYCURSOR = 14, // 0x0000000E + SM_CYMENU = 15, // 0x0000000F + SM_CXFULLSCREEN = 16, // 0x00000010 + SM_CYFULLSCREEN = 17, // 0x00000011 + SM_CYKANJIWINDOW = 18, // 0x00000012 + SM_MOUSEPRESENT = 19, // 0x00000013 + SM_CYVSCROLL = 20, // 0x00000014 + SM_CXHSCROLL = 21, // 0x00000015 + SM_DEBUG = 22, // 0x00000016 + SM_SWAPBUTTON = 23, // 0x00000017 + SM_CXMIN = 28, // 0x0000001C + SM_CYMIN = 29, // 0x0000001D + SM_CXSIZE = 30, // 0x0000001E + SM_CYSIZE = 31, // 0x0000001F + SM_CXFRAME = 32, // 0x00000020 + SM_CXSIZEFRAME = 32, // 0x00000020 + SM_CYFRAME = 33, // 0x00000021 + SM_CYSIZEFRAME = 33, // 0x00000021 + SM_CXMINTRACK = 34, // 0x00000022 + SM_CYMINTRACK = 35, // 0x00000023 + SM_CXDOUBLECLK = 36, // 0x00000024 + SM_CYDOUBLECLK = 37, // 0x00000025 + SM_CXICONSPACING = 38, // 0x00000026 + SM_CYICONSPACING = 39, // 0x00000027 + SM_MENUDROPALIGNMENT = 40, // 0x00000028 + SM_PENWINDOWS = 41, // 0x00000029 + SM_DBCSENABLED = 42, // 0x0000002A + SM_CMOUSEBUTTONS = 43, // 0x0000002B + SM_SECURE = 44, // 0x0000002C + SM_CXEDGE = 45, // 0x0000002D + SM_CYEDGE = 46, // 0x0000002E + SM_CXMINSPACING = 47, // 0x0000002F + SM_CYMINSPACING = 48, // 0x00000030 + SM_CXSMICON = 49, // 0x00000031 + SM_CYSMICON = 50, // 0x00000032 + SM_CYSMCAPTION = 51, // 0x00000033 + SM_CXSMSIZE = 52, // 0x00000034 + SM_CYSMSIZE = 53, // 0x00000035 + SM_CXMENUSIZE = 54, // 0x00000036 + SM_CYMENUSIZE = 55, // 0x00000037 + SM_ARRANGE = 56, // 0x00000038 + SM_CXMINIMIZED = 57, // 0x00000039 + SM_CYMINIMIZED = 58, // 0x0000003A + SM_CXMAXTRACK = 59, // 0x0000003B + SM_CYMAXTRACK = 60, // 0x0000003C + SM_CXMAXIMIZED = 61, // 0x0000003D + SM_CYMAXIMIZED = 62, // 0x0000003E + SM_NETWORK = 63, // 0x0000003F + SM_CLEANBOOT = 67, // 0x00000043 + SM_CXDRAG = 68, // 0x00000044 + SM_CYDRAG = 69, // 0x00000045 + SM_SHOWSOUNDS = 70, // 0x00000046 + SM_CXMENUCHECK = 71, // 0x00000047 + SM_CYMENUCHECK = 72, // 0x00000048 + SM_SLOWMACHINE = 73, // 0x00000049 + SM_MIDEASTENABLED = 74, // 0x0000004A + SM_MOUSEWHEELPRESENT = 75, // 0x0000004B + SM_XVIRTUALSCREEN = 76, // 0x0000004C + SM_YVIRTUALSCREEN = 77, // 0x0000004D + SM_CXVIRTUALSCREEN = 78, // 0x0000004E + SM_CYVIRTUALSCREEN = 79, // 0x0000004F + SM_CMONITORS = 80, // 0x00000050 + SM_SAMEDISPLAYFORMAT = 81, // 0x00000051 + SM_IMMENABLED = 82, // 0x00000052 + SM_CXFOCUSBORDER = 83, // 0x00000053 + SM_CYFOCUSBORDER = 84, // 0x00000054 + SM_TABLETPC = 86, // 0x00000056 + SM_MEDIACENTER = 87, // 0x00000057 + SM_STARTER = 88, // 0x00000058 + SM_SERVERR2 = 89, // 0x00000059 + SM_MOUSEHORIZONTALWHEELPRESENT = 91, // 0x0000005B + SM_CXPADDEDBORDER = 92, // 0x0000005C + SM_DIGITIZER = 94, // 0x0000005E + SM_MAXIMUMTOUCHES = 95, // 0x0000005F + SM_REMOTESESSION = 4096, // 0x00001000 + SM_SHUTTINGDOWN = 8192, // 0x00002000 + SM_REMOTECONTROL = 8193, // 0x00002001 + SM_CONVERTIBLESLATEMODE = 8195, // 0x00002003 + SM_SYSTEMDOCKED = 8196 // 0x00002004 + + } WindowsSystemMetric; + + static_assert_cpp98_obj(sizeof(WindowsSystemMetric) == 4, WindowsSystemMetric); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetricInt.hpp b/src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetricInt.hpp new file mode 100644 index 0000000..eeb7ffe --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/WindowsSystemMetricInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/WindowsSystemMetricInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/WindowsSystemMetric.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int WindowsSystemMetricInt; + + static_assert_cpp98_obj(sizeof(WindowsSystemMetricInt) == 4, WindowsSystemMetricInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKey.hpp b/src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKey.hpp new file mode 100644 index 0000000..358eb9b --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKey.hpp @@ -0,0 +1,181 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/WindowsVirtualKey.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef enum WindowsVirtualKey { + + VK_NONE = 0, // 0x00000000 + VK_LEFT_MOUSE_BUTTON = 1, // 0x00000001 + VK_RIGHT_MOUSE_BUTTON = 2, // 0x00000002 + VK_CANCEL = 3, // 0x00000003 + VK_MIDDLE_MOUSE_BUTTON = 4, // 0x00000004 + VK_EXTRA_MOUSE_BUTTON1 = 5, // 0x00000005 + VK_EXTRA_MOUSE_BUTTON2 = 6, // 0x00000006 + VK_BACKSPACE = 8, // 0x00000008 + VK_TAB = 9, // 0x00000009 + VK_CLEAR = 12, // 0x0000000C + VK_ENTER = 13, // 0x0000000D + VK_SHIFT = 16, // 0x00000010 + VK_CONTROL = 17, // 0x00000011 + VK_ALT = 18, // 0x00000012 + VK_PAUSE = 19, // 0x00000013 + VK_CAPSLOCK = 20, // 0x00000014 + VK_ESCAPE = 27, // 0x0000001B + VK_SPACE = 32, // 0x00000020 + VK_PAGE_UP = 33, // 0x00000021 + VK_PAGE_DOWN = 34, // 0x00000022 + VK_END = 35, // 0x00000023 + VK_HOME = 36, // 0x00000024 + VK_LEFT = 37, // 0x00000025 + VK_UP = 38, // 0x00000026 + VK_RIGHT = 39, // 0x00000027 + VK_DOWN = 40, // 0x00000028 + VK_SELECT = 41, // 0x00000029 + VK_PRINT = 42, // 0x0000002A + VK_EXECUTE = 43, // 0x0000002B + VK_PRINT_SCREEN = 44, // 0x0000002C + VK_INSERT = 45, // 0x0000002D + VK_DELETE_KEY = 46, // 0x0000002E + VK_HELP = 47, // 0x0000002F + VK_ZERO = 48, // 0x00000030 + VK_ONE = 49, // 0x00000031 + VK_TWO = 50, // 0x00000032 + VK_THREE = 51, // 0x00000033 + VK_FOUR = 52, // 0x00000034 + VK_FIVE = 53, // 0x00000035 + VK_SIX = 54, // 0x00000036 + VK_SEVEN = 55, // 0x00000037 + VK_EIGHT = 56, // 0x00000038 + VK_NINE = 57, // 0x00000039 + VK_A = 65, // 0x00000041 + VK_B = 66, // 0x00000042 + VK_C = 67, // 0x00000043 + VK_D = 68, // 0x00000044 + VK_E = 69, // 0x00000045 + VK_F = 70, // 0x00000046 + VK_G = 71, // 0x00000047 + VK_H = 72, // 0x00000048 + VK_I = 73, // 0x00000049 + VK_J = 74, // 0x0000004A + VK_K = 75, // 0x0000004B + VK_L = 76, // 0x0000004C + VK_M = 77, // 0x0000004D + VK_N = 78, // 0x0000004E + VK_O = 79, // 0x0000004F + VK_P = 80, // 0x00000050 + VK_Q = 81, // 0x00000051 + VK_R = 82, // 0x00000052 + VK_S = 83, // 0x00000053 + VK_T = 84, // 0x00000054 + VK_U = 85, // 0x00000055 + VK_V = 86, // 0x00000056 + VK_W = 87, // 0x00000057 + VK_X = 88, // 0x00000058 + VK_Y = 89, // 0x00000059 + VK_Z = 90, // 0x0000005A + VK_LEFT_WINDOWS_KEY = 91, // 0x0000005B + VK_RIGHT_WINDOWS_KEY = 92, // 0x0000005C + VK_APPLICATIONS_KEY = 93, // 0x0000005D + VK_SLEEP = 95, // 0x0000005F + VK_NUMPAD0 = 96, // 0x00000060 + VK_NUMPAD1 = 97, // 0x00000061 + VK_NUMPAD2 = 98, // 0x00000062 + VK_NUMPAD3 = 99, // 0x00000063 + VK_NUMPAD4 = 100, // 0x00000064 + VK_NUMPAD5 = 101, // 0x00000065 + VK_NUMPAD6 = 102, // 0x00000066 + VK_NUMPAD7 = 103, // 0x00000067 + VK_NUMPAD8 = 104, // 0x00000068 + VK_NUMPAD9 = 105, // 0x00000069 + VK_MULTIPLY = 106, // 0x0000006A + VK_ADD = 107, // 0x0000006B + VK_SEPERATOR = 108, // 0x0000006C + VK_SUBTRACT = 109, // 0x0000006D + VK_DECIMAL = 110, // 0x0000006E + VK_DIVIDE = 111, // 0x0000006F + VK_F1 = 112, // 0x00000070 + VK_F2 = 113, // 0x00000071 + VK_F3 = 114, // 0x00000072 + VK_F4 = 115, // 0x00000073 + VK_F5 = 116, // 0x00000074 + VK_F6 = 117, // 0x00000075 + VK_F7 = 118, // 0x00000076 + VK_F8 = 119, // 0x00000077 + VK_F9 = 120, // 0x00000078 + VK_F10 = 121, // 0x00000079 + VK_F11 = 122, // 0x0000007A + VK_F12 = 123, // 0x0000007B + VK_F13 = 124, // 0x0000007C + VK_F14 = 125, // 0x0000007D + VK_F15 = 126, // 0x0000007E + VK_F16 = 127, // 0x0000007F + VK_F17 = 128, // 0x00000080 + VK_F18 = 129, // 0x00000081 + VK_F19 = 130, // 0x00000082 + VK_F20 = 131, // 0x00000083 + VK_F21 = 132, // 0x00000084 + VK_F22 = 133, // 0x00000085 + VK_F23 = 134, // 0x00000086 + VK_F24 = 135, // 0x00000087 + VK_NUMLOCK = 144, // 0x00000090 + VK_SCROLL_LOCK = 145, // 0x00000091 + VK_LEFT_SHIFT = 160, // 0x000000A0 + VK_RIGHT_SHIFT = 161, // 0x000000A1 + VK_LEFT_CONTROL = 162, // 0x000000A2 + VK_RIGHT_CONTROL = 163, // 0x000000A3 + VK_LEFT_MENU = 164, // 0x000000A4 + VK_RIGHT_MENU = 165, // 0x000000A5 + VK_BROWSER_BACK = 166, // 0x000000A6 + VK_BROWSER_FORWARD = 167, // 0x000000A7 + VK_BROWSER_REFRESH = 168, // 0x000000A8 + VK_BROWSER_STOP = 169, // 0x000000A9 + VK_BROWSER_SEARCH = 170, // 0x000000AA + VK_BROWSER_FAVORITES = 171, // 0x000000AB + VK_BROWSER_HOME = 172, // 0x000000AC + VK_VOLUME_MUTE = 173, // 0x000000AD + VK_VOLUME_DOWN = 174, // 0x000000AE + VK_VOLUME_UP = 175, // 0x000000AF + VK_NEXT_TRACK = 176, // 0x000000B0 + VK_PREVIOUS_TRACK = 177, // 0x000000B1 + VK_STOP_MEDIA = 178, // 0x000000B2 + VK_PLAY_PAUSE = 179, // 0x000000B3 + VK_LAUNCH_MAIL = 180, // 0x000000B4 + VK_SELECT_MEDIA = 181, // 0x000000B5 + VK_LAUNCH_APP1 = 182, // 0x000000B6 + VK_LAUNCH_APP2 = 183, // 0x000000B7 + VK_OEM1 = 186, // 0x000000BA + VK_OEM_PLUS = 187, // 0x000000BB + VK_OEM_COMMA = 188, // 0x000000BC + VK_OEM_MINUS = 189, // 0x000000BD + VK_OEM_PERIOD = 190, // 0x000000BE + VK_OEM2 = 191, // 0x000000BF + VK_OEM3 = 192, // 0x000000C0 + VK_OEM4 = 219, // 0x000000DB + VK_OEM5 = 220, // 0x000000DC + VK_OEM6 = 221, // 0x000000DD + VK_OEM7 = 222, // 0x000000DE + VK_OEM8 = 223, // 0x000000DF + VK_OEM102 = 226, // 0x000000E2 + VK_PROCESS = 229, // 0x000000E5 + VK_PACKET = 231, // 0x000000E7 + VK_ATTN = 246, // 0x000000F6 + VK_CRSEL = 247, // 0x000000F7 + VK_EXSEL = 248, // 0x000000F8 + VK_ERASEEOF = 249, // 0x000000F9 + VK_PLAY = 250, // 0x000000FA + VK_ZOOM = 251, // 0x000000FB + VK_PA1 = 253, // 0x000000FD + VK_OEM_CLEAR = 254 // 0x000000FE + + } WindowsVirtualKey; + + static_assert_cpp98_obj(sizeof(WindowsVirtualKey) == 4, WindowsVirtualKey); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKeyInt.hpp b/src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKeyInt.hpp new file mode 100644 index 0000000..2d1992e --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Enums/WindowsVirtualKeyInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Enums/WindowsVirtualKeyInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/WindowsHelper/Enums/WindowsVirtualKey.hpp" + +namespace OpenSHC { +namespace WindowsHelper { + namespace Enums { + typedef int WindowsVirtualKeyInt; + + static_assert_cpp98_obj(sizeof(WindowsVirtualKeyInt) == 4, WindowsVirtualKeyInt); + } // namespace Enums +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/Structs/threadmbcinfostructWINE.hpp b/src/OpenSHC/WindowsHelper/Structs/threadmbcinfostructWINE.hpp new file mode 100644 index 0000000..9edc68c --- /dev/null +++ b/src/OpenSHC/WindowsHelper/Structs/threadmbcinfostructWINE.hpp @@ -0,0 +1,31 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/Structs/threadmbcinfostructWINE.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + namespace Structs { + +#pragma pack(push, 1) + // SIZE: 0x00000220 + typedef struct threadmbcinfostructWINE { + + int refcount; // 0x00000000 length: 4 + int mbcodepage; // 0x00000004 length: 4 + int ismbcodepage; // 0x00000008 length: 4 + int mblcid; // 0x0000000C length: 4 + ushort mbulinfo[6]; // 0x00000010 length: 12 + uchar mbctype[257]; // 0x0000001C length: 257 + uchar mbcasemap[256]; // 0x0000011D length: 256 + undefined1 padding_0x21d[3]; // 0x0000021D length: 3 + + } threadmbcinfostructWINE; +#pragma pack(pop) + + static_assert_cpp98_obj(sizeof(threadmbcinfostructWINE) == 544, threadmbcinfostructWINE); + } // namespace Structs +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/WindowsHelper/cdeclVoidFunc.hpp b/src/OpenSHC/WindowsHelper/cdeclVoidFunc.hpp new file mode 100644 index 0000000..bc30dce --- /dev/null +++ b/src/OpenSHC/WindowsHelper/cdeclVoidFunc.hpp @@ -0,0 +1,13 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/WindowsHelper/cdeclVoidFunc.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace WindowsHelper { + + typedef void(__cdecl cdeclVoidFunc)(); +} // namespace WindowsHelper +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eAppModes.hpp b/src/OpenSHC/_SHCDE/eAppModes.hpp new file mode 100644 index 0000000..5ac40ed --- /dev/null +++ b/src/OpenSHC/_SHCDE/eAppModes.hpp @@ -0,0 +1,68 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eAppModes.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eAppModes { + + APP_MODE_MANAGER = 10, // 0x0000000A + APP_MODE_EDITOR = 11, // 0x0000000B + APP_MODE_TEST_MAP = 12, // 0x0000000C + APP_MODE_MAIN_GAME = 14, // 0x0000000E + APP_MODE_IN_BUILDING = 16, // 0x00000010 + APP_MODE_EDIT_MAP = 17, // 0x00000011 + APP_MODE_NEW_MAP = 18, // 0x00000012 + APP_MODE_XPLAY_CONNECT = 19, // 0x00000013 + APP_MODE_XPLAY_WAITING_ROOM = 20, // 0x00000014 + APP_MODE_XPLAY_CONNECT_GAMESPY = 21, // 0x00000015 + APP_MODE_HELP = 22, // 0x00000016 + APP_MODE_MAIN_OPTIONS = 23, // 0x00000017 + APP_MODE_1PLAYER_OPTIONS = 24, // 0x00000018 + APP_MODE_NEW_CAMPAIGN_LEVEL = 25, // 0x00000019 + APP_MODE_NARRATIVE = 26, // 0x0000001A + APP_MODE_MAP_SCREEN = 27, // 0x0000001B + APP_MODE_BRIEFING = 28, // 0x0000001C + APP_MODE_WIN_MISSION = 29, // 0x0000001D + APP_MODE_FAIL_MISSION = 30, // 0x0000001E + APP_MODE_NEW_MAP2 = 31, // 0x0000001F + APP_MODE_NEW_MAP3 = 32, // 0x00000020 + APP_MODE_XPLAY_WAIT_FOR_SYNC = 33, // 0x00000021 + APP_MODE_STAND_ALONE_OPTIONS = 35, // 0x00000023 + APP_MODE_EDIT_INVASIONS = 36, // 0x00000024 + APP_MODE_NEW_MAP4 = 37, // 0x00000025 + APP_MODE_DIFFICULTY_LEVEL = 38, // 0x00000026 + APP_MODE_ECO_DIFFICULTY_LEVEL = 39, // 0x00000027 + APP_MODE_NEW_FRONTEND1 = 40, // 0x00000028 + APP_MODE_NEW_FRONTEND2 = 41, // 0x00000029 + APP_MODE_NEW_FRONTEND_COMBAT = 42, // 0x0000002A + APP_MODE_NEW_FRONTEND_ECONOMICS = 43, // 0x0000002B + APP_MODE_NEW_FRONTEND_BUILDER = 44, // 0x0000002C + APP_MODE_CREDITS = 45, // 0x0000002D + APP_MODE_NET_DEMO_SCREEN = 46, // 0x0000002E + APP_MODE_SIEGE_THAT = 47, // 0x0000002F + APP_MODE_INTRO_BINK = 48, // 0x00000030 + APP_MODE_DUMMY = 49, // 0x00000031 + APP_MODE_MISSION_START1 = 50, // 0x00000032 + APP_MODE_MISSION_START2 = 51, // 0x00000033 + APP_MODE_CAMPAIGN_START = 52, // 0x00000034 + APP_MODE_CAMPAIGN_END = 53, // 0x00000035 + APP_MODE_SKIRMISH_OPP = 54, // 0x00000036 + APP_MODE_SKIRMISH_CHOICE = 55, // 0x00000037 + APP_MODE_SKIRMISH_BRIEF = 56, // 0x00000038 + APP_MODE_SKIRMISH_TRAIL = 57, // 0x00000039 + APP_MODE_SKIRMISH_MASTERS = 58, // 0x0000003A + APP_MODE_NOT_SEEING = 59, // 0x0000003B + APP_MODE_ASK_FOR_DISC = 60, // 0x0000003C + APP_MODE_XPLAY_FAKE = 61, // 0x0000003D + APP_MODE_SKTRAIL_WIN = 62, // 0x0000003E + APP_MODE_SCN_SCENARIO_EDITOR = 1002 // 0x000003EA + + } eAppModes; + + static_assert_cpp98_obj(sizeof(eAppModes) == 4, eAppModes); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eAppModesInt.hpp b/src/OpenSHC/_SHCDE/eAppModesInt.hpp new file mode 100644 index 0000000..a7e8245 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eAppModesInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eAppModesInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eAppModes.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eAppModesInt; + + static_assert_cpp98_obj(sizeof(eAppModesInt) == 4, eAppModesInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eGM.hpp b/src/OpenSHC/_SHCDE/eGM.hpp new file mode 100644 index 0000000..954092e --- /dev/null +++ b/src/OpenSHC/_SHCDE/eGM.hpp @@ -0,0 +1,229 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eGM.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eGM { + + GM_LAND = 2, // 0x00000002 + GM_PILLARS = 3, // 0x00000003 + GM_SEA_CHEVRONS = 4, // 0x00000004 + GM_SEA = 5, // 0x00000005 + GM_BUILDINGS1 = 6, // 0x00000006 + GM_BUILDINGS2 = 7, // 0x00000007 + GM_WORKSHOPS = 8, // 0x00000008 + GM_CLIFFS = 9, // 0x00000009 + GM_WALLS = 10, // 0x0000000A + GM_SPECIAL_LAND = 11, // 0x0000000B + GM_MISC_LAND = 12, // 0x0000000C + GM_RIVERS = 13, // 0x0000000D + GM_FARMLAND = 14, // 0x0000000E + GM_GOODS = 15, // 0x0000000F + GM_FLOATS = 16, // 0x00000010 + GM_BODY_PEASANT = 17, // 0x00000011 + GM_BODY_ARCHER = 18, // 0x00000012 + GM_BODY_WOODCUTTER = 19, // 0x00000013 + GM_BODY_FLETCHER = 20, // 0x00000014 + GM_BODY_OXCART = 21, // 0x00000015 + GM_BUILDING_ANIMS2 = 22, // 0x00000016 + GM_SMOKE_ANIMS = 23, // 0x00000017 + GM_55X55_ANIMS = 24, // 0x00000018 + GM_QUARRY_ANIMS = 25, // 0x00000019 + GM_WINDMILL_ANIMS = 26, // 0x0000001A + GM_FLETCHER_ANIMS = 27, // 0x0000001B + GM_GOODS_ANIMS = 28, // 0x0000001C + GM_TREE_BIRCH = 29, // 0x0000001D + GM_TREE_PINE = 30, // 0x0000001E + GM_TREE_CHESTNUT = 31, // 0x0000001F + GM_BODY_STONEMASON = 32, // 0x00000020 + GM_BODY_FARMER = 33, // 0x00000021 + GM_BODY_MISSILE = 34, // 0x00000022 + GM_BODY_LADDERMAN = 35, // 0x00000023 + GM_BODY_BAKER = 36, // 0x00000024 + GM_BODY_MILLER = 37, // 0x00000025 + GM_DATA = 38, // 0x00000026 + GM_BODY_SPEARMAN = 39, // 0x00000027 + GM_BODY_PIKEMAN = 40, // 0x00000028 + GM_BODY_CROSSBOWMAN = 41, // 0x00000029 + GM_BODY_SWORDSMAN = 42, // 0x0000002A + GM_BODY_MACEMAN = 43, // 0x0000002B + GM_BODY_KNIGHT = 44, // 0x0000002C + GM_INTERFACE_BUTTONS = 45, // 0x0000002D + GM_INTERFACE_ICONS2 = 46, // 0x0000002E + GM_MINE_ANIMS = 47, // 0x0000002F + GM_TILE_BURNT = 48, // 0x00000030 + GM_CHURCHS = 49, // 0x00000031 + GM_INTERFACE_PANELS = 50, // 0x00000032 + GM_WORKSHOP_BREW_ANIMS = 51, // 0x00000033 + GM_CASTLES = 52, // 0x00000034 + GM_BODY_BREWER = 53, // 0x00000035 + GM_CASTLE_ANIMS = 54, // 0x00000036 + GM_MACRO_LAND = 55, // 0x00000037 + GM_ROCKS = 56, // 0x00000038 + GM_ROCKS_CHEVRONS = 57, // 0x00000039 + GM_WORKSHOP_SMITH_ANIMS = 58, // 0x0000003A + GM_BODY_BLACKSMITH = 59, // 0x0000003B + GM_LAND_AND_STONES = 60, // 0x0000003C + GM_BODY_IRONMINER = 61, // 0x0000003D + GM_BODY_CATAPULT = 62, // 0x0000003E + GM_BODY_COW = 63, // 0x0000003F + GM_WORKSHOP_POLE_ANIMS = 64, // 0x00000040 + GM_PITCH_ANIMS = 65, // 0x00000041 + GM_WORKSHOP_BAKER_ANIMS = 66, // 0x00000042 + GM_WOODCUTTER_ANIMS = 67, // 0x00000043 + GM_DRAWBRIDGE_ANIMS = 68, // 0x00000044 + GM_WORKSHOP_TANNER_ANIMS = 69, // 0x00000045 + GM_TREE_OAK = 70, // 0x00000046 + GM_TREE_SHRUB1 = 71, // 0x00000047 + GM_TREE_SHRUB2 = 72, // 0x00000048 + GM_BODY_PITCHWORKER = 73, // 0x00000049 + GM_BODY_POLETURNER = 74, // 0x0000004A + GM_BODY_TANNER = 75, // 0x0000004B + GM_FLAG_ANIMS = 76, // 0x0000004C + GM_BODY_TRADER_HORSE = 77, // 0x0000004D + GM_BODY_TRADER = 78, // 0x0000004E + GM_ICONS = 79, // 0x0000004F + GM_ICONS_ALPHA = 80, // 0x00000050 + GM_BODY_DRUNKARD = 81, // 0x00000051 + GM_BODY_TENT = 82, // 0x00000052 + GM_BODY_MANGONEL = 83, // 0x00000053 + GM_BODY_TREBUCHET = 84, // 0x00000054 + GM_FLOAT_POP_CIRC = 85, // 0x00000055 + GM_BODY_SIEGE_ENGINEER = 86, // 0x00000056 + GM_FONT_STRONGHOLD_AA = 87, // 0x00000057 + GM_FARMER_ANIMS = 88, // 0x00000058 + GM_BODY_HUNTER = 89, // 0x00000059 + GM_HUNTER_ANIMS = 90, // 0x0000005A + GM_BODY_DEER = 91, // 0x0000005B + GM_BODY_LION = 92, // 0x0000005C + GM_BODY_RABBIT = 93, // 0x0000005D + GM_BODY_CAMEL = 94, // 0x0000005E + GM_BODY_DOG = 95, // 0x0000005F + GM_BODY_PRIEST = 96, // 0x00000060 + GM_TREE_APPLE = 97, // 0x00000061 + GM_STABLE_ANIMS = 98, // 0x00000062 + GM_BODY_LADY = 99, // 0x00000063 + GM_BODY_LORD = 100, // 0x00000064 + GM_BODY_JESTER = 101, // 0x00000065 + GM_BODY_ARMOURER = 102, // 0x00000066 + GM_ARMOURER_ANIMS = 103, // 0x00000067 + GM_SHEILD_ANIMS = 104, // 0x00000068 + GM_ANIM_TUNNELERS_GUILD = 105, // 0x00000069 + GM_BODY_TUNNELER = 106, // 0x0000006A + GM_CURSORS = 107, // 0x0000006B + GM_MAPEDIT_BUTTONS = 108, // 0x0000006C + GM_BODY_FIGHTING_MONK = 109, // 0x0000006D + GM_OIL_ANIMS = 113, // 0x00000071 + GM_GALLOWS_ANIMS = 114, // 0x00000072 + GM_MAYPOLE_ANIMS = 115, // 0x00000073 + GM_BODY_OIL = 116, // 0x00000074 + GM_FONT_STRONGHOLD = 117, // 0x00000075 + GM_BODY_FIRE = 118, // 0x00000076 + GM_BODY_BURNING_MAN = 119, // 0x00000077 + GM_BODY_BALLISTA = 120, // 0x00000078 + GM_BODY_SHIELD = 121, // 0x00000079 + GM_BODY_MISSILE_2 = 122, // 0x0000007A + GM_BODY_BATTERING_RAM = 123, // 0x0000007B + GM_BODY_SIEGE_TOWER = 124, // 0x0000007C + GM_BODY_STEAM = 125, // 0x0000007D + GM_BODY_CHICKEN = 126, // 0x0000007E + GM_BODY_MOTHER = 127, // 0x0000007F + GM_BODY_BOY = 128, // 0x00000080 + GM_BODY_GIRL = 129, // 0x00000081 + GM_ANIM_TUNNELS = 130, // 0x00000082 + GM_BODY_JUGGLER = 131, // 0x00000083 + GM_BODY_FIREEATER = 132, // 0x00000084 + GM_BODY_HEALER = 133, // 0x00000085 + GM_BODY_DISEASE = 134, // 0x00000086 + GM_BODY_MISSILE_COW = 135, // 0x00000087 + GM_CRACKS = 136, // 0x00000088 + GM_BODY_GATE = 137, // 0x00000089 + GM_BODY_BRAZIER = 138, // 0x0000008A + GM_KILLING_PITS = 139, // 0x0000008B + GM_PITCH_DITCHES = 140, // 0x0000008C + GM_BLAST = 141, // 0x0000008D + GM_SCRIBE = 142, // 0x0000008E + GM_ANIM_ICON_KNIGHT = 143, // 0x0000008F + GM_BODY_FIRE2 = 144, // 0x00000090 + GM_ANIM_MISSILE_FIRE = 145, // 0x00000091 + GM_FONT_SLANTED = 146, // 0x00000092 + GM_BODY_INNKEEPER = 147, // 0x00000093 + GM_ICONS_FRONT_END = 148, // 0x00000094 + GM_TILE_RUINS = 149, // 0x00000095 + GM_ICONS_FRONT_END_COMBAT = 150, // 0x00000096 + GM_ICONS_FRONT_END_ECONOMICS = 151, // 0x00000097 + GM_ICONS_FRONT_END_BUILDER = 152, // 0x00000098 + GM_MINI_CURSORS = 153, // 0x00000099 + GM_BODY_CHICKEN_BROWN = 154, // 0x0000009A + GM_ANIM_MARKET = 155, // 0x0000009B + GM_INTERFACE_ICONS3 = 156, // 0x0000009C + GM_TILE_FLATTIES = 157, // 0x0000009D + GM_ROCK_CHIPS = 158, // 0x0000009E + GM_ANIM_DUNKING_STOOL = 159, // 0x0000009F + GM_ANIM_DUNGEON = 160, // 0x000000A0 + GM_ANIM_GIBBET = 161, // 0x000000A1 + GM_ANIM_HEALER = 162, // 0x000000A2 + GM_ANIM_STOCKS = 163, // 0x000000A3 + GM_INTERFACE_SLIDER = 164, // 0x000000A4 + GM_MAP_FLAGS = 165, // 0x000000A5 + GM_NEW_SEA = 166, // 0x000000A6 + GM_BODY_SEAGULL = 167, // 0x000000A7 + GM_BODY_CROW = 168, // 0x000000A8 + GM_PUFF_OF_SMOKE = 169, // 0x000000A9 + GM_BODY_SPLASH = 170, // 0x000000AA + GM_ANIM_INN = 171, // 0x000000AB + GM_FLOATS_NEW = 172, // 0x000000AC + GM_ANIM_WHITECAPS = 173, // 0x000000AD + GM_ARMY_UNITS = 174, // 0x000000AE + GM_ANIM_STAKE = 175, // 0x000000AF + GM_ANIM_KILLING_PITS = 176, // 0x000000B0 + GM_ENEMY_FACES = 177, // 0x000000B1 + GM_ANIM_RACK = 178, // 0x000000B2 + GM_ANIM_DOG_CAGE = 179, // 0x000000B3 + GM_ANIM_DANCING_BEAR = 180, // 0x000000B4 + GM_ANIM_CHOPPING_BLOCK = 181, // 0x000000B5 + GM_BODY_FIREMAN = 182, // 0x000000B6 + GM_INTERFACE_ARMY = 183, // 0x000000B7 + GM_INTERFACE_RUINS = 184, // 0x000000B8 + GM_BODY_ANIMAL_BURNING_BIG = 185, // 0x000000B9 + GM_BODY_ANIMAL_BURNING_SMALL = 186, // 0x000000BA + GM_ANIM_HEADS = 187, // 0x000000BB + GM_BODY_GHOST = 188, // 0x000000BC + GM_ANIM_FLAG_SMALL = 189, // 0x000000BD + GM_BODY_ARAB_BOW = 190, // 0x000000BE + GM_BODY_ARAB_SLAVE = 191, // 0x000000BF + GM_BODY_ARAB_SLINGER = 192, // 0x000000C0 + GM_BODY_ARAB_ASSASIN = 193, // 0x000000C1 + GM_BODY_ARAB_HORSEMAN = 194, // 0x000000C2 + GM_BODY_ARAB_SWORDSMAN = 195, // 0x000000C3 + GM_BODY_ARAB_GRENADIER = 196, // 0x000000C4 + GM_BODY_ARAB_BALLISTA = 197, // 0x000000C5 + GM_ASSASIN_ROPE = 198, // 0x000000C6 + GM_BODY_ARAB_HORSE = 199, // 0x000000C7 + GM_TREE_CACTII = 200, // 0x000000C8 + GM_ANIM_CRUSADER_FLAG = 201, // 0x000000C9 + GM_BODY_INFO = 202, // 0x000000CA + GM_BODY_WOLF = 203, // 0x000000CB + GM_BODY_ARABIC_LORD = 205, // 0x000000CD + GM_ADDITIONAL_GFX = 207, // 0x000000CF + GM_BODY_BEDOUIN_CAMEL_LANCER = 208, // 0x000000D0 + GM_BODY_BEDOUIN_HEALER = 209, // 0x000000D1 + GM_BODY_BEDOUIN_EUNUCH = 210, // 0x000000D2 + GM_BODY_BEDOUIN_AMBUSHER = 211, // 0x000000D3 + GM_BODY_BEDOUIN_SKIRMISHER = 212, // 0x000000D4 + GM_BODY_BEDOUIN_HEAVY_CAMEL = 213, // 0x000000D5 + GM_BODY_BEDOUIN_SAPPER = 214, // 0x000000D6 + GM_BODY_BEDOUIN_DEMOLISHER = 215, // 0x000000D7 + GM_FLOAT_POP_CIRC_2 = 218, // 0x000000DA + GM_BODY_MISSILE_FIREPOT = 219, // 0x000000DB + GM_BODY_JAVELIN = 220 // 0x000000DC + + } eGM; + + static_assert_cpp98_obj(sizeof(eGM) == 4, eGM); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eGMInt.hpp b/src/OpenSHC/_SHCDE/eGMInt.hpp new file mode 100644 index 0000000..4f63608 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eGMInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eGMInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eGM.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eGMInt; + + static_assert_cpp98_obj(sizeof(eGMInt) == 4, eGMInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eInBuildingModes.hpp b/src/OpenSHC/_SHCDE/eInBuildingModes.hpp new file mode 100644 index 0000000..5232093 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eInBuildingModes.hpp @@ -0,0 +1,112 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eInBuildingModes.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eInBuildingModes { + + IBM_INSIDE_NULL = 0, // 0x00000000 + IBM_INSIDE_BARRACKS = 1, // 0x00000001 + IBM_INSIDE_KEEP = 2, // 0x00000002 + IBM_INSIDE_INN = 3, // 0x00000003 + IBM_INSIDE_GRANARY = 4, // 0x00000004 + IBM_INSIDE_HOUSE = 5, // 0x00000005 + IBM_INSIDE_WOODCUTTERS_HUT = 6, // 0x00000006 + IBM_INSIDE_OXEN_BASE = 7, // 0x00000007 + IBM_INSIDE_IRON_MINE = 8, // 0x00000008 + IBM_INSIDE_PITCH_DIGGER = 9, // 0x00000009 + IBM_INSIDE_HUNTERS_HUT = 10, // 0x0000000A + IBM_INSIDE_GOODS_YARD = 11, // 0x0000000B + IBM_INSIDE_ARMOURY = 12, // 0x0000000C + IBM_INSIDE_FLETCHERS_WORKSHOP = 13, // 0x0000000D + IBM_INSIDE_BLACKSMITHS_WORKSHOP = 14, // 0x0000000E + IBM_INSIDE_POLETURNERS_WORKSHOP = 15, // 0x0000000F + IBM_INSIDE_ARMOURERS_WORKSHOP = 16, // 0x00000010 + IBM_INSIDE_TANNERS_WORKSHOP = 17, // 0x00000011 + IBM_INSIDE_BAKERS_WORKSHOP = 18, // 0x00000012 + IBM_INSIDE_BREWERS_WORKSHOP = 19, // 0x00000013 + IBM_INSIDE_QUARRY = 20, // 0x00000014 + IBM_INSIDE_QUARRYPILE = 21, // 0x00000015 + IBM_INSIDE_HEALERS = 22, // 0x00000016 + IBM_INSIDE_ENGINEERS_GUILD = 23, // 0x00000017 + IBM_INSIDE_TUNNELLERS_GUILD = 24, // 0x00000018 + IBM_INSIDE_TRADEPOST = 25, // 0x00000019 + IBM_INSIDE_WELL = 26, // 0x0000001A + IBM_INSIDE_OIL_SMELTER = 27, // 0x0000001B + IBM_INSIDE_SIEGE_TENT = 28, // 0x0000001C + IBM_INSIDE_WHEATFARM = 29, // 0x0000001D + IBM_INSIDE_HOPSFARM = 30, // 0x0000001E + IBM_INSIDE_APPLEFARM = 31, // 0x0000001F + IBM_INSIDE_CATTLEFARM = 32, // 0x00000020 + IBM_INSIDE_MILL = 33, // 0x00000021 + IBM_INSIDE_STABLES = 34, // 0x00000022 + IBM_INSIDE_CHURCH = 35, // 0x00000023 + IBM_INSIDE_GATEHOUSE = 36, // 0x00000024 + IBM_INSIDE_DRAWBRIDGE = 37, // 0x00000025 + IBM_INSIDE_POSTERN_GATE = 38, // 0x00000026 + IBM_INSIDE_TUNNEL_ENTERANCE = 39, // 0x00000027 + IBM_INSIDE_WATERPOT = 40, // 0x00000028 + IBM_INSIDE_SIGNPOST = 41, // 0x00000029 + IBM_INSIDE_KILLING_PIT = 42, // 0x0000002A + IBM_INSIDE_CAMPGROUND = 43, // 0x0000002B + IBM_INSIDE_MERCPOST = 44, // 0x0000002C + IBM_INSIDE_OUTPOST = 45, // 0x0000002D + IBM_INSIDE_TOWER = 46, // 0x0000002E + IBM_INSIDE_GALLOWS = 47, // 0x0000002F + IBM_INSIDE_STOCKS = 48, // 0x00000030 + IBM_INSIDE_WITCH_HOIST = 49, // 0x00000031 + IBM_INSIDE_MAYPOLE = 50, // 0x00000032 + IBM_INSIDE_GARDEN = 51, // 0x00000033 + IBM_INSIDE_PARADEGROUND = 52, // 0x00000034 + IBM_INSIDE_TRADEPOST_PRICES = 53, // 0x00000035 + IBM_INSIDE_TRADEPOST_FOOD = 54, // 0x00000036 + IBM_INSIDE_TRADEPOST_BULK = 55, // 0x00000037 + IBM_INSIDE_TRADEPOST_ARMS = 56, // 0x00000038 + IBM_INSIDE_TRADEPOST_DO_THE_TRADE = 57, // 0x00000039 + IBM_INSIDE_CATAPULT = 58, // 0x0000003A + IBM_INSIDE_TREBUCHET = 59, // 0x0000003B + IBM_INSIDE_SIEGE_TOWER = 60, // 0x0000003C + IBM_INSIDE_BATTERING_RAM = 61, // 0x0000003D + IBM_INSIDE_PORTABLE_SHIELD = 62, // 0x0000003E + IBM_INSIDE_BEDOUIN_STOCKADE = 63, // 0x0000003F + IBM_SUB_MODE_REPORTS_ARMY4 = 66, // 0x00000042 + IBM_SUB_MODE_REPORTS_ARMY3 = 67, // 0x00000043 + IBM_SUB_MODE_REPORTS_ARMY2 = 68, // 0x00000044 + IBM_SUB_MODE_REPORTS_EVENTS = 69, // 0x00000045 + IBM_INSIDE_CHIMP = 70, // 0x00000046 + IBM_SUB_MODE_REPORTS = 71, // 0x00000047 + IBM_SUB_MODE_REPORTS_POPULARITY = 72, // 0x00000048 + IBM_SUB_MODE_REPORTS_FEARFACTOR = 73, // 0x00000049 + IBM_SUB_MODE_REPORTS_POPULATION = 74, // 0x0000004A + IBM_SUB_MODE_REPORTS_FOOD = 75, // 0x0000004B + IBM_SUB_MODE_REPORTS_ARMY = 76, // 0x0000004C + IBM_SUB_MODE_REPORTS_STORES = 77, // 0x0000004D + IBM_SUB_MODE_REPORTS_WEAPONS = 78, // 0x0000004E + IBM_SUB_MODE_REPORTS_RELIGION = 79, // 0x0000004F + IBM_INSIDE_CESS_PIT = 80, // 0x00000050 + IBM_INSIDE_BURNING_STAKE = 81, // 0x00000051 + IBM_INSIDE_GIBBET = 82, // 0x00000052 + IBM_INSIDE_DUNGEON = 83, // 0x00000053 + IBM_INSIDE_STRETCHING_RACK = 84, // 0x00000054 + IBM_INSIDE_FLOGGING_RACK = 85, // 0x00000055 + IBM_INSIDE_CHOPPING_BLOCK = 86, // 0x00000056 + IBM_INSIDE_DUNKING_STOOL = 87, // 0x00000057 + IBM_INSIDE_DOG_CAGE = 88, // 0x00000058 + IBM_INSIDE_STATUE = 89, // 0x00000059 + IBM_INSIDE_SHRINE = 90, // 0x0000005A + IBM_INSIDE_BEEHIVE = 91, // 0x0000005B + IBM_INSIDE_DANCING_BEAR = 92, // 0x0000005C + IBM_INSIDE_POND = 93, // 0x0000005D + IBM_INSIDE_BEAR_CAVE = 94, // 0x0000005E + IBM_INSIDE_ARAB_BALLISTA = 95, // 0x0000005F + IBM_INSIDE_CATHEDRAL = 96 // 0x00000060 + + } eInBuildingModes; + + static_assert_cpp98_obj(sizeof(eInBuildingModes) == 4, eInBuildingModes); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp b/src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp new file mode 100644 index 0000000..2c9dbc1 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eInBuildingModesInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eInBuildingModes.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eInBuildingModesInt; + + static_assert_cpp98_obj(sizeof(eInBuildingModesInt) == 4, eInBuildingModesInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMappers.hpp b/src/OpenSHC/_SHCDE/eMappers.hpp new file mode 100644 index 0000000..657b373 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eMappers.hpp @@ -0,0 +1,508 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eMappers.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eMappers { + + M_MAPPER_NULL = 0, // 0x00000000 + M_MAPPER_AREA = 1, // 0x00000001 + M_MAPPER_RAISE = 2, // 0x00000002 + M_MAPPER_LOWER = 3, // 0x00000003 + M_MAPPER_SEA = 4, // 0x00000004 + M_MAPPER_LAND = 5, // 0x00000005 + M_MAPPER_FOREST = 6, // 0x00000006 + M_MAPPER_SCRUB = 7, // 0x00000007 + M_MAPPER_BEACH = 8, // 0x00000008 + M_MAPPER_SHALLOWS = 9, // 0x00000009 + M_MAPPER_ROCKY = 10, // 0x0000000A + M_MAPPER_STONES = 11, // 0x0000000B + M_MAPPER_BOULDERS = 12, // 0x0000000C + M_MAPPER_PEBBLES = 13, // 0x0000000D + M_MAPPER_RIVER = 14, // 0x0000000E + M_MAPPER_FORD = 15, // 0x0000000F + M_MAPPER_IRON = 16, // 0x00000010 + M_MAPPER_MARSH = 17, // 0x00000011 + M_MAPPER_DIRT = 18, // 0x00000012 + M_MAPPER_GRASS = 19, // 0x00000013 + M_MAPPER_BIGROCKS = 20, // 0x00000014 + M_MAPPER_DOWN = 20, // 0x00000014 + M_MAPPER_MIN = 21, // 0x00000015 + M_MAPPER_MAX = 22, // 0x00000016 + M_MAPPER_EQUALISE = 23, // 0x00000017 + M_MAPPER_PLATEAU = 24, // 0x00000018 + M_MAPPER_WALL = 25, // 0x00000019 + M_MAPPER_CRENAL = 26, // 0x0000001A + M_MAPPER_STAIR = 27, // 0x0000001B + M_MAPPER_TOWER = 28, // 0x0000001C + M_MAPPER_UP = 29, // 0x0000001D + M_MAPPER_EXIT = 31, // 0x0000001F + M_MAPPER_TOMAIN = 32, // 0x00000020 + M_MAPPER_TOTEST = 33, // 0x00000021 + M_MAPPER_PATROL = 34, // 0x00000022 + M_MAPPER_CRENAL2 = 35, // 0x00000023 + M_MAPPER_MOUNTAIN = 36, // 0x00000024 + M_MAPPER_HILL = 37, // 0x00000025 + M_MAPPER_AFFECT_TYPE = 38, // 0x00000026 + M_MAPPER_DELETE = 39, // 0x00000027 + M_MAPPER_CHESTNUT = 40, // 0x00000028 + M_MAPPER_OAK = 41, // 0x00000029 + M_MAPPER_PINE = 42, // 0x0000002A + M_MAPPER_BIRCH = 43, // 0x0000002B + M_MAPPER_UNDUGMOAT = 44, // 0x0000002C + M_MAPPER_DUGMOAT = 45, // 0x0000002D + M_MAPPER_WOODWALL = 46, // 0x0000002E + M_MAPPER_PLAIN1 = 47, // 0x0000002F + M_MAPPER_PLAIN2 = 48, // 0x00000030 + M_MAPPER_OIL = 49, // 0x00000031 + M_MAPPER_FLETCHER = 50, // 0x00000032 + M_MAPPER_WOODSMAN = 51, // 0x00000033 + M_MAPPER_STORES = 52, // 0x00000034 + M_MAPPER_OUTPOST_BEDOUIN = 53, // 0x00000035 + M_MAPPER_HOVEL = 54, // 0x00000036 + M_MAPPER_OXENBASE = 55, // 0x00000037 + M_MAPPER_QUARRY = 56, // 0x00000038 + M_MAPPER_TUNNEL = 57, // 0x00000039 + M_MAPPER_CAMP_FIRE = 58, // 0x0000003A + M_MAPPER_SIGNPOST = 59, // 0x0000003B + M_MAPPER_KEEP1 = 60, // 0x0000003C + M_MAPPER_KEEP2 = 61, // 0x0000003D + M_MAPPER_KEEP3 = 62, // 0x0000003E + M_MAPPER_KEEP4 = 63, // 0x0000003F + M_MAPPER_KEEP5 = 64, // 0x00000040 + M_MAPPER_STABLES = 65, // 0x00000041 + M_MAPPER_TUNNEL_CONSTRUCTION = 66, // 0x00000042 + M_MAPPER_UNUSED_2 = 68, // 0x00000044 + M_MAPPER_UNUSED_3 = 69, // 0x00000045 + M_MAPPER_WHEATFARM = 70, // 0x00000046 + M_MAPPER_HOPSFARM = 71, // 0x00000047 + M_MAPPER_APPLEFARM = 72, // 0x00000048 + M_MAPPER_CATTLEFARM = 73, // 0x00000049 + M_MAPPER_MILL = 74, // 0x0000004A + M_MAPPER_BAKER = 75, // 0x0000004B + M_MAPPER_BREWER = 76, // 0x0000004C + M_MAPPER_TRADEPOST = 77, // 0x0000004D + M_MAPPER_HUNTER = 78, // 0x0000004E + M_MAPPER_BEDOUIN_STOCKADE = 79, // 0x0000004F + M_MAPPER_GRANARY = 80, // 0x00000050 + M_MAPPER_ARMOURY = 81, // 0x00000051 + M_MAPPER_POLETURNER = 82, // 0x00000052 + M_MAPPER_BLACKSMITH = 83, // 0x00000053 + M_MAPPER_ARMOURER = 84, // 0x00000054 + M_MAPPER_TANNER = 85, // 0x00000055 + M_MAPPER_BARRACKS_WOOD = 86, // 0x00000056 + M_MAPPER_BARRACKS_STONE = 87, // 0x00000057 + M_MAPPER_ENGINEERS_GUILD = 88, // 0x00000058 + M_MAPPER_TUNNELERS_GUILD = 89, // 0x00000059 + M_MAPPER_IRON_MINE = 90, // 0x0000005A + M_MAPPER_PITCH_WORKINGS = 91, // 0x0000005B + M_MAPPER_INN = 92, // 0x0000005C + M_MAPPER_HEALER = 93, // 0x0000005D + M_MAPPER_SIEGE_TOWER_BASE = 94, // 0x0000005E + M_MAPPER_CHURCH1 = 95, // 0x0000005F + M_MAPPER_CHURCH2 = 96, // 0x00000060 + M_MAPPER_CHURCH3 = 97, // 0x00000061 + M_MAPPER_KILLING_PIT = 98, // 0x00000062 + M_MAPPER_PITCH_DITCH = 99, // 0x00000063 + M_MAPPER_GATEHOUSE = 100, // 0x00000064 + M_MAPPER_GATE_MAIN = 101, // 0x00000065 + M_MAPPER_GATE_INNER = 102, // 0x00000066 + M_MAPPER_GATE_WOOD = 103, // 0x00000067 + M_MAPPER_GATE_POSTERN = 104, // 0x00000068 + M_MAPPER_DRAWBRIDGE = 105, // 0x00000069 + M_MAPPER_MOAT = 106, // 0x0000006A + M_MAPPER_ANTIMOAT = 107, // 0x0000006B + M_MAPPER_GENERIC = 108, // 0x0000006C + M_MAPPER_QUARRYPILE = 109, // 0x0000006D + M_MAPPER_TOWER1 = 110, // 0x0000006E + M_MAPPER_TOWER2 = 111, // 0x0000006F + M_MAPPER_TOWER3 = 112, // 0x00000070 + M_MAPPER_TOWER4 = 113, // 0x00000071 + M_MAPPER_TOWER5 = 114, // 0x00000072 + M_MAPPER_TOWER1_DESTROYED = 115, // 0x00000073 + M_MAPPER_TOWER2_DESTROYED = 116, // 0x00000074 + M_MAPPER_TOWER3_DESTROYED = 117, // 0x00000075 + M_MAPPER_TOWER4_DESTROYED = 118, // 0x00000076 + M_MAPPER_TOWER5_DESTROYED = 119, // 0x00000077 + M_MAPPER_FLAG_TYPE0 = 120, // 0x00000078 + M_MAPPER_FLAG_TYPE1 = 121, // 0x00000079 + M_MAPPER_FLAG_TYPE2 = 122, // 0x0000007A + M_MAPPER_FLAG_TYPE3 = 123, // 0x0000007B + M_MAPPER_FLAG_TYPE4 = 124, // 0x0000007C + M_MAPPER_FLAG_TYPE5 = 125, // 0x0000007D + M_MAPPER_FLAG_TYPE6 = 126, // 0x0000007E + M_MAPPER_FLAG_TYPE7 = 127, // 0x0000007F + M_MAPPER_FLAG_TYPE8 = 128, // 0x00000080 + M_MAPPER_HEADS = 129, // 0x00000081 + M_MAPPER_SHRUB1A = 130, // 0x00000082 + M_MAPPER_SHRUB1B = 131, // 0x00000083 + M_MAPPER_SHRUB1C = 132, // 0x00000084 + M_MAPPER_SHRUB1D = 133, // 0x00000085 + M_MAPPER_SHRUB1E = 134, // 0x00000086 + M_MAPPER_SHRUB2A = 135, // 0x00000087 + M_MAPPER_SHRUB2B = 136, // 0x00000088 + M_MAPPER_SHRUB2C = 137, // 0x00000089 + M_MAPPER_SHRUB2D = 138, // 0x0000008A + M_MAPPER_SHRUB2E = 139, // 0x0000008B + M_MAPPER_GATE_WOOD1A = 140, // 0x0000008C + M_MAPPER_GATE_WOOD1B = 141, // 0x0000008D + M_MAPPER_GATE_WOOD1C = 142, // 0x0000008E + M_MAPPER_GATE_WOOD1D = 143, // 0x0000008F + M_MAPPER_GATE_STONE1A = 144, // 0x00000090 + M_MAPPER_GATE_STONE1B = 145, // 0x00000091 + M_MAPPER_GATE_STONE2A = 146, // 0x00000092 + M_MAPPER_GATE_STONE2B = 147, // 0x00000093 + M_MAPPER_BRAZIER = 148, // 0x00000094 + M_MAPPER_UNUSED_7 = 149, // 0x00000095 + M_MAPPER_FOAM = 150, // 0x00000096 + M_MAPPER_RIPPLE = 151, // 0x00000097 + M_MAPPER_TO_MAP_EDIT = 152, // 0x00000098 + M_MAPPER_SHRUB3A = 153, // 0x00000099 + M_MAPPER_SHRUB3B = 154, // 0x0000009A + M_MAPPER_SHRUB3C = 155, // 0x0000009B + M_MAPPER_SHRUB3D = 156, // 0x0000009C + M_MAPPER_UNUSED_12 = 157, // 0x0000009D + M_MAPPER_UNUSED_13 = 158, // 0x0000009E + M_MAPPER_UNUSED_14 = 159, // 0x0000009F + M_MAPPER_GARDEN1 = 160, // 0x000000A0 + M_MAPPER_GARDEN2 = 161, // 0x000000A1 + M_MAPPER_GARDEN3 = 162, // 0x000000A2 + M_MAPPER_GARDEN4 = 163, // 0x000000A3 + M_MAPPER_GARDEN5 = 164, // 0x000000A4 + M_MAPPER_GARDEN6 = 165, // 0x000000A5 + M_MAPPER_GARDEN7 = 166, // 0x000000A6 + M_MAPPER_GARDEN8 = 167, // 0x000000A7 + M_MAPPER_GARDEN9 = 168, // 0x000000A8 + M_MAPPER_GARDEN10 = 169, // 0x000000A9 + M_MAPPER_GARDEN11 = 170, // 0x000000AA + M_MAPPER_GARDEN12 = 171, // 0x000000AB + M_MAPPER_UNUSED_15 = 172, // 0x000000AC + M_MAPPER_UNUSED_16 = 173, // 0x000000AD + M_MAPPER_UNUSED_17 = 174, // 0x000000AE + M_MAPPER_MAYPOLE = 175, // 0x000000AF + M_MAPPER_GALLOWS = 176, // 0x000000B0 + M_MAPPER_STOCKS = 177, // 0x000000B1 + M_MAPPER_OUTPOST = 178, // 0x000000B2 + M_MAPPER_OUTPOST_ARAB = 179, // 0x000000B3 + M_MAPPER_OIL_SMELTER = 180, // 0x000000B4 + M_MAPPER_STAIR1 = 181, // 0x000000B5 + M_MAPPER_STAIR2 = 182, // 0x000000B6 + M_MAPPER_STAIR3 = 183, // 0x000000B7 + M_MAPPER_STAIR4 = 184, // 0x000000B8 + M_MAPPER_STAIR5 = 185, // 0x000000B9 + M_MAPPER_STAIR6 = 186, // 0x000000BA + M_MAPPER_UNUSED_26 = 187, // 0x000000BB + M_MAPPER_UNUSED_27 = 188, // 0x000000BC + M_MAPPER_UNUSED_28 = 189, // 0x000000BD + M_MAPPER_CATAPULT = 190, // 0x000000BE + M_MAPPER_TREBUCHET = 191, // 0x000000BF + M_MAPPER_SIEGE_TOWER = 192, // 0x000000C0 + M_MAPPER_BATTERING_RAM = 193, // 0x000000C1 + M_MAPPER_PORTABLE_SHIELD = 194, // 0x000000C2 + M_MAPPER_DOCK = 195, // 0x000000C3 + M_MAPPER_DOCK2 = 196, // 0x000000C4 + M_MAPPER_DOCK3 = 197, // 0x000000C5 + M_MAPPER_DOCK4 = 198, // 0x000000C6 + M_MAPPER_UNUSED_33 = 199, // 0x000000C7 + M_MAPPER_BACK = 200, // 0x000000C8 + M_MAPPER_CHECK_BOX = 201, // 0x000000C9 + M_MAPPER_TEST = 202, // 0x000000CA + M_MAPPER_REBUILD = 203, // 0x000000CB + M_MAPPER_SNAP_TO = 204, // 0x000000CC + M_MAPPER_BIGROCK1 = 205, // 0x000000CD + M_MAPPER_BIGROCK2 = 206, // 0x000000CE + M_MAPPER_BIGROCK3 = 207, // 0x000000CF + M_MAPPER_BIGROCK4 = 208, // 0x000000D0 + M_MAPPER_BIGROCK5 = 209, // 0x000000D1 + M_MAPPER_MANGONEL = 210, // 0x000000D2 + M_MAPPER_BALLISTA = 211, // 0x000000D3 + M_MAPPER_UNUSED_34 = 212, // 0x000000D4 + M_MAPPER_UNUSED_35 = 213, // 0x000000D5 + M_MAPPER_UNUSED_36 = 214, // 0x000000D6 + M_MAPPER_UNUSED_37 = 215, // 0x000000D7 + M_MAPPER_UNUSED_38 = 216, // 0x000000D8 + M_MAPPER_UNUSED_39 = 217, // 0x000000D9 + M_MAPPER_UNUSED_40 = 218, // 0x000000DA + M_MAPPER_UNUSED_41 = 219, // 0x000000DB + M_MAPPER_DEER = 220, // 0x000000DC + M_MAPPER_WOLF = 221, // 0x000000DD + M_MAPPER_RABBIT = 222, // 0x000000DE + M_MAPPER_BEAR = 223, // 0x000000DF + M_MAPPER_CROW = 224, // 0x000000E0 + M_MAPPER_SEAGULL = 225, // 0x000000E1 + M_MAPPER_UNUSED_42 = 226, // 0x000000E2 + M_MAPPER_UNUSED_44 = 227, // 0x000000E3 + M_MAPPER_UNUSED_45 = 228, // 0x000000E4 + M_MAPPER_UNUSED_46 = 229, // 0x000000E5 + M_MAPPER_MAP_SIZE = 230, // 0x000000E6 + M_MAPPER_SUB_MODE_HEIGHT = 231, // 0x000000E7 + M_MAPPER_SUB_MODE_TYPE = 232, // 0x000000E8 + M_MAPPER_SUB_MODE_OBJ = 234, // 0x000000EA + M_MAPPER_SUB_MODE_ANIMAL = 235, // 0x000000EB + M_MAPPER_SUB_MODE_WATER = 236, // 0x000000EC + M_MAPPER_SUB_MODE_FEATURE = 237, // 0x000000ED + M_MAPPER_ESTUARY = 238, // 0x000000EE + M_MAPPER_SUB_MODE_FEATURE_MP = 239, // 0x000000EF + M_MAPPER_MP_KEEP1 = 240, // 0x000000F0 + M_MAPPER_REPORT1 = 240, // 0x000000F0 + M_MAPPER_MP_KEEP2 = 241, // 0x000000F1 + M_MAPPER_REPORT2 = 241, // 0x000000F1 + M_MAPPER_MP_KEEP3 = 242, // 0x000000F2 + M_MAPPER_REPORT3 = 242, // 0x000000F2 + M_MAPPER_MP_KEEP4 = 243, // 0x000000F3 + M_MAPPER_REPORT4 = 243, // 0x000000F3 + M_MAPPER_MP_KEEP5 = 244, // 0x000000F4 + M_MAPPER_REPORT5 = 244, // 0x000000F4 + M_MAPPER_MP_KEEP6 = 245, // 0x000000F5 + M_MAPPER_REPORT6 = 245, // 0x000000F5 + M_MAPPER_MP_KEEP7 = 246, // 0x000000F6 + M_MAPPER_REPORT7 = 246, // 0x000000F6 + M_MAPPER_MP_KEEP8 = 247, // 0x000000F7 + M_MAPPER_REPORT8 = 247, // 0x000000F7 + M_MAPPER_POND5 = 265, // 0x00000109 + M_MAPPER_POND6 = 266, // 0x0000010A + M_MAPPER_POND7 = 267, // 0x0000010B + M_MAPPER_POND8 = 268, // 0x0000010C + M_MAPPER_UNUSED_56 = 269, // 0x0000010D + M_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E + M_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F + M_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 + M_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 + M_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 + M_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 + M_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 + M_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 + M_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 + M_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 + M_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 + M_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 + M_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A + M_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B + M_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C + M_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D + M_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E + M_MAPPER_STANCE_STAND = 287, // 0x0000011F + M_MAPPER_STANCE_DEFENSIVE = 288, // 0x00000120 + M_MAPPER_STANCE_AGGRESSIVE = 289, // 0x00000121 + M_MAPPER_TROOP_STOP = 290, // 0x00000122 + M_MAPPER_ENGINEER_BUILD = 291, // 0x00000123 + M_MAPPER_BUILD_BACK = 292, // 0x00000124 + M_MAPPER_BUY_AMMO = 293, // 0x00000125 + M_MAPPER_UNUSED_57 = 294, // 0x00000126 + M_MAPPER_UNUSED_58 = 295, // 0x00000127 + M_MAPPER_UNUSED_59 = 296, // 0x00000128 + M_MAPPER_UNUSED_60 = 297, // 0x00000129 + M_MAPPER_UNUSED_61 = 298, // 0x0000012A + M_MAPPER_UNUSED_62 = 299, // 0x0000012B + M_MAPPER_UNUSED_63 = 300, // 0x0000012C + M_MAPPER_CESS_PIT1 = 301, // 0x0000012D + M_MAPPER_CESS_PIT2 = 302, // 0x0000012E + M_MAPPER_CESS_PIT3 = 303, // 0x0000012F + M_MAPPER_CESS_PIT4 = 304, // 0x00000130 + M_MAPPER_BURNING_STAKE = 305, // 0x00000131 + M_MAPPER_GIBBET = 306, // 0x00000132 + M_MAPPER_DUNGEON = 307, // 0x00000133 + M_MAPPER_RACK_STRETCHING = 308, // 0x00000134 + M_MAPPER_RACK_FLOGGING = 309, // 0x00000135 + M_MAPPER_CHOPPING_BLOCK = 310, // 0x00000136 + M_MAPPER_DUNKING_STOOL = 311, // 0x00000137 + M_MAPPER_DOG_CAGE = 312, // 0x00000138 + M_MAPPER_STATUE1 = 313, // 0x00000139 + M_MAPPER_STATUE2 = 314, // 0x0000013A + M_MAPPER_STATUE3 = 315, // 0x0000013B + M_MAPPER_STATUE4 = 316, // 0x0000013C + M_MAPPER_STATUE5 = 317, // 0x0000013D + M_MAPPER_SHRINE1 = 318, // 0x0000013E + M_MAPPER_SHRINE2 = 319, // 0x0000013F + M_MAPPER_SHRINE3 = 320, // 0x00000140 + M_MAPPER_SHRINE4 = 321, // 0x00000141 + M_MAPPER_SHRINE5 = 322, // 0x00000142 + M_MAPPER_BEE_HIVE = 323, // 0x00000143 + M_MAPPER_DANCING_BEAR = 324, // 0x00000144 + M_MAPPER_POND1 = 325, // 0x00000145 + M_MAPPER_POND2 = 326, // 0x00000146 + M_MAPPER_POND3 = 327, // 0x00000147 + M_MAPPER_POND4 = 328, // 0x00000148 + M_MAPPER_BEAR_CAVE = 329, // 0x00000149 + M_MAPPER_WELL = 330, // 0x0000014A + M_MAPPER_AREA_BACK = 331, // 0x0000014B + M_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C + M_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D + M_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E + M_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F + M_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 + M_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 + M_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 + M_MAPPER_DUNES = 340, // 0x00000154 + M_MAPPER_SCRUBGRASS = 341, // 0x00000155 + M_MAPPER_WATERPOT = 342, // 0x00000156 + M_MAPPER_SUB_MENU_KEEPS = 343, // 0x00000157 + M_MAPPER_SUB_MENU_GATEHOUSES_WOOD = 344, // 0x00000158 + M_MAPPER_SUB_MENU_GATEHOUSES_STONESMALL = 345, // 0x00000159 + M_MAPPER_SUB_MENU_GATEHOUSES_STONELARGE = 346, // 0x0000015A + M_MAPPER_SUB_MENU_GOOD = 347, // 0x0000015B + M_MAPPER_SUB_MENU_BAD = 348, // 0x0000015C + M_MAPPER_DELETE_EDITOR = 349, // 0x0000015D + M_MAPPER_PEOPLE_ARAB_BOW = 350, // 0x0000015E + M_MAPPER_PEOPLE_ARAB_SLAVE = 351, // 0x0000015F + M_MAPPER_PEOPLE_ARAB_SLINGER = 352, // 0x00000160 + M_MAPPER_PEOPLE_ARAB_ASSASIN = 353, // 0x00000161 + M_MAPPER_PEOPLE_ARAB_HORSEMAN = 354, // 0x00000162 + M_MAPPER_PEOPLE_ARAB_SWORDSMAN = 355, // 0x00000163 + M_MAPPER_PEOPLE_ARAB_GRENADIER = 356, // 0x00000164 + M_MAPPER_PEOPLE_ARAB_BALLISTA = 357, // 0x00000165 + M_MAPPER_ARAB_BALLISTA = 358, // 0x00000166 + M_MAPPER_PLACE_ASSEMBLY_POINTM1 = 360, // 0x00000168 + M_MAPPER_PLACE_ASSEMBLY_POINTM2 = 361, // 0x00000169 + M_MAPPER_PLACE_ASSEMBLY_POINTM3 = 362, // 0x0000016A + M_MAPPER_PLACE_ASSEMBLY_POINTM4 = 363, // 0x0000016B + M_MAPPER_PLACE_ASSEMBLY_POINTM5 = 364, // 0x0000016C + M_MAPPER_PLACE_ASSEMBLY_POINTM6 = 365, // 0x0000016D + M_MAPPER_PLACE_ASSEMBLY_POINTM7 = 366, // 0x0000016E + M_MAPPER_PLACE_ASSEMBLY_POINTE1 = 367, // 0x0000016F + M_MAPPER_PLACE_ASSEMBLY_POINTE2 = 368, // 0x00000170 + M_MAPPER_PLACE_ASSEMBLY_POINTT1 = 369, // 0x00000171 + M_MAPPER_PLACE_ASSEMBLY_POINTK1 = 370, // 0x00000172 + M_MAPPER_MENU_RETURN_TOWERS = 371, // 0x00000173 + M_MAPPER_MENU_RETURN_GATEHOUSES = 372, // 0x00000174 + M_MAPPER_MENU_RETURN_MILITARY = 373, // 0x00000175 + M_MAPPER_MENU_RETURN_KEEPS = 374, // 0x00000176 + M_MAPPER_MENU_RETURN_GOOD = 375, // 0x00000177 + M_MAPPER_MENU_RETURN_BAD = 376, // 0x00000178 + M_MAPPER_SUB_MENU_TOWERS = 377, // 0x00000179 + M_MAPPER_SUB_MENU_MILITARY = 378, // 0x0000017A + M_MAPPER_SUB_MENU_GATEHOUSES = 379, // 0x0000017B + M_MAPPER_MARKER_POINT1 = 380, // 0x0000017C + M_MAPPER_MARKER_POINT2 = 381, // 0x0000017D + M_MAPPER_MARKER_POINT3 = 382, // 0x0000017E + M_MAPPER_MARKER_POINT4 = 383, // 0x0000017F + M_MAPPER_MARKER_POINT5 = 384, // 0x00000180 + M_MAPPER_MARKER_POINT6 = 385, // 0x00000181 + M_MAPPER_MARKER_POINT7 = 386, // 0x00000182 + M_MAPPER_MARKER_POINT8 = 387, // 0x00000183 + M_MAPPER_MARKER_POINT9 = 388, // 0x00000184 + M_MAPPER_MARKER_POINT10 = 389, // 0x00000185 + M_MAPPER_PLACE_ASSEMBLY_POINTBS1 = 391, // 0x00000187 + M_MAPPER_PLACE_ASSEMBLY_POINTBS2 = 392, // 0x00000188 + M_MAPPER_PLACE_ASSEMBLY_POINTBS3 = 393, // 0x00000189 + M_MAPPER_PLACE_ASSEMBLY_POINTBS4 = 394, // 0x0000018A + M_MAPPER_PLACE_ASSEMBLY_POINTBS5 = 395, // 0x0000018B + M_MAPPER_PLACE_ASSEMBLY_POINTBS6 = 396, // 0x0000018C + M_MAPPER_PLACE_ASSEMBLY_POINTBS7 = 397, // 0x0000018D + M_MAPPER_PLACE_ASSEMBLY_POINTBS8 = 398, // 0x0000018E + M_MAPPER_PEOPLE_BEDOUIN_CAMEL_LANCER = 400, // 0x00000190 + M_MAPPER_PEOPLE_BEDOUIN_HEALER = 401, // 0x00000191 + M_MAPPER_PEOPLE_BEDOUIN_EUNUCH = 402, // 0x00000192 + M_MAPPER_PEOPLE_BEDOUIN_AMBUSHER = 403, // 0x00000193 + M_MAPPER_PEOPLE_BEDOUIN_SKIRMISHER = 404, // 0x00000194 + M_MAPPER_PEOPLE_BEDOUIN_HEAVY_CAMEL = 405, // 0x00000195 + M_MAPPER_PEOPLE_BEDOUIN_SAPPER = 406, // 0x00000196 + M_MAPPER_PEOPLE_BEDOUIN_DEMOLISHER = 407, // 0x00000197 + M_MAPPER_RUINS1 = 410, // 0x0000019A + M_MAPPER_RUINS2 = 411, // 0x0000019B + M_MAPPER_RUINS3 = 412, // 0x0000019C + M_MAPPER_RUINS4 = 413, // 0x0000019D + M_MAPPER_RUINS5 = 414, // 0x0000019E + M_MAPPER_RUINS6 = 415, // 0x0000019F + M_MAPPER_RUINS7 = 416, // 0x000001A0 + M_MAPPER_RUINS8 = 417, // 0x000001A1 + M_MAPPER_RUINS9 = 418, // 0x000001A2 + M_MAPPER_RUINS10 = 419, // 0x000001A3 + M_MAPPER_RUINS11 = 420, // 0x000001A4 + M_MAPPER_RUINS12 = 421, // 0x000001A5 + M_MAPPER_RUINS13 = 422, // 0x000001A6 + M_MAPPER_RUINS14 = 423, // 0x000001A7 + M_MAPPER_RUINS15 = 424, // 0x000001A8 + M_MAPPER_RUINS16 = 425, // 0x000001A9 + M_MAPPER_RUINS17 = 426, // 0x000001AA + M_MAPPER_RUINS18 = 427, // 0x000001AB + M_MAPPER_RUINS19 = 428, // 0x000001AC + M_MAPPER_RUINS20 = 429, // 0x000001AD + M_MAPPER_RUINS21 = 430, // 0x000001AE + M_MAPPER_RUINS22 = 431, // 0x000001AF + M_MAPPER_RUINS23 = 432, // 0x000001B0 + M_MAPPER_RUINS24 = 433, // 0x000001B1 + M_MAPPER_RUINS25 = 434, // 0x000001B2 + M_MAPPER_RUINS26 = 435, // 0x000001B3 + M_MAPPER_RUINS27 = 436, // 0x000001B4 + M_MAPPER_RUINS28 = 437, // 0x000001B5 + M_MAPPER_RUINS29 = 438, // 0x000001B6 + M_MAPPER_RUINS30 = 439, // 0x000001B7 + M_MAPPER_RUINS31 = 440, // 0x000001B8 + M_MAPPER_RUINS32 = 441, // 0x000001B9 + M_MAPPER_RUINS33 = 442, // 0x000001BA + M_MAPPER_RUINS34 = 443, // 0x000001BB + M_END_OF_MAPPERS = 450, // 0x000001C2 + eMappersInt__M_MAPPER_PATH_END = 35, // 0x00000023 + eMappersInt__M_MAPPER_HOUSE = 53, // 0x00000035 + eMappersInt__M_MAPPER_UNUSED_1 = 67, // 0x00000043 + eMappersInt__M_MAPPER_UNUSED_4 = 79, // 0x0000004F + eMappersInt__M_MAPPER_UNUSED_5 = 108, // 0x0000006C + eMappersInt__M_MAPPER_UNUSED_6 = 109, // 0x0000006D + eMappersInt__M_MAPPER_UNUSED_8 = 153, // 0x00000099 + eMappersInt__M_MAPPER_UNUSED_9 = 154, // 0x0000009A + eMappersInt__M_MAPPER_UNUSED_10 = 155, // 0x0000009B + eMappersInt__M_MAPPER_UNUSED_11 = 156, // 0x0000009C + eMappersInt__M_MAPPER_UNUSED_18 = 178, // 0x000000B2 + eMappersInt__M_MAPPER_UNUSED_19 = 179, // 0x000000B3 + eMappersInt__M_MAPPER_UNUSED_20 = 181, // 0x000000B5 + eMappersInt__M_MAPPER_UNUSED_21 = 182, // 0x000000B6 + eMappersInt__M_MAPPER_UNUSED_22 = 183, // 0x000000B7 + eMappersInt__M_MAPPER_UNUSED_23 = 184, // 0x000000B8 + eMappersInt__M_MAPPER_UNUSED_24 = 185, // 0x000000B9 + eMappersInt__M_MAPPER_UNUSED_25 = 186, // 0x000000BA + eMappersInt__M_MAPPER_UNUSED_29 = 195, // 0x000000C3 + eMappersInt__M_MAPPER_UNUSED_30 = 196, // 0x000000C4 + eMappersInt__M_MAPPER_UNUSED_31 = 197, // 0x000000C5 + eMappersInt__M_MAPPER_UNUSED_32 = 198, // 0x000000C6 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS1 = 248, // 0x000000F8 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS2 = 249, // 0x000000F9 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS3 = 250, // 0x000000FA + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS4 = 251, // 0x000000FB + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS5 = 252, // 0x000000FC + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS6 = 253, // 0x000000FD + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS7 = 254, // 0x000000FE + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS8 = 255, // 0x000000FF + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS9 = 256, // 0x00000100 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS10 = 257, // 0x00000101 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS11 = 258, // 0x00000102 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS12 = 259, // 0x00000103 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS13 = 260, // 0x00000104 + eMappersInt__M_MAPPER_UNUSED_48 = 261, // 0x00000105 + eMappersInt__M_MAPPER_UNUSED_49 = 262, // 0x00000106 + eMappersInt__M_MAPPER_UNUSED_50 = 263, // 0x00000107 + eMappersInt__M_MAPPER_UNUSED_51 = 264, // 0x00000108 + eMappersInt__M_MAPPER_UNUSED_52 = 265, // 0x00000109 + eMappersInt__M_MAPPER_UNUSED_53 = 266, // 0x0000010A + eMappersInt__M_MAPPER_UNUSED_54 = 267, // 0x0000010B + eMappersInt__M_MAPPER_UNUSED_55 = 268, // 0x0000010C + NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_TOWERS = 340, // 0x00000154 + NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_MILITARY = 341, // 0x00000155 + NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_GATEHOUSES = 342, // 0x00000156 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT1 = 350, // 0x0000015E + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT2 = 351, // 0x0000015F + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT3 = 352, // 0x00000160 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT4 = 353, // 0x00000161 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT5 = 354, // 0x00000162 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT6 = 355, // 0x00000163 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT7 = 356, // 0x00000164 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT8 = 357, // 0x00000165 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT9 = 358, // 0x00000166 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT10 = 359, // 0x00000167 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_TOWERS = 360, // 0x00000168 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_GATEHOUSES = 361, // 0x00000169 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_MILITARY = 362, // 0x0000016A + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_KEEPS = 363, // 0x0000016B + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_GOOD = 364, // 0x0000016C + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_BAD = 365, // 0x0000016D + NAME_CONFLICT__eMappersInt_M_END_OF_MAPPERS = 370 // 0x00000172 + + } eMappers; + + static_assert_cpp98_obj(sizeof(eMappers) == 4, eMappers); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMappersInt.hpp b/src/OpenSHC/_SHCDE/eMappersInt.hpp new file mode 100644 index 0000000..276d0f8 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eMappersInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eMappersInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eMappers.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eMappersInt; + + static_assert_cpp98_obj(sizeof(eMappersInt) == 4, eMappersInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMusicIDs.hpp b/src/OpenSHC/_SHCDE/eMusicIDs.hpp new file mode 100644 index 0000000..60500bd --- /dev/null +++ b/src/OpenSHC/_SHCDE/eMusicIDs.hpp @@ -0,0 +1,87 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eMusicIDs.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eMusicIDs { + + MUSIC_TUNE_OFF = 0, // 0x00000000 + MUSIC_TUNE_BATTLE = 2, // 0x00000002 + MUSIC_TUNE_INTRO = 3, // 0x00000003 + MUSIC_TUNE_NARR1 = 4, // 0x00000004 + MUSIC_TUNE_NARR2 = 5, // 0x00000005 + MUSIC_TUNE_MONK = 6, // 0x00000006 + MUSIC_TUNE_CHOIR = 7, // 0x00000007 + MUSIC_TUNE_CHOIR2 = 8, // 0x00000008 + MUSIC_TUNE_TUTORIAL = 9, // 0x00000009 + MUSIC_TUNE_MAIN = 10, // 0x0000000A + MUSIC_TUNE_SAD = 10, // 0x0000000A + MUSIC_TUNE_SAD2 = 11, // 0x0000000B + MUSIC_TUNE_AVG = 12, // 0x0000000C + MUSIC_TUNE_AVG2 = 13, // 0x0000000D + MUSIC_TUNE_HAPPY = 14, // 0x0000000E + MUSIC_TUNE_HAPPY2 = 15, // 0x0000000F + MUSIC_TUNE_GOOD = 16, // 0x00000010 + MUSIC_TUNE_BAD = 17, // 0x00000011 + MUSIC_TUNE_SAD3 = 18, // 0x00000012 + MUSIC_TUNE_SAD4 = 19, // 0x00000013 + MUSIC_TUNE_HAPPY3 = 20, // 0x00000014 + MUSIC_GERMAN_EGG = 21, // 0x00000015 + MUSIC_TUNE_BATTLE1A = 22, // 0x00000016 + MUSIC_TUNE_BATTLE1B = 23, // 0x00000017 + MUSIC_TUNE_BATTLE2A = 24, // 0x00000018 + MUSIC_TUNE_BATTLE2B = 25, // 0x00000019 + MUSIC_TUNE_BATTLE2C = 26, // 0x0000001A + MUSIC_TUNE_BATTLE3 = 27, // 0x0000001B + MUSIC_TUNE_BATTLE4 = 28, // 0x0000001C + MUSIC_TUNE_BATTLE_L1A = 29, // 0x0000001D + MUSIC_TUNE_BATTLE_L1B = 30, // 0x0000001E + MUSIC_TUNE_BATTLE_L1C = 31, // 0x0000001F + MUSIC_TUNE_BATTLE_L1D = 32, // 0x00000020 + MUSIC_TUNE_BATTLE_L2_GLORY1 = 33, // 0x00000021 + MUSIC_TUNE_BATTLE_L2_GLORY2 = 34, // 0x00000022 + MUSIC_TUNE_BATTLE_L2_GLORY3 = 35, // 0x00000023 + MUSIC_TUNE_BATTLE_L2_GLORY4 = 36, // 0x00000024 + MUSIC_TUNE_BATTLE_L2_GLORY5 = 37, // 0x00000025 + MUSIC_TUNE_BATTLE_L2_GLORY6 = 38, // 0x00000026 + MUSIC_TUNE_BATTLE_L2_PLOOP = 39, // 0x00000027 + MUSIC_TUNE_BATTLE_L2_DLOOP1 = 40, // 0x00000028 + MUSIC_TUNE_BATTLE_L2_DLOOP2 = 41, // 0x00000029 + MUSIC_TUNE_WIN1 = 42, // 0x0000002A + MUSIC_TUNE_WIN2 = 43, // 0x0000002B + MUSIC_TUNE_WIN3 = 44, // 0x0000002C + MUSIC_TUNE_LOSE1 = 45, // 0x0000002D + MUSIC_TUNE_LOSE2 = 46, // 0x0000002E + MUSIC_PRE_MISSION1 = 47, // 0x0000002F + MUSIC_PRE_MISSION2 = 48, // 0x00000030 + MUSIC_PRE_MISSION3 = 49, // 0x00000031 + MUSIC_PRE_MISSION4 = 50, // 0x00000032 + MUSIC_AFTERMATH = 67, // 0x00000043 + MUSIC_FLUTE7 = 72, // 0x00000048 + MUSIC_OUD1 = 73, // 0x00000049 + MUSIC_FLUTE1 = 97, // 0x00000061 + MUSIC_PRE_MISSION21 = 116, // 0x00000074 + MUSIC_PRE_MISSION22 = 117, // 0x00000075 + MUSIC_PRE_MISSION23 = 118, // 0x00000076 + MUSIC_PRE_MISSION24 = 119, // 0x00000077 + MUSIC_PRE_MISSION25 = 120, // 0x00000078 + MUSIC_PRE_MISSION26 = 121, // 0x00000079 + MUSIC_PRE_MISSION27 = 122, // 0x0000007A + MUSIC_PRE_MISSION28 = 123, // 0x0000007B + MUSIC_PRE_MISSION29 = 124, // 0x0000007C + MUSIC_PRE_MISSION30 = 125, // 0x0000007D + MUSIC_PRE_MISSION31 = 126, // 0x0000007E + MUSIC_PRE_MISSION32 = 127, // 0x0000007F + MUSIC_PRE_MISSION33 = 128, // 0x00000080 + MUSIC_PRE_MISSION34 = 129, // 0x00000081 + MUSIC_PRE_MISSION35 = 130 // 0x00000082 + + } eMusicIDs; + + static_assert_cpp98_obj(sizeof(eMusicIDs) == 4, eMusicIDs); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMusicIDsInt.hpp b/src/OpenSHC/_SHCDE/eMusicIDsInt.hpp new file mode 100644 index 0000000..8f4bdc0 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eMusicIDsInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eMusicIDsInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eMusicIDs.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eMusicIDsInt; + + static_assert_cpp98_obj(sizeof(eMusicIDsInt) == 4, eMusicIDsInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eOnScreenText.hpp b/src/OpenSHC/_SHCDE/eOnScreenText.hpp new file mode 100644 index 0000000..8e6b928 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eOnScreenText.hpp @@ -0,0 +1,41 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eOnScreenText.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eOnScreenText { + + OST_CHAT = 0, // 0x00000000 + OST_DATE = 1, // 0x00000001 + OST_MULTI_CHAT = 3, // 0x00000003 + OST_FEEDBACK_1 = 4, // 0x00000004 + OST_FEEDBACK_2 = 5, // 0x00000005 + OST_FRAMERATE = 6, // 0x00000006 + OST_POPULARITY = 11, // 0x0000000B + OST_STARTING_GOODS = 12, // 0x0000000C + OST_MP_GAME_OVER = 16, // 0x00000010 + OST_MISSION_FINISHED = 17, // 0x00000011 + OST_SPLIT_MESSAGE = 19, // 0x00000013 + OST_KEEP_MESSAGE = 20, // 0x00000014 + OST_WHO_OWNS = 21, // 0x00000015 + OST_PINGS = 22, // 0x00000016 + OST_GAME_PAUSED = 23, // 0x00000017 + OST_GAME_SPEED = 24, // 0x00000018 + OST_KING_OF_THE_HILL = 25, // 0x00000019 + OST_WIN_TIMER = 26, // 0x0000001A + OST_TIMETODEFEAT = 27, // 0x0000001B + OST_PING_ERROR = 28, // 0x0000001C + OST_PEOPLE_LEFT = 29, // 0x0000001D + OST_MESSAGE_BAR = 30, // 0x0000001E + OST_PEACETIMER = 31, // 0x0000001F + OST_NUM_OST = 32 // 0x00000020 + + } eOnScreenText; + + static_assert_cpp98_obj(sizeof(eOnScreenText) == 4, eOnScreenText); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp b/src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp new file mode 100644 index 0000000..8dbef27 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eOnScreenTextInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eOnScreenText.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eOnScreenTextInt; + + static_assert_cpp98_obj(sizeof(eOnScreenTextInt) == 4, eOnScreenTextInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eSFX.hpp b/src/OpenSHC/_SHCDE/eSFX.hpp new file mode 100644 index 0000000..1bcb714 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eSFX.hpp @@ -0,0 +1,321 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eSFX.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eSFX { + + FX_NULL = 0, // 0x00000000 + FX_CLICK = 1, // 0x00000001 + FX_CHOP = 2, // 0x00000002 + FX_SAW = 3, // 0x00000003 + FX_STOCKS = 4, // 0x00000004 + FX_ARROW_FIRE = 5, // 0x00000005 + FX_ARROW_HIT_BODY = 6, // 0x00000006 + FX_TABLE_CLICK = 7, // 0x00000007 + FX_LITTLE_PLOP = 8, // 0x00000008 + FX_MED_PLOP = 9, // 0x00000009 + FX_DROP_PLANK = 10, // 0x0000000A + FX_WINDMILL = 11, // 0x0000000B + FX_INN = 12, // 0x0000000C + FX_MASON_CHIP = 13, // 0x0000000D + FX_MASON_CRUMBLE = 14, // 0x0000000E + FX_PULLER_LOWER = 15, // 0x0000000F + FX_PULLER_STRAIN = 16, // 0x00000010 + FX_PULLER_ROCK = 17, // 0x00000011 + FX_PULLER_IMPACT = 18, // 0x00000012 + FX_PULLER_RETURN = 19, // 0x00000013 + FX_ARMY_CHARGE = 20, // 0x00000014 + FX_PRYER_LEVER = 21, // 0x00000015 + FX_DRAWBRIDGE_LOWERING = 22, // 0x00000016 + FX_DRAWBRIDGE_LOWERED = 23, // 0x00000017 + FX_DRAWBRIDGE_RAISING = 24, // 0x00000018 + FX_DRAWBRIDGE_RAISED = 25, // 0x00000019 + FX_DRAWBRIDGE_CONTROL = 26, // 0x0000001A + FX_IRON_DUMP = 27, // 0x0000001B + FX_IRON_LDUMP = 28, // 0x0000001C + FX_IRON_BOIL = 29, // 0x0000001D + FX_IRON_POUR = 30, // 0x0000001E + FX_IRON_PULL = 31, // 0x0000001F + FX_IRON_STRAIN = 32, // 0x00000020 + FX_STOCK_FOOD = 33, // 0x00000021 + FX_STOCK_ALE = 34, // 0x00000022 + FX_STOCK_HOPS = 35, // 0x00000023 + FX_STOCK_IRON = 36, // 0x00000024 + FX_STOCK_PITCH = 37, // 0x00000025 + FX_STOCK_STONE = 38, // 0x00000026 + FX_STOCK_WEAPON = 39, // 0x00000027 + FX_STOCK_WHEAT = 40, // 0x00000028 + FX_STOCK_WOOD = 41, // 0x00000029 + FX_TREE_FALL = 42, // 0x0000002A + FX_LILTREE_FALL = 43, // 0x0000002B + FX_BS_ANVIL = 44, // 0x0000002C + FX_BS_BELLOW = 45, // 0x0000002D + FX_BS_COOL = 46, // 0x0000002E + FX_BS_POUR = 47, // 0x0000002F + FX_BS_OPEN = 48, // 0x00000030 + FX_BS_FILE = 49, // 0x00000031 + FX_BAKE = 50, // 0x00000032 + FX_BAKE2 = 51, // 0x00000033 + FX_MUDBUB = 52, // 0x00000034 + FX_PITCH_WATERLAP = 53, // 0x00000035 + FX_PITCH_SCOOP = 54, // 0x00000036 + FX_PITCH_POUR = 55, // 0x00000037 + FX_TANNER_CUT = 56, // 0x00000038 + FX_TANNER_BRUSH1 = 57, // 0x00000039 + FX_TANNER_BRUSH2 = 58, // 0x0000003A + FX_FLETCH_LONG = 59, // 0x0000003B + FX_GHOST = 60, // 0x0000003C + FX_CAULDRON = 61, // 0x0000003D + FX_STIR = 62, // 0x0000003E + FX_CAMPFIRE = 63, // 0x0000003F + FX_ARROW_BOUNCE = 64, // 0x00000040 + FX_STEEL1 = 65, // 0x00000041 + FX_STEEL2 = 66, // 0x00000042 + FX_POLE_TURN = 67, // 0x00000043 + FX_POLE_GRIND = 68, // 0x00000044 + FX_MOAT_DIG = 69, // 0x00000045 + FX_XBOW_FIRE = 70, // 0x00000046 + FX_XBOW_WIND = 71, // 0x00000047 + FX_BEAR_ATTACK = 72, // 0x00000048 + FX_BEAR_DIE = 73, // 0x00000049 + FX_COW_SLAUGHTER = 74, // 0x0000004A + FX_COW_MILK = 75, // 0x0000004B + FX_COW_MOO = 76, // 0x0000004C + FX_MILK_POUR = 77, // 0x0000004D + FX_DOG_BARK = 78, // 0x0000004E + FX_DOG_DIE = 79, // 0x0000004F + FX_DOG_PANT = 80, // 0x00000050 + FX_DOG_WHIMPER = 81, // 0x00000051 + FX_BROOM = 82, // 0x00000052 + FX_SHARPEN = 83, // 0x00000053 + FX_DEER_FALL = 84, // 0x00000054 + FX_HUNTER_CUT = 85, // 0x00000055 + FX_HORSES_1 = 86, // 0x00000056 + FX_HORSES_3 = 87, // 0x00000057 + FX_HORSES_4 = 88, // 0x00000058 + FX_HORSE_WHINNY = 89, // 0x00000059 + FX_HORSE_DIE = 90, // 0x0000005A + FX_HORSE_FALL = 91, // 0x0000005B + FX_RABBIT_DIE = 92, // 0x0000005C + FX_WOLF_DIE = 93, // 0x0000005D + FX_WOLF_ATTACK = 94, // 0x0000005E + FX_LION_DIE = 95, // 0x0000005F + FX_ARMOUR_HIT = 96, // 0x00000060 + FX_MAN_BURN2 = 97, // 0x00000061 + FX_POT_FLARE_UP = 98, // 0x00000062 + FX_POT_OPEN = 99, // 0x00000063 + FX_MAN_BURN = 100, // 0x00000064 + FX_FIRE_START = 101, // 0x00000065 + FX_OIL_DUMP = 102, // 0x00000066 + FX_MENU_SLIDE = 103, // 0x00000067 + FX_SIEGE_ROLL = 104, // 0x00000068 + FX_CA_LOAD = 105, // 0x00000069 + FX_CA_FIRE = 106, // 0x0000006A + FX_MA_LOAD = 107, // 0x0000006B + FX_MA_FIRE = 108, // 0x0000006C + FX_TR_LOAD = 109, // 0x0000006D + FX_TR_FIRE = 110, // 0x0000006E + FX_TR_DIE = 111, // 0x0000006F + FX_SIEGE_DIE = 112, // 0x00000070 + FX_ROCK_HIT_WALL = 113, // 0x00000071 + FX_ROCK_HIT_GROUND = 114, // 0x00000072 + FX_WOOD_HIT = 115, // 0x00000073 + FX_DEATH_CLUB = 116, // 0x00000074 + FX_DEATH_ARROW = 117, // 0x00000075 + FX_DEATH_SPEAR = 118, // 0x00000076 + FX_DEATH_SWORD = 119, // 0x00000077 + FX_BODY_HIT = 120, // 0x00000078 + FX_IGNITE_PITCH = 122, // 0x0000007A + FX_MET_PUSH1 = 123, // 0x0000007B + FX_MET_PUSH2 = 124, // 0x0000007C + FX_MET_PUSH3 = 125, // 0x0000007D + FX_MET_PUSH4 = 126, // 0x0000007E + FX_MET_PUSH5 = 127, // 0x0000007F + FX_MET_PUSH6 = 128, // 0x00000080 + FX_METAL_ROLLOVER1 = 129, // 0x00000081 + FX_METAL_ROLLOVER2 = 130, // 0x00000082 + FX_METAL_ROLLOVER3 = 131, // 0x00000083 + FX_METAL_ROLLOVER4 = 132, // 0x00000084 + FX_METAL_ROLLOVER5 = 133, // 0x00000085 + FX_METAL_ROLLOVER6 = 134, // 0x00000086 + FX_WOOD_PUSH = 135, // 0x00000087 + FX_WOOD_ROLLOVER = 136, // 0x00000088 + FX_CHICKEN_START = 137, // 0x00000089 + FX_CHICKEN_FLAP = 138, // 0x0000008A + FX_CHICKEN_CLUCK = 139, // 0x0000008B + FX_PC_DROP_CLICK = 140, // 0x0000008C + FX_PC_DROP = 141, // 0x0000008D + FX_PC_LIFT_CLICK = 142, // 0x0000008E + FX_PC_LIFT = 143, // 0x0000008F + FX_MAYPOLE = 144, // 0x00000090 + FX_SWISH = 145, // 0x00000091 + FX_SHIELDROLLOVER = 146, // 0x00000092 + FX_PC_SLAM = 147, // 0x00000093 + FX_ARROW_HIT_ANIMAL = 148, // 0x00000094 + FX_HORSE_SNORT = 149, // 0x00000095 + FX_TOWER_SMASH = 150, // 0x00000096 + FX_DEATH_CLUB2 = 151, // 0x00000097 + FX_DEATH_ARROW2 = 152, // 0x00000098 + FX_DEATH_SPEAR2 = 153, // 0x00000099 + FX_DEATH_SWORD2 = 154, // 0x0000009A + FX_BODY_HIT2 = 155, // 0x0000009B + FX_BODY_HIT3 = 156, // 0x0000009C + FX_BODY_HIT4 = 157, // 0x0000009D + FX_DIG1 = 158, // 0x0000009E + FX_DIG2 = 159, // 0x0000009F + FX_WALLDROP = 160, // 0x000000A0 + FX_DROP_LOG = 161, // 0x000000A1 + FX_BABY = 162, // 0x000000A2 + FX_ATTACK_STONE = 163, // 0x000000A3 + FX_ATTACK_WOOD = 164, // 0x000000A4 + FX_SPLAT = 165, // 0x000000A5 + FX_COW_SPLAT = 166, // 0x000000A6 + FX_DEER_RUN = 167, // 0x000000A7 + FX_BALLISTA_LOAD = 168, // 0x000000A8 + FX_BALLISTA_FIRE = 169, // 0x000000A9 + FX_BUILDING_SMASH = 170, // 0x000000AA + FX_DEATH_SHIELD = 171, // 0x000000AB + FX_FLAME_ARROW = 172, // 0x000000AC + FX_SWORDWALK_1 = 173, // 0x000000AD + FX_SWORDWALK_2 = 174, // 0x000000AE + FX_SWORDWALK_3 = 175, // 0x000000AF + FX_ROCK_SPLASH = 176, // 0x000000B0 + FX_RAM_SWING = 177, // 0x000000B1 + FX_RAM_HIT = 178, // 0x000000B2 + FX_SHEATH_IN = 179, // 0x000000B3 + FX_SHEATH_OUT = 180, // 0x000000B4 + FX_BUILD_UNIT = 181, // 0x000000B5 + FX_GIRL_DIE = 182, // 0x000000B6 + FX_GIRL_SCREAM = 183, // 0x000000B7 + FX_ARROW_HIT = 184, // 0x000000B8 + FX_MACE_HIT = 185, // 0x000000B9 + FX_PIKE_HIT = 186, // 0x000000BA + FX_SPEAR_HIT = 187, // 0x000000BB + FX_SWORD_HIT = 188, // 0x000000BC + FX_FLIES = 189, // 0x000000BD + FX_HARVEST = 190, // 0x000000BE + FX_HOE = 191, // 0x000000BF + FX_WOLF_HOWL = 192, // 0x000000C0 + FX_DOG_CAGE = 193, // 0x000000C1 + FX_OX_DIE = 194, // 0x000000C2 + FX_LADDER_PLACE = 195, // 0x000000C3 + FX_LADDER_BREAK = 196, // 0x000000C4 + FX_JESTER_DIE = 197, // 0x000000C5 + FX_LORD_DIE = 198, // 0x000000C6 + FX_ENEMY_LORD_DIE = 199, // 0x000000C7 + FX_CROW = 200, // 0x000000C8 + FX_GULL = 201, // 0x000000C9 + FX_OIL_REFILL = 202, // 0x000000CA + FX_SMALL_FLAG = 203, // 0x000000CB + FX_LARGE_FLAG = 204, // 0x000000CC + FX_SNAKE_LORD_DIE = 205, // 0x000000CD + FX_WOLF_LORD_DIE = 206, // 0x000000CE + FX_CHURCH1 = 207, // 0x000000CF + FX_CHURCH2 = 208, // 0x000000D0 + FX_CHURCH3 = 209, // 0x000000D1 + FX_STRETCH = 210, // 0x000000D2 + FX_GALLOWS = 211, // 0x000000D3 + FX_DUNGEON = 212, // 0x000000D4 + FX_GULL_DIVE = 213, // 0x000000D5 + FX_GULL_SURFACE = 214, // 0x000000D6 + FX_WH_BREATH1 = 215, // 0x000000D7 + FX_WH_BREATH2 = 216, // 0x000000D8 + FX_WH_LIFT = 217, // 0x000000D9 + FX_WH_DUNK = 218, // 0x000000DA + FX_GIRL_GRUNT = 219, // 0x000000DB + FX_FIRE_OUT = 220, // 0x000000DC + FX_FIRE_POP = 221, // 0x000000DD + FX_THROW_WATER = 222, // 0x000000DE + FX_WITCH_BURN = 223, // 0x000000DF + FX_WITCH_SCREAM = 224, // 0x000000E0 + FX_LION_ATTACK = 225, // 0x000000E1 + FX_GH_SWING = 226, // 0x000000E2 + FX_GH_CATCH = 227, // 0x000000E3 + FX_ROPE_SLIDE = 228, // 0x000000E4 + FX_ASS_LAND = 229, // 0x000000E5 + FX_ASS_SWISH = 230, // 0x000000E6 + FX_SLING_THROW = 231, // 0x000000E7 + FX_SLAVE_FIRE = 232, // 0x000000E8 + FX_LORD_SWING = 233, // 0x000000E9 + FX_HORSE_ARCHER1 = 234, // 0x000000EA + FX_HORSE_ARCHER2 = 235, // 0x000000EB + FX_HORSE_ARCHER3 = 236, // 0x000000EC + FX_FIRE_THROW = 237, // 0x000000ED + FX_DEATH_SLINGSTONE = 238, // 0x000000EE + FX_HIT_SLINGSTONE = 239, // 0x000000EF + FX_LORD_KILL = 240, // 0x000000F0 + FX_ARAB_LORD_KILL = 241, // 0x000000F1 + FX_LORD_HIT = 242, // 0x000000F2 + FX_ARAB_BALLISTA_FIRE = 243, // 0x000000F3 + FX_DECIMATE = 244, // 0x000000F4 + FX_CAMEL_DIE = 245, // 0x000000F5 + FX_BODY_HIT5 = 246, // 0x000000F6 + FX_BODY_HIT6 = 247, // 0x000000F7 + FX_BODY_HIT7 = 248, // 0x000000F8 + FX_BODY_HIT8 = 249, // 0x000000F9 + FX_HORSE_ARMY_CHARGE = 250, // 0x000000FA + FX_EXIT_ROLLOVER = 251, // 0x000000FB + FX_DICE = 252, // 0x000000FC + FX_SKMASTER = 253, // 0x000000FD + FX_SKGOLD1 = 254, // 0x000000FE + FX_SKGOLD2 = 255, // 0x000000FF + FX_SKGOLD3 = 256, // 0x00000100 + FX_KEY = 257, // 0x00000101 + FX_TRAIL_CHICKEN = 258, // 0x00000102 + FX_EXTREME_TROOPS_CLICK = 260, // 0x00000104 + FX_EXTREME_ROCK_VOLLEY = 261, // 0x00000105 + FX_BUILDING_PLACEMENT = 265, // 0x00000109 + FX_BUILDING_PLACEMENT_SMALL = 266, // 0x0000010A + FX_APOTHECARY_EXPLOSION = 267, // 0x0000010B + FX_MILLER_WORKING = 268, // 0x0000010C + FX_MILLER_WORKING_LOOP = 269, // 0x0000010D + FX_PICK_APPLE = 270, // 0x0000010E + FX_PICK_HOPS = 271, // 0x0000010F + FX_GIBBET = 272, // 0x00000110 + FX_OX_SELECT = 273, // 0x00000111 + FX_OX_WALK = 274, // 0x00000112 + FX_MARKET_SELECT = 275, // 0x00000113 + FX_SIEGE_DOCK = 276, // 0x00000114 + FX_XBOW_SAND = 277, // 0x00000115 + FX_XBOW_INSPECT = 278, // 0x00000116 + FX_XBOW_PICKUP = 279, // 0x00000117 + FX_XBOW_HAMMER1 = 280, // 0x00000118 + FX_XBOW_HAMMER2 = 281, // 0x00000119 + FX_XBOW_PUTDOWN = 282, // 0x0000011A + FX_DUNGEON_WHIP = 283, // 0x0000011B + FX_STOCKS_CLICK = 284, // 0x0000011C + FX_WOODWALL_PLACEMENT = 285, // 0x0000011D + FX_STONEWALL_PLACEMENT = 286, // 0x0000011E + FX_WOODTOWER_PLACEMENT = 287, // 0x0000011F + FX_STONETOWER_PLACEMENT = 288, // 0x00000120 + FX_WOOD_ROLLOVER2 = 289, // 0x00000121 + FX_BUILDING_PLACEMENT_STONE = 290, // 0x00000122 + FX_BATTLEHORN = 291, // 0x00000123 + FX_SKIRMISHER_THROWSPEAR = 292, // 0x00000124 + FX_CAMEL_TROT_SING = 293, // 0x00000125 + FX_CAMEL_TROT_SEVERAL = 294, // 0x00000126 + FX_CAMEL_TROT_MANY = 295, // 0x00000127 + FX_HEAVYCAMEL_TROT_SING = 296, // 0x00000128 + FX_HEAVYCAMEL_TROT_SEVERAL = 297, // 0x00000129 + FX_HEAVYCAMEL_TROT_MANY = 298, // 0x0000012A + FX_DEMOLISHER_WALL = 299, // 0x0000012B + FX_DEMOLISHER_STRUCK = 300, // 0x0000012C + FX_DEMOLISHER_SHIELDDEST = 301, // 0x0000012D + FX_AMBUSH_THROW = 302, // 0x0000012E + FX_AMBUSH_LANDS = 303, // 0x0000012F + FX_EUNUCH_SWORD = 304, // 0x00000130 + FX_EUNUCH_WALL = 305, // 0x00000131 + FX_EUNUCH_FORWARDSWING = 306, // 0x00000132 + FX_DANCING_BEAR = 307, // 0x00000133 + FX_INTRO = 308 // 0x00000134 + + } eSFX; + + static_assert_cpp98_obj(sizeof(eSFX) == 4, eSFX); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eSFXInt.hpp b/src/OpenSHC/_SHCDE/eSFXInt.hpp new file mode 100644 index 0000000..8e1d055 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eSFXInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eSFXInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eSFX.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eSFXInt; + + static_assert_cpp98_obj(sizeof(eSFXInt) == 4, eSFXInt); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eTextSections.hpp b/src/OpenSHC/_SHCDE/eTextSections.hpp new file mode 100644 index 0000000..3803cb7 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eTextSections.hpp @@ -0,0 +1,312 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eTextSections.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace _SHCDE { + typedef enum eTextSections { + + TEXT_MONTHS = 1, // 0x00000001 + TEXT_GOODS = 2, // 0x00000002 + TEXT_POPULARITY_EFFECTS = 3, // 0x00000003 + TEXT_STARTUP = 4, // 0x00000004 + TEXT_MAINOPTIONS = 5, // 0x00000005 + TEXT_LANGUAGE = 6, // 0x00000006 + TEXT_BUBBLE_HELP_SUBTEXT = 7, // 0x00000007 + TEXT_BUBBLE_HELP_TEXT = 8, // 0x00000008 + TEXT_BUBBLE_HELP_DATA = 9, // 0x00000009 + TEXT_FEEDBACK = 10, // 0x0000000A + TEXT_MAPEDIT = 11, // 0x0000000B + TEXT_DEMOSCORE = 12, // 0x0000000C + TEXT_MAP_TITLES = 13, // 0x0000000D + TEXT_REPORTS = 14, // 0x0000000E + TEXT_IN_GENERAL_BUILDINGS = 18, // 0x00000012 + TEXT_IN_KEEP = 19, // 0x00000013 + TEXT_IN_INN = 20, // 0x00000014 + TEXT_IN_BARRACKS = 22, // 0x00000016 + TEXT_IN_GRANARY = 23, // 0x00000017 + TEXT_IN_HOUSE = 24, // 0x00000018 + TEXT_IN_WOODCUTTERS_HUT = 25, // 0x00000019 + TEXT_IN_OXEN_BASE = 26, // 0x0000001A + TEXT_IN_IRON_MINE = 27, // 0x0000001B + TEXT_IN_PITCH_DIGGER = 28, // 0x0000001C + TEXT_IN_HUNTERS_HUT = 29, // 0x0000001D + TEXT_IN_GOODS_YARD = 30, // 0x0000001E + TEXT_IN_ARMOURY = 31, // 0x0000001F + TEXT_IN_FLETCHERS_WORKSHOP = 32, // 0x00000020 + TEXT_IN_BLACKSMITHS_WORKSHOP = 33, // 0x00000021 + TEXT_IN_POLETURNERS_WORKSHOP = 34, // 0x00000022 + TEXT_IN_ARMOURERS_WORKSHOP = 35, // 0x00000023 + TEXT_IN_TANNERS_WORKSHOP = 36, // 0x00000024 + TEXT_IN_BAKERS_WORKSHOP = 37, // 0x00000025 + TEXT_IN_BREWERS_WORKSHOP = 38, // 0x00000026 + TEXT_IN_QUARRY = 39, // 0x00000027 + TEXT_IN_QUARRYPILE = 40, // 0x00000028 + TEXT_IN_HEALERS = 41, // 0x00000029 + TEXT_IN_ENGINEERS_GUILD = 42, // 0x0000002A + TEXT_IN_TUNNELLERS_GUILD = 43, // 0x0000002B + TEXT_IN_TRADEPOST = 44, // 0x0000002C + TEXT_IN_WELL = 45, // 0x0000002D + TEXT_IN_OIL_SMELTER = 46, // 0x0000002E + TEXT_IN_SIEGE_TENT = 47, // 0x0000002F + TEXT_IN_WHEATFARM = 48, // 0x00000030 + TEXT_IN_HOPSFARM = 49, // 0x00000031 + TEXT_IN_APPLEFARM = 50, // 0x00000032 + TEXT_IN_CATTLEFARM = 51, // 0x00000033 + TEXT_IN_MILL = 52, // 0x00000034 + TEXT_IN_STABLES = 53, // 0x00000035 + TEXT_IN_CHURCH = 54, // 0x00000036 + TEXT_IN_GATEHOUSE = 55, // 0x00000037 + TEXT_IN_DRAWBRIDGE = 56, // 0x00000038 + TEXT_IN_POSTERN_GATE = 57, // 0x00000039 + TEXT_IN_TUNNEL_ENTERANCE = 58, // 0x0000003A + TEXT_IN_CAMP_FIRE = 59, // 0x0000003B + TEXT_IN_SIGNPOST = 60, // 0x0000003C + TEXT_IN_KILLING_PIT = 61, // 0x0000003D + TEXT_IN_CATAPULT = 62, // 0x0000003E + TEXT_IN_TREBUCHET = 63, // 0x0000003F + TEXT_IN_OUTPOST = 64, // 0x00000040 + TEXT_IN_TOWER = 65, // 0x00000041 + TEXT_IN_GALLOWS = 66, // 0x00000042 + TEXT_IN_STOCKS = 67, // 0x00000043 + TEXT_IN_WITCH_HOIST = 68, // 0x00000044 + TEXT_IN_MAYPOLE = 69, // 0x00000045 + TEXT_IN_TRAINING_GROUND = 71, // 0x00000047 + TEXT_IN_GARDEN = 72, // 0x00000048 + TEXT_GAME_OPTIONS = 74, // 0x0000004A + TEXT_HELP = 75, // 0x0000004B + TEXT_MULTIPLAYER_CONNECTION = 76, // 0x0000004C + TEXT_PANEL_FEEDBACK = 77, // 0x0000004D + TEXT_STRUCTURE_WAS = 78, // 0x0000004E + TEXT_XPLAY_WAITING_ROOM = 79, // 0x0000004F + TEXT_MISSION_BUTTONS = 80, // 0x00000050 + TEXT_OBJECTIVES = 81, // 0x00000051 + TEXT_REPORT_BUTTONS = 82, // 0x00000052 + TEXT_PLAYER_DESC = 83, // 0x00000053 + TEXT_PEASANT_NAMES = 84, // 0x00000054 + TEXT_PEASANT_SURNAMES = 85, // 0x00000055 + TEXT_UNIT_ACTIONS = 86, // 0x00000056 + TEXT_MARRIAGE = 87, // 0x00000057 + TEXT_CHIMP_NAMES = 88, // 0x00000058 + TEXT_CHIMP_COMMENT = 89, // 0x00000059 + TEXT_NEWMAP_TYPES_HELP = 92, // 0x0000005C + TEXT_INSULTS = 93, // 0x0000005D + TEXT_PREVIEW = 94, // 0x0000005E + TEXT_TUTORIAL = 95, // 0x0000005F + TEXT_TUTORIAL_BUTTONS = 96, // 0x00000060 + TEXT_MAP_SCREEN = 97, // 0x00000061 + TEXT_MISSION1_STORY = 99, // 0x00000063 + TEXT_MISSION1_BRIEFING = 100, // 0x00000064 + TEXT_MISSION1_OBJECTIVES = 101, // 0x00000065 + TEXT_MISSION1_HINTS = 102, // 0x00000066 + TEXT_MISSION2_STORY = 103, // 0x00000067 + TEXT_MISSION2_BRIEFING = 104, // 0x00000068 + TEXT_MISSION2_OBJECTIVES = 105, // 0x00000069 + TEXT_MISSION2_HINTS = 106, // 0x0000006A + TEXT_MISSION3_STORY = 107, // 0x0000006B + TEXT_MISSION3_BRIEFING = 108, // 0x0000006C + TEXT_MISSION3_OBJECTIVES = 109, // 0x0000006D + TEXT_MISSION3_HINTS = 110, // 0x0000006E + TEXT_MISSION4_STORY = 111, // 0x0000006F + TEXT_MISSION4_BRIEFING = 112, // 0x00000070 + TEXT_MISSION4_OBJECTIVES = 113, // 0x00000071 + TEXT_MISSION4_HINTS = 114, // 0x00000072 + TEXT_MISSION5_STORY = 115, // 0x00000073 + TEXT_MISSION5_BRIEFING = 116, // 0x00000074 + TEXT_MISSION5_OBJECTIVES = 117, // 0x00000075 + TEXT_MISSION5_HINTS = 118, // 0x00000076 + TEXT_MISSION6_STORY = 119, // 0x00000077 + TEXT_MISSION6_BRIEFING = 120, // 0x00000078 + TEXT_MISSION6_OBJECTIVES = 121, // 0x00000079 + TEXT_MISSION6_HINTS = 122, // 0x0000007A + TEXT_MISSION7_STORY = 123, // 0x0000007B + TEXT_MISSION7_BRIEFING = 124, // 0x0000007C + TEXT_MISSION7_OBJECTIVES = 125, // 0x0000007D + TEXT_MISSION7_HINTS = 126, // 0x0000007E + TEXT_MISSION8_STORY = 127, // 0x0000007F + TEXT_MISSION8_BRIEFING = 128, // 0x00000080 + TEXT_MISSION8_OBJECTIVES = 129, // 0x00000081 + TEXT_MISSION8_HINTS = 130, // 0x00000082 + TEXT_MISSION9_STORY = 131, // 0x00000083 + TEXT_MISSION9_BRIEFING = 132, // 0x00000084 + TEXT_MISSION9_OBJECTIVES = 133, // 0x00000085 + TEXT_MISSION9_HINTS = 134, // 0x00000086 + TEXT_MISSION10_STORY = 135, // 0x00000087 + TEXT_MISSION10_BRIEFING = 136, // 0x00000088 + TEXT_MISSION10_OBJECTIVES = 137, // 0x00000089 + TEXT_MISSION10_HINTS = 138, // 0x0000008A + TEXT_MISSION11_STORY = 139, // 0x0000008B + TEXT_MISSION11_BRIEFING = 140, // 0x0000008C + TEXT_MISSION11_OBJECTIVES = 141, // 0x0000008D + TEXT_MISSION11_HINTS = 142, // 0x0000008E + TEXT_MISSION12_STORY = 143, // 0x0000008F + TEXT_MISSION12_BRIEFING = 144, // 0x00000090 + TEXT_MISSION12_OBJECTIVES = 145, // 0x00000091 + TEXT_MISSION12_HINTS = 146, // 0x00000092 + TEXT_MISSION13_STORY = 147, // 0x00000093 + TEXT_MISSION13_BRIEFING = 148, // 0x00000094 + TEXT_MISSION13_OBJECTIVES = 149, // 0x00000095 + TEXT_MISSION13_HINTS = 150, // 0x00000096 + TEXT_MISSION14_STORY = 151, // 0x00000097 + TEXT_MISSION14_BRIEFING = 152, // 0x00000098 + TEXT_MISSION14_OBJECTIVES = 153, // 0x00000099 + TEXT_MISSION14_HINTS = 154, // 0x0000009A + TEXT_MISSION15_STORY = 155, // 0x0000009B + TEXT_MISSION15_BRIEFING = 156, // 0x0000009C + TEXT_MISSION15_OBJECTIVES = 157, // 0x0000009D + TEXT_MISSION15_HINTS = 158, // 0x0000009E + TEXT_MISSION16_STORY = 159, // 0x0000009F + TEXT_MISSION16_BRIEFING = 160, // 0x000000A0 + TEXT_MISSION16_OBJECTIVES = 161, // 0x000000A1 + TEXT_MISSION16_HINTS = 162, // 0x000000A2 + TEXT_MISSION17_STORY = 163, // 0x000000A3 + TEXT_MISSION17_BRIEFING = 164, // 0x000000A4 + TEXT_MISSION17_OBJECTIVES = 165, // 0x000000A5 + TEXT_MISSION17_HINTS = 166, // 0x000000A6 + TEXT_MISSION18_STORY = 167, // 0x000000A7 + TEXT_MISSION18_BRIEFING = 168, // 0x000000A8 + TEXT_MISSION18_OBJECTIVES = 169, // 0x000000A9 + TEXT_MISSION18_HINTS = 170, // 0x000000AA + TEXT_MISSION19_STORY = 171, // 0x000000AB + TEXT_MISSION19_BRIEFING = 172, // 0x000000AC + TEXT_MISSION19_OBJECTIVES = 173, // 0x000000AD + TEXT_MISSION19_HINTS = 174, // 0x000000AE + TEXT_MISSION20_STORY = 175, // 0x000000AF + TEXT_MISSION20_BRIEFING = 176, // 0x000000B0 + TEXT_MISSION20_OBJECTIVES = 177, // 0x000000B1 + TEXT_MISSION20_HINTS = 178, // 0x000000B2 + TEXT_CAMPAIGN_INFO = 179, // 0x000000B3 + TEXT_DEMO_BRIEFINGS = 189, // 0x000000BD + TEXT_HINTS = 190, // 0x000000BE + TEXT_ECO1_HINTS = 191, // 0x000000BF + TEXT_ECO2_HINTS = 192, // 0x000000C0 + TEXT_ECO3_HINTS = 193, // 0x000000C1 + TEXT_ECO4_HINTS = 194, // 0x000000C2 + TEXT_ECO5_HINTS = 195, // 0x000000C3 + TEXT_ECO_MISSION_BRIEFINGS = 196, // 0x000000C4 + TEXT_MISSION_NAMES = 197, // 0x000000C5 + TEXT_PREATTACK = 198, // 0x000000C6 + TEXT_SCENARIO = 199, // 0x000000C7 + TEXT_TRADER_NAMES = 200, // 0x000000C8 + TEXT_ACTION = 201, // 0x000000C9 + TEXT_IN_CESS_PIT = 202, // 0x000000CA + TEXT_IN_BURNING_STAKE = 203, // 0x000000CB + TEXT_IN_GIBBET = 204, // 0x000000CC + TEXT_IN_DUNGEON = 205, // 0x000000CD + TEXT_IN_STRETCHING_RACK = 206, // 0x000000CE + TEXT_IN_FLOGGING_RACK = 207, // 0x000000CF + TEXT_IN_CHOPPING_BLOCK = 208, // 0x000000D0 + TEXT_IN_DUNKING_STOOL = 209, // 0x000000D1 + TEXT_IN_DOG_CAGE = 210, // 0x000000D2 + TEXT_IN_STATUE = 211, // 0x000000D3 + TEXT_IN_SHRINE = 212, // 0x000000D4 + TEXT_IN_BEEHIVE = 213, // 0x000000D5 + TEXT_IN_DANCING_BEAR = 214, // 0x000000D6 + TEXT_IN_POND = 215, // 0x000000D7 + TEXT_IN_BEAR_CAVE = 216, // 0x000000D8 + TEXT_IN_WATERPOT = 217, // 0x000000D9 + TEXT_IN_CATHEDRAL = 218, // 0x000000DA + TEXT_MAP_NAMES = 219, // 0x000000DB + TEXT_SCENARIO_OPP = 220, // 0x000000DC + TEXT_SKIRMISH_SPEECH = 221, // 0x000000DD + TEXT_CUSTOM_HOOKS = 223, // 0x000000DF + TEXT_ALLIES = 224, // 0x000000E0 + TEXT_MP_RANK = 225, // 0x000000E1 + TEXT_NEW_PRE_ATTACK = 226, // 0x000000E2 + TEXT_NEW_CTEXT = 228, // 0x000000E4 + TEXT_MP_VERSION_CONTROL = 229, // 0x000000E5 + TEXT_NEW_TEXT = 230, // 0x000000E6 + TEXT_HOT_KEYS = 231, // 0x000000E7 + TEXT_NEW_DEMO = 232, // 0x000000E8 + TEXT_NEW_TEXT2 = 233, // 0x000000E9 + TEXT_SANDS_OF_TIME = 234, // 0x000000EA + TEXT_BUILDING_DESCRIPTIONS = 235, // 0x000000EB + TEXT_CREDITS = 236, // 0x000000EC + TEXT_SUBTITLES = 237, // 0x000000ED + TEXT_ECOBRIEFINGS = 238, // 0x000000EE + TEXT_OTHER = 239, // 0x000000EF + TEXT_SKIRMISH_MASTERS = 240, // 0x000000F0 + TEXT_GAME_TYPE = 241, // 0x000000F1 + TEXT_SKIRMISH_CHOOSE = 242, // 0x000000F2 + TEXT_TRAIL_NAMES_CRU = 245, // 0x000000F5 + TEXT_EXTREME_DEMO = 247, // 0x000000F7 + TEXT_EXTREME_POWERS = 248, // 0x000000F8 + TEXT_DEMO_GAMENAMES = 249, // 0x000000F9 + TEXT_SKIRMISH_CHOOSE2 = 250, // 0x000000FA + TEXT_SHC_STANDALONE = 251, // 0x000000FB + TEXT_SKIRMISH_MISC = 252, // 0x000000FC + TEXT_SKTRAIL_WIN = 253, // 0x000000FD + TEXT_ALLIES2 = 254, // 0x000000FE + TEXT_SKMASTERS = 255, // 0x000000FF + TEXT_CHEATS = 256, // 0x00000100 + TEXT_MISC2 = 257, // 0x00000101 + TEXT_GAMEPLAY_ONLINE = 258, // 0x00000102 + TEXT_MISSION21_STORY = 270, // 0x0000010E + TEXT_MISSION21_BRIEFING = 271, // 0x0000010F + TEXT_MISSION21_OBJECTIVES = 272, // 0x00000110 + TEXT_MISSION21_HINTS = 273, // 0x00000111 + TEXT_MISSION22_STORY = 274, // 0x00000112 + TEXT_MISSION22_BRIEFING = 275, // 0x00000113 + TEXT_MISSION22_OBJECTIVES = 276, // 0x00000114 + TEXT_MISSION22_HINTS = 277, // 0x00000115 + TEXT_MISSION23_STORY = 278, // 0x00000116 + TEXT_MISSION23_BRIEFING = 279, // 0x00000117 + TEXT_MISSION23_OBJECTIVES = 280, // 0x00000118 + TEXT_MISSION23_HINTS = 281, // 0x00000119 + TEXT_MISSION24_STORY = 282, // 0x0000011A + TEXT_MISSION24_BRIEFING = 283, // 0x0000011B + TEXT_MISSION24_OBJECTIVES = 284, // 0x0000011C + TEXT_MISSION24_HINTS = 285, // 0x0000011D + TEXT_MISSION25_STORY = 286, // 0x0000011E + TEXT_MISSION25_BRIEFING = 287, // 0x0000011F + TEXT_MISSION25_OBJECTIVES = 288, // 0x00000120 + TEXT_MISSION25_HINTS = 289, // 0x00000121 + TEXT_MISSION26_STORY = 290, // 0x00000122 + TEXT_MISSION26_BRIEFING = 291, // 0x00000123 + TEXT_MISSION26_OBJECTIVES = 292, // 0x00000124 + TEXT_MISSION26_HINTS = 293, // 0x00000125 + TEXT_MISSION27_STORY = 294, // 0x00000126 + TEXT_MISSION27_BRIEFING = 295, // 0x00000127 + TEXT_MISSION27_OBJECTIVES = 296, // 0x00000128 + TEXT_MISSION27_HINTS = 297, // 0x00000129 + TEXT_MISSION28_STORY = 298, // 0x0000012A + TEXT_MISSION28_BRIEFING = 299, // 0x0000012B + TEXT_MISSION28_OBJECTIVES = 300, // 0x0000012C + TEXT_MISSION28_HINTS = 301, // 0x0000012D + TEXT_MISSION29_STORY = 302, // 0x0000012E + TEXT_MISSION29_BRIEFING = 303, // 0x0000012F + TEXT_MISSION29_OBJECTIVES = 304, // 0x00000130 + TEXT_MISSION29_HINTS = 305, // 0x00000131 + TEXT_MISSION30_STORY = 306, // 0x00000132 + TEXT_MISSION30_BRIEFING = 307, // 0x00000133 + TEXT_MISSION30_OBJECTIVES = 308, // 0x00000134 + TEXT_MISSION30_HINTS = 309, // 0x00000135 + TEXT_MISSION31_STORY = 310, // 0x00000136 + TEXT_MISSION31_BRIEFING = 311, // 0x00000137 + TEXT_MISSION31_OBJECTIVES = 312, // 0x00000138 + TEXT_MISSION31_HINTS = 313, // 0x00000139 + TEXT_MISSION32_STORY = 314, // 0x0000013A + TEXT_MISSION32_BRIEFING = 315, // 0x0000013B + TEXT_MISSION32_OBJECTIVES = 316, // 0x0000013C + TEXT_MISSION32_HINTS = 317, // 0x0000013D + TEXT_MISSION33_STORY = 318, // 0x0000013E + TEXT_MISSION33_BRIEFING = 319, // 0x0000013F + TEXT_MISSION33_OBJECTIVES = 320, // 0x00000140 + TEXT_MISSION33_HINTS = 321, // 0x00000141 + TEXT_MISSION34_STORY = 322, // 0x00000142 + TEXT_MISSION34_BRIEFING = 323, // 0x00000143 + TEXT_MISSION34_OBJECTIVES = 324, // 0x00000144 + TEXT_MISSION34_HINTS = 325, // 0x00000145 + TEXT_MISSION35_STORY = 326, // 0x00000146 + TEXT_MISSION35_BRIEFING = 327, // 0x00000147 + TEXT_MISSION35_OBJECTIVES = 328, // 0x00000148 + TEXT_MISSION35_HINTS = 329 // 0x00000149 + + } eTextSections; + + static_assert_cpp98_obj(sizeof(eTextSections) == 4, eTextSections); +} // namespace _SHCDE +} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eTextSectionsInt.hpp b/src/OpenSHC/_SHCDE/eTextSectionsInt.hpp new file mode 100644 index 0000000..9cf75b8 --- /dev/null +++ b/src/OpenSHC/_SHCDE/eTextSectionsInt.hpp @@ -0,0 +1,16 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/_SHCDE/eTextSectionsInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/_SHCDE/eTextSections.hpp" + +namespace OpenSHC { +namespace _SHCDE { + typedef int eTextSectionsInt; + + static_assert_cpp98_obj(sizeof(eTextSectionsInt) == 4, eTextSectionsInt); +} // namespace _SHCDE +} // namespace OpenSHC From 41d241164aff41d58f152eb8305033bb631af567 Mon Sep 17 00:00:00 2001 From: sourcehold Date: Fri, 1 May 2026 22:43:58 +0200 Subject: [PATCH 2/3] refactor DE files --- src/OpenSHC/Audio/SFX/SFXState.func.hpp | 4 +- src/OpenSHC/Audio/SFX/SFXState.hpp | 4 +- src/OpenSHC/Audio/mss/SoundSystem.func.hpp | 4 +- src/OpenSHC/Audio/mss/SoundSystem.hpp | 4 +- src/OpenSHC/Common/MapperCommandUnion.hpp | 8 +- src/OpenSHC/DE/SHCDE/eAppModes.hpp | 70 +++ src/OpenSHC/DE/SHCDE/eAppModesInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eGM.hpp | 231 ++++++++ src/OpenSHC/DE/SHCDE/eGMInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eInBuildingModes.hpp | 114 ++++ src/OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eMappers.hpp | 447 +++++++++++++++ src/OpenSHC/DE/SHCDE/eMappersInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eMusicIDs.hpp | 89 +++ src/OpenSHC/DE/SHCDE/eMusicIDsInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eOnScreenText.hpp | 43 ++ src/OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eSFX.hpp | 323 +++++++++++ src/OpenSHC/DE/SHCDE/eSFXInt.hpp | 18 + src/OpenSHC/DE/SHCDE/eTextSections.hpp | 314 +++++++++++ src/OpenSHC/DE/SHCDE/eTextSectionsInt.hpp | 18 + src/OpenSHC/DE/SHDE/eMappers.hpp | 510 ++++++++++++++++++ src/OpenSHC/DE/SHDE/eMappersInt.hpp | 18 + src/OpenSHC/DirectPlay/EnumSessions.hpp | 5 +- src/OpenSHC/DirectPlay/Open.hpp | 4 +- src/OpenSHC/Map/MapPropertiesState.func.hpp | 4 +- src/OpenSHC/Map/MapPropertiesState.hpp | 4 +- src/OpenSHC/SHDE/eMappers.hpp | 393 -------------- src/OpenSHC/SHDE/eMappersInt.hpp | 16 - src/OpenSHC/Text/TextManager.func.hpp | 4 +- src/OpenSHC/Text/TextManager.hpp | 4 +- src/OpenSHC/UI/ActiveMenuTab.hpp | 4 +- src/OpenSHC/UI/DisplayElement.hpp | 4 +- .../UI/Enums/DisplayElementIDUnion.hpp | 4 +- src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp | 4 +- .../UI/Rendering/TextureRenderCore.func.hpp | 4 +- .../UI/Rendering/TextureRenderCore.hpp | 4 +- src/OpenSHC/_SHCDE/eAppModes.hpp | 68 --- src/OpenSHC/_SHCDE/eAppModesInt.hpp | 16 - src/OpenSHC/_SHCDE/eGM.hpp | 229 -------- src/OpenSHC/_SHCDE/eGMInt.hpp | 16 - src/OpenSHC/_SHCDE/eInBuildingModes.hpp | 112 ---- src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp | 16 - src/OpenSHC/_SHCDE/eMappers.hpp | 508 ----------------- src/OpenSHC/_SHCDE/eMappersInt.hpp | 16 - src/OpenSHC/_SHCDE/eMusicIDs.hpp | 87 --- src/OpenSHC/_SHCDE/eMusicIDsInt.hpp | 16 - src/OpenSHC/_SHCDE/eOnScreenText.hpp | 41 -- src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp | 16 - src/OpenSHC/_SHCDE/eSFX.hpp | 321 ----------- src/OpenSHC/_SHCDE/eSFXInt.hpp | 16 - src/OpenSHC/_SHCDE/eTextSections.hpp | 312 ----------- src/OpenSHC/_SHCDE/eTextSectionsInt.hpp | 16 - 53 files changed, 2337 insertions(+), 2254 deletions(-) create mode 100644 src/OpenSHC/DE/SHCDE/eAppModes.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eAppModesInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eGM.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eGMInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eInBuildingModes.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eMappers.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eMappersInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eMusicIDs.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eMusicIDsInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eOnScreenText.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eSFX.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eSFXInt.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eTextSections.hpp create mode 100644 src/OpenSHC/DE/SHCDE/eTextSectionsInt.hpp create mode 100644 src/OpenSHC/DE/SHDE/eMappers.hpp create mode 100644 src/OpenSHC/DE/SHDE/eMappersInt.hpp delete mode 100644 src/OpenSHC/SHDE/eMappers.hpp delete mode 100644 src/OpenSHC/SHDE/eMappersInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eAppModes.hpp delete mode 100644 src/OpenSHC/_SHCDE/eAppModesInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eGM.hpp delete mode 100644 src/OpenSHC/_SHCDE/eGMInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eInBuildingModes.hpp delete mode 100644 src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eMappers.hpp delete mode 100644 src/OpenSHC/_SHCDE/eMappersInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eMusicIDs.hpp delete mode 100644 src/OpenSHC/_SHCDE/eMusicIDsInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eOnScreenText.hpp delete mode 100644 src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eSFX.hpp delete mode 100644 src/OpenSHC/_SHCDE/eSFXInt.hpp delete mode 100644 src/OpenSHC/_SHCDE/eTextSections.hpp delete mode 100644 src/OpenSHC/_SHCDE/eTextSectionsInt.hpp diff --git a/src/OpenSHC/Audio/SFX/SFXState.func.hpp b/src/OpenSHC/Audio/SFX/SFXState.func.hpp index 42ade89..721f668 100644 --- a/src/OpenSHC/Audio/SFX/SFXState.func.hpp +++ b/src/OpenSHC/Audio/SFX/SFXState.func.hpp @@ -6,16 +6,16 @@ #include "OpenSHC/Audio/SFX/SFXState.hpp" #include "OpenSHC/Audio/SFX/SoundEffectIDInt.hpp" #include "OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp" -#include "OpenSHC/_SHCDE/eSFXInt.hpp" +#include "OpenSHC/DE/SHCDE/eSFXInt.hpp" namespace OpenSHC { namespace Audio { namespace SFX { namespace SFXState_Func { - using OpenSHC::_SHCDE::eSFXInt; using OpenSHC::Audio::SFX::AmbientSFXTypeInt; using OpenSHC::Audio::SFX::SoundEffectIDInt; using OpenSHC::Audio::SFX::SpeechEffectIDInt; + using OpenSHC::DE::SHCDE::eSFXInt; MACRO_FUNCTION_RESOLVER( void (SFXState::*)(int), false, Address::SHC_3BB0A8C1_0x00449B20, &SFXState::freeMemoryAt) diff --git a/src/OpenSHC/Audio/SFX/SFXState.hpp b/src/OpenSHC/Audio/SFX/SFXState.hpp index 05334a8..af0688f 100644 --- a/src/OpenSHC/Audio/SFX/SFXState.hpp +++ b/src/OpenSHC/Audio/SFX/SFXState.hpp @@ -10,18 +10,18 @@ #include "OpenSHC/Audio/SFX/SoundStructure1.hpp" #include "OpenSHC/Audio/SFX/SoundStructure2.hpp" #include "OpenSHC/Audio/SFX/SpeechEffectIDInt.hpp" -#include "OpenSHC/_SHCDE/eSFXInt.hpp" +#include "OpenSHC/DE/SHCDE/eSFXInt.hpp" namespace OpenSHC { namespace Audio { namespace SFX { - using OpenSHC::_SHCDE::eSFXInt; using OpenSHC::Audio::SFX::AmbientSFXTypeInt; using OpenSHC::Audio::SFX::SoundEffectIDInt; using OpenSHC::Audio::SFX::SoundStructure1; using OpenSHC::Audio::SFX::SoundStructure2; using OpenSHC::Audio::SFX::SpeechEffectIDInt; + using OpenSHC::DE::SHCDE::eSFXInt; #pragma pack(push, 1) diff --git a/src/OpenSHC/Audio/mss/SoundSystem.func.hpp b/src/OpenSHC/Audio/mss/SoundSystem.func.hpp index 97b7d65..98370bc 100644 --- a/src/OpenSHC/Audio/mss/SoundSystem.func.hpp +++ b/src/OpenSHC/Audio/mss/SoundSystem.func.hpp @@ -5,16 +5,16 @@ #include "OpenSHC/Audio/mss/SoundSystem.hpp" #include "OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp" #include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" +#include "OpenSHC/DE/SHCDE/eMusicIDsInt.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eMusicIDsInt.hpp" namespace OpenSHC { namespace Audio { namespace mss { namespace SoundSystem_Func { - using OpenSHC::_SHCDE::eMusicIDsInt; using OpenSHC::Audio::mss::UnkSoundFlagsAndLoopCount; using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + using OpenSHC::DE::SHCDE::eMusicIDsInt; using OpenSHC::WindowsHelper::Enums::BOOLEnum; MACRO_FUNCTION_RESOLVER( diff --git a/src/OpenSHC/Audio/mss/SoundSystem.hpp b/src/OpenSHC/Audio/mss/SoundSystem.hpp index ae9f315..3d62517 100644 --- a/src/OpenSHC/Audio/mss/SoundSystem.hpp +++ b/src/OpenSHC/Audio/mss/SoundSystem.hpp @@ -10,20 +10,20 @@ #include "OpenSHC/Audio/mss/HSTREAM.hpp" #include "OpenSHC/Audio/mss/UnkSoundFlagsAndLoopCount.hpp" #include "OpenSHC/Audio/mss/_enums/SHC_SoundStreamInt.hpp" +#include "OpenSHC/DE/SHCDE/eMusicIDsInt.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eMusicIDsInt.hpp" #include "WinDef.h" namespace OpenSHC { namespace Audio { namespace mss { - using OpenSHC::_SHCDE::eMusicIDsInt; using OpenSHC::Audio::mss::HDIGDRIVER; using OpenSHC::Audio::mss::HSAMPLE; using OpenSHC::Audio::mss::HSTREAM; using OpenSHC::Audio::mss::UnkSoundFlagsAndLoopCount; using OpenSHC::Audio::mss::_enums::SHC_SoundStreamInt; + using OpenSHC::DE::SHCDE::eMusicIDsInt; using OpenSHC::WindowsHelper::Enums::BOOLEnum; #pragma pack(push, 1) diff --git a/src/OpenSHC/Common/MapperCommandUnion.hpp b/src/OpenSHC/Common/MapperCommandUnion.hpp index 844ab04..5da922a 100644 --- a/src/OpenSHC/Common/MapperCommandUnion.hpp +++ b/src/OpenSHC/Common/MapperCommandUnion.hpp @@ -7,16 +7,16 @@ #include "OpenSHC/Commands/CommandBuildingTypeInt.hpp" #include "OpenSHC/Commands/CommandBuildingTypeShort.hpp" -#include "OpenSHC/SHDE/eMappersInt.hpp" -#include "OpenSHC/_SHCDE/eMappersInt.hpp" +#include "OpenSHC/DE/SHCDE/eMappersInt.hpp" +#include "OpenSHC/DE/SHDE/eMappersInt.hpp" namespace OpenSHC { namespace Common { - using OpenSHC::_SHCDE::eMappersInt; using OpenSHC::Commands::CommandBuildingTypeInt; using OpenSHC::Commands::CommandBuildingTypeShort; - using OpenSHC::SHDE::eMappersInt; + using OpenSHC::DE::SHCDE::eMappersInt; + using OpenSHC::DE::SHDE::eMappersInt; #pragma pack(push, 1) // SIZE: 0x00000004 diff --git a/src/OpenSHC/DE/SHCDE/eAppModes.hpp b/src/OpenSHC/DE/SHCDE/eAppModes.hpp new file mode 100644 index 0000000..5dc8e42 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eAppModes.hpp @@ -0,0 +1,70 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eAppModes.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eAppModes { + + APP_MODE_MANAGER = 10, // 0x0000000A + APP_MODE_EDITOR = 11, // 0x0000000B + APP_MODE_TEST_MAP = 12, // 0x0000000C + APP_MODE_MAIN_GAME = 14, // 0x0000000E + APP_MODE_IN_BUILDING = 16, // 0x00000010 + APP_MODE_EDIT_MAP = 17, // 0x00000011 + APP_MODE_NEW_MAP = 18, // 0x00000012 + APP_MODE_XPLAY_CONNECT = 19, // 0x00000013 + APP_MODE_XPLAY_WAITING_ROOM = 20, // 0x00000014 + APP_MODE_XPLAY_CONNECT_GAMESPY = 21, // 0x00000015 + APP_MODE_HELP = 22, // 0x00000016 + APP_MODE_MAIN_OPTIONS = 23, // 0x00000017 + APP_MODE_1PLAYER_OPTIONS = 24, // 0x00000018 + APP_MODE_NEW_CAMPAIGN_LEVEL = 25, // 0x00000019 + APP_MODE_NARRATIVE = 26, // 0x0000001A + APP_MODE_MAP_SCREEN = 27, // 0x0000001B + APP_MODE_BRIEFING = 28, // 0x0000001C + APP_MODE_WIN_MISSION = 29, // 0x0000001D + APP_MODE_FAIL_MISSION = 30, // 0x0000001E + APP_MODE_NEW_MAP2 = 31, // 0x0000001F + APP_MODE_NEW_MAP3 = 32, // 0x00000020 + APP_MODE_XPLAY_WAIT_FOR_SYNC = 33, // 0x00000021 + APP_MODE_STAND_ALONE_OPTIONS = 35, // 0x00000023 + APP_MODE_EDIT_INVASIONS = 36, // 0x00000024 + APP_MODE_NEW_MAP4 = 37, // 0x00000025 + APP_MODE_DIFFICULTY_LEVEL = 38, // 0x00000026 + APP_MODE_ECO_DIFFICULTY_LEVEL = 39, // 0x00000027 + APP_MODE_NEW_FRONTEND1 = 40, // 0x00000028 + APP_MODE_NEW_FRONTEND2 = 41, // 0x00000029 + APP_MODE_NEW_FRONTEND_COMBAT = 42, // 0x0000002A + APP_MODE_NEW_FRONTEND_ECONOMICS = 43, // 0x0000002B + APP_MODE_NEW_FRONTEND_BUILDER = 44, // 0x0000002C + APP_MODE_CREDITS = 45, // 0x0000002D + APP_MODE_NET_DEMO_SCREEN = 46, // 0x0000002E + APP_MODE_SIEGE_THAT = 47, // 0x0000002F + APP_MODE_INTRO_BINK = 48, // 0x00000030 + APP_MODE_DUMMY = 49, // 0x00000031 + APP_MODE_MISSION_START1 = 50, // 0x00000032 + APP_MODE_MISSION_START2 = 51, // 0x00000033 + APP_MODE_CAMPAIGN_START = 52, // 0x00000034 + APP_MODE_CAMPAIGN_END = 53, // 0x00000035 + APP_MODE_SKIRMISH_OPP = 54, // 0x00000036 + APP_MODE_SKIRMISH_CHOICE = 55, // 0x00000037 + APP_MODE_SKIRMISH_BRIEF = 56, // 0x00000038 + APP_MODE_SKIRMISH_TRAIL = 57, // 0x00000039 + APP_MODE_SKIRMISH_MASTERS = 58, // 0x0000003A + APP_MODE_NOT_SEEING = 59, // 0x0000003B + APP_MODE_ASK_FOR_DISC = 60, // 0x0000003C + APP_MODE_XPLAY_FAKE = 61, // 0x0000003D + APP_MODE_SKTRAIL_WIN = 62, // 0x0000003E + APP_MODE_SCN_SCENARIO_EDITOR = 1002 // 0x000003EA + + } eAppModes; + + static_assert_cpp98_obj(sizeof(eAppModes) == 4, eAppModes); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eAppModesInt.hpp b/src/OpenSHC/DE/SHCDE/eAppModesInt.hpp new file mode 100644 index 0000000..ceee0e3 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eAppModesInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eAppModesInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eAppModes.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eAppModesInt; + + static_assert_cpp98_obj(sizeof(eAppModesInt) == 4, eAppModesInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eGM.hpp b/src/OpenSHC/DE/SHCDE/eGM.hpp new file mode 100644 index 0000000..755d7b2 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eGM.hpp @@ -0,0 +1,231 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eGM.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eGM { + + GM_LAND = 2, // 0x00000002 + GM_PILLARS = 3, // 0x00000003 + GM_SEA_CHEVRONS = 4, // 0x00000004 + GM_SEA = 5, // 0x00000005 + GM_BUILDINGS1 = 6, // 0x00000006 + GM_BUILDINGS2 = 7, // 0x00000007 + GM_WORKSHOPS = 8, // 0x00000008 + GM_CLIFFS = 9, // 0x00000009 + GM_WALLS = 10, // 0x0000000A + GM_SPECIAL_LAND = 11, // 0x0000000B + GM_MISC_LAND = 12, // 0x0000000C + GM_RIVERS = 13, // 0x0000000D + GM_FARMLAND = 14, // 0x0000000E + GM_GOODS = 15, // 0x0000000F + GM_FLOATS = 16, // 0x00000010 + GM_BODY_PEASANT = 17, // 0x00000011 + GM_BODY_ARCHER = 18, // 0x00000012 + GM_BODY_WOODCUTTER = 19, // 0x00000013 + GM_BODY_FLETCHER = 20, // 0x00000014 + GM_BODY_OXCART = 21, // 0x00000015 + GM_BUILDING_ANIMS2 = 22, // 0x00000016 + GM_SMOKE_ANIMS = 23, // 0x00000017 + GM_55X55_ANIMS = 24, // 0x00000018 + GM_QUARRY_ANIMS = 25, // 0x00000019 + GM_WINDMILL_ANIMS = 26, // 0x0000001A + GM_FLETCHER_ANIMS = 27, // 0x0000001B + GM_GOODS_ANIMS = 28, // 0x0000001C + GM_TREE_BIRCH = 29, // 0x0000001D + GM_TREE_PINE = 30, // 0x0000001E + GM_TREE_CHESTNUT = 31, // 0x0000001F + GM_BODY_STONEMASON = 32, // 0x00000020 + GM_BODY_FARMER = 33, // 0x00000021 + GM_BODY_MISSILE = 34, // 0x00000022 + GM_BODY_LADDERMAN = 35, // 0x00000023 + GM_BODY_BAKER = 36, // 0x00000024 + GM_BODY_MILLER = 37, // 0x00000025 + GM_DATA = 38, // 0x00000026 + GM_BODY_SPEARMAN = 39, // 0x00000027 + GM_BODY_PIKEMAN = 40, // 0x00000028 + GM_BODY_CROSSBOWMAN = 41, // 0x00000029 + GM_BODY_SWORDSMAN = 42, // 0x0000002A + GM_BODY_MACEMAN = 43, // 0x0000002B + GM_BODY_KNIGHT = 44, // 0x0000002C + GM_INTERFACE_BUTTONS = 45, // 0x0000002D + GM_INTERFACE_ICONS2 = 46, // 0x0000002E + GM_MINE_ANIMS = 47, // 0x0000002F + GM_TILE_BURNT = 48, // 0x00000030 + GM_CHURCHS = 49, // 0x00000031 + GM_INTERFACE_PANELS = 50, // 0x00000032 + GM_WORKSHOP_BREW_ANIMS = 51, // 0x00000033 + GM_CASTLES = 52, // 0x00000034 + GM_BODY_BREWER = 53, // 0x00000035 + GM_CASTLE_ANIMS = 54, // 0x00000036 + GM_MACRO_LAND = 55, // 0x00000037 + GM_ROCKS = 56, // 0x00000038 + GM_ROCKS_CHEVRONS = 57, // 0x00000039 + GM_WORKSHOP_SMITH_ANIMS = 58, // 0x0000003A + GM_BODY_BLACKSMITH = 59, // 0x0000003B + GM_LAND_AND_STONES = 60, // 0x0000003C + GM_BODY_IRONMINER = 61, // 0x0000003D + GM_BODY_CATAPULT = 62, // 0x0000003E + GM_BODY_COW = 63, // 0x0000003F + GM_WORKSHOP_POLE_ANIMS = 64, // 0x00000040 + GM_PITCH_ANIMS = 65, // 0x00000041 + GM_WORKSHOP_BAKER_ANIMS = 66, // 0x00000042 + GM_WOODCUTTER_ANIMS = 67, // 0x00000043 + GM_DRAWBRIDGE_ANIMS = 68, // 0x00000044 + GM_WORKSHOP_TANNER_ANIMS = 69, // 0x00000045 + GM_TREE_OAK = 70, // 0x00000046 + GM_TREE_SHRUB1 = 71, // 0x00000047 + GM_TREE_SHRUB2 = 72, // 0x00000048 + GM_BODY_PITCHWORKER = 73, // 0x00000049 + GM_BODY_POLETURNER = 74, // 0x0000004A + GM_BODY_TANNER = 75, // 0x0000004B + GM_FLAG_ANIMS = 76, // 0x0000004C + GM_BODY_TRADER_HORSE = 77, // 0x0000004D + GM_BODY_TRADER = 78, // 0x0000004E + GM_ICONS = 79, // 0x0000004F + GM_ICONS_ALPHA = 80, // 0x00000050 + GM_BODY_DRUNKARD = 81, // 0x00000051 + GM_BODY_TENT = 82, // 0x00000052 + GM_BODY_MANGONEL = 83, // 0x00000053 + GM_BODY_TREBUCHET = 84, // 0x00000054 + GM_FLOAT_POP_CIRC = 85, // 0x00000055 + GM_BODY_SIEGE_ENGINEER = 86, // 0x00000056 + GM_FONT_STRONGHOLD_AA = 87, // 0x00000057 + GM_FARMER_ANIMS = 88, // 0x00000058 + GM_BODY_HUNTER = 89, // 0x00000059 + GM_HUNTER_ANIMS = 90, // 0x0000005A + GM_BODY_DEER = 91, // 0x0000005B + GM_BODY_LION = 92, // 0x0000005C + GM_BODY_RABBIT = 93, // 0x0000005D + GM_BODY_CAMEL = 94, // 0x0000005E + GM_BODY_DOG = 95, // 0x0000005F + GM_BODY_PRIEST = 96, // 0x00000060 + GM_TREE_APPLE = 97, // 0x00000061 + GM_STABLE_ANIMS = 98, // 0x00000062 + GM_BODY_LADY = 99, // 0x00000063 + GM_BODY_LORD = 100, // 0x00000064 + GM_BODY_JESTER = 101, // 0x00000065 + GM_BODY_ARMOURER = 102, // 0x00000066 + GM_ARMOURER_ANIMS = 103, // 0x00000067 + GM_SHEILD_ANIMS = 104, // 0x00000068 + GM_ANIM_TUNNELERS_GUILD = 105, // 0x00000069 + GM_BODY_TUNNELER = 106, // 0x0000006A + GM_CURSORS = 107, // 0x0000006B + GM_MAPEDIT_BUTTONS = 108, // 0x0000006C + GM_BODY_FIGHTING_MONK = 109, // 0x0000006D + GM_OIL_ANIMS = 113, // 0x00000071 + GM_GALLOWS_ANIMS = 114, // 0x00000072 + GM_MAYPOLE_ANIMS = 115, // 0x00000073 + GM_BODY_OIL = 116, // 0x00000074 + GM_FONT_STRONGHOLD = 117, // 0x00000075 + GM_BODY_FIRE = 118, // 0x00000076 + GM_BODY_BURNING_MAN = 119, // 0x00000077 + GM_BODY_BALLISTA = 120, // 0x00000078 + GM_BODY_SHIELD = 121, // 0x00000079 + GM_BODY_MISSILE_2 = 122, // 0x0000007A + GM_BODY_BATTERING_RAM = 123, // 0x0000007B + GM_BODY_SIEGE_TOWER = 124, // 0x0000007C + GM_BODY_STEAM = 125, // 0x0000007D + GM_BODY_CHICKEN = 126, // 0x0000007E + GM_BODY_MOTHER = 127, // 0x0000007F + GM_BODY_BOY = 128, // 0x00000080 + GM_BODY_GIRL = 129, // 0x00000081 + GM_ANIM_TUNNELS = 130, // 0x00000082 + GM_BODY_JUGGLER = 131, // 0x00000083 + GM_BODY_FIREEATER = 132, // 0x00000084 + GM_BODY_HEALER = 133, // 0x00000085 + GM_BODY_DISEASE = 134, // 0x00000086 + GM_BODY_MISSILE_COW = 135, // 0x00000087 + GM_CRACKS = 136, // 0x00000088 + GM_BODY_GATE = 137, // 0x00000089 + GM_BODY_BRAZIER = 138, // 0x0000008A + GM_KILLING_PITS = 139, // 0x0000008B + GM_PITCH_DITCHES = 140, // 0x0000008C + GM_BLAST = 141, // 0x0000008D + GM_SCRIBE = 142, // 0x0000008E + GM_ANIM_ICON_KNIGHT = 143, // 0x0000008F + GM_BODY_FIRE2 = 144, // 0x00000090 + GM_ANIM_MISSILE_FIRE = 145, // 0x00000091 + GM_FONT_SLANTED = 146, // 0x00000092 + GM_BODY_INNKEEPER = 147, // 0x00000093 + GM_ICONS_FRONT_END = 148, // 0x00000094 + GM_TILE_RUINS = 149, // 0x00000095 + GM_ICONS_FRONT_END_COMBAT = 150, // 0x00000096 + GM_ICONS_FRONT_END_ECONOMICS = 151, // 0x00000097 + GM_ICONS_FRONT_END_BUILDER = 152, // 0x00000098 + GM_MINI_CURSORS = 153, // 0x00000099 + GM_BODY_CHICKEN_BROWN = 154, // 0x0000009A + GM_ANIM_MARKET = 155, // 0x0000009B + GM_INTERFACE_ICONS3 = 156, // 0x0000009C + GM_TILE_FLATTIES = 157, // 0x0000009D + GM_ROCK_CHIPS = 158, // 0x0000009E + GM_ANIM_DUNKING_STOOL = 159, // 0x0000009F + GM_ANIM_DUNGEON = 160, // 0x000000A0 + GM_ANIM_GIBBET = 161, // 0x000000A1 + GM_ANIM_HEALER = 162, // 0x000000A2 + GM_ANIM_STOCKS = 163, // 0x000000A3 + GM_INTERFACE_SLIDER = 164, // 0x000000A4 + GM_MAP_FLAGS = 165, // 0x000000A5 + GM_NEW_SEA = 166, // 0x000000A6 + GM_BODY_SEAGULL = 167, // 0x000000A7 + GM_BODY_CROW = 168, // 0x000000A8 + GM_PUFF_OF_SMOKE = 169, // 0x000000A9 + GM_BODY_SPLASH = 170, // 0x000000AA + GM_ANIM_INN = 171, // 0x000000AB + GM_FLOATS_NEW = 172, // 0x000000AC + GM_ANIM_WHITECAPS = 173, // 0x000000AD + GM_ARMY_UNITS = 174, // 0x000000AE + GM_ANIM_STAKE = 175, // 0x000000AF + GM_ANIM_KILLING_PITS = 176, // 0x000000B0 + GM_ENEMY_FACES = 177, // 0x000000B1 + GM_ANIM_RACK = 178, // 0x000000B2 + GM_ANIM_DOG_CAGE = 179, // 0x000000B3 + GM_ANIM_DANCING_BEAR = 180, // 0x000000B4 + GM_ANIM_CHOPPING_BLOCK = 181, // 0x000000B5 + GM_BODY_FIREMAN = 182, // 0x000000B6 + GM_INTERFACE_ARMY = 183, // 0x000000B7 + GM_INTERFACE_RUINS = 184, // 0x000000B8 + GM_BODY_ANIMAL_BURNING_BIG = 185, // 0x000000B9 + GM_BODY_ANIMAL_BURNING_SMALL = 186, // 0x000000BA + GM_ANIM_HEADS = 187, // 0x000000BB + GM_BODY_GHOST = 188, // 0x000000BC + GM_ANIM_FLAG_SMALL = 189, // 0x000000BD + GM_BODY_ARAB_BOW = 190, // 0x000000BE + GM_BODY_ARAB_SLAVE = 191, // 0x000000BF + GM_BODY_ARAB_SLINGER = 192, // 0x000000C0 + GM_BODY_ARAB_ASSASIN = 193, // 0x000000C1 + GM_BODY_ARAB_HORSEMAN = 194, // 0x000000C2 + GM_BODY_ARAB_SWORDSMAN = 195, // 0x000000C3 + GM_BODY_ARAB_GRENADIER = 196, // 0x000000C4 + GM_BODY_ARAB_BALLISTA = 197, // 0x000000C5 + GM_ASSASIN_ROPE = 198, // 0x000000C6 + GM_BODY_ARAB_HORSE = 199, // 0x000000C7 + GM_TREE_CACTII = 200, // 0x000000C8 + GM_ANIM_CRUSADER_FLAG = 201, // 0x000000C9 + GM_BODY_INFO = 202, // 0x000000CA + GM_BODY_WOLF = 203, // 0x000000CB + GM_BODY_ARABIC_LORD = 205, // 0x000000CD + GM_ADDITIONAL_GFX = 207, // 0x000000CF + GM_BODY_BEDOUIN_CAMEL_LANCER = 208, // 0x000000D0 + GM_BODY_BEDOUIN_HEALER = 209, // 0x000000D1 + GM_BODY_BEDOUIN_EUNUCH = 210, // 0x000000D2 + GM_BODY_BEDOUIN_AMBUSHER = 211, // 0x000000D3 + GM_BODY_BEDOUIN_SKIRMISHER = 212, // 0x000000D4 + GM_BODY_BEDOUIN_HEAVY_CAMEL = 213, // 0x000000D5 + GM_BODY_BEDOUIN_SAPPER = 214, // 0x000000D6 + GM_BODY_BEDOUIN_DEMOLISHER = 215, // 0x000000D7 + GM_FLOAT_POP_CIRC_2 = 218, // 0x000000DA + GM_BODY_MISSILE_FIREPOT = 219, // 0x000000DB + GM_BODY_JAVELIN = 220 // 0x000000DC + + } eGM; + + static_assert_cpp98_obj(sizeof(eGM) == 4, eGM); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eGMInt.hpp b/src/OpenSHC/DE/SHCDE/eGMInt.hpp new file mode 100644 index 0000000..d8c0e74 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eGMInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eGMInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eGM.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eGMInt; + + static_assert_cpp98_obj(sizeof(eGMInt) == 4, eGMInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eInBuildingModes.hpp b/src/OpenSHC/DE/SHCDE/eInBuildingModes.hpp new file mode 100644 index 0000000..4bef54c --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eInBuildingModes.hpp @@ -0,0 +1,114 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eInBuildingModes.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eInBuildingModes { + + IBM_INSIDE_NULL = 0, // 0x00000000 + IBM_INSIDE_BARRACKS = 1, // 0x00000001 + IBM_INSIDE_KEEP = 2, // 0x00000002 + IBM_INSIDE_INN = 3, // 0x00000003 + IBM_INSIDE_GRANARY = 4, // 0x00000004 + IBM_INSIDE_HOUSE = 5, // 0x00000005 + IBM_INSIDE_WOODCUTTERS_HUT = 6, // 0x00000006 + IBM_INSIDE_OXEN_BASE = 7, // 0x00000007 + IBM_INSIDE_IRON_MINE = 8, // 0x00000008 + IBM_INSIDE_PITCH_DIGGER = 9, // 0x00000009 + IBM_INSIDE_HUNTERS_HUT = 10, // 0x0000000A + IBM_INSIDE_GOODS_YARD = 11, // 0x0000000B + IBM_INSIDE_ARMOURY = 12, // 0x0000000C + IBM_INSIDE_FLETCHERS_WORKSHOP = 13, // 0x0000000D + IBM_INSIDE_BLACKSMITHS_WORKSHOP = 14, // 0x0000000E + IBM_INSIDE_POLETURNERS_WORKSHOP = 15, // 0x0000000F + IBM_INSIDE_ARMOURERS_WORKSHOP = 16, // 0x00000010 + IBM_INSIDE_TANNERS_WORKSHOP = 17, // 0x00000011 + IBM_INSIDE_BAKERS_WORKSHOP = 18, // 0x00000012 + IBM_INSIDE_BREWERS_WORKSHOP = 19, // 0x00000013 + IBM_INSIDE_QUARRY = 20, // 0x00000014 + IBM_INSIDE_QUARRYPILE = 21, // 0x00000015 + IBM_INSIDE_HEALERS = 22, // 0x00000016 + IBM_INSIDE_ENGINEERS_GUILD = 23, // 0x00000017 + IBM_INSIDE_TUNNELLERS_GUILD = 24, // 0x00000018 + IBM_INSIDE_TRADEPOST = 25, // 0x00000019 + IBM_INSIDE_WELL = 26, // 0x0000001A + IBM_INSIDE_OIL_SMELTER = 27, // 0x0000001B + IBM_INSIDE_SIEGE_TENT = 28, // 0x0000001C + IBM_INSIDE_WHEATFARM = 29, // 0x0000001D + IBM_INSIDE_HOPSFARM = 30, // 0x0000001E + IBM_INSIDE_APPLEFARM = 31, // 0x0000001F + IBM_INSIDE_CATTLEFARM = 32, // 0x00000020 + IBM_INSIDE_MILL = 33, // 0x00000021 + IBM_INSIDE_STABLES = 34, // 0x00000022 + IBM_INSIDE_CHURCH = 35, // 0x00000023 + IBM_INSIDE_GATEHOUSE = 36, // 0x00000024 + IBM_INSIDE_DRAWBRIDGE = 37, // 0x00000025 + IBM_INSIDE_POSTERN_GATE = 38, // 0x00000026 + IBM_INSIDE_TUNNEL_ENTERANCE = 39, // 0x00000027 + IBM_INSIDE_WATERPOT = 40, // 0x00000028 + IBM_INSIDE_SIGNPOST = 41, // 0x00000029 + IBM_INSIDE_KILLING_PIT = 42, // 0x0000002A + IBM_INSIDE_CAMPGROUND = 43, // 0x0000002B + IBM_INSIDE_MERCPOST = 44, // 0x0000002C + IBM_INSIDE_OUTPOST = 45, // 0x0000002D + IBM_INSIDE_TOWER = 46, // 0x0000002E + IBM_INSIDE_GALLOWS = 47, // 0x0000002F + IBM_INSIDE_STOCKS = 48, // 0x00000030 + IBM_INSIDE_WITCH_HOIST = 49, // 0x00000031 + IBM_INSIDE_MAYPOLE = 50, // 0x00000032 + IBM_INSIDE_GARDEN = 51, // 0x00000033 + IBM_INSIDE_PARADEGROUND = 52, // 0x00000034 + IBM_INSIDE_TRADEPOST_PRICES = 53, // 0x00000035 + IBM_INSIDE_TRADEPOST_FOOD = 54, // 0x00000036 + IBM_INSIDE_TRADEPOST_BULK = 55, // 0x00000037 + IBM_INSIDE_TRADEPOST_ARMS = 56, // 0x00000038 + IBM_INSIDE_TRADEPOST_DO_THE_TRADE = 57, // 0x00000039 + IBM_INSIDE_CATAPULT = 58, // 0x0000003A + IBM_INSIDE_TREBUCHET = 59, // 0x0000003B + IBM_INSIDE_SIEGE_TOWER = 60, // 0x0000003C + IBM_INSIDE_BATTERING_RAM = 61, // 0x0000003D + IBM_INSIDE_PORTABLE_SHIELD = 62, // 0x0000003E + IBM_INSIDE_BEDOUIN_STOCKADE = 63, // 0x0000003F + IBM_SUB_MODE_REPORTS_ARMY4 = 66, // 0x00000042 + IBM_SUB_MODE_REPORTS_ARMY3 = 67, // 0x00000043 + IBM_SUB_MODE_REPORTS_ARMY2 = 68, // 0x00000044 + IBM_SUB_MODE_REPORTS_EVENTS = 69, // 0x00000045 + IBM_INSIDE_CHIMP = 70, // 0x00000046 + IBM_SUB_MODE_REPORTS = 71, // 0x00000047 + IBM_SUB_MODE_REPORTS_POPULARITY = 72, // 0x00000048 + IBM_SUB_MODE_REPORTS_FEARFACTOR = 73, // 0x00000049 + IBM_SUB_MODE_REPORTS_POPULATION = 74, // 0x0000004A + IBM_SUB_MODE_REPORTS_FOOD = 75, // 0x0000004B + IBM_SUB_MODE_REPORTS_ARMY = 76, // 0x0000004C + IBM_SUB_MODE_REPORTS_STORES = 77, // 0x0000004D + IBM_SUB_MODE_REPORTS_WEAPONS = 78, // 0x0000004E + IBM_SUB_MODE_REPORTS_RELIGION = 79, // 0x0000004F + IBM_INSIDE_CESS_PIT = 80, // 0x00000050 + IBM_INSIDE_BURNING_STAKE = 81, // 0x00000051 + IBM_INSIDE_GIBBET = 82, // 0x00000052 + IBM_INSIDE_DUNGEON = 83, // 0x00000053 + IBM_INSIDE_STRETCHING_RACK = 84, // 0x00000054 + IBM_INSIDE_FLOGGING_RACK = 85, // 0x00000055 + IBM_INSIDE_CHOPPING_BLOCK = 86, // 0x00000056 + IBM_INSIDE_DUNKING_STOOL = 87, // 0x00000057 + IBM_INSIDE_DOG_CAGE = 88, // 0x00000058 + IBM_INSIDE_STATUE = 89, // 0x00000059 + IBM_INSIDE_SHRINE = 90, // 0x0000005A + IBM_INSIDE_BEEHIVE = 91, // 0x0000005B + IBM_INSIDE_DANCING_BEAR = 92, // 0x0000005C + IBM_INSIDE_POND = 93, // 0x0000005D + IBM_INSIDE_BEAR_CAVE = 94, // 0x0000005E + IBM_INSIDE_ARAB_BALLISTA = 95, // 0x0000005F + IBM_INSIDE_CATHEDRAL = 96 // 0x00000060 + + } eInBuildingModes; + + static_assert_cpp98_obj(sizeof(eInBuildingModes) == 4, eInBuildingModes); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp b/src/OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp new file mode 100644 index 0000000..3be2b06 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eInBuildingModes.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eInBuildingModesInt; + + static_assert_cpp98_obj(sizeof(eInBuildingModesInt) == 4, eInBuildingModesInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eMappers.hpp b/src/OpenSHC/DE/SHCDE/eMappers.hpp new file mode 100644 index 0000000..8f8350e --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eMappers.hpp @@ -0,0 +1,447 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eMappers.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eMappers { + + M_MAPPER_NULL = 0, // 0x00000000 + M_MAPPER_AREA = 1, // 0x00000001 + M_MAPPER_RAISE = 2, // 0x00000002 + M_MAPPER_LOWER = 3, // 0x00000003 + M_MAPPER_SEA = 4, // 0x00000004 + M_MAPPER_LAND = 5, // 0x00000005 + M_MAPPER_FOREST = 6, // 0x00000006 + M_MAPPER_SCRUB = 7, // 0x00000007 + M_MAPPER_BEACH = 8, // 0x00000008 + M_MAPPER_SHALLOWS = 9, // 0x00000009 + M_MAPPER_ROCKY = 10, // 0x0000000A + M_MAPPER_STONES = 11, // 0x0000000B + M_MAPPER_BOULDERS = 12, // 0x0000000C + M_MAPPER_PEBBLES = 13, // 0x0000000D + M_MAPPER_RIVER = 14, // 0x0000000E + M_MAPPER_FORD = 15, // 0x0000000F + M_MAPPER_IRON = 16, // 0x00000010 + M_MAPPER_MARSH = 17, // 0x00000011 + M_MAPPER_DIRT = 18, // 0x00000012 + M_MAPPER_GRASS = 19, // 0x00000013 + M_MAPPER_BIGROCKS = 20, // 0x00000014 + M_MAPPER_DOWN = 20, // 0x00000014 + M_MAPPER_MIN = 21, // 0x00000015 + M_MAPPER_MAX = 22, // 0x00000016 + M_MAPPER_EQUALISE = 23, // 0x00000017 + M_MAPPER_PLATEAU = 24, // 0x00000018 + M_MAPPER_WALL = 25, // 0x00000019 + M_MAPPER_CRENAL = 26, // 0x0000001A + M_MAPPER_STAIR = 27, // 0x0000001B + M_MAPPER_TOWER = 28, // 0x0000001C + M_MAPPER_UP = 29, // 0x0000001D + M_MAPPER_EXIT = 31, // 0x0000001F + M_MAPPER_TOMAIN = 32, // 0x00000020 + M_MAPPER_TOTEST = 33, // 0x00000021 + M_MAPPER_PATROL = 34, // 0x00000022 + M_MAPPER_CRENAL2 = 35, // 0x00000023 + M_MAPPER_MOUNTAIN = 36, // 0x00000024 + M_MAPPER_HILL = 37, // 0x00000025 + M_MAPPER_AFFECT_TYPE = 38, // 0x00000026 + M_MAPPER_DELETE = 39, // 0x00000027 + M_MAPPER_CHESTNUT = 40, // 0x00000028 + M_MAPPER_OAK = 41, // 0x00000029 + M_MAPPER_PINE = 42, // 0x0000002A + M_MAPPER_BIRCH = 43, // 0x0000002B + M_MAPPER_UNDUGMOAT = 44, // 0x0000002C + M_MAPPER_DUGMOAT = 45, // 0x0000002D + M_MAPPER_WOODWALL = 46, // 0x0000002E + M_MAPPER_PLAIN1 = 47, // 0x0000002F + M_MAPPER_PLAIN2 = 48, // 0x00000030 + M_MAPPER_OIL = 49, // 0x00000031 + M_MAPPER_FLETCHER = 50, // 0x00000032 + M_MAPPER_WOODSMAN = 51, // 0x00000033 + M_MAPPER_STORES = 52, // 0x00000034 + M_MAPPER_OUTPOST_BEDOUIN = 53, // 0x00000035 + M_MAPPER_HOVEL = 54, // 0x00000036 + M_MAPPER_OXENBASE = 55, // 0x00000037 + M_MAPPER_QUARRY = 56, // 0x00000038 + M_MAPPER_TUNNEL = 57, // 0x00000039 + M_MAPPER_CAMP_FIRE = 58, // 0x0000003A + M_MAPPER_SIGNPOST = 59, // 0x0000003B + M_MAPPER_KEEP1 = 60, // 0x0000003C + M_MAPPER_KEEP2 = 61, // 0x0000003D + M_MAPPER_KEEP3 = 62, // 0x0000003E + M_MAPPER_KEEP4 = 63, // 0x0000003F + M_MAPPER_KEEP5 = 64, // 0x00000040 + M_MAPPER_STABLES = 65, // 0x00000041 + M_MAPPER_TUNNEL_CONSTRUCTION = 66, // 0x00000042 + M_MAPPER_UNUSED_2 = 68, // 0x00000044 + M_MAPPER_UNUSED_3 = 69, // 0x00000045 + M_MAPPER_WHEATFARM = 70, // 0x00000046 + M_MAPPER_HOPSFARM = 71, // 0x00000047 + M_MAPPER_APPLEFARM = 72, // 0x00000048 + M_MAPPER_CATTLEFARM = 73, // 0x00000049 + M_MAPPER_MILL = 74, // 0x0000004A + M_MAPPER_BAKER = 75, // 0x0000004B + M_MAPPER_BREWER = 76, // 0x0000004C + M_MAPPER_TRADEPOST = 77, // 0x0000004D + M_MAPPER_HUNTER = 78, // 0x0000004E + M_MAPPER_BEDOUIN_STOCKADE = 79, // 0x0000004F + M_MAPPER_GRANARY = 80, // 0x00000050 + M_MAPPER_ARMOURY = 81, // 0x00000051 + M_MAPPER_POLETURNER = 82, // 0x00000052 + M_MAPPER_BLACKSMITH = 83, // 0x00000053 + M_MAPPER_ARMOURER = 84, // 0x00000054 + M_MAPPER_TANNER = 85, // 0x00000055 + M_MAPPER_BARRACKS_WOOD = 86, // 0x00000056 + M_MAPPER_BARRACKS_STONE = 87, // 0x00000057 + M_MAPPER_ENGINEERS_GUILD = 88, // 0x00000058 + M_MAPPER_TUNNELERS_GUILD = 89, // 0x00000059 + M_MAPPER_IRON_MINE = 90, // 0x0000005A + M_MAPPER_PITCH_WORKINGS = 91, // 0x0000005B + M_MAPPER_INN = 92, // 0x0000005C + M_MAPPER_HEALER = 93, // 0x0000005D + M_MAPPER_SIEGE_TOWER_BASE = 94, // 0x0000005E + M_MAPPER_CHURCH1 = 95, // 0x0000005F + M_MAPPER_CHURCH2 = 96, // 0x00000060 + M_MAPPER_CHURCH3 = 97, // 0x00000061 + M_MAPPER_KILLING_PIT = 98, // 0x00000062 + M_MAPPER_PITCH_DITCH = 99, // 0x00000063 + M_MAPPER_GATEHOUSE = 100, // 0x00000064 + M_MAPPER_GATE_MAIN = 101, // 0x00000065 + M_MAPPER_GATE_INNER = 102, // 0x00000066 + M_MAPPER_GATE_WOOD = 103, // 0x00000067 + M_MAPPER_GATE_POSTERN = 104, // 0x00000068 + M_MAPPER_DRAWBRIDGE = 105, // 0x00000069 + M_MAPPER_MOAT = 106, // 0x0000006A + M_MAPPER_ANTIMOAT = 107, // 0x0000006B + M_MAPPER_GENERIC = 108, // 0x0000006C + M_MAPPER_QUARRYPILE = 109, // 0x0000006D + M_MAPPER_TOWER1 = 110, // 0x0000006E + M_MAPPER_TOWER2 = 111, // 0x0000006F + M_MAPPER_TOWER3 = 112, // 0x00000070 + M_MAPPER_TOWER4 = 113, // 0x00000071 + M_MAPPER_TOWER5 = 114, // 0x00000072 + M_MAPPER_TOWER1_DESTROYED = 115, // 0x00000073 + M_MAPPER_TOWER2_DESTROYED = 116, // 0x00000074 + M_MAPPER_TOWER3_DESTROYED = 117, // 0x00000075 + M_MAPPER_TOWER4_DESTROYED = 118, // 0x00000076 + M_MAPPER_TOWER5_DESTROYED = 119, // 0x00000077 + M_MAPPER_FLAG_TYPE0 = 120, // 0x00000078 + M_MAPPER_FLAG_TYPE1 = 121, // 0x00000079 + M_MAPPER_FLAG_TYPE2 = 122, // 0x0000007A + M_MAPPER_FLAG_TYPE3 = 123, // 0x0000007B + M_MAPPER_FLAG_TYPE4 = 124, // 0x0000007C + M_MAPPER_FLAG_TYPE5 = 125, // 0x0000007D + M_MAPPER_FLAG_TYPE6 = 126, // 0x0000007E + M_MAPPER_FLAG_TYPE7 = 127, // 0x0000007F + M_MAPPER_FLAG_TYPE8 = 128, // 0x00000080 + M_MAPPER_HEADS = 129, // 0x00000081 + M_MAPPER_SHRUB1A = 130, // 0x00000082 + M_MAPPER_SHRUB1B = 131, // 0x00000083 + M_MAPPER_SHRUB1C = 132, // 0x00000084 + M_MAPPER_SHRUB1D = 133, // 0x00000085 + M_MAPPER_SHRUB1E = 134, // 0x00000086 + M_MAPPER_SHRUB2A = 135, // 0x00000087 + M_MAPPER_SHRUB2B = 136, // 0x00000088 + M_MAPPER_SHRUB2C = 137, // 0x00000089 + M_MAPPER_SHRUB2D = 138, // 0x0000008A + M_MAPPER_SHRUB2E = 139, // 0x0000008B + M_MAPPER_GATE_WOOD1A = 140, // 0x0000008C + M_MAPPER_GATE_WOOD1B = 141, // 0x0000008D + M_MAPPER_GATE_WOOD1C = 142, // 0x0000008E + M_MAPPER_GATE_WOOD1D = 143, // 0x0000008F + M_MAPPER_GATE_STONE1A = 144, // 0x00000090 + M_MAPPER_GATE_STONE1B = 145, // 0x00000091 + M_MAPPER_GATE_STONE2A = 146, // 0x00000092 + M_MAPPER_GATE_STONE2B = 147, // 0x00000093 + M_MAPPER_BRAZIER = 148, // 0x00000094 + M_MAPPER_UNUSED_7 = 149, // 0x00000095 + M_MAPPER_FOAM = 150, // 0x00000096 + M_MAPPER_RIPPLE = 151, // 0x00000097 + M_MAPPER_TO_MAP_EDIT = 152, // 0x00000098 + M_MAPPER_SHRUB3A = 153, // 0x00000099 + M_MAPPER_SHRUB3B = 154, // 0x0000009A + M_MAPPER_SHRUB3C = 155, // 0x0000009B + M_MAPPER_SHRUB3D = 156, // 0x0000009C + M_MAPPER_UNUSED_12 = 157, // 0x0000009D + M_MAPPER_UNUSED_13 = 158, // 0x0000009E + M_MAPPER_UNUSED_14 = 159, // 0x0000009F + M_MAPPER_GARDEN1 = 160, // 0x000000A0 + M_MAPPER_GARDEN2 = 161, // 0x000000A1 + M_MAPPER_GARDEN3 = 162, // 0x000000A2 + M_MAPPER_GARDEN4 = 163, // 0x000000A3 + M_MAPPER_GARDEN5 = 164, // 0x000000A4 + M_MAPPER_GARDEN6 = 165, // 0x000000A5 + M_MAPPER_GARDEN7 = 166, // 0x000000A6 + M_MAPPER_GARDEN8 = 167, // 0x000000A7 + M_MAPPER_GARDEN9 = 168, // 0x000000A8 + M_MAPPER_GARDEN10 = 169, // 0x000000A9 + M_MAPPER_GARDEN11 = 170, // 0x000000AA + M_MAPPER_GARDEN12 = 171, // 0x000000AB + M_MAPPER_UNUSED_15 = 172, // 0x000000AC + M_MAPPER_UNUSED_16 = 173, // 0x000000AD + M_MAPPER_UNUSED_17 = 174, // 0x000000AE + M_MAPPER_MAYPOLE = 175, // 0x000000AF + M_MAPPER_GALLOWS = 176, // 0x000000B0 + M_MAPPER_STOCKS = 177, // 0x000000B1 + M_MAPPER_OUTPOST = 178, // 0x000000B2 + M_MAPPER_OUTPOST_ARAB = 179, // 0x000000B3 + M_MAPPER_OIL_SMELTER = 180, // 0x000000B4 + M_MAPPER_STAIR1 = 181, // 0x000000B5 + M_MAPPER_STAIR2 = 182, // 0x000000B6 + M_MAPPER_STAIR3 = 183, // 0x000000B7 + M_MAPPER_STAIR4 = 184, // 0x000000B8 + M_MAPPER_STAIR5 = 185, // 0x000000B9 + M_MAPPER_STAIR6 = 186, // 0x000000BA + M_MAPPER_UNUSED_26 = 187, // 0x000000BB + M_MAPPER_UNUSED_27 = 188, // 0x000000BC + M_MAPPER_UNUSED_28 = 189, // 0x000000BD + M_MAPPER_CATAPULT = 190, // 0x000000BE + M_MAPPER_TREBUCHET = 191, // 0x000000BF + M_MAPPER_SIEGE_TOWER = 192, // 0x000000C0 + M_MAPPER_BATTERING_RAM = 193, // 0x000000C1 + M_MAPPER_PORTABLE_SHIELD = 194, // 0x000000C2 + M_MAPPER_DOCK = 195, // 0x000000C3 + M_MAPPER_DOCK2 = 196, // 0x000000C4 + M_MAPPER_DOCK3 = 197, // 0x000000C5 + M_MAPPER_DOCK4 = 198, // 0x000000C6 + M_MAPPER_UNUSED_33 = 199, // 0x000000C7 + M_MAPPER_BACK = 200, // 0x000000C8 + M_MAPPER_CHECK_BOX = 201, // 0x000000C9 + M_MAPPER_TEST = 202, // 0x000000CA + M_MAPPER_REBUILD = 203, // 0x000000CB + M_MAPPER_SNAP_TO = 204, // 0x000000CC + M_MAPPER_BIGROCK1 = 205, // 0x000000CD + M_MAPPER_BIGROCK2 = 206, // 0x000000CE + M_MAPPER_BIGROCK3 = 207, // 0x000000CF + M_MAPPER_BIGROCK4 = 208, // 0x000000D0 + M_MAPPER_BIGROCK5 = 209, // 0x000000D1 + M_MAPPER_MANGONEL = 210, // 0x000000D2 + M_MAPPER_BALLISTA = 211, // 0x000000D3 + M_MAPPER_UNUSED_34 = 212, // 0x000000D4 + M_MAPPER_UNUSED_35 = 213, // 0x000000D5 + M_MAPPER_UNUSED_36 = 214, // 0x000000D6 + M_MAPPER_UNUSED_37 = 215, // 0x000000D7 + M_MAPPER_UNUSED_38 = 216, // 0x000000D8 + M_MAPPER_UNUSED_39 = 217, // 0x000000D9 + M_MAPPER_UNUSED_40 = 218, // 0x000000DA + M_MAPPER_UNUSED_41 = 219, // 0x000000DB + M_MAPPER_DEER = 220, // 0x000000DC + M_MAPPER_WOLF = 221, // 0x000000DD + M_MAPPER_RABBIT = 222, // 0x000000DE + M_MAPPER_BEAR = 223, // 0x000000DF + M_MAPPER_CROW = 224, // 0x000000E0 + M_MAPPER_SEAGULL = 225, // 0x000000E1 + M_MAPPER_UNUSED_42 = 226, // 0x000000E2 + M_MAPPER_UNUSED_44 = 227, // 0x000000E3 + M_MAPPER_UNUSED_45 = 228, // 0x000000E4 + M_MAPPER_UNUSED_46 = 229, // 0x000000E5 + M_MAPPER_MAP_SIZE = 230, // 0x000000E6 + M_MAPPER_SUB_MODE_HEIGHT = 231, // 0x000000E7 + M_MAPPER_SUB_MODE_TYPE = 232, // 0x000000E8 + M_MAPPER_SUB_MODE_OBJ = 234, // 0x000000EA + M_MAPPER_SUB_MODE_ANIMAL = 235, // 0x000000EB + M_MAPPER_SUB_MODE_WATER = 236, // 0x000000EC + M_MAPPER_SUB_MODE_FEATURE = 237, // 0x000000ED + M_MAPPER_ESTUARY = 238, // 0x000000EE + M_MAPPER_SUB_MODE_FEATURE_MP = 239, // 0x000000EF + M_MAPPER_MP_KEEP1 = 240, // 0x000000F0 + M_MAPPER_REPORT1 = 240, // 0x000000F0 + M_MAPPER_MP_KEEP2 = 241, // 0x000000F1 + M_MAPPER_REPORT2 = 241, // 0x000000F1 + M_MAPPER_MP_KEEP3 = 242, // 0x000000F2 + M_MAPPER_REPORT3 = 242, // 0x000000F2 + M_MAPPER_MP_KEEP4 = 243, // 0x000000F3 + M_MAPPER_REPORT4 = 243, // 0x000000F3 + M_MAPPER_MP_KEEP5 = 244, // 0x000000F4 + M_MAPPER_REPORT5 = 244, // 0x000000F4 + M_MAPPER_MP_KEEP6 = 245, // 0x000000F5 + M_MAPPER_REPORT6 = 245, // 0x000000F5 + M_MAPPER_MP_KEEP7 = 246, // 0x000000F6 + M_MAPPER_REPORT7 = 246, // 0x000000F6 + M_MAPPER_MP_KEEP8 = 247, // 0x000000F7 + M_MAPPER_REPORT8 = 247, // 0x000000F7 + M_MAPPER_POND5 = 265, // 0x00000109 + M_MAPPER_POND6 = 266, // 0x0000010A + M_MAPPER_POND7 = 267, // 0x0000010B + M_MAPPER_POND8 = 268, // 0x0000010C + M_MAPPER_UNUSED_56 = 269, // 0x0000010D + M_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E + M_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F + M_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 + M_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 + M_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 + M_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 + M_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 + M_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 + M_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 + M_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 + M_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 + M_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 + M_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A + M_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B + M_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C + M_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D + M_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E + M_MAPPER_STANCE_STAND = 287, // 0x0000011F + M_MAPPER_STANCE_DEFENSIVE = 288, // 0x00000120 + M_MAPPER_STANCE_AGGRESSIVE = 289, // 0x00000121 + M_MAPPER_TROOP_STOP = 290, // 0x00000122 + M_MAPPER_ENGINEER_BUILD = 291, // 0x00000123 + M_MAPPER_BUILD_BACK = 292, // 0x00000124 + M_MAPPER_BUY_AMMO = 293, // 0x00000125 + M_MAPPER_UNUSED_57 = 294, // 0x00000126 + M_MAPPER_UNUSED_58 = 295, // 0x00000127 + M_MAPPER_UNUSED_59 = 296, // 0x00000128 + M_MAPPER_UNUSED_60 = 297, // 0x00000129 + M_MAPPER_UNUSED_61 = 298, // 0x0000012A + M_MAPPER_UNUSED_62 = 299, // 0x0000012B + M_MAPPER_UNUSED_63 = 300, // 0x0000012C + M_MAPPER_CESS_PIT1 = 301, // 0x0000012D + M_MAPPER_CESS_PIT2 = 302, // 0x0000012E + M_MAPPER_CESS_PIT3 = 303, // 0x0000012F + M_MAPPER_CESS_PIT4 = 304, // 0x00000130 + M_MAPPER_BURNING_STAKE = 305, // 0x00000131 + M_MAPPER_GIBBET = 306, // 0x00000132 + M_MAPPER_DUNGEON = 307, // 0x00000133 + M_MAPPER_RACK_STRETCHING = 308, // 0x00000134 + M_MAPPER_RACK_FLOGGING = 309, // 0x00000135 + M_MAPPER_CHOPPING_BLOCK = 310, // 0x00000136 + M_MAPPER_DUNKING_STOOL = 311, // 0x00000137 + M_MAPPER_DOG_CAGE = 312, // 0x00000138 + M_MAPPER_STATUE1 = 313, // 0x00000139 + M_MAPPER_STATUE2 = 314, // 0x0000013A + M_MAPPER_STATUE3 = 315, // 0x0000013B + M_MAPPER_STATUE4 = 316, // 0x0000013C + M_MAPPER_STATUE5 = 317, // 0x0000013D + M_MAPPER_SHRINE1 = 318, // 0x0000013E + M_MAPPER_SHRINE2 = 319, // 0x0000013F + M_MAPPER_SHRINE3 = 320, // 0x00000140 + M_MAPPER_SHRINE4 = 321, // 0x00000141 + M_MAPPER_SHRINE5 = 322, // 0x00000142 + M_MAPPER_BEE_HIVE = 323, // 0x00000143 + M_MAPPER_DANCING_BEAR = 324, // 0x00000144 + M_MAPPER_POND1 = 325, // 0x00000145 + M_MAPPER_POND2 = 326, // 0x00000146 + M_MAPPER_POND3 = 327, // 0x00000147 + M_MAPPER_POND4 = 328, // 0x00000148 + M_MAPPER_BEAR_CAVE = 329, // 0x00000149 + M_MAPPER_WELL = 330, // 0x0000014A + M_MAPPER_AREA_BACK = 331, // 0x0000014B + M_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C + M_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D + M_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E + M_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F + M_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 + M_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 + M_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 + M_MAPPER_DUNES = 340, // 0x00000154 + M_MAPPER_SCRUBGRASS = 341, // 0x00000155 + M_MAPPER_WATERPOT = 342, // 0x00000156 + M_MAPPER_SUB_MENU_KEEPS = 343, // 0x00000157 + M_MAPPER_SUB_MENU_GATEHOUSES_WOOD = 344, // 0x00000158 + M_MAPPER_SUB_MENU_GATEHOUSES_STONESMALL = 345, // 0x00000159 + M_MAPPER_SUB_MENU_GATEHOUSES_STONELARGE = 346, // 0x0000015A + M_MAPPER_SUB_MENU_GOOD = 347, // 0x0000015B + M_MAPPER_SUB_MENU_BAD = 348, // 0x0000015C + M_MAPPER_DELETE_EDITOR = 349, // 0x0000015D + M_MAPPER_PEOPLE_ARAB_BOW = 350, // 0x0000015E + M_MAPPER_PEOPLE_ARAB_SLAVE = 351, // 0x0000015F + M_MAPPER_PEOPLE_ARAB_SLINGER = 352, // 0x00000160 + M_MAPPER_PEOPLE_ARAB_ASSASIN = 353, // 0x00000161 + M_MAPPER_PEOPLE_ARAB_HORSEMAN = 354, // 0x00000162 + M_MAPPER_PEOPLE_ARAB_SWORDSMAN = 355, // 0x00000163 + M_MAPPER_PEOPLE_ARAB_GRENADIER = 356, // 0x00000164 + M_MAPPER_PEOPLE_ARAB_BALLISTA = 357, // 0x00000165 + M_MAPPER_ARAB_BALLISTA = 358, // 0x00000166 + M_MAPPER_PLACE_ASSEMBLY_POINTM1 = 360, // 0x00000168 + M_MAPPER_PLACE_ASSEMBLY_POINTM2 = 361, // 0x00000169 + M_MAPPER_PLACE_ASSEMBLY_POINTM3 = 362, // 0x0000016A + M_MAPPER_PLACE_ASSEMBLY_POINTM4 = 363, // 0x0000016B + M_MAPPER_PLACE_ASSEMBLY_POINTM5 = 364, // 0x0000016C + M_MAPPER_PLACE_ASSEMBLY_POINTM6 = 365, // 0x0000016D + M_MAPPER_PLACE_ASSEMBLY_POINTM7 = 366, // 0x0000016E + M_MAPPER_PLACE_ASSEMBLY_POINTE1 = 367, // 0x0000016F + M_MAPPER_PLACE_ASSEMBLY_POINTE2 = 368, // 0x00000170 + M_MAPPER_PLACE_ASSEMBLY_POINTT1 = 369, // 0x00000171 + M_MAPPER_PLACE_ASSEMBLY_POINTK1 = 370, // 0x00000172 + M_MAPPER_MENU_RETURN_TOWERS = 371, // 0x00000173 + M_MAPPER_MENU_RETURN_GATEHOUSES = 372, // 0x00000174 + M_MAPPER_MENU_RETURN_MILITARY = 373, // 0x00000175 + M_MAPPER_MENU_RETURN_KEEPS = 374, // 0x00000176 + M_MAPPER_MENU_RETURN_GOOD = 375, // 0x00000177 + M_MAPPER_MENU_RETURN_BAD = 376, // 0x00000178 + M_MAPPER_SUB_MENU_TOWERS = 377, // 0x00000179 + M_MAPPER_SUB_MENU_MILITARY = 378, // 0x0000017A + M_MAPPER_SUB_MENU_GATEHOUSES = 379, // 0x0000017B + M_MAPPER_MARKER_POINT1 = 380, // 0x0000017C + M_MAPPER_MARKER_POINT2 = 381, // 0x0000017D + M_MAPPER_MARKER_POINT3 = 382, // 0x0000017E + M_MAPPER_MARKER_POINT4 = 383, // 0x0000017F + M_MAPPER_MARKER_POINT5 = 384, // 0x00000180 + M_MAPPER_MARKER_POINT6 = 385, // 0x00000181 + M_MAPPER_MARKER_POINT7 = 386, // 0x00000182 + M_MAPPER_MARKER_POINT8 = 387, // 0x00000183 + M_MAPPER_MARKER_POINT9 = 388, // 0x00000184 + M_MAPPER_MARKER_POINT10 = 389, // 0x00000185 + M_MAPPER_PLACE_ASSEMBLY_POINTBS1 = 391, // 0x00000187 + M_MAPPER_PLACE_ASSEMBLY_POINTBS2 = 392, // 0x00000188 + M_MAPPER_PLACE_ASSEMBLY_POINTBS3 = 393, // 0x00000189 + M_MAPPER_PLACE_ASSEMBLY_POINTBS4 = 394, // 0x0000018A + M_MAPPER_PLACE_ASSEMBLY_POINTBS5 = 395, // 0x0000018B + M_MAPPER_PLACE_ASSEMBLY_POINTBS6 = 396, // 0x0000018C + M_MAPPER_PLACE_ASSEMBLY_POINTBS7 = 397, // 0x0000018D + M_MAPPER_PLACE_ASSEMBLY_POINTBS8 = 398, // 0x0000018E + M_MAPPER_PEOPLE_BEDOUIN_CAMEL_LANCER = 400, // 0x00000190 + M_MAPPER_PEOPLE_BEDOUIN_HEALER = 401, // 0x00000191 + M_MAPPER_PEOPLE_BEDOUIN_EUNUCH = 402, // 0x00000192 + M_MAPPER_PEOPLE_BEDOUIN_AMBUSHER = 403, // 0x00000193 + M_MAPPER_PEOPLE_BEDOUIN_SKIRMISHER = 404, // 0x00000194 + M_MAPPER_PEOPLE_BEDOUIN_HEAVY_CAMEL = 405, // 0x00000195 + M_MAPPER_PEOPLE_BEDOUIN_SAPPER = 406, // 0x00000196 + M_MAPPER_PEOPLE_BEDOUIN_DEMOLISHER = 407, // 0x00000197 + M_MAPPER_RUINS1 = 410, // 0x0000019A + M_MAPPER_RUINS2 = 411, // 0x0000019B + M_MAPPER_RUINS3 = 412, // 0x0000019C + M_MAPPER_RUINS4 = 413, // 0x0000019D + M_MAPPER_RUINS5 = 414, // 0x0000019E + M_MAPPER_RUINS6 = 415, // 0x0000019F + M_MAPPER_RUINS7 = 416, // 0x000001A0 + M_MAPPER_RUINS8 = 417, // 0x000001A1 + M_MAPPER_RUINS9 = 418, // 0x000001A2 + M_MAPPER_RUINS10 = 419, // 0x000001A3 + M_MAPPER_RUINS11 = 420, // 0x000001A4 + M_MAPPER_RUINS12 = 421, // 0x000001A5 + M_MAPPER_RUINS13 = 422, // 0x000001A6 + M_MAPPER_RUINS14 = 423, // 0x000001A7 + M_MAPPER_RUINS15 = 424, // 0x000001A8 + M_MAPPER_RUINS16 = 425, // 0x000001A9 + M_MAPPER_RUINS17 = 426, // 0x000001AA + M_MAPPER_RUINS18 = 427, // 0x000001AB + M_MAPPER_RUINS19 = 428, // 0x000001AC + M_MAPPER_RUINS20 = 429, // 0x000001AD + M_MAPPER_RUINS21 = 430, // 0x000001AE + M_MAPPER_RUINS22 = 431, // 0x000001AF + M_MAPPER_RUINS23 = 432, // 0x000001B0 + M_MAPPER_RUINS24 = 433, // 0x000001B1 + M_MAPPER_RUINS25 = 434, // 0x000001B2 + M_MAPPER_RUINS26 = 435, // 0x000001B3 + M_MAPPER_RUINS27 = 436, // 0x000001B4 + M_MAPPER_RUINS28 = 437, // 0x000001B5 + M_MAPPER_RUINS29 = 438, // 0x000001B6 + M_MAPPER_RUINS30 = 439, // 0x000001B7 + M_MAPPER_RUINS31 = 440, // 0x000001B8 + M_MAPPER_RUINS32 = 441, // 0x000001B9 + M_MAPPER_RUINS33 = 442, // 0x000001BA + M_MAPPER_RUINS34 = 443, // 0x000001BB + M_END_OF_MAPPERS = 450 // 0x000001C2 + + } eMappers; + + static_assert_cpp98_obj(sizeof(eMappers) == 4, eMappers); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eMappersInt.hpp b/src/OpenSHC/DE/SHCDE/eMappersInt.hpp new file mode 100644 index 0000000..65c37e3 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eMappersInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eMappersInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eMappers.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eMappersInt; + + static_assert_cpp98_obj(sizeof(eMappersInt) == 4, eMappersInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eMusicIDs.hpp b/src/OpenSHC/DE/SHCDE/eMusicIDs.hpp new file mode 100644 index 0000000..d04f39f --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eMusicIDs.hpp @@ -0,0 +1,89 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eMusicIDs.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eMusicIDs { + + MUSIC_TUNE_OFF = 0, // 0x00000000 + MUSIC_TUNE_BATTLE = 2, // 0x00000002 + MUSIC_TUNE_INTRO = 3, // 0x00000003 + MUSIC_TUNE_NARR1 = 4, // 0x00000004 + MUSIC_TUNE_NARR2 = 5, // 0x00000005 + MUSIC_TUNE_MONK = 6, // 0x00000006 + MUSIC_TUNE_CHOIR = 7, // 0x00000007 + MUSIC_TUNE_CHOIR2 = 8, // 0x00000008 + MUSIC_TUNE_TUTORIAL = 9, // 0x00000009 + MUSIC_TUNE_MAIN = 10, // 0x0000000A + MUSIC_TUNE_SAD = 10, // 0x0000000A + MUSIC_TUNE_SAD2 = 11, // 0x0000000B + MUSIC_TUNE_AVG = 12, // 0x0000000C + MUSIC_TUNE_AVG2 = 13, // 0x0000000D + MUSIC_TUNE_HAPPY = 14, // 0x0000000E + MUSIC_TUNE_HAPPY2 = 15, // 0x0000000F + MUSIC_TUNE_GOOD = 16, // 0x00000010 + MUSIC_TUNE_BAD = 17, // 0x00000011 + MUSIC_TUNE_SAD3 = 18, // 0x00000012 + MUSIC_TUNE_SAD4 = 19, // 0x00000013 + MUSIC_TUNE_HAPPY3 = 20, // 0x00000014 + MUSIC_GERMAN_EGG = 21, // 0x00000015 + MUSIC_TUNE_BATTLE1A = 22, // 0x00000016 + MUSIC_TUNE_BATTLE1B = 23, // 0x00000017 + MUSIC_TUNE_BATTLE2A = 24, // 0x00000018 + MUSIC_TUNE_BATTLE2B = 25, // 0x00000019 + MUSIC_TUNE_BATTLE2C = 26, // 0x0000001A + MUSIC_TUNE_BATTLE3 = 27, // 0x0000001B + MUSIC_TUNE_BATTLE4 = 28, // 0x0000001C + MUSIC_TUNE_BATTLE_L1A = 29, // 0x0000001D + MUSIC_TUNE_BATTLE_L1B = 30, // 0x0000001E + MUSIC_TUNE_BATTLE_L1C = 31, // 0x0000001F + MUSIC_TUNE_BATTLE_L1D = 32, // 0x00000020 + MUSIC_TUNE_BATTLE_L2_GLORY1 = 33, // 0x00000021 + MUSIC_TUNE_BATTLE_L2_GLORY2 = 34, // 0x00000022 + MUSIC_TUNE_BATTLE_L2_GLORY3 = 35, // 0x00000023 + MUSIC_TUNE_BATTLE_L2_GLORY4 = 36, // 0x00000024 + MUSIC_TUNE_BATTLE_L2_GLORY5 = 37, // 0x00000025 + MUSIC_TUNE_BATTLE_L2_GLORY6 = 38, // 0x00000026 + MUSIC_TUNE_BATTLE_L2_PLOOP = 39, // 0x00000027 + MUSIC_TUNE_BATTLE_L2_DLOOP1 = 40, // 0x00000028 + MUSIC_TUNE_BATTLE_L2_DLOOP2 = 41, // 0x00000029 + MUSIC_TUNE_WIN1 = 42, // 0x0000002A + MUSIC_TUNE_WIN2 = 43, // 0x0000002B + MUSIC_TUNE_WIN3 = 44, // 0x0000002C + MUSIC_TUNE_LOSE1 = 45, // 0x0000002D + MUSIC_TUNE_LOSE2 = 46, // 0x0000002E + MUSIC_PRE_MISSION1 = 47, // 0x0000002F + MUSIC_PRE_MISSION2 = 48, // 0x00000030 + MUSIC_PRE_MISSION3 = 49, // 0x00000031 + MUSIC_PRE_MISSION4 = 50, // 0x00000032 + MUSIC_AFTERMATH = 67, // 0x00000043 + MUSIC_FLUTE7 = 72, // 0x00000048 + MUSIC_OUD1 = 73, // 0x00000049 + MUSIC_FLUTE1 = 97, // 0x00000061 + MUSIC_PRE_MISSION21 = 116, // 0x00000074 + MUSIC_PRE_MISSION22 = 117, // 0x00000075 + MUSIC_PRE_MISSION23 = 118, // 0x00000076 + MUSIC_PRE_MISSION24 = 119, // 0x00000077 + MUSIC_PRE_MISSION25 = 120, // 0x00000078 + MUSIC_PRE_MISSION26 = 121, // 0x00000079 + MUSIC_PRE_MISSION27 = 122, // 0x0000007A + MUSIC_PRE_MISSION28 = 123, // 0x0000007B + MUSIC_PRE_MISSION29 = 124, // 0x0000007C + MUSIC_PRE_MISSION30 = 125, // 0x0000007D + MUSIC_PRE_MISSION31 = 126, // 0x0000007E + MUSIC_PRE_MISSION32 = 127, // 0x0000007F + MUSIC_PRE_MISSION33 = 128, // 0x00000080 + MUSIC_PRE_MISSION34 = 129, // 0x00000081 + MUSIC_PRE_MISSION35 = 130 // 0x00000082 + + } eMusicIDs; + + static_assert_cpp98_obj(sizeof(eMusicIDs) == 4, eMusicIDs); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eMusicIDsInt.hpp b/src/OpenSHC/DE/SHCDE/eMusicIDsInt.hpp new file mode 100644 index 0000000..583e85c --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eMusicIDsInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eMusicIDsInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eMusicIDs.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eMusicIDsInt; + + static_assert_cpp98_obj(sizeof(eMusicIDsInt) == 4, eMusicIDsInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eOnScreenText.hpp b/src/OpenSHC/DE/SHCDE/eOnScreenText.hpp new file mode 100644 index 0000000..f87fa8a --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eOnScreenText.hpp @@ -0,0 +1,43 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eOnScreenText.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eOnScreenText { + + OST_CHAT = 0, // 0x00000000 + OST_DATE = 1, // 0x00000001 + OST_MULTI_CHAT = 3, // 0x00000003 + OST_FEEDBACK_1 = 4, // 0x00000004 + OST_FEEDBACK_2 = 5, // 0x00000005 + OST_FRAMERATE = 6, // 0x00000006 + OST_POPULARITY = 11, // 0x0000000B + OST_STARTING_GOODS = 12, // 0x0000000C + OST_MP_GAME_OVER = 16, // 0x00000010 + OST_MISSION_FINISHED = 17, // 0x00000011 + OST_SPLIT_MESSAGE = 19, // 0x00000013 + OST_KEEP_MESSAGE = 20, // 0x00000014 + OST_WHO_OWNS = 21, // 0x00000015 + OST_PINGS = 22, // 0x00000016 + OST_GAME_PAUSED = 23, // 0x00000017 + OST_GAME_SPEED = 24, // 0x00000018 + OST_KING_OF_THE_HILL = 25, // 0x00000019 + OST_WIN_TIMER = 26, // 0x0000001A + OST_TIMETODEFEAT = 27, // 0x0000001B + OST_PING_ERROR = 28, // 0x0000001C + OST_PEOPLE_LEFT = 29, // 0x0000001D + OST_MESSAGE_BAR = 30, // 0x0000001E + OST_PEACETIMER = 31, // 0x0000001F + OST_NUM_OST = 32 // 0x00000020 + + } eOnScreenText; + + static_assert_cpp98_obj(sizeof(eOnScreenText) == 4, eOnScreenText); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp b/src/OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp new file mode 100644 index 0000000..ad3ff0b --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eOnScreenText.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eOnScreenTextInt; + + static_assert_cpp98_obj(sizeof(eOnScreenTextInt) == 4, eOnScreenTextInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eSFX.hpp b/src/OpenSHC/DE/SHCDE/eSFX.hpp new file mode 100644 index 0000000..c2a01a6 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eSFX.hpp @@ -0,0 +1,323 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eSFX.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eSFX { + + FX_NULL = 0, // 0x00000000 + FX_CLICK = 1, // 0x00000001 + FX_CHOP = 2, // 0x00000002 + FX_SAW = 3, // 0x00000003 + FX_STOCKS = 4, // 0x00000004 + FX_ARROW_FIRE = 5, // 0x00000005 + FX_ARROW_HIT_BODY = 6, // 0x00000006 + FX_TABLE_CLICK = 7, // 0x00000007 + FX_LITTLE_PLOP = 8, // 0x00000008 + FX_MED_PLOP = 9, // 0x00000009 + FX_DROP_PLANK = 10, // 0x0000000A + FX_WINDMILL = 11, // 0x0000000B + FX_INN = 12, // 0x0000000C + FX_MASON_CHIP = 13, // 0x0000000D + FX_MASON_CRUMBLE = 14, // 0x0000000E + FX_PULLER_LOWER = 15, // 0x0000000F + FX_PULLER_STRAIN = 16, // 0x00000010 + FX_PULLER_ROCK = 17, // 0x00000011 + FX_PULLER_IMPACT = 18, // 0x00000012 + FX_PULLER_RETURN = 19, // 0x00000013 + FX_ARMY_CHARGE = 20, // 0x00000014 + FX_PRYER_LEVER = 21, // 0x00000015 + FX_DRAWBRIDGE_LOWERING = 22, // 0x00000016 + FX_DRAWBRIDGE_LOWERED = 23, // 0x00000017 + FX_DRAWBRIDGE_RAISING = 24, // 0x00000018 + FX_DRAWBRIDGE_RAISED = 25, // 0x00000019 + FX_DRAWBRIDGE_CONTROL = 26, // 0x0000001A + FX_IRON_DUMP = 27, // 0x0000001B + FX_IRON_LDUMP = 28, // 0x0000001C + FX_IRON_BOIL = 29, // 0x0000001D + FX_IRON_POUR = 30, // 0x0000001E + FX_IRON_PULL = 31, // 0x0000001F + FX_IRON_STRAIN = 32, // 0x00000020 + FX_STOCK_FOOD = 33, // 0x00000021 + FX_STOCK_ALE = 34, // 0x00000022 + FX_STOCK_HOPS = 35, // 0x00000023 + FX_STOCK_IRON = 36, // 0x00000024 + FX_STOCK_PITCH = 37, // 0x00000025 + FX_STOCK_STONE = 38, // 0x00000026 + FX_STOCK_WEAPON = 39, // 0x00000027 + FX_STOCK_WHEAT = 40, // 0x00000028 + FX_STOCK_WOOD = 41, // 0x00000029 + FX_TREE_FALL = 42, // 0x0000002A + FX_LILTREE_FALL = 43, // 0x0000002B + FX_BS_ANVIL = 44, // 0x0000002C + FX_BS_BELLOW = 45, // 0x0000002D + FX_BS_COOL = 46, // 0x0000002E + FX_BS_POUR = 47, // 0x0000002F + FX_BS_OPEN = 48, // 0x00000030 + FX_BS_FILE = 49, // 0x00000031 + FX_BAKE = 50, // 0x00000032 + FX_BAKE2 = 51, // 0x00000033 + FX_MUDBUB = 52, // 0x00000034 + FX_PITCH_WATERLAP = 53, // 0x00000035 + FX_PITCH_SCOOP = 54, // 0x00000036 + FX_PITCH_POUR = 55, // 0x00000037 + FX_TANNER_CUT = 56, // 0x00000038 + FX_TANNER_BRUSH1 = 57, // 0x00000039 + FX_TANNER_BRUSH2 = 58, // 0x0000003A + FX_FLETCH_LONG = 59, // 0x0000003B + FX_GHOST = 60, // 0x0000003C + FX_CAULDRON = 61, // 0x0000003D + FX_STIR = 62, // 0x0000003E + FX_CAMPFIRE = 63, // 0x0000003F + FX_ARROW_BOUNCE = 64, // 0x00000040 + FX_STEEL1 = 65, // 0x00000041 + FX_STEEL2 = 66, // 0x00000042 + FX_POLE_TURN = 67, // 0x00000043 + FX_POLE_GRIND = 68, // 0x00000044 + FX_MOAT_DIG = 69, // 0x00000045 + FX_XBOW_FIRE = 70, // 0x00000046 + FX_XBOW_WIND = 71, // 0x00000047 + FX_BEAR_ATTACK = 72, // 0x00000048 + FX_BEAR_DIE = 73, // 0x00000049 + FX_COW_SLAUGHTER = 74, // 0x0000004A + FX_COW_MILK = 75, // 0x0000004B + FX_COW_MOO = 76, // 0x0000004C + FX_MILK_POUR = 77, // 0x0000004D + FX_DOG_BARK = 78, // 0x0000004E + FX_DOG_DIE = 79, // 0x0000004F + FX_DOG_PANT = 80, // 0x00000050 + FX_DOG_WHIMPER = 81, // 0x00000051 + FX_BROOM = 82, // 0x00000052 + FX_SHARPEN = 83, // 0x00000053 + FX_DEER_FALL = 84, // 0x00000054 + FX_HUNTER_CUT = 85, // 0x00000055 + FX_HORSES_1 = 86, // 0x00000056 + FX_HORSES_3 = 87, // 0x00000057 + FX_HORSES_4 = 88, // 0x00000058 + FX_HORSE_WHINNY = 89, // 0x00000059 + FX_HORSE_DIE = 90, // 0x0000005A + FX_HORSE_FALL = 91, // 0x0000005B + FX_RABBIT_DIE = 92, // 0x0000005C + FX_WOLF_DIE = 93, // 0x0000005D + FX_WOLF_ATTACK = 94, // 0x0000005E + FX_LION_DIE = 95, // 0x0000005F + FX_ARMOUR_HIT = 96, // 0x00000060 + FX_MAN_BURN2 = 97, // 0x00000061 + FX_POT_FLARE_UP = 98, // 0x00000062 + FX_POT_OPEN = 99, // 0x00000063 + FX_MAN_BURN = 100, // 0x00000064 + FX_FIRE_START = 101, // 0x00000065 + FX_OIL_DUMP = 102, // 0x00000066 + FX_MENU_SLIDE = 103, // 0x00000067 + FX_SIEGE_ROLL = 104, // 0x00000068 + FX_CA_LOAD = 105, // 0x00000069 + FX_CA_FIRE = 106, // 0x0000006A + FX_MA_LOAD = 107, // 0x0000006B + FX_MA_FIRE = 108, // 0x0000006C + FX_TR_LOAD = 109, // 0x0000006D + FX_TR_FIRE = 110, // 0x0000006E + FX_TR_DIE = 111, // 0x0000006F + FX_SIEGE_DIE = 112, // 0x00000070 + FX_ROCK_HIT_WALL = 113, // 0x00000071 + FX_ROCK_HIT_GROUND = 114, // 0x00000072 + FX_WOOD_HIT = 115, // 0x00000073 + FX_DEATH_CLUB = 116, // 0x00000074 + FX_DEATH_ARROW = 117, // 0x00000075 + FX_DEATH_SPEAR = 118, // 0x00000076 + FX_DEATH_SWORD = 119, // 0x00000077 + FX_BODY_HIT = 120, // 0x00000078 + FX_IGNITE_PITCH = 122, // 0x0000007A + FX_MET_PUSH1 = 123, // 0x0000007B + FX_MET_PUSH2 = 124, // 0x0000007C + FX_MET_PUSH3 = 125, // 0x0000007D + FX_MET_PUSH4 = 126, // 0x0000007E + FX_MET_PUSH5 = 127, // 0x0000007F + FX_MET_PUSH6 = 128, // 0x00000080 + FX_METAL_ROLLOVER1 = 129, // 0x00000081 + FX_METAL_ROLLOVER2 = 130, // 0x00000082 + FX_METAL_ROLLOVER3 = 131, // 0x00000083 + FX_METAL_ROLLOVER4 = 132, // 0x00000084 + FX_METAL_ROLLOVER5 = 133, // 0x00000085 + FX_METAL_ROLLOVER6 = 134, // 0x00000086 + FX_WOOD_PUSH = 135, // 0x00000087 + FX_WOOD_ROLLOVER = 136, // 0x00000088 + FX_CHICKEN_START = 137, // 0x00000089 + FX_CHICKEN_FLAP = 138, // 0x0000008A + FX_CHICKEN_CLUCK = 139, // 0x0000008B + FX_PC_DROP_CLICK = 140, // 0x0000008C + FX_PC_DROP = 141, // 0x0000008D + FX_PC_LIFT_CLICK = 142, // 0x0000008E + FX_PC_LIFT = 143, // 0x0000008F + FX_MAYPOLE = 144, // 0x00000090 + FX_SWISH = 145, // 0x00000091 + FX_SHIELDROLLOVER = 146, // 0x00000092 + FX_PC_SLAM = 147, // 0x00000093 + FX_ARROW_HIT_ANIMAL = 148, // 0x00000094 + FX_HORSE_SNORT = 149, // 0x00000095 + FX_TOWER_SMASH = 150, // 0x00000096 + FX_DEATH_CLUB2 = 151, // 0x00000097 + FX_DEATH_ARROW2 = 152, // 0x00000098 + FX_DEATH_SPEAR2 = 153, // 0x00000099 + FX_DEATH_SWORD2 = 154, // 0x0000009A + FX_BODY_HIT2 = 155, // 0x0000009B + FX_BODY_HIT3 = 156, // 0x0000009C + FX_BODY_HIT4 = 157, // 0x0000009D + FX_DIG1 = 158, // 0x0000009E + FX_DIG2 = 159, // 0x0000009F + FX_WALLDROP = 160, // 0x000000A0 + FX_DROP_LOG = 161, // 0x000000A1 + FX_BABY = 162, // 0x000000A2 + FX_ATTACK_STONE = 163, // 0x000000A3 + FX_ATTACK_WOOD = 164, // 0x000000A4 + FX_SPLAT = 165, // 0x000000A5 + FX_COW_SPLAT = 166, // 0x000000A6 + FX_DEER_RUN = 167, // 0x000000A7 + FX_BALLISTA_LOAD = 168, // 0x000000A8 + FX_BALLISTA_FIRE = 169, // 0x000000A9 + FX_BUILDING_SMASH = 170, // 0x000000AA + FX_DEATH_SHIELD = 171, // 0x000000AB + FX_FLAME_ARROW = 172, // 0x000000AC + FX_SWORDWALK_1 = 173, // 0x000000AD + FX_SWORDWALK_2 = 174, // 0x000000AE + FX_SWORDWALK_3 = 175, // 0x000000AF + FX_ROCK_SPLASH = 176, // 0x000000B0 + FX_RAM_SWING = 177, // 0x000000B1 + FX_RAM_HIT = 178, // 0x000000B2 + FX_SHEATH_IN = 179, // 0x000000B3 + FX_SHEATH_OUT = 180, // 0x000000B4 + FX_BUILD_UNIT = 181, // 0x000000B5 + FX_GIRL_DIE = 182, // 0x000000B6 + FX_GIRL_SCREAM = 183, // 0x000000B7 + FX_ARROW_HIT = 184, // 0x000000B8 + FX_MACE_HIT = 185, // 0x000000B9 + FX_PIKE_HIT = 186, // 0x000000BA + FX_SPEAR_HIT = 187, // 0x000000BB + FX_SWORD_HIT = 188, // 0x000000BC + FX_FLIES = 189, // 0x000000BD + FX_HARVEST = 190, // 0x000000BE + FX_HOE = 191, // 0x000000BF + FX_WOLF_HOWL = 192, // 0x000000C0 + FX_DOG_CAGE = 193, // 0x000000C1 + FX_OX_DIE = 194, // 0x000000C2 + FX_LADDER_PLACE = 195, // 0x000000C3 + FX_LADDER_BREAK = 196, // 0x000000C4 + FX_JESTER_DIE = 197, // 0x000000C5 + FX_LORD_DIE = 198, // 0x000000C6 + FX_ENEMY_LORD_DIE = 199, // 0x000000C7 + FX_CROW = 200, // 0x000000C8 + FX_GULL = 201, // 0x000000C9 + FX_OIL_REFILL = 202, // 0x000000CA + FX_SMALL_FLAG = 203, // 0x000000CB + FX_LARGE_FLAG = 204, // 0x000000CC + FX_SNAKE_LORD_DIE = 205, // 0x000000CD + FX_WOLF_LORD_DIE = 206, // 0x000000CE + FX_CHURCH1 = 207, // 0x000000CF + FX_CHURCH2 = 208, // 0x000000D0 + FX_CHURCH3 = 209, // 0x000000D1 + FX_STRETCH = 210, // 0x000000D2 + FX_GALLOWS = 211, // 0x000000D3 + FX_DUNGEON = 212, // 0x000000D4 + FX_GULL_DIVE = 213, // 0x000000D5 + FX_GULL_SURFACE = 214, // 0x000000D6 + FX_WH_BREATH1 = 215, // 0x000000D7 + FX_WH_BREATH2 = 216, // 0x000000D8 + FX_WH_LIFT = 217, // 0x000000D9 + FX_WH_DUNK = 218, // 0x000000DA + FX_GIRL_GRUNT = 219, // 0x000000DB + FX_FIRE_OUT = 220, // 0x000000DC + FX_FIRE_POP = 221, // 0x000000DD + FX_THROW_WATER = 222, // 0x000000DE + FX_WITCH_BURN = 223, // 0x000000DF + FX_WITCH_SCREAM = 224, // 0x000000E0 + FX_LION_ATTACK = 225, // 0x000000E1 + FX_GH_SWING = 226, // 0x000000E2 + FX_GH_CATCH = 227, // 0x000000E3 + FX_ROPE_SLIDE = 228, // 0x000000E4 + FX_ASS_LAND = 229, // 0x000000E5 + FX_ASS_SWISH = 230, // 0x000000E6 + FX_SLING_THROW = 231, // 0x000000E7 + FX_SLAVE_FIRE = 232, // 0x000000E8 + FX_LORD_SWING = 233, // 0x000000E9 + FX_HORSE_ARCHER1 = 234, // 0x000000EA + FX_HORSE_ARCHER2 = 235, // 0x000000EB + FX_HORSE_ARCHER3 = 236, // 0x000000EC + FX_FIRE_THROW = 237, // 0x000000ED + FX_DEATH_SLINGSTONE = 238, // 0x000000EE + FX_HIT_SLINGSTONE = 239, // 0x000000EF + FX_LORD_KILL = 240, // 0x000000F0 + FX_ARAB_LORD_KILL = 241, // 0x000000F1 + FX_LORD_HIT = 242, // 0x000000F2 + FX_ARAB_BALLISTA_FIRE = 243, // 0x000000F3 + FX_DECIMATE = 244, // 0x000000F4 + FX_CAMEL_DIE = 245, // 0x000000F5 + FX_BODY_HIT5 = 246, // 0x000000F6 + FX_BODY_HIT6 = 247, // 0x000000F7 + FX_BODY_HIT7 = 248, // 0x000000F8 + FX_BODY_HIT8 = 249, // 0x000000F9 + FX_HORSE_ARMY_CHARGE = 250, // 0x000000FA + FX_EXIT_ROLLOVER = 251, // 0x000000FB + FX_DICE = 252, // 0x000000FC + FX_SKMASTER = 253, // 0x000000FD + FX_SKGOLD1 = 254, // 0x000000FE + FX_SKGOLD2 = 255, // 0x000000FF + FX_SKGOLD3 = 256, // 0x00000100 + FX_KEY = 257, // 0x00000101 + FX_TRAIL_CHICKEN = 258, // 0x00000102 + FX_EXTREME_TROOPS_CLICK = 260, // 0x00000104 + FX_EXTREME_ROCK_VOLLEY = 261, // 0x00000105 + FX_BUILDING_PLACEMENT = 265, // 0x00000109 + FX_BUILDING_PLACEMENT_SMALL = 266, // 0x0000010A + FX_APOTHECARY_EXPLOSION = 267, // 0x0000010B + FX_MILLER_WORKING = 268, // 0x0000010C + FX_MILLER_WORKING_LOOP = 269, // 0x0000010D + FX_PICK_APPLE = 270, // 0x0000010E + FX_PICK_HOPS = 271, // 0x0000010F + FX_GIBBET = 272, // 0x00000110 + FX_OX_SELECT = 273, // 0x00000111 + FX_OX_WALK = 274, // 0x00000112 + FX_MARKET_SELECT = 275, // 0x00000113 + FX_SIEGE_DOCK = 276, // 0x00000114 + FX_XBOW_SAND = 277, // 0x00000115 + FX_XBOW_INSPECT = 278, // 0x00000116 + FX_XBOW_PICKUP = 279, // 0x00000117 + FX_XBOW_HAMMER1 = 280, // 0x00000118 + FX_XBOW_HAMMER2 = 281, // 0x00000119 + FX_XBOW_PUTDOWN = 282, // 0x0000011A + FX_DUNGEON_WHIP = 283, // 0x0000011B + FX_STOCKS_CLICK = 284, // 0x0000011C + FX_WOODWALL_PLACEMENT = 285, // 0x0000011D + FX_STONEWALL_PLACEMENT = 286, // 0x0000011E + FX_WOODTOWER_PLACEMENT = 287, // 0x0000011F + FX_STONETOWER_PLACEMENT = 288, // 0x00000120 + FX_WOOD_ROLLOVER2 = 289, // 0x00000121 + FX_BUILDING_PLACEMENT_STONE = 290, // 0x00000122 + FX_BATTLEHORN = 291, // 0x00000123 + FX_SKIRMISHER_THROWSPEAR = 292, // 0x00000124 + FX_CAMEL_TROT_SING = 293, // 0x00000125 + FX_CAMEL_TROT_SEVERAL = 294, // 0x00000126 + FX_CAMEL_TROT_MANY = 295, // 0x00000127 + FX_HEAVYCAMEL_TROT_SING = 296, // 0x00000128 + FX_HEAVYCAMEL_TROT_SEVERAL = 297, // 0x00000129 + FX_HEAVYCAMEL_TROT_MANY = 298, // 0x0000012A + FX_DEMOLISHER_WALL = 299, // 0x0000012B + FX_DEMOLISHER_STRUCK = 300, // 0x0000012C + FX_DEMOLISHER_SHIELDDEST = 301, // 0x0000012D + FX_AMBUSH_THROW = 302, // 0x0000012E + FX_AMBUSH_LANDS = 303, // 0x0000012F + FX_EUNUCH_SWORD = 304, // 0x00000130 + FX_EUNUCH_WALL = 305, // 0x00000131 + FX_EUNUCH_FORWARDSWING = 306, // 0x00000132 + FX_DANCING_BEAR = 307, // 0x00000133 + FX_INTRO = 308 // 0x00000134 + + } eSFX; + + static_assert_cpp98_obj(sizeof(eSFX) == 4, eSFX); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eSFXInt.hpp b/src/OpenSHC/DE/SHCDE/eSFXInt.hpp new file mode 100644 index 0000000..99f8da1 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eSFXInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eSFXInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eSFX.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eSFXInt; + + static_assert_cpp98_obj(sizeof(eSFXInt) == 4, eSFXInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eTextSections.hpp b/src/OpenSHC/DE/SHCDE/eTextSections.hpp new file mode 100644 index 0000000..607c66c --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eTextSections.hpp @@ -0,0 +1,314 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eTextSections.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef enum eTextSections { + + TEXT_MONTHS = 1, // 0x00000001 + TEXT_GOODS = 2, // 0x00000002 + TEXT_POPULARITY_EFFECTS = 3, // 0x00000003 + TEXT_STARTUP = 4, // 0x00000004 + TEXT_MAINOPTIONS = 5, // 0x00000005 + TEXT_LANGUAGE = 6, // 0x00000006 + TEXT_BUBBLE_HELP_SUBTEXT = 7, // 0x00000007 + TEXT_BUBBLE_HELP_TEXT = 8, // 0x00000008 + TEXT_BUBBLE_HELP_DATA = 9, // 0x00000009 + TEXT_FEEDBACK = 10, // 0x0000000A + TEXT_MAPEDIT = 11, // 0x0000000B + TEXT_DEMOSCORE = 12, // 0x0000000C + TEXT_MAP_TITLES = 13, // 0x0000000D + TEXT_REPORTS = 14, // 0x0000000E + TEXT_IN_GENERAL_BUILDINGS = 18, // 0x00000012 + TEXT_IN_KEEP = 19, // 0x00000013 + TEXT_IN_INN = 20, // 0x00000014 + TEXT_IN_BARRACKS = 22, // 0x00000016 + TEXT_IN_GRANARY = 23, // 0x00000017 + TEXT_IN_HOUSE = 24, // 0x00000018 + TEXT_IN_WOODCUTTERS_HUT = 25, // 0x00000019 + TEXT_IN_OXEN_BASE = 26, // 0x0000001A + TEXT_IN_IRON_MINE = 27, // 0x0000001B + TEXT_IN_PITCH_DIGGER = 28, // 0x0000001C + TEXT_IN_HUNTERS_HUT = 29, // 0x0000001D + TEXT_IN_GOODS_YARD = 30, // 0x0000001E + TEXT_IN_ARMOURY = 31, // 0x0000001F + TEXT_IN_FLETCHERS_WORKSHOP = 32, // 0x00000020 + TEXT_IN_BLACKSMITHS_WORKSHOP = 33, // 0x00000021 + TEXT_IN_POLETURNERS_WORKSHOP = 34, // 0x00000022 + TEXT_IN_ARMOURERS_WORKSHOP = 35, // 0x00000023 + TEXT_IN_TANNERS_WORKSHOP = 36, // 0x00000024 + TEXT_IN_BAKERS_WORKSHOP = 37, // 0x00000025 + TEXT_IN_BREWERS_WORKSHOP = 38, // 0x00000026 + TEXT_IN_QUARRY = 39, // 0x00000027 + TEXT_IN_QUARRYPILE = 40, // 0x00000028 + TEXT_IN_HEALERS = 41, // 0x00000029 + TEXT_IN_ENGINEERS_GUILD = 42, // 0x0000002A + TEXT_IN_TUNNELLERS_GUILD = 43, // 0x0000002B + TEXT_IN_TRADEPOST = 44, // 0x0000002C + TEXT_IN_WELL = 45, // 0x0000002D + TEXT_IN_OIL_SMELTER = 46, // 0x0000002E + TEXT_IN_SIEGE_TENT = 47, // 0x0000002F + TEXT_IN_WHEATFARM = 48, // 0x00000030 + TEXT_IN_HOPSFARM = 49, // 0x00000031 + TEXT_IN_APPLEFARM = 50, // 0x00000032 + TEXT_IN_CATTLEFARM = 51, // 0x00000033 + TEXT_IN_MILL = 52, // 0x00000034 + TEXT_IN_STABLES = 53, // 0x00000035 + TEXT_IN_CHURCH = 54, // 0x00000036 + TEXT_IN_GATEHOUSE = 55, // 0x00000037 + TEXT_IN_DRAWBRIDGE = 56, // 0x00000038 + TEXT_IN_POSTERN_GATE = 57, // 0x00000039 + TEXT_IN_TUNNEL_ENTERANCE = 58, // 0x0000003A + TEXT_IN_CAMP_FIRE = 59, // 0x0000003B + TEXT_IN_SIGNPOST = 60, // 0x0000003C + TEXT_IN_KILLING_PIT = 61, // 0x0000003D + TEXT_IN_CATAPULT = 62, // 0x0000003E + TEXT_IN_TREBUCHET = 63, // 0x0000003F + TEXT_IN_OUTPOST = 64, // 0x00000040 + TEXT_IN_TOWER = 65, // 0x00000041 + TEXT_IN_GALLOWS = 66, // 0x00000042 + TEXT_IN_STOCKS = 67, // 0x00000043 + TEXT_IN_WITCH_HOIST = 68, // 0x00000044 + TEXT_IN_MAYPOLE = 69, // 0x00000045 + TEXT_IN_TRAINING_GROUND = 71, // 0x00000047 + TEXT_IN_GARDEN = 72, // 0x00000048 + TEXT_GAME_OPTIONS = 74, // 0x0000004A + TEXT_HELP = 75, // 0x0000004B + TEXT_MULTIPLAYER_CONNECTION = 76, // 0x0000004C + TEXT_PANEL_FEEDBACK = 77, // 0x0000004D + TEXT_STRUCTURE_WAS = 78, // 0x0000004E + TEXT_XPLAY_WAITING_ROOM = 79, // 0x0000004F + TEXT_MISSION_BUTTONS = 80, // 0x00000050 + TEXT_OBJECTIVES = 81, // 0x00000051 + TEXT_REPORT_BUTTONS = 82, // 0x00000052 + TEXT_PLAYER_DESC = 83, // 0x00000053 + TEXT_PEASANT_NAMES = 84, // 0x00000054 + TEXT_PEASANT_SURNAMES = 85, // 0x00000055 + TEXT_UNIT_ACTIONS = 86, // 0x00000056 + TEXT_MARRIAGE = 87, // 0x00000057 + TEXT_CHIMP_NAMES = 88, // 0x00000058 + TEXT_CHIMP_COMMENT = 89, // 0x00000059 + TEXT_NEWMAP_TYPES_HELP = 92, // 0x0000005C + TEXT_INSULTS = 93, // 0x0000005D + TEXT_PREVIEW = 94, // 0x0000005E + TEXT_TUTORIAL = 95, // 0x0000005F + TEXT_TUTORIAL_BUTTONS = 96, // 0x00000060 + TEXT_MAP_SCREEN = 97, // 0x00000061 + TEXT_MISSION1_STORY = 99, // 0x00000063 + TEXT_MISSION1_BRIEFING = 100, // 0x00000064 + TEXT_MISSION1_OBJECTIVES = 101, // 0x00000065 + TEXT_MISSION1_HINTS = 102, // 0x00000066 + TEXT_MISSION2_STORY = 103, // 0x00000067 + TEXT_MISSION2_BRIEFING = 104, // 0x00000068 + TEXT_MISSION2_OBJECTIVES = 105, // 0x00000069 + TEXT_MISSION2_HINTS = 106, // 0x0000006A + TEXT_MISSION3_STORY = 107, // 0x0000006B + TEXT_MISSION3_BRIEFING = 108, // 0x0000006C + TEXT_MISSION3_OBJECTIVES = 109, // 0x0000006D + TEXT_MISSION3_HINTS = 110, // 0x0000006E + TEXT_MISSION4_STORY = 111, // 0x0000006F + TEXT_MISSION4_BRIEFING = 112, // 0x00000070 + TEXT_MISSION4_OBJECTIVES = 113, // 0x00000071 + TEXT_MISSION4_HINTS = 114, // 0x00000072 + TEXT_MISSION5_STORY = 115, // 0x00000073 + TEXT_MISSION5_BRIEFING = 116, // 0x00000074 + TEXT_MISSION5_OBJECTIVES = 117, // 0x00000075 + TEXT_MISSION5_HINTS = 118, // 0x00000076 + TEXT_MISSION6_STORY = 119, // 0x00000077 + TEXT_MISSION6_BRIEFING = 120, // 0x00000078 + TEXT_MISSION6_OBJECTIVES = 121, // 0x00000079 + TEXT_MISSION6_HINTS = 122, // 0x0000007A + TEXT_MISSION7_STORY = 123, // 0x0000007B + TEXT_MISSION7_BRIEFING = 124, // 0x0000007C + TEXT_MISSION7_OBJECTIVES = 125, // 0x0000007D + TEXT_MISSION7_HINTS = 126, // 0x0000007E + TEXT_MISSION8_STORY = 127, // 0x0000007F + TEXT_MISSION8_BRIEFING = 128, // 0x00000080 + TEXT_MISSION8_OBJECTIVES = 129, // 0x00000081 + TEXT_MISSION8_HINTS = 130, // 0x00000082 + TEXT_MISSION9_STORY = 131, // 0x00000083 + TEXT_MISSION9_BRIEFING = 132, // 0x00000084 + TEXT_MISSION9_OBJECTIVES = 133, // 0x00000085 + TEXT_MISSION9_HINTS = 134, // 0x00000086 + TEXT_MISSION10_STORY = 135, // 0x00000087 + TEXT_MISSION10_BRIEFING = 136, // 0x00000088 + TEXT_MISSION10_OBJECTIVES = 137, // 0x00000089 + TEXT_MISSION10_HINTS = 138, // 0x0000008A + TEXT_MISSION11_STORY = 139, // 0x0000008B + TEXT_MISSION11_BRIEFING = 140, // 0x0000008C + TEXT_MISSION11_OBJECTIVES = 141, // 0x0000008D + TEXT_MISSION11_HINTS = 142, // 0x0000008E + TEXT_MISSION12_STORY = 143, // 0x0000008F + TEXT_MISSION12_BRIEFING = 144, // 0x00000090 + TEXT_MISSION12_OBJECTIVES = 145, // 0x00000091 + TEXT_MISSION12_HINTS = 146, // 0x00000092 + TEXT_MISSION13_STORY = 147, // 0x00000093 + TEXT_MISSION13_BRIEFING = 148, // 0x00000094 + TEXT_MISSION13_OBJECTIVES = 149, // 0x00000095 + TEXT_MISSION13_HINTS = 150, // 0x00000096 + TEXT_MISSION14_STORY = 151, // 0x00000097 + TEXT_MISSION14_BRIEFING = 152, // 0x00000098 + TEXT_MISSION14_OBJECTIVES = 153, // 0x00000099 + TEXT_MISSION14_HINTS = 154, // 0x0000009A + TEXT_MISSION15_STORY = 155, // 0x0000009B + TEXT_MISSION15_BRIEFING = 156, // 0x0000009C + TEXT_MISSION15_OBJECTIVES = 157, // 0x0000009D + TEXT_MISSION15_HINTS = 158, // 0x0000009E + TEXT_MISSION16_STORY = 159, // 0x0000009F + TEXT_MISSION16_BRIEFING = 160, // 0x000000A0 + TEXT_MISSION16_OBJECTIVES = 161, // 0x000000A1 + TEXT_MISSION16_HINTS = 162, // 0x000000A2 + TEXT_MISSION17_STORY = 163, // 0x000000A3 + TEXT_MISSION17_BRIEFING = 164, // 0x000000A4 + TEXT_MISSION17_OBJECTIVES = 165, // 0x000000A5 + TEXT_MISSION17_HINTS = 166, // 0x000000A6 + TEXT_MISSION18_STORY = 167, // 0x000000A7 + TEXT_MISSION18_BRIEFING = 168, // 0x000000A8 + TEXT_MISSION18_OBJECTIVES = 169, // 0x000000A9 + TEXT_MISSION18_HINTS = 170, // 0x000000AA + TEXT_MISSION19_STORY = 171, // 0x000000AB + TEXT_MISSION19_BRIEFING = 172, // 0x000000AC + TEXT_MISSION19_OBJECTIVES = 173, // 0x000000AD + TEXT_MISSION19_HINTS = 174, // 0x000000AE + TEXT_MISSION20_STORY = 175, // 0x000000AF + TEXT_MISSION20_BRIEFING = 176, // 0x000000B0 + TEXT_MISSION20_OBJECTIVES = 177, // 0x000000B1 + TEXT_MISSION20_HINTS = 178, // 0x000000B2 + TEXT_CAMPAIGN_INFO = 179, // 0x000000B3 + TEXT_DEMO_BRIEFINGS = 189, // 0x000000BD + TEXT_HINTS = 190, // 0x000000BE + TEXT_ECO1_HINTS = 191, // 0x000000BF + TEXT_ECO2_HINTS = 192, // 0x000000C0 + TEXT_ECO3_HINTS = 193, // 0x000000C1 + TEXT_ECO4_HINTS = 194, // 0x000000C2 + TEXT_ECO5_HINTS = 195, // 0x000000C3 + TEXT_ECO_MISSION_BRIEFINGS = 196, // 0x000000C4 + TEXT_MISSION_NAMES = 197, // 0x000000C5 + TEXT_PREATTACK = 198, // 0x000000C6 + TEXT_SCENARIO = 199, // 0x000000C7 + TEXT_TRADER_NAMES = 200, // 0x000000C8 + TEXT_ACTION = 201, // 0x000000C9 + TEXT_IN_CESS_PIT = 202, // 0x000000CA + TEXT_IN_BURNING_STAKE = 203, // 0x000000CB + TEXT_IN_GIBBET = 204, // 0x000000CC + TEXT_IN_DUNGEON = 205, // 0x000000CD + TEXT_IN_STRETCHING_RACK = 206, // 0x000000CE + TEXT_IN_FLOGGING_RACK = 207, // 0x000000CF + TEXT_IN_CHOPPING_BLOCK = 208, // 0x000000D0 + TEXT_IN_DUNKING_STOOL = 209, // 0x000000D1 + TEXT_IN_DOG_CAGE = 210, // 0x000000D2 + TEXT_IN_STATUE = 211, // 0x000000D3 + TEXT_IN_SHRINE = 212, // 0x000000D4 + TEXT_IN_BEEHIVE = 213, // 0x000000D5 + TEXT_IN_DANCING_BEAR = 214, // 0x000000D6 + TEXT_IN_POND = 215, // 0x000000D7 + TEXT_IN_BEAR_CAVE = 216, // 0x000000D8 + TEXT_IN_WATERPOT = 217, // 0x000000D9 + TEXT_IN_CATHEDRAL = 218, // 0x000000DA + TEXT_MAP_NAMES = 219, // 0x000000DB + TEXT_SCENARIO_OPP = 220, // 0x000000DC + TEXT_SKIRMISH_SPEECH = 221, // 0x000000DD + TEXT_CUSTOM_HOOKS = 223, // 0x000000DF + TEXT_ALLIES = 224, // 0x000000E0 + TEXT_MP_RANK = 225, // 0x000000E1 + TEXT_NEW_PRE_ATTACK = 226, // 0x000000E2 + TEXT_NEW_CTEXT = 228, // 0x000000E4 + TEXT_MP_VERSION_CONTROL = 229, // 0x000000E5 + TEXT_NEW_TEXT = 230, // 0x000000E6 + TEXT_HOT_KEYS = 231, // 0x000000E7 + TEXT_NEW_DEMO = 232, // 0x000000E8 + TEXT_NEW_TEXT2 = 233, // 0x000000E9 + TEXT_SANDS_OF_TIME = 234, // 0x000000EA + TEXT_BUILDING_DESCRIPTIONS = 235, // 0x000000EB + TEXT_CREDITS = 236, // 0x000000EC + TEXT_SUBTITLES = 237, // 0x000000ED + TEXT_ECOBRIEFINGS = 238, // 0x000000EE + TEXT_OTHER = 239, // 0x000000EF + TEXT_SKIRMISH_MASTERS = 240, // 0x000000F0 + TEXT_GAME_TYPE = 241, // 0x000000F1 + TEXT_SKIRMISH_CHOOSE = 242, // 0x000000F2 + TEXT_TRAIL_NAMES_CRU = 245, // 0x000000F5 + TEXT_EXTREME_DEMO = 247, // 0x000000F7 + TEXT_EXTREME_POWERS = 248, // 0x000000F8 + TEXT_DEMO_GAMENAMES = 249, // 0x000000F9 + TEXT_SKIRMISH_CHOOSE2 = 250, // 0x000000FA + TEXT_SHC_STANDALONE = 251, // 0x000000FB + TEXT_SKIRMISH_MISC = 252, // 0x000000FC + TEXT_SKTRAIL_WIN = 253, // 0x000000FD + TEXT_ALLIES2 = 254, // 0x000000FE + TEXT_SKMASTERS = 255, // 0x000000FF + TEXT_CHEATS = 256, // 0x00000100 + TEXT_MISC2 = 257, // 0x00000101 + TEXT_GAMEPLAY_ONLINE = 258, // 0x00000102 + TEXT_MISSION21_STORY = 270, // 0x0000010E + TEXT_MISSION21_BRIEFING = 271, // 0x0000010F + TEXT_MISSION21_OBJECTIVES = 272, // 0x00000110 + TEXT_MISSION21_HINTS = 273, // 0x00000111 + TEXT_MISSION22_STORY = 274, // 0x00000112 + TEXT_MISSION22_BRIEFING = 275, // 0x00000113 + TEXT_MISSION22_OBJECTIVES = 276, // 0x00000114 + TEXT_MISSION22_HINTS = 277, // 0x00000115 + TEXT_MISSION23_STORY = 278, // 0x00000116 + TEXT_MISSION23_BRIEFING = 279, // 0x00000117 + TEXT_MISSION23_OBJECTIVES = 280, // 0x00000118 + TEXT_MISSION23_HINTS = 281, // 0x00000119 + TEXT_MISSION24_STORY = 282, // 0x0000011A + TEXT_MISSION24_BRIEFING = 283, // 0x0000011B + TEXT_MISSION24_OBJECTIVES = 284, // 0x0000011C + TEXT_MISSION24_HINTS = 285, // 0x0000011D + TEXT_MISSION25_STORY = 286, // 0x0000011E + TEXT_MISSION25_BRIEFING = 287, // 0x0000011F + TEXT_MISSION25_OBJECTIVES = 288, // 0x00000120 + TEXT_MISSION25_HINTS = 289, // 0x00000121 + TEXT_MISSION26_STORY = 290, // 0x00000122 + TEXT_MISSION26_BRIEFING = 291, // 0x00000123 + TEXT_MISSION26_OBJECTIVES = 292, // 0x00000124 + TEXT_MISSION26_HINTS = 293, // 0x00000125 + TEXT_MISSION27_STORY = 294, // 0x00000126 + TEXT_MISSION27_BRIEFING = 295, // 0x00000127 + TEXT_MISSION27_OBJECTIVES = 296, // 0x00000128 + TEXT_MISSION27_HINTS = 297, // 0x00000129 + TEXT_MISSION28_STORY = 298, // 0x0000012A + TEXT_MISSION28_BRIEFING = 299, // 0x0000012B + TEXT_MISSION28_OBJECTIVES = 300, // 0x0000012C + TEXT_MISSION28_HINTS = 301, // 0x0000012D + TEXT_MISSION29_STORY = 302, // 0x0000012E + TEXT_MISSION29_BRIEFING = 303, // 0x0000012F + TEXT_MISSION29_OBJECTIVES = 304, // 0x00000130 + TEXT_MISSION29_HINTS = 305, // 0x00000131 + TEXT_MISSION30_STORY = 306, // 0x00000132 + TEXT_MISSION30_BRIEFING = 307, // 0x00000133 + TEXT_MISSION30_OBJECTIVES = 308, // 0x00000134 + TEXT_MISSION30_HINTS = 309, // 0x00000135 + TEXT_MISSION31_STORY = 310, // 0x00000136 + TEXT_MISSION31_BRIEFING = 311, // 0x00000137 + TEXT_MISSION31_OBJECTIVES = 312, // 0x00000138 + TEXT_MISSION31_HINTS = 313, // 0x00000139 + TEXT_MISSION32_STORY = 314, // 0x0000013A + TEXT_MISSION32_BRIEFING = 315, // 0x0000013B + TEXT_MISSION32_OBJECTIVES = 316, // 0x0000013C + TEXT_MISSION32_HINTS = 317, // 0x0000013D + TEXT_MISSION33_STORY = 318, // 0x0000013E + TEXT_MISSION33_BRIEFING = 319, // 0x0000013F + TEXT_MISSION33_OBJECTIVES = 320, // 0x00000140 + TEXT_MISSION33_HINTS = 321, // 0x00000141 + TEXT_MISSION34_STORY = 322, // 0x00000142 + TEXT_MISSION34_BRIEFING = 323, // 0x00000143 + TEXT_MISSION34_OBJECTIVES = 324, // 0x00000144 + TEXT_MISSION34_HINTS = 325, // 0x00000145 + TEXT_MISSION35_STORY = 326, // 0x00000146 + TEXT_MISSION35_BRIEFING = 327, // 0x00000147 + TEXT_MISSION35_OBJECTIVES = 328, // 0x00000148 + TEXT_MISSION35_HINTS = 329 // 0x00000149 + + } eTextSections; + + static_assert_cpp98_obj(sizeof(eTextSections) == 4, eTextSections); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHCDE/eTextSectionsInt.hpp b/src/OpenSHC/DE/SHCDE/eTextSectionsInt.hpp new file mode 100644 index 0000000..18326f0 --- /dev/null +++ b/src/OpenSHC/DE/SHCDE/eTextSectionsInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHCDE/eTextSectionsInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHCDE/eTextSections.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHCDE { + typedef int eTextSectionsInt; + + static_assert_cpp98_obj(sizeof(eTextSectionsInt) == 4, eTextSectionsInt); + } // namespace SHCDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHDE/eMappers.hpp b/src/OpenSHC/DE/SHDE/eMappers.hpp new file mode 100644 index 0000000..e543bfe --- /dev/null +++ b/src/OpenSHC/DE/SHDE/eMappers.hpp @@ -0,0 +1,510 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHDE/eMappers.hpp' +*/ + +#pragma once + +namespace OpenSHC { +namespace DE { + namespace SHDE { + typedef enum eMappers { + + M_MAPPER_NULL = 0, // 0x00000000 + M_MAPPER_AREA = 1, // 0x00000001 + M_MAPPER_RAISE = 2, // 0x00000002 + M_MAPPER_LOWER = 3, // 0x00000003 + M_MAPPER_SEA = 4, // 0x00000004 + M_MAPPER_LAND = 5, // 0x00000005 + M_MAPPER_FOREST = 6, // 0x00000006 + M_MAPPER_SCRUB = 7, // 0x00000007 + M_MAPPER_BEACH = 8, // 0x00000008 + M_MAPPER_SHALLOWS = 9, // 0x00000009 + M_MAPPER_ROCKY = 10, // 0x0000000A + M_MAPPER_STONES = 11, // 0x0000000B + M_MAPPER_BOULDERS = 12, // 0x0000000C + M_MAPPER_PEBBLES = 13, // 0x0000000D + M_MAPPER_RIVER = 14, // 0x0000000E + M_MAPPER_FORD = 15, // 0x0000000F + M_MAPPER_IRON = 16, // 0x00000010 + M_MAPPER_MARSH = 17, // 0x00000011 + M_MAPPER_DIRT = 18, // 0x00000012 + M_MAPPER_GRASS = 19, // 0x00000013 + M_MAPPER_BIGROCKS = 20, // 0x00000014 + M_MAPPER_DOWN = 20, // 0x00000014 + M_MAPPER_MIN = 21, // 0x00000015 + M_MAPPER_MAX = 22, // 0x00000016 + M_MAPPER_EQUALISE = 23, // 0x00000017 + M_MAPPER_PLATEAU = 24, // 0x00000018 + M_MAPPER_WALL = 25, // 0x00000019 + M_MAPPER_CRENAL = 26, // 0x0000001A + M_MAPPER_STAIR = 27, // 0x0000001B + M_MAPPER_TOWER = 28, // 0x0000001C + M_MAPPER_UP = 29, // 0x0000001D + M_MAPPER_EXIT = 31, // 0x0000001F + M_MAPPER_TOMAIN = 32, // 0x00000020 + M_MAPPER_TOTEST = 33, // 0x00000021 + M_MAPPER_PATROL = 34, // 0x00000022 + M_MAPPER_PATH_END = 35, // 0x00000023 + M_MAPPER_MOUNTAIN = 36, // 0x00000024 + M_MAPPER_HILL = 37, // 0x00000025 + M_MAPPER_AFFECT_TYPE = 38, // 0x00000026 + M_MAPPER_DELETE = 39, // 0x00000027 + M_MAPPER_CHESTNUT = 40, // 0x00000028 + M_MAPPER_OAK = 41, // 0x00000029 + M_MAPPER_PINE = 42, // 0x0000002A + M_MAPPER_BIRCH = 43, // 0x0000002B + M_MAPPER_UNDUGMOAT = 44, // 0x0000002C + M_MAPPER_DUGMOAT = 45, // 0x0000002D + M_MAPPER_WOODWALL = 46, // 0x0000002E + M_MAPPER_PLAIN1 = 47, // 0x0000002F + M_MAPPER_PLAIN2 = 48, // 0x00000030 + M_MAPPER_OIL = 49, // 0x00000031 + M_MAPPER_FLETCHER = 50, // 0x00000032 + M_MAPPER_WOODSMAN = 51, // 0x00000033 + M_MAPPER_STORES = 52, // 0x00000034 + M_MAPPER_HOUSE = 53, // 0x00000035 + M_MAPPER_HOVEL = 54, // 0x00000036 + M_MAPPER_OXENBASE = 55, // 0x00000037 + M_MAPPER_QUARRY = 56, // 0x00000038 + M_MAPPER_TUNNEL = 57, // 0x00000039 + M_MAPPER_CAMP_FIRE = 58, // 0x0000003A + M_MAPPER_SIGNPOST = 59, // 0x0000003B + M_MAPPER_KEEP1 = 60, // 0x0000003C + M_MAPPER_KEEP2 = 61, // 0x0000003D + M_MAPPER_KEEP3 = 62, // 0x0000003E + M_MAPPER_KEEP4 = 63, // 0x0000003F + M_MAPPER_KEEP5 = 64, // 0x00000040 + M_MAPPER_STABLES = 65, // 0x00000041 + M_MAPPER_TUNNEL_CONSTRUCTION = 66, // 0x00000042 + M_MAPPER_UNUSED_1 = 67, // 0x00000043 + M_MAPPER_UNUSED_2 = 68, // 0x00000044 + M_MAPPER_UNUSED_3 = 69, // 0x00000045 + M_MAPPER_WHEATFARM = 70, // 0x00000046 + M_MAPPER_HOPSFARM = 71, // 0x00000047 + M_MAPPER_APPLEFARM = 72, // 0x00000048 + M_MAPPER_CATTLEFARM = 73, // 0x00000049 + M_MAPPER_MILL = 74, // 0x0000004A + M_MAPPER_BAKER = 75, // 0x0000004B + M_MAPPER_BREWER = 76, // 0x0000004C + M_MAPPER_TRADEPOST = 77, // 0x0000004D + M_MAPPER_HUNTER = 78, // 0x0000004E + M_MAPPER_UNUSED_4 = 79, // 0x0000004F + M_MAPPER_GRANARY = 80, // 0x00000050 + M_MAPPER_ARMOURY = 81, // 0x00000051 + M_MAPPER_POLETURNER = 82, // 0x00000052 + M_MAPPER_BLACKSMITH = 83, // 0x00000053 + M_MAPPER_ARMOURER = 84, // 0x00000054 + M_MAPPER_TANNER = 85, // 0x00000055 + M_MAPPER_BARRACKS_WOOD = 86, // 0x00000056 + M_MAPPER_BARRACKS_STONE = 87, // 0x00000057 + M_MAPPER_ENGINEERS_GUILD = 88, // 0x00000058 + M_MAPPER_TUNNELERS_GUILD = 89, // 0x00000059 + M_MAPPER_IRON_MINE = 90, // 0x0000005A + M_MAPPER_PITCH_WORKINGS = 91, // 0x0000005B + M_MAPPER_INN = 92, // 0x0000005C + M_MAPPER_HEALER = 93, // 0x0000005D + M_MAPPER_SIEGE_TOWER_BASE = 94, // 0x0000005E + M_MAPPER_CHURCH1 = 95, // 0x0000005F + M_MAPPER_CHURCH2 = 96, // 0x00000060 + M_MAPPER_CHURCH3 = 97, // 0x00000061 + M_MAPPER_KILLING_PIT = 98, // 0x00000062 + M_MAPPER_PITCH_DITCH = 99, // 0x00000063 + M_MAPPER_GATEHOUSE = 100, // 0x00000064 + M_MAPPER_GATE_MAIN = 101, // 0x00000065 + M_MAPPER_GATE_INNER = 102, // 0x00000066 + M_MAPPER_GATE_WOOD = 103, // 0x00000067 + M_MAPPER_GATE_POSTERN = 104, // 0x00000068 + M_MAPPER_DRAWBRIDGE = 105, // 0x00000069 + M_MAPPER_MOAT = 106, // 0x0000006A + M_MAPPER_ANTIMOAT = 107, // 0x0000006B + M_MAPPER_UNUSED_5 = 108, // 0x0000006C + M_MAPPER_UNUSED_6 = 109, // 0x0000006D + M_MAPPER_TOWER1 = 110, // 0x0000006E + M_MAPPER_TOWER2 = 111, // 0x0000006F + M_MAPPER_TOWER3 = 112, // 0x00000070 + M_MAPPER_TOWER4 = 113, // 0x00000071 + M_MAPPER_TOWER5 = 114, // 0x00000072 + M_MAPPER_TOWER1_DESTROYED = 115, // 0x00000073 + M_MAPPER_TOWER2_DESTROYED = 116, // 0x00000074 + M_MAPPER_TOWER3_DESTROYED = 117, // 0x00000075 + M_MAPPER_TOWER4_DESTROYED = 118, // 0x00000076 + M_MAPPER_TOWER5_DESTROYED = 119, // 0x00000077 + M_MAPPER_FLAG_TYPE0 = 120, // 0x00000078 + M_MAPPER_FLAG_TYPE1 = 121, // 0x00000079 + M_MAPPER_FLAG_TYPE2 = 122, // 0x0000007A + M_MAPPER_FLAG_TYPE3 = 123, // 0x0000007B + M_MAPPER_FLAG_TYPE4 = 124, // 0x0000007C + M_MAPPER_FLAG_TYPE5 = 125, // 0x0000007D + M_MAPPER_FLAG_TYPE6 = 126, // 0x0000007E + M_MAPPER_FLAG_TYPE7 = 127, // 0x0000007F + M_MAPPER_FLAG_TYPE8 = 128, // 0x00000080 + M_MAPPER_HEADS = 129, // 0x00000081 + M_MAPPER_SHRUB1A = 130, // 0x00000082 + M_MAPPER_SHRUB1B = 131, // 0x00000083 + M_MAPPER_SHRUB1C = 132, // 0x00000084 + M_MAPPER_SHRUB1D = 133, // 0x00000085 + M_MAPPER_SHRUB1E = 134, // 0x00000086 + M_MAPPER_SHRUB2A = 135, // 0x00000087 + M_MAPPER_SHRUB2B = 136, // 0x00000088 + M_MAPPER_SHRUB2C = 137, // 0x00000089 + M_MAPPER_SHRUB2D = 138, // 0x0000008A + M_MAPPER_SHRUB2E = 139, // 0x0000008B + M_MAPPER_GATE_WOOD1A = 140, // 0x0000008C + M_MAPPER_GATE_WOOD1B = 141, // 0x0000008D + M_MAPPER_GATE_WOOD1C = 142, // 0x0000008E + M_MAPPER_GATE_WOOD1D = 143, // 0x0000008F + M_MAPPER_GATE_STONE1A = 144, // 0x00000090 + M_MAPPER_GATE_STONE1B = 145, // 0x00000091 + M_MAPPER_GATE_STONE2A = 146, // 0x00000092 + M_MAPPER_GATE_STONE2B = 147, // 0x00000093 + M_MAPPER_BRAZIER = 148, // 0x00000094 + M_MAPPER_UNUSED_7 = 149, // 0x00000095 + M_MAPPER_FOAM = 150, // 0x00000096 + M_MAPPER_RIPPLE = 151, // 0x00000097 + M_MAPPER_TO_MAP_EDIT = 152, // 0x00000098 + M_MAPPER_UNUSED_8 = 153, // 0x00000099 + M_MAPPER_UNUSED_9 = 154, // 0x0000009A + M_MAPPER_UNUSED_10 = 155, // 0x0000009B + M_MAPPER_UNUSED_11 = 156, // 0x0000009C + M_MAPPER_UNUSED_12 = 157, // 0x0000009D + M_MAPPER_UNUSED_13 = 158, // 0x0000009E + M_MAPPER_UNUSED_14 = 159, // 0x0000009F + M_MAPPER_GARDEN1 = 160, // 0x000000A0 + M_MAPPER_GARDEN2 = 161, // 0x000000A1 + M_MAPPER_GARDEN3 = 162, // 0x000000A2 + M_MAPPER_GARDEN4 = 163, // 0x000000A3 + M_MAPPER_GARDEN5 = 164, // 0x000000A4 + M_MAPPER_GARDEN6 = 165, // 0x000000A5 + M_MAPPER_GARDEN7 = 166, // 0x000000A6 + M_MAPPER_GARDEN8 = 167, // 0x000000A7 + M_MAPPER_GARDEN9 = 168, // 0x000000A8 + M_MAPPER_GARDEN10 = 169, // 0x000000A9 + M_MAPPER_GARDEN11 = 170, // 0x000000AA + M_MAPPER_GARDEN12 = 171, // 0x000000AB + M_MAPPER_UNUSED_15 = 172, // 0x000000AC + M_MAPPER_UNUSED_16 = 173, // 0x000000AD + M_MAPPER_UNUSED_17 = 174, // 0x000000AE + M_MAPPER_MAYPOLE = 175, // 0x000000AF + M_MAPPER_GALLOWS = 176, // 0x000000B0 + M_MAPPER_STOCKS = 177, // 0x000000B1 + M_MAPPER_UNUSED_18 = 178, // 0x000000B2 + M_MAPPER_UNUSED_19 = 179, // 0x000000B3 + M_MAPPER_OIL_SMELTER = 180, // 0x000000B4 + M_MAPPER_UNUSED_20 = 181, // 0x000000B5 + M_MAPPER_UNUSED_21 = 182, // 0x000000B6 + M_MAPPER_UNUSED_22 = 183, // 0x000000B7 + M_MAPPER_UNUSED_23 = 184, // 0x000000B8 + M_MAPPER_UNUSED_24 = 185, // 0x000000B9 + M_MAPPER_UNUSED_25 = 186, // 0x000000BA + M_MAPPER_UNUSED_26 = 187, // 0x000000BB + M_MAPPER_UNUSED_27 = 188, // 0x000000BC + M_MAPPER_UNUSED_28 = 189, // 0x000000BD + M_MAPPER_CATAPULT = 190, // 0x000000BE + M_MAPPER_TREBUCHET = 191, // 0x000000BF + M_MAPPER_SIEGE_TOWER = 192, // 0x000000C0 + M_MAPPER_BATTERING_RAM = 193, // 0x000000C1 + M_MAPPER_PORTABLE_SHIELD = 194, // 0x000000C2 + M_MAPPER_UNUSED_29 = 195, // 0x000000C3 + M_MAPPER_UNUSED_30 = 196, // 0x000000C4 + M_MAPPER_UNUSED_31 = 197, // 0x000000C5 + M_MAPPER_UNUSED_32 = 198, // 0x000000C6 + M_MAPPER_UNUSED_33 = 199, // 0x000000C7 + M_MAPPER_BACK = 200, // 0x000000C8 + M_MAPPER_CHECK_BOX = 201, // 0x000000C9 + M_MAPPER_TEST = 202, // 0x000000CA + M_MAPPER_REBUILD = 203, // 0x000000CB + M_MAPPER_SNAP_TO = 204, // 0x000000CC + M_MAPPER_BIGROCK1 = 205, // 0x000000CD + M_MAPPER_BIGROCK2 = 206, // 0x000000CE + M_MAPPER_BIGROCK3 = 207, // 0x000000CF + M_MAPPER_BIGROCK4 = 208, // 0x000000D0 + M_MAPPER_BIGROCK5 = 209, // 0x000000D1 + M_MAPPER_MANGONEL = 210, // 0x000000D2 + M_MAPPER_BALLISTA = 211, // 0x000000D3 + M_MAPPER_UNUSED_34 = 212, // 0x000000D4 + M_MAPPER_UNUSED_35 = 213, // 0x000000D5 + M_MAPPER_UNUSED_36 = 214, // 0x000000D6 + M_MAPPER_UNUSED_37 = 215, // 0x000000D7 + M_MAPPER_UNUSED_38 = 216, // 0x000000D8 + M_MAPPER_UNUSED_39 = 217, // 0x000000D9 + M_MAPPER_UNUSED_40 = 218, // 0x000000DA + M_MAPPER_UNUSED_41 = 219, // 0x000000DB + M_MAPPER_DEER = 220, // 0x000000DC + M_MAPPER_WOLF = 221, // 0x000000DD + M_MAPPER_RABBIT = 222, // 0x000000DE + M_MAPPER_BEAR = 223, // 0x000000DF + M_MAPPER_CROW = 224, // 0x000000E0 + M_MAPPER_SEAGULL = 225, // 0x000000E1 + M_MAPPER_UNUSED_42 = 226, // 0x000000E2 + M_MAPPER_UNUSED_44 = 227, // 0x000000E3 + M_MAPPER_UNUSED_45 = 228, // 0x000000E4 + M_MAPPER_UNUSED_46 = 229, // 0x000000E5 + M_MAPPER_MAP_SIZE = 230, // 0x000000E6 + M_MAPPER_SUB_MODE_HEIGHT = 231, // 0x000000E7 + M_MAPPER_SUB_MODE_TYPE = 232, // 0x000000E8 + M_MAPPER_SUB_MODE_OBJ = 234, // 0x000000EA + M_MAPPER_SUB_MODE_ANIMAL = 235, // 0x000000EB + M_MAPPER_SUB_MODE_WATER = 236, // 0x000000EC + M_MAPPER_SUB_MODE_FEATURE = 237, // 0x000000ED + M_MAPPER_ESTUARY = 238, // 0x000000EE + M_MAPPER_SUB_MODE_FEATURE_MP = 239, // 0x000000EF + M_MAPPER_MP_KEEP1 = 240, // 0x000000F0 + M_MAPPER_REPORT1 = 240, // 0x000000F0 + M_MAPPER_MP_KEEP2 = 241, // 0x000000F1 + M_MAPPER_REPORT2 = 241, // 0x000000F1 + M_MAPPER_MP_KEEP3 = 242, // 0x000000F2 + M_MAPPER_REPORT3 = 242, // 0x000000F2 + M_MAPPER_MP_KEEP4 = 243, // 0x000000F3 + M_MAPPER_REPORT4 = 243, // 0x000000F3 + M_MAPPER_MP_KEEP5 = 244, // 0x000000F4 + M_MAPPER_REPORT5 = 244, // 0x000000F4 + M_MAPPER_MP_KEEP6 = 245, // 0x000000F5 + M_MAPPER_REPORT6 = 245, // 0x000000F5 + M_MAPPER_MP_KEEP7 = 246, // 0x000000F6 + M_MAPPER_REPORT7 = 246, // 0x000000F6 + M_MAPPER_MP_KEEP8 = 247, // 0x000000F7 + M_MAPPER_REPORT8 = 247, // 0x000000F7 + M_MAPPER_RUINS1 = 248, // 0x000000F8 + M_MAPPER_RUINS2 = 249, // 0x000000F9 + M_MAPPER_RUINS3 = 250, // 0x000000FA + M_MAPPER_RUINS4 = 251, // 0x000000FB + M_MAPPER_RUINS5 = 252, // 0x000000FC + M_MAPPER_RUINS6 = 253, // 0x000000FD + M_MAPPER_RUINS7 = 254, // 0x000000FE + M_MAPPER_RUINS8 = 255, // 0x000000FF + M_MAPPER_RUINS9 = 256, // 0x00000100 + M_MAPPER_RUINS10 = 257, // 0x00000101 + M_MAPPER_RUINS11 = 258, // 0x00000102 + M_MAPPER_RUINS12 = 259, // 0x00000103 + M_MAPPER_RUINS13 = 260, // 0x00000104 + M_MAPPER_UNUSED_48 = 261, // 0x00000105 + M_MAPPER_UNUSED_49 = 262, // 0x00000106 + M_MAPPER_UNUSED_50 = 263, // 0x00000107 + M_MAPPER_UNUSED_51 = 264, // 0x00000108 + M_MAPPER_UNUSED_52 = 265, // 0x00000109 + M_MAPPER_UNUSED_53 = 266, // 0x0000010A + M_MAPPER_UNUSED_54 = 267, // 0x0000010B + M_MAPPER_UNUSED_55 = 268, // 0x0000010C + M_MAPPER_UNUSED_56 = 269, // 0x0000010D + M_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E + M_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F + M_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 + M_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 + M_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 + M_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 + M_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 + M_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 + M_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 + M_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 + M_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 + M_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 + M_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A + M_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B + M_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C + M_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D + M_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E + M_MAPPER_STANCE_STAND = 287, // 0x0000011F + M_MAPPER_STANCE_DEFENSIVE = 288, // 0x00000120 + M_MAPPER_STANCE_AGGRESSIVE = 289, // 0x00000121 + M_MAPPER_TROOP_STOP = 290, // 0x00000122 + M_MAPPER_ENGINEER_BUILD = 291, // 0x00000123 + M_MAPPER_BUILD_BACK = 292, // 0x00000124 + M_MAPPER_BUY_AMMO = 293, // 0x00000125 + M_MAPPER_UNUSED_57 = 294, // 0x00000126 + M_MAPPER_UNUSED_58 = 295, // 0x00000127 + M_MAPPER_UNUSED_59 = 296, // 0x00000128 + M_MAPPER_UNUSED_60 = 297, // 0x00000129 + M_MAPPER_UNUSED_61 = 298, // 0x0000012A + M_MAPPER_UNUSED_62 = 299, // 0x0000012B + M_MAPPER_UNUSED_63 = 300, // 0x0000012C + M_MAPPER_CESS_PIT1 = 301, // 0x0000012D + M_MAPPER_CESS_PIT2 = 302, // 0x0000012E + M_MAPPER_CESS_PIT3 = 303, // 0x0000012F + M_MAPPER_CESS_PIT4 = 304, // 0x00000130 + M_MAPPER_BURNING_STAKE = 305, // 0x00000131 + M_MAPPER_GIBBET = 306, // 0x00000132 + M_MAPPER_DUNGEON = 307, // 0x00000133 + M_MAPPER_RACK_STRETCHING = 308, // 0x00000134 + M_MAPPER_RACK_FLOGGING = 309, // 0x00000135 + M_MAPPER_CHOPPING_BLOCK = 310, // 0x00000136 + M_MAPPER_DUNKING_STOOL = 311, // 0x00000137 + M_MAPPER_DOG_CAGE = 312, // 0x00000138 + M_MAPPER_STATUE1 = 313, // 0x00000139 + M_MAPPER_STATUE2 = 314, // 0x0000013A + M_MAPPER_STATUE3 = 315, // 0x0000013B + M_MAPPER_STATUE4 = 316, // 0x0000013C + M_MAPPER_STATUE5 = 317, // 0x0000013D + M_MAPPER_SHRINE1 = 318, // 0x0000013E + M_MAPPER_SHRINE2 = 319, // 0x0000013F + M_MAPPER_SHRINE3 = 320, // 0x00000140 + M_MAPPER_SHRINE4 = 321, // 0x00000141 + M_MAPPER_SHRINE5 = 322, // 0x00000142 + M_MAPPER_BEE_HIVE = 323, // 0x00000143 + M_MAPPER_DANCING_BEAR = 324, // 0x00000144 + M_MAPPER_POND1 = 325, // 0x00000145 + M_MAPPER_POND2 = 326, // 0x00000146 + M_MAPPER_POND3 = 327, // 0x00000147 + M_MAPPER_POND4 = 328, // 0x00000148 + M_MAPPER_BEAR_CAVE = 329, // 0x00000149 + M_MAPPER_WELL = 330, // 0x0000014A + M_MAPPER_AREA_BACK = 331, // 0x0000014B + M_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C + M_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D + M_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E + M_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F + M_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 + M_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 + M_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 + M_MAPPER_SUB_MENU_TOWERS = 340, // 0x00000154 + M_MAPPER_SUB_MENU_MILITARY = 341, // 0x00000155 + M_MAPPER_SUB_MENU_GATEHOUSES = 342, // 0x00000156 + M_MAPPER_SUB_MENU_KEEPS = 343, // 0x00000157 + M_MAPPER_SUB_MENU_GATEHOUSES_WOOD = 344, // 0x00000158 + M_MAPPER_SUB_MENU_GATEHOUSES_STONESMALL = 345, // 0x00000159 + M_MAPPER_SUB_MENU_GATEHOUSES_STONELARGE = 346, // 0x0000015A + M_MAPPER_SUB_MENU_GOOD = 347, // 0x0000015B + M_MAPPER_SUB_MENU_BAD = 348, // 0x0000015C + M_MAPPER_DELETE_EDITOR = 349, // 0x0000015D + M_MAPPER_MARKER_POINT1 = 350, // 0x0000015E + M_MAPPER_MARKER_POINT2 = 351, // 0x0000015F + M_MAPPER_MARKER_POINT3 = 352, // 0x00000160 + M_MAPPER_MARKER_POINT4 = 353, // 0x00000161 + M_MAPPER_MARKER_POINT5 = 354, // 0x00000162 + M_MAPPER_MARKER_POINT6 = 355, // 0x00000163 + M_MAPPER_MARKER_POINT7 = 356, // 0x00000164 + M_MAPPER_MARKER_POINT8 = 357, // 0x00000165 + M_MAPPER_MARKER_POINT9 = 358, // 0x00000166 + M_MAPPER_MARKER_POINT10 = 359, // 0x00000167 + M_MAPPER_MENU_RETURN_TOWERS = 360, // 0x00000168 + M_MAPPER_MENU_RETURN_GATEHOUSES = 361, // 0x00000169 + M_MAPPER_MENU_RETURN_MILITARY = 362, // 0x0000016A + M_MAPPER_MENU_RETURN_KEEPS = 363, // 0x0000016B + M_MAPPER_MENU_RETURN_GOOD = 364, // 0x0000016C + M_MAPPER_MENU_RETURN_BAD = 365, // 0x0000016D + M_MAPPER_PLACE_ASSEMBLY_POINTE1 = 367, // 0x0000016F + M_MAPPER_PLACE_ASSEMBLY_POINTE2 = 368, // 0x00000170 + M_MAPPER_PLACE_ASSEMBLY_POINTT1 = 369, // 0x00000171 + M_END_OF_MAPPERS = 370, // 0x00000172 + eMappersInt__M_MAPPER_CRENAL2 = 35, // 0x00000023 + eMappersInt__M_MAPPER_OUTPOST_BEDOUIN = 53, // 0x00000035 + eMappersInt__M_MAPPER_BEDOUIN_STOCKADE = 79, // 0x0000004F + eMappersInt__M_MAPPER_GENERIC = 108, // 0x0000006C + eMappersInt__M_MAPPER_QUARRYPILE = 109, // 0x0000006D + eMappersInt__M_MAPPER_SHRUB3A = 153, // 0x00000099 + eMappersInt__M_MAPPER_SHRUB3B = 154, // 0x0000009A + eMappersInt__M_MAPPER_SHRUB3C = 155, // 0x0000009B + eMappersInt__M_MAPPER_SHRUB3D = 156, // 0x0000009C + eMappersInt__M_MAPPER_OUTPOST = 178, // 0x000000B2 + eMappersInt__M_MAPPER_OUTPOST_ARAB = 179, // 0x000000B3 + eMappersInt__M_MAPPER_STAIR1 = 181, // 0x000000B5 + eMappersInt__M_MAPPER_STAIR2 = 182, // 0x000000B6 + eMappersInt__M_MAPPER_STAIR3 = 183, // 0x000000B7 + eMappersInt__M_MAPPER_STAIR4 = 184, // 0x000000B8 + eMappersInt__M_MAPPER_STAIR5 = 185, // 0x000000B9 + eMappersInt__M_MAPPER_STAIR6 = 186, // 0x000000BA + eMappersInt__M_MAPPER_DOCK = 195, // 0x000000C3 + eMappersInt__M_MAPPER_DOCK2 = 196, // 0x000000C4 + eMappersInt__M_MAPPER_DOCK3 = 197, // 0x000000C5 + eMappersInt__M_MAPPER_DOCK4 = 198, // 0x000000C6 + eMappersInt__M_MAPPER_POND5 = 265, // 0x00000109 + eMappersInt__M_MAPPER_POND6 = 266, // 0x0000010A + eMappersInt__M_MAPPER_POND7 = 267, // 0x0000010B + eMappersInt__M_MAPPER_POND8 = 268, // 0x0000010C + eMappersInt__M_MAPPER_DUNES = 340, // 0x00000154 + eMappersInt__M_MAPPER_SCRUBGRASS = 341, // 0x00000155 + eMappersInt__M_MAPPER_WATERPOT = 342, // 0x00000156 + eMappersInt__M_MAPPER_PEOPLE_ARAB_BOW = 350, // 0x0000015E + eMappersInt__M_MAPPER_PEOPLE_ARAB_SLAVE = 351, // 0x0000015F + eMappersInt__M_MAPPER_PEOPLE_ARAB_SLINGER = 352, // 0x00000160 + eMappersInt__M_MAPPER_PEOPLE_ARAB_ASSASIN = 353, // 0x00000161 + eMappersInt__M_MAPPER_PEOPLE_ARAB_HORSEMAN = 354, // 0x00000162 + eMappersInt__M_MAPPER_PEOPLE_ARAB_SWORDSMAN = 355, // 0x00000163 + eMappersInt__M_MAPPER_PEOPLE_ARAB_GRENADIER = 356, // 0x00000164 + eMappersInt__M_MAPPER_PEOPLE_ARAB_BALLISTA = 357, // 0x00000165 + eMappersInt__M_MAPPER_ARAB_BALLISTA = 358, // 0x00000166 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM1 = 360, // 0x00000168 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM2 = 361, // 0x00000169 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM3 = 362, // 0x0000016A + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM4 = 363, // 0x0000016B + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM5 = 364, // 0x0000016C + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM6 = 365, // 0x0000016D + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTM7 = 366, // 0x0000016E + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTK1 = 370, // 0x00000172 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_TOWERS = 371, // 0x00000173 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_GATEHOUSES = 372, // 0x00000174 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_MILITARY = 373, // 0x00000175 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_KEEPS = 374, // 0x00000176 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_GOOD = 375, // 0x00000177 + NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_BAD = 376, // 0x00000178 + NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_TOWERS = 377, // 0x00000179 + NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_MILITARY = 378, // 0x0000017A + NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_GATEHOUSES = 379, // 0x0000017B + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT1 = 380, // 0x0000017C + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT2 = 381, // 0x0000017D + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT3 = 382, // 0x0000017E + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT4 = 383, // 0x0000017F + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT5 = 384, // 0x00000180 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT6 = 385, // 0x00000181 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT7 = 386, // 0x00000182 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT8 = 387, // 0x00000183 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT9 = 388, // 0x00000184 + NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT10 = 389, // 0x00000185 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS1 = 391, // 0x00000187 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS2 = 392, // 0x00000188 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS3 = 393, // 0x00000189 + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS4 = 394, // 0x0000018A + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS5 = 395, // 0x0000018B + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS6 = 396, // 0x0000018C + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS7 = 397, // 0x0000018D + eMappersInt__M_MAPPER_PLACE_ASSEMBLY_POINTBS8 = 398, // 0x0000018E + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_CAMEL_LANCER = 400, // 0x00000190 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_HEALER = 401, // 0x00000191 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_EUNUCH = 402, // 0x00000192 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_AMBUSHER = 403, // 0x00000193 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_SKIRMISHER = 404, // 0x00000194 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_HEAVY_CAMEL = 405, // 0x00000195 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_SAPPER = 406, // 0x00000196 + eMappersInt__M_MAPPER_PEOPLE_BEDOUIN_DEMOLISHER = 407, // 0x00000197 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS1 = 410, // 0x0000019A + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS2 = 411, // 0x0000019B + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS3 = 412, // 0x0000019C + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS4 = 413, // 0x0000019D + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS5 = 414, // 0x0000019E + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS6 = 415, // 0x0000019F + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS7 = 416, // 0x000001A0 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS8 = 417, // 0x000001A1 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS9 = 418, // 0x000001A2 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS10 = 419, // 0x000001A3 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS11 = 420, // 0x000001A4 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS12 = 421, // 0x000001A5 + NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS13 = 422, // 0x000001A6 + eMappersInt__M_MAPPER_RUINS14 = 423, // 0x000001A7 + eMappersInt__M_MAPPER_RUINS15 = 424, // 0x000001A8 + eMappersInt__M_MAPPER_RUINS16 = 425, // 0x000001A9 + eMappersInt__M_MAPPER_RUINS17 = 426, // 0x000001AA + eMappersInt__M_MAPPER_RUINS18 = 427, // 0x000001AB + eMappersInt__M_MAPPER_RUINS19 = 428, // 0x000001AC + eMappersInt__M_MAPPER_RUINS20 = 429, // 0x000001AD + eMappersInt__M_MAPPER_RUINS21 = 430, // 0x000001AE + eMappersInt__M_MAPPER_RUINS22 = 431, // 0x000001AF + eMappersInt__M_MAPPER_RUINS23 = 432, // 0x000001B0 + eMappersInt__M_MAPPER_RUINS24 = 433, // 0x000001B1 + eMappersInt__M_MAPPER_RUINS25 = 434, // 0x000001B2 + eMappersInt__M_MAPPER_RUINS26 = 435, // 0x000001B3 + eMappersInt__M_MAPPER_RUINS27 = 436, // 0x000001B4 + eMappersInt__M_MAPPER_RUINS28 = 437, // 0x000001B5 + eMappersInt__M_MAPPER_RUINS29 = 438, // 0x000001B6 + eMappersInt__M_MAPPER_RUINS30 = 439, // 0x000001B7 + eMappersInt__M_MAPPER_RUINS31 = 440, // 0x000001B8 + eMappersInt__M_MAPPER_RUINS32 = 441, // 0x000001B9 + eMappersInt__M_MAPPER_RUINS33 = 442, // 0x000001BA + eMappersInt__M_MAPPER_RUINS34 = 443, // 0x000001BB + NAME_CONFLICT__eMappersInt_M_END_OF_MAPPERS = 450 // 0x000001C2 + + } eMappers; + + static_assert_cpp98_obj(sizeof(eMappers) == 4, eMappers); + } // namespace SHDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DE/SHDE/eMappersInt.hpp b/src/OpenSHC/DE/SHDE/eMappersInt.hpp new file mode 100644 index 0000000..611446e --- /dev/null +++ b/src/OpenSHC/DE/SHDE/eMappersInt.hpp @@ -0,0 +1,18 @@ +/** + AUTO_GENERATED: DO NOT TOUCH THIS FILE + path: 'OpenSHC/DE/SHDE/eMappersInt.hpp' +*/ + +#pragma once + +#include "OpenSHC/DE/SHDE/eMappers.hpp" + +namespace OpenSHC { +namespace DE { + namespace SHDE { + typedef int eMappersInt; + + static_assert_cpp98_obj(sizeof(eMappersInt) == 4, eMappersInt); + } // namespace SHDE +} // namespace DE +} // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/EnumSessions.hpp b/src/OpenSHC/DirectPlay/EnumSessions.hpp index 8b1f7de..f5c79df 100644 --- a/src/OpenSHC/DirectPlay/EnumSessions.hpp +++ b/src/OpenSHC/DirectPlay/EnumSessions.hpp @@ -6,16 +6,13 @@ #pragma once #include "OpenSHC/DirectPlay/EnumSessionsFlagsEnumInt.hpp" -#include "OpenSHC/dplay/DPSESSIONDESC2.hpp" #include "WinDef.h" #include "winnt.h" namespace OpenSHC { namespace DirectPlay { using OpenSHC::DirectPlay::EnumSessionsFlagsEnumInt; - using OpenSHC::dplay::DPSESSIONDESC2; - typedef HRESULT(__stdcall EnumSessions)( - void*, DPSESSIONDESC2*, DWORD, undefined4, LPVOID, EnumSessionsFlagsEnumInt); + typedef HRESULT(__stdcall EnumSessions)(void*, void*, DWORD, undefined4, LPVOID, EnumSessionsFlagsEnumInt); } // namespace DirectPlay } // namespace OpenSHC diff --git a/src/OpenSHC/DirectPlay/Open.hpp b/src/OpenSHC/DirectPlay/Open.hpp index 33337f8..ef2ab1f 100644 --- a/src/OpenSHC/DirectPlay/Open.hpp +++ b/src/OpenSHC/DirectPlay/Open.hpp @@ -6,14 +6,12 @@ #pragma once #include "OpenSHC/DirectPlay/OpenFlagsEnumInt.hpp" -#include "OpenSHC/dplay/DPSESSIONDESC2.hpp" #include "winnt.h" namespace OpenSHC { namespace DirectPlay { using OpenSHC::DirectPlay::OpenFlagsEnumInt; - using OpenSHC::dplay::DPSESSIONDESC2; - typedef HRESULT(__stdcall Open)(void*, DPSESSIONDESC2*, OpenFlagsEnumInt); + typedef HRESULT(__stdcall Open)(void*, void*, OpenFlagsEnumInt); } // namespace DirectPlay } // namespace OpenSHC diff --git a/src/OpenSHC/Map/MapPropertiesState.func.hpp b/src/OpenSHC/Map/MapPropertiesState.func.hpp index cab6c51..32aab17 100644 --- a/src/OpenSHC/Map/MapPropertiesState.func.hpp +++ b/src/OpenSHC/Map/MapPropertiesState.func.hpp @@ -2,14 +2,14 @@ path: 'OpenSHC/Map/MapPropertiesState.func.hpp' */ +#include "OpenSHC/DE/SHCDE/eMappersInt.hpp" #include "OpenSHC/Map/MapPropertiesState.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eMappersInt.hpp" namespace OpenSHC { namespace Map { namespace MapPropertiesState_Func { - using OpenSHC::_SHCDE::eMappersInt; + using OpenSHC::DE::SHCDE::eMappersInt; using OpenSHC::WindowsHelper::Enums::BOOLEnum; MACRO_FUNCTION_RESOLVER(BOOLEnum (MapPropertiesState::*)(int), false, Address::SHC_3BB0A8C1_0x004B77E0, diff --git a/src/OpenSHC/Map/MapPropertiesState.hpp b/src/OpenSHC/Map/MapPropertiesState.hpp index 07710c3..2c1f05f 100644 --- a/src/OpenSHC/Map/MapPropertiesState.hpp +++ b/src/OpenSHC/Map/MapPropertiesState.hpp @@ -6,6 +6,7 @@ #pragma once #include "OpenSHC/AI/Siege/SiegeInformation.hpp" +#include "OpenSHC/DE/SHCDE/eMappersInt.hpp" #include "OpenSHC/Game/Scenario/BarracksRecruitabilityShort.hpp" #include "OpenSHC/Game/ScenarioEvents/InGameEventExtra.hpp" #include "OpenSHC/Game/ScenarioEvents/InGameEventUnionVersion.hpp" @@ -15,13 +16,12 @@ #include "OpenSHC/Game/TradeableResourcesSection.hpp" #include "OpenSHC/Map/MapType2Int.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eMappersInt.hpp" namespace OpenSHC { namespace Map { - using OpenSHC::_SHCDE::eMappersInt; using OpenSHC::AI::Siege::SiegeInformation; + using OpenSHC::DE::SHCDE::eMappersInt; using OpenSHC::Game::TradeableResourcesSection; using OpenSHC::Game::Scenario::BarracksRecruitabilityShort; using OpenSHC::Game::ScenarioEvents::InGameEventExtra; diff --git a/src/OpenSHC/SHDE/eMappers.hpp b/src/OpenSHC/SHDE/eMappers.hpp deleted file mode 100644 index f8d0e47..0000000 --- a/src/OpenSHC/SHDE/eMappers.hpp +++ /dev/null @@ -1,393 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/SHDE/eMappers.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace SHDE { - typedef enum eMappers { - - M_MAPPER_NULL = 0, // 0x00000000 - M_MAPPER_AREA = 1, // 0x00000001 - M_MAPPER_RAISE = 2, // 0x00000002 - M_MAPPER_LOWER = 3, // 0x00000003 - M_MAPPER_SEA = 4, // 0x00000004 - M_MAPPER_LAND = 5, // 0x00000005 - M_MAPPER_FOREST = 6, // 0x00000006 - M_MAPPER_SCRUB = 7, // 0x00000007 - M_MAPPER_BEACH = 8, // 0x00000008 - M_MAPPER_SHALLOWS = 9, // 0x00000009 - M_MAPPER_ROCKY = 10, // 0x0000000A - M_MAPPER_STONES = 11, // 0x0000000B - M_MAPPER_BOULDERS = 12, // 0x0000000C - M_MAPPER_PEBBLES = 13, // 0x0000000D - M_MAPPER_RIVER = 14, // 0x0000000E - M_MAPPER_FORD = 15, // 0x0000000F - M_MAPPER_IRON = 16, // 0x00000010 - M_MAPPER_MARSH = 17, // 0x00000011 - M_MAPPER_DIRT = 18, // 0x00000012 - M_MAPPER_GRASS = 19, // 0x00000013 - M_MAPPER_BIGROCKS = 20, // 0x00000014 - M_MAPPER_DOWN = 20, // 0x00000014 - M_MAPPER_MIN = 21, // 0x00000015 - M_MAPPER_MAX = 22, // 0x00000016 - M_MAPPER_EQUALISE = 23, // 0x00000017 - M_MAPPER_PLATEAU = 24, // 0x00000018 - M_MAPPER_WALL = 25, // 0x00000019 - M_MAPPER_CRENAL = 26, // 0x0000001A - M_MAPPER_STAIR = 27, // 0x0000001B - M_MAPPER_TOWER = 28, // 0x0000001C - M_MAPPER_UP = 29, // 0x0000001D - M_MAPPER_EXIT = 31, // 0x0000001F - M_MAPPER_TOMAIN = 32, // 0x00000020 - M_MAPPER_TOTEST = 33, // 0x00000021 - M_MAPPER_PATROL = 34, // 0x00000022 - M_MAPPER_PATH_END = 35, // 0x00000023 - M_MAPPER_MOUNTAIN = 36, // 0x00000024 - M_MAPPER_HILL = 37, // 0x00000025 - M_MAPPER_AFFECT_TYPE = 38, // 0x00000026 - M_MAPPER_DELETE = 39, // 0x00000027 - M_MAPPER_CHESTNUT = 40, // 0x00000028 - M_MAPPER_OAK = 41, // 0x00000029 - M_MAPPER_PINE = 42, // 0x0000002A - M_MAPPER_BIRCH = 43, // 0x0000002B - M_MAPPER_UNDUGMOAT = 44, // 0x0000002C - M_MAPPER_DUGMOAT = 45, // 0x0000002D - M_MAPPER_WOODWALL = 46, // 0x0000002E - M_MAPPER_PLAIN1 = 47, // 0x0000002F - M_MAPPER_PLAIN2 = 48, // 0x00000030 - M_MAPPER_OIL = 49, // 0x00000031 - M_MAPPER_FLETCHER = 50, // 0x00000032 - M_MAPPER_WOODSMAN = 51, // 0x00000033 - M_MAPPER_STORES = 52, // 0x00000034 - M_MAPPER_HOUSE = 53, // 0x00000035 - M_MAPPER_HOVEL = 54, // 0x00000036 - M_MAPPER_OXENBASE = 55, // 0x00000037 - M_MAPPER_QUARRY = 56, // 0x00000038 - M_MAPPER_TUNNEL = 57, // 0x00000039 - M_MAPPER_CAMP_FIRE = 58, // 0x0000003A - M_MAPPER_SIGNPOST = 59, // 0x0000003B - M_MAPPER_KEEP1 = 60, // 0x0000003C - M_MAPPER_KEEP2 = 61, // 0x0000003D - M_MAPPER_KEEP3 = 62, // 0x0000003E - M_MAPPER_KEEP4 = 63, // 0x0000003F - M_MAPPER_KEEP5 = 64, // 0x00000040 - M_MAPPER_STABLES = 65, // 0x00000041 - M_MAPPER_TUNNEL_CONSTRUCTION = 66, // 0x00000042 - M_MAPPER_UNUSED_1 = 67, // 0x00000043 - M_MAPPER_UNUSED_2 = 68, // 0x00000044 - M_MAPPER_UNUSED_3 = 69, // 0x00000045 - M_MAPPER_WHEATFARM = 70, // 0x00000046 - M_MAPPER_HOPSFARM = 71, // 0x00000047 - M_MAPPER_APPLEFARM = 72, // 0x00000048 - M_MAPPER_CATTLEFARM = 73, // 0x00000049 - M_MAPPER_MILL = 74, // 0x0000004A - M_MAPPER_BAKER = 75, // 0x0000004B - M_MAPPER_BREWER = 76, // 0x0000004C - M_MAPPER_TRADEPOST = 77, // 0x0000004D - M_MAPPER_HUNTER = 78, // 0x0000004E - M_MAPPER_UNUSED_4 = 79, // 0x0000004F - M_MAPPER_GRANARY = 80, // 0x00000050 - M_MAPPER_ARMOURY = 81, // 0x00000051 - M_MAPPER_POLETURNER = 82, // 0x00000052 - M_MAPPER_BLACKSMITH = 83, // 0x00000053 - M_MAPPER_ARMOURER = 84, // 0x00000054 - M_MAPPER_TANNER = 85, // 0x00000055 - M_MAPPER_BARRACKS_WOOD = 86, // 0x00000056 - M_MAPPER_BARRACKS_STONE = 87, // 0x00000057 - M_MAPPER_ENGINEERS_GUILD = 88, // 0x00000058 - M_MAPPER_TUNNELERS_GUILD = 89, // 0x00000059 - M_MAPPER_IRON_MINE = 90, // 0x0000005A - M_MAPPER_PITCH_WORKINGS = 91, // 0x0000005B - M_MAPPER_INN = 92, // 0x0000005C - M_MAPPER_HEALER = 93, // 0x0000005D - M_MAPPER_SIEGE_TOWER_BASE = 94, // 0x0000005E - M_MAPPER_CHURCH1 = 95, // 0x0000005F - M_MAPPER_CHURCH2 = 96, // 0x00000060 - M_MAPPER_CHURCH3 = 97, // 0x00000061 - M_MAPPER_KILLING_PIT = 98, // 0x00000062 - M_MAPPER_PITCH_DITCH = 99, // 0x00000063 - M_MAPPER_GATEHOUSE = 100, // 0x00000064 - M_MAPPER_GATE_MAIN = 101, // 0x00000065 - M_MAPPER_GATE_INNER = 102, // 0x00000066 - M_MAPPER_GATE_WOOD = 103, // 0x00000067 - M_MAPPER_GATE_POSTERN = 104, // 0x00000068 - M_MAPPER_DRAWBRIDGE = 105, // 0x00000069 - M_MAPPER_MOAT = 106, // 0x0000006A - M_MAPPER_ANTIMOAT = 107, // 0x0000006B - M_MAPPER_UNUSED_5 = 108, // 0x0000006C - M_MAPPER_UNUSED_6 = 109, // 0x0000006D - M_MAPPER_TOWER1 = 110, // 0x0000006E - M_MAPPER_TOWER2 = 111, // 0x0000006F - M_MAPPER_TOWER3 = 112, // 0x00000070 - M_MAPPER_TOWER4 = 113, // 0x00000071 - M_MAPPER_TOWER5 = 114, // 0x00000072 - M_MAPPER_TOWER1_DESTROYED = 115, // 0x00000073 - M_MAPPER_TOWER2_DESTROYED = 116, // 0x00000074 - M_MAPPER_TOWER3_DESTROYED = 117, // 0x00000075 - M_MAPPER_TOWER4_DESTROYED = 118, // 0x00000076 - M_MAPPER_TOWER5_DESTROYED = 119, // 0x00000077 - M_MAPPER_FLAG_TYPE0 = 120, // 0x00000078 - M_MAPPER_FLAG_TYPE1 = 121, // 0x00000079 - M_MAPPER_FLAG_TYPE2 = 122, // 0x0000007A - M_MAPPER_FLAG_TYPE3 = 123, // 0x0000007B - M_MAPPER_FLAG_TYPE4 = 124, // 0x0000007C - M_MAPPER_FLAG_TYPE5 = 125, // 0x0000007D - M_MAPPER_FLAG_TYPE6 = 126, // 0x0000007E - M_MAPPER_FLAG_TYPE7 = 127, // 0x0000007F - M_MAPPER_FLAG_TYPE8 = 128, // 0x00000080 - M_MAPPER_HEADS = 129, // 0x00000081 - M_MAPPER_SHRUB1A = 130, // 0x00000082 - M_MAPPER_SHRUB1B = 131, // 0x00000083 - M_MAPPER_SHRUB1C = 132, // 0x00000084 - M_MAPPER_SHRUB1D = 133, // 0x00000085 - M_MAPPER_SHRUB1E = 134, // 0x00000086 - M_MAPPER_SHRUB2A = 135, // 0x00000087 - M_MAPPER_SHRUB2B = 136, // 0x00000088 - M_MAPPER_SHRUB2C = 137, // 0x00000089 - M_MAPPER_SHRUB2D = 138, // 0x0000008A - M_MAPPER_SHRUB2E = 139, // 0x0000008B - M_MAPPER_GATE_WOOD1A = 140, // 0x0000008C - M_MAPPER_GATE_WOOD1B = 141, // 0x0000008D - M_MAPPER_GATE_WOOD1C = 142, // 0x0000008E - M_MAPPER_GATE_WOOD1D = 143, // 0x0000008F - M_MAPPER_GATE_STONE1A = 144, // 0x00000090 - M_MAPPER_GATE_STONE1B = 145, // 0x00000091 - M_MAPPER_GATE_STONE2A = 146, // 0x00000092 - M_MAPPER_GATE_STONE2B = 147, // 0x00000093 - M_MAPPER_BRAZIER = 148, // 0x00000094 - M_MAPPER_UNUSED_7 = 149, // 0x00000095 - M_MAPPER_FOAM = 150, // 0x00000096 - M_MAPPER_RIPPLE = 151, // 0x00000097 - M_MAPPER_TO_MAP_EDIT = 152, // 0x00000098 - M_MAPPER_UNUSED_8 = 153, // 0x00000099 - M_MAPPER_UNUSED_9 = 154, // 0x0000009A - M_MAPPER_UNUSED_10 = 155, // 0x0000009B - M_MAPPER_UNUSED_11 = 156, // 0x0000009C - M_MAPPER_UNUSED_12 = 157, // 0x0000009D - M_MAPPER_UNUSED_13 = 158, // 0x0000009E - M_MAPPER_UNUSED_14 = 159, // 0x0000009F - M_MAPPER_GARDEN1 = 160, // 0x000000A0 - M_MAPPER_GARDEN2 = 161, // 0x000000A1 - M_MAPPER_GARDEN3 = 162, // 0x000000A2 - M_MAPPER_GARDEN4 = 163, // 0x000000A3 - M_MAPPER_GARDEN5 = 164, // 0x000000A4 - M_MAPPER_GARDEN6 = 165, // 0x000000A5 - M_MAPPER_GARDEN7 = 166, // 0x000000A6 - M_MAPPER_GARDEN8 = 167, // 0x000000A7 - M_MAPPER_GARDEN9 = 168, // 0x000000A8 - M_MAPPER_GARDEN10 = 169, // 0x000000A9 - M_MAPPER_GARDEN11 = 170, // 0x000000AA - M_MAPPER_GARDEN12 = 171, // 0x000000AB - M_MAPPER_UNUSED_15 = 172, // 0x000000AC - M_MAPPER_UNUSED_16 = 173, // 0x000000AD - M_MAPPER_UNUSED_17 = 174, // 0x000000AE - M_MAPPER_MAYPOLE = 175, // 0x000000AF - M_MAPPER_GALLOWS = 176, // 0x000000B0 - M_MAPPER_STOCKS = 177, // 0x000000B1 - M_MAPPER_UNUSED_18 = 178, // 0x000000B2 - M_MAPPER_UNUSED_19 = 179, // 0x000000B3 - M_MAPPER_OIL_SMELTER = 180, // 0x000000B4 - M_MAPPER_UNUSED_20 = 181, // 0x000000B5 - M_MAPPER_UNUSED_21 = 182, // 0x000000B6 - M_MAPPER_UNUSED_22 = 183, // 0x000000B7 - M_MAPPER_UNUSED_23 = 184, // 0x000000B8 - M_MAPPER_UNUSED_24 = 185, // 0x000000B9 - M_MAPPER_UNUSED_25 = 186, // 0x000000BA - M_MAPPER_UNUSED_26 = 187, // 0x000000BB - M_MAPPER_UNUSED_27 = 188, // 0x000000BC - M_MAPPER_UNUSED_28 = 189, // 0x000000BD - M_MAPPER_CATAPULT = 190, // 0x000000BE - M_MAPPER_TREBUCHET = 191, // 0x000000BF - M_MAPPER_SIEGE_TOWER = 192, // 0x000000C0 - M_MAPPER_BATTERING_RAM = 193, // 0x000000C1 - M_MAPPER_PORTABLE_SHIELD = 194, // 0x000000C2 - M_MAPPER_UNUSED_29 = 195, // 0x000000C3 - M_MAPPER_UNUSED_30 = 196, // 0x000000C4 - M_MAPPER_UNUSED_31 = 197, // 0x000000C5 - M_MAPPER_UNUSED_32 = 198, // 0x000000C6 - M_MAPPER_UNUSED_33 = 199, // 0x000000C7 - M_MAPPER_BACK = 200, // 0x000000C8 - M_MAPPER_CHECK_BOX = 201, // 0x000000C9 - M_MAPPER_TEST = 202, // 0x000000CA - M_MAPPER_REBUILD = 203, // 0x000000CB - M_MAPPER_SNAP_TO = 204, // 0x000000CC - M_MAPPER_BIGROCK1 = 205, // 0x000000CD - M_MAPPER_BIGROCK2 = 206, // 0x000000CE - M_MAPPER_BIGROCK3 = 207, // 0x000000CF - M_MAPPER_BIGROCK4 = 208, // 0x000000D0 - M_MAPPER_BIGROCK5 = 209, // 0x000000D1 - M_MAPPER_MANGONEL = 210, // 0x000000D2 - M_MAPPER_BALLISTA = 211, // 0x000000D3 - M_MAPPER_UNUSED_34 = 212, // 0x000000D4 - M_MAPPER_UNUSED_35 = 213, // 0x000000D5 - M_MAPPER_UNUSED_36 = 214, // 0x000000D6 - M_MAPPER_UNUSED_37 = 215, // 0x000000D7 - M_MAPPER_UNUSED_38 = 216, // 0x000000D8 - M_MAPPER_UNUSED_39 = 217, // 0x000000D9 - M_MAPPER_UNUSED_40 = 218, // 0x000000DA - M_MAPPER_UNUSED_41 = 219, // 0x000000DB - M_MAPPER_DEER = 220, // 0x000000DC - M_MAPPER_WOLF = 221, // 0x000000DD - M_MAPPER_RABBIT = 222, // 0x000000DE - M_MAPPER_BEAR = 223, // 0x000000DF - M_MAPPER_CROW = 224, // 0x000000E0 - M_MAPPER_SEAGULL = 225, // 0x000000E1 - M_MAPPER_UNUSED_42 = 226, // 0x000000E2 - M_MAPPER_UNUSED_44 = 227, // 0x000000E3 - M_MAPPER_UNUSED_45 = 228, // 0x000000E4 - M_MAPPER_UNUSED_46 = 229, // 0x000000E5 - M_MAPPER_MAP_SIZE = 230, // 0x000000E6 - M_MAPPER_SUB_MODE_HEIGHT = 231, // 0x000000E7 - M_MAPPER_SUB_MODE_TYPE = 232, // 0x000000E8 - M_MAPPER_SUB_MODE_OBJ = 234, // 0x000000EA - M_MAPPER_SUB_MODE_ANIMAL = 235, // 0x000000EB - M_MAPPER_SUB_MODE_WATER = 236, // 0x000000EC - M_MAPPER_SUB_MODE_FEATURE = 237, // 0x000000ED - M_MAPPER_ESTUARY = 238, // 0x000000EE - M_MAPPER_SUB_MODE_FEATURE_MP = 239, // 0x000000EF - M_MAPPER_MP_KEEP1 = 240, // 0x000000F0 - M_MAPPER_REPORT1 = 240, // 0x000000F0 - M_MAPPER_MP_KEEP2 = 241, // 0x000000F1 - M_MAPPER_REPORT2 = 241, // 0x000000F1 - M_MAPPER_MP_KEEP3 = 242, // 0x000000F2 - M_MAPPER_REPORT3 = 242, // 0x000000F2 - M_MAPPER_MP_KEEP4 = 243, // 0x000000F3 - M_MAPPER_REPORT4 = 243, // 0x000000F3 - M_MAPPER_MP_KEEP5 = 244, // 0x000000F4 - M_MAPPER_REPORT5 = 244, // 0x000000F4 - M_MAPPER_MP_KEEP6 = 245, // 0x000000F5 - M_MAPPER_REPORT6 = 245, // 0x000000F5 - M_MAPPER_MP_KEEP7 = 246, // 0x000000F6 - M_MAPPER_REPORT7 = 246, // 0x000000F6 - M_MAPPER_MP_KEEP8 = 247, // 0x000000F7 - M_MAPPER_REPORT8 = 247, // 0x000000F7 - M_MAPPER_RUINS1 = 248, // 0x000000F8 - M_MAPPER_RUINS2 = 249, // 0x000000F9 - M_MAPPER_RUINS3 = 250, // 0x000000FA - M_MAPPER_RUINS4 = 251, // 0x000000FB - M_MAPPER_RUINS5 = 252, // 0x000000FC - M_MAPPER_RUINS6 = 253, // 0x000000FD - M_MAPPER_RUINS7 = 254, // 0x000000FE - M_MAPPER_RUINS8 = 255, // 0x000000FF - M_MAPPER_RUINS9 = 256, // 0x00000100 - M_MAPPER_RUINS10 = 257, // 0x00000101 - M_MAPPER_RUINS11 = 258, // 0x00000102 - M_MAPPER_RUINS12 = 259, // 0x00000103 - M_MAPPER_RUINS13 = 260, // 0x00000104 - M_MAPPER_UNUSED_48 = 261, // 0x00000105 - M_MAPPER_UNUSED_49 = 262, // 0x00000106 - M_MAPPER_UNUSED_50 = 263, // 0x00000107 - M_MAPPER_UNUSED_51 = 264, // 0x00000108 - M_MAPPER_UNUSED_52 = 265, // 0x00000109 - M_MAPPER_UNUSED_53 = 266, // 0x0000010A - M_MAPPER_UNUSED_54 = 267, // 0x0000010B - M_MAPPER_UNUSED_55 = 268, // 0x0000010C - M_MAPPER_UNUSED_56 = 269, // 0x0000010D - M_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E - M_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F - M_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 - M_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 - M_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 - M_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 - M_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 - M_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 - M_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 - M_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 - M_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 - M_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 - M_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A - M_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B - M_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C - M_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D - M_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E - M_MAPPER_STANCE_STAND = 287, // 0x0000011F - M_MAPPER_STANCE_DEFENSIVE = 288, // 0x00000120 - M_MAPPER_STANCE_AGGRESSIVE = 289, // 0x00000121 - M_MAPPER_TROOP_STOP = 290, // 0x00000122 - M_MAPPER_ENGINEER_BUILD = 291, // 0x00000123 - M_MAPPER_BUILD_BACK = 292, // 0x00000124 - M_MAPPER_BUY_AMMO = 293, // 0x00000125 - M_MAPPER_UNUSED_57 = 294, // 0x00000126 - M_MAPPER_UNUSED_58 = 295, // 0x00000127 - M_MAPPER_UNUSED_59 = 296, // 0x00000128 - M_MAPPER_UNUSED_60 = 297, // 0x00000129 - M_MAPPER_UNUSED_61 = 298, // 0x0000012A - M_MAPPER_UNUSED_62 = 299, // 0x0000012B - M_MAPPER_UNUSED_63 = 300, // 0x0000012C - M_MAPPER_CESS_PIT1 = 301, // 0x0000012D - M_MAPPER_CESS_PIT2 = 302, // 0x0000012E - M_MAPPER_CESS_PIT3 = 303, // 0x0000012F - M_MAPPER_CESS_PIT4 = 304, // 0x00000130 - M_MAPPER_BURNING_STAKE = 305, // 0x00000131 - M_MAPPER_GIBBET = 306, // 0x00000132 - M_MAPPER_DUNGEON = 307, // 0x00000133 - M_MAPPER_RACK_STRETCHING = 308, // 0x00000134 - M_MAPPER_RACK_FLOGGING = 309, // 0x00000135 - M_MAPPER_CHOPPING_BLOCK = 310, // 0x00000136 - M_MAPPER_DUNKING_STOOL = 311, // 0x00000137 - M_MAPPER_DOG_CAGE = 312, // 0x00000138 - M_MAPPER_STATUE1 = 313, // 0x00000139 - M_MAPPER_STATUE2 = 314, // 0x0000013A - M_MAPPER_STATUE3 = 315, // 0x0000013B - M_MAPPER_STATUE4 = 316, // 0x0000013C - M_MAPPER_STATUE5 = 317, // 0x0000013D - M_MAPPER_SHRINE1 = 318, // 0x0000013E - M_MAPPER_SHRINE2 = 319, // 0x0000013F - M_MAPPER_SHRINE3 = 320, // 0x00000140 - M_MAPPER_SHRINE4 = 321, // 0x00000141 - M_MAPPER_SHRINE5 = 322, // 0x00000142 - M_MAPPER_BEE_HIVE = 323, // 0x00000143 - M_MAPPER_DANCING_BEAR = 324, // 0x00000144 - M_MAPPER_POND1 = 325, // 0x00000145 - M_MAPPER_POND2 = 326, // 0x00000146 - M_MAPPER_POND3 = 327, // 0x00000147 - M_MAPPER_POND4 = 328, // 0x00000148 - M_MAPPER_BEAR_CAVE = 329, // 0x00000149 - M_MAPPER_WELL = 330, // 0x0000014A - M_MAPPER_AREA_BACK = 331, // 0x0000014B - M_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C - M_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D - M_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E - M_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F - M_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 - M_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 - M_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 - M_MAPPER_SUB_MENU_TOWERS = 340, // 0x00000154 - M_MAPPER_SUB_MENU_MILITARY = 341, // 0x00000155 - M_MAPPER_SUB_MENU_GATEHOUSES = 342, // 0x00000156 - M_MAPPER_SUB_MENU_KEEPS = 343, // 0x00000157 - M_MAPPER_SUB_MENU_GATEHOUSES_WOOD = 344, // 0x00000158 - M_MAPPER_SUB_MENU_GATEHOUSES_STONESMALL = 345, // 0x00000159 - M_MAPPER_SUB_MENU_GATEHOUSES_STONELARGE = 346, // 0x0000015A - M_MAPPER_SUB_MENU_GOOD = 347, // 0x0000015B - M_MAPPER_SUB_MENU_BAD = 348, // 0x0000015C - M_MAPPER_DELETE_EDITOR = 349, // 0x0000015D - M_MAPPER_MARKER_POINT1 = 350, // 0x0000015E - M_MAPPER_MARKER_POINT2 = 351, // 0x0000015F - M_MAPPER_MARKER_POINT3 = 352, // 0x00000160 - M_MAPPER_MARKER_POINT4 = 353, // 0x00000161 - M_MAPPER_MARKER_POINT5 = 354, // 0x00000162 - M_MAPPER_MARKER_POINT6 = 355, // 0x00000163 - M_MAPPER_MARKER_POINT7 = 356, // 0x00000164 - M_MAPPER_MARKER_POINT8 = 357, // 0x00000165 - M_MAPPER_MARKER_POINT9 = 358, // 0x00000166 - M_MAPPER_MARKER_POINT10 = 359, // 0x00000167 - M_MAPPER_MENU_RETURN_TOWERS = 360, // 0x00000168 - M_MAPPER_MENU_RETURN_GATEHOUSES = 361, // 0x00000169 - M_MAPPER_MENU_RETURN_MILITARY = 362, // 0x0000016A - M_MAPPER_MENU_RETURN_KEEPS = 363, // 0x0000016B - M_MAPPER_MENU_RETURN_GOOD = 364, // 0x0000016C - M_MAPPER_MENU_RETURN_BAD = 365, // 0x0000016D - M_MAPPER_PLACE_ASSEMBLY_POINTE1 = 367, // 0x0000016F - M_MAPPER_PLACE_ASSEMBLY_POINTE2 = 368, // 0x00000170 - M_MAPPER_PLACE_ASSEMBLY_POINTT1 = 369, // 0x00000171 - M_END_OF_MAPPERS = 370 // 0x00000172 - - } eMappers; - - static_assert_cpp98_obj(sizeof(eMappers) == 4, eMappers); -} // namespace SHDE -} // namespace OpenSHC diff --git a/src/OpenSHC/SHDE/eMappersInt.hpp b/src/OpenSHC/SHDE/eMappersInt.hpp deleted file mode 100644 index b77f589..0000000 --- a/src/OpenSHC/SHDE/eMappersInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/SHDE/eMappersInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/SHDE/eMappers.hpp" - -namespace OpenSHC { -namespace SHDE { - typedef int eMappersInt; - - static_assert_cpp98_obj(sizeof(eMappersInt) == 4, eMappersInt); -} // namespace SHDE -} // namespace OpenSHC diff --git a/src/OpenSHC/Text/TextManager.func.hpp b/src/OpenSHC/Text/TextManager.func.hpp index a6df8f6..a399821 100644 --- a/src/OpenSHC/Text/TextManager.func.hpp +++ b/src/OpenSHC/Text/TextManager.func.hpp @@ -2,17 +2,17 @@ path: 'OpenSHC/Text/TextManager.func.hpp' */ +#include "OpenSHC/DE/SHCDE/eTextSectionsInt.hpp" #include "OpenSHC/Rendering/Colors/BGR24.hpp" #include "OpenSHC/Text/TextAlignmentInt.hpp" #include "OpenSHC/Text/TextManager.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eTextSectionsInt.hpp" #include "WinDef.h" namespace OpenSHC { namespace Text { namespace TextManager_Func { - using OpenSHC::_SHCDE::eTextSectionsInt; + using OpenSHC::DE::SHCDE::eTextSectionsInt; using OpenSHC::Rendering::Colors::BGR24; using OpenSHC::Text::TextAlignmentInt; using OpenSHC::WindowsHelper::Enums::BOOLEnum; diff --git a/src/OpenSHC/Text/TextManager.hpp b/src/OpenSHC/Text/TextManager.hpp index 893f131..4eec06f 100644 --- a/src/OpenSHC/Text/TextManager.hpp +++ b/src/OpenSHC/Text/TextManager.hpp @@ -5,6 +5,7 @@ #pragma once +#include "OpenSHC/DE/SHCDE/eTextSectionsInt.hpp" #include "OpenSHC/Rendering/Colors/BGR24.hpp" #include "OpenSHC/Rendering/Enums/RenderTargetInt.hpp" #include "OpenSHC/Text/FontSizeClass.hpp" @@ -12,13 +13,12 @@ #include "OpenSHC/Text/TextAlignmentInt.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" #include "OpenSHC/WindowsHelper/Enums/CodePageInt.hpp" -#include "OpenSHC/_SHCDE/eTextSectionsInt.hpp" #include "WinDef.h" namespace OpenSHC { namespace Text { - using OpenSHC::_SHCDE::eTextSectionsInt; + using OpenSHC::DE::SHCDE::eTextSectionsInt; using OpenSHC::Rendering::Colors::BGR24; using OpenSHC::Rendering::Enums::RenderTargetInt; using OpenSHC::Text::FontSizeClass; diff --git a/src/OpenSHC/UI/ActiveMenuTab.hpp b/src/OpenSHC/UI/ActiveMenuTab.hpp index ab36f02..9ce31b4 100644 --- a/src/OpenSHC/UI/ActiveMenuTab.hpp +++ b/src/OpenSHC/UI/ActiveMenuTab.hpp @@ -5,14 +5,14 @@ #pragma once +#include "OpenSHC/DE/SHCDE/eInBuildingModesInt.hpp" #include "OpenSHC/UI/Enums/BuildMenuTabTypeShort.hpp" #include "OpenSHC/UI/Enums/BuildingsAndStatusMenuTabTypeInt.hpp" -#include "OpenSHC/_SHCDE/eInBuildingModesInt.hpp" namespace OpenSHC { namespace UI { - using OpenSHC::_SHCDE::eInBuildingModesInt; + using OpenSHC::DE::SHCDE::eInBuildingModesInt; using OpenSHC::UI::Enums::BuildingsAndStatusMenuTabTypeInt; using OpenSHC::UI::Enums::BuildMenuTabTypeShort; diff --git a/src/OpenSHC/UI/DisplayElement.hpp b/src/OpenSHC/UI/DisplayElement.hpp index 2f3025e..4dfbbb3 100644 --- a/src/OpenSHC/UI/DisplayElement.hpp +++ b/src/OpenSHC/UI/DisplayElement.hpp @@ -5,15 +5,15 @@ #pragma once +#include "OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp" #include "OpenSHC/UI/DisplayElementRenderFunc.hpp" #include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" #include "OpenSHC/UI/Enums/DisplayElementPositionModifierInt.hpp" -#include "OpenSHC/_SHCDE/eOnScreenTextInt.hpp" namespace OpenSHC { namespace UI { - using OpenSHC::_SHCDE::eOnScreenTextInt; + using OpenSHC::DE::SHCDE::eOnScreenTextInt; using OpenSHC::UI::DisplayElementRenderFunc; using OpenSHC::UI::Enums::DisplayElementIDInt; using OpenSHC::UI::Enums::DisplayElementPositionModifierInt; diff --git a/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp b/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp index c94a9f8..3fafd67 100644 --- a/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp +++ b/src/OpenSHC/UI/Enums/DisplayElementIDUnion.hpp @@ -5,14 +5,14 @@ #pragma once +#include "OpenSHC/DE/SHCDE/eOnScreenTextInt.hpp" #include "OpenSHC/UI/Enums/DisplayElementIDInt.hpp" -#include "OpenSHC/_SHCDE/eOnScreenTextInt.hpp" namespace OpenSHC { namespace UI { namespace Enums { - using OpenSHC::_SHCDE::eOnScreenTextInt; + using OpenSHC::DE::SHCDE::eOnScreenTextInt; using OpenSHC::UI::Enums::DisplayElementIDInt; #pragma pack(push, 1) diff --git a/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp b/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp index 59bb343..9f88d01 100644 --- a/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp +++ b/src/OpenSHC/UI/Enums/MenuViewTypeUnion.hpp @@ -5,14 +5,14 @@ #pragma once +#include "OpenSHC/DE/SHCDE/eAppModesInt.hpp" #include "OpenSHC/UI/Enums/MenuViewTypeInt.hpp" -#include "OpenSHC/_SHCDE/eAppModesInt.hpp" namespace OpenSHC { namespace UI { namespace Enums { - using OpenSHC::_SHCDE::eAppModesInt; + using OpenSHC::DE::SHCDE::eAppModesInt; using OpenSHC::UI::Enums::MenuViewTypeInt; #pragma pack(push, 1) diff --git a/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp b/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp index 47cec04..48d0dea 100644 --- a/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp +++ b/src/OpenSHC/UI/Rendering/TextureRenderCore.func.hpp @@ -2,19 +2,19 @@ path: 'OpenSHC/UI/Rendering/TextureRenderCore.func.hpp' */ +#include "OpenSHC/DE/SHCDE/eGMInt.hpp" #include "OpenSHC/IO/Graphics/GmIDInt.hpp" #include "OpenSHC/Rendering/Colors/BGR24.hpp" #include "OpenSHC/Rendering/Colors/RGB15.hpp" #include "OpenSHC/Text/FontRenderTypeInt.hpp" #include "OpenSHC/UI/Rendering/TextureRenderCore.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eGMInt.hpp" namespace OpenSHC { namespace UI { namespace Rendering { namespace TextureRenderCore_Func { - using OpenSHC::_SHCDE::eGMInt; + using OpenSHC::DE::SHCDE::eGMInt; using OpenSHC::IO::Graphics::GmIDInt; using OpenSHC::Rendering::Colors::BGR24; using OpenSHC::Rendering::Colors::RGB15; diff --git a/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp b/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp index 3bde929..1ff3881 100644 --- a/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp +++ b/src/OpenSHC/UI/Rendering/TextureRenderCore.hpp @@ -5,6 +5,7 @@ #pragma once +#include "OpenSHC/DE/SHCDE/eGMInt.hpp" #include "OpenSHC/IO/Graphics/GMFileHeaderColorpalette.hpp" #include "OpenSHC/IO/Graphics/GfxRef.hpp" #include "OpenSHC/IO/Graphics/GmIDInt.hpp" @@ -14,14 +15,13 @@ #include "OpenSHC/Text/FontRenderTypeInt.hpp" #include "OpenSHC/UI/Rendering/Range.hpp" #include "OpenSHC/WindowsHelper/Enums/BOOLEnum.hpp" -#include "OpenSHC/_SHCDE/eGMInt.hpp" #include "WinDef.h" namespace OpenSHC { namespace UI { namespace Rendering { - using OpenSHC::_SHCDE::eGMInt; + using OpenSHC::DE::SHCDE::eGMInt; using OpenSHC::IO::Graphics::GfxRef; using OpenSHC::IO::Graphics::GMFileHeaderColorpalette; using OpenSHC::IO::Graphics::GmIDInt; diff --git a/src/OpenSHC/_SHCDE/eAppModes.hpp b/src/OpenSHC/_SHCDE/eAppModes.hpp deleted file mode 100644 index 5ac40ed..0000000 --- a/src/OpenSHC/_SHCDE/eAppModes.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eAppModes.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eAppModes { - - APP_MODE_MANAGER = 10, // 0x0000000A - APP_MODE_EDITOR = 11, // 0x0000000B - APP_MODE_TEST_MAP = 12, // 0x0000000C - APP_MODE_MAIN_GAME = 14, // 0x0000000E - APP_MODE_IN_BUILDING = 16, // 0x00000010 - APP_MODE_EDIT_MAP = 17, // 0x00000011 - APP_MODE_NEW_MAP = 18, // 0x00000012 - APP_MODE_XPLAY_CONNECT = 19, // 0x00000013 - APP_MODE_XPLAY_WAITING_ROOM = 20, // 0x00000014 - APP_MODE_XPLAY_CONNECT_GAMESPY = 21, // 0x00000015 - APP_MODE_HELP = 22, // 0x00000016 - APP_MODE_MAIN_OPTIONS = 23, // 0x00000017 - APP_MODE_1PLAYER_OPTIONS = 24, // 0x00000018 - APP_MODE_NEW_CAMPAIGN_LEVEL = 25, // 0x00000019 - APP_MODE_NARRATIVE = 26, // 0x0000001A - APP_MODE_MAP_SCREEN = 27, // 0x0000001B - APP_MODE_BRIEFING = 28, // 0x0000001C - APP_MODE_WIN_MISSION = 29, // 0x0000001D - APP_MODE_FAIL_MISSION = 30, // 0x0000001E - APP_MODE_NEW_MAP2 = 31, // 0x0000001F - APP_MODE_NEW_MAP3 = 32, // 0x00000020 - APP_MODE_XPLAY_WAIT_FOR_SYNC = 33, // 0x00000021 - APP_MODE_STAND_ALONE_OPTIONS = 35, // 0x00000023 - APP_MODE_EDIT_INVASIONS = 36, // 0x00000024 - APP_MODE_NEW_MAP4 = 37, // 0x00000025 - APP_MODE_DIFFICULTY_LEVEL = 38, // 0x00000026 - APP_MODE_ECO_DIFFICULTY_LEVEL = 39, // 0x00000027 - APP_MODE_NEW_FRONTEND1 = 40, // 0x00000028 - APP_MODE_NEW_FRONTEND2 = 41, // 0x00000029 - APP_MODE_NEW_FRONTEND_COMBAT = 42, // 0x0000002A - APP_MODE_NEW_FRONTEND_ECONOMICS = 43, // 0x0000002B - APP_MODE_NEW_FRONTEND_BUILDER = 44, // 0x0000002C - APP_MODE_CREDITS = 45, // 0x0000002D - APP_MODE_NET_DEMO_SCREEN = 46, // 0x0000002E - APP_MODE_SIEGE_THAT = 47, // 0x0000002F - APP_MODE_INTRO_BINK = 48, // 0x00000030 - APP_MODE_DUMMY = 49, // 0x00000031 - APP_MODE_MISSION_START1 = 50, // 0x00000032 - APP_MODE_MISSION_START2 = 51, // 0x00000033 - APP_MODE_CAMPAIGN_START = 52, // 0x00000034 - APP_MODE_CAMPAIGN_END = 53, // 0x00000035 - APP_MODE_SKIRMISH_OPP = 54, // 0x00000036 - APP_MODE_SKIRMISH_CHOICE = 55, // 0x00000037 - APP_MODE_SKIRMISH_BRIEF = 56, // 0x00000038 - APP_MODE_SKIRMISH_TRAIL = 57, // 0x00000039 - APP_MODE_SKIRMISH_MASTERS = 58, // 0x0000003A - APP_MODE_NOT_SEEING = 59, // 0x0000003B - APP_MODE_ASK_FOR_DISC = 60, // 0x0000003C - APP_MODE_XPLAY_FAKE = 61, // 0x0000003D - APP_MODE_SKTRAIL_WIN = 62, // 0x0000003E - APP_MODE_SCN_SCENARIO_EDITOR = 1002 // 0x000003EA - - } eAppModes; - - static_assert_cpp98_obj(sizeof(eAppModes) == 4, eAppModes); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eAppModesInt.hpp b/src/OpenSHC/_SHCDE/eAppModesInt.hpp deleted file mode 100644 index a7e8245..0000000 --- a/src/OpenSHC/_SHCDE/eAppModesInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eAppModesInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eAppModes.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eAppModesInt; - - static_assert_cpp98_obj(sizeof(eAppModesInt) == 4, eAppModesInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eGM.hpp b/src/OpenSHC/_SHCDE/eGM.hpp deleted file mode 100644 index 954092e..0000000 --- a/src/OpenSHC/_SHCDE/eGM.hpp +++ /dev/null @@ -1,229 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eGM.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eGM { - - GM_LAND = 2, // 0x00000002 - GM_PILLARS = 3, // 0x00000003 - GM_SEA_CHEVRONS = 4, // 0x00000004 - GM_SEA = 5, // 0x00000005 - GM_BUILDINGS1 = 6, // 0x00000006 - GM_BUILDINGS2 = 7, // 0x00000007 - GM_WORKSHOPS = 8, // 0x00000008 - GM_CLIFFS = 9, // 0x00000009 - GM_WALLS = 10, // 0x0000000A - GM_SPECIAL_LAND = 11, // 0x0000000B - GM_MISC_LAND = 12, // 0x0000000C - GM_RIVERS = 13, // 0x0000000D - GM_FARMLAND = 14, // 0x0000000E - GM_GOODS = 15, // 0x0000000F - GM_FLOATS = 16, // 0x00000010 - GM_BODY_PEASANT = 17, // 0x00000011 - GM_BODY_ARCHER = 18, // 0x00000012 - GM_BODY_WOODCUTTER = 19, // 0x00000013 - GM_BODY_FLETCHER = 20, // 0x00000014 - GM_BODY_OXCART = 21, // 0x00000015 - GM_BUILDING_ANIMS2 = 22, // 0x00000016 - GM_SMOKE_ANIMS = 23, // 0x00000017 - GM_55X55_ANIMS = 24, // 0x00000018 - GM_QUARRY_ANIMS = 25, // 0x00000019 - GM_WINDMILL_ANIMS = 26, // 0x0000001A - GM_FLETCHER_ANIMS = 27, // 0x0000001B - GM_GOODS_ANIMS = 28, // 0x0000001C - GM_TREE_BIRCH = 29, // 0x0000001D - GM_TREE_PINE = 30, // 0x0000001E - GM_TREE_CHESTNUT = 31, // 0x0000001F - GM_BODY_STONEMASON = 32, // 0x00000020 - GM_BODY_FARMER = 33, // 0x00000021 - GM_BODY_MISSILE = 34, // 0x00000022 - GM_BODY_LADDERMAN = 35, // 0x00000023 - GM_BODY_BAKER = 36, // 0x00000024 - GM_BODY_MILLER = 37, // 0x00000025 - GM_DATA = 38, // 0x00000026 - GM_BODY_SPEARMAN = 39, // 0x00000027 - GM_BODY_PIKEMAN = 40, // 0x00000028 - GM_BODY_CROSSBOWMAN = 41, // 0x00000029 - GM_BODY_SWORDSMAN = 42, // 0x0000002A - GM_BODY_MACEMAN = 43, // 0x0000002B - GM_BODY_KNIGHT = 44, // 0x0000002C - GM_INTERFACE_BUTTONS = 45, // 0x0000002D - GM_INTERFACE_ICONS2 = 46, // 0x0000002E - GM_MINE_ANIMS = 47, // 0x0000002F - GM_TILE_BURNT = 48, // 0x00000030 - GM_CHURCHS = 49, // 0x00000031 - GM_INTERFACE_PANELS = 50, // 0x00000032 - GM_WORKSHOP_BREW_ANIMS = 51, // 0x00000033 - GM_CASTLES = 52, // 0x00000034 - GM_BODY_BREWER = 53, // 0x00000035 - GM_CASTLE_ANIMS = 54, // 0x00000036 - GM_MACRO_LAND = 55, // 0x00000037 - GM_ROCKS = 56, // 0x00000038 - GM_ROCKS_CHEVRONS = 57, // 0x00000039 - GM_WORKSHOP_SMITH_ANIMS = 58, // 0x0000003A - GM_BODY_BLACKSMITH = 59, // 0x0000003B - GM_LAND_AND_STONES = 60, // 0x0000003C - GM_BODY_IRONMINER = 61, // 0x0000003D - GM_BODY_CATAPULT = 62, // 0x0000003E - GM_BODY_COW = 63, // 0x0000003F - GM_WORKSHOP_POLE_ANIMS = 64, // 0x00000040 - GM_PITCH_ANIMS = 65, // 0x00000041 - GM_WORKSHOP_BAKER_ANIMS = 66, // 0x00000042 - GM_WOODCUTTER_ANIMS = 67, // 0x00000043 - GM_DRAWBRIDGE_ANIMS = 68, // 0x00000044 - GM_WORKSHOP_TANNER_ANIMS = 69, // 0x00000045 - GM_TREE_OAK = 70, // 0x00000046 - GM_TREE_SHRUB1 = 71, // 0x00000047 - GM_TREE_SHRUB2 = 72, // 0x00000048 - GM_BODY_PITCHWORKER = 73, // 0x00000049 - GM_BODY_POLETURNER = 74, // 0x0000004A - GM_BODY_TANNER = 75, // 0x0000004B - GM_FLAG_ANIMS = 76, // 0x0000004C - GM_BODY_TRADER_HORSE = 77, // 0x0000004D - GM_BODY_TRADER = 78, // 0x0000004E - GM_ICONS = 79, // 0x0000004F - GM_ICONS_ALPHA = 80, // 0x00000050 - GM_BODY_DRUNKARD = 81, // 0x00000051 - GM_BODY_TENT = 82, // 0x00000052 - GM_BODY_MANGONEL = 83, // 0x00000053 - GM_BODY_TREBUCHET = 84, // 0x00000054 - GM_FLOAT_POP_CIRC = 85, // 0x00000055 - GM_BODY_SIEGE_ENGINEER = 86, // 0x00000056 - GM_FONT_STRONGHOLD_AA = 87, // 0x00000057 - GM_FARMER_ANIMS = 88, // 0x00000058 - GM_BODY_HUNTER = 89, // 0x00000059 - GM_HUNTER_ANIMS = 90, // 0x0000005A - GM_BODY_DEER = 91, // 0x0000005B - GM_BODY_LION = 92, // 0x0000005C - GM_BODY_RABBIT = 93, // 0x0000005D - GM_BODY_CAMEL = 94, // 0x0000005E - GM_BODY_DOG = 95, // 0x0000005F - GM_BODY_PRIEST = 96, // 0x00000060 - GM_TREE_APPLE = 97, // 0x00000061 - GM_STABLE_ANIMS = 98, // 0x00000062 - GM_BODY_LADY = 99, // 0x00000063 - GM_BODY_LORD = 100, // 0x00000064 - GM_BODY_JESTER = 101, // 0x00000065 - GM_BODY_ARMOURER = 102, // 0x00000066 - GM_ARMOURER_ANIMS = 103, // 0x00000067 - GM_SHEILD_ANIMS = 104, // 0x00000068 - GM_ANIM_TUNNELERS_GUILD = 105, // 0x00000069 - GM_BODY_TUNNELER = 106, // 0x0000006A - GM_CURSORS = 107, // 0x0000006B - GM_MAPEDIT_BUTTONS = 108, // 0x0000006C - GM_BODY_FIGHTING_MONK = 109, // 0x0000006D - GM_OIL_ANIMS = 113, // 0x00000071 - GM_GALLOWS_ANIMS = 114, // 0x00000072 - GM_MAYPOLE_ANIMS = 115, // 0x00000073 - GM_BODY_OIL = 116, // 0x00000074 - GM_FONT_STRONGHOLD = 117, // 0x00000075 - GM_BODY_FIRE = 118, // 0x00000076 - GM_BODY_BURNING_MAN = 119, // 0x00000077 - GM_BODY_BALLISTA = 120, // 0x00000078 - GM_BODY_SHIELD = 121, // 0x00000079 - GM_BODY_MISSILE_2 = 122, // 0x0000007A - GM_BODY_BATTERING_RAM = 123, // 0x0000007B - GM_BODY_SIEGE_TOWER = 124, // 0x0000007C - GM_BODY_STEAM = 125, // 0x0000007D - GM_BODY_CHICKEN = 126, // 0x0000007E - GM_BODY_MOTHER = 127, // 0x0000007F - GM_BODY_BOY = 128, // 0x00000080 - GM_BODY_GIRL = 129, // 0x00000081 - GM_ANIM_TUNNELS = 130, // 0x00000082 - GM_BODY_JUGGLER = 131, // 0x00000083 - GM_BODY_FIREEATER = 132, // 0x00000084 - GM_BODY_HEALER = 133, // 0x00000085 - GM_BODY_DISEASE = 134, // 0x00000086 - GM_BODY_MISSILE_COW = 135, // 0x00000087 - GM_CRACKS = 136, // 0x00000088 - GM_BODY_GATE = 137, // 0x00000089 - GM_BODY_BRAZIER = 138, // 0x0000008A - GM_KILLING_PITS = 139, // 0x0000008B - GM_PITCH_DITCHES = 140, // 0x0000008C - GM_BLAST = 141, // 0x0000008D - GM_SCRIBE = 142, // 0x0000008E - GM_ANIM_ICON_KNIGHT = 143, // 0x0000008F - GM_BODY_FIRE2 = 144, // 0x00000090 - GM_ANIM_MISSILE_FIRE = 145, // 0x00000091 - GM_FONT_SLANTED = 146, // 0x00000092 - GM_BODY_INNKEEPER = 147, // 0x00000093 - GM_ICONS_FRONT_END = 148, // 0x00000094 - GM_TILE_RUINS = 149, // 0x00000095 - GM_ICONS_FRONT_END_COMBAT = 150, // 0x00000096 - GM_ICONS_FRONT_END_ECONOMICS = 151, // 0x00000097 - GM_ICONS_FRONT_END_BUILDER = 152, // 0x00000098 - GM_MINI_CURSORS = 153, // 0x00000099 - GM_BODY_CHICKEN_BROWN = 154, // 0x0000009A - GM_ANIM_MARKET = 155, // 0x0000009B - GM_INTERFACE_ICONS3 = 156, // 0x0000009C - GM_TILE_FLATTIES = 157, // 0x0000009D - GM_ROCK_CHIPS = 158, // 0x0000009E - GM_ANIM_DUNKING_STOOL = 159, // 0x0000009F - GM_ANIM_DUNGEON = 160, // 0x000000A0 - GM_ANIM_GIBBET = 161, // 0x000000A1 - GM_ANIM_HEALER = 162, // 0x000000A2 - GM_ANIM_STOCKS = 163, // 0x000000A3 - GM_INTERFACE_SLIDER = 164, // 0x000000A4 - GM_MAP_FLAGS = 165, // 0x000000A5 - GM_NEW_SEA = 166, // 0x000000A6 - GM_BODY_SEAGULL = 167, // 0x000000A7 - GM_BODY_CROW = 168, // 0x000000A8 - GM_PUFF_OF_SMOKE = 169, // 0x000000A9 - GM_BODY_SPLASH = 170, // 0x000000AA - GM_ANIM_INN = 171, // 0x000000AB - GM_FLOATS_NEW = 172, // 0x000000AC - GM_ANIM_WHITECAPS = 173, // 0x000000AD - GM_ARMY_UNITS = 174, // 0x000000AE - GM_ANIM_STAKE = 175, // 0x000000AF - GM_ANIM_KILLING_PITS = 176, // 0x000000B0 - GM_ENEMY_FACES = 177, // 0x000000B1 - GM_ANIM_RACK = 178, // 0x000000B2 - GM_ANIM_DOG_CAGE = 179, // 0x000000B3 - GM_ANIM_DANCING_BEAR = 180, // 0x000000B4 - GM_ANIM_CHOPPING_BLOCK = 181, // 0x000000B5 - GM_BODY_FIREMAN = 182, // 0x000000B6 - GM_INTERFACE_ARMY = 183, // 0x000000B7 - GM_INTERFACE_RUINS = 184, // 0x000000B8 - GM_BODY_ANIMAL_BURNING_BIG = 185, // 0x000000B9 - GM_BODY_ANIMAL_BURNING_SMALL = 186, // 0x000000BA - GM_ANIM_HEADS = 187, // 0x000000BB - GM_BODY_GHOST = 188, // 0x000000BC - GM_ANIM_FLAG_SMALL = 189, // 0x000000BD - GM_BODY_ARAB_BOW = 190, // 0x000000BE - GM_BODY_ARAB_SLAVE = 191, // 0x000000BF - GM_BODY_ARAB_SLINGER = 192, // 0x000000C0 - GM_BODY_ARAB_ASSASIN = 193, // 0x000000C1 - GM_BODY_ARAB_HORSEMAN = 194, // 0x000000C2 - GM_BODY_ARAB_SWORDSMAN = 195, // 0x000000C3 - GM_BODY_ARAB_GRENADIER = 196, // 0x000000C4 - GM_BODY_ARAB_BALLISTA = 197, // 0x000000C5 - GM_ASSASIN_ROPE = 198, // 0x000000C6 - GM_BODY_ARAB_HORSE = 199, // 0x000000C7 - GM_TREE_CACTII = 200, // 0x000000C8 - GM_ANIM_CRUSADER_FLAG = 201, // 0x000000C9 - GM_BODY_INFO = 202, // 0x000000CA - GM_BODY_WOLF = 203, // 0x000000CB - GM_BODY_ARABIC_LORD = 205, // 0x000000CD - GM_ADDITIONAL_GFX = 207, // 0x000000CF - GM_BODY_BEDOUIN_CAMEL_LANCER = 208, // 0x000000D0 - GM_BODY_BEDOUIN_HEALER = 209, // 0x000000D1 - GM_BODY_BEDOUIN_EUNUCH = 210, // 0x000000D2 - GM_BODY_BEDOUIN_AMBUSHER = 211, // 0x000000D3 - GM_BODY_BEDOUIN_SKIRMISHER = 212, // 0x000000D4 - GM_BODY_BEDOUIN_HEAVY_CAMEL = 213, // 0x000000D5 - GM_BODY_BEDOUIN_SAPPER = 214, // 0x000000D6 - GM_BODY_BEDOUIN_DEMOLISHER = 215, // 0x000000D7 - GM_FLOAT_POP_CIRC_2 = 218, // 0x000000DA - GM_BODY_MISSILE_FIREPOT = 219, // 0x000000DB - GM_BODY_JAVELIN = 220 // 0x000000DC - - } eGM; - - static_assert_cpp98_obj(sizeof(eGM) == 4, eGM); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eGMInt.hpp b/src/OpenSHC/_SHCDE/eGMInt.hpp deleted file mode 100644 index 4f63608..0000000 --- a/src/OpenSHC/_SHCDE/eGMInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eGMInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eGM.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eGMInt; - - static_assert_cpp98_obj(sizeof(eGMInt) == 4, eGMInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eInBuildingModes.hpp b/src/OpenSHC/_SHCDE/eInBuildingModes.hpp deleted file mode 100644 index 5232093..0000000 --- a/src/OpenSHC/_SHCDE/eInBuildingModes.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eInBuildingModes.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eInBuildingModes { - - IBM_INSIDE_NULL = 0, // 0x00000000 - IBM_INSIDE_BARRACKS = 1, // 0x00000001 - IBM_INSIDE_KEEP = 2, // 0x00000002 - IBM_INSIDE_INN = 3, // 0x00000003 - IBM_INSIDE_GRANARY = 4, // 0x00000004 - IBM_INSIDE_HOUSE = 5, // 0x00000005 - IBM_INSIDE_WOODCUTTERS_HUT = 6, // 0x00000006 - IBM_INSIDE_OXEN_BASE = 7, // 0x00000007 - IBM_INSIDE_IRON_MINE = 8, // 0x00000008 - IBM_INSIDE_PITCH_DIGGER = 9, // 0x00000009 - IBM_INSIDE_HUNTERS_HUT = 10, // 0x0000000A - IBM_INSIDE_GOODS_YARD = 11, // 0x0000000B - IBM_INSIDE_ARMOURY = 12, // 0x0000000C - IBM_INSIDE_FLETCHERS_WORKSHOP = 13, // 0x0000000D - IBM_INSIDE_BLACKSMITHS_WORKSHOP = 14, // 0x0000000E - IBM_INSIDE_POLETURNERS_WORKSHOP = 15, // 0x0000000F - IBM_INSIDE_ARMOURERS_WORKSHOP = 16, // 0x00000010 - IBM_INSIDE_TANNERS_WORKSHOP = 17, // 0x00000011 - IBM_INSIDE_BAKERS_WORKSHOP = 18, // 0x00000012 - IBM_INSIDE_BREWERS_WORKSHOP = 19, // 0x00000013 - IBM_INSIDE_QUARRY = 20, // 0x00000014 - IBM_INSIDE_QUARRYPILE = 21, // 0x00000015 - IBM_INSIDE_HEALERS = 22, // 0x00000016 - IBM_INSIDE_ENGINEERS_GUILD = 23, // 0x00000017 - IBM_INSIDE_TUNNELLERS_GUILD = 24, // 0x00000018 - IBM_INSIDE_TRADEPOST = 25, // 0x00000019 - IBM_INSIDE_WELL = 26, // 0x0000001A - IBM_INSIDE_OIL_SMELTER = 27, // 0x0000001B - IBM_INSIDE_SIEGE_TENT = 28, // 0x0000001C - IBM_INSIDE_WHEATFARM = 29, // 0x0000001D - IBM_INSIDE_HOPSFARM = 30, // 0x0000001E - IBM_INSIDE_APPLEFARM = 31, // 0x0000001F - IBM_INSIDE_CATTLEFARM = 32, // 0x00000020 - IBM_INSIDE_MILL = 33, // 0x00000021 - IBM_INSIDE_STABLES = 34, // 0x00000022 - IBM_INSIDE_CHURCH = 35, // 0x00000023 - IBM_INSIDE_GATEHOUSE = 36, // 0x00000024 - IBM_INSIDE_DRAWBRIDGE = 37, // 0x00000025 - IBM_INSIDE_POSTERN_GATE = 38, // 0x00000026 - IBM_INSIDE_TUNNEL_ENTERANCE = 39, // 0x00000027 - IBM_INSIDE_WATERPOT = 40, // 0x00000028 - IBM_INSIDE_SIGNPOST = 41, // 0x00000029 - IBM_INSIDE_KILLING_PIT = 42, // 0x0000002A - IBM_INSIDE_CAMPGROUND = 43, // 0x0000002B - IBM_INSIDE_MERCPOST = 44, // 0x0000002C - IBM_INSIDE_OUTPOST = 45, // 0x0000002D - IBM_INSIDE_TOWER = 46, // 0x0000002E - IBM_INSIDE_GALLOWS = 47, // 0x0000002F - IBM_INSIDE_STOCKS = 48, // 0x00000030 - IBM_INSIDE_WITCH_HOIST = 49, // 0x00000031 - IBM_INSIDE_MAYPOLE = 50, // 0x00000032 - IBM_INSIDE_GARDEN = 51, // 0x00000033 - IBM_INSIDE_PARADEGROUND = 52, // 0x00000034 - IBM_INSIDE_TRADEPOST_PRICES = 53, // 0x00000035 - IBM_INSIDE_TRADEPOST_FOOD = 54, // 0x00000036 - IBM_INSIDE_TRADEPOST_BULK = 55, // 0x00000037 - IBM_INSIDE_TRADEPOST_ARMS = 56, // 0x00000038 - IBM_INSIDE_TRADEPOST_DO_THE_TRADE = 57, // 0x00000039 - IBM_INSIDE_CATAPULT = 58, // 0x0000003A - IBM_INSIDE_TREBUCHET = 59, // 0x0000003B - IBM_INSIDE_SIEGE_TOWER = 60, // 0x0000003C - IBM_INSIDE_BATTERING_RAM = 61, // 0x0000003D - IBM_INSIDE_PORTABLE_SHIELD = 62, // 0x0000003E - IBM_INSIDE_BEDOUIN_STOCKADE = 63, // 0x0000003F - IBM_SUB_MODE_REPORTS_ARMY4 = 66, // 0x00000042 - IBM_SUB_MODE_REPORTS_ARMY3 = 67, // 0x00000043 - IBM_SUB_MODE_REPORTS_ARMY2 = 68, // 0x00000044 - IBM_SUB_MODE_REPORTS_EVENTS = 69, // 0x00000045 - IBM_INSIDE_CHIMP = 70, // 0x00000046 - IBM_SUB_MODE_REPORTS = 71, // 0x00000047 - IBM_SUB_MODE_REPORTS_POPULARITY = 72, // 0x00000048 - IBM_SUB_MODE_REPORTS_FEARFACTOR = 73, // 0x00000049 - IBM_SUB_MODE_REPORTS_POPULATION = 74, // 0x0000004A - IBM_SUB_MODE_REPORTS_FOOD = 75, // 0x0000004B - IBM_SUB_MODE_REPORTS_ARMY = 76, // 0x0000004C - IBM_SUB_MODE_REPORTS_STORES = 77, // 0x0000004D - IBM_SUB_MODE_REPORTS_WEAPONS = 78, // 0x0000004E - IBM_SUB_MODE_REPORTS_RELIGION = 79, // 0x0000004F - IBM_INSIDE_CESS_PIT = 80, // 0x00000050 - IBM_INSIDE_BURNING_STAKE = 81, // 0x00000051 - IBM_INSIDE_GIBBET = 82, // 0x00000052 - IBM_INSIDE_DUNGEON = 83, // 0x00000053 - IBM_INSIDE_STRETCHING_RACK = 84, // 0x00000054 - IBM_INSIDE_FLOGGING_RACK = 85, // 0x00000055 - IBM_INSIDE_CHOPPING_BLOCK = 86, // 0x00000056 - IBM_INSIDE_DUNKING_STOOL = 87, // 0x00000057 - IBM_INSIDE_DOG_CAGE = 88, // 0x00000058 - IBM_INSIDE_STATUE = 89, // 0x00000059 - IBM_INSIDE_SHRINE = 90, // 0x0000005A - IBM_INSIDE_BEEHIVE = 91, // 0x0000005B - IBM_INSIDE_DANCING_BEAR = 92, // 0x0000005C - IBM_INSIDE_POND = 93, // 0x0000005D - IBM_INSIDE_BEAR_CAVE = 94, // 0x0000005E - IBM_INSIDE_ARAB_BALLISTA = 95, // 0x0000005F - IBM_INSIDE_CATHEDRAL = 96 // 0x00000060 - - } eInBuildingModes; - - static_assert_cpp98_obj(sizeof(eInBuildingModes) == 4, eInBuildingModes); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp b/src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp deleted file mode 100644 index 2c9dbc1..0000000 --- a/src/OpenSHC/_SHCDE/eInBuildingModesInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eInBuildingModesInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eInBuildingModes.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eInBuildingModesInt; - - static_assert_cpp98_obj(sizeof(eInBuildingModesInt) == 4, eInBuildingModesInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMappers.hpp b/src/OpenSHC/_SHCDE/eMappers.hpp deleted file mode 100644 index 657b373..0000000 --- a/src/OpenSHC/_SHCDE/eMappers.hpp +++ /dev/null @@ -1,508 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eMappers.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eMappers { - - M_MAPPER_NULL = 0, // 0x00000000 - M_MAPPER_AREA = 1, // 0x00000001 - M_MAPPER_RAISE = 2, // 0x00000002 - M_MAPPER_LOWER = 3, // 0x00000003 - M_MAPPER_SEA = 4, // 0x00000004 - M_MAPPER_LAND = 5, // 0x00000005 - M_MAPPER_FOREST = 6, // 0x00000006 - M_MAPPER_SCRUB = 7, // 0x00000007 - M_MAPPER_BEACH = 8, // 0x00000008 - M_MAPPER_SHALLOWS = 9, // 0x00000009 - M_MAPPER_ROCKY = 10, // 0x0000000A - M_MAPPER_STONES = 11, // 0x0000000B - M_MAPPER_BOULDERS = 12, // 0x0000000C - M_MAPPER_PEBBLES = 13, // 0x0000000D - M_MAPPER_RIVER = 14, // 0x0000000E - M_MAPPER_FORD = 15, // 0x0000000F - M_MAPPER_IRON = 16, // 0x00000010 - M_MAPPER_MARSH = 17, // 0x00000011 - M_MAPPER_DIRT = 18, // 0x00000012 - M_MAPPER_GRASS = 19, // 0x00000013 - M_MAPPER_BIGROCKS = 20, // 0x00000014 - M_MAPPER_DOWN = 20, // 0x00000014 - M_MAPPER_MIN = 21, // 0x00000015 - M_MAPPER_MAX = 22, // 0x00000016 - M_MAPPER_EQUALISE = 23, // 0x00000017 - M_MAPPER_PLATEAU = 24, // 0x00000018 - M_MAPPER_WALL = 25, // 0x00000019 - M_MAPPER_CRENAL = 26, // 0x0000001A - M_MAPPER_STAIR = 27, // 0x0000001B - M_MAPPER_TOWER = 28, // 0x0000001C - M_MAPPER_UP = 29, // 0x0000001D - M_MAPPER_EXIT = 31, // 0x0000001F - M_MAPPER_TOMAIN = 32, // 0x00000020 - M_MAPPER_TOTEST = 33, // 0x00000021 - M_MAPPER_PATROL = 34, // 0x00000022 - M_MAPPER_CRENAL2 = 35, // 0x00000023 - M_MAPPER_MOUNTAIN = 36, // 0x00000024 - M_MAPPER_HILL = 37, // 0x00000025 - M_MAPPER_AFFECT_TYPE = 38, // 0x00000026 - M_MAPPER_DELETE = 39, // 0x00000027 - M_MAPPER_CHESTNUT = 40, // 0x00000028 - M_MAPPER_OAK = 41, // 0x00000029 - M_MAPPER_PINE = 42, // 0x0000002A - M_MAPPER_BIRCH = 43, // 0x0000002B - M_MAPPER_UNDUGMOAT = 44, // 0x0000002C - M_MAPPER_DUGMOAT = 45, // 0x0000002D - M_MAPPER_WOODWALL = 46, // 0x0000002E - M_MAPPER_PLAIN1 = 47, // 0x0000002F - M_MAPPER_PLAIN2 = 48, // 0x00000030 - M_MAPPER_OIL = 49, // 0x00000031 - M_MAPPER_FLETCHER = 50, // 0x00000032 - M_MAPPER_WOODSMAN = 51, // 0x00000033 - M_MAPPER_STORES = 52, // 0x00000034 - M_MAPPER_OUTPOST_BEDOUIN = 53, // 0x00000035 - M_MAPPER_HOVEL = 54, // 0x00000036 - M_MAPPER_OXENBASE = 55, // 0x00000037 - M_MAPPER_QUARRY = 56, // 0x00000038 - M_MAPPER_TUNNEL = 57, // 0x00000039 - M_MAPPER_CAMP_FIRE = 58, // 0x0000003A - M_MAPPER_SIGNPOST = 59, // 0x0000003B - M_MAPPER_KEEP1 = 60, // 0x0000003C - M_MAPPER_KEEP2 = 61, // 0x0000003D - M_MAPPER_KEEP3 = 62, // 0x0000003E - M_MAPPER_KEEP4 = 63, // 0x0000003F - M_MAPPER_KEEP5 = 64, // 0x00000040 - M_MAPPER_STABLES = 65, // 0x00000041 - M_MAPPER_TUNNEL_CONSTRUCTION = 66, // 0x00000042 - M_MAPPER_UNUSED_2 = 68, // 0x00000044 - M_MAPPER_UNUSED_3 = 69, // 0x00000045 - M_MAPPER_WHEATFARM = 70, // 0x00000046 - M_MAPPER_HOPSFARM = 71, // 0x00000047 - M_MAPPER_APPLEFARM = 72, // 0x00000048 - M_MAPPER_CATTLEFARM = 73, // 0x00000049 - M_MAPPER_MILL = 74, // 0x0000004A - M_MAPPER_BAKER = 75, // 0x0000004B - M_MAPPER_BREWER = 76, // 0x0000004C - M_MAPPER_TRADEPOST = 77, // 0x0000004D - M_MAPPER_HUNTER = 78, // 0x0000004E - M_MAPPER_BEDOUIN_STOCKADE = 79, // 0x0000004F - M_MAPPER_GRANARY = 80, // 0x00000050 - M_MAPPER_ARMOURY = 81, // 0x00000051 - M_MAPPER_POLETURNER = 82, // 0x00000052 - M_MAPPER_BLACKSMITH = 83, // 0x00000053 - M_MAPPER_ARMOURER = 84, // 0x00000054 - M_MAPPER_TANNER = 85, // 0x00000055 - M_MAPPER_BARRACKS_WOOD = 86, // 0x00000056 - M_MAPPER_BARRACKS_STONE = 87, // 0x00000057 - M_MAPPER_ENGINEERS_GUILD = 88, // 0x00000058 - M_MAPPER_TUNNELERS_GUILD = 89, // 0x00000059 - M_MAPPER_IRON_MINE = 90, // 0x0000005A - M_MAPPER_PITCH_WORKINGS = 91, // 0x0000005B - M_MAPPER_INN = 92, // 0x0000005C - M_MAPPER_HEALER = 93, // 0x0000005D - M_MAPPER_SIEGE_TOWER_BASE = 94, // 0x0000005E - M_MAPPER_CHURCH1 = 95, // 0x0000005F - M_MAPPER_CHURCH2 = 96, // 0x00000060 - M_MAPPER_CHURCH3 = 97, // 0x00000061 - M_MAPPER_KILLING_PIT = 98, // 0x00000062 - M_MAPPER_PITCH_DITCH = 99, // 0x00000063 - M_MAPPER_GATEHOUSE = 100, // 0x00000064 - M_MAPPER_GATE_MAIN = 101, // 0x00000065 - M_MAPPER_GATE_INNER = 102, // 0x00000066 - M_MAPPER_GATE_WOOD = 103, // 0x00000067 - M_MAPPER_GATE_POSTERN = 104, // 0x00000068 - M_MAPPER_DRAWBRIDGE = 105, // 0x00000069 - M_MAPPER_MOAT = 106, // 0x0000006A - M_MAPPER_ANTIMOAT = 107, // 0x0000006B - M_MAPPER_GENERIC = 108, // 0x0000006C - M_MAPPER_QUARRYPILE = 109, // 0x0000006D - M_MAPPER_TOWER1 = 110, // 0x0000006E - M_MAPPER_TOWER2 = 111, // 0x0000006F - M_MAPPER_TOWER3 = 112, // 0x00000070 - M_MAPPER_TOWER4 = 113, // 0x00000071 - M_MAPPER_TOWER5 = 114, // 0x00000072 - M_MAPPER_TOWER1_DESTROYED = 115, // 0x00000073 - M_MAPPER_TOWER2_DESTROYED = 116, // 0x00000074 - M_MAPPER_TOWER3_DESTROYED = 117, // 0x00000075 - M_MAPPER_TOWER4_DESTROYED = 118, // 0x00000076 - M_MAPPER_TOWER5_DESTROYED = 119, // 0x00000077 - M_MAPPER_FLAG_TYPE0 = 120, // 0x00000078 - M_MAPPER_FLAG_TYPE1 = 121, // 0x00000079 - M_MAPPER_FLAG_TYPE2 = 122, // 0x0000007A - M_MAPPER_FLAG_TYPE3 = 123, // 0x0000007B - M_MAPPER_FLAG_TYPE4 = 124, // 0x0000007C - M_MAPPER_FLAG_TYPE5 = 125, // 0x0000007D - M_MAPPER_FLAG_TYPE6 = 126, // 0x0000007E - M_MAPPER_FLAG_TYPE7 = 127, // 0x0000007F - M_MAPPER_FLAG_TYPE8 = 128, // 0x00000080 - M_MAPPER_HEADS = 129, // 0x00000081 - M_MAPPER_SHRUB1A = 130, // 0x00000082 - M_MAPPER_SHRUB1B = 131, // 0x00000083 - M_MAPPER_SHRUB1C = 132, // 0x00000084 - M_MAPPER_SHRUB1D = 133, // 0x00000085 - M_MAPPER_SHRUB1E = 134, // 0x00000086 - M_MAPPER_SHRUB2A = 135, // 0x00000087 - M_MAPPER_SHRUB2B = 136, // 0x00000088 - M_MAPPER_SHRUB2C = 137, // 0x00000089 - M_MAPPER_SHRUB2D = 138, // 0x0000008A - M_MAPPER_SHRUB2E = 139, // 0x0000008B - M_MAPPER_GATE_WOOD1A = 140, // 0x0000008C - M_MAPPER_GATE_WOOD1B = 141, // 0x0000008D - M_MAPPER_GATE_WOOD1C = 142, // 0x0000008E - M_MAPPER_GATE_WOOD1D = 143, // 0x0000008F - M_MAPPER_GATE_STONE1A = 144, // 0x00000090 - M_MAPPER_GATE_STONE1B = 145, // 0x00000091 - M_MAPPER_GATE_STONE2A = 146, // 0x00000092 - M_MAPPER_GATE_STONE2B = 147, // 0x00000093 - M_MAPPER_BRAZIER = 148, // 0x00000094 - M_MAPPER_UNUSED_7 = 149, // 0x00000095 - M_MAPPER_FOAM = 150, // 0x00000096 - M_MAPPER_RIPPLE = 151, // 0x00000097 - M_MAPPER_TO_MAP_EDIT = 152, // 0x00000098 - M_MAPPER_SHRUB3A = 153, // 0x00000099 - M_MAPPER_SHRUB3B = 154, // 0x0000009A - M_MAPPER_SHRUB3C = 155, // 0x0000009B - M_MAPPER_SHRUB3D = 156, // 0x0000009C - M_MAPPER_UNUSED_12 = 157, // 0x0000009D - M_MAPPER_UNUSED_13 = 158, // 0x0000009E - M_MAPPER_UNUSED_14 = 159, // 0x0000009F - M_MAPPER_GARDEN1 = 160, // 0x000000A0 - M_MAPPER_GARDEN2 = 161, // 0x000000A1 - M_MAPPER_GARDEN3 = 162, // 0x000000A2 - M_MAPPER_GARDEN4 = 163, // 0x000000A3 - M_MAPPER_GARDEN5 = 164, // 0x000000A4 - M_MAPPER_GARDEN6 = 165, // 0x000000A5 - M_MAPPER_GARDEN7 = 166, // 0x000000A6 - M_MAPPER_GARDEN8 = 167, // 0x000000A7 - M_MAPPER_GARDEN9 = 168, // 0x000000A8 - M_MAPPER_GARDEN10 = 169, // 0x000000A9 - M_MAPPER_GARDEN11 = 170, // 0x000000AA - M_MAPPER_GARDEN12 = 171, // 0x000000AB - M_MAPPER_UNUSED_15 = 172, // 0x000000AC - M_MAPPER_UNUSED_16 = 173, // 0x000000AD - M_MAPPER_UNUSED_17 = 174, // 0x000000AE - M_MAPPER_MAYPOLE = 175, // 0x000000AF - M_MAPPER_GALLOWS = 176, // 0x000000B0 - M_MAPPER_STOCKS = 177, // 0x000000B1 - M_MAPPER_OUTPOST = 178, // 0x000000B2 - M_MAPPER_OUTPOST_ARAB = 179, // 0x000000B3 - M_MAPPER_OIL_SMELTER = 180, // 0x000000B4 - M_MAPPER_STAIR1 = 181, // 0x000000B5 - M_MAPPER_STAIR2 = 182, // 0x000000B6 - M_MAPPER_STAIR3 = 183, // 0x000000B7 - M_MAPPER_STAIR4 = 184, // 0x000000B8 - M_MAPPER_STAIR5 = 185, // 0x000000B9 - M_MAPPER_STAIR6 = 186, // 0x000000BA - M_MAPPER_UNUSED_26 = 187, // 0x000000BB - M_MAPPER_UNUSED_27 = 188, // 0x000000BC - M_MAPPER_UNUSED_28 = 189, // 0x000000BD - M_MAPPER_CATAPULT = 190, // 0x000000BE - M_MAPPER_TREBUCHET = 191, // 0x000000BF - M_MAPPER_SIEGE_TOWER = 192, // 0x000000C0 - M_MAPPER_BATTERING_RAM = 193, // 0x000000C1 - M_MAPPER_PORTABLE_SHIELD = 194, // 0x000000C2 - M_MAPPER_DOCK = 195, // 0x000000C3 - M_MAPPER_DOCK2 = 196, // 0x000000C4 - M_MAPPER_DOCK3 = 197, // 0x000000C5 - M_MAPPER_DOCK4 = 198, // 0x000000C6 - M_MAPPER_UNUSED_33 = 199, // 0x000000C7 - M_MAPPER_BACK = 200, // 0x000000C8 - M_MAPPER_CHECK_BOX = 201, // 0x000000C9 - M_MAPPER_TEST = 202, // 0x000000CA - M_MAPPER_REBUILD = 203, // 0x000000CB - M_MAPPER_SNAP_TO = 204, // 0x000000CC - M_MAPPER_BIGROCK1 = 205, // 0x000000CD - M_MAPPER_BIGROCK2 = 206, // 0x000000CE - M_MAPPER_BIGROCK3 = 207, // 0x000000CF - M_MAPPER_BIGROCK4 = 208, // 0x000000D0 - M_MAPPER_BIGROCK5 = 209, // 0x000000D1 - M_MAPPER_MANGONEL = 210, // 0x000000D2 - M_MAPPER_BALLISTA = 211, // 0x000000D3 - M_MAPPER_UNUSED_34 = 212, // 0x000000D4 - M_MAPPER_UNUSED_35 = 213, // 0x000000D5 - M_MAPPER_UNUSED_36 = 214, // 0x000000D6 - M_MAPPER_UNUSED_37 = 215, // 0x000000D7 - M_MAPPER_UNUSED_38 = 216, // 0x000000D8 - M_MAPPER_UNUSED_39 = 217, // 0x000000D9 - M_MAPPER_UNUSED_40 = 218, // 0x000000DA - M_MAPPER_UNUSED_41 = 219, // 0x000000DB - M_MAPPER_DEER = 220, // 0x000000DC - M_MAPPER_WOLF = 221, // 0x000000DD - M_MAPPER_RABBIT = 222, // 0x000000DE - M_MAPPER_BEAR = 223, // 0x000000DF - M_MAPPER_CROW = 224, // 0x000000E0 - M_MAPPER_SEAGULL = 225, // 0x000000E1 - M_MAPPER_UNUSED_42 = 226, // 0x000000E2 - M_MAPPER_UNUSED_44 = 227, // 0x000000E3 - M_MAPPER_UNUSED_45 = 228, // 0x000000E4 - M_MAPPER_UNUSED_46 = 229, // 0x000000E5 - M_MAPPER_MAP_SIZE = 230, // 0x000000E6 - M_MAPPER_SUB_MODE_HEIGHT = 231, // 0x000000E7 - M_MAPPER_SUB_MODE_TYPE = 232, // 0x000000E8 - M_MAPPER_SUB_MODE_OBJ = 234, // 0x000000EA - M_MAPPER_SUB_MODE_ANIMAL = 235, // 0x000000EB - M_MAPPER_SUB_MODE_WATER = 236, // 0x000000EC - M_MAPPER_SUB_MODE_FEATURE = 237, // 0x000000ED - M_MAPPER_ESTUARY = 238, // 0x000000EE - M_MAPPER_SUB_MODE_FEATURE_MP = 239, // 0x000000EF - M_MAPPER_MP_KEEP1 = 240, // 0x000000F0 - M_MAPPER_REPORT1 = 240, // 0x000000F0 - M_MAPPER_MP_KEEP2 = 241, // 0x000000F1 - M_MAPPER_REPORT2 = 241, // 0x000000F1 - M_MAPPER_MP_KEEP3 = 242, // 0x000000F2 - M_MAPPER_REPORT3 = 242, // 0x000000F2 - M_MAPPER_MP_KEEP4 = 243, // 0x000000F3 - M_MAPPER_REPORT4 = 243, // 0x000000F3 - M_MAPPER_MP_KEEP5 = 244, // 0x000000F4 - M_MAPPER_REPORT5 = 244, // 0x000000F4 - M_MAPPER_MP_KEEP6 = 245, // 0x000000F5 - M_MAPPER_REPORT6 = 245, // 0x000000F5 - M_MAPPER_MP_KEEP7 = 246, // 0x000000F6 - M_MAPPER_REPORT7 = 246, // 0x000000F6 - M_MAPPER_MP_KEEP8 = 247, // 0x000000F7 - M_MAPPER_REPORT8 = 247, // 0x000000F7 - M_MAPPER_POND5 = 265, // 0x00000109 - M_MAPPER_POND6 = 266, // 0x0000010A - M_MAPPER_POND7 = 267, // 0x0000010B - M_MAPPER_POND8 = 268, // 0x0000010C - M_MAPPER_UNUSED_56 = 269, // 0x0000010D - M_MAPPER_PEOPLE_ARCHERS = 270, // 0x0000010E - M_MAPPER_PEOPLE_SPEARMEN = 271, // 0x0000010F - M_MAPPER_PEOPLE_PIKEMEN = 272, // 0x00000110 - M_MAPPER_PEOPLE_MACEMEN = 273, // 0x00000111 - M_MAPPER_PEOPLE_XBOWMEN = 274, // 0x00000112 - M_MAPPER_PEOPLE_SWORDSMEN = 275, // 0x00000113 - M_MAPPER_PEOPLE_KNIGHTS = 276, // 0x00000114 - M_MAPPER_PEOPLE_LADDERMEN = 277, // 0x00000115 - M_MAPPER_PEOPLE_ENGINEERS = 278, // 0x00000116 - M_MAPPER_PEOPLE_ENGINEERS_POTS = 279, // 0x00000117 - M_MAPPER_PEOPLE_MONKS = 280, // 0x00000118 - M_MAPPER_PEOPLE_CATAPULTS = 281, // 0x00000119 - M_MAPPER_PEOPLE_TREBUCHETS = 282, // 0x0000011A - M_MAPPER_PEOPLE_BATTERING_RAMS = 283, // 0x0000011B - M_MAPPER_PEOPLE_SIEGE_TOWERS = 284, // 0x0000011C - M_MAPPER_PEOPLE_PORTABLE_SHIELDS = 285, // 0x0000011D - M_MAPPER_PEOPLE_TUNNELERS = 286, // 0x0000011E - M_MAPPER_STANCE_STAND = 287, // 0x0000011F - M_MAPPER_STANCE_DEFENSIVE = 288, // 0x00000120 - M_MAPPER_STANCE_AGGRESSIVE = 289, // 0x00000121 - M_MAPPER_TROOP_STOP = 290, // 0x00000122 - M_MAPPER_ENGINEER_BUILD = 291, // 0x00000123 - M_MAPPER_BUILD_BACK = 292, // 0x00000124 - M_MAPPER_BUY_AMMO = 293, // 0x00000125 - M_MAPPER_UNUSED_57 = 294, // 0x00000126 - M_MAPPER_UNUSED_58 = 295, // 0x00000127 - M_MAPPER_UNUSED_59 = 296, // 0x00000128 - M_MAPPER_UNUSED_60 = 297, // 0x00000129 - M_MAPPER_UNUSED_61 = 298, // 0x0000012A - M_MAPPER_UNUSED_62 = 299, // 0x0000012B - M_MAPPER_UNUSED_63 = 300, // 0x0000012C - M_MAPPER_CESS_PIT1 = 301, // 0x0000012D - M_MAPPER_CESS_PIT2 = 302, // 0x0000012E - M_MAPPER_CESS_PIT3 = 303, // 0x0000012F - M_MAPPER_CESS_PIT4 = 304, // 0x00000130 - M_MAPPER_BURNING_STAKE = 305, // 0x00000131 - M_MAPPER_GIBBET = 306, // 0x00000132 - M_MAPPER_DUNGEON = 307, // 0x00000133 - M_MAPPER_RACK_STRETCHING = 308, // 0x00000134 - M_MAPPER_RACK_FLOGGING = 309, // 0x00000135 - M_MAPPER_CHOPPING_BLOCK = 310, // 0x00000136 - M_MAPPER_DUNKING_STOOL = 311, // 0x00000137 - M_MAPPER_DOG_CAGE = 312, // 0x00000138 - M_MAPPER_STATUE1 = 313, // 0x00000139 - M_MAPPER_STATUE2 = 314, // 0x0000013A - M_MAPPER_STATUE3 = 315, // 0x0000013B - M_MAPPER_STATUE4 = 316, // 0x0000013C - M_MAPPER_STATUE5 = 317, // 0x0000013D - M_MAPPER_SHRINE1 = 318, // 0x0000013E - M_MAPPER_SHRINE2 = 319, // 0x0000013F - M_MAPPER_SHRINE3 = 320, // 0x00000140 - M_MAPPER_SHRINE4 = 321, // 0x00000141 - M_MAPPER_SHRINE5 = 322, // 0x00000142 - M_MAPPER_BEE_HIVE = 323, // 0x00000143 - M_MAPPER_DANCING_BEAR = 324, // 0x00000144 - M_MAPPER_POND1 = 325, // 0x00000145 - M_MAPPER_POND2 = 326, // 0x00000146 - M_MAPPER_POND3 = 327, // 0x00000147 - M_MAPPER_POND4 = 328, // 0x00000148 - M_MAPPER_BEAR_CAVE = 329, // 0x00000149 - M_MAPPER_WELL = 330, // 0x0000014A - M_MAPPER_AREA_BACK = 331, // 0x0000014B - M_MAPPER_PLACE_ASSEMBLY_POINT1 = 332, // 0x0000014C - M_MAPPER_PLACE_ASSEMBLY_POINT2 = 333, // 0x0000014D - M_MAPPER_PLACE_ASSEMBLY_POINT3 = 334, // 0x0000014E - M_MAPPER_PLACE_ASSEMBLY_POINT4 = 335, // 0x0000014F - M_MAPPER_PLACE_ASSEMBLY_POINT5 = 336, // 0x00000150 - M_MAPPER_PLACE_ASSEMBLY_POINT6 = 337, // 0x00000151 - M_MAPPER_PLACE_ASSEMBLY_POINT7 = 338, // 0x00000152 - M_MAPPER_DUNES = 340, // 0x00000154 - M_MAPPER_SCRUBGRASS = 341, // 0x00000155 - M_MAPPER_WATERPOT = 342, // 0x00000156 - M_MAPPER_SUB_MENU_KEEPS = 343, // 0x00000157 - M_MAPPER_SUB_MENU_GATEHOUSES_WOOD = 344, // 0x00000158 - M_MAPPER_SUB_MENU_GATEHOUSES_STONESMALL = 345, // 0x00000159 - M_MAPPER_SUB_MENU_GATEHOUSES_STONELARGE = 346, // 0x0000015A - M_MAPPER_SUB_MENU_GOOD = 347, // 0x0000015B - M_MAPPER_SUB_MENU_BAD = 348, // 0x0000015C - M_MAPPER_DELETE_EDITOR = 349, // 0x0000015D - M_MAPPER_PEOPLE_ARAB_BOW = 350, // 0x0000015E - M_MAPPER_PEOPLE_ARAB_SLAVE = 351, // 0x0000015F - M_MAPPER_PEOPLE_ARAB_SLINGER = 352, // 0x00000160 - M_MAPPER_PEOPLE_ARAB_ASSASIN = 353, // 0x00000161 - M_MAPPER_PEOPLE_ARAB_HORSEMAN = 354, // 0x00000162 - M_MAPPER_PEOPLE_ARAB_SWORDSMAN = 355, // 0x00000163 - M_MAPPER_PEOPLE_ARAB_GRENADIER = 356, // 0x00000164 - M_MAPPER_PEOPLE_ARAB_BALLISTA = 357, // 0x00000165 - M_MAPPER_ARAB_BALLISTA = 358, // 0x00000166 - M_MAPPER_PLACE_ASSEMBLY_POINTM1 = 360, // 0x00000168 - M_MAPPER_PLACE_ASSEMBLY_POINTM2 = 361, // 0x00000169 - M_MAPPER_PLACE_ASSEMBLY_POINTM3 = 362, // 0x0000016A - M_MAPPER_PLACE_ASSEMBLY_POINTM4 = 363, // 0x0000016B - M_MAPPER_PLACE_ASSEMBLY_POINTM5 = 364, // 0x0000016C - M_MAPPER_PLACE_ASSEMBLY_POINTM6 = 365, // 0x0000016D - M_MAPPER_PLACE_ASSEMBLY_POINTM7 = 366, // 0x0000016E - M_MAPPER_PLACE_ASSEMBLY_POINTE1 = 367, // 0x0000016F - M_MAPPER_PLACE_ASSEMBLY_POINTE2 = 368, // 0x00000170 - M_MAPPER_PLACE_ASSEMBLY_POINTT1 = 369, // 0x00000171 - M_MAPPER_PLACE_ASSEMBLY_POINTK1 = 370, // 0x00000172 - M_MAPPER_MENU_RETURN_TOWERS = 371, // 0x00000173 - M_MAPPER_MENU_RETURN_GATEHOUSES = 372, // 0x00000174 - M_MAPPER_MENU_RETURN_MILITARY = 373, // 0x00000175 - M_MAPPER_MENU_RETURN_KEEPS = 374, // 0x00000176 - M_MAPPER_MENU_RETURN_GOOD = 375, // 0x00000177 - M_MAPPER_MENU_RETURN_BAD = 376, // 0x00000178 - M_MAPPER_SUB_MENU_TOWERS = 377, // 0x00000179 - M_MAPPER_SUB_MENU_MILITARY = 378, // 0x0000017A - M_MAPPER_SUB_MENU_GATEHOUSES = 379, // 0x0000017B - M_MAPPER_MARKER_POINT1 = 380, // 0x0000017C - M_MAPPER_MARKER_POINT2 = 381, // 0x0000017D - M_MAPPER_MARKER_POINT3 = 382, // 0x0000017E - M_MAPPER_MARKER_POINT4 = 383, // 0x0000017F - M_MAPPER_MARKER_POINT5 = 384, // 0x00000180 - M_MAPPER_MARKER_POINT6 = 385, // 0x00000181 - M_MAPPER_MARKER_POINT7 = 386, // 0x00000182 - M_MAPPER_MARKER_POINT8 = 387, // 0x00000183 - M_MAPPER_MARKER_POINT9 = 388, // 0x00000184 - M_MAPPER_MARKER_POINT10 = 389, // 0x00000185 - M_MAPPER_PLACE_ASSEMBLY_POINTBS1 = 391, // 0x00000187 - M_MAPPER_PLACE_ASSEMBLY_POINTBS2 = 392, // 0x00000188 - M_MAPPER_PLACE_ASSEMBLY_POINTBS3 = 393, // 0x00000189 - M_MAPPER_PLACE_ASSEMBLY_POINTBS4 = 394, // 0x0000018A - M_MAPPER_PLACE_ASSEMBLY_POINTBS5 = 395, // 0x0000018B - M_MAPPER_PLACE_ASSEMBLY_POINTBS6 = 396, // 0x0000018C - M_MAPPER_PLACE_ASSEMBLY_POINTBS7 = 397, // 0x0000018D - M_MAPPER_PLACE_ASSEMBLY_POINTBS8 = 398, // 0x0000018E - M_MAPPER_PEOPLE_BEDOUIN_CAMEL_LANCER = 400, // 0x00000190 - M_MAPPER_PEOPLE_BEDOUIN_HEALER = 401, // 0x00000191 - M_MAPPER_PEOPLE_BEDOUIN_EUNUCH = 402, // 0x00000192 - M_MAPPER_PEOPLE_BEDOUIN_AMBUSHER = 403, // 0x00000193 - M_MAPPER_PEOPLE_BEDOUIN_SKIRMISHER = 404, // 0x00000194 - M_MAPPER_PEOPLE_BEDOUIN_HEAVY_CAMEL = 405, // 0x00000195 - M_MAPPER_PEOPLE_BEDOUIN_SAPPER = 406, // 0x00000196 - M_MAPPER_PEOPLE_BEDOUIN_DEMOLISHER = 407, // 0x00000197 - M_MAPPER_RUINS1 = 410, // 0x0000019A - M_MAPPER_RUINS2 = 411, // 0x0000019B - M_MAPPER_RUINS3 = 412, // 0x0000019C - M_MAPPER_RUINS4 = 413, // 0x0000019D - M_MAPPER_RUINS5 = 414, // 0x0000019E - M_MAPPER_RUINS6 = 415, // 0x0000019F - M_MAPPER_RUINS7 = 416, // 0x000001A0 - M_MAPPER_RUINS8 = 417, // 0x000001A1 - M_MAPPER_RUINS9 = 418, // 0x000001A2 - M_MAPPER_RUINS10 = 419, // 0x000001A3 - M_MAPPER_RUINS11 = 420, // 0x000001A4 - M_MAPPER_RUINS12 = 421, // 0x000001A5 - M_MAPPER_RUINS13 = 422, // 0x000001A6 - M_MAPPER_RUINS14 = 423, // 0x000001A7 - M_MAPPER_RUINS15 = 424, // 0x000001A8 - M_MAPPER_RUINS16 = 425, // 0x000001A9 - M_MAPPER_RUINS17 = 426, // 0x000001AA - M_MAPPER_RUINS18 = 427, // 0x000001AB - M_MAPPER_RUINS19 = 428, // 0x000001AC - M_MAPPER_RUINS20 = 429, // 0x000001AD - M_MAPPER_RUINS21 = 430, // 0x000001AE - M_MAPPER_RUINS22 = 431, // 0x000001AF - M_MAPPER_RUINS23 = 432, // 0x000001B0 - M_MAPPER_RUINS24 = 433, // 0x000001B1 - M_MAPPER_RUINS25 = 434, // 0x000001B2 - M_MAPPER_RUINS26 = 435, // 0x000001B3 - M_MAPPER_RUINS27 = 436, // 0x000001B4 - M_MAPPER_RUINS28 = 437, // 0x000001B5 - M_MAPPER_RUINS29 = 438, // 0x000001B6 - M_MAPPER_RUINS30 = 439, // 0x000001B7 - M_MAPPER_RUINS31 = 440, // 0x000001B8 - M_MAPPER_RUINS32 = 441, // 0x000001B9 - M_MAPPER_RUINS33 = 442, // 0x000001BA - M_MAPPER_RUINS34 = 443, // 0x000001BB - M_END_OF_MAPPERS = 450, // 0x000001C2 - eMappersInt__M_MAPPER_PATH_END = 35, // 0x00000023 - eMappersInt__M_MAPPER_HOUSE = 53, // 0x00000035 - eMappersInt__M_MAPPER_UNUSED_1 = 67, // 0x00000043 - eMappersInt__M_MAPPER_UNUSED_4 = 79, // 0x0000004F - eMappersInt__M_MAPPER_UNUSED_5 = 108, // 0x0000006C - eMappersInt__M_MAPPER_UNUSED_6 = 109, // 0x0000006D - eMappersInt__M_MAPPER_UNUSED_8 = 153, // 0x00000099 - eMappersInt__M_MAPPER_UNUSED_9 = 154, // 0x0000009A - eMappersInt__M_MAPPER_UNUSED_10 = 155, // 0x0000009B - eMappersInt__M_MAPPER_UNUSED_11 = 156, // 0x0000009C - eMappersInt__M_MAPPER_UNUSED_18 = 178, // 0x000000B2 - eMappersInt__M_MAPPER_UNUSED_19 = 179, // 0x000000B3 - eMappersInt__M_MAPPER_UNUSED_20 = 181, // 0x000000B5 - eMappersInt__M_MAPPER_UNUSED_21 = 182, // 0x000000B6 - eMappersInt__M_MAPPER_UNUSED_22 = 183, // 0x000000B7 - eMappersInt__M_MAPPER_UNUSED_23 = 184, // 0x000000B8 - eMappersInt__M_MAPPER_UNUSED_24 = 185, // 0x000000B9 - eMappersInt__M_MAPPER_UNUSED_25 = 186, // 0x000000BA - eMappersInt__M_MAPPER_UNUSED_29 = 195, // 0x000000C3 - eMappersInt__M_MAPPER_UNUSED_30 = 196, // 0x000000C4 - eMappersInt__M_MAPPER_UNUSED_31 = 197, // 0x000000C5 - eMappersInt__M_MAPPER_UNUSED_32 = 198, // 0x000000C6 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS1 = 248, // 0x000000F8 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS2 = 249, // 0x000000F9 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS3 = 250, // 0x000000FA - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS4 = 251, // 0x000000FB - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS5 = 252, // 0x000000FC - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS6 = 253, // 0x000000FD - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS7 = 254, // 0x000000FE - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS8 = 255, // 0x000000FF - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS9 = 256, // 0x00000100 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS10 = 257, // 0x00000101 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS11 = 258, // 0x00000102 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS12 = 259, // 0x00000103 - NAME_CONFLICT__eMappersInt_M_MAPPER_RUINS13 = 260, // 0x00000104 - eMappersInt__M_MAPPER_UNUSED_48 = 261, // 0x00000105 - eMappersInt__M_MAPPER_UNUSED_49 = 262, // 0x00000106 - eMappersInt__M_MAPPER_UNUSED_50 = 263, // 0x00000107 - eMappersInt__M_MAPPER_UNUSED_51 = 264, // 0x00000108 - eMappersInt__M_MAPPER_UNUSED_52 = 265, // 0x00000109 - eMappersInt__M_MAPPER_UNUSED_53 = 266, // 0x0000010A - eMappersInt__M_MAPPER_UNUSED_54 = 267, // 0x0000010B - eMappersInt__M_MAPPER_UNUSED_55 = 268, // 0x0000010C - NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_TOWERS = 340, // 0x00000154 - NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_MILITARY = 341, // 0x00000155 - NAME_CONFLICT__eMappersInt_M_MAPPER_SUB_MENU_GATEHOUSES = 342, // 0x00000156 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT1 = 350, // 0x0000015E - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT2 = 351, // 0x0000015F - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT3 = 352, // 0x00000160 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT4 = 353, // 0x00000161 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT5 = 354, // 0x00000162 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT6 = 355, // 0x00000163 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT7 = 356, // 0x00000164 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT8 = 357, // 0x00000165 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT9 = 358, // 0x00000166 - NAME_CONFLICT__eMappersInt_M_MAPPER_MARKER_POINT10 = 359, // 0x00000167 - NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_TOWERS = 360, // 0x00000168 - NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_GATEHOUSES = 361, // 0x00000169 - NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_MILITARY = 362, // 0x0000016A - NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_KEEPS = 363, // 0x0000016B - NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_GOOD = 364, // 0x0000016C - NAME_CONFLICT__eMappersInt_M_MAPPER_MENU_RETURN_BAD = 365, // 0x0000016D - NAME_CONFLICT__eMappersInt_M_END_OF_MAPPERS = 370 // 0x00000172 - - } eMappers; - - static_assert_cpp98_obj(sizeof(eMappers) == 4, eMappers); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMappersInt.hpp b/src/OpenSHC/_SHCDE/eMappersInt.hpp deleted file mode 100644 index 276d0f8..0000000 --- a/src/OpenSHC/_SHCDE/eMappersInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eMappersInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eMappers.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eMappersInt; - - static_assert_cpp98_obj(sizeof(eMappersInt) == 4, eMappersInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMusicIDs.hpp b/src/OpenSHC/_SHCDE/eMusicIDs.hpp deleted file mode 100644 index 60500bd..0000000 --- a/src/OpenSHC/_SHCDE/eMusicIDs.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eMusicIDs.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eMusicIDs { - - MUSIC_TUNE_OFF = 0, // 0x00000000 - MUSIC_TUNE_BATTLE = 2, // 0x00000002 - MUSIC_TUNE_INTRO = 3, // 0x00000003 - MUSIC_TUNE_NARR1 = 4, // 0x00000004 - MUSIC_TUNE_NARR2 = 5, // 0x00000005 - MUSIC_TUNE_MONK = 6, // 0x00000006 - MUSIC_TUNE_CHOIR = 7, // 0x00000007 - MUSIC_TUNE_CHOIR2 = 8, // 0x00000008 - MUSIC_TUNE_TUTORIAL = 9, // 0x00000009 - MUSIC_TUNE_MAIN = 10, // 0x0000000A - MUSIC_TUNE_SAD = 10, // 0x0000000A - MUSIC_TUNE_SAD2 = 11, // 0x0000000B - MUSIC_TUNE_AVG = 12, // 0x0000000C - MUSIC_TUNE_AVG2 = 13, // 0x0000000D - MUSIC_TUNE_HAPPY = 14, // 0x0000000E - MUSIC_TUNE_HAPPY2 = 15, // 0x0000000F - MUSIC_TUNE_GOOD = 16, // 0x00000010 - MUSIC_TUNE_BAD = 17, // 0x00000011 - MUSIC_TUNE_SAD3 = 18, // 0x00000012 - MUSIC_TUNE_SAD4 = 19, // 0x00000013 - MUSIC_TUNE_HAPPY3 = 20, // 0x00000014 - MUSIC_GERMAN_EGG = 21, // 0x00000015 - MUSIC_TUNE_BATTLE1A = 22, // 0x00000016 - MUSIC_TUNE_BATTLE1B = 23, // 0x00000017 - MUSIC_TUNE_BATTLE2A = 24, // 0x00000018 - MUSIC_TUNE_BATTLE2B = 25, // 0x00000019 - MUSIC_TUNE_BATTLE2C = 26, // 0x0000001A - MUSIC_TUNE_BATTLE3 = 27, // 0x0000001B - MUSIC_TUNE_BATTLE4 = 28, // 0x0000001C - MUSIC_TUNE_BATTLE_L1A = 29, // 0x0000001D - MUSIC_TUNE_BATTLE_L1B = 30, // 0x0000001E - MUSIC_TUNE_BATTLE_L1C = 31, // 0x0000001F - MUSIC_TUNE_BATTLE_L1D = 32, // 0x00000020 - MUSIC_TUNE_BATTLE_L2_GLORY1 = 33, // 0x00000021 - MUSIC_TUNE_BATTLE_L2_GLORY2 = 34, // 0x00000022 - MUSIC_TUNE_BATTLE_L2_GLORY3 = 35, // 0x00000023 - MUSIC_TUNE_BATTLE_L2_GLORY4 = 36, // 0x00000024 - MUSIC_TUNE_BATTLE_L2_GLORY5 = 37, // 0x00000025 - MUSIC_TUNE_BATTLE_L2_GLORY6 = 38, // 0x00000026 - MUSIC_TUNE_BATTLE_L2_PLOOP = 39, // 0x00000027 - MUSIC_TUNE_BATTLE_L2_DLOOP1 = 40, // 0x00000028 - MUSIC_TUNE_BATTLE_L2_DLOOP2 = 41, // 0x00000029 - MUSIC_TUNE_WIN1 = 42, // 0x0000002A - MUSIC_TUNE_WIN2 = 43, // 0x0000002B - MUSIC_TUNE_WIN3 = 44, // 0x0000002C - MUSIC_TUNE_LOSE1 = 45, // 0x0000002D - MUSIC_TUNE_LOSE2 = 46, // 0x0000002E - MUSIC_PRE_MISSION1 = 47, // 0x0000002F - MUSIC_PRE_MISSION2 = 48, // 0x00000030 - MUSIC_PRE_MISSION3 = 49, // 0x00000031 - MUSIC_PRE_MISSION4 = 50, // 0x00000032 - MUSIC_AFTERMATH = 67, // 0x00000043 - MUSIC_FLUTE7 = 72, // 0x00000048 - MUSIC_OUD1 = 73, // 0x00000049 - MUSIC_FLUTE1 = 97, // 0x00000061 - MUSIC_PRE_MISSION21 = 116, // 0x00000074 - MUSIC_PRE_MISSION22 = 117, // 0x00000075 - MUSIC_PRE_MISSION23 = 118, // 0x00000076 - MUSIC_PRE_MISSION24 = 119, // 0x00000077 - MUSIC_PRE_MISSION25 = 120, // 0x00000078 - MUSIC_PRE_MISSION26 = 121, // 0x00000079 - MUSIC_PRE_MISSION27 = 122, // 0x0000007A - MUSIC_PRE_MISSION28 = 123, // 0x0000007B - MUSIC_PRE_MISSION29 = 124, // 0x0000007C - MUSIC_PRE_MISSION30 = 125, // 0x0000007D - MUSIC_PRE_MISSION31 = 126, // 0x0000007E - MUSIC_PRE_MISSION32 = 127, // 0x0000007F - MUSIC_PRE_MISSION33 = 128, // 0x00000080 - MUSIC_PRE_MISSION34 = 129, // 0x00000081 - MUSIC_PRE_MISSION35 = 130 // 0x00000082 - - } eMusicIDs; - - static_assert_cpp98_obj(sizeof(eMusicIDs) == 4, eMusicIDs); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eMusicIDsInt.hpp b/src/OpenSHC/_SHCDE/eMusicIDsInt.hpp deleted file mode 100644 index 8f4bdc0..0000000 --- a/src/OpenSHC/_SHCDE/eMusicIDsInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eMusicIDsInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eMusicIDs.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eMusicIDsInt; - - static_assert_cpp98_obj(sizeof(eMusicIDsInt) == 4, eMusicIDsInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eOnScreenText.hpp b/src/OpenSHC/_SHCDE/eOnScreenText.hpp deleted file mode 100644 index 8e6b928..0000000 --- a/src/OpenSHC/_SHCDE/eOnScreenText.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eOnScreenText.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eOnScreenText { - - OST_CHAT = 0, // 0x00000000 - OST_DATE = 1, // 0x00000001 - OST_MULTI_CHAT = 3, // 0x00000003 - OST_FEEDBACK_1 = 4, // 0x00000004 - OST_FEEDBACK_2 = 5, // 0x00000005 - OST_FRAMERATE = 6, // 0x00000006 - OST_POPULARITY = 11, // 0x0000000B - OST_STARTING_GOODS = 12, // 0x0000000C - OST_MP_GAME_OVER = 16, // 0x00000010 - OST_MISSION_FINISHED = 17, // 0x00000011 - OST_SPLIT_MESSAGE = 19, // 0x00000013 - OST_KEEP_MESSAGE = 20, // 0x00000014 - OST_WHO_OWNS = 21, // 0x00000015 - OST_PINGS = 22, // 0x00000016 - OST_GAME_PAUSED = 23, // 0x00000017 - OST_GAME_SPEED = 24, // 0x00000018 - OST_KING_OF_THE_HILL = 25, // 0x00000019 - OST_WIN_TIMER = 26, // 0x0000001A - OST_TIMETODEFEAT = 27, // 0x0000001B - OST_PING_ERROR = 28, // 0x0000001C - OST_PEOPLE_LEFT = 29, // 0x0000001D - OST_MESSAGE_BAR = 30, // 0x0000001E - OST_PEACETIMER = 31, // 0x0000001F - OST_NUM_OST = 32 // 0x00000020 - - } eOnScreenText; - - static_assert_cpp98_obj(sizeof(eOnScreenText) == 4, eOnScreenText); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp b/src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp deleted file mode 100644 index 8dbef27..0000000 --- a/src/OpenSHC/_SHCDE/eOnScreenTextInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eOnScreenTextInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eOnScreenText.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eOnScreenTextInt; - - static_assert_cpp98_obj(sizeof(eOnScreenTextInt) == 4, eOnScreenTextInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eSFX.hpp b/src/OpenSHC/_SHCDE/eSFX.hpp deleted file mode 100644 index 1bcb714..0000000 --- a/src/OpenSHC/_SHCDE/eSFX.hpp +++ /dev/null @@ -1,321 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eSFX.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eSFX { - - FX_NULL = 0, // 0x00000000 - FX_CLICK = 1, // 0x00000001 - FX_CHOP = 2, // 0x00000002 - FX_SAW = 3, // 0x00000003 - FX_STOCKS = 4, // 0x00000004 - FX_ARROW_FIRE = 5, // 0x00000005 - FX_ARROW_HIT_BODY = 6, // 0x00000006 - FX_TABLE_CLICK = 7, // 0x00000007 - FX_LITTLE_PLOP = 8, // 0x00000008 - FX_MED_PLOP = 9, // 0x00000009 - FX_DROP_PLANK = 10, // 0x0000000A - FX_WINDMILL = 11, // 0x0000000B - FX_INN = 12, // 0x0000000C - FX_MASON_CHIP = 13, // 0x0000000D - FX_MASON_CRUMBLE = 14, // 0x0000000E - FX_PULLER_LOWER = 15, // 0x0000000F - FX_PULLER_STRAIN = 16, // 0x00000010 - FX_PULLER_ROCK = 17, // 0x00000011 - FX_PULLER_IMPACT = 18, // 0x00000012 - FX_PULLER_RETURN = 19, // 0x00000013 - FX_ARMY_CHARGE = 20, // 0x00000014 - FX_PRYER_LEVER = 21, // 0x00000015 - FX_DRAWBRIDGE_LOWERING = 22, // 0x00000016 - FX_DRAWBRIDGE_LOWERED = 23, // 0x00000017 - FX_DRAWBRIDGE_RAISING = 24, // 0x00000018 - FX_DRAWBRIDGE_RAISED = 25, // 0x00000019 - FX_DRAWBRIDGE_CONTROL = 26, // 0x0000001A - FX_IRON_DUMP = 27, // 0x0000001B - FX_IRON_LDUMP = 28, // 0x0000001C - FX_IRON_BOIL = 29, // 0x0000001D - FX_IRON_POUR = 30, // 0x0000001E - FX_IRON_PULL = 31, // 0x0000001F - FX_IRON_STRAIN = 32, // 0x00000020 - FX_STOCK_FOOD = 33, // 0x00000021 - FX_STOCK_ALE = 34, // 0x00000022 - FX_STOCK_HOPS = 35, // 0x00000023 - FX_STOCK_IRON = 36, // 0x00000024 - FX_STOCK_PITCH = 37, // 0x00000025 - FX_STOCK_STONE = 38, // 0x00000026 - FX_STOCK_WEAPON = 39, // 0x00000027 - FX_STOCK_WHEAT = 40, // 0x00000028 - FX_STOCK_WOOD = 41, // 0x00000029 - FX_TREE_FALL = 42, // 0x0000002A - FX_LILTREE_FALL = 43, // 0x0000002B - FX_BS_ANVIL = 44, // 0x0000002C - FX_BS_BELLOW = 45, // 0x0000002D - FX_BS_COOL = 46, // 0x0000002E - FX_BS_POUR = 47, // 0x0000002F - FX_BS_OPEN = 48, // 0x00000030 - FX_BS_FILE = 49, // 0x00000031 - FX_BAKE = 50, // 0x00000032 - FX_BAKE2 = 51, // 0x00000033 - FX_MUDBUB = 52, // 0x00000034 - FX_PITCH_WATERLAP = 53, // 0x00000035 - FX_PITCH_SCOOP = 54, // 0x00000036 - FX_PITCH_POUR = 55, // 0x00000037 - FX_TANNER_CUT = 56, // 0x00000038 - FX_TANNER_BRUSH1 = 57, // 0x00000039 - FX_TANNER_BRUSH2 = 58, // 0x0000003A - FX_FLETCH_LONG = 59, // 0x0000003B - FX_GHOST = 60, // 0x0000003C - FX_CAULDRON = 61, // 0x0000003D - FX_STIR = 62, // 0x0000003E - FX_CAMPFIRE = 63, // 0x0000003F - FX_ARROW_BOUNCE = 64, // 0x00000040 - FX_STEEL1 = 65, // 0x00000041 - FX_STEEL2 = 66, // 0x00000042 - FX_POLE_TURN = 67, // 0x00000043 - FX_POLE_GRIND = 68, // 0x00000044 - FX_MOAT_DIG = 69, // 0x00000045 - FX_XBOW_FIRE = 70, // 0x00000046 - FX_XBOW_WIND = 71, // 0x00000047 - FX_BEAR_ATTACK = 72, // 0x00000048 - FX_BEAR_DIE = 73, // 0x00000049 - FX_COW_SLAUGHTER = 74, // 0x0000004A - FX_COW_MILK = 75, // 0x0000004B - FX_COW_MOO = 76, // 0x0000004C - FX_MILK_POUR = 77, // 0x0000004D - FX_DOG_BARK = 78, // 0x0000004E - FX_DOG_DIE = 79, // 0x0000004F - FX_DOG_PANT = 80, // 0x00000050 - FX_DOG_WHIMPER = 81, // 0x00000051 - FX_BROOM = 82, // 0x00000052 - FX_SHARPEN = 83, // 0x00000053 - FX_DEER_FALL = 84, // 0x00000054 - FX_HUNTER_CUT = 85, // 0x00000055 - FX_HORSES_1 = 86, // 0x00000056 - FX_HORSES_3 = 87, // 0x00000057 - FX_HORSES_4 = 88, // 0x00000058 - FX_HORSE_WHINNY = 89, // 0x00000059 - FX_HORSE_DIE = 90, // 0x0000005A - FX_HORSE_FALL = 91, // 0x0000005B - FX_RABBIT_DIE = 92, // 0x0000005C - FX_WOLF_DIE = 93, // 0x0000005D - FX_WOLF_ATTACK = 94, // 0x0000005E - FX_LION_DIE = 95, // 0x0000005F - FX_ARMOUR_HIT = 96, // 0x00000060 - FX_MAN_BURN2 = 97, // 0x00000061 - FX_POT_FLARE_UP = 98, // 0x00000062 - FX_POT_OPEN = 99, // 0x00000063 - FX_MAN_BURN = 100, // 0x00000064 - FX_FIRE_START = 101, // 0x00000065 - FX_OIL_DUMP = 102, // 0x00000066 - FX_MENU_SLIDE = 103, // 0x00000067 - FX_SIEGE_ROLL = 104, // 0x00000068 - FX_CA_LOAD = 105, // 0x00000069 - FX_CA_FIRE = 106, // 0x0000006A - FX_MA_LOAD = 107, // 0x0000006B - FX_MA_FIRE = 108, // 0x0000006C - FX_TR_LOAD = 109, // 0x0000006D - FX_TR_FIRE = 110, // 0x0000006E - FX_TR_DIE = 111, // 0x0000006F - FX_SIEGE_DIE = 112, // 0x00000070 - FX_ROCK_HIT_WALL = 113, // 0x00000071 - FX_ROCK_HIT_GROUND = 114, // 0x00000072 - FX_WOOD_HIT = 115, // 0x00000073 - FX_DEATH_CLUB = 116, // 0x00000074 - FX_DEATH_ARROW = 117, // 0x00000075 - FX_DEATH_SPEAR = 118, // 0x00000076 - FX_DEATH_SWORD = 119, // 0x00000077 - FX_BODY_HIT = 120, // 0x00000078 - FX_IGNITE_PITCH = 122, // 0x0000007A - FX_MET_PUSH1 = 123, // 0x0000007B - FX_MET_PUSH2 = 124, // 0x0000007C - FX_MET_PUSH3 = 125, // 0x0000007D - FX_MET_PUSH4 = 126, // 0x0000007E - FX_MET_PUSH5 = 127, // 0x0000007F - FX_MET_PUSH6 = 128, // 0x00000080 - FX_METAL_ROLLOVER1 = 129, // 0x00000081 - FX_METAL_ROLLOVER2 = 130, // 0x00000082 - FX_METAL_ROLLOVER3 = 131, // 0x00000083 - FX_METAL_ROLLOVER4 = 132, // 0x00000084 - FX_METAL_ROLLOVER5 = 133, // 0x00000085 - FX_METAL_ROLLOVER6 = 134, // 0x00000086 - FX_WOOD_PUSH = 135, // 0x00000087 - FX_WOOD_ROLLOVER = 136, // 0x00000088 - FX_CHICKEN_START = 137, // 0x00000089 - FX_CHICKEN_FLAP = 138, // 0x0000008A - FX_CHICKEN_CLUCK = 139, // 0x0000008B - FX_PC_DROP_CLICK = 140, // 0x0000008C - FX_PC_DROP = 141, // 0x0000008D - FX_PC_LIFT_CLICK = 142, // 0x0000008E - FX_PC_LIFT = 143, // 0x0000008F - FX_MAYPOLE = 144, // 0x00000090 - FX_SWISH = 145, // 0x00000091 - FX_SHIELDROLLOVER = 146, // 0x00000092 - FX_PC_SLAM = 147, // 0x00000093 - FX_ARROW_HIT_ANIMAL = 148, // 0x00000094 - FX_HORSE_SNORT = 149, // 0x00000095 - FX_TOWER_SMASH = 150, // 0x00000096 - FX_DEATH_CLUB2 = 151, // 0x00000097 - FX_DEATH_ARROW2 = 152, // 0x00000098 - FX_DEATH_SPEAR2 = 153, // 0x00000099 - FX_DEATH_SWORD2 = 154, // 0x0000009A - FX_BODY_HIT2 = 155, // 0x0000009B - FX_BODY_HIT3 = 156, // 0x0000009C - FX_BODY_HIT4 = 157, // 0x0000009D - FX_DIG1 = 158, // 0x0000009E - FX_DIG2 = 159, // 0x0000009F - FX_WALLDROP = 160, // 0x000000A0 - FX_DROP_LOG = 161, // 0x000000A1 - FX_BABY = 162, // 0x000000A2 - FX_ATTACK_STONE = 163, // 0x000000A3 - FX_ATTACK_WOOD = 164, // 0x000000A4 - FX_SPLAT = 165, // 0x000000A5 - FX_COW_SPLAT = 166, // 0x000000A6 - FX_DEER_RUN = 167, // 0x000000A7 - FX_BALLISTA_LOAD = 168, // 0x000000A8 - FX_BALLISTA_FIRE = 169, // 0x000000A9 - FX_BUILDING_SMASH = 170, // 0x000000AA - FX_DEATH_SHIELD = 171, // 0x000000AB - FX_FLAME_ARROW = 172, // 0x000000AC - FX_SWORDWALK_1 = 173, // 0x000000AD - FX_SWORDWALK_2 = 174, // 0x000000AE - FX_SWORDWALK_3 = 175, // 0x000000AF - FX_ROCK_SPLASH = 176, // 0x000000B0 - FX_RAM_SWING = 177, // 0x000000B1 - FX_RAM_HIT = 178, // 0x000000B2 - FX_SHEATH_IN = 179, // 0x000000B3 - FX_SHEATH_OUT = 180, // 0x000000B4 - FX_BUILD_UNIT = 181, // 0x000000B5 - FX_GIRL_DIE = 182, // 0x000000B6 - FX_GIRL_SCREAM = 183, // 0x000000B7 - FX_ARROW_HIT = 184, // 0x000000B8 - FX_MACE_HIT = 185, // 0x000000B9 - FX_PIKE_HIT = 186, // 0x000000BA - FX_SPEAR_HIT = 187, // 0x000000BB - FX_SWORD_HIT = 188, // 0x000000BC - FX_FLIES = 189, // 0x000000BD - FX_HARVEST = 190, // 0x000000BE - FX_HOE = 191, // 0x000000BF - FX_WOLF_HOWL = 192, // 0x000000C0 - FX_DOG_CAGE = 193, // 0x000000C1 - FX_OX_DIE = 194, // 0x000000C2 - FX_LADDER_PLACE = 195, // 0x000000C3 - FX_LADDER_BREAK = 196, // 0x000000C4 - FX_JESTER_DIE = 197, // 0x000000C5 - FX_LORD_DIE = 198, // 0x000000C6 - FX_ENEMY_LORD_DIE = 199, // 0x000000C7 - FX_CROW = 200, // 0x000000C8 - FX_GULL = 201, // 0x000000C9 - FX_OIL_REFILL = 202, // 0x000000CA - FX_SMALL_FLAG = 203, // 0x000000CB - FX_LARGE_FLAG = 204, // 0x000000CC - FX_SNAKE_LORD_DIE = 205, // 0x000000CD - FX_WOLF_LORD_DIE = 206, // 0x000000CE - FX_CHURCH1 = 207, // 0x000000CF - FX_CHURCH2 = 208, // 0x000000D0 - FX_CHURCH3 = 209, // 0x000000D1 - FX_STRETCH = 210, // 0x000000D2 - FX_GALLOWS = 211, // 0x000000D3 - FX_DUNGEON = 212, // 0x000000D4 - FX_GULL_DIVE = 213, // 0x000000D5 - FX_GULL_SURFACE = 214, // 0x000000D6 - FX_WH_BREATH1 = 215, // 0x000000D7 - FX_WH_BREATH2 = 216, // 0x000000D8 - FX_WH_LIFT = 217, // 0x000000D9 - FX_WH_DUNK = 218, // 0x000000DA - FX_GIRL_GRUNT = 219, // 0x000000DB - FX_FIRE_OUT = 220, // 0x000000DC - FX_FIRE_POP = 221, // 0x000000DD - FX_THROW_WATER = 222, // 0x000000DE - FX_WITCH_BURN = 223, // 0x000000DF - FX_WITCH_SCREAM = 224, // 0x000000E0 - FX_LION_ATTACK = 225, // 0x000000E1 - FX_GH_SWING = 226, // 0x000000E2 - FX_GH_CATCH = 227, // 0x000000E3 - FX_ROPE_SLIDE = 228, // 0x000000E4 - FX_ASS_LAND = 229, // 0x000000E5 - FX_ASS_SWISH = 230, // 0x000000E6 - FX_SLING_THROW = 231, // 0x000000E7 - FX_SLAVE_FIRE = 232, // 0x000000E8 - FX_LORD_SWING = 233, // 0x000000E9 - FX_HORSE_ARCHER1 = 234, // 0x000000EA - FX_HORSE_ARCHER2 = 235, // 0x000000EB - FX_HORSE_ARCHER3 = 236, // 0x000000EC - FX_FIRE_THROW = 237, // 0x000000ED - FX_DEATH_SLINGSTONE = 238, // 0x000000EE - FX_HIT_SLINGSTONE = 239, // 0x000000EF - FX_LORD_KILL = 240, // 0x000000F0 - FX_ARAB_LORD_KILL = 241, // 0x000000F1 - FX_LORD_HIT = 242, // 0x000000F2 - FX_ARAB_BALLISTA_FIRE = 243, // 0x000000F3 - FX_DECIMATE = 244, // 0x000000F4 - FX_CAMEL_DIE = 245, // 0x000000F5 - FX_BODY_HIT5 = 246, // 0x000000F6 - FX_BODY_HIT6 = 247, // 0x000000F7 - FX_BODY_HIT7 = 248, // 0x000000F8 - FX_BODY_HIT8 = 249, // 0x000000F9 - FX_HORSE_ARMY_CHARGE = 250, // 0x000000FA - FX_EXIT_ROLLOVER = 251, // 0x000000FB - FX_DICE = 252, // 0x000000FC - FX_SKMASTER = 253, // 0x000000FD - FX_SKGOLD1 = 254, // 0x000000FE - FX_SKGOLD2 = 255, // 0x000000FF - FX_SKGOLD3 = 256, // 0x00000100 - FX_KEY = 257, // 0x00000101 - FX_TRAIL_CHICKEN = 258, // 0x00000102 - FX_EXTREME_TROOPS_CLICK = 260, // 0x00000104 - FX_EXTREME_ROCK_VOLLEY = 261, // 0x00000105 - FX_BUILDING_PLACEMENT = 265, // 0x00000109 - FX_BUILDING_PLACEMENT_SMALL = 266, // 0x0000010A - FX_APOTHECARY_EXPLOSION = 267, // 0x0000010B - FX_MILLER_WORKING = 268, // 0x0000010C - FX_MILLER_WORKING_LOOP = 269, // 0x0000010D - FX_PICK_APPLE = 270, // 0x0000010E - FX_PICK_HOPS = 271, // 0x0000010F - FX_GIBBET = 272, // 0x00000110 - FX_OX_SELECT = 273, // 0x00000111 - FX_OX_WALK = 274, // 0x00000112 - FX_MARKET_SELECT = 275, // 0x00000113 - FX_SIEGE_DOCK = 276, // 0x00000114 - FX_XBOW_SAND = 277, // 0x00000115 - FX_XBOW_INSPECT = 278, // 0x00000116 - FX_XBOW_PICKUP = 279, // 0x00000117 - FX_XBOW_HAMMER1 = 280, // 0x00000118 - FX_XBOW_HAMMER2 = 281, // 0x00000119 - FX_XBOW_PUTDOWN = 282, // 0x0000011A - FX_DUNGEON_WHIP = 283, // 0x0000011B - FX_STOCKS_CLICK = 284, // 0x0000011C - FX_WOODWALL_PLACEMENT = 285, // 0x0000011D - FX_STONEWALL_PLACEMENT = 286, // 0x0000011E - FX_WOODTOWER_PLACEMENT = 287, // 0x0000011F - FX_STONETOWER_PLACEMENT = 288, // 0x00000120 - FX_WOOD_ROLLOVER2 = 289, // 0x00000121 - FX_BUILDING_PLACEMENT_STONE = 290, // 0x00000122 - FX_BATTLEHORN = 291, // 0x00000123 - FX_SKIRMISHER_THROWSPEAR = 292, // 0x00000124 - FX_CAMEL_TROT_SING = 293, // 0x00000125 - FX_CAMEL_TROT_SEVERAL = 294, // 0x00000126 - FX_CAMEL_TROT_MANY = 295, // 0x00000127 - FX_HEAVYCAMEL_TROT_SING = 296, // 0x00000128 - FX_HEAVYCAMEL_TROT_SEVERAL = 297, // 0x00000129 - FX_HEAVYCAMEL_TROT_MANY = 298, // 0x0000012A - FX_DEMOLISHER_WALL = 299, // 0x0000012B - FX_DEMOLISHER_STRUCK = 300, // 0x0000012C - FX_DEMOLISHER_SHIELDDEST = 301, // 0x0000012D - FX_AMBUSH_THROW = 302, // 0x0000012E - FX_AMBUSH_LANDS = 303, // 0x0000012F - FX_EUNUCH_SWORD = 304, // 0x00000130 - FX_EUNUCH_WALL = 305, // 0x00000131 - FX_EUNUCH_FORWARDSWING = 306, // 0x00000132 - FX_DANCING_BEAR = 307, // 0x00000133 - FX_INTRO = 308 // 0x00000134 - - } eSFX; - - static_assert_cpp98_obj(sizeof(eSFX) == 4, eSFX); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eSFXInt.hpp b/src/OpenSHC/_SHCDE/eSFXInt.hpp deleted file mode 100644 index 8e1d055..0000000 --- a/src/OpenSHC/_SHCDE/eSFXInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eSFXInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eSFX.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eSFXInt; - - static_assert_cpp98_obj(sizeof(eSFXInt) == 4, eSFXInt); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eTextSections.hpp b/src/OpenSHC/_SHCDE/eTextSections.hpp deleted file mode 100644 index 3803cb7..0000000 --- a/src/OpenSHC/_SHCDE/eTextSections.hpp +++ /dev/null @@ -1,312 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eTextSections.hpp' -*/ - -#pragma once - -namespace OpenSHC { -namespace _SHCDE { - typedef enum eTextSections { - - TEXT_MONTHS = 1, // 0x00000001 - TEXT_GOODS = 2, // 0x00000002 - TEXT_POPULARITY_EFFECTS = 3, // 0x00000003 - TEXT_STARTUP = 4, // 0x00000004 - TEXT_MAINOPTIONS = 5, // 0x00000005 - TEXT_LANGUAGE = 6, // 0x00000006 - TEXT_BUBBLE_HELP_SUBTEXT = 7, // 0x00000007 - TEXT_BUBBLE_HELP_TEXT = 8, // 0x00000008 - TEXT_BUBBLE_HELP_DATA = 9, // 0x00000009 - TEXT_FEEDBACK = 10, // 0x0000000A - TEXT_MAPEDIT = 11, // 0x0000000B - TEXT_DEMOSCORE = 12, // 0x0000000C - TEXT_MAP_TITLES = 13, // 0x0000000D - TEXT_REPORTS = 14, // 0x0000000E - TEXT_IN_GENERAL_BUILDINGS = 18, // 0x00000012 - TEXT_IN_KEEP = 19, // 0x00000013 - TEXT_IN_INN = 20, // 0x00000014 - TEXT_IN_BARRACKS = 22, // 0x00000016 - TEXT_IN_GRANARY = 23, // 0x00000017 - TEXT_IN_HOUSE = 24, // 0x00000018 - TEXT_IN_WOODCUTTERS_HUT = 25, // 0x00000019 - TEXT_IN_OXEN_BASE = 26, // 0x0000001A - TEXT_IN_IRON_MINE = 27, // 0x0000001B - TEXT_IN_PITCH_DIGGER = 28, // 0x0000001C - TEXT_IN_HUNTERS_HUT = 29, // 0x0000001D - TEXT_IN_GOODS_YARD = 30, // 0x0000001E - TEXT_IN_ARMOURY = 31, // 0x0000001F - TEXT_IN_FLETCHERS_WORKSHOP = 32, // 0x00000020 - TEXT_IN_BLACKSMITHS_WORKSHOP = 33, // 0x00000021 - TEXT_IN_POLETURNERS_WORKSHOP = 34, // 0x00000022 - TEXT_IN_ARMOURERS_WORKSHOP = 35, // 0x00000023 - TEXT_IN_TANNERS_WORKSHOP = 36, // 0x00000024 - TEXT_IN_BAKERS_WORKSHOP = 37, // 0x00000025 - TEXT_IN_BREWERS_WORKSHOP = 38, // 0x00000026 - TEXT_IN_QUARRY = 39, // 0x00000027 - TEXT_IN_QUARRYPILE = 40, // 0x00000028 - TEXT_IN_HEALERS = 41, // 0x00000029 - TEXT_IN_ENGINEERS_GUILD = 42, // 0x0000002A - TEXT_IN_TUNNELLERS_GUILD = 43, // 0x0000002B - TEXT_IN_TRADEPOST = 44, // 0x0000002C - TEXT_IN_WELL = 45, // 0x0000002D - TEXT_IN_OIL_SMELTER = 46, // 0x0000002E - TEXT_IN_SIEGE_TENT = 47, // 0x0000002F - TEXT_IN_WHEATFARM = 48, // 0x00000030 - TEXT_IN_HOPSFARM = 49, // 0x00000031 - TEXT_IN_APPLEFARM = 50, // 0x00000032 - TEXT_IN_CATTLEFARM = 51, // 0x00000033 - TEXT_IN_MILL = 52, // 0x00000034 - TEXT_IN_STABLES = 53, // 0x00000035 - TEXT_IN_CHURCH = 54, // 0x00000036 - TEXT_IN_GATEHOUSE = 55, // 0x00000037 - TEXT_IN_DRAWBRIDGE = 56, // 0x00000038 - TEXT_IN_POSTERN_GATE = 57, // 0x00000039 - TEXT_IN_TUNNEL_ENTERANCE = 58, // 0x0000003A - TEXT_IN_CAMP_FIRE = 59, // 0x0000003B - TEXT_IN_SIGNPOST = 60, // 0x0000003C - TEXT_IN_KILLING_PIT = 61, // 0x0000003D - TEXT_IN_CATAPULT = 62, // 0x0000003E - TEXT_IN_TREBUCHET = 63, // 0x0000003F - TEXT_IN_OUTPOST = 64, // 0x00000040 - TEXT_IN_TOWER = 65, // 0x00000041 - TEXT_IN_GALLOWS = 66, // 0x00000042 - TEXT_IN_STOCKS = 67, // 0x00000043 - TEXT_IN_WITCH_HOIST = 68, // 0x00000044 - TEXT_IN_MAYPOLE = 69, // 0x00000045 - TEXT_IN_TRAINING_GROUND = 71, // 0x00000047 - TEXT_IN_GARDEN = 72, // 0x00000048 - TEXT_GAME_OPTIONS = 74, // 0x0000004A - TEXT_HELP = 75, // 0x0000004B - TEXT_MULTIPLAYER_CONNECTION = 76, // 0x0000004C - TEXT_PANEL_FEEDBACK = 77, // 0x0000004D - TEXT_STRUCTURE_WAS = 78, // 0x0000004E - TEXT_XPLAY_WAITING_ROOM = 79, // 0x0000004F - TEXT_MISSION_BUTTONS = 80, // 0x00000050 - TEXT_OBJECTIVES = 81, // 0x00000051 - TEXT_REPORT_BUTTONS = 82, // 0x00000052 - TEXT_PLAYER_DESC = 83, // 0x00000053 - TEXT_PEASANT_NAMES = 84, // 0x00000054 - TEXT_PEASANT_SURNAMES = 85, // 0x00000055 - TEXT_UNIT_ACTIONS = 86, // 0x00000056 - TEXT_MARRIAGE = 87, // 0x00000057 - TEXT_CHIMP_NAMES = 88, // 0x00000058 - TEXT_CHIMP_COMMENT = 89, // 0x00000059 - TEXT_NEWMAP_TYPES_HELP = 92, // 0x0000005C - TEXT_INSULTS = 93, // 0x0000005D - TEXT_PREVIEW = 94, // 0x0000005E - TEXT_TUTORIAL = 95, // 0x0000005F - TEXT_TUTORIAL_BUTTONS = 96, // 0x00000060 - TEXT_MAP_SCREEN = 97, // 0x00000061 - TEXT_MISSION1_STORY = 99, // 0x00000063 - TEXT_MISSION1_BRIEFING = 100, // 0x00000064 - TEXT_MISSION1_OBJECTIVES = 101, // 0x00000065 - TEXT_MISSION1_HINTS = 102, // 0x00000066 - TEXT_MISSION2_STORY = 103, // 0x00000067 - TEXT_MISSION2_BRIEFING = 104, // 0x00000068 - TEXT_MISSION2_OBJECTIVES = 105, // 0x00000069 - TEXT_MISSION2_HINTS = 106, // 0x0000006A - TEXT_MISSION3_STORY = 107, // 0x0000006B - TEXT_MISSION3_BRIEFING = 108, // 0x0000006C - TEXT_MISSION3_OBJECTIVES = 109, // 0x0000006D - TEXT_MISSION3_HINTS = 110, // 0x0000006E - TEXT_MISSION4_STORY = 111, // 0x0000006F - TEXT_MISSION4_BRIEFING = 112, // 0x00000070 - TEXT_MISSION4_OBJECTIVES = 113, // 0x00000071 - TEXT_MISSION4_HINTS = 114, // 0x00000072 - TEXT_MISSION5_STORY = 115, // 0x00000073 - TEXT_MISSION5_BRIEFING = 116, // 0x00000074 - TEXT_MISSION5_OBJECTIVES = 117, // 0x00000075 - TEXT_MISSION5_HINTS = 118, // 0x00000076 - TEXT_MISSION6_STORY = 119, // 0x00000077 - TEXT_MISSION6_BRIEFING = 120, // 0x00000078 - TEXT_MISSION6_OBJECTIVES = 121, // 0x00000079 - TEXT_MISSION6_HINTS = 122, // 0x0000007A - TEXT_MISSION7_STORY = 123, // 0x0000007B - TEXT_MISSION7_BRIEFING = 124, // 0x0000007C - TEXT_MISSION7_OBJECTIVES = 125, // 0x0000007D - TEXT_MISSION7_HINTS = 126, // 0x0000007E - TEXT_MISSION8_STORY = 127, // 0x0000007F - TEXT_MISSION8_BRIEFING = 128, // 0x00000080 - TEXT_MISSION8_OBJECTIVES = 129, // 0x00000081 - TEXT_MISSION8_HINTS = 130, // 0x00000082 - TEXT_MISSION9_STORY = 131, // 0x00000083 - TEXT_MISSION9_BRIEFING = 132, // 0x00000084 - TEXT_MISSION9_OBJECTIVES = 133, // 0x00000085 - TEXT_MISSION9_HINTS = 134, // 0x00000086 - TEXT_MISSION10_STORY = 135, // 0x00000087 - TEXT_MISSION10_BRIEFING = 136, // 0x00000088 - TEXT_MISSION10_OBJECTIVES = 137, // 0x00000089 - TEXT_MISSION10_HINTS = 138, // 0x0000008A - TEXT_MISSION11_STORY = 139, // 0x0000008B - TEXT_MISSION11_BRIEFING = 140, // 0x0000008C - TEXT_MISSION11_OBJECTIVES = 141, // 0x0000008D - TEXT_MISSION11_HINTS = 142, // 0x0000008E - TEXT_MISSION12_STORY = 143, // 0x0000008F - TEXT_MISSION12_BRIEFING = 144, // 0x00000090 - TEXT_MISSION12_OBJECTIVES = 145, // 0x00000091 - TEXT_MISSION12_HINTS = 146, // 0x00000092 - TEXT_MISSION13_STORY = 147, // 0x00000093 - TEXT_MISSION13_BRIEFING = 148, // 0x00000094 - TEXT_MISSION13_OBJECTIVES = 149, // 0x00000095 - TEXT_MISSION13_HINTS = 150, // 0x00000096 - TEXT_MISSION14_STORY = 151, // 0x00000097 - TEXT_MISSION14_BRIEFING = 152, // 0x00000098 - TEXT_MISSION14_OBJECTIVES = 153, // 0x00000099 - TEXT_MISSION14_HINTS = 154, // 0x0000009A - TEXT_MISSION15_STORY = 155, // 0x0000009B - TEXT_MISSION15_BRIEFING = 156, // 0x0000009C - TEXT_MISSION15_OBJECTIVES = 157, // 0x0000009D - TEXT_MISSION15_HINTS = 158, // 0x0000009E - TEXT_MISSION16_STORY = 159, // 0x0000009F - TEXT_MISSION16_BRIEFING = 160, // 0x000000A0 - TEXT_MISSION16_OBJECTIVES = 161, // 0x000000A1 - TEXT_MISSION16_HINTS = 162, // 0x000000A2 - TEXT_MISSION17_STORY = 163, // 0x000000A3 - TEXT_MISSION17_BRIEFING = 164, // 0x000000A4 - TEXT_MISSION17_OBJECTIVES = 165, // 0x000000A5 - TEXT_MISSION17_HINTS = 166, // 0x000000A6 - TEXT_MISSION18_STORY = 167, // 0x000000A7 - TEXT_MISSION18_BRIEFING = 168, // 0x000000A8 - TEXT_MISSION18_OBJECTIVES = 169, // 0x000000A9 - TEXT_MISSION18_HINTS = 170, // 0x000000AA - TEXT_MISSION19_STORY = 171, // 0x000000AB - TEXT_MISSION19_BRIEFING = 172, // 0x000000AC - TEXT_MISSION19_OBJECTIVES = 173, // 0x000000AD - TEXT_MISSION19_HINTS = 174, // 0x000000AE - TEXT_MISSION20_STORY = 175, // 0x000000AF - TEXT_MISSION20_BRIEFING = 176, // 0x000000B0 - TEXT_MISSION20_OBJECTIVES = 177, // 0x000000B1 - TEXT_MISSION20_HINTS = 178, // 0x000000B2 - TEXT_CAMPAIGN_INFO = 179, // 0x000000B3 - TEXT_DEMO_BRIEFINGS = 189, // 0x000000BD - TEXT_HINTS = 190, // 0x000000BE - TEXT_ECO1_HINTS = 191, // 0x000000BF - TEXT_ECO2_HINTS = 192, // 0x000000C0 - TEXT_ECO3_HINTS = 193, // 0x000000C1 - TEXT_ECO4_HINTS = 194, // 0x000000C2 - TEXT_ECO5_HINTS = 195, // 0x000000C3 - TEXT_ECO_MISSION_BRIEFINGS = 196, // 0x000000C4 - TEXT_MISSION_NAMES = 197, // 0x000000C5 - TEXT_PREATTACK = 198, // 0x000000C6 - TEXT_SCENARIO = 199, // 0x000000C7 - TEXT_TRADER_NAMES = 200, // 0x000000C8 - TEXT_ACTION = 201, // 0x000000C9 - TEXT_IN_CESS_PIT = 202, // 0x000000CA - TEXT_IN_BURNING_STAKE = 203, // 0x000000CB - TEXT_IN_GIBBET = 204, // 0x000000CC - TEXT_IN_DUNGEON = 205, // 0x000000CD - TEXT_IN_STRETCHING_RACK = 206, // 0x000000CE - TEXT_IN_FLOGGING_RACK = 207, // 0x000000CF - TEXT_IN_CHOPPING_BLOCK = 208, // 0x000000D0 - TEXT_IN_DUNKING_STOOL = 209, // 0x000000D1 - TEXT_IN_DOG_CAGE = 210, // 0x000000D2 - TEXT_IN_STATUE = 211, // 0x000000D3 - TEXT_IN_SHRINE = 212, // 0x000000D4 - TEXT_IN_BEEHIVE = 213, // 0x000000D5 - TEXT_IN_DANCING_BEAR = 214, // 0x000000D6 - TEXT_IN_POND = 215, // 0x000000D7 - TEXT_IN_BEAR_CAVE = 216, // 0x000000D8 - TEXT_IN_WATERPOT = 217, // 0x000000D9 - TEXT_IN_CATHEDRAL = 218, // 0x000000DA - TEXT_MAP_NAMES = 219, // 0x000000DB - TEXT_SCENARIO_OPP = 220, // 0x000000DC - TEXT_SKIRMISH_SPEECH = 221, // 0x000000DD - TEXT_CUSTOM_HOOKS = 223, // 0x000000DF - TEXT_ALLIES = 224, // 0x000000E0 - TEXT_MP_RANK = 225, // 0x000000E1 - TEXT_NEW_PRE_ATTACK = 226, // 0x000000E2 - TEXT_NEW_CTEXT = 228, // 0x000000E4 - TEXT_MP_VERSION_CONTROL = 229, // 0x000000E5 - TEXT_NEW_TEXT = 230, // 0x000000E6 - TEXT_HOT_KEYS = 231, // 0x000000E7 - TEXT_NEW_DEMO = 232, // 0x000000E8 - TEXT_NEW_TEXT2 = 233, // 0x000000E9 - TEXT_SANDS_OF_TIME = 234, // 0x000000EA - TEXT_BUILDING_DESCRIPTIONS = 235, // 0x000000EB - TEXT_CREDITS = 236, // 0x000000EC - TEXT_SUBTITLES = 237, // 0x000000ED - TEXT_ECOBRIEFINGS = 238, // 0x000000EE - TEXT_OTHER = 239, // 0x000000EF - TEXT_SKIRMISH_MASTERS = 240, // 0x000000F0 - TEXT_GAME_TYPE = 241, // 0x000000F1 - TEXT_SKIRMISH_CHOOSE = 242, // 0x000000F2 - TEXT_TRAIL_NAMES_CRU = 245, // 0x000000F5 - TEXT_EXTREME_DEMO = 247, // 0x000000F7 - TEXT_EXTREME_POWERS = 248, // 0x000000F8 - TEXT_DEMO_GAMENAMES = 249, // 0x000000F9 - TEXT_SKIRMISH_CHOOSE2 = 250, // 0x000000FA - TEXT_SHC_STANDALONE = 251, // 0x000000FB - TEXT_SKIRMISH_MISC = 252, // 0x000000FC - TEXT_SKTRAIL_WIN = 253, // 0x000000FD - TEXT_ALLIES2 = 254, // 0x000000FE - TEXT_SKMASTERS = 255, // 0x000000FF - TEXT_CHEATS = 256, // 0x00000100 - TEXT_MISC2 = 257, // 0x00000101 - TEXT_GAMEPLAY_ONLINE = 258, // 0x00000102 - TEXT_MISSION21_STORY = 270, // 0x0000010E - TEXT_MISSION21_BRIEFING = 271, // 0x0000010F - TEXT_MISSION21_OBJECTIVES = 272, // 0x00000110 - TEXT_MISSION21_HINTS = 273, // 0x00000111 - TEXT_MISSION22_STORY = 274, // 0x00000112 - TEXT_MISSION22_BRIEFING = 275, // 0x00000113 - TEXT_MISSION22_OBJECTIVES = 276, // 0x00000114 - TEXT_MISSION22_HINTS = 277, // 0x00000115 - TEXT_MISSION23_STORY = 278, // 0x00000116 - TEXT_MISSION23_BRIEFING = 279, // 0x00000117 - TEXT_MISSION23_OBJECTIVES = 280, // 0x00000118 - TEXT_MISSION23_HINTS = 281, // 0x00000119 - TEXT_MISSION24_STORY = 282, // 0x0000011A - TEXT_MISSION24_BRIEFING = 283, // 0x0000011B - TEXT_MISSION24_OBJECTIVES = 284, // 0x0000011C - TEXT_MISSION24_HINTS = 285, // 0x0000011D - TEXT_MISSION25_STORY = 286, // 0x0000011E - TEXT_MISSION25_BRIEFING = 287, // 0x0000011F - TEXT_MISSION25_OBJECTIVES = 288, // 0x00000120 - TEXT_MISSION25_HINTS = 289, // 0x00000121 - TEXT_MISSION26_STORY = 290, // 0x00000122 - TEXT_MISSION26_BRIEFING = 291, // 0x00000123 - TEXT_MISSION26_OBJECTIVES = 292, // 0x00000124 - TEXT_MISSION26_HINTS = 293, // 0x00000125 - TEXT_MISSION27_STORY = 294, // 0x00000126 - TEXT_MISSION27_BRIEFING = 295, // 0x00000127 - TEXT_MISSION27_OBJECTIVES = 296, // 0x00000128 - TEXT_MISSION27_HINTS = 297, // 0x00000129 - TEXT_MISSION28_STORY = 298, // 0x0000012A - TEXT_MISSION28_BRIEFING = 299, // 0x0000012B - TEXT_MISSION28_OBJECTIVES = 300, // 0x0000012C - TEXT_MISSION28_HINTS = 301, // 0x0000012D - TEXT_MISSION29_STORY = 302, // 0x0000012E - TEXT_MISSION29_BRIEFING = 303, // 0x0000012F - TEXT_MISSION29_OBJECTIVES = 304, // 0x00000130 - TEXT_MISSION29_HINTS = 305, // 0x00000131 - TEXT_MISSION30_STORY = 306, // 0x00000132 - TEXT_MISSION30_BRIEFING = 307, // 0x00000133 - TEXT_MISSION30_OBJECTIVES = 308, // 0x00000134 - TEXT_MISSION30_HINTS = 309, // 0x00000135 - TEXT_MISSION31_STORY = 310, // 0x00000136 - TEXT_MISSION31_BRIEFING = 311, // 0x00000137 - TEXT_MISSION31_OBJECTIVES = 312, // 0x00000138 - TEXT_MISSION31_HINTS = 313, // 0x00000139 - TEXT_MISSION32_STORY = 314, // 0x0000013A - TEXT_MISSION32_BRIEFING = 315, // 0x0000013B - TEXT_MISSION32_OBJECTIVES = 316, // 0x0000013C - TEXT_MISSION32_HINTS = 317, // 0x0000013D - TEXT_MISSION33_STORY = 318, // 0x0000013E - TEXT_MISSION33_BRIEFING = 319, // 0x0000013F - TEXT_MISSION33_OBJECTIVES = 320, // 0x00000140 - TEXT_MISSION33_HINTS = 321, // 0x00000141 - TEXT_MISSION34_STORY = 322, // 0x00000142 - TEXT_MISSION34_BRIEFING = 323, // 0x00000143 - TEXT_MISSION34_OBJECTIVES = 324, // 0x00000144 - TEXT_MISSION34_HINTS = 325, // 0x00000145 - TEXT_MISSION35_STORY = 326, // 0x00000146 - TEXT_MISSION35_BRIEFING = 327, // 0x00000147 - TEXT_MISSION35_OBJECTIVES = 328, // 0x00000148 - TEXT_MISSION35_HINTS = 329 // 0x00000149 - - } eTextSections; - - static_assert_cpp98_obj(sizeof(eTextSections) == 4, eTextSections); -} // namespace _SHCDE -} // namespace OpenSHC diff --git a/src/OpenSHC/_SHCDE/eTextSectionsInt.hpp b/src/OpenSHC/_SHCDE/eTextSectionsInt.hpp deleted file mode 100644 index 9cf75b8..0000000 --- a/src/OpenSHC/_SHCDE/eTextSectionsInt.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - AUTO_GENERATED: DO NOT TOUCH THIS FILE - path: 'OpenSHC/_SHCDE/eTextSectionsInt.hpp' -*/ - -#pragma once - -#include "OpenSHC/_SHCDE/eTextSections.hpp" - -namespace OpenSHC { -namespace _SHCDE { - typedef int eTextSectionsInt; - - static_assert_cpp98_obj(sizeof(eTextSectionsInt) == 4, eTextSectionsInt); -} // namespace _SHCDE -} // namespace OpenSHC From 98ca26fb0fd46c739dca06211c8c52ac847aa4c5 Mon Sep 17 00:00:00 2001 From: sourcehold Date: Sat, 2 May 2026 00:16:08 +0200 Subject: [PATCH 3/3] propagate upstream label changes --- src/precomp/addresses-SHC-3BB0A8C1.hpp | 213 ++++++++++--------------- 1 file changed, 80 insertions(+), 133 deletions(-) diff --git a/src/precomp/addresses-SHC-3BB0A8C1.hpp b/src/precomp/addresses-SHC-3BB0A8C1.hpp index da9d8d1..8fc09f1 100644 --- a/src/precomp/addresses-SHC-3BB0A8C1.hpp +++ b/src/precomp/addresses-SHC-3BB0A8C1.hpp @@ -33021,7 +33021,7 @@ enum { // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BAEC0 = 0x004BAEC0, - // label: FUN_004bb010 + // label: isMapperAvailable // location: OpenSHC/Map/MapPropertiesState // type: function SHC_3BB0A8C1_0x004BB010 = 0x004BB010, @@ -55340,7 +55340,7 @@ enum { // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x005364C0 = 0x005364C0, - // label: meth_0x536530 + // label: getTunnelerIDOnlyIfFirstSelected // location: OpenSHC/Map/Units/UnitsState // type: function SHC_3BB0A8C1_0x00536530 = 0x00536530, @@ -77803,6 +77803,8 @@ enum { // location: OpenSHC/Meta // type: function SHC_3BB0A8C1_0x0059D7F2 = 0x0059D7F2, + // label: IMAGE_DIRECTORY_ENTRY_IAT + // location: // type: /pointer SHC_3BB0A8C1_0x0059E000 = 0x0059E000, // type: /pointer @@ -78813,17 +78815,38 @@ enum { SHC_3BB0A8C1_0x0059E81C = 0x0059E81C, // type: /string SHC_3BB0A8C1_0x0059E830 = 0x0059E830, + // type: /double + SHC_3BB0A8C1_0x0059E840 = 0x0059E840, + // type: /double + SHC_3BB0A8C1_0x0059E848 = 0x0059E848, + // type: /double + SHC_3BB0A8C1_0x0059E850 = 0x0059E850, + // type: /double + SHC_3BB0A8C1_0x0059E858 = 0x0059E858, + // type: /double + SHC_3BB0A8C1_0x0059E860 = 0x0059E860, // label: GRAVITY // location: + // type: /double SHC_3BB0A8C1_0x0059E868 = 0x0059E868, + // type: /double + SHC_3BB0A8C1_0x0059E870 = 0x0059E870, + // type: /double + SHC_3BB0A8C1_0x0059E878 = 0x0059E878, + // type: /double + SHC_3BB0A8C1_0x0059E880 = 0x0059E880, + // type: /double + SHC_3BB0A8C1_0x0059E888 = 0x0059E888, + // type: /double + SHC_3BB0A8C1_0x0059E890 = 0x0059E890, // label: GRAVITY_DIV_2 // location: + // type: /double SHC_3BB0A8C1_0x0059E898 = 0x0059E898, // label: SFX_BuildingsAreOnFireSire - // label: SFX_BuildingsAreOnFireSire2 // location: // type: /string - SHC_3BB0A8C1_0x0059E89F = 0x0059E89F, + SHC_3BB0A8C1_0x0059E8A0 = 0x0059E8A0, // label: SFX_WeLostControlOfAGatehouse // location: // type: /string @@ -80486,16 +80509,28 @@ enum { // location: // type: /char[20] SHC_3BB0A8C1_0x005A2758 = 0x005A2758, + // label: STR_EQUALS + // location: // type: /char[4] SHC_3BB0A8C1_0x005A276C = 0x005A276C, + // label: STR_PERCENTAGE + // location: // type: /char[4] SHC_3BB0A8C1_0x005A2770 = 0x005A2770, + // label: STR_CLOSE_BRACE + // location: // type: /char[4] SHC_3BB0A8C1_0x005A2774 = 0x005A2774, + // label: STR_OPEN_BRACE + // location: // type: /char[4] SHC_3BB0A8C1_0x005A2778 = 0x005A2778, + // label: STR_SLASH + // location: // type: /char[4] SHC_3BB0A8C1_0x005A277C = 0x005A277C, + // label: STR_FMT_D_SLASH_D + // location: // type: /char[8] SHC_3BB0A8C1_0x005A2780 = 0x005A2780, // label: SFX_TheRoundTable @@ -80506,8 +80541,12 @@ enum { // location: // type: /char[16] SHC_3BB0A8C1_0x005A2798 = 0x005A2798, + // label: STR_AutoBackupMap + // location: // type: /char[20] SHC_3BB0A8C1_0x005A27A8 = 0x005A27A8, + // label: STR_Mission22Map + // location: // type: /char[16] SHC_3BB0A8C1_0x005A27BC = 0x005A27BC, // label: SFX_YourAllies @@ -85488,6 +85527,8 @@ enum { SHC_3BB0A8C1_0x005ACE48 = 0x005ACE48, // type: /double SHC_3BB0A8C1_0x005ACE50 = 0x005ACE50, + // type: /longdouble + SHC_3BB0A8C1_0x005ACE5A = 0x005ACE5A, // type: /double SHC_3BB0A8C1_0x005AE4A0 = 0x005AE4A0, // type: /double @@ -89816,147 +89857,43 @@ enum { SHC_3BB0A8C1_0x005B3FA8 = 0x005B3FA8, // type: /pointer SHC_3BB0A8C1_0x005B3FC8 = 0x005B3FC8, - // type: /dword + // type: /pointer + SHC_3BB0A8C1_0x005B41AC = 0x005B41AC, + // type: /pointer + SHC_3BB0A8C1_0x005B41B0 = 0x005B41B0, + // type: /pointer + SHC_3BB0A8C1_0x005B41D0 = 0x005B41D0, + // label: IMAGE_DIRECTORY_ENTRY_IMPORT + // location: + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B41D4 = 0x005B41D4, - // type: /dword - SHC_3BB0A8C1_0x005B41D8 = 0x005B41D8, - // type: /dword - SHC_3BB0A8C1_0x005B41DC = 0x005B41DC, - // type: /dword - SHC_3BB0A8C1_0x005B41E0 = 0x005B41E0, - // type: /dword - SHC_3BB0A8C1_0x005B41E4 = 0x005B41E4, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B41E8 = 0x005B41E8, - // type: /dword - SHC_3BB0A8C1_0x005B41EC = 0x005B41EC, - // type: /dword - SHC_3BB0A8C1_0x005B41F0 = 0x005B41F0, - // type: /dword - SHC_3BB0A8C1_0x005B41F4 = 0x005B41F4, - // type: /dword - SHC_3BB0A8C1_0x005B41F8 = 0x005B41F8, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B41FC = 0x005B41FC, - // type: /dword - SHC_3BB0A8C1_0x005B4200 = 0x005B4200, - // type: /dword - SHC_3BB0A8C1_0x005B4204 = 0x005B4204, - // type: /dword - SHC_3BB0A8C1_0x005B4208 = 0x005B4208, - // type: /dword - SHC_3BB0A8C1_0x005B420C = 0x005B420C, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B4210 = 0x005B4210, - // type: /dword - SHC_3BB0A8C1_0x005B4214 = 0x005B4214, - // type: /dword - SHC_3BB0A8C1_0x005B4218 = 0x005B4218, - // type: /dword - SHC_3BB0A8C1_0x005B421C = 0x005B421C, - // type: /dword - SHC_3BB0A8C1_0x005B4220 = 0x005B4220, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B4224 = 0x005B4224, - // type: /dword - SHC_3BB0A8C1_0x005B4228 = 0x005B4228, - // type: /dword - SHC_3BB0A8C1_0x005B422C = 0x005B422C, - // type: /dword - SHC_3BB0A8C1_0x005B4230 = 0x005B4230, - // type: /dword - SHC_3BB0A8C1_0x005B4234 = 0x005B4234, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B4238 = 0x005B4238, - // type: /dword - SHC_3BB0A8C1_0x005B423C = 0x005B423C, - // type: /dword - SHC_3BB0A8C1_0x005B4240 = 0x005B4240, - // type: /dword - SHC_3BB0A8C1_0x005B4244 = 0x005B4244, - // type: /dword - SHC_3BB0A8C1_0x005B4248 = 0x005B4248, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B424C = 0x005B424C, - // type: /dword - SHC_3BB0A8C1_0x005B4250 = 0x005B4250, - // type: /dword - SHC_3BB0A8C1_0x005B4254 = 0x005B4254, - // type: /dword - SHC_3BB0A8C1_0x005B4258 = 0x005B4258, - // type: /dword - SHC_3BB0A8C1_0x005B425C = 0x005B425C, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B4260 = 0x005B4260, - // type: /dword - SHC_3BB0A8C1_0x005B4264 = 0x005B4264, - // type: /dword - SHC_3BB0A8C1_0x005B4268 = 0x005B4268, - // type: /dword - SHC_3BB0A8C1_0x005B426C = 0x005B426C, - // type: /dword - SHC_3BB0A8C1_0x005B4270 = 0x005B4270, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B4274 = 0x005B4274, - // type: /dword - SHC_3BB0A8C1_0x005B4278 = 0x005B4278, - // type: /dword - SHC_3BB0A8C1_0x005B427C = 0x005B427C, - // type: /dword - SHC_3BB0A8C1_0x005B4280 = 0x005B4280, - // type: /dword - SHC_3BB0A8C1_0x005B4284 = 0x005B4284, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B4288 = 0x005B4288, - // type: /dword - SHC_3BB0A8C1_0x005B428C = 0x005B428C, - // type: /dword - SHC_3BB0A8C1_0x005B4290 = 0x005B4290, - // type: /dword - SHC_3BB0A8C1_0x005B4294 = 0x005B4294, - // type: /dword - SHC_3BB0A8C1_0x005B4298 = 0x005B4298, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B429C = 0x005B429C, - // type: /dword - SHC_3BB0A8C1_0x005B42A0 = 0x005B42A0, - // type: /dword - SHC_3BB0A8C1_0x005B42A4 = 0x005B42A4, - // type: /dword - SHC_3BB0A8C1_0x005B42A8 = 0x005B42A8, - // type: /dword - SHC_3BB0A8C1_0x005B42AC = 0x005B42AC, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B42B0 = 0x005B42B0, - // type: /dword - SHC_3BB0A8C1_0x005B42B4 = 0x005B42B4, - // type: /dword - SHC_3BB0A8C1_0x005B42B8 = 0x005B42B8, - // type: /dword - SHC_3BB0A8C1_0x005B42BC = 0x005B42BC, - // type: /dword - SHC_3BB0A8C1_0x005B42C0 = 0x005B42C0, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B42C4 = 0x005B42C4, - // type: /dword - SHC_3BB0A8C1_0x005B42C8 = 0x005B42C8, - // type: /dword - SHC_3BB0A8C1_0x005B42CC = 0x005B42CC, - // type: /dword - SHC_3BB0A8C1_0x005B42D0 = 0x005B42D0, - // type: /dword - SHC_3BB0A8C1_0x005B42D4 = 0x005B42D4, - // type: /dword + // type: winnt/IMAGE_IMPORT_DESCRIPTOR SHC_3BB0A8C1_0x005B42D8 = 0x005B42D8, // type: /dword - SHC_3BB0A8C1_0x005B42DC = 0x005B42DC, - // type: /dword - SHC_3BB0A8C1_0x005B42E0 = 0x005B42E0, - // type: /dword - SHC_3BB0A8C1_0x005B42E4 = 0x005B42E4, - // type: /dword - SHC_3BB0A8C1_0x005B42E8 = 0x005B42E8, - // type: /dword SHC_3BB0A8C1_0x005B4300 = 0x005B4300, // type: /dword SHC_3BB0A8C1_0x005B4304 = 0x005B4304, @@ -94082,7 +94019,7 @@ enum { // location: // type: /pointer[32] SHC_3BB0A8C1_0x00B98710 = 0x00B98710, - // label: GMImageHeaders + // label: DAT_GMImageHeaders // location: // type: OpenSHC/IO/Graphics/ImageHeader[66000] SHC_3BB0A8C1_0x00B98790 = 0x00B98790, @@ -94090,11 +94027,11 @@ enum { SHC_3BB0A8C1_0x00C9A490 = 0x00C9A490, // type: /pointer[32] SHC_3BB0A8C1_0x00C9A510 = 0x00C9A510, - // label: GMImageSizes + // label: DAT_GMImageSizes // location: // type: /int[116000] SHC_3BB0A8C1_0x00C9A590 = 0x00C9A590, - // label: GMImageOffsets + // label: DAT_GMImageOffsets // location: // type: /int[116000] SHC_3BB0A8C1_0x00D0BA10 = 0x00D0BA10, @@ -94958,6 +94895,8 @@ enum { // label: DAT_SkMasterDataEntries // location: SHC_3BB0A8C1_0x00DF663C = 0x00DF663C, + // label: CHAR_ARRAY_00eb0ab0 + // location: // type: /char[64] SHC_3BB0A8C1_0x00EB0AB0 = 0x00EB0AB0, // type: /int[9] @@ -95002,6 +94941,8 @@ enum { SHC_3BB0A8C1_0x00EB9AC0 = 0x00EB9AC0, // type: /dword SHC_3BB0A8C1_0x00EB9AC4 = 0x00EB9AC4, + // label: CHAR_ARRAY_00eb9ac8 + // location: // type: /char[32] SHC_3BB0A8C1_0x00EB9AC8 = 0x00EB9AC8, // type: /int @@ -95149,6 +95090,10 @@ enum { // label: DAT_TacticalPowersHelpTextDisplayBool // location: SHC_3BB0A8C1_0x00ED3128 = 0x00ED3128, + // type: /dword + SHC_3BB0A8C1_0x00ED3138 = 0x00ED3138, + // type: OpenSHC/WindowsHelper/Enums/BOOLEnum + SHC_3BB0A8C1_0x00ED313C = 0x00ED313C, // type: /int SHC_3BB0A8C1_0x00ED3144 = 0x00ED3144, // type: /undefined4 @@ -97721,6 +97666,8 @@ enum { SHC_3BB0A8C1_0x02429238 = 0x02429238, // type: /pointer SHC_3BB0A8C1_0x0242923C = 0x0242923C, + // label: IMAGE_DIRECTORY_ENTRY_RESOURCE + // location: // type: PE/IMAGE_RESOURCE_DIRECTORY SHC_3BB0A8C1_0x0242A000 = 0x0242A000, // type: PE/IMAGE_RESOURCE_DIRECTORY_ENTRY