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
2728namespace 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