Skip to content

Commit af8a9a4

Browse files
committed
Fix CreatureModeStrategy, add CreatureModeStrategies::Interact and CreatureModeStrategies::UnlockPart
1 parent ae4602c commit af8a9a4

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

Spore ModAPI/SourceCode/DLL/AddressesApp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ namespace App
449449

450450
namespace Addresses(cCreatureModeStrategy)
451451
{
452-
DefineAddress(Get, SelectAddress(0xD2D640, 0xD38840));
452+
DefineAddress(Get, SelectAddress(0xD37C40, 0xD38840));
453453
DefineAddress(ExecuteAction, SelectAddress(0xD38770, 0xD39360));
454454
}
455455

Spore ModAPI/Spore/App/cCreatureModeStrategy.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include <Spore\Clock.h>
77
#include <Spore\Simulator\SubSystem\cStrategy.h>
88
#include <Spore\Simulator\cCreatureDisplayStrategy.h>
9+
#include <Spore\Simulator\cCreatureBase.h>
910

1011
#define cCreatureModeStrategyPtr eastl::intrusive_ptr<App::cCreatureModeStrategy>
1112
#define ICreatureModeActionHandlerPtr eastl::intrusive_ptr<App::ICreatureModeActionHandler>
@@ -79,4 +80,23 @@ namespace App
7980
#ifdef SDK_TO_GHIDRA
8081
cCreatureModeStrategy* sCreatureModeStrategy;
8182
#endif
83+
84+
namespace CreatureModeStrategies {
85+
86+
struct Interact {
87+
static const uint32_t ID = 0xD3353638;
88+
89+
Simulator::cCreatureBase* creature;
90+
Simulator::cGameData* interactableObject;
91+
int count; // ?
92+
};
93+
94+
struct UnlockPart {
95+
static const uint32_t ID = 0xD3353638;
96+
97+
Simulator::cCreatureBase* creature;
98+
int field_4;
99+
int field_8;
100+
};
101+
}
82102
}

Spore ModAPI/Spore/Simulator.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@
8383
#include <Spore\Simulator\cPlanetaryArtifact.h>
8484
#include <Spore\Simulator\cRaidEvent.h>
8585
#include <Spore\Simulator\cRaidPlunderEvent.h>
86+
#include <Spore\Simulator\cInteractableObject.h>
87+
#include <Spore\Simulator\cInteractiveOrnament.h>
8688

8789
#include <Spore\Simulator\SimulatorMessages.h>
8890

0 commit comments

Comments
 (0)