11#pragma once
22
3- //#error "Not supported yet"
4- //
5- //#include <Spore\Internal.h>
6- //
7- //namespace App
8- //{
9- // //TODO PLACEHOLDER, ctor at loc_7E56F0
10- // class IStateManager
11- // {
12- // public:
13- // static IStateManager* Get();
14- // };
15- //
16- // inline IStateManager* StateManager() {
17- // return IStateManager::Get();
18- // }
19- //
20- // namespace Addresses(IStateManager) {
21- // DeclareAddress(Get);
22- // }
23- //}
3+ #include < Spore\Object.h>
4+ #include < Spore\App\CommandLine.h>
5+ #include < EASTL\vector.h>
6+
7+ #define StateManager (*App::IStateManager::Get ())
8+
9+ namespace App
10+ {
11+ class IStateManager
12+ : public Object
13+ {
14+ public:
15+ static const uint32_t TYPE = 0xBE9741 ;
16+
17+ static IStateManager* Get ();
18+
19+ /* 10h */ virtual bool Init (const char * cheatName) = 0;
20+ /* 14h */ virtual bool Shutdown () = 0;
21+ /* 18h */ virtual void Update () = 0;
22+ /* 1Ch */ virtual bool LoadConfigFile (uint32_t instanceID, uint32_t groupID, App::CommandLine* commandLine, bool ) = 0;
23+ /* 20h */ virtual bool LoadConfigFileFromDisk (const char16_t * path, App::CommandLine* commandLine, bool ) = 0;
24+ /* 24h */ virtual bool IsValidState (uint32_t stateID) = 0;
25+ /* 28h */ virtual bool SwitchToState (uint32_t stateID) = 0;
26+ // / Always returns 0!!
27+ /* 2Ch */ virtual uint32_t CurrentState () = 0;
28+ /* 30h */ virtual const eastl::vector<uint32_t >& PreviousStates () = 0;
29+ /* 34h */ virtual bool StateOccurredPreviously (uint32_t stateID) = 0;
30+ /* 38h */ virtual uint32_t StateIDFromName (const char * name) = 0;
31+ /* 3Ch */ virtual const char * CurrentStateName () = 0;
32+ /* 40h */ virtual bool ResetToDefaultState () = 0;
33+ };
34+
35+ namespace Addresses ( IStateManager) {
36+ DeclareAddress (Get); // 0x67DE40 0x67DCE0
37+ }
38+ }
0 commit comments