Introduce MAX_* and NUM_* constants

This commit is contained in:
Ryan Dwyer 2020-01-19 09:36:49 +10:00
parent fbeace08de
commit ee444daa77
18 changed files with 77 additions and 66 deletions

View File

@ -42288,7 +42288,7 @@ void unregisterDangerousProp(struct prop *prop)
{
s32 i;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_DANGEROUSPROPS; i++) {
if (g_DangerousProps[i] == prop) {
g_DangerousProps[i] = NULL;
return;
@ -42300,7 +42300,7 @@ void registerDangerousProp(struct prop *prop)
{
s32 i;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_DANGEROUSPROPS; i++) {
if (g_DangerousProps[i] == NULL) {
g_DangerousProps[i] = prop;
return;
@ -42574,7 +42574,7 @@ bool chrDetectDangerousObject(struct chrdata *chr, u8 flags)
{
s32 i;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_DANGEROUSPROPS; i++) {
struct prop *prop = g_DangerousProps[i];
bool pass = false;
@ -52184,14 +52184,14 @@ s16 *teamGetChrIds(s32 team_id)
s32 i;
u8 lookup[8] = g_ChrTeamIds;
for (i = 0; i != 8; i++) {
for (i = 0; i != MAX_TEAMS; i++) {
if (lookup[i] == team_id) {
team_id = i;
break;
}
}
if (team_id < 0 || team_id > 7) {
if (team_id < 0 || team_id >= MAX_TEAMS) {
return NULL;
}
@ -52199,12 +52199,12 @@ s16 *teamGetChrIds(s32 team_id)
return &g_TeamList[g_TeamList[team_id - 1]];
}
return &g_TeamList[7];
return &g_TeamList[MAX_TEAMS - 1];
}
s16 *squadronGetChrIds(s32 squadron_id)
{
if (squadron_id < 0 || squadron_id >= 16) {
if (squadron_id < 0 || squadron_id >= MAX_SQUADRONS) {
return NULL;
}
@ -52212,7 +52212,7 @@ s16 *squadronGetChrIds(s32 squadron_id)
return &g_SquadronList[g_SquadronList[squadron_id - 1]];
}
return &g_SquadronList[15];
return &g_SquadronList[MAX_SQUADRONS - 1];
}
void func0f04ceec(s16 value)

View File

@ -191,7 +191,7 @@ u32 chraiGetCommandLength(u8 *ailist, u32 aioffset)
return (prop - aioffset) + 1;
}
if (type >= 0 && type < 0x1e1) {
if (type >= 0 && type < NUM_AICOMMANDS) {
return g_CommandLengths[type];
}

View File

@ -262,7 +262,7 @@ void resetSomeStageThings(void)
{
s32 i;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_DANGEROUSPROPS; i++) {
g_DangerousProps[i] = NULL;
}

View File

@ -18219,7 +18219,7 @@ s8 freeFireslotWrapper(s32 fireslot_id)
s8 freeFireslot(s32 fireslot_id)
{
if (fireslot_id >= 0 && fireslot_id < 20) {
if (fireslot_id >= 0 && fireslot_id < NUM_FIRESLOTS) {
g_Fireslots[fireslot_id].unk00 = -1;
}

View File

@ -946,7 +946,7 @@ struct weapon *weaponFindById(s32 itemid)
return NULL;
}
if (itemid > MAX_WEAPON_ID) {
if (itemid >= NUM_WEAPONS) {
return NULL;
}

View File

@ -6816,7 +6816,7 @@ s32 menuhandlerMpClearAllSimulants(u32 operation, struct menu_item *item, s32 *v
{
if (operation == MENUOP_SET) {
s32 i;
for (i = 0; i < 8; i++) {
for (i = 0; i < MAX_SIMULANTS; i++) {
mpRemoveSimulant(i);
}
}
@ -7167,7 +7167,7 @@ s32 menuhandlerMpMaximumTeams(u32 operation, struct menu_item *item, s32 *value)
s32 i;
u8 team = 0;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (g_MpSetup.chrslots & (1 << i)) {
struct mpchr *mpchr;
@ -7196,7 +7196,7 @@ s32 menuhandlerMpHumansVsSimulants(u32 operation, struct menu_item *item, s32 *v
if (operation == MENUOP_SET) {
s32 i;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (g_MpSetup.chrslots & (1 << i)) {
struct mpchr *mpchr;
@ -7224,7 +7224,7 @@ s32 menuhandlerMpHumanSimulantPairs(u32 operation, struct menu_item *item, s32 *
s32 playerindex = 0;
s32 simindex = 0;
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (g_MpSetup.chrslots & (1 << i)) {
struct mpchr *mpchr;
@ -10051,7 +10051,7 @@ void scenarioHtbKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3)
*score = mpchr->unk3e;
if (g_MpSetup.options & MPOPTION_KILLSSCORE) {
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (i == arg1) {
*score -= mpchr->unk24[i];
} else if (g_MpSetup.options & MPOPTION_TEAMSENABLED) {
@ -10150,7 +10150,7 @@ void scenarioCtcInit(void)
g_ScenarioData.ctc.unk08[i] = -1;
}
for (k = 0; k < 12; k++) {
for (k = 0; k < MAX_MPCHRS; k++) {
if (g_MpSetup.chrslots & (1 << k)) {
struct mpchr *basedata;
@ -10585,7 +10585,7 @@ void scenarioCtcKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3)
*score = mpchr->unk3e * 3;
if (g_MpSetup.options & MPOPTION_KILLSSCORE) {
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (i == arg1) {
*score -= mpchr->unk24[i];
} else {
@ -11803,7 +11803,7 @@ void scenarioKohKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3)
*score = mpchr->unk3e;
if (g_MpSetup.options & MPOPTION_KILLSSCORE) {
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (i == arg1) {
*score -= mpchr->unk24[i];
} else {
@ -12919,7 +12919,7 @@ void scenarioHtmKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3)
}
if (g_MpSetup.options & MPOPTION_KILLSSCORE) {
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (i == arg1) {
*score -= mpchr->unk24[i];
} else if (g_MpSetup.options & MPOPTION_TEAMSENABLED) {
@ -13444,7 +13444,7 @@ glabel scenarioPacChooseVictims
// g_ScenarioData.pac.unk04 = -1;
// g_ScenarioData.pac.unk02 = 0;
//
// for (i = 0; i != 12; i++) {
// for (i = 0; i != MAX_MPCHRS; i++) {
// g_ScenarioData.pac.unk20[i] = 0;
// g_ScenarioData.pac.unk34[i] = 0;
// }
@ -14036,7 +14036,7 @@ void scenarioPacKill(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3)
}
if (g_MpSetup.options & MPOPTION_KILLSSCORE) {
for (i = 0; i != 12; i++) {
for (i = 0; i != MAX_MPCHRS; i++) {
if (i == arg1) {
*score -= mpchr->unk24[i];
} else if (g_MpSetup.options & MPOPTION_TEAMSENABLED) {
@ -15508,7 +15508,7 @@ s32 scenarioGetMaxTeams(void)
return g_MpScenarios[g_MpSetup.scenario].maxteamsfunc();
}
return 8;
return MAX_TEAMS;
}
bool scenarioIsRoomHighlighted(s16 room)

View File

@ -5603,7 +5603,7 @@ s32 mpGetTrackNumAtSlotIndex(s32 slotindex)
s32 i;
s32 numunlocked = 0;
for (i = 0; i != 42; i++) {
for (i = 0; i != NUM_MPTRACKS; i++) {
if (mpIsTrackUnlocked(i)) {
if (numunlocked == slotindex) {
break;
@ -5618,7 +5618,7 @@ s32 mpGetTrackNumAtSlotIndex(s32 slotindex)
s32 func0f18c200(void)
{
return mpGetTrackSlotIndex(sizeof(g_MpTracks) / sizeof(g_MpTracks[0]));
return mpGetTrackSlotIndex(NUM_MPTRACKS);
}
s32 mpGetTrackAudioId(s32 slotindex)
@ -12653,7 +12653,7 @@ glabel func0f1921f8
char *mpGetBotCommandName(s32 command)
{
if (command < 0 || command > 13) {
if (command < 0 || command >= NUM_MPBOTCOMMANDS) {
return textGet(0x58b3); // "Normal"
}

View File

@ -2140,7 +2140,7 @@ glabel func0f19b540
// g_MpSetup.chrslots &= 0x000f;
// ptr = &var800ac798[slot];
//
// for (i = 0; i != 8; i++) {
// for (i = 0; i != MAX_SIMULANTS; i++) {
// g_MpSimulants[i].unk48 = *(ptr - 1);
//
// if (*(ptr - 1) != 6) {
@ -2165,7 +2165,7 @@ s32 mpGetNumAvailableChallenges(void)
s32 challengeindex;
s32 count = 0;
for (challengeindex = 0; challengeindex != 30; challengeindex++) {
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
if (mpIsChallengeAvailable(challengeindex)) {
count++;
}
@ -2225,7 +2225,7 @@ void mpSetCurrentChallenge(s32 slotnum)
s32 challengeindex;
g_MpChallengeIndex = 0;
for (challengeindex = 0; challengeindex != 30; challengeindex++) {
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
if (mpIsChallengeAvailable(challengeindex)) {
if (slotnum == 0) {
g_MpChallengeIndex = challengeindex;
@ -2422,7 +2422,7 @@ s32 mpGetNthAvailableChallengeSomething(s32 n, s32 arg1, s32 arg2)
s32 numavailable = 0;
s32 challengeindex;
for (challengeindex = 0; challengeindex != 30; challengeindex++) {
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
if (mpIsChallengeAvailable(challengeindex)) {
if (numavailable == n) {
return func0f19ba58(challengeindex, arg1, arg2);

View File

@ -16053,7 +16053,7 @@ u32 var8009cbf0 = 0;
u32 var8009cbf4 = 0;
u32 var8009cbf8 = 0;
u32 var8009cbfc = 0;
struct prop *g_DangerousProps[12] = {NULL};
struct prop *g_DangerousProps[MAX_DANGEROUSPROPS] = {NULL};
u32 var8009cc30 = 0;
u32 var8009cc34 = 0;
u32 var8009cc38 = 0;
@ -16311,7 +16311,7 @@ u32 var8009d050 = 0;
u32 var8009d054 = 0;
u32 var8009d058 = 0;
u32 var8009d05c = 0;
struct objective *g_Objectives[10] = {0};
struct objective *g_Objectives[MAX_OBJECTIVES] = {0};
u32 var8009d088 = 0;
u32 var8009d08c = 0;
u32 var8009d090 = 0;
@ -16367,7 +16367,7 @@ u32 var8009d140 = 0;
u32 var8009d144 = 0;
u32 var8009d148 = 0;
u32 var8009d14c = 0;
struct fireslot g_Fireslots[20] = {0};
struct fireslot g_Fireslots[NUM_FIRESLOTS] = {0};
u32 var8009d510 = 0;
u32 var8009d514 = 0;
u32 var8009d518 = 0;
@ -30456,11 +30456,11 @@ u32 var800ac4c0 = 0;
u32 var800ac4c4 = 0;
u32 var800ac4c8 = 0;
u32 var800ac4cc = 0;
struct chrdata *g_MpPlayerChrs[12] = {NULL};
struct mpchr *var800ac500[12] = {NULL};
struct chrdata *g_MpPlayerChrs[MAX_MPCHRS] = {NULL};
struct mpchr *var800ac500[MAX_MPCHRS] = {NULL};
s32 g_MpNumPlayers = 0;
u32 var800ac534 = 0;
struct mpsim g_MpSimulants[8] = {0};
struct mpsim g_MpSimulants[MAX_SIMULANTS] = {0};
u32 var800ac798[8] = {0};
struct mpplayer g_MpPlayers[4] = {0};
u32 var800aca38 = 0;

View File

@ -148,7 +148,6 @@
#define CHEAT_DMC 39
#define CHEAT_AR53 40
#define CHEAT_RCP45 41
#define NUM_CHEATS 42
#define CHEATFLAG_TIMED 0
#define CHEATFLAG_ALWAYSON 1
@ -469,6 +468,13 @@
#define MA_FACING 53
#define MA_PUNCHING 54
#define MAX_DANGEROUSPROPS 12
#define MAX_MPCHRS (4 + MAX_SIMULANTS)
#define MAX_OBJECTIVES 10
#define MAX_SIMULANTS 8
#define MAX_SQUADRONS 16
#define MAX_TEAMS 8
#define MENUOP_GETOPTIONCOUNT 1
#define MENUOP_GETOPTIONTEXT 3
#define MENUOP_SET 6
@ -546,6 +552,16 @@
#define MPSCENARIO_KINGOFTHEHILL 4
#define MPSCENARIO_CAPTURETHECASE 5
#define NUM_AICOMMANDS 481
#define NUM_CHALLENGES 30
#define NUM_CHEATS 42
#define NUM_FIRESLOTS 20
#define NUM_MPBOTCOMMANDS 14
#define NUM_MPTRACKS 42
#define NUM_SOLOSTAGES 21
#define NUM_STAGES 90
#define NUM_WEAPONS 94
// obj->flags
#define OBJECTFLAG0_00000001 0x00000001 // Not used in scripts
#define OBJECTFLAG0_00000002 0x00000002 // Not used in scripts
@ -907,8 +923,6 @@
#define STAGE_DUEL 0x4f
#define STAGE_TEST_LAM 0x50
#define NUM_STAGES 0x5a
#define STAGEINDEX_MAIANSOS 0x00
#define STAGEINDEX_TEST_SILO 0x01
#define STAGEINDEX_WAR 0x02
@ -1067,8 +1081,6 @@
#define WEAPON_5C 0x5c
#define WEAPON_SUICIDEPILL 0x5d
#define MAX_WEAPON_ID 0x5d
// Heads and bodies
#define HEAD_RANDOM -1
#define BODY_DJBOND 0x00
@ -1887,4 +1899,3 @@
//.set ANIM_, 0x0350: Skedar right up straight up
//.set ANIM_, 0x0351: Skedar stretching arms and lefts
#define ANIM_SKEDAR_COLLAPSE 0x0352

View File

@ -533,7 +533,7 @@ extern u32 var8009cadc;
extern u32 var8009cae0;
extern u32 var8009cb08;
extern u32 var8009cbf8;
extern struct prop *g_DangerousProps[12];
extern struct prop *g_DangerousProps[MAX_DANGEROUSPROPS];
extern u32 var8009cc30;
extern u32 var8009cc40;
extern u32 var8009cc44;
@ -580,7 +580,7 @@ extern u32 var8009cf10;
extern u32 var8009cf88;
extern struct stagesetup g_StageSetup;
extern u32 var8009d050;
extern struct objective *g_Objectives[10];
extern struct objective *g_Objectives[MAX_OBJECTIVES];
extern u32 var8009d088;
extern u32 var8009d0b0;
extern u32 var8009d0b4;
@ -592,7 +592,7 @@ extern u32 var8009d0d8;
extern u32 var8009d0e0;
extern u32 var8009d0f0;
extern u32 var8009d144;
extern struct fireslot g_Fireslots[];
extern struct fireslot g_Fireslots[NUM_FIRESLOTS];
extern u32 var8009d510;
extern u32 var8009da60;
extern u32 var8009dbe0;
@ -840,12 +840,12 @@ extern u32 var800ac390;
extern u32 var800ac3f8;
extern u32 var800ac460;
extern u32 var800ac4cc;
extern struct chrdata *g_MpPlayerChrs[12];
extern struct mpchr *var800ac500[12];
extern struct chrdata *g_MpPlayerChrs[MAX_MPCHRS];
extern struct mpchr *var800ac500[MAX_MPCHRS];
extern s32 g_MpNumPlayers;
extern struct mpsim g_MpSimulants[8];
extern struct mpsim g_MpSimulants[MAX_SIMULANTS];
extern u32 var800ac798[8];
extern struct mpplayer g_MpPlayers[];
extern struct mpplayer g_MpPlayers[4];
extern u32 var800aca38;
extern u32 var800acad8;
extern u32 var800acb78;

View File

@ -30,8 +30,8 @@ extern u32 g_StageFlags;
extern struct audiodefinition audiodefinitions[];
extern struct audioconfig audioconfigs[];
extern bool (*g_CommandPointers[])(void);
extern u16 g_CommandLengths[];
extern bool (*g_CommandPointers[NUM_AICOMMANDS])(void);
extern u16 g_CommandLengths[NUM_AICOMMANDS];
extern struct coord var80068fec;
@ -416,7 +416,7 @@ extern u32 var8006843c;
extern u32 var80068440;
extern u32 var8006844c;
extern u32 var8006845c;
extern u8 g_ChrTeamIds[8];
extern u8 g_ChrTeamIds[MAX_TEAMS];
extern u32 var8006846c;
extern u32 var80068fe0;
extern u16 quiptable_human_bank0[];

View File

@ -187,7 +187,7 @@ extern struct menu_dialog g_CoopOptionsMenuDialog;
extern struct menu_dialog g_AntiOptionsMenuDialog;
extern struct menu_dialog menudialog_selectdifficulty2;
extern struct menu_dialog menudialog_selectdifficulty3;
extern struct stageoverviewentry g_StageNames[];
extern struct stageoverviewentry g_StageNames[NUM_SOLOSTAGES];
extern struct mission missions[];
extern struct menu_dialog g_ControlStyleMultiMenuDialog;
extern struct menu_dialog g_ControlStyleSingleMenuDialog;
@ -207,7 +207,7 @@ extern u16 mainmenulabels_nocheats[];
extern u16 mainmenulabels_withcheats[];
extern struct menu_dialog menudialog_mainmenu;
extern struct menu_dialog menudialog_mainmenu2;
extern struct cheat g_Cheats[];
extern struct cheat g_Cheats[NUM_CHEATS];
extern struct menu_item menuitems_cheats_buddies[];
extern struct menu_dialog menudialog_cheats_buddies;
extern u16 iomessages[];

View File

@ -303,12 +303,12 @@ extern u32 table_0x2d678[];
extern struct mpsimulant g_MpGeneralSimulants[];
extern struct mpsimulant mpspecialsimulants[];
extern struct bodynum mpbodytable[];
extern struct mptrack g_MpTracks[42];
extern struct mptrack g_MpTracks[NUM_MPTRACKS];
extern u32 mppresets[];
extern u32 g_TeamColours[];
extern u32 g_TeamColours[MAX_TEAMS];
extern u32 var80087d10;
extern u32 var80087d14[];
extern u32 g_MpBotCommands[];
extern u32 g_MpBotCommands[NUM_MPBOTCOMMANDS];
extern u32 var80087e2c;
extern u32 var80087e50;
extern u32 var80087e98;
@ -318,7 +318,7 @@ extern u32 var80088494;
extern u32 var800884a4;
extern u32 g_MpChallengeIndex;
extern u32 var800884b4;
extern struct challenge g_MpChallenges[];
extern struct challenge g_MpChallenges[NUM_CHALLENGES];
extern u32 var800887c4;
extern u32 var80088800;
extern u32 var80088808;

View File

@ -4127,7 +4127,7 @@ struct savefile_solo {
/*0x14*/ u32 flags;
/*0x18*/ u32 unk18;
/*0x1c*/ u32 unk1c;
/*0x20*/ u16 besttimes[21][3];
/*0x20*/ u16 besttimes[NUM_SOLOSTAGES][3];
/*0xa0*/ u32 var800a22a0;
/*0xa4*/ u32 var800a22a4;
/*0xa8*/ u32 var800a22a8;

View File

@ -3714,7 +3714,7 @@ u32 var8005d9ac = 0x00000000;
u32 var8005d9b0 = 0x00000000;
// 8005d9b4
s32 g_StageNum = 0x5a;
s32 g_StageNum = NUM_STAGES;
u32 var8005d9b8 = 0x0004b000;
u32 var8005d9bc = 0x00000000;

View File

@ -1742,7 +1742,7 @@ struct menu_dialog menudialog_selectdifficulty3 = {
};
// 17e8c
struct stageoverviewentry g_StageNames[] = {
struct stageoverviewentry g_StageNames[NUM_SOLOSTAGES] = {
// stage, unk04, name1, name2, name3
{ STAGE_DEFECTION, 0x0c, 0x5685, 0x5686, 0x547c },
{ STAGE_INVESTIGATION, 0x0d, 0x5687, 0x5688, 0x54ac },
@ -2960,7 +2960,7 @@ struct menu_dialog menudialog_mainmenu2 = {
u32 var80073a8c = 0x00000000;
// 19ab0
struct cheat g_Cheats[] = {
struct cheat g_Cheats[NUM_CHEATS] = {
// name, time, stage index, difficulty, flags
{ 0x544b, 123, 2, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Hurricane Fists
{ 0x544c, 100, 5, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Cloaking Device

View File

@ -12169,7 +12169,7 @@ u32 var80087a68 = 0x00000024;
u32 var80087a6c = 0x0000002c;
// 2da90
struct mptrack g_MpTracks[42] = {
struct mptrack g_MpTracks[NUM_MPTRACKS] = {
// Audio ID, duration, name, unlock category
/*0x00*/ { 0x3a, 160, 0x587c, -1 },
/*0x01*/ { 0x3b, 170, 0x587d, -1 },
@ -12275,7 +12275,7 @@ u32 var80087d14[] = {
};
// 2de14
u32 g_MpBotCommands[] = {
u32 g_MpBotCommands[NUM_MPBOTCOMMANDS] = {
0x58af, // "Follow"
0x58b0, // "Attack"
0x58b1, // "Defend"
@ -12713,7 +12713,7 @@ u32 g_MpChallengeIndex = 0;
u32 var800884b4 = 0;
// 2e4d8
struct challenge g_MpChallenges[] = {
struct challenge g_MpChallenges[NUM_CHALLENGES] = {
{ 0x5796, 0x0e },
{ 0x5797, 0x0f },
{ 0x5798, 0x10 },