Separate projectile struct into monitormount and projectile

This commit is contained in:
Ryan Dwyer
2022-04-05 19:26:14 +10:00
parent 7b7631fb43
commit f9896d6dc4
7 changed files with 61 additions and 72 deletions
+1 -1
View File
@@ -110,7 +110,7 @@ extern struct hatobj *g_HatSlots;
extern struct ammocrateobj *g_AmmoCrates;
extern struct defaultobj *var8009ce64;
extern struct projectile *g_Projectiles;
extern struct monitorthing *g_MonitorThings;
extern struct monitormount *g_MonitorMounts;
extern u32 var8009ce70;
extern u32 var8009ce74;
extern u32 var8009ce78[4];
+4 -1
View File
@@ -2468,6 +2468,9 @@
#define MODFILE_MPSETUP 2
#define MODFILE_BOSS 4
// Might be the same flags as PROJECTILEFLAG
#define MONITORMOUNTFLAG_FREE 0x00000001
#define MOVEMODE_WALK 0
#define MOVEMODE_BIKE 3
#define MOVEMODE_GRAB 4
@@ -3045,7 +3048,7 @@
#define OBJHFLAG_ISRETICK 0x00000008
#define OBJHFLAG_TAGGED 0x00000010
#define OBJHFLAG_00000020 0x00000020 // thrown knife
#define OBJHFLAG_00000040 0x00000040
#define OBJHFLAG_HANGINGMONITOR 0x00000040
#define OBJHFLAG_AIRBORNE 0x00000080
#define OBJHFLAG_00000100 0x00000100
#define OBJHFLAG_00000200 0x00000200
+3 -3
View File
@@ -68,11 +68,11 @@ u32 func0f068218(void);
void projectileFree(struct projectile *projectile);
void projectilesUnrefOwner(struct prop *owner);
void projectileReset(struct projectile *projectile);
struct projectile *projectileGetNew(void);
struct projectile *projectileAllocate(void);
void func0f0685e4(struct prop *prop);
void objSetProjectileFlag4(struct prop *prop);
void projectileSetFlag1(struct projectile *projectile);
struct monitorthing *monitorthingGetNew(void);
void monitormountFree(struct monitormount *mount);
struct monitormount *monitormountAllocate(void);
s32 objGetDestroyedThird(struct defaultobj *obj);
s32 objGetDestroyedValue(struct defaultobj *obj);
struct modelnode *func0f0687e4(struct model *model);
+4 -19
View File
@@ -1471,22 +1471,7 @@ struct projectile {
/*0x014*/ f32 unk014;
/*0x018*/ f32 unk018;
/*0x01c*/ f32 unk01c;
/*0x020*/ f32 unk020;
/*0x024*/ u32 unk024;
/*0x028*/ u32 unk028;
/*0x02c*/ u32 unk02c;
/*0x030*/ u32 unk030;
/*0x034*/ f32 unk034;
/*0x038*/ f32 unk038;
/*0x03c*/ f32 unk03c;
/*0x040*/ u32 unk040;
/*0x044*/ struct projectile *unk044;
/*0x048*/ u32 unk048;
/*0x04c*/ u32 unk04c;
/*0x050*/ u32 unk050;
/*0x054*/ u32 unk054;
/*0x058*/ u32 unk058;
/*0x05c*/ u32 unk05c;
/*0x020*/ Mtxf unk020;
/*0x060*/ f32 unk060;
/*0x064*/ u32 unk064;
/*0x068*/ u32 unk068;
@@ -1530,10 +1515,10 @@ struct projectile {
/*0x108*/ struct prop *unk108;
};
struct monitorthing {
struct monitormount {
/*0x000*/ u32 flags;
/*0x004*/ Mtxf matrix;
/*0x044*/ struct projectile *unk044;
/*0x044*/ struct projectile *projectile;
};
struct tvscreen {
@@ -1618,7 +1603,7 @@ struct defaultobj {
};
union {
/*0x48*/ struct projectile *projectile;
/*0x48*/ struct monitorthing *monitorthing;
/*0x48*/ struct monitormount *monitormount;
};
/*0x4c*/ s16 damage;
/*0x4e*/ s16 maxdamage;