Use sizeof for setup prop sizes instead of literals

This commit is contained in:
Ryan Dwyer committed 2023-08-16 14:36:34 +10:00
1 parent 24657743ff
commit f020543599
2 files changed
+61 -48

No files matched your search

+47 -47
View File
@@ -24,62 +24,62 @@ u32 setupGetCmdLength(u32 *cmd)
#endif
switch ((u8)cmd[0]) {
case OBJTYPE_CHR: return 11;
case OBJTYPE_DOOR: return 55;
case OBJTYPE_DOORSCALE: return 2;
case OBJTYPE_BASIC: return 23;
case OBJTYPE_DEBRIS: return 23;
case OBJTYPE_GLASS: return 24;
case OBJTYPE_TINTEDGLASS: return 26;
case OBJTYPE_SAFE: return 23;
case OBJTYPE_GASBOTTLE: return 23;
case OBJTYPE_KEY: return 24;
case OBJTYPE_ALARM: return 23;
case OBJTYPE_CCTV: return 49;
case OBJTYPE_AMMOCRATE: return 24;
case OBJTYPE_WEAPON: return 26;
case OBJTYPE_SINGLEMONITOR: return 53;
case OBJTYPE_MULTIMONITOR: return 140;
case OBJTYPE_HANGINGMONITORS: return 23;
case OBJTYPE_AUTOGUN: return 43;
case OBJTYPE_LINKGUNS: return 2;
case OBJTYPE_HAT: return 23;
case OBJTYPE_GRENADEPROB: return 2;
case OBJTYPE_LINKLIFTDOOR: return 5;
case OBJTYPE_SAFEITEM: return 5;
case OBJTYPE_MULTIAMMOCRATE: return 42;
case OBJTYPE_SHIELD: return 26;
case OBJTYPE_TAG: return 4;
case OBJTYPE_RENAMEOBJ: return 10;
case OBJTYPE_BEGINOBJECTIVE: return 4;
case OBJTYPE_CHR: return sizeof(struct packedchr) / sizeof(u32);
case OBJTYPE_DOOR: return sizeof(struct doorobj) / sizeof(u32);
case OBJTYPE_DOORSCALE: return sizeof(struct doorscaleobj) / sizeof(u32);
case OBJTYPE_BASIC: return sizeof(struct defaultobj) / sizeof(u32);
case OBJTYPE_DEBRIS: return sizeof(struct debrisobj) / sizeof(u32);
case OBJTYPE_GLASS: return sizeof(struct glassobj) / sizeof(u32);
case OBJTYPE_TINTEDGLASS: return sizeof(struct tintedglassobj) / sizeof(u32);
case OBJTYPE_SAFE: return sizeof(struct safeobj) / sizeof(u32);
case OBJTYPE_GASBOTTLE: return sizeof(struct gasbottleobj) / sizeof(u32);
case OBJTYPE_KEY: return sizeof(struct keyobj) / sizeof(u32);
case OBJTYPE_ALARM: return sizeof(struct alarmobj) / sizeof(u32);
case OBJTYPE_CCTV: return sizeof(struct cctvobj) / sizeof(u32);
case OBJTYPE_AMMOCRATE: return sizeof(struct ammocrateobj) / sizeof(u32);
case OBJTYPE_WEAPON: return sizeof(struct weaponobj) / sizeof(u32);
case OBJTYPE_SINGLEMONITOR: return sizeof(struct singlemonitorobj) / sizeof(u32);
case OBJTYPE_MULTIMONITOR: return sizeof(struct multimonitorobj) / sizeof(u32);
case OBJTYPE_HANGINGMONITORS: return sizeof(struct hangingmonitorsobj) / sizeof(u32);
case OBJTYPE_AUTOGUN: return sizeof(struct autogunobj) / sizeof(u32);
case OBJTYPE_LINKGUNS: return sizeof(struct linkgunsobj) / sizeof(u32);
case OBJTYPE_HAT: return sizeof(struct hatobj) / sizeof(u32);
case OBJTYPE_GRENADEPROB: return sizeof(struct grenadeprobobj) / sizeof(u32);
case OBJTYPE_LINKLIFTDOOR: return sizeof(struct linkliftdoorobj) / sizeof(u32);
case OBJTYPE_SAFEITEM: return sizeof(struct safeitemobj) / sizeof(u32);
case OBJTYPE_MULTIAMMOCRATE: return sizeof(struct multiammocrateobj) / sizeof(u32);
case OBJTYPE_SHIELD: return sizeof(struct shieldobj) / sizeof(u32);
case OBJTYPE_TAG: return sizeof(struct tag) / sizeof(u32);
case OBJTYPE_RENAMEOBJ: return sizeof(struct textoverride) / sizeof(u32);
case OBJTYPE_BEGINOBJECTIVE: return sizeof(struct objective) / sizeof(u32);
case OBJTYPE_ENDOBJECTIVE: return 1;
case OBJECTIVETYPE_DESTROYOBJ: return 2;
case OBJECTIVETYPE_COMPFLAGS: return 2;
case OBJECTIVETYPE_FAILFLAGS: return 2;
case OBJECTIVETYPE_COLLECTOBJ: return 2;
case OBJECTIVETYPE_THROWOBJ: return 2;
case OBJECTIVETYPE_HOLOGRAPH: return 4;
case OBJECTIVETYPE_HOLOGRAPH: return sizeof(struct criteria_holograph) / sizeof(u32);
case OBJECTIVETYPE_1F: return 1;
case OBJECTIVETYPE_ENTERROOM: return 4;
case OBJECTIVETYPE_THROWINROOM: return 5;
case OBJECTIVETYPE_ENTERROOM: return sizeof(struct criteria_roomentered) / sizeof(u32);
case OBJECTIVETYPE_THROWINROOM: return sizeof(struct criteria_throwinroom) / sizeof(u32);
case OBJTYPE_22: return 1;
case OBJTYPE_BRIEFING: return 4;
case OBJTYPE_PADLOCKEDDOOR: return 4;
case OBJTYPE_TRUCK: return 34;
case OBJTYPE_HELI: return 35;
case OBJTYPE_BRIEFING: return sizeof(struct briefingobj) / sizeof(u32);
case OBJTYPE_PADLOCKEDDOOR: return sizeof(struct padlockeddoorobj) / sizeof(u32);
case OBJTYPE_TRUCK: return sizeof(struct truckobj) / sizeof(u32);
case OBJTYPE_HELI: return sizeof(struct heliobj) / sizeof(u32);
case OBJTYPE_TANK: return 32;
case OBJTYPE_CAMERAPOS: return 7;
case OBJTYPE_LIFT: return 37;
case OBJTYPE_CONDITIONALSCENERY: return 5;
case OBJTYPE_BLOCKEDPATH: return 4;
case OBJTYPE_HOVERBIKE: return 56;
case OBJTYPE_HOVERPROP: return 39;
case OBJTYPE_FAN: return 29;
case OBJTYPE_HOVERCAR: return 38;
case OBJTYPE_CHOPPER: return 58;
case OBJTYPE_PADEFFECT: return 3;
case OBJTYPE_MINE: return 26;
case OBJTYPE_ESCASTEP: return 27;
case OBJTYPE_CAMERAPOS: return sizeof(struct cameraposobj) / sizeof(u32);
case OBJTYPE_LIFT: return sizeof(struct liftobj) / sizeof(u32);
case OBJTYPE_CONDITIONALSCENERY: return sizeof(struct linksceneryobj) / sizeof(u32);
case OBJTYPE_BLOCKEDPATH: return sizeof(struct blockedpathobj) / sizeof(u32);
case OBJTYPE_HOVERBIKE: return sizeof(struct hoverbikeobj) / sizeof(u32);
case OBJTYPE_HOVERPROP: return sizeof(struct hoverpropobj) / sizeof(u32);
case OBJTYPE_FAN: return sizeof(struct fanobj) / sizeof(u32);
case OBJTYPE_HOVERCAR: return sizeof(struct hovercarobj) / sizeof(u32);
case OBJTYPE_CHOPPER: return sizeof(struct chopperobj) / sizeof(u32);
case OBJTYPE_PADEFFECT: return sizeof(struct padeffectobj) / sizeof(u32);
case OBJTYPE_MINE: return sizeof(struct weaponobj) / sizeof(u32);
case OBJTYPE_ESCASTEP: return sizeof(struct escalatorobj) / sizeof(u32);
}
#if VERSION < VERSION_NTSC_1_0
+14 -1
View File
@@ -1519,6 +1519,10 @@ struct keyobj { // objtype 0x04
u32 keyflags;
};
struct alarmobj { // objtype 0x05
struct defaultobj base;
};
struct cctvobj { // objtype 0x06
struct defaultobj base;
@@ -1653,6 +1657,10 @@ struct linkgunsobj { // objtype 0x0e
s16 offset2;
};
struct debrisobj { // objtype 0x0f
struct defaultobj base;
};
struct hatobj { // objtype 0x11
struct defaultobj base;
};
@@ -1685,6 +1693,7 @@ struct shieldobj { // objtype 0x15
struct defaultobj base;
/*0x5c*/ f32 initialamount;
/*0x60*/ f32 amount;
/*0x64*/ u32 unk64;
};
struct tag { // objtype 0x16
@@ -1711,6 +1720,10 @@ struct briefingobj { // objtype 0x23
struct briefingobj *next;
};
struct gasbottleobj { // objtype 0x24
struct defaultobj base;
};
struct padlockeddoorobj { // objtype 0x26
u32 unk00;
struct doorobj *door;
@@ -1757,7 +1770,7 @@ struct glassobj { // objtype 0x2a
};
struct safeobj { // objtype 0x2b
u32 unk00;
struct defaultobj base;
};
struct safeitemobj {