Skip to content

Commit 3f82e44

Browse files
authored
Update headers cSpeciesProfile, cCreatureAbility, cTerraformingManager, cObstacle, GamePlantManager and cPlantCargoInfo and SimulatorEnums (#97)
* cSpeciesProfile update * Add enum Ability types and rename cSpeciesProfile variables * Update cSpeciesProfile and SimulatorEnums * edit AbilityTypes names SocialHorn, SocialMaraca and SocialDidgeridoo to TribeHorn, TribeMaraca and TribeDidgeroo * Update plant's functions update GamePlantManager.h, TerraformingManager.h, cObstacle.h Add some libraries to Simulator.h and Editor.h
1 parent 474a155 commit 3f82e44

File tree

9 files changed

+210
-171
lines changed

9 files changed

+210
-171
lines changed

Spore ModAPI/Spore/Editors/Editor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@
3232
#include <Spore\Editors\EditorRigblock.h>
3333
#include <Spore\Editors\EditorCamera.h>
3434
#include <Spore\Editors\EditorModel.h>
35+
#include <Spore\Editors\EditorUI.h>
3536
#include <Spore\Editors\EditorPlayMode.h>
3637
#include <Spore\Editors\EditorRequest.h>
3738
#include <Spore\Editors\EditorLimits.h>
3839
#include <Spore\Editors\INameableEntity.h>
3940
#include <Spore\Editors\cEditorSkin.h>
4041
#include <Spore\Editors\cEditorAnimEvent.h>
4142
#include <Spore\Editors\cEditorAnimWorld.h>
43+
#include <Spore\Editors\BakeManager.h>
4244

4345
#include <Spore\Graphics\Model.h>
4446
#include <Spore\Graphics\ILayer.h>

Spore ModAPI/Spore/Simulator.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
#include <Spore\Simulator\cTimeOfDay.h>
6161
#include <Spore\Simulator\cCreatureCitizen.h>
6262
#include <Spore\Simulator\cGamePlant.h>
63+
#include <Spore\Simulator\cObstacle.h>
6364
#include <Spore\Simulator\cBuildingScenario.h>
6465
#include <Spore\Simulator\cBuildingIndustry.h>
6566
#include <Spore\Simulator\cBuildingHouse.h>

Spore ModAPI/Spore/Simulator/SimulatorEnums.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,16 +354,16 @@ namespace Simulator
354354
enum SpaceToolTarget
355355
{
356356
/* shr 0 */ kTargetAnimal = 1,
357-
/* shr 1 */ kTargetA13ABC9F = 2,
357+
/* shr 1 */ kTargetCitizen = 2,
358358
/* shr 2 */ kTargetUFO = 4,
359359
/* shr 3 */ kTargetVehicle = 8,
360360
/* shr 4 */ kTargetTurret = 0x10,
361361
/* shr 5 */ kTargetCity = 0x20,
362362
/* shr 6 */ kTargetBuilding = 0x40,
363363
/* shr 7 */ kTargetWorld = 0x80,
364364
/* shr 8 */ kTargetAir = 0x100,
365-
/* shr 9 */ kTargetA6663355 = 0x200,
366-
/* shr 10 */ //4BF0FA5A = 0x400
365+
/* shr 9 */ kTargetEnemyOnly = 0x200,
366+
/* shr 10 */ kTargetColonyObject = 0x400
367367
};
368368

369369
/// Different types of actions that a tribe can carry, used by Simulator::cTribePlanner.

Spore ModAPI/Spore/Simulator/SubSystem/GamePlantManager.h

Lines changed: 16 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -16,91 +16,38 @@ namespace Simulator
1616
public:
1717
static cGamePlantManager* Get();
1818

19+
struct PlantSlot
20+
{
21+
/* 00h */ ResourceKey plantKey;
22+
/* 0Ch */ uint32_t mModelIDLOD0;
23+
/* 10h */ uint32_t mModelIDLOD1;
24+
/* 14h */ uint32_t mModelIDLOD2;
25+
/* 18h */ uint32_t mModelIDLOD3;
26+
};
27+
1928
public:
20-
/* 20h */ int field_20;
29+
/* 20h */ int field_20;// bool?
2130
/* 24h */ float field_24;
2231
/* 28h */ int field_28;
2332
/* 2Ch */ int field_2C;
2433
/* 30h */ int mInitializationType;
25-
/* 34h */ int field_34;
26-
/* 38h */ int field_38;
34+
/* 34h */ bool IsPlanetExisted;
35+
/* 38h */ int field_38;//Property? Ptr of smh
2736
/* 3Ch */ ObjectPtr field_3C;
2837
/* 40h */ ObjectPtr field_40;
29-
/* 44h */ int field_44;
30-
/* 48h */ int field_48;
31-
/* 4Ch */ int field_4C;
32-
/* 50h */ int field_50;
33-
/* 54h */ int field_54;
34-
/* 58h */ int field_58;
35-
/* 5Ch */ int field_5C;
36-
/* 60h */ int field_60;
37-
/* 64h */ int field_64;
38-
/* 68h */ int field_68;
39-
/* 6Ch */ int field_6C;
40-
/* 70h */ int field_70;
41-
/* 74h */ int field_74;
42-
/* 78h */ int field_78;
43-
/* 7Ch */ int field_7C;
44-
/* 80h */ int field_80;
45-
/* 84h */ int field_84;
46-
/* 88h */ int field_88;
47-
/* 8Ch */ int field_8C;
48-
/* 90h */ int field_90;
49-
/* 94h */ int field_94;
50-
/* 98h */ int field_98;
51-
/* 9Ch */ int field_9C;
52-
/* A0h */ int field_A0;
53-
/* A4h */ int field_A4;
54-
/* A8h */ int field_A8;
55-
/* ACh */ int field_AC;
56-
/* B0h */ int field_B0;
57-
/* B4h */ int field_B4;
58-
/* B8h */ int field_B8;
59-
/* BCh */ int field_BC;
60-
/* C0h */ int field_C0;
61-
/* C4h */ int field_C4;
62-
/* C8h */ int field_C8;
63-
/* CCh */ int field_CC;
64-
/* D0h */ int field_D0;
65-
/* D4h */ int field_D4;
66-
/* D8h */ int field_D8;
67-
/* DCh */ int field_DC;
68-
/* E0h */ int field_E0;
69-
/* E4h */ int field_E4;
70-
/* E8h */ int field_E8;
71-
/* ECh */ int field_EC;
72-
/* F0h */ int field_F0;
73-
/* F4h */ int field_F4;
74-
/* F8h */ int field_F8;
75-
/* FCh */ int field_FC;
76-
/* 100h */ int field_100;
77-
/* 104h */ int field_104;
78-
/* 108h */ int field_108;
79-
/* 10Ch */ int field_10C;
80-
/* 110h */ int field_110;
81-
/* 114h */ int field_114;
82-
/* 118h */ int field_118;
83-
/* 11Ch */ int field_11C;
84-
/* 120h */ int field_120;
85-
/* 124h */ int field_124;
86-
/* 128h */ int field_128;
87-
/* 12Ch */ int field_12C;
88-
/* 130h */ int field_130;
89-
/* 134h */ int field_134;
90-
/* 138h */ int field_138;
91-
/* 13Ch */ int field_13C;
38+
/* 44h */ PlantSlot Plants[9];
9239
/* 140h */ int field_140;
9340
/* 144h */ int field_144;
9441
/* 148h */ int field_148;
9542
/* 14Ch */ int field_14C;
9643
/* 150h */ int field_150;
9744
/* 154h */ int field_154;
98-
/* 158h */ int field_158;
45+
/* 158h */ uint32_t GameModeID;
9946
/* 15Ch */ eastl::vector<int> field_15C;
10047
/* 170h */ int field_170;
10148
/* 174h */ int field_174;
10249
/* 178h */ int field_178;
103-
/* 17Ch */ int field_17C;
50+
/* 17Ch */ int field_17C; //Simulator::cPlanetRecord* ? or cPlanetRecordPtr
10451
/* 180h */ int field_180;
10552
/* 184h */ int field_184;
10653
/* 188h */ int field_188;
@@ -113,7 +60,7 @@ namespace Simulator
11360
/* 1BCh */ int field_1BC;
11461
/* 1C0h */ int field_1C0;
11562
/* 1C4h */ int field_1C4;
116-
/* 1C8h */ int field_1C8;
63+
/* 1C8h */ int field_1C8; //?
11764
/* 1CCh */ int field_1CC;
11865
/* 1D0h */ int field_1D0;
11966
/* 1D4h */ int field_1D4;

Spore ModAPI/Spore/Simulator/SubSystem/TerraformingManager.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,13 @@ namespace Simulator
4343
public:
4444
/* 1Ch */ eastl::hash_map<int, int> field_1C;
4545
/* 3Ch */ bool field_3C; // true
46-
/* 40h */ int field_40; // -1
46+
/* 40h */ uint32_t mGameModeID; // -1
4747
/* 44h */ bool field_44;
4848
/* 48h */ eastl::map<int, int> field_48;
4949
/* 64h */ int field_64;
5050
/* 68h */ eastl::vector<cCommodityNodePtr> mCommodityNodes;
51-
/* 7Ch */ int field_7C;
52-
/* 80h */ int field_80;
53-
/* 84h */ int field_84;
54-
/* 88h */ int field_88;
55-
/* 8Ch */ int field_8C;
56-
/* 90h */ int field_90;
51+
/* 7Ch */ ResourceKey SelectedTerraformingSlot;
52+
/* 88h */ ResourceKey field_88;
5753

5854
public:
5955
static cTerraformingManager* Get();

Spore ModAPI/Spore/Simulator/cCreatureAbility.h

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,79 @@ namespace Simulator
3636

3737
static bool Parse(cCreatureAbility* pAbility, App::PropertyList* pPropList);
3838

39+
enum AbilityTypes
40+
{
41+
kTribeHorn = 5,
42+
kTribeMaraca = 6,
43+
kTribeDidgeridoo = 7,
44+
kAutoAttack = 8,
45+
kStealth = 13,
46+
kSpeed = 14,
47+
kBlock = 15,
48+
kMatingCall = 16,
49+
kJump = 17,
50+
kGlide = 18,
51+
kGrasper = 19,
52+
kRation = 27,
53+
kScan = 29,
54+
kBite = 30,
55+
kCharge = 31,
56+
kSpit = 32,
57+
kStrike = 33,
58+
kDance = 34,
59+
kPose = 35,
60+
kCharm = 36,
61+
kSing = 37,
62+
kSprint = 39,
63+
kSight = 40,
64+
kStomp = 41,
65+
kTribeAttackUnk = 42,
66+
kTribeSpear = 43,
67+
kTribeAttack = 44,
68+
kTribeSocial = 45,
69+
kTribeArmor = 46,
70+
kTribeGathering = 47,
71+
kTribeFishing = 48,
72+
kCRG_SuperPower_Carnivore = 49,
73+
kCRG_SuperPower_Herbivore = 50,
74+
kCRG_SuperPower_Omnivore = 51,
75+
kTRG_SuperPower_Carnivore = 52,
76+
kTRG_SuperPower_Herbivore = 53,
77+
kTRG_SuperPower_Omnivore = 54,
78+
kTRG_SuperPower_Aggressive = 55,
79+
kTRG_SuperPower_Social = 56,
80+
kTRG_SuperPower_Versatile = 57,
81+
kTribeTorch = 58,
82+
kTribeAxe = 59,
83+
kEnergyRegen = 60,
84+
kMissile = 61,
85+
kEnergyBlade = 62,
86+
kShieldGenerator = 63,
87+
kHoloCharm = 64,
88+
kLightningSword = 65,
89+
kPulseGun = 66,
90+
kBattleArmor = 67,
91+
kPoweredArmor = 68,
92+
kEnergyAbsorption = 69,
93+
kHealthRegen = 70,
94+
kSummonSwarm = 72,
95+
kMindMeld = 73,
96+
kPoisonBlade = 74,
97+
kFreeze = 75,
98+
kGracefulWaltz = 76,
99+
kHarmoniousSong = 77,
100+
kRoyalCharm = 78,
101+
kRadiantPose = 79,
102+
kSprintBurst = 80,
103+
kHover = 81,
104+
kStealthField = 82,
105+
kJumpJet = 83,
106+
kInspiringSong = 84,
107+
kStunningDance = 85,
108+
kConfettiPose = 86,
109+
kEnergyStorage = 87,
110+
};
111+
39112
//PLACEHOLDER loc_D1E9D0 uses ability type?
40113

41114
/// Returns the animation ID at the given index, or 0x4330667 if there are no animation IDs in this ability or

Spore ModAPI/Spore/Simulator/cObstacle.h

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,21 @@ namespace Simulator
1414
static const uint32_t TYPE = 0x3ED590D;
1515
static const uint32_t NOUN_ID = 0x3ED8573;
1616

17+
using Object::AddRef;
18+
using Object::Release;
19+
using Object::Cast;
20+
21+
enum PlantType
22+
{
23+
kLargeSpecies = 0,
24+
kMediumSpecies = 1,
25+
kSmallSpecies = 2,
26+
};
27+
1728
public:
1829
/* 34h */ int field_34;
19-
/* 38h */ Math::Vector3 field_38;
20-
/* 44h */ float field_44;
30+
/* 38h */ Math::Vector3 mPosition;
31+
/* 44h */ float mObstacleBaseCollisionRadius;
2132
/* 48h */ float mObstacleCanopyCollisionRadius;
2233
/* 4Ch */ float mObstacleCollisionHeight;
2334
/* 50h */ int field_50; // -1
@@ -31,8 +42,8 @@ namespace Simulator
3142
/* 70h */ ModelPtr mModel;
3243
/* 74h */ int field_74;
3344
/* 78h */ int field_78;
34-
/* 7Ch */ ResourceKey field_7C;
35-
/* 88h */ int field_88;
45+
/* 7Ch */ ResourceKey mSpeciesKey;
46+
/* 88h */ PlantType mPlantType;
3647
};
3748
ASSERT_SIZE(cObstacle, 0x8C);
3849
}

Spore ModAPI/Spore/Simulator/cPlantCargoInfo.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ namespace Simulator
2020
/* 84h */ uint32_t mModelIDLOD2;
2121
/* 88h */ uint32_t mModelIDLOD3;
2222
/* 8Ch */ uint32_t mAlphaModel;
23-
/* 90h */ float field_90; // 2.0
23+
/* 90h */ float mFloraImposterScale;
2424
/* 94h */ float mBaseRadius;
2525
/* 98h */ float mCanopyRadius;
2626
/* 9Ch */ float mHeight;
27-
/* A0h */ int field_A0; //species profile? //TODO what is this type?
27+
/* A0h */ cSpeciesProfile* mSpeciesProfile; //species profile? //TODO what is this type?
2828
};
2929
ASSERT_SIZE(cPlantCargoInfo, 0xA4);
3030
}

0 commit comments

Comments
 (0)