Skip to content

Commit 63edd46

Browse files
committed
Update plant's functions
update GamePlantManager.h, TerraformingManager.h, cObstacle.h Add some libraries to Simulator.h and Editor.h
1 parent 40af39d commit 63edd46

6 files changed

Lines changed: 39 additions & 82 deletions

File tree

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/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/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)