Decompile func0f19c1cc
This commit is contained in:
parent
4ea763d52f
commit
1ed6533829
|
|
@ -67,20 +67,20 @@ struct mptrack g_MpTracks[NUM_MPTRACKS] = {
|
|||
|
||||
// 2db8c
|
||||
struct mppreset g_MpPresets[NUM_MPPRESETS] = {
|
||||
{ L_MPWEAPONS(25), 0x07, {0} }, // "No Shield"
|
||||
{ L_MPWEAPONS(26), 0x0c, {0} }, // "Automatics"
|
||||
{ L_MPWEAPONS(27), 0x0d, {0} }, // "Rocket Launcher"
|
||||
{ L_MPWEAPONS(28), 0x0b, {0} }, // "Simulants"
|
||||
{ L_MPWEAPONS(29), 0x09, {0} }, // "King of the Hill"
|
||||
{ L_MPWEAPONS(30), 0x02, {0} }, // "Complex FarSight"
|
||||
{ L_MPWEAPONS(31), 0x08, {0} }, // "Hold the Briefcase"
|
||||
{ L_MPWEAPONS(32), 0x01, {0} }, // "Pistol One-Hit Kills"
|
||||
{ L_MPWEAPONS(33), 0x0a, {0} }, // "Capture the Case"
|
||||
{ L_MPWEAPONS(34), 0x05, {0} }, // "Cloaking"
|
||||
{ L_MPWEAPONS(35), 0x00, {0} }, // "Temple Explosives"
|
||||
{ L_MPWEAPONS(36), 0x04, {0} }, // "Slayer"
|
||||
{ L_MPWEAPONS(37), 0x03, {0} }, // "Tranquilizr"
|
||||
{ L_MPWEAPONS(38), 0x06, {0} }, // "Slow Motion"
|
||||
{ L_MPWEAPONS(25), MPCONFIG_NOSHIELD }, // "No Shield"
|
||||
{ L_MPWEAPONS(26), MPCONFIG_AUTOMATICS }, // "Automatics"
|
||||
{ L_MPWEAPONS(27), MPCONFIG_ROCKETS }, // "Rocket Launcher"
|
||||
{ L_MPWEAPONS(28), MPCONFIG_SIMULANTS }, // "Simulants"
|
||||
{ L_MPWEAPONS(29), MPCONFIG_SKEDARKING }, // "King of the Hill"
|
||||
{ L_MPWEAPONS(30), MPCONFIG_FARSIGHT }, // "Complex FarSight"
|
||||
{ L_MPWEAPONS(31), MPCONFIG_BRIEFCASE }, // "Hold the Briefcase"
|
||||
{ L_MPWEAPONS(32), MPCONFIG_PISTOLS }, // "Pistol One-Hit Kills"
|
||||
{ L_MPWEAPONS(33), MPCONFIG_FLAGS }, // "Capture the Case"
|
||||
{ L_MPWEAPONS(34), MPCONFIG_CLOAKING }, // "Cloaking"
|
||||
{ L_MPWEAPONS(35), MPCONFIG_TEMPLE }, // "Temple Explosives"
|
||||
{ L_MPWEAPONS(36), MPCONFIG_SLAYER }, // "Slayer"
|
||||
{ L_MPWEAPONS(37), MPCONFIG_DRUGGUN }, // "Tranquilizr"
|
||||
{ L_MPWEAPONS(38), MPCONFIG_SLOWMO }, // "Slow Motion"
|
||||
};
|
||||
|
||||
u32 var80087cbc = 0x00000000;
|
||||
|
|
@ -564,36 +564,36 @@ u32 var800884b4 = 0;
|
|||
|
||||
// 2e4d8
|
||||
struct challenge g_MpChallenges[NUM_CHALLENGES] = {
|
||||
{ L_OPTIONS(406), 0x0e }, // "Challenge 1"
|
||||
{ L_OPTIONS(407), 0x0f }, // "Challenge 2"
|
||||
{ L_OPTIONS(408), 0x10 }, // "Challenge 3"
|
||||
{ L_OPTIONS(409), 0x11 }, // "Challenge 4"
|
||||
{ L_OPTIONS(410), 0x12 }, // "Challenge 5"
|
||||
{ L_OPTIONS(411), 0x13 }, // "Challenge 6"
|
||||
{ L_OPTIONS(412), 0x14 }, // "Challenge 7"
|
||||
{ L_OPTIONS(413), 0x15 }, // "Challenge 8"
|
||||
{ L_OPTIONS(414), 0x16 }, // "Challenge 9"
|
||||
{ L_OPTIONS(415), 0x17 }, // "Challenge 10"
|
||||
{ L_OPTIONS(416), 0x18 }, // "Challenge 11"
|
||||
{ L_OPTIONS(417), 0x19 }, // "Challenge 12"
|
||||
{ L_OPTIONS(418), 0x1a }, // "Challenge 13"
|
||||
{ L_OPTIONS(419), 0x1b }, // "Challenge 14"
|
||||
{ L_OPTIONS(420), 0x1c }, // "Challenge 15"
|
||||
{ L_OPTIONS(421), 0x1d }, // "Challenge 16"
|
||||
{ L_OPTIONS(422), 0x1e }, // "Challenge 17"
|
||||
{ L_OPTIONS(423), 0x1f }, // "Challenge 18"
|
||||
{ L_OPTIONS(424), 0x20 }, // "Challenge 19"
|
||||
{ L_OPTIONS(425), 0x21 }, // "Challenge 20"
|
||||
{ L_OPTIONS(426), 0x22 }, // "Challenge 21"
|
||||
{ L_OPTIONS(427), 0x23 }, // "Challenge 22"
|
||||
{ L_OPTIONS(428), 0x24 }, // "Challenge 23"
|
||||
{ L_OPTIONS(429), 0x25 }, // "Challenge 24"
|
||||
{ L_OPTIONS(430), 0x26 }, // "Challenge 25"
|
||||
{ L_OPTIONS(431), 0x27 }, // "Challenge 26"
|
||||
{ L_OPTIONS(432), 0x28 }, // "Challenge 27"
|
||||
{ L_OPTIONS(433), 0x29 }, // "Challenge 28"
|
||||
{ L_OPTIONS(434), 0x2a }, // "Challenge 29"
|
||||
{ L_OPTIONS(435), 0x2b }, // "Challenge 30"
|
||||
{ L_OPTIONS(406), MPCONFIG_CHALLENGE01 }, // "Challenge 1"
|
||||
{ L_OPTIONS(407), MPCONFIG_CHALLENGE02 }, // "Challenge 2"
|
||||
{ L_OPTIONS(408), MPCONFIG_CHALLENGE03 }, // "Challenge 3"
|
||||
{ L_OPTIONS(409), MPCONFIG_CHALLENGE04 }, // "Challenge 4"
|
||||
{ L_OPTIONS(410), MPCONFIG_CHALLENGE05 }, // "Challenge 5"
|
||||
{ L_OPTIONS(411), MPCONFIG_CHALLENGE06 }, // "Challenge 6"
|
||||
{ L_OPTIONS(412), MPCONFIG_CHALLENGE07 }, // "Challenge 7"
|
||||
{ L_OPTIONS(413), MPCONFIG_CHALLENGE08 }, // "Challenge 8"
|
||||
{ L_OPTIONS(414), MPCONFIG_CHALLENGE09 }, // "Challenge 9"
|
||||
{ L_OPTIONS(415), MPCONFIG_CHALLENGE10 }, // "Challenge 10"
|
||||
{ L_OPTIONS(416), MPCONFIG_CHALLENGE11 }, // "Challenge 11"
|
||||
{ L_OPTIONS(417), MPCONFIG_CHALLENGE12 }, // "Challenge 12"
|
||||
{ L_OPTIONS(418), MPCONFIG_CHALLENGE13 }, // "Challenge 13"
|
||||
{ L_OPTIONS(419), MPCONFIG_CHALLENGE14 }, // "Challenge 14"
|
||||
{ L_OPTIONS(420), MPCONFIG_CHALLENGE15 }, // "Challenge 15"
|
||||
{ L_OPTIONS(421), MPCONFIG_CHALLENGE16 }, // "Challenge 16"
|
||||
{ L_OPTIONS(422), MPCONFIG_CHALLENGE17 }, // "Challenge 17"
|
||||
{ L_OPTIONS(423), MPCONFIG_CHALLENGE18 }, // "Challenge 18"
|
||||
{ L_OPTIONS(424), MPCONFIG_CHALLENGE19 }, // "Challenge 19"
|
||||
{ L_OPTIONS(425), MPCONFIG_CHALLENGE20 }, // "Challenge 20"
|
||||
{ L_OPTIONS(426), MPCONFIG_CHALLENGE21 }, // "Challenge 21"
|
||||
{ L_OPTIONS(427), MPCONFIG_CHALLENGE22 }, // "Challenge 22"
|
||||
{ L_OPTIONS(428), MPCONFIG_CHALLENGE23 }, // "Challenge 23"
|
||||
{ L_OPTIONS(429), MPCONFIG_CHALLENGE24 }, // "Challenge 24"
|
||||
{ L_OPTIONS(430), MPCONFIG_CHALLENGE25 }, // "Challenge 25"
|
||||
{ L_OPTIONS(431), MPCONFIG_CHALLENGE26 }, // "Challenge 26"
|
||||
{ L_OPTIONS(432), MPCONFIG_CHALLENGE27 }, // "Challenge 27"
|
||||
{ L_OPTIONS(433), MPCONFIG_CHALLENGE28 }, // "Challenge 28"
|
||||
{ L_OPTIONS(434), MPCONFIG_CHALLENGE29 }, // "Challenge 29"
|
||||
{ L_OPTIONS(435), MPCONFIG_CHALLENGE30 }, // "Challenge 30"
|
||||
};
|
||||
|
||||
u32 var800887c4 = 0x007d1c20;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ glabel func0f00b210
|
|||
/* f00b250: a2000008 */ sb $zero,0x8($s0)
|
||||
/* f00b254: 02202025 */ or $a0,$s1,$zero
|
||||
/* f00b258: 02602825 */ or $a1,$s3,$zero
|
||||
/* f00b25c: 0fc66e96 */ jal func0f19ba58
|
||||
/* f00b25c: 0fc66e96 */ jal mpLoadChallenge
|
||||
/* f00b260: 240601ca */ addiu $a2,$zero,0x1ca
|
||||
/* f00b264: 00402025 */ or $a0,$v0,$zero
|
||||
/* f00b268: 02402825 */ or $a1,$s2,$zero
|
||||
|
|
@ -59,7 +59,7 @@ glabel func0f00b210
|
|||
/* f00b2b4: 8e040004 */ lw $a0,0x4($s0)
|
||||
.L0f00b2b8:
|
||||
/* f00b2b8: 02602825 */ or $a1,$s3,$zero
|
||||
/* f00b2bc: 0fc66e45 */ jal func0f19b914
|
||||
/* f00b2bc: 0fc66e45 */ jal mpLoadConfig
|
||||
/* f00b2c0: 240601ca */ addiu $a2,$zero,0x1ca
|
||||
/* f00b2c4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f00b2c8: 02402825 */ or $a1,$s2,$zero
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ bool menudialog4MbMainMenu(u32 operation, struct menu_dialog *dialog, struct men
|
|||
g_Vars.mpquickteam = MPQUICKTEAM_5;
|
||||
g_Vars.unk00049c = 0;
|
||||
mpResetVar800884b4();
|
||||
func0f19c220();
|
||||
mpRemoveLock();
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -5683,7 +5683,7 @@ s32 menuhandlerMpAbortChallenge(u32 operation, struct menu_item *item, s32 *valu
|
|||
}
|
||||
|
||||
if (operation == MENUOP_SET) {
|
||||
func0f19c220();
|
||||
mpRemoveLock();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ bool menudialogCombatSimulator(u32 operation, struct menu_dialog *dialog, struct
|
|||
g_Vars.mpquickteam = MPQUICKTEAM_5;
|
||||
g_Vars.unk00049c = 0;
|
||||
mpResetVar800884b4();
|
||||
func0f19c220();
|
||||
mpRemoveLock();
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1036,7 +1036,7 @@ glabel func0f19b800
|
|||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f19b914
|
||||
glabel mpLoadConfig
|
||||
/* f19b914: 27bdfe38 */ addiu $sp,$sp,-456
|
||||
/* f19b918: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f19b91c: afa401c8 */ sw $a0,0x1c8($sp)
|
||||
|
|
@ -1122,12 +1122,12 @@ glabel func0f19b914
|
|||
/* f19ba54: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
|
||||
s32 func0f19ba58(s32 challengeindex, s32 arg1, s32 arg2)
|
||||
s32 mpLoadChallenge(s32 challengeindex, char *buffer, s32 len)
|
||||
{
|
||||
return func0f19b914(g_MpChallenges[challengeindex].unk02, arg1, arg2);
|
||||
return mpLoadConfig(g_MpChallenges[challengeindex].confignum, buffer, len);
|
||||
}
|
||||
|
||||
s32 mpGetNthAvailableChallengeSomething(s32 n, s32 arg1, s32 arg2)
|
||||
s32 mpGetNthAvailableChallengeSomething(s32 n, char *buffer, s32 len)
|
||||
{
|
||||
s32 numavailable = 0;
|
||||
s32 challengeindex;
|
||||
|
|
@ -1135,7 +1135,7 @@ s32 mpGetNthAvailableChallengeSomething(s32 n, s32 arg1, s32 arg2)
|
|||
for (challengeindex = 0; challengeindex != NUM_CHALLENGES; challengeindex++) {
|
||||
if (mpIsChallengeAvailable(challengeindex)) {
|
||||
if (numavailable == n) {
|
||||
return func0f19ba58(challengeindex, arg1, arg2);
|
||||
return mpLoadChallenge(challengeindex, buffer, len);
|
||||
}
|
||||
|
||||
numavailable++;
|
||||
|
|
@ -1145,9 +1145,9 @@ s32 mpGetNthAvailableChallengeSomething(s32 n, s32 arg1, s32 arg2)
|
|||
return 0;
|
||||
}
|
||||
|
||||
s32 func0f19bb20(s32 arg0, s32 arg1)
|
||||
s32 mpLoadCurrentChallenge(char *buffer, s32 len)
|
||||
{
|
||||
return func0f19ba58(g_MpChallengeIndex, arg0, arg1);
|
||||
return mpLoadChallenge(g_MpChallengeIndex, buffer, len);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
|
|
@ -1617,40 +1617,27 @@ void func0f19c190(void)
|
|||
func0f19afdc();
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f19c1cc
|
||||
/* f19c1cc: 27bdfe10 */ addiu $sp,$sp,-496
|
||||
/* f19c1d0: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f19c1d4: 27a40020 */ addiu $a0,$sp,0x20
|
||||
/* f19c1d8: 0fc66ec8 */ jal func0f19bb20
|
||||
/* f19c1dc: 240501ca */ addiu $a1,$zero,0x1ca
|
||||
/* f19c1e0: 0fc6373b */ jal func0f18dcec
|
||||
/* f19c1e4: 00402025 */ or $a0,$v0,$zero
|
||||
/* f19c1e8: 24040005 */ addiu $a0,$zero,0x5
|
||||
/* f19c1ec: 0fc62fdc */ jal mpSetLock
|
||||
/* f19c1f0: 24050005 */ addiu $a1,$zero,0x5
|
||||
/* f19c1f4: 3c03800b */ lui $v1,%hi(g_MpPlayers)
|
||||
/* f19c1f8: 3c02800b */ lui $v0,%hi(g_MpPlayers+0x280)
|
||||
/* f19c1fc: 2442ca38 */ addiu $v0,$v0,%lo(g_MpPlayers+0x280)
|
||||
/* f19c200: 2463c7b8 */ addiu $v1,$v1,%lo(g_MpPlayers)
|
||||
.L0f19c204:
|
||||
/* f19c204: 246300a0 */ addiu $v1,$v1,0xa0
|
||||
/* f19c208: 1462fffe */ bne $v1,$v0,.L0f19c204
|
||||
/* f19c20c: a060ff71 */ sb $zero,-0x8f($v1)
|
||||
/* f19c210: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f19c214: 27bd01f0 */ addiu $sp,$sp,0x1f0
|
||||
/* f19c218: 03e00008 */ jr $ra
|
||||
/* f19c21c: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
|
||||
s32 func0f19c220(void)
|
||||
void func0f19c1cc(void)
|
||||
{
|
||||
return mpSetLock(0, 0);
|
||||
s32 i;
|
||||
char buffer[458];
|
||||
|
||||
func0f18dcec(mpLoadCurrentChallenge(buffer, 458));
|
||||
mpSetLock(MPLOCKTYPE_CHALLENGE, 5);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
g_MpPlayers[i].base.team = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void mpCalculateVar800884b4(s32 arg0, s32 arg1)
|
||||
s32 mpRemoveLock(void)
|
||||
{
|
||||
var800884b4 = func0f19bb20(arg0, arg1);
|
||||
return mpSetLock(MPLOCKTYPE_NONE, 0);
|
||||
}
|
||||
|
||||
void mpCalculateVar800884b4(char *buffer, s32 len)
|
||||
{
|
||||
var800884b4 = mpLoadCurrentChallenge(buffer, len);
|
||||
}
|
||||
|
||||
void mpResetVar800884b4(void)
|
||||
|
|
|
|||
|
|
@ -7318,7 +7318,7 @@ glabel func0f18dec4
|
|||
.L0f18df2c:
|
||||
/* f18df2c: 8fa4002c */ lw $a0,0x2c($sp)
|
||||
/* f18df30: 27a50030 */ addiu $a1,$sp,0x30
|
||||
/* f18df34: 0fc66e45 */ jal func0f19b914
|
||||
/* f18df34: 0fc66e45 */ jal mpLoadConfig
|
||||
/* f18df38: 240601ca */ addiu $a2,$zero,0x1ca
|
||||
/* f18df3c: 0fc6373b */ jal func0f18dcec
|
||||
/* f18df40: 00402025 */ or $a0,$v0,$zero
|
||||
|
|
|
|||
|
|
@ -1378,6 +1378,51 @@
|
|||
#define MOVEMODE_GRAB 4
|
||||
#define MOVEMODE_CUTSCENE 5
|
||||
|
||||
#define MPCONFIG_TEMPLE 0x00
|
||||
#define MPCONFIG_PISTOLS 0x01
|
||||
#define MPCONFIG_FARSIGHT 0x02
|
||||
#define MPCONFIG_DRUGGUN 0x03
|
||||
#define MPCONFIG_SLAYER 0x04
|
||||
#define MPCONFIG_CLOAKING 0x05
|
||||
#define MPCONFIG_SLOWMO 0x06
|
||||
#define MPCONFIG_NOSHIELD 0x07
|
||||
#define MPCONFIG_BRIEFCASE 0x08
|
||||
#define MPCONFIG_SKEDARKING 0x09
|
||||
#define MPCONFIG_FLAGS 0x0a
|
||||
#define MPCONFIG_SIMULANTS 0x0b
|
||||
#define MPCONFIG_AUTOMATICS 0x0c
|
||||
#define MPCONFIG_ROCKETS 0x0d
|
||||
#define MPCONFIG_CHALLENGE01 0x0e
|
||||
#define MPCONFIG_CHALLENGE02 0x0f
|
||||
#define MPCONFIG_CHALLENGE03 0x10
|
||||
#define MPCONFIG_CHALLENGE04 0x11
|
||||
#define MPCONFIG_CHALLENGE05 0x12
|
||||
#define MPCONFIG_CHALLENGE06 0x13
|
||||
#define MPCONFIG_CHALLENGE07 0x14
|
||||
#define MPCONFIG_CHALLENGE08 0x15
|
||||
#define MPCONFIG_CHALLENGE09 0x16
|
||||
#define MPCONFIG_CHALLENGE10 0x17
|
||||
#define MPCONFIG_CHALLENGE11 0x18
|
||||
#define MPCONFIG_CHALLENGE12 0x19
|
||||
#define MPCONFIG_CHALLENGE13 0x1a
|
||||
#define MPCONFIG_CHALLENGE14 0x1b
|
||||
#define MPCONFIG_CHALLENGE15 0x1c
|
||||
#define MPCONFIG_CHALLENGE16 0x1d
|
||||
#define MPCONFIG_CHALLENGE17 0x1e
|
||||
#define MPCONFIG_CHALLENGE18 0x1f
|
||||
#define MPCONFIG_CHALLENGE19 0x20
|
||||
#define MPCONFIG_CHALLENGE20 0x21
|
||||
#define MPCONFIG_CHALLENGE21 0x22
|
||||
#define MPCONFIG_CHALLENGE22 0x23
|
||||
#define MPCONFIG_CHALLENGE23 0x24
|
||||
#define MPCONFIG_CHALLENGE24 0x25
|
||||
#define MPCONFIG_CHALLENGE25 0x26
|
||||
#define MPCONFIG_CHALLENGE26 0x27
|
||||
#define MPCONFIG_CHALLENGE27 0x28
|
||||
#define MPCONFIG_CHALLENGE28 0x29
|
||||
#define MPCONFIG_CHALLENGE29 0x2a
|
||||
#define MPCONFIG_CHALLENGE30 0x2b
|
||||
|
||||
#define MPLOCKTYPE_NONE 0
|
||||
#define MPLOCKTYPE_LASTWINNER 1
|
||||
#define MPLOCKTYPE_LASTLOSER 2
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ void func0f19afdc(void);
|
|||
void func0f19b540(void);
|
||||
u32 func0f19b6f8(void);
|
||||
u32 func0f19b800(void);
|
||||
s32 func0f19b914(s16 arg0, s32 arg1, s32 arg2);
|
||||
s32 mpLoadConfig(s16 arg0, char *buffer, s32 len);
|
||||
u32 func0f19bb50(void);
|
||||
u32 func0f19bb98(void);
|
||||
u32 func0f19bd4c(void);
|
||||
u32 func0f19bfa0(void);
|
||||
u32 func0f19c1cc(void);
|
||||
void func0f19c1cc(void);
|
||||
u32 func0f19c288(void);
|
||||
u32 func0f19c2b0(void);
|
||||
bool mpIsChallengeCompleteForEndscreen(void);
|
||||
|
|
@ -26,12 +26,12 @@ s32 mpGetNumAvailableChallenges(void);
|
|||
char *mpChallengeGetName(s32 challengeindex);
|
||||
void mpSetCurrentChallenge(s32 slotnum);
|
||||
s32 mpGetCurrentChallengeIndex(void);
|
||||
s32 func0f19ba58(s32 challengeindex, s32 arg1, s32 arg2);
|
||||
s32 mpGetNthAvailableChallengeSomething(s32 n, s32 arg1, s32 arg2);
|
||||
s32 func0f19bb20(s32 arg0, s32 arg1);
|
||||
s32 mpLoadChallenge(s32 challengeindex, char *buffer, s32 len);
|
||||
s32 mpGetNthAvailableChallengeSomething(s32 n, char *buffer, s32 len);
|
||||
s32 mpLoadCurrentChallenge(char *buffer, s32 len);
|
||||
void func0f19c190(void);
|
||||
s32 func0f19c220(void);
|
||||
void mpCalculateVar800884b4(s32 arg0, s32 arg1);
|
||||
s32 mpRemoveLock(void);
|
||||
void mpCalculateVar800884b4(char *buffer, s32 len);
|
||||
void mpResetVar800884b4(void);
|
||||
bool mpIsVar800884b4NonZero(void);
|
||||
s32 mpGetNumChallengesAvailable(s32 mpchrnum);
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ u32 mpGetNumPresets(void);
|
|||
bool mpIsPresetUnlocked(s32 presetnum);
|
||||
s32 mpGetNumUnlockedPresets(void);
|
||||
char *mpGetPresetNameBySlot(s32 slot);
|
||||
u32 func0f18dcec(void);
|
||||
void func0f18dcec(s32 arg0);
|
||||
u32 func0f18dec4(void);
|
||||
u32 func0f18df5c(void);
|
||||
u32 func0f18e16c(void);
|
||||
|
|
|
|||
|
|
@ -4109,7 +4109,7 @@ struct savelocation {
|
|||
|
||||
struct challenge {
|
||||
/*0x00*/ u16 name;
|
||||
/*0x02*/ s16 unk02;
|
||||
/*0x02*/ s16 confignum;
|
||||
|
||||
// One byte for each number of players,
|
||||
// and 4 bits in each to mark which players completed it
|
||||
|
|
@ -4373,7 +4373,7 @@ struct objectivething {
|
|||
|
||||
struct mppreset {
|
||||
u16 name;
|
||||
u32 unk04;
|
||||
u32 confignum;
|
||||
u8 challenges[16];
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue