Skip to content

Commit

Permalink
Updated to match disassembly.
Browse files Browse the repository at this point in the history
  • Loading branch information
michael-fadely committed Oct 25, 2015
1 parent d525fbd commit 39082d1
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 32 deletions.
2 changes: 1 addition & 1 deletion SA2ModLoader/dllmain.cpp
Expand Up @@ -685,7 +685,7 @@ void __cdecl Load2PIntroPos_ri(int playerNum)
v4->Position.x = 0.0;
LABEL_16:
sub_46DC70(playerNum, v8, 0);
*((char *)v4->field_2C->dwordC + 2) |= 0x70u;
*((char *)&v4->field_2C->CollisionArray->field_2) |= 0x70u;
*(int *)&MainCharObj2[playerNum]->field_70[6] = 0;
byte_1DE4664[playerNum & 1] = *(char*)0x1DE4660;
CharObj2 *v9 = MainCharObj2[playerNum];
Expand Down
28 changes: 27 additions & 1 deletion SA2ModLoader/include/SA2ModLoader/SA2Enums.h
Expand Up @@ -209,13 +209,39 @@ enum PowerupBits
{
PowerupBits_Barrier,
PowerupBits_MagneticBarrier,
PowerupBits_Invincibility = 15
PowerupBits_Unknown1,
PowerupBits_Unknown2,
PowerupBits_Unknown3,
PowerupBits_Unknown4,
PowerupBits_Unknown5,
PowerupBits_Unknown6,
PowerupBits_Unknown7,
PowerupBits_Unknown8,
PowerupBits_Unknown9,
PowerupBits_Unknown10,
PowerupBits_Unknown11,
PowerupBits_Unknown12,
PowerupBits_Dead,
PowerupBits_Invincibility
};

enum Powerups : unsigned short
{
makemasks(Powerup, Barrier),
makemasks(Powerup, MagneticBarrier),
makemasks(Powerup, Unknown1),
makemasks(Powerup, Unknown2),
makemasks(Powerup, Unknown3),
makemasks(Powerup, Unknown4),
makemasks(Powerup, Unknown5),
makemasks(Powerup, Unknown6),
makemasks(Powerup, Unknown7),
makemasks(Powerup, Unknown8),
makemasks(Powerup, Unknown9),
makemasks(Powerup, Unknown10),
makemasks(Powerup, Unknown11),
makemasks(Powerup, Unknown12),
makemasks(Powerup, Dead),
makemasks(Powerup, Invincibility)
};

Expand Down
74 changes: 44 additions & 30 deletions SA2ModLoader/include/SA2ModLoader/SA2Structs.h
Expand Up @@ -4,23 +4,39 @@
// SA2 Structs

typedef NJS_VECTOR Vector3;
struct ObjectMaster;

#pragma pack(push, 1)
struct Rotation
{
int x, y, z;
};

struct struct_v5
struct CollisionData
{
__int16 field_0;
__int16 field_2;
int field_4;
char gap_8[12];
float anonymous_1;
float anonymous_2;
float anonymous_3;
int field_20;
int field_24;
int field_28;
int field_2C;
};

struct CollisionInfo
{
__int16 char0;
char gap_2[2];
short word4;
short word6;
__int16 field_2;
WORD word4;
WORD Count;
float f8;
void *dwordC;
char f10[140];
int dword9C;
CollisionData *CollisionArray;
BYTE f10[140];
ObjectMaster *Object;
__int16 field_A0;
__int16 field_A2;
int field_A4;
Expand Down Expand Up @@ -52,7 +68,7 @@ struct CharObj1
Rotation Rotation;
NJS_VECTOR Position;
NJS_VECTOR Scale;
struct_v5 *field_2C;
CollisionInfo *field_2C;
};

struct PhysicsData
Expand Down Expand Up @@ -248,7 +264,6 @@ struct SETEntry
NJS_VECTOR Scale;
};

struct ObjectMaster;
typedef void(__cdecl *ObjectFuncPtr)(ObjectMaster *);

struct SETObjectData
Expand All @@ -263,28 +278,27 @@ struct SETObjectData

struct ObjectMaster
{
ObjectMaster *PrevObject;
ObjectMaster *NextObject;
void *field_8;
void *field_C;
ObjectFuncPtr MainSub;
ObjectFuncPtr DisplaySub;
ObjectFuncPtr field_18;
ObjectFuncPtr field_1C;
void *field_20;
void *field_24;
void *field_28;
void *field_2C;
SETObjectData *field_30;
CharObj1 *Data1;
void *field_38;
void *field_3C;
CharObj2 *Data2;
char *Name;
void *field_48;
void *field_4C;
ObjectMaster* PrevObject;
ObjectMaster* NextObject;
ObjectMaster* Parent;
ObjectMaster* Child;
ObjectFuncPtr* MainSub;
ObjectFuncPtr* DisplaySub;
ObjectFuncPtr* DeleteSub;
void* field_1C;
void* field_20;
void* field_24;
void* field_28;
void* field_2C;
SETObjectData* field_30;
CharObj1* Data1;
void* field_38;
void* field_3C;
CharObj2Base* Data2;
char* Name;
int field_48;
void* field_4C;
};

struct ObjectListEntry
{
char Flags;
Expand Down

0 comments on commit 39082d1

Please sign in to comment.