mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-12 03:37:55 -04:00
Attempt to decompile mpIsTrackUnlocked
This commit is contained in:
@@ -5584,6 +5584,26 @@ glabel mpIsTrackUnlocked
|
||||
/* f18c134: 00601025 */ or $v0,$v1,$zero
|
||||
);
|
||||
|
||||
// Mismatch because the compiler optimises out the unlocked variable
|
||||
//bool mpIsTrackUnlocked(s32 tracknum)
|
||||
//{
|
||||
// s16 stageindex = g_MpTracks[tracknum].unlockstage;
|
||||
// bool unlocked = false;
|
||||
// u32 i;
|
||||
//
|
||||
// if (stageindex < 0 || stageindex >= NUM_SOLONORMALSTAGES) {
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// for (i = 0; i != 3; i++) {
|
||||
// if (g_SoloSaveFile.besttimes[stageindex][i]) {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return unlocked;
|
||||
//}
|
||||
|
||||
s32 mpGetTrackSlotIndex(s32 tracknum)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
+10
-9
@@ -552,15 +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
|
||||
#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_SOLONORMALSTAGES 17
|
||||
#define NUM_SOLOSTAGES 21
|
||||
#define NUM_STAGES 90
|
||||
#define NUM_WEAPONS 94
|
||||
|
||||
// obj->flags
|
||||
#define OBJECTFLAG0_00000001 0x00000001 // Not used in scripts
|
||||
|
||||
@@ -62,7 +62,7 @@ u32 mpGetLockType(void);
|
||||
u32 mpGetLockPlayerNum(void);
|
||||
u32 func0f18bfd8(void);
|
||||
u32 func0f18c014(void);
|
||||
bool mpIsTrackUnlocked(s32 arg0);
|
||||
bool mpIsTrackUnlocked(s32 tracknum);
|
||||
s32 mpGetTrackSlotIndex(s32 tracknum);
|
||||
s32 mpGetTrackNumAtSlotIndex(s32 slotindex);
|
||||
s32 func0f18c200(void);
|
||||
|
||||
+1
-1
@@ -2884,7 +2884,7 @@ struct mptrack {
|
||||
u16 audioid : 7;
|
||||
u16 duration : 9;
|
||||
s16 name;
|
||||
s16 unlockcategory;
|
||||
s16 unlockstage;
|
||||
};
|
||||
|
||||
struct stageoverviewentry {
|
||||
|
||||
+36
-36
@@ -12170,7 +12170,7 @@ u32 var80087a6c = 0x0000002c;
|
||||
|
||||
// 2da90
|
||||
struct mptrack g_MpTracks[NUM_MPTRACKS] = {
|
||||
// Audio ID, duration, name, unlock category
|
||||
// Audio ID, duration, name, unlock after stage
|
||||
/*0x00*/ { 0x3a, 160, 0x587c, -1 },
|
||||
/*0x01*/ { 0x3b, 170, 0x587d, -1 },
|
||||
/*0x02*/ { 0x3d, 170, 0x587e, -1 },
|
||||
@@ -12178,41 +12178,41 @@ struct mptrack g_MpTracks[NUM_MPTRACKS] = {
|
||||
/*0x04*/ { 0x3f, 200, 0x5880, -1 },
|
||||
/*0x05*/ { 0x40, 197, 0x5881, -1 },
|
||||
/*0x06*/ { 0x0d, 120, 0x5882, -1 },
|
||||
/*0x07*/ { 0x09, 120, 0x5883, 0 },
|
||||
/*0x08*/ { 0x10, 120, 0x5884, 0 },
|
||||
/*0x09*/ { 0x12, 120, 0x5885, 1 },
|
||||
/*0x0a*/ { 0x13, 120, 0x5886, 1 },
|
||||
/*0x0b*/ { 0x02, 120, 0x5887, 2 },
|
||||
/*0x0c*/ { 0x11, 120, 0x5888, 2 },
|
||||
/*0x0d*/ { 0x0c, 120, 0x5889, 3 },
|
||||
/*0x0e*/ { 0x27, 120, 0x588a, 3 },
|
||||
/*0x0f*/ { 0x0e, 120, 0x588b, 4 },
|
||||
/*0x10*/ { 0x28, 120, 0x588c, 4 },
|
||||
/*0x11*/ { 0x0f, 120, 0x588d, 5 },
|
||||
/*0x12*/ { 0x29, 120, 0x588e, 5 },
|
||||
/*0x13*/ { 0x14, 120, 0x588f, 6 },
|
||||
/*0x14*/ { 0x2a, 120, 0x5890, 6 },
|
||||
/*0x15*/ { 0x16, 120, 0x5891, 7 },
|
||||
/*0x16*/ { 0x32, 120, 0x5892, 7 },
|
||||
/*0x17*/ { 0x06, 120, 0x5893, 8 },
|
||||
/*0x18*/ { 0x33, 120, 0x5894, 8 },
|
||||
/*0x19*/ { 0x17, 120, 0x5895, 9 },
|
||||
/*0x1a*/ { 0x34, 120, 0x5896, 9 },
|
||||
/*0x1b*/ { 0x18, 120, 0x5897, 10 },
|
||||
/*0x1c*/ { 0x35, 120, 0x5898, 10 },
|
||||
/*0x1d*/ { 0x1d, 120, 0x5899, 11 },
|
||||
/*0x1e*/ { 0x1e, 120, 0x589a, 11 },
|
||||
/*0x1f*/ { 0x1c, 120, 0x589b, 12 },
|
||||
/*0x20*/ { 0x36, 120, 0x589c, 12 },
|
||||
/*0x21*/ { 0x07, 120, 0x589d, 13 },
|
||||
/*0x22*/ { 0x37, 120, 0x589e, 13 },
|
||||
/*0x23*/ { 0x04, 120, 0x589f, 14 },
|
||||
/*0x24*/ { 0x24, 120, 0x58a0, 14 },
|
||||
/*0x25*/ { 0x1f, 120, 0x58a1, 15 },
|
||||
/*0x26*/ { 0x20, 120, 0x58a2, 15 },
|
||||
/*0x27*/ { 0x21, 120, 0x58a3, 16 },
|
||||
/*0x28*/ { 0x38, 120, 0x58a4, 16 },
|
||||
/*0x29*/ { 0x58, 120, 0x58a5, 16 },
|
||||
/*0x07*/ { 0x09, 120, 0x5883, SOLOSTAGEINDEX_DEFECTION },
|
||||
/*0x08*/ { 0x10, 120, 0x5884, SOLOSTAGEINDEX_DEFECTION },
|
||||
/*0x09*/ { 0x12, 120, 0x5885, SOLOSTAGEINDEX_INVESTIGATION },
|
||||
/*0x0a*/ { 0x13, 120, 0x5886, SOLOSTAGEINDEX_INVESTIGATION },
|
||||
/*0x0b*/ { 0x02, 120, 0x5887, SOLOSTAGEINDEX_EXTRACTION },
|
||||
/*0x0c*/ { 0x11, 120, 0x5888, SOLOSTAGEINDEX_EXTRACTION },
|
||||
/*0x0d*/ { 0x0c, 120, 0x5889, SOLOSTAGEINDEX_VILLA },
|
||||
/*0x0e*/ { 0x27, 120, 0x588a, SOLOSTAGEINDEX_VILLA },
|
||||
/*0x0f*/ { 0x0e, 120, 0x588b, SOLOSTAGEINDEX_CHICAGO },
|
||||
/*0x10*/ { 0x28, 120, 0x588c, SOLOSTAGEINDEX_CHICAGO },
|
||||
/*0x11*/ { 0x0f, 120, 0x588d, SOLOSTAGEINDEX_G5BUILDING },
|
||||
/*0x12*/ { 0x29, 120, 0x588e, SOLOSTAGEINDEX_G5BUILDING },
|
||||
/*0x13*/ { 0x14, 120, 0x588f, SOLOSTAGEINDEX_INFILTRATION },
|
||||
/*0x14*/ { 0x2a, 120, 0x5890, SOLOSTAGEINDEX_INFILTRATION },
|
||||
/*0x15*/ { 0x16, 120, 0x5891, SOLOSTAGEINDEX_RESCUE },
|
||||
/*0x16*/ { 0x32, 120, 0x5892, SOLOSTAGEINDEX_RESCUE },
|
||||
/*0x17*/ { 0x06, 120, 0x5893, SOLOSTAGEINDEX_ESCAPE },
|
||||
/*0x18*/ { 0x33, 120, 0x5894, SOLOSTAGEINDEX_ESCAPE },
|
||||
/*0x19*/ { 0x17, 120, 0x5895, SOLOSTAGEINDEX_AIRBASE },
|
||||
/*0x1a*/ { 0x34, 120, 0x5896, SOLOSTAGEINDEX_AIRBASE },
|
||||
/*0x1b*/ { 0x18, 120, 0x5897, SOLOSTAGEINDEX_AIRFORCEONE },
|
||||
/*0x1c*/ { 0x35, 120, 0x5898, SOLOSTAGEINDEX_AIRFORCEONE },
|
||||
/*0x1d*/ { 0x1d, 120, 0x5899, SOLOSTAGEINDEX_CRASHSITE },
|
||||
/*0x1e*/ { 0x1e, 120, 0x589a, SOLOSTAGEINDEX_CRASHSITE },
|
||||
/*0x1f*/ { 0x1c, 120, 0x589b, SOLOSTAGEINDEX_PELAGIC },
|
||||
/*0x20*/ { 0x36, 120, 0x589c, SOLOSTAGEINDEX_PELAGIC },
|
||||
/*0x21*/ { 0x07, 120, 0x589d, SOLOSTAGEINDEX_DEEPSEA },
|
||||
/*0x22*/ { 0x37, 120, 0x589e, SOLOSTAGEINDEX_DEEPSEA },
|
||||
/*0x23*/ { 0x04, 120, 0x589f, SOLOSTAGEINDEX_DEFENSE },
|
||||
/*0x24*/ { 0x24, 120, 0x58a0, SOLOSTAGEINDEX_DEFENSE },
|
||||
/*0x25*/ { 0x1f, 120, 0x58a1, SOLOSTAGEINDEX_ATTACKSHIP },
|
||||
/*0x26*/ { 0x20, 120, 0x58a2, SOLOSTAGEINDEX_ATTACKSHIP },
|
||||
/*0x27*/ { 0x21, 120, 0x58a3, SOLOSTAGEINDEX_SKEDARRUINS },
|
||||
/*0x28*/ { 0x38, 120, 0x58a4, SOLOSTAGEINDEX_SKEDARRUINS },
|
||||
/*0x29*/ { 0x58, 120, 0x58a5, SOLOSTAGEINDEX_SKEDARRUINS },
|
||||
};
|
||||
|
||||
// 2db8c
|
||||
|
||||
Reference in New Issue
Block a user