Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Spore ModAPI/Spore/Editors/Editor.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,15 @@
#include <Spore\Editors\EditorRigblock.h>
#include <Spore\Editors\EditorCamera.h>
#include <Spore\Editors\EditorModel.h>
#include <Spore\Editors\EditorUI.h>
#include <Spore\Editors\EditorPlayMode.h>
#include <Spore\Editors\EditorRequest.h>
#include <Spore\Editors\EditorLimits.h>
#include <Spore\Editors\INameableEntity.h>
#include <Spore\Editors\cEditorSkin.h>
#include <Spore\Editors\cEditorAnimEvent.h>
#include <Spore\Editors\cEditorAnimWorld.h>
#include <Spore\Editors\BakeManager.h>

#include <Spore\Graphics\Model.h>
#include <Spore\Graphics\ILayer.h>
Expand Down
1 change: 1 addition & 0 deletions Spore ModAPI/Spore/Simulator.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
#include <Spore\Simulator\cTimeOfDay.h>
#include <Spore\Simulator\cCreatureCitizen.h>
#include <Spore\Simulator\cGamePlant.h>
#include <Spore\Simulator\cObstacle.h>
#include <Spore\Simulator\cBuildingScenario.h>
#include <Spore\Simulator\cBuildingIndustry.h>
#include <Spore\Simulator\cBuildingHouse.h>
Expand Down
6 changes: 3 additions & 3 deletions Spore ModAPI/Spore/Simulator/SimulatorEnums.h
Original file line number Diff line number Diff line change
Expand Up @@ -354,16 +354,16 @@ namespace Simulator
enum SpaceToolTarget
{
/* shr 0 */ kTargetAnimal = 1,
/* shr 1 */ kTargetA13ABC9F = 2,
/* shr 1 */ kTargetCitizen = 2,
/* shr 2 */ kTargetUFO = 4,
/* shr 3 */ kTargetVehicle = 8,
/* shr 4 */ kTargetTurret = 0x10,
/* shr 5 */ kTargetCity = 0x20,
/* shr 6 */ kTargetBuilding = 0x40,
/* shr 7 */ kTargetWorld = 0x80,
/* shr 8 */ kTargetAir = 0x100,
/* shr 9 */ kTargetA6663355 = 0x200,
/* shr 10 */ //4BF0FA5A = 0x400
/* shr 9 */ kTargetEnemyOnly = 0x200,
/* shr 10 */ kTargetColonyObject = 0x400
};

/// Different types of actions that a tribe can carry, used by Simulator::cTribePlanner.
Expand Down
85 changes: 16 additions & 69 deletions Spore ModAPI/Spore/Simulator/SubSystem/GamePlantManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,91 +16,38 @@ namespace Simulator
public:
static cGamePlantManager* Get();

struct PlantSlot
{
/* 00h */ ResourceKey plantKey;
/* 0Ch */ uint32_t mModelIDLOD0;
/* 10h */ uint32_t mModelIDLOD1;
/* 14h */ uint32_t mModelIDLOD2;
/* 18h */ uint32_t mModelIDLOD3;
};

public:
/* 20h */ int field_20;
/* 20h */ int field_20;// bool?
/* 24h */ float field_24;
/* 28h */ int field_28;
/* 2Ch */ int field_2C;
/* 30h */ int mInitializationType;
/* 34h */ int field_34;
/* 38h */ int field_38;
/* 34h */ bool IsPlanetExisted;
/* 38h */ int field_38;//Property? Ptr of smh
/* 3Ch */ ObjectPtr field_3C;
/* 40h */ ObjectPtr field_40;
/* 44h */ int field_44;
/* 48h */ int field_48;
/* 4Ch */ int field_4C;
/* 50h */ int field_50;
/* 54h */ int field_54;
/* 58h */ int field_58;
/* 5Ch */ int field_5C;
/* 60h */ int field_60;
/* 64h */ int field_64;
/* 68h */ int field_68;
/* 6Ch */ int field_6C;
/* 70h */ int field_70;
/* 74h */ int field_74;
/* 78h */ int field_78;
/* 7Ch */ int field_7C;
/* 80h */ int field_80;
/* 84h */ int field_84;
/* 88h */ int field_88;
/* 8Ch */ int field_8C;
/* 90h */ int field_90;
/* 94h */ int field_94;
/* 98h */ int field_98;
/* 9Ch */ int field_9C;
/* A0h */ int field_A0;
/* A4h */ int field_A4;
/* A8h */ int field_A8;
/* ACh */ int field_AC;
/* B0h */ int field_B0;
/* B4h */ int field_B4;
/* B8h */ int field_B8;
/* BCh */ int field_BC;
/* C0h */ int field_C0;
/* C4h */ int field_C4;
/* C8h */ int field_C8;
/* CCh */ int field_CC;
/* D0h */ int field_D0;
/* D4h */ int field_D4;
/* D8h */ int field_D8;
/* DCh */ int field_DC;
/* E0h */ int field_E0;
/* E4h */ int field_E4;
/* E8h */ int field_E8;
/* ECh */ int field_EC;
/* F0h */ int field_F0;
/* F4h */ int field_F4;
/* F8h */ int field_F8;
/* FCh */ int field_FC;
/* 100h */ int field_100;
/* 104h */ int field_104;
/* 108h */ int field_108;
/* 10Ch */ int field_10C;
/* 110h */ int field_110;
/* 114h */ int field_114;
/* 118h */ int field_118;
/* 11Ch */ int field_11C;
/* 120h */ int field_120;
/* 124h */ int field_124;
/* 128h */ int field_128;
/* 12Ch */ int field_12C;
/* 130h */ int field_130;
/* 134h */ int field_134;
/* 138h */ int field_138;
/* 13Ch */ int field_13C;
/* 44h */ PlantSlot Plants[9];
/* 140h */ int field_140;
/* 144h */ int field_144;
/* 148h */ int field_148;
/* 14Ch */ int field_14C;
/* 150h */ int field_150;
/* 154h */ int field_154;
/* 158h */ int field_158;
/* 158h */ uint32_t GameModeID;
/* 15Ch */ eastl::vector<int> field_15C;
/* 170h */ int field_170;
/* 174h */ int field_174;
/* 178h */ int field_178;
/* 17Ch */ int field_17C;
/* 17Ch */ int field_17C; //Simulator::cPlanetRecord* ? or cPlanetRecordPtr
/* 180h */ int field_180;
/* 184h */ int field_184;
/* 188h */ int field_188;
Expand All @@ -113,7 +60,7 @@ namespace Simulator
/* 1BCh */ int field_1BC;
/* 1C0h */ int field_1C0;
/* 1C4h */ int field_1C4;
/* 1C8h */ int field_1C8;
/* 1C8h */ int field_1C8; //?
/* 1CCh */ int field_1CC;
/* 1D0h */ int field_1D0;
/* 1D4h */ int field_1D4;
Expand Down
10 changes: 3 additions & 7 deletions Spore ModAPI/Spore/Simulator/SubSystem/TerraformingManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,13 @@ namespace Simulator
public:
/* 1Ch */ eastl::hash_map<int, int> field_1C;
/* 3Ch */ bool field_3C; // true
/* 40h */ int field_40; // -1
/* 40h */ uint32_t mGameModeID; // -1
/* 44h */ bool field_44;
/* 48h */ eastl::map<int, int> field_48;
/* 64h */ int field_64;
/* 68h */ eastl::vector<cCommodityNodePtr> mCommodityNodes;
/* 7Ch */ int field_7C;
/* 80h */ int field_80;
/* 84h */ int field_84;
/* 88h */ int field_88;
/* 8Ch */ int field_8C;
/* 90h */ int field_90;
/* 7Ch */ ResourceKey SelectedTerraformingSlot;
/* 88h */ ResourceKey field_88;

public:
static cTerraformingManager* Get();
Expand Down
73 changes: 73 additions & 0 deletions Spore ModAPI/Spore/Simulator/cCreatureAbility.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,79 @@ namespace Simulator

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

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

//PLACEHOLDER loc_D1E9D0 uses ability type?

/// Returns the animation ID at the given index, or 0x4330667 if there are no animation IDs in this ability or
Expand Down
19 changes: 15 additions & 4 deletions Spore ModAPI/Spore/Simulator/cObstacle.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,21 @@ namespace Simulator
static const uint32_t TYPE = 0x3ED590D;
static const uint32_t NOUN_ID = 0x3ED8573;

using Object::AddRef;
using Object::Release;
using Object::Cast;

enum PlantType
{
kLargeSpecies = 0,
kMediumSpecies = 1,
kSmallSpecies = 2,
};

public:
/* 34h */ int field_34;
/* 38h */ Math::Vector3 field_38;
/* 44h */ float field_44;
/* 38h */ Math::Vector3 mPosition;
/* 44h */ float mObstacleBaseCollisionRadius;
/* 48h */ float mObstacleCanopyCollisionRadius;
/* 4Ch */ float mObstacleCollisionHeight;
/* 50h */ int field_50; // -1
Expand All @@ -31,8 +42,8 @@ namespace Simulator
/* 70h */ ModelPtr mModel;
/* 74h */ int field_74;
/* 78h */ int field_78;
/* 7Ch */ ResourceKey field_7C;
/* 88h */ int field_88;
/* 7Ch */ ResourceKey mSpeciesKey;
/* 88h */ PlantType mPlantType;
};
ASSERT_SIZE(cObstacle, 0x8C);
}
4 changes: 2 additions & 2 deletions Spore ModAPI/Spore/Simulator/cPlantCargoInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ namespace Simulator
/* 84h */ uint32_t mModelIDLOD2;
/* 88h */ uint32_t mModelIDLOD3;
/* 8Ch */ uint32_t mAlphaModel;
/* 90h */ float field_90; // 2.0
/* 90h */ float mFloraImposterScale;
/* 94h */ float mBaseRadius;
/* 98h */ float mCanopyRadius;
/* 9Ch */ float mHeight;
/* A0h */ int field_A0; //species profile? //TODO what is this type?
/* A0h */ cSpeciesProfile* mSpeciesProfile; //species profile? //TODO what is this type?
};
ASSERT_SIZE(cPlantCargoInfo, 0xA4);
}
Loading