Use ARRAYCOUNT in many more places

This commit is contained in:
Ryan Dwyer
2023-05-28 00:48:58 +10:00
parent 5255f7c346
commit 2e386f7a34
85 changed files with 837 additions and 823 deletions
+12 -12
View File
@@ -67,7 +67,7 @@ extern u8 var8009caed;
extern u8 var8009caee;
extern u8 var8009caef;
extern u8 var8009caf0;
extern struct prop *g_DangerousProps[MAX_DANGEROUSPROPS];
extern struct prop *g_DangerousProps[12];
extern u16 *g_WallhitCountsPerRoom;
extern s32 g_WallhitsMax;
extern u32 g_WallhitsNumSettled;
@@ -129,11 +129,11 @@ extern struct criteria_throwinroom *g_ThrowInRoomCriterias;
extern struct criteria_holograph *g_HolographCriterias;
extern struct sndstate *g_CasingAudioHandles[2];
extern s32 var8009d0d8;
extern struct sndstate *g_BgunAudioHandles[4];
extern struct fireslot g_Fireslots[NUM_FIRESLOTS];
extern struct sndstate *g_BgunAudioHandles[MAX_PLAYERS];
extern struct fireslot g_Fireslots[20];
extern struct casing g_Casings[20];
extern struct boltbeam g_BoltBeams[8];
extern struct lasersight g_LaserSights[4];
extern struct lasersight g_LaserSights[MAX_PLAYERS];
extern struct model *g_ModelSlots;
extern struct anim *g_AnimSlots;
extern s32 g_ModelNumObjs;
@@ -159,21 +159,21 @@ extern s16 g_CutsceneAnimNum;
extern s32 g_CutsceneFrameOverrun240;
extern bool g_CutsceneSkipRequested;
extern f32 g_CutsceneCurTotalFrame60f;
extern s16 g_SpawnPoints[MAX_SPAWNPOINTS];
extern s16 g_SpawnPoints[];
extern s32 g_NumSpawnPoints;
extern s32 var8009de90;
extern s32 var8009de94;
extern s32 var8009de98;
extern s32 var8009de9c;
extern u8 g_MpSelectedPlayersForStats[4];
extern u8 g_MpSelectedPlayersForStats[MAX_PLAYERS];
extern char g_CheatMarqueeString[];
extern u8 *g_BlurBuffer;
extern s32 var8009dfc0;
extern struct briefing g_Briefing;
extern struct missionconfig g_MissionConfig;
extern struct menu g_Menus[4];
extern struct menu g_Menus[MAX_PLAYERS];
extern struct menudata g_MenuData;
extern struct activemenu g_AmMenus[4];
extern struct activemenu g_AmMenus[MAX_PLAYERS];
extern s32 g_AmIndex;
extern u32 g_CheatsActiveBank0;
extern u32 g_CheatsActiveBank1;
@@ -192,7 +192,7 @@ extern struct covercandidate *g_CoverCandidates;
extern u16 g_NumSpecialCovers;
extern u16 *g_SpecialCoverNums;
extern struct pak g_Paks[5];
extern OSPfs g_Pfses[4];
extern OSPfs g_Pfses[MAX_PLAYERS];
extern u32 g_SkyStageNum;
extern bool g_SkyLightningActive;
extern struct explosion *g_Explosions;
@@ -281,9 +281,9 @@ extern struct chrdata *g_MpAllChrPtrs[MAX_MPCHRS];
extern struct mpchrconfig *g_MpAllChrConfigPtrs[MAX_MPCHRS];
extern s32 g_MpNumChrs;
extern struct mpbotconfig g_BotConfigsArray[MAX_BOTS];
extern u8 g_MpSimulantDifficultiesPerNumPlayers[MAX_BOTS][4];
extern struct mpplayerconfig g_PlayerConfigsArray[6];
extern u8 g_AmBotCommands[16];
extern u8 g_MpSimulantDifficultiesPerNumPlayers[MAX_BOTS][MAX_PLAYERS];
extern struct mpplayerconfig g_PlayerConfigsArray[MAX_MPPLAYERCONFIGS];
extern u8 g_AmBotCommands[9];
extern struct mpsetup g_MpSetup;
extern struct bossfile g_BossFile;
extern struct chrdata *g_MpBotChrPtrs[MAX_BOTS];
+41 -52
View File
@@ -13,6 +13,32 @@
#define false 0
#define true 1
#define MAX_ARTIFACTS 120
#define MAX_BOTS 8
#define MAX_CHRSPERSQUADRON 16
#define MAX_CHRSPERTEAM 32
#define MAX_CHRWAYPOINTS 6
#define MAX_EXPLOSIONS 6
#define MAX_EYESPYDARTS 8
#define MAX_MPCHRS (MAX_PLAYERS + MAX_BOTS)
#define MAX_MPPLAYERCONFIGS (MAX_PLAYERS + 2)
#define MAX_OBJECTIVES 10
#define MAX_PLAYERS 4
#define MAX_PROPSPERROOMCHUNK 7
#define MAX_ROOMPROPLISTCHUNKS 256
#define MAX_SQUADRONS 16
#define MAX_TEAMS 8
#define NUM_BOTDIFFS 6
#define NUM_CYCLEABLE_WEAPONS 45
#define NUM_DEVICETESTS 10
#define NUM_FRAMEBUFFERS 2
#define NUM_GFXTASKS 2
#define NUM_HOLOTESTS 7
#define NUM_MPWEAPONSLOTS 6
#define NUM_SOLOSTAGES 21
#define NUM_TEXTURES (VERSION == VERSION_JPN_FINAL ? 3511 : 3503)
#define osSyncPrintf
#define S32_MAX 2147483647
@@ -34,13 +60,22 @@
#define IS8MB() (g_Is4Mb != true)
#define LINEHEIGHT (VERSION == VERSION_JPN_FINAL ? 14 : 11)
#define MIXCOLOUR(dialog, property) dialog->transitionfrac < 0.0f ? g_MenuColourPalettes[dialog->type].property : colourBlend(g_MenuColourPalettes[dialog->type2].property, g_MenuColourPalettes[dialog->type].property, dialog->colourweight)
#define MPCHR(index) ((index) < 4 ? &g_PlayerConfigsArray[index].base : &g_BotConfigsArray[(index) - 4].base)
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0) + (g_Vars.players[3] ? 1 : 0))
#define MPCHR(index) ((index) < MAX_PLAYERS ? &g_PlayerConfigsArray[index].base : &g_BotConfigsArray[(index) - MAX_PLAYERS].base)
#define RANDOMFRAC() (random() * (1.0f / U32_MAX))
#define SECSTOTIME240(secs) (secs * 240)
#define SECSTOTIME60(secs) (secs * 60)
#define PFS(device) (device == SAVEDEVICE_GAMEPAK ? NULL : &g_Pfses[device])
#if MAX_PLAYERS >= 4
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0) + (g_Vars.players[3] ? 1 : 0))
#elif MAX_PLAYERS >= 3
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0))
#elif MAX_PLAYERS >= 2
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0))
#else
#define PLAYERCOUNT() 1
#endif
#define VALIDWEAPON() (g_Vars.currentplayer->gunctrl.weaponnum >= WEAPON_UNARMED && g_Vars.currentplayer->gunctrl.weaponnum <= WEAPON_COMBATBOOST)
#define FUNCISSEC() (VALIDWEAPON() && (g_PlayerConfigsArray[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->gunctrl.weaponnum - 1) >> 3] & (1 << ((g_Vars.currentplayer->gunctrl.weaponnum - 1) & 7))))
@@ -1515,17 +1550,6 @@
#define MA_PUNCHING 54
#define MA_END 55
#define MAX_ARTIFACTS 120
#define MAX_CHRWAYPOINTS 6
#define MAX_DANGEROUSPROPS 12
#define MAX_LIFTS 10
#define MAX_MPCHRS (4 + MAX_BOTS)
#define MAX_OBJECTIVES 10
#define MAX_BOTS 8
#define MAX_SPAWNPOINTS 24
#define MAX_SQUADRONS 16
#define MAX_TEAMS 8
#define MEDAL_KILLMASTER 0x01
#define MEDAL_HEADSHOT 0x02
#define MEDAL_ACCURACY 0x04
@@ -2583,21 +2607,6 @@
#define MPBODY_DALTON 0x3b
#define MPBODY_DJBOND 0x3c
#define MPBOTCOMMAND_FOLLOW 0
#define MPBOTCOMMAND_ATTACK 1
#define MPBOTCOMMAND_DEFEND 2
#define MPBOTCOMMAND_HOLD 3
#define MPBOTCOMMAND_NORMAL 4
#define MPBOTCOMMAND_DOWNLOAD 5
#define MPBOTCOMMAND_GETCASE 6
#define MPBOTCOMMAND_TAGBOX 7
#define MPBOTCOMMAND_SAVECASE 8
#define MPBOTCOMMAND_DEFHILL 9
#define MPBOTCOMMAND_HOLDHILL 10
#define MPBOTCOMMAND_GETCASE2 11
#define MPBOTCOMMAND_POPCAP 12
#define MPBOTCOMMAND_PROTECT 13
#define MPCONFIG_TEMPLE 0x00
#define MPCONFIG_PISTOLS 0x01
#define MPCONFIG_FARSIGHT 0x02
@@ -2720,11 +2729,11 @@
#define MPFEATURE_CHR_PELAGIC 0x45
#define MPFEATURE_CHR_JOTRENCH 0x46
#define MPFEATURE_CHR_JOSNOW 0x47
#define MPFEATURE_CHR_JONATHAN 0x48
#define MPFEATURE_48 0x48
#define MPFEATURE_49 0x49
#define MPFEATURE_4A 0x4a
#define MPFEATURE_CHR_DARKSNOW 0x4a
#define MPFEATURE_4B 0x4b
#define MPFEATURE_4C 0x4c
#define MPFEATURE_CHR_JONATHAN 0x4c
#define MPFEATURE_SCENARIO_PAC 0x4d
#define MPFEATURE_SCENARIO_HTM 0x4e
#define MPFEATURE_WEAPON_LASER 0x4f
@@ -2934,27 +2943,6 @@
#define MUSICEVENTTYPE_STOPALL 4
#define MUSICEVENTTYPE_SETINTERVAL 5
#define NUM_BODIES 151
#define NUM_CHALLENGES 30
#define NUM_CHEATS 42
#define NUM_CYCLEABLE_WEAPONS 45
#define NUM_EXPLOSIONTYPES 26
#define NUM_FIRESLOTS 20
#define NUM_FRAMEBUFFERS 2
#define NUM_GFXTASKS 2
#define NUM_MPBEAUHEADS 5
#define NUM_MPBOTCOMMANDS 14
#define NUM_MPBODIES 61
#define NUM_MPHEADS (VERSION == VERSION_JPN_FINAL ? 74 : 75)
#define NUM_MPPRESETS 14
#define NUM_MPTRACKS 42
#define NUM_RACES 5
#define NUM_SMOKETYPES 23
#define NUM_SOLONORMALSTAGES 17
#define NUM_SOLOSTAGES 21
#define NUM_STAGES 90
#define NUM_TEXTURES (VERSION == VERSION_JPN_FINAL ? 3511 : 3503)
#define OBJECTIVE_INCOMPLETE 0
#define OBJECTIVE_COMPLETE 1
#define OBJECTIVE_FAILED 2
@@ -4043,6 +4031,7 @@
#define THREAD_AUDIO 4
#define THREAD_FAULT 5
#define THREAD_RESET 6
#define NUM_THREADS 7
#define THREADPRI_IDLE 0
#define THREADPRI_MAIN 10
+12 -11
View File
@@ -7,8 +7,8 @@
#define bool s32
#define ubool u32
extern u8 *g_StackLeftAddrs[7];
extern u8 *g_StackRightAddrs[7];
extern u8 *g_StackLeftAddrs[NUM_THREADS];
extern u8 *g_StackRightAddrs[NUM_THREADS];
extern u8 *g_StackAllocatedPos;
extern s32 var8005ce74;
extern f32 g_ViXScalesBySlot[NUM_GFXTASKS];
@@ -162,7 +162,7 @@ extern f32 g_AttackWalkDurationScale;
extern s32 g_NumChrsSeenPlayerRecently2;
extern struct animtablerow g_DeathAnimsHumanGun[];
extern struct animtablerow g_AnimTableHumanSlumped[];
extern struct animtable *g_AnimTablesByRace[];
extern struct animtable *g_AnimTablesByRace[5];
extern struct attackanimconfig var800656c0[];
extern struct attackanimgroup *g_StandHeavyAttackAnims[][32];
extern struct attackanimconfig var80065be0[];
@@ -222,7 +222,7 @@ extern s32 g_LastPadEffectIndex;
extern struct autogunobj *g_ThrownLaptops;
extern struct beam *g_ThrownLaptopBeams;
extern s32 g_MaxThrownLaptops;
extern struct prop *g_Lifts[MAX_LIFTS];
extern struct prop *g_Lifts[10];
extern u32 g_TvCmdlist00[];
extern u32 var8006aaa0[];
extern u32 var8006aae4[];
@@ -278,7 +278,7 @@ extern s32 g_MpPlayerNum;
extern u32 g_MpNumJoined;
extern u16 g_ControlStyleOptions[];
extern struct menudialogdef g_PreAndPostMissionBriefingMenuDialog;
extern struct stageoverviewentry g_StageNames[NUM_SOLOSTAGES];
extern struct solostage g_SoloStages[];
extern struct menudialogdef g_SoloMissionControlStyleMenuDialog;
extern struct menudialogdef g_CiControlStyleMenuDialog;
extern struct menudialogdef g_CiControlStylePlayer2MenuDialog;
@@ -300,7 +300,7 @@ extern struct menudialogdef g_MpConfirmChallenge4MbMenuDialog;
extern struct menudialogdef g_MainMenu4MbMenuDialog;
extern struct menudialogdef g_MpEditSimulant4MbMenuDialog;
extern struct menudialogdef g_AdvancedSetup4MbMenuDialog;
extern struct filelist *g_FileLists[];
extern struct filelist *g_FileLists[MAX_PLAYERS];
extern bool var80075bd0[];
extern struct var80075c00 var80075c00[];
extern s32 var80075d60;
@@ -393,7 +393,7 @@ extern struct skeleton g_SkelSkedar;
extern struct skeleton g_SkelDrCaroll;
extern struct skeleton g_Skel22;
extern struct skeleton g_SkelRobot;
extern struct headorbody g_HeadsAndBodies[];
extern struct headorbody g_HeadsAndBodies[152];
extern struct hatposition var8007dae4[1][6];
extern f32 g_SkyCloudOffset;
extern f32 g_SkyWindSpeed;
@@ -493,22 +493,23 @@ extern struct menudialogdef g_MpQuickTeamScenarioMenuDialog;
extern s32 var80087260;
extern bool g_MpEnableMusicSwitching;
extern struct mpweapon g_MpWeapons[NUM_MPWEAPONS];
extern struct mphead g_MpHeads[NUM_MPHEADS];
extern struct mphead g_MpHeads[VERSION == VERSION_JPN_FINAL ? 74 : 75];
extern struct botprofile g_BotProfiles[18];
extern struct mpbody g_MpBodies[NUM_MPBODIES];
extern struct mppreset g_MpPresets[NUM_MPPRESETS];
extern struct mpbody g_MpBodies[61];
extern struct mppreset g_MpPresets[];
extern u32 g_TeamColours[];
extern u32 var80087ce4[];
extern u8 g_BotCount;
extern struct aibotweaponpreference g_AibotWeaponPreferences[];
extern u32 var80087eb4;
extern struct challenge g_MpChallenges[NUM_CHALLENGES];
extern struct challenge g_MpChallenges[30];
extern u8 g_FrIsValidWeapon;
extern s32 g_FrWeaponNum;
extern u8 g_ChrBioSlot;
extern u8 g_HangarBioSlot;
extern u8 g_DtSlot;
extern u8 var80088bb4;
extern struct vtxstoretype g_VtxstoreTypes[4];
extern struct menudialogdef g_FrWeaponListMenuDialog;
extern struct menudialogdef g_FrTrainingInfoInGameMenuDialog;
extern struct menudialogdef g_FrTrainingInfoPreGameMenuDialog;
+1 -1
View File
@@ -68,7 +68,7 @@ void func0f14e7e0(u8 *arg0);
void func0f14e884(struct textureconfig *tconfig, s32 arg1, s32 arg2, u64 arg3);
void func0f14ec2c(u32 arg0, u32 arg1, u32 arg2, u32 arg3);
void func0f14ecd8(s32 *arg0, s32 *arg1, s32 *arg2, s32 *arg3);
void func0f14eeb0(f32 *arg0);
void func0f14eeb0(f32 arg0[7]);
void func0f14ef50(f32 *arg0);
s32 func0f14f008(s32 index);
Gfx *func0f14f07c(Gfx *gdl, s32 headorbodynum, s32 x1, s32 y1, s32 x2, s32 y2);
+1 -2
View File
@@ -6,7 +6,6 @@
extern u32 g_MpChallengeIndex;
extern struct mpconfigfull *g_MpCurrentChallengeConfig;
extern struct challenge g_MpChallenges[NUM_CHALLENGES];
void challengesInit(void);
@@ -40,7 +39,7 @@ void challengeLoadAndStoreCurrent(u8 *buffer, s32 len);
void challengeUnsetCurrent(void);
bool challengeIsLoaded(void);
s32 challengeGetAutoFocusedIndex(s32 mpchrnum);
char *xhallengeGetName(s32 playernum, s32 challengeindex);
char *challengeGetName2(s32 playernum, s32 challengeindex);
bool challengeIsCompletedByPlayerWithNumPlayers2(s32 mpchrnum, s32 index, s32 numplayers);
bool challengeIsCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers);
void challengeSetCompletedByAnyPlayerWithNumPlayers(s32 index, s32 numplayers, bool completed);
+2 -2
View File
@@ -22,8 +22,8 @@ bool weaponHasAimFlag(s32 weaponnum, u32 flag);
bool weaponHasAmmoFlag(s32 weaponnum, s32 funcnum, u32 flag);
s32 currentPlayerGetDeviceState(s32 weaponnum);
void currentPlayerSetDeviceActive(s32 weaponum, bool active);
u16 weaponGetModelNum(s32 weaponnum);
u16 weaponGetModelNum2(s32 weaponnum);
u16 weaponGetFileNum(s32 weaponnum);
u16 weaponGetFileNum2(s32 weaponnum);
void gsetPopulateFromCurrentPlayer(s32 handnum, struct gset *gset);
struct inventory_ammo *gsetGetAmmoDefinition(struct gset *gset);
u8 gsetGetSinglePenetration(struct gset *gset);
+1 -1
View File
@@ -30,7 +30,7 @@ s32 mpGetWeaponSlot(s32 slot);
struct mpweapon *mpGetMpWeaponByLocation(s32 locationindex);
s32 mpCountWeaponSetThing(s32 weaponsetindex);
s32 func0f188f9c(s32 arg0);
s32 func0f189058(s32 arg0);
s32 func0f189058(bool full);
s32 func0f189088(void);
char *mpGetWeaponSetName(s32 arg0);
void func0f18913c(void);
-1
View File
@@ -19,7 +19,6 @@ void joyDisableTemporarily(void);
void joyReset(void);
void joy00013e84(void);
u32 joyGetConnectedControllers(void);
void joyConsumeSamples(struct joydata *joydata);
void joy00014238(void);
void joyDebugJoy(void);
s32 joyStartReadData(OSMesgQueue *mq);
+22 -37
View File
@@ -70,7 +70,7 @@ struct playerstats {
/*0x00*/ s32 shotcount[7];
/*0x1c*/ s32 killcount;
/*0x20*/ s32 ggkillcount;
/*0x24*/ s32 kills[4];
/*0x24*/ s32 kills[MAX_PLAYERS];
/*0x34*/ s32 drawplayercount;
/*0x38*/ f32 distance;
/*0x3c*/ s32 backshotcount;
@@ -137,9 +137,9 @@ struct g_vars {
/*0x058*/ s32 thisframestart240; // current frame's start time in 240ths (incrementing)
/*0x05c*/ f32 diffframe240freal;
/*0x060*/ s16 *waypointnums; // ordered by room asc, padnum asc
/*0x064*/ struct player *players[4];
/*0x074*/ struct playerstats playerstats[4];
/*0x274*/ u32 playerorder[4];
/*0x064*/ struct player *players[MAX_PLAYERS];
/*0x074*/ struct playerstats playerstats[MAX_PLAYERS];
/*0x274*/ u32 playerorder[MAX_PLAYERS];
/*0x284*/ struct player *currentplayer;
/*0x288*/ struct playerstats *currentplayerstats;
/*0x28c*/ s32 currentplayernum; // 0-3 - controller numbers I think
@@ -210,13 +210,13 @@ struct g_vars {
/*0x488*/ s32 totalkills;
/*0x48c*/ bool useperimshoot;
/*0x490*/ s32 mpsetupmenu;
/*0x494*/ s8 waitingtojoin[4];
/*0x494*/ s8 waitingtojoin[MAX_PLAYERS];
/*0x498*/ s32 unk000498;
/*0x49c*/ bool usingadvsetup;
/*0x4a0*/ s32 unk0004a0;
/*0x4a4*/ s32 mpquickteamnumsims;
/*0x4a8*/ s32 mpsimdifficulty;
/*0x4ac*/ s8 mpplayerteams[4];
/*0x4ac*/ s8 mpplayerteams[MAX_PLAYERS];
/*0x4b0*/ u32 mpquickteam;
/*0x4b4*/ s32 stagenum;
/*0x4b8*/ struct prop *aibuddies[4];
@@ -231,7 +231,7 @@ struct g_vars {
/*0x4d6*/ s8 autocutfinished; // true if cutscene reached natural end
/*0x4d7*/ s8 autocutgroupskip; // true if pressed start during auto cutscene
/*0x4d8*/ s32 joydisableframestogo;
/*0x4dc*/ u8 playertojoymap[4];
/*0x4dc*/ u8 playertojoymap[MAX_PLAYERS];
/*0x4e0*/ u8 fourmeg2player;
/*0x4e1*/ u8 remakewallhitvtx;
/*0x4e2*/ u8 cutsceneskip60ths;
@@ -808,11 +808,11 @@ struct aibot {
/*0x208*/ s32 unk208;
/*0x20c*/ s32 random1ttl60;
/*0x210*/ u32 random1;
/*0x214*/ f32 killsbygunfunc[6][2];
/*0x244*/ f32 suicidesbygunfunc[6][2];
/*0x274*/ s32 equipdurations60[6][2];
/*0x214*/ f32 killsbygunfunc[NUM_MPWEAPONSLOTS][2];
/*0x244*/ f32 suicidesbygunfunc[NUM_MPWEAPONSLOTS][2];
/*0x274*/ s32 equipdurations60[NUM_MPWEAPONSLOTS][2];
/*0x2a4*/ s32 unk2a4;
/*0x2a8*/ s32 unk2a8[6];
/*0x2a8*/ s32 unk2a8[NUM_MPWEAPONSLOTS];
/*0x2c0*/ s32 dampensuicidesttl60;
/**
@@ -1381,7 +1381,7 @@ struct projectile {
/*0x0ec*/ f32 unk0ec;
/*0x0f0*/ f32 unk0f0;
/*0x0f4*/ s32 smoketimer240;
/*0x0f8*/ s16 waypads[6];
/*0x0f8*/ s16 waypads[MAX_CHRWAYPOINTS];
/*0x104*/ u8 numwaypads;
/*0x105*/ u8 step;
/*0x108*/ struct prop *pickupby;
@@ -3091,7 +3091,7 @@ struct stagetableentry {
struct mpweaponset {
/*0x00*/ u16 name;
/*0x02*/ u8 slots[6];
/*0x02*/ u8 slots[NUM_MPWEAPONSLOTS];
/*0x08*/ u8 requirefeatures[4];
/*0x0c*/ u8 unk0c;
/*0x0d*/ u8 unk0d;
@@ -3128,7 +3128,7 @@ struct mptrack {
s16 unlockstage;
};
struct stageoverviewentry {
struct solostage {
/*0x00*/ u32 stagenum;
/*0x04*/ u8 unk04;
/*0x06*/ u16 name1; // "dataDyne Central"
@@ -4325,13 +4325,13 @@ struct mpsetup {
* Bits 0xf000 are probably not used
*/
/*0x800acb9e*/ u16 chrslots;
/*0x800acba0*/ u8 weapons[6];
/*0x800acba0*/ u8 weapons[NUM_MPWEAPONSLOTS];
/*0x800acba6*/ u8 paused;
/*0x800acba8*/ struct fileguid fileguid;
};
struct bossfile {
/*0x00*/ char teamnames[8][12];
/*0x00*/ char teamnames[MAX_TEAMS][12];
/*0x60*/ u8 locktype;
/*0x61*/ u8 unk89;
/*0x62*/ u8 usingmultipletunes;
@@ -4386,7 +4386,7 @@ struct challenge {
// Same structure as availability, however each byte determines how many
// players it was completed with. So completions[0] is for completions with
// a single player and completions[3] is for completions with 4 players.
/*0x05*/ u8 completions[4];
/*0x05*/ u8 completions[MAX_PLAYERS];
// Array of features which will become unlocked once the challenge is
// available. The array is automatically populated at runtime based on what
@@ -5013,7 +5013,7 @@ struct menudata {
/*0x014*/ u8 bg;
/*0x015*/ u8 nextbg;
/*0x016*/ u8 screenshottimer;
/*0x017*/ u8 playerjoinalpha[4];
/*0x017*/ u8 playerjoinalpha[MAX_PLAYERS];
/*0x01b*/ s8 bannernum;
/*0x01c*/ struct menu840 unk01c;
/*0x5d4*/ u8 unk5d4;
@@ -5209,12 +5209,12 @@ struct mpconfigsim {
u8 mpheadnum;
u8 mpbodynum;
u8 team;
u8 difficulties[4]; // per player count
u8 difficulties[MAX_PLAYERS];
};
struct mpconfig {
struct mpsetup setup;
struct mpconfigsim simulants[8];
struct mpconfigsim simulants[MAX_BOTS];
};
struct mpweapon {
@@ -5231,7 +5231,7 @@ struct mpweapon {
struct mpstrings {
char description[200];
char aibotnames[8][15];
char aibotnames[MAX_BOTS][15];
};
struct mpconfigfull {
@@ -5579,21 +5579,6 @@ struct stageallocation {
char *string;
};
struct contsample {
OSContPad pads[4];
};
struct joydata {
struct contsample samples[20];
s32 curlast;
s32 curstart;
s32 nextlast;
s32 nextsecondlast;
u16 buttonspressed[4];
u16 buttonsreleased[4];
s32 unk200;
};
struct guncmd {
u8 type;
u8 unk01;
@@ -5744,7 +5729,7 @@ struct wallhit {
* The first item in the propnums array is -2 if this chunk is unallocated.
*/
struct roomproplistchunk {
s16 propnums[8];
s16 propnums[MAX_PROPSPERROOMCHUNK + 1];
};
struct nbomb {