Skip to content

Commit d99e2af

Browse files
committed
Fix cSpeciesProfile fields
1 parent 7d1a563 commit d99e2af

1 file changed

Lines changed: 23 additions & 16 deletions

File tree

Spore ModAPI/Spore/Simulator/cSpeciesProfile.h

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@
1818
****************************************************************************/
1919
#pragma once
2020

21-
#include <EASTL/fixed_vector.h>
22-
#include <EASTL/vector.h>
23-
#include <EASTL/string.h>
2421
#include <Spore\ResourceKey.h>
2522
#include <Spore\Simulator\cCreatureAbility.h>
23+
#include <EASTL\fixed_vector.h>
24+
#include <EASTL\vector.h>
25+
#include <EASTL\string.h>
26+
#include <EASTL\fixed_hash_map.h>
2627

2728
namespace Simulator
2829
{
@@ -34,12 +35,22 @@ namespace Simulator
3435

3536
void GetSpeciesName(eastl::string16& dst);
3637

37-
private:
38-
char padding[0xA18];
38+
public:
39+
struct UnkStruct
40+
{
41+
int field_0;
42+
int field_4;
43+
int field_8;
44+
int field_C;
45+
int field_10;
46+
};
47+
ASSERT_SIZE(UnkStruct, 0x14);
3948

40-
//TODO
41-
//PLACEHOLDER 6D4h eastl::vector<intrusive_ptr<cCreatureAbility>>
49+
typedef eastl::sp_fixed_hash_map<int, UnkStruct, 32> UnkStructPool;
50+
ASSERT_SIZE(UnkStructPool, 0x4E0);
4251

52+
/* 00h */ UnkStructPool field_0;
53+
/* 4E0h */ ResourceKey field_4E0[3];
4354
/* 504h */ ResourceKey mSpeciesKey; //TODO this is the main key?
4455
/* 510h */ ResourceKey field_510;
4556
/* 51Ch */ eastl::string16 mName;
@@ -48,13 +59,14 @@ namespace Simulator
4859
/* 548h */ float field_548;
4960
/* 54Ch */ float field_54C;
5061
/* 550h */ float field_550;
51-
62+
/* 554h */ char padding_554[0x56C - 0x554];
5263
/* 56Ch */ float field_56C; // 100.0
5364
/* 570h */ float field_570; // 200.0
5465
/* 574h */ float field_574;
5566
/* 578h */ bool field_578;
5667
/* 57Ch */ int field_57C;
57-
68+
/* 580h */ int field_580; // not initialized
69+
/* 584h */ int field_584; // not initialized
5870
/* 588h */ int field_588; // 1
5971
/* 58Ch */ float field_58C;
6072
/* 590h */ float field_590;
@@ -93,7 +105,7 @@ namespace Simulator
93105
/* 614h */ int field_614;
94106
/* 618h */ int field_618; // not initialized
95107
/* 61Ch */ int field_61C; // flight level?
96-
108+
/* 620h */ char padding_620[0x640 - 0x620];
97109
/* 640h */ float mEnergyRecoveryRate;
98110
/* 644h */ float mMaxEnergy;
99111
/* 648h */ int field_648;
@@ -138,12 +150,7 @@ namespace Simulator
138150
/* 948h */ eastl::fixed_vector<int, 20> field_948;
139151
/* 9B0h */ eastl::fixed_vector<int, 20> field_9B0;
140152
};
141-
142-
/////////////////////////////////
143-
//// INTERNAL IMPLEMENTATION ////
144-
/////////////////////////////////
145-
146-
//PLACEHOLDER static_assert(sizeof(cSpeciesProfile) == 0xA18, "sizeof(cSpeciesProfile) != A18h");
153+
ASSERT_SIZE(cSpeciesProfile, 0xA18);
147154

148155
namespace Addresses(cSpeciesProfile)
149156
{

0 commit comments

Comments
 (0)