Skip to content

Commit 182a8b8

Browse files
A-xeseyRosalie241
authored andcommitted
VerbIconData update
1 parent 22ed6ac commit 182a8b8

3 files changed

Lines changed: 110 additions & 13 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#ifndef MODAPI_DLL_EXPORT
2+
#include <Spore\Editors\VerbIconData.h>
3+
4+
5+
namespace Editors
6+
{
7+
auto_METHOD_VIRTUAL_(VerbIconData, VerbIconData, int, AddRef);
8+
auto_METHOD_VIRTUAL_(VerbIconData, VerbIconData, int, Release);
9+
auto_METHOD_VIRTUAL_(VerbIconData, VerbIconData, void*, Dispose);
10+
auto_METHOD_VIRTUAL(VerbIconData, VerbIconData, void*, AsInterface, Args(Editors::VerbIconData::InterfaceId interfaceID), Args(interfaceID));
11+
auto_METHOD_VIRTUAL_VOID(VerbIconData, VerbIconData, Init, Args(App::PropertyList* abilityProp), Args(abilityProp));
12+
auto_METHOD_VIRTUAL_VOID_(VerbIconData, VerbIconData, Shutdown);
13+
auto_METHOD_VIRTUAL_VOID(VerbIconData, VerbIconData, SetArrayIndex, Args(int arrayIndex), Args(arrayIndex));
14+
auto_METHOD_VIRTUAL_VOID(VerbIconData, VerbIconData, SetHotKey, Args(int verbIconTriggerKey), Args(verbIconTriggerKey));
15+
auto_METHOD_VIRTUAL(VerbIconData, VerbIconData, eastl::string16, GetIconName, Args(eastl::string16* iconName, bool includeLevel), Args(iconName, includeLevel));
16+
auto_METHOD_VIRTUAL(VerbIconData, VerbIconData, eastl::string16, GetIconDescription, Args(eastl::string16* iconDesc), Args(iconDesc));
17+
}
18+
#endif

Spore ModAPI/Spore ModAPI.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2738,6 +2738,9 @@
27382738
<ClCompile Include="SourceCode\OpenSSL.cpp">
27392739
<Filter>Source Files</Filter>
27402740
</ClCompile>
2741+
<ClCompile Include="SourceCode\Editors\VerbIconData.cpp">
2742+
<Filter>Source Files</Filter>
2743+
</ClCompile>
27412744
</ItemGroup>
27422745
<ItemGroup>
27432746
<Natvis Include="EASTL.natvis" />

Spore ModAPI/Spore/Editors/VerbIconData.h

Lines changed: 89 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,94 @@
1111
namespace Editors
1212
{
1313
class VerbIconData
14-
: public Object
15-
, public DefaultRefCounted
14+
//: public Object
15+
: public DefaultRefCounted
1616
{
1717
public:
1818
static const uint32_t TYPE = 0x4AA0ACD;
19+
20+
enum InterfaceId
21+
{
22+
kIIDMin = 0,
23+
kIIDFactory = 1,
24+
kIIDMax = 0xffffffff,
25+
};
1926

20-
/* 10h */ virtual void ParseProp(App::PropertyList* propList);
21-
/// Resets mpPropList
22-
/* 14h */ virtual void ClearPropList();
23-
/* 18h */ virtual void func18h(int);
27+
/* 00h */ virtual int AddRef();
28+
/* 04h */ virtual int Release();
29+
/* 08h */ virtual void* Dispose();
30+
/* 0Ch */ virtual void* AsInterface(InterfaceId propList);
31+
/* 10h */ virtual void Init(App::PropertyList* propList);
32+
/* 14h */ virtual void Shutdown();
33+
/* 18h */ virtual void SetArrayIndex(int arrayIndex);
2434
/// Used to generate text
25-
/* 20h */ virtual void SetKey(int verbIconTriggerKey);
26-
/* 24h */ virtual eastl::string16 GetName(bool includeLevel);
27-
/* 28h */ virtual eastl::string16 GetDescription();
35+
/* 1Ch */ virtual void SetHotKey(int verbIconTriggerKey);
36+
/* 20h */ virtual eastl::string16 GetIconName(eastl::string16* iconName,bool includeLevel);
37+
/* 24h */ virtual eastl::string16 GetIconDescription(eastl::string16* iconDesc);
38+
39+
enum eVerbIconCategory
40+
{
41+
kVerbCategoryNULL = 0,
42+
kVerbCategoryTribeAttack = 180661997,
43+
kVerbCategoryVehiclePower = 360359141,
44+
kVerbCategorySpeed = 640949982,
45+
kVerbCategoryTribeArmor = 662199250,
46+
kVerbCategoryHerbivore = 771444639,
47+
kVerbCategorySpit = 823131355,
48+
kVerbCategoryCellCilia = 835506386,
49+
kVerbCategoryVehicleDefense = 886488350,
50+
kVerbCategoryCellJaw = 1101458518,
51+
kVerbCategoryCellJet = 1168568857,
52+
kVerbCategorySprint = 1296465089,
53+
kVerbCategoryCellOmnivore = 1377441237,
54+
kVerbCategoryCellElectric = 1470348634,
55+
kVerbCategoryVehicleSpeed = 1501155019,
56+
kVerbCategoryOmnivore = 1557282664,
57+
kVerbCategoryTribeSocial = 1589650888,
58+
kVerbCategoryCellPoison = 1601154124,
59+
kVerbCategoryBite = 1645043423,
60+
kVerbCategoryDance = 1924791374,
61+
kVerbCategoryStarvivore = 2095425492,
62+
kVerbCategoryCellFlagella = 2165516464,
63+
kVerbCategoryGesture = 2167648234,
64+
kVerbCategoryPower = 2391494160,
65+
kVerbCategoryDefense = 2564315215,
66+
kVerbCategoryCarnivore = 2726979560,
67+
kVerbCategoryStealth = 2909291642,
68+
kVerbCategoryPosture = 2909789983,
69+
kVerbCategoryCellHealth = 2964572918,
70+
kVerbCategoryGlide = 2968795556,
71+
kVerbCategoryCellPoker = 3013574067,
72+
kVerbCategoryCellFilter = 3020374546,
73+
kVerbCategoryTribeFishing = 3188984297,
74+
kVerbCategoryTribeGather = 3253334812,
75+
kVerbCategoryVocalize = 3478552014,
76+
kVerbCategoryCellStarvivore = 3610717237,
77+
kVerbCategoryCellSpike = 3634179486,
78+
kVerbCategoryCellHerbivore = 3653024240,
79+
kVerbCategoryHealth = 3677180323,
80+
kVerbCategoryCellCarnivore = 3751859903,
81+
kVerbCategoryCall = 3753286133,
82+
kVerbCategoryJump = 3833651337,
83+
kVerbCategoryBlock = 4001580976,
84+
kVerbCategorySense = 4069948569,
85+
kVerbCategoryStrike = 4110605575,
86+
kVerbCategoryGrasp = 4248645338,
87+
kVerbCategoryCharge = 4285247397
88+
};
2889

2990
public:
3091
/* 0Ch */ bool mVerbIconUseDescription; // true
3192
/* 0Dh */ bool mVerbIconShowLevel; // true
3293
/* 0Eh */ bool mPaletteItemRolloverShowLevel; // true
3394
/* 0Fh */ bool mVerbIconRolloverShowLevel; // true
34-
/* 10h */ bool field_10;
95+
/* 10h */ bool mShowHotKey;
3596
/* 11h */ bool mVerbIconShowZeroLevel;
3697
/* 14h */ int mVerbIconTriggerKey; // -1
37-
/* 18h */ int field_18; // not initialized
98+
/* 18h */ float mVerbIconLevel; // not initialized
3899
/* 1Ch */ float mVerbIconMaxLevel;
39100
/* 20h */ int field_20; // not initialized
40-
/* 24h */ uint32_t mVerbIconCategory;
101+
/* 24h */ eVerbIconCategory mVerbIconCategory;
41102
/* 28h */ uint32_t mVerbIconRepresentativeAnimation; // -1
42103
/* 2Ch */ Math::ColorRGBA mVerbIconColor;
43104
/* 3Ch */ uint32_t mVerbIconRolloverLevelImageID;
@@ -61,5 +122,20 @@ namespace Editors
61122
/* B4h */ ResourceKey mVerbIconStaticLayout;
62123
/* C0h */ PropertyListPtr mpPropList;
63124
};
64-
ASSERT_SIZE(VerbIconData, 0xC4);
125+
ASSERT_SIZE(VerbIconData, 0xC0);
126+
127+
namespace Addresses(VerbIconData)
128+
{
129+
DeclareAddress(AddRef);
130+
DeclareAddress(Release);
131+
DeclareAddress(Dispose);
132+
DeclareAddress(AsInterface);
133+
DeclareAddress(Init);
134+
DeclareAddress(Shutdown);
135+
DeclareAddress(SetArrayIndex);
136+
DeclareAddress(SetHotKey);
137+
DeclareAddress(GetIconName);
138+
DeclareAddress(OnKeyDown);
139+
DeclareAddress(GetIconDescription);
140+
}
65141
}

0 commit comments

Comments
 (0)