mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-27 09:52:47 -04:00
jpn-final: Get data segment matching excluding pointers
This commit is contained in:
@@ -2021,7 +2021,6 @@ FILE(07d9, CheadphelpsZ, _file_CheadphelpsZ);
|
||||
FILE(07da, Ap29_15_joM, _file_Ap29_15_joM);
|
||||
FILE(07db, Ap16_03_joM, _file_Ap16_03_joM);
|
||||
FILE(07dc, Acarrbye02M, _file_Acarrbye02M);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
FILE(07dd, Asaucerexp1M, _file_Asaucerexp1M);
|
||||
#endif
|
||||
FILE(07de, PjaplogoZ, _file_PjaplogoZ);
|
||||
FILE(07df, PjappdZ, _file_PjappdZ);
|
||||
|
||||
@@ -56,7 +56,11 @@ struct aibotweaponpreference g_AibotWeaponPreferences[] = {
|
||||
/*0x17*/ { 176, 188, 0, 0, 1, 1, BOTDISTCFG_SHOOTEXPLOSIVE, BOTDISTCFG_SHOOTEXPLOSIVE, 20, 20, 4, 4, 2, 0 }, // WEAPON_DEVASTATOR
|
||||
/*0x18*/ { 160, 188, 0, 0, 1, 1, BOTDISTCFG_SHOOTEXPLOSIVE, BOTDISTCFG_SHOOTEXPLOSIVE, 2, 2, 1, 1, 2, 0 }, // WEAPON_ROCKETLAUNCHER
|
||||
/*0x19*/ { 168, 188, 0, 0, 1, 1, BOTDISTCFG_SHOOTEXPLOSIVE, BOTDISTCFG_SHOOTEXPLOSIVE, 2, 2, 1, 1, 3, 0 }, // WEAPON_SLAYER
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
/*0x1a*/ { 0, 0, 0, 0, 0, 0, BOTDISTCFG_DEFAULT, BOTDISTCFG_DEFAULT, 0, 0, 0, 0, 1, 0 }, // WEAPON_COMBATKNIFE
|
||||
#else
|
||||
/*0x1a*/ { 20, 40, 24, 40, 1, 1, BOTDISTCFG_CLOSE, BOTDISTCFG_DEFAULT, 0, 5, 0, 1, 1, 0 }, // WEAPON_COMBATKNIFE
|
||||
#endif
|
||||
/*0x1b*/ { 108, 176, 0, 0, 1, 1, BOTDISTCFG_DEFAULT, BOTDISTCFG_DEFAULT, 15, 15, 5, 5, 4, 1 }, // WEAPON_CROSSBOW
|
||||
/*0x1c*/ { 48, 188, 0, 0, 1, 1, BOTDISTCFG_DEFAULT, BOTDISTCFG_CLOSE, 20, 24, 6, 8, 1, 0 }, // WEAPON_TRANQUILIZER
|
||||
/*0x1d*/ { 112, 112, 0, 0, 1, 1, BOTDISTCFG_DEFAULT, BOTDISTCFG_CLOSE, 0, 0, 0, 0, 1, 0 }, // WEAPON_LASER
|
||||
|
||||
+11
-1
@@ -494,7 +494,17 @@ struct credit g_Credits[] = {
|
||||
{ 1, 0, 0, 0, CREDITSTYLE_R_MED, L_TITLE_131, L_TITLE_132 }, // "armond williams junior", "henry sterchi"
|
||||
{ 0, 0, 0, 0, CREDITSTYLE_R_MED, L_TITLE_133, L_TITLE_000 }, // "ed ridgeway", ""
|
||||
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ 1, 0, 1, 0, CREDITSTYLE_C_BIG, L_TITLE_184, L_TITLE_000 }, // "ncl staff", ""
|
||||
{ 1, 0, 0, 0, CREDITSTYLE_C_MED, L_TITLE_185, L_TITLE_186 }, // "s. miyamoto", "k. miki"
|
||||
{ 0, 0, 0, 0, CREDITSTYLE_C_MED, L_TITLE_187, L_TITLE_188 }, // "s. kojoh", "y. nakano"
|
||||
|
||||
{ 1, 1, 0, 0, CREDITSTYLE_C_BIG, L_TITLE_184, L_TITLE_000 }, // "ncl staff", ""
|
||||
{ 1, 0, 0, 0, CREDITSTYLE_C_MED, L_TITLE_189, L_TITLE_190 }, // "k.yamaguchi", "k. terasaki"
|
||||
{ 0, 0, 0, 0, CREDITSTYLE_C_MED, L_TITLE_191, L_TITLE_192 }, // "m. goto", "super mario club"
|
||||
#endif
|
||||
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
{ 1, 0, 1, 0, CREDITSTYLE_L_BIG, L_TITLE_151, L_TITLE_000 }, // "testing (noe)"
|
||||
{ 1, 0, 0, 0, CREDITSTYLE_11, L_TITLE_152, L_TITLE_153 }, // "supervisor", "kai 'jellybean' neumann"
|
||||
{ 0, 0, 0, 0, CREDITSTYLE_11, L_TITLE_154, L_TITLE_155 }, // "deputy supervisor", "maurice 'pathfinder' tisdale"
|
||||
|
||||
+9
-1
@@ -2025,6 +2025,10 @@ extern void *_file_Acarrbye02M;
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
extern void *_file_Asaucerexp1M;
|
||||
#endif
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
extern void *_file_PjaplogoZ;
|
||||
extern void *_file_PjappdZ;
|
||||
#endif
|
||||
extern void *_filenamesSegmentRomStart;
|
||||
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
@@ -4057,7 +4061,11 @@ void *filetable[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
/*0x07dd*/ &_file_Asaucerexp1M,
|
||||
#endif
|
||||
/*0x07de*/ &_filenamesSegmentRomStart,
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
/*0x07de*/ &_file_PjaplogoZ,
|
||||
/*0x07df*/ &_file_PjappdZ,
|
||||
#endif
|
||||
&_filenamesSegmentRomStart,
|
||||
};
|
||||
|
||||
u32 fileGetRomAddress(s32 filenum)
|
||||
|
||||
@@ -3550,7 +3550,7 @@ void setupLoadFiles(s32 stagenum)
|
||||
|
||||
g_DoorScale = 1;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_ModelStates); i++) {
|
||||
for (i = 0; i < NUM_MODELS; i++) {
|
||||
g_ModelStates[i].filedata = NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -361,7 +361,7 @@ struct menudialogdef g_MpQuickGo4MbMenuDialog = {
|
||||
};
|
||||
|
||||
struct menuitem g_MpConfirmChallenge4MbMenuItems[] = {
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 65, NULL },
|
||||
#else
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 55, NULL },
|
||||
|
||||
+25
-2
@@ -36,10 +36,21 @@ Gfx *var800a4634;
|
||||
u32 var800a4638;
|
||||
u32 var800a463c;
|
||||
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
u32 var800800f0jf = 0;
|
||||
s32 g_ScaleX = 1;
|
||||
s32 var8007fac4 = 0;
|
||||
u32 var8007fac8 = 0x00000000;
|
||||
u32 var8007facc = 0x00000000;
|
||||
u32 var8007fac8 = 0;
|
||||
u32 var8007facc = 0;
|
||||
u32 var80080104jf = 0;
|
||||
u32 var80080108jf = 1;
|
||||
#else
|
||||
s32 g_ScaleX = 1;
|
||||
s32 var8007fac4 = 0;
|
||||
u32 var8007fac8 = 0;
|
||||
u32 var8007facc = 0;
|
||||
#endif
|
||||
|
||||
u32 var8007fad0 = 0x00000001;
|
||||
u32 var8007fad4 = 0xffffffff;
|
||||
u32 var8007fad8 = 0x00000000;
|
||||
@@ -93,6 +104,18 @@ u32 var8007fb8c = 0xff00ff18;
|
||||
u32 var8007fb90 = 0xff30ff5c;
|
||||
u32 var8007fb94 = 0xff88ffb4;
|
||||
u32 var8007fb98 = 0xffd8ffff;
|
||||
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
u32 var800801d8jf = 0xff00ff11;
|
||||
u32 var800801dcjf = 0xff22ff33;
|
||||
u32 var800801e0jf = 0xff44ff55;
|
||||
u32 var800801e4jf = 0xff66ff77;
|
||||
u32 var800801e8jf = 0xff88ff99;
|
||||
u32 var800801ecjf = 0xffaaffbb;
|
||||
u32 var800801f0jf = 0xffccffdd;
|
||||
u32 var800801f4jf = 0xffeeffff;
|
||||
#endif
|
||||
|
||||
u32 var8007fb9c = 0x00000000;
|
||||
s32 var8007fba0 = 0;
|
||||
s32 var8007fba4 = -1;
|
||||
|
||||
@@ -51,14 +51,22 @@ struct sndstate *var800736b0nb = NULL;
|
||||
struct hudmsgtype g_HudmsgTypes[] = {
|
||||
/* 0*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 80 },
|
||||
/* 1*/ { 0, 1, 0, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_YMIDDLE, 0, 0, 120 },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
/* 2*/ { 0, 0, 1, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0xff999900, 0xffffffa0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_YMIDDLE, 0, 0, 120 },
|
||||
#else
|
||||
/* 2*/ { 0, 0, 1, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0xff000000, 0xffffffa0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_YMIDDLE, 0, 0, 120 },
|
||||
#endif
|
||||
/* 3*/ { 0, 1, 0, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 120 },
|
||||
/* 4*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ffc000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 40 },
|
||||
/* 5*/ { 0, 0, 0, &g_CharsHandelGothicMd, &g_FontHandelGothicMd, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_TOP, 0, 0, 120 },
|
||||
/* 6*/ { 1, 0, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_TOP, 0, 0, 120 },
|
||||
/* 7*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_TOP, 0, 0, -1 },
|
||||
/* 8*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ffc000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_BOTTOM, 0, 0, 500 },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
/* 9*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 120 },
|
||||
#else
|
||||
/* 9*/ { 1, 1, 0, &g_CharsHandelGothicXs, &g_FontHandelGothicXs, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 120 },
|
||||
#endif
|
||||
/*10*/ { 1, 1, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_LEFT, HUDMSGALIGN_BOTTOM, 0, 0, 240 },
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
/*11*/ { 0, 0, 0, &g_CharsHandelGothicSm, &g_FontHandelGothicSm, 0x00ff0000, 0x000000a0, HUDMSGALIGN_XMIDDLE, HUDMSGALIGN_BELOWVIEWPORT, 0, 0, 120 },
|
||||
|
||||
@@ -547,7 +547,11 @@ struct weapon invitem_falcon2 = {
|
||||
1, // unk38
|
||||
invf_000113f4, // fptr
|
||||
invpartvisibility_falcon2, // part visibility
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
L_GUN_257, // short name
|
||||
#else
|
||||
L_GUN_007, // short name
|
||||
#endif
|
||||
L_GUN_007, // name
|
||||
L_GUN_150, // manufacturer
|
||||
L_GUN_156, // description
|
||||
@@ -3300,7 +3304,11 @@ struct weapon invitem_ecmmine = {
|
||||
1, // unk38
|
||||
NULL, // fptr
|
||||
NULL, // part visibility
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
L_GUN_256, // short name
|
||||
#else
|
||||
L_GUN_041, // short name
|
||||
#endif
|
||||
L_GUN_041, // name
|
||||
L_GUN_000, // manufacturer
|
||||
L_GUN_188, // description
|
||||
@@ -5672,7 +5680,11 @@ struct weapon invitem_skedarbomb = {
|
||||
1, // unk38
|
||||
NULL, // fptr
|
||||
NULL, // part visibility
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
L_GUN_259, // short name
|
||||
#else
|
||||
L_GUN_221, // short name
|
||||
#endif
|
||||
L_GUN_221, // name
|
||||
L_GUN_000, // manufacturer
|
||||
L_GUN_203, // description
|
||||
@@ -5898,7 +5910,11 @@ struct weapon invitem_suitcase = {
|
||||
1, // unk38
|
||||
NULL, // fptr
|
||||
NULL, // part visibility
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
L_GUN_258, // short name
|
||||
#else
|
||||
L_GUN_067, // short name
|
||||
#endif
|
||||
L_GUN_067, // name
|
||||
L_GUN_000, // manufacturer
|
||||
L_GUN_000, // description
|
||||
|
||||
+3
-1
@@ -12,7 +12,7 @@
|
||||
* PAL ignores this mostly and introduces g_LanguageId.
|
||||
*/
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
bool g_Jpn = false;
|
||||
bool g_Jpn = VERSION == VERSION_JPN_FINAL ? true : false;
|
||||
u32 var80084664pf = 0;
|
||||
u32 var80084668pf = 0;
|
||||
u32 var8008466cpf = 0;
|
||||
@@ -177,6 +177,8 @@ u32 langGetLangBankIndexFromStagenum(s32 stagenum)
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
const char var7f1b8850jf[] = "tmul";
|
||||
const char var7f1b8858jf[] = "tload";
|
||||
u32 var80084810jf = 0;
|
||||
u32 var80084814jf = 8;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f16e3fc
|
||||
|
||||
@@ -962,6 +962,11 @@ void lvFindThreats(void)
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
u32 var800846d4jf[] = {0, 0, 0, 0x1e000000};
|
||||
struct sndstate *g_CutsceneStaticAudioHandle = NULL;
|
||||
s32 g_CutsceneStaticTimer = 100;
|
||||
u8 g_CutsceneStaticActive = false;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel lvRender
|
||||
.late_rodata
|
||||
|
||||
+39
-5
@@ -4395,7 +4395,13 @@ struct menudialogdef g_2PMissionControlStyleMenuDialog = {
|
||||
};
|
||||
|
||||
struct menuitem g_SoloMissionControlStyleMenuItems[] = {
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, PAL ? 0x9c : 0x96, menuhandler001024dc },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0xbe, menuhandler001024dc },
|
||||
#elif PAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0x9c, menuhandler001024dc },
|
||||
#else
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0x96, menuhandler001024dc },
|
||||
#endif
|
||||
{ MENUITEMTYPE_CONTROLLER, 0, 0x00000001, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
@@ -4410,7 +4416,13 @@ struct menudialogdef g_SoloMissionControlStyleMenuDialog = {
|
||||
};
|
||||
|
||||
struct menuitem g_CiControlStyleMenuItems[] = {
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, PAL ? 0x9c : 0x96, menuhandler001024dc },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0xbe, menuhandler001024dc },
|
||||
#elif PAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0x9c, menuhandler001024dc },
|
||||
#else
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0x96, menuhandler001024dc },
|
||||
#endif
|
||||
{ MENUITEMTYPE_CONTROLLER, 0, 0x00000001, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
@@ -4425,7 +4437,13 @@ struct menudialogdef g_CiControlStyleMenuDialog = {
|
||||
};
|
||||
|
||||
struct menuitem g_CiControlStylePlayer2MenuItems[] = {
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, PAL ? 0x9c : 0x96, menuhandler001024fc },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0xbe, menuhandler001024fc },
|
||||
#elif PAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0x9c, menuhandler001024fc },
|
||||
#else
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00800000, 0x00000028, 0x96, menuhandler001024fc },
|
||||
#endif
|
||||
{ MENUITEMTYPE_CONTROLLER, 0, 0x00000001, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
@@ -4448,7 +4466,9 @@ struct menuitem g_AudioOptionsMenuItems[] = {
|
||||
{ MENUITEMTYPE_SLIDER, 0, 0x00002800, L_OPTIONS_229, 0x7fff, menuhandlerMusicVolume }, // "Music"
|
||||
#endif
|
||||
{ MENUITEMTYPE_DROPDOWN, 0, 0x00000000, L_OPTIONS_230, 0x00000000, menuhandlerSoundMode }, // "Sound Mode"
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_CHECKBOX, 0, 0x00000000, L_MPWEAPONS_218, 0x00000000, menuhandlerLangFilter }, // "Language Filter"
|
||||
#endif
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 200, 0x00000000, NULL },
|
||||
#else
|
||||
@@ -4476,7 +4496,9 @@ struct menuitem g_2PMissionAudioOptionsVMenuItems[] = {
|
||||
{ MENUITEMTYPE_SLIDER, 0, 0x00102800, L_OPTIONS_229, 0x7fff, menuhandlerMusicVolume }, // "Music"
|
||||
#endif
|
||||
{ MENUITEMTYPE_DROPDOWN, 0, 0x00000000, L_MPWEAPONS_153, 0x00000000, menuhandlerSoundMode }, // "Mode"
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_CHECKBOX, 0, 0x00000000, L_MPWEAPONS_218, 0x00000000, menuhandlerLangFilter }, // "Language Filter"
|
||||
#endif
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_OPTIONS_231, 0x00000000, NULL }, // "Back"
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
@@ -5771,10 +5793,18 @@ glabel var7f1b2e84
|
||||
#endif
|
||||
|
||||
struct menuitem g_SoloMissionInventoryMenuItems[] = {
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00000000, 0x0000006e, 0x00000063, menuhandler00106178 },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00000000, 0x0000006e, 0x54, menuhandler00106178 },
|
||||
#else
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00000000, 0x0000006e, 0x63, menuhandler00106178 },
|
||||
#endif
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000203, L_OPTIONS_003, (u32)&invMenuTextWeaponManufacturer, NULL }, // ""
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000302, L_OPTIONS_003, (u32)&invMenuTextWeaponName, NULL }, // ""
|
||||
{ MENUITEMTYPE_MODEL, 0, 0x00000000, 0x0000008c, 0x00000037, NULL },
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_MODEL, 0, 0x00000000, 0x0000008c, 0x14, NULL },
|
||||
#else
|
||||
{ MENUITEMTYPE_MODEL, 0, 0x00000000, 0x0000008c, 0x37, NULL },
|
||||
#endif
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000202, L_OPTIONS_003, (u32)&invMenuTextPrimaryFunction, NULL }, // ""
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000202, L_OPTIONS_003, (u32)&invMenuTextSecondaryFunction, NULL }, // ""
|
||||
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&invMenuTextWeaponDescription, 0x00000000, NULL },
|
||||
@@ -5797,7 +5827,11 @@ struct menudialogdef g_SoloMissionInventoryMenuDialog = {
|
||||
L_OPTIONS_178, // "Inventory"
|
||||
g_SoloMissionInventoryMenuItems,
|
||||
inventoryMenuDialog,
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
MENUDIALOGFLAG_0002 | MENUDIALOGFLAG_DISABLERESIZE | MENUDIALOGFLAG_0400 | MENUDIALOGFLAG_1000,
|
||||
#else
|
||||
MENUDIALOGFLAG_0002 | MENUDIALOGFLAG_DISABLERESIZE | MENUDIALOGFLAG_0400,
|
||||
#endif
|
||||
&g_SoloMissionOptionsMenuDialog,
|
||||
};
|
||||
|
||||
|
||||
@@ -27414,7 +27414,9 @@ struct menudialogdef g_PakDamagedMenuDialog = {
|
||||
struct menuitem g_PakFullMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&menuTextSaveDeviceName, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x02000210, L_MPWEAPONS_071, 0x00000000, NULL }, // "is too full to save note - 1 note and 28 pages required to save"
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x02000220, L_OPTIONS_003, 0x00000000, NULL }, // ""
|
||||
#endif
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x02000210, L_MPWEAPONS_072, 0x00000000, NULL }, // "Enter the Controller Pak Menu to free some space (hold START while powering up.)"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_073, 0x00000000, NULL }, // "OK"
|
||||
|
||||
+24
-23
@@ -33,7 +33,7 @@ s32 g_ScissorY2 = 0;
|
||||
|
||||
s32 var800711a0 = 0;
|
||||
s32 var800711a4 = 0;
|
||||
u32 g_LineHeight = 11;
|
||||
u32 g_LineHeight = LINEHEIGHT;
|
||||
|
||||
u8 g_KeyboardKeys[5][10] = {
|
||||
{ '0','1','2','3','4','5','6','7','8','9' },
|
||||
@@ -10561,28 +10561,29 @@ struct lineconfig {
|
||||
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
struct lineconfig linecfgs[] = {
|
||||
/* 0*/ { 12, 10, -1, 3 },
|
||||
/* 1*/ { 51, 10, -1, 3 },
|
||||
/* 2*/ { 12, 3, 75, -1 },
|
||||
/* 3*/ { 55, 19, 64, -1 },
|
||||
/* 4*/ { 63, 19, -1, 10 },
|
||||
/* 5*/ { 63, 10, 75, -1 },
|
||||
/* 6*/ { 51, 23, 55, -1 },
|
||||
/* 7*/ { 59, 23, 68, -1 },
|
||||
/* 8*/ { 67, 23, -1, 17 },
|
||||
/* 9*/ { 67, 17, 75, -1 },
|
||||
/*10*/ { 55, 27, 72, -1 },
|
||||
/*11*/ { 71, 27, -1, 24 },
|
||||
/*12*/ { 71, 24, 75, -1 },
|
||||
/*13*/ { 49, 31, 75, -1 },
|
||||
/*14*/ { 43, 28, -1, 38 },
|
||||
/*15*/ { 43, 38, 75, -1 },
|
||||
/*16*/ { 30, 35, 37, -1 },
|
||||
/*17*/ { 37, 35, -1, 45 },
|
||||
/*18*/ { 37, 45, 75, -1 },
|
||||
/*19*/ { 34, 52, 75, -1 },
|
||||
/*20*/ { 12, 30, -1, 59 },
|
||||
/*21*/ { 12, 59, 75, -1 },
|
||||
/* 0*/ { 12, 4, -1, 31 },
|
||||
/* 1*/ { 51, 4, -1, 31 },
|
||||
/* 2*/ { 12, 4, 75, -1 },
|
||||
/* 3*/ { 55, 40, 64, -1 },
|
||||
/* 4*/ { 63, 40, -1, 16 },
|
||||
/* 5*/ { 63, 16, 75, -1 },
|
||||
/* 6*/ { 51, 44, 55, -1 },
|
||||
/* 7*/ { 59, 44, 68, -1 },
|
||||
/* 8*/ { 67, 44, -1, 28 },
|
||||
/* 9*/ { 67, 28, 75, -1 },
|
||||
/*10*/ { 55, 48, 72, -1 },
|
||||
/*11*/ { 71, 48, -1, 40 },
|
||||
/*12*/ { 71, 40, 75, -1 },
|
||||
/*13*/ { 49, 52, 75, -1 },
|
||||
/*14*/ { 43, 49, -1, 64 },
|
||||
/*15*/ { 43, 64, 75, -1 },
|
||||
/*16*/ { 30, 56, 37, -1 },
|
||||
/*17*/ { 37, 56, -1, 76 },
|
||||
/*18*/ { 37, 76, 75, -1 },
|
||||
/*19*/ { 34, 73, 34, 88 },
|
||||
/*20*/ { 34, 88, 75, -1 },
|
||||
/*21*/ { 12, 51, -1, 100 },
|
||||
/*22*/ { 12, 100, 75, -1 },
|
||||
};
|
||||
|
||||
GLOBAL_ASM(
|
||||
|
||||
@@ -401,7 +401,7 @@ struct skeleton g_SkelBB = {
|
||||
SKEL_BB, ARRAYCOUNT(g_SkelBBJoints), g_SkelBBJoints,
|
||||
};
|
||||
|
||||
struct modelstate g_ModelStates[441] = {
|
||||
struct modelstate g_ModelStates[NUM_MODELS] = {
|
||||
// file scale
|
||||
/*0x0000*/ { NULL, FILE_PROOFGUN, 0x0199 },
|
||||
/*0x0001*/ { NULL, FILE_PGROUNDGUN, 0x0199 },
|
||||
@@ -844,6 +844,10 @@ struct modelstate g_ModelStates[441] = {
|
||||
/*0x01b6*/ { NULL, FILE_PDD_DR_NONREF, 0x1000 },
|
||||
/*0x01b7*/ { NULL, FILE_PCETANDOORSIDE, 0x1000 },
|
||||
/*0x01b8*/ { NULL, FILE_PBUDDYBRIDGE, 0x0199 },
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
/*0x01b9*/ { NULL, FILE_PJPNLOGO, 0x1000 },
|
||||
/*0x01ba*/ { NULL, FILE_PJPNPD, 0x1000 },
|
||||
#endif
|
||||
};
|
||||
|
||||
u8 g_PropExplosionTypes[] = {
|
||||
@@ -1295,9 +1299,15 @@ u8 g_PropExplosionTypes[] = {
|
||||
/*0x01bd*/ EXPLOSIONTYPE_0,
|
||||
/*0x01be*/ EXPLOSIONTYPE_0,
|
||||
/*0x01bf*/ EXPLOSIONTYPE_0,
|
||||
/*0x01c0*/ EXPLOSIONTYPE_0,
|
||||
/*0x01c1*/ EXPLOSIONTYPE_0,
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
/*0x01c2*/ EXPLOSIONTYPE_0,
|
||||
/*0x01c3*/ EXPLOSIONTYPE_0,
|
||||
#endif
|
||||
0xff,
|
||||
};
|
||||
|
||||
u32 var8007bff4 = 0x0000ff00;
|
||||
u32 var8007bff8 = 0x00000000;
|
||||
u32 var8007bffc = 0x00000000;
|
||||
u32 var8007c000 = 0x00000000;
|
||||
|
||||
@@ -399,6 +399,14 @@ struct menudialogdef g_MpEndGameMenuDialog = {
|
||||
};
|
||||
|
||||
struct menuitem g_MpPauseControlMenuItems[] = {
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextChallengeName, 0x00000000, menuhandler00178018 },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_162, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Time Limit:"
|
||||
{ MENUITEMTYPE_LABEL, 1, 0x00000010, L_MPWEAPONS_163, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Score Limit:"
|
||||
{ MENUITEMTYPE_LABEL, 2, 0x00000010, L_MPWEAPONS_164, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Team Score Limit:"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_286, (u32)&menutextMatchTime, NULL }, // "Game Time:"
|
||||
#else
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextChallengeName, 0x00000000, menuhandler00178018 },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextScenarioName, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000200, L_MPWEAPONS_162, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Time Limit:"
|
||||
@@ -406,6 +414,7 @@ struct menuitem g_MpPauseControlMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 2, 0x00000200, L_MPWEAPONS_164, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Team Score Limit:"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPMENU_286, (u32)&menutextMatchTime, NULL }, // "Game Time:"
|
||||
#endif
|
||||
{ MENUITEMTYPE_SELECTABLE, 1, 0x00000020, (u32)&menutextPauseOrUnpause, 0x00000000, menuhandlerMpPause },
|
||||
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000024, L_MPMENU_287, 0x00000000, (void *)&g_MpEndGameMenuDialog }, // "End Game"
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
@@ -413,13 +422,29 @@ struct menuitem g_MpPauseControlMenuItems[] = {
|
||||
|
||||
struct menudialogdef g_MpPauseControlMenuDialog = {
|
||||
MENUDIALOGTYPE_DEFAULT,
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
(u32)&mpMenuTextScenarioName,
|
||||
#else
|
||||
L_MPMENU_285, // "Control"
|
||||
#endif
|
||||
g_MpPauseControlMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
NULL,
|
||||
};
|
||||
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
u32 var80084de8jf[] = {
|
||||
0x4c56715b,
|
||||
0x6566727a,
|
||||
0x835a0000,
|
||||
0x4d40595f,
|
||||
0x6e716958,
|
||||
0x726c7568,
|
||||
0x69380000,
|
||||
};
|
||||
#endif
|
||||
|
||||
struct menuitem g_Mp2PMissionInventoryMenuItems[] = {
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00000000, 0x00000078, 0x00000042, menuhandler00106178 },
|
||||
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&mpMenuTextWeaponDescription, 0x00000000, NULL },
|
||||
@@ -463,7 +488,7 @@ struct menudialogdef g_MpPausePlayerStatsMenuDialog = {
|
||||
(u32)&mpMenuTitleStatsFor,
|
||||
g_MpInGamePlayerStatsMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
VERSION >= VERSION_JPN_FINAL ? MENUDIALOGFLAG_1000 : 0,
|
||||
&g_MpPauseInventoryMenuDialog,
|
||||
};
|
||||
|
||||
@@ -472,7 +497,7 @@ struct menudialogdef g_MpEndscreenPlayerStatsMenuDialog = {
|
||||
(u32)&mpMenuTitleStatsFor,
|
||||
g_MpInGamePlayerStatsMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
VERSION >= VERSION_JPN_FINAL ? MENUDIALOGFLAG_1000 : 0,
|
||||
NULL,
|
||||
};
|
||||
|
||||
@@ -486,7 +511,7 @@ struct menudialogdef g_MpPausePlayerRankingMenuDialog = {
|
||||
L_MPMENU_276, // "Player Ranking"
|
||||
g_MpPlayerRankingMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
VERSION >= VERSION_JPN_FINAL ? MENUDIALOGFLAG_1000 : 0,
|
||||
&g_MpPausePlayerStatsMenuDialog,
|
||||
};
|
||||
|
||||
@@ -495,7 +520,7 @@ struct menudialogdef g_MpEndscreenPlayerRankingMenuDialog = {
|
||||
L_MPMENU_276, // "Player Ranking"
|
||||
g_MpPlayerRankingMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
VERSION >= VERSION_JPN_FINAL ? MENUDIALOGFLAG_1000 : 0,
|
||||
&g_MpEndscreenPlayerStatsMenuDialog,
|
||||
};
|
||||
|
||||
@@ -509,7 +534,7 @@ struct menudialogdef g_MpPauseTeamRankingsMenuDialog = {
|
||||
L_MPMENU_279, // "Team Ranking"
|
||||
g_MpTeamRankingsMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
VERSION >= VERSION_JPN_FINAL ? MENUDIALOGFLAG_1000 : 0,
|
||||
&g_MpPausePlayerRankingMenuDialog,
|
||||
};
|
||||
|
||||
@@ -518,7 +543,7 @@ struct menudialogdef g_MpEndscreenTeamRankingMenuDialog = {
|
||||
L_MPMENU_279, // "Team Ranking"
|
||||
g_MpTeamRankingsMenuItems,
|
||||
NULL,
|
||||
0,
|
||||
VERSION >= VERSION_JPN_FINAL ? MENUDIALOGFLAG_1000 : 0,
|
||||
&g_MpEndscreenPlayerRankingMenuDialog,
|
||||
};
|
||||
|
||||
@@ -856,6 +881,17 @@ void mpPushEndscreenDialog(u32 arg0, u32 playernum)
|
||||
|
||||
struct menuitem g_MpGameOverMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x01000010, (u32)&mpGetCurrentPlayerName, (u32)&mpMenuTextPlacementWithSuffix, mpPlacementMenuHandler },
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x01000020, (u32)&mpMenuTextPlayerTitle, 0, mpPlayerTitleMenuHandler }, // "Title:"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_MPMENU_262, 0x00000000, NULL }, // "Weapon of Choice:"
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextWeaponOfChoiceName, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_MODEL, 0, 0x00000002, 0x00000001, 0x00000003, NULL },
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_MODEL, 0, 0x00200002, 0x00000001, 0x00000002, mpAwardsMenuHandler },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000100, (u32)&mpMenuTextAward1, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000100, (u32)&mpMenuTextAward2, 0x00000000, NULL },
|
||||
#else
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x01000000, L_MPMENU_261, (u32)&mpMenuTextPlayerTitle, mpPlayerTitleMenuHandler }, // "Title:"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_MPMENU_262, 0x00000000, NULL }, // "Weapon of Choice:"
|
||||
@@ -864,6 +900,7 @@ struct menuitem g_MpGameOverMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00200210, L_MPMENU_263, 0x00000000, mpAwardsMenuHandler }, // "Awards:"
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextAward1, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextAward2, 0x00000000, NULL },
|
||||
#endif
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
|
||||
|
||||
+88
-76
@@ -54,7 +54,7 @@ const char var7f1b8a00[] = "||||||||||||| Starting game... players %d\n";
|
||||
s32 var80087260 = 0x00000000;
|
||||
bool g_MpEnableMusicSwitching = false;
|
||||
|
||||
struct mpweapon g_MpWeapons[0x27] = {
|
||||
struct mpweapon g_MpWeapons[NUM_MPWEAPONS] = {
|
||||
/*0x00*/ { WEAPON_NONE, 0x00, 0x00, 0x00, 0x00, 1, 0, MODEL_CHRTT33, 0x0100 },
|
||||
/*0x01*/ { WEAPON_FALCON2, 0x01, 0x50, 0x00, 0x00, 1, 0, MODEL_CHRFALCON2, 0x0100 },
|
||||
/*0x02*/ { WEAPON_FALCON2_SILENCER, 0x01, 0x50, 0x00, 0x00, 1, MPFEATURE_WEAPON_FALCON2SILENCED, MODEL_CHRFALCON2SIL, 0x0100 },
|
||||
@@ -80,7 +80,9 @@ struct mpweapon g_MpWeapons[0x27] = {
|
||||
/*0x16*/ { WEAPON_DEVASTATOR, 0x0b, 0x10, 0x00, 0x00, 1, MPFEATURE_WEAPON_DEVASTATOR, MODEL_CHRDEVASTATOR, 0x0100 },
|
||||
/*0x17*/ { WEAPON_ROCKETLAUNCHER, 0x08, 0x03, 0x00, 0x00, 1, 0, MODEL_CHRDYROCKET, 0x0100 },
|
||||
/*0x18*/ { WEAPON_SLAYER, 0x08, 0x03, 0x00, 0x00, 1, MPFEATURE_WEAPON_SLAYER, MODEL_CHRSKROCKET, 0x0100 },
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
/*0x19*/ { WEAPON_COMBATKNIFE, 0x09, 0x05, 0x00, 0x00, 1, 0, MODEL_CHRKNIFE, 0x0100 },
|
||||
#endif
|
||||
/*0x1a*/ { WEAPON_CROSSBOW, 0x03, 0x0a, 0x00, 0x00, 1, MPFEATURE_WEAPON_CROSSBOW, MODEL_CHRCROSSBOW, 0x0100 },
|
||||
/*0x1b*/ { WEAPON_TRANQUILIZER, 0x13, 0x32, 0x00, 0x00, 1, MPFEATURE_WEAPON_TRANQUILIZER, MODEL_CHRDRUGGUN, 0x0100 },
|
||||
/*0x1c*/ { WEAPON_GRENADE, 0x07, 0x05, 0x00, 0x00, 0, 0, MODEL_CHRGRENADE, 0x0100 },
|
||||
@@ -93,7 +95,7 @@ struct mpweapon g_MpWeapons[0x27] = {
|
||||
/*0x23*/ { WEAPON_CLOAKINGDEVICE, 0x00, 0x00, 0x00, 0x00, 1, MPFEATURE_WEAPON_CLOAKINGDEVICE, MODEL_CHRCLOAKER, 0x0100 },
|
||||
/*0x24*/ { WEAPON_COMBATBOOST, 0x00, 0x00, 0x00, 0x00, 1, MPFEATURE_WEAPON_COMBATBOOST, MODEL_CHRSPEEDPILL, 0x0100 },
|
||||
/*0x25*/ { WEAPON_MPSHIELD, 0x00, 0x00, 0x00, 0x00, 1, MPFEATURE_WEAPON_SHIELD, MODEL_CHRSHIELD, 0x0100 },
|
||||
/*0x26*/ { WEAPON_DISABLED, 0x00, 0x00, 0x00, 0x00, 0, 0x00, 0, 0x0000 },
|
||||
/*0x26*/ { WEAPON_DISABLED },
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1864,7 +1866,11 @@ struct mpweaponset g_MpWeaponSets[12] = {
|
||||
{ /*0x08*/ L_MPWEAPONS_047, { WEAPON_MAGSEC4, WEAPON_CMP150, WEAPON_AR34, WEAPON_DEVASTATOR, WEAPON_MPSHIELD, WEAPON_DISABLED }, { MPFEATURE_WEAPON_DEVASTATOR, 0, 0, 0 }, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED }, // Grenade Launcher
|
||||
{ /*0x09*/ L_MPWEAPONS_046, { WEAPON_MAULER, WEAPON_CYCLONE, WEAPON_DRAGON, WEAPON_ROCKETLAUNCHER, WEAPON_MPSHIELD, WEAPON_DISABLED }, { MPFEATURE_WEAPON_MAULER, 0, 0, 0 }, WEAPON_FALCON2, WEAPON_CYCLONE, WEAPON_DRAGON, WEAPON_ROCKETLAUNCHER, WEAPON_MPSHIELD, WEAPON_DISABLED }, // Rocket Launcher
|
||||
{ /*0x0a*/ L_MPWEAPONS_045, { WEAPON_MAGSEC4, WEAPON_LAPTOPGUN, WEAPON_K7AVENGER, WEAPON_PROXIMITYMINE, WEAPON_MPSHIELD, WEAPON_DISABLED }, { MPFEATURE_WEAPON_LAPTOPGUN, MPFEATURE_WEAPON_K7AVENGER, MPFEATURE_WEAPON_PROXIMITYMINE, 0 }, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED, WEAPON_DISABLED }, // Proximity Mine
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ /*0x0b*/ L_MPWEAPONS_044, { WEAPON_TIMEDMINE, WEAPON_CROSSBOW, WEAPON_TIMEDMINE, WEAPON_CROSSBOW, WEAPON_MPSHIELD, WEAPON_DISABLED }, { MPFEATURE_WEAPON_CROSSBOW, 0, 0, 0 }, WEAPON_TIMEDMINE, WEAPON_TIMEDMINE, WEAPON_TIMEDMINE, WEAPON_TIMEDMINE, WEAPON_MPSHIELD, WEAPON_DISABLED }, // Close Combat
|
||||
#else
|
||||
{ /*0x0b*/ L_MPWEAPONS_044, { WEAPON_COMBATKNIFE, WEAPON_COMBATKNIFE, WEAPON_TIMEDMINE, WEAPON_CROSSBOW, WEAPON_MPSHIELD, WEAPON_DISABLED }, { MPFEATURE_WEAPON_CROSSBOW, 0, 0, 0 }, WEAPON_COMBATKNIFE, WEAPON_COMBATKNIFE, WEAPON_TIMEDMINE, WEAPON_TIMEDMINE, WEAPON_MPSHIELD, WEAPON_DISABLED }, // Close Combat
|
||||
#endif
|
||||
};
|
||||
|
||||
s32 g_MpWeaponSetNum = 0x00000000;
|
||||
@@ -2296,83 +2302,85 @@ struct mphead g_MpBeauHeads[NUM_MPBEAUHEADS] = {
|
||||
{ HEAD_BEAU6, 0 },
|
||||
};
|
||||
|
||||
struct mphead g_MpHeads[75] = {
|
||||
struct mphead g_MpHeads[NUM_MPHEADS] = {
|
||||
// head, require feature
|
||||
{ /*0x00*/ HEAD_DARK_COMBAT, 0 },
|
||||
{ /*0x01*/ HEAD_DARK_FROCK, MPFEATURE_CHR_CI },
|
||||
{ /*0x02*/ HEAD_DARKAQUA, MPFEATURE_CHR_PELAGIC },
|
||||
{ /*0x03*/ HEAD_DARK_SNOW, MPFEATURE_4A },
|
||||
{ /*0x04*/ HEAD_ELVIS, MPFEATURE_CHR_ELVIS },
|
||||
{ /*0x05*/ HEAD_ELVIS_GOGS, MPFEATURE_CHR_ELVIS },
|
||||
{ /*0x06*/ HEAD_CARRINGTON, 0 },
|
||||
{ /*0x07*/ HEAD_MRBLONDE, MPFEATURE_CHR_MRBLONDE },
|
||||
{ /*0x08*/ HEAD_CASSANDRA, 0 },
|
||||
{ /*0x09*/ HEAD_TRENT, MPFEATURE_CHR_TRENT },
|
||||
{ /*0x00*/ HEAD_DARK_COMBAT, 0 },
|
||||
{ /*0x01*/ HEAD_DARK_FROCK, MPFEATURE_CHR_CI },
|
||||
{ /*0x02*/ HEAD_DARKAQUA, MPFEATURE_CHR_PELAGIC },
|
||||
{ /*0x03*/ HEAD_DARK_SNOW, MPFEATURE_4A },
|
||||
{ /*0x04*/ HEAD_ELVIS, MPFEATURE_CHR_ELVIS },
|
||||
{ /*0x05*/ HEAD_ELVIS_GOGS, MPFEATURE_CHR_ELVIS },
|
||||
{ /*0x06*/ HEAD_CARRINGTON, 0 },
|
||||
{ /*0x07*/ HEAD_MRBLONDE, MPFEATURE_CHR_MRBLONDE },
|
||||
{ /*0x08*/ HEAD_CASSANDRA, 0 },
|
||||
{ /*0x09*/ HEAD_TRENT, MPFEATURE_CHR_TRENT },
|
||||
{ /*0x0a*/ HEAD_JONATHAN, MPFEATURE_CHR_INFILTRATION },
|
||||
{ /*0x0b*/ HEAD_VD, 0 },
|
||||
{ /*0x0c*/ HEAD_PRESIDENT, MPFEATURE_CHR_CI },
|
||||
{ /*0x0d*/ HEAD_DDSHOCK, 0 },
|
||||
{ /*0x0e*/ HEAD_BIOTECH, MPFEATURE_CHR_BIOTECH },
|
||||
{ /*0x0f*/ HEAD_DDSNIPER, MPFEATURE_CHR_VILLACHRS },
|
||||
{ /*0x0b*/ HEAD_VD, 0 },
|
||||
{ /*0x0c*/ HEAD_PRESIDENT, MPFEATURE_CHR_CI },
|
||||
{ /*0x0d*/ HEAD_DDSHOCK, 0 },
|
||||
{ /*0x0e*/ HEAD_BIOTECH, MPFEATURE_CHR_BIOTECH },
|
||||
{ /*0x0f*/ HEAD_DDSNIPER, MPFEATURE_CHR_VILLACHRS },
|
||||
{ /*0x10*/ HEAD_A51FACEPLATE, MPFEATURE_CHR_INFILTRATION },
|
||||
{ /*0x11*/ HEAD_SECRETARY, 0 },
|
||||
{ /*0x12*/ HEAD_FEM_GUARD, MPFEATURE_CHR_FEMGUARD },
|
||||
{ /*0x13*/ HEAD_FEM_GUARD2, MPFEATURE_CHR_FEMGUARD },
|
||||
{ /*0x14*/ HEAD_MAIAN_S, MPFEATURE_CHR_ELVIS },
|
||||
{ /*0x15*/ HEAD_JON, 0 },
|
||||
{ /*0x16*/ HEAD_BEAU1, 0 },
|
||||
{ /*0x17*/ HEAD_ROSS, 0 },
|
||||
{ /*0x18*/ HEAD_MARK2, 0 },
|
||||
{ /*0x19*/ HEAD_CHRIST, 0 },
|
||||
{ /*0x1a*/ HEAD_RUSS, 0 },
|
||||
{ /*0x1b*/ HEAD_DARLING, 0 },
|
||||
{ /*0x1c*/ HEAD_BRIAN, 0 },
|
||||
{ /*0x1d*/ HEAD_JAMIE, 0 },
|
||||
{ /*0x1e*/ HEAD_DUNCAN2, 0 },
|
||||
{ /*0x1f*/ HEAD_KEITH, 0 },
|
||||
{ /*0x20*/ HEAD_STEVEM, 0 },
|
||||
{ /*0x21*/ HEAD_GRANT, 0 },
|
||||
{ /*0x22*/ HEAD_PENNY, 0 },
|
||||
{ /*0x23*/ HEAD_DAVEC, 0 },
|
||||
{ /*0x24*/ HEAD_JONES, 0 },
|
||||
{ /*0x25*/ HEAD_GRAHAM, 0 },
|
||||
{ /*0x26*/ HEAD_ROBERT, 0 },
|
||||
{ /*0x27*/ HEAD_NEIL2, 0 },
|
||||
{ /*0x28*/ HEAD_SHAUN, 0 },
|
||||
{ /*0x29*/ HEAD_ROBIN, 0 },
|
||||
{ /*0x2a*/ HEAD_COOK, 0 },
|
||||
{ /*0x2b*/ HEAD_PRYCE, 0 },
|
||||
{ /*0x2c*/ HEAD_SILKE, 0 },
|
||||
{ /*0x2d*/ HEAD_SMITH, 0 },
|
||||
{ /*0x2e*/ HEAD_GARETH, 0 },
|
||||
{ /*0x2f*/ HEAD_MURCHIE, 0 },
|
||||
{ /*0x30*/ HEAD_WONG, 0 },
|
||||
{ /*0x31*/ HEAD_CARTER, 0 },
|
||||
{ /*0x32*/ HEAD_TINTIN, 0 },
|
||||
{ /*0x33*/ HEAD_MUNTON, 0 },
|
||||
{ /*0x34*/ HEAD_STAMPER, 0 },
|
||||
{ /*0x35*/ HEAD_PHELPS, 0 },
|
||||
{ /*0x36*/ HEAD_ALEX, 0 },
|
||||
{ /*0x37*/ HEAD_JULIANNE, 0 },
|
||||
{ /*0x38*/ HEAD_LAURA, 0 },
|
||||
{ /*0x39*/ HEAD_EDMCG, 0 },
|
||||
{ /*0x3a*/ HEAD_ANKA, 0 },
|
||||
{ /*0x3b*/ HEAD_LESLIE_S, 0 },
|
||||
{ /*0x3c*/ HEAD_MATT_C, 0 },
|
||||
{ /*0x3d*/ HEAD_PEER_S, 0 },
|
||||
{ /*0x3e*/ HEAD_EILEEN_T, 0 },
|
||||
{ /*0x3f*/ HEAD_ANDY_R, 0 },
|
||||
{ /*0x40*/ HEAD_BEN_R, 0 },
|
||||
{ /*0x41*/ HEAD_STEVE_K, 0 },
|
||||
{ /*0x42*/ HEAD_SANCHEZ, 0 },
|
||||
{ /*0x43*/ HEAD_TIM, 0 },
|
||||
{ /*0x44*/ HEAD_KEN, 0 },
|
||||
{ /*0x45*/ HEAD_EILEEN_H, 0 },
|
||||
{ /*0x46*/ HEAD_SCOTT_H, 0 },
|
||||
{ /*0x47*/ HEAD_JOEL, 0 },
|
||||
{ /*0x48*/ HEAD_GRIFFEY, 0 },
|
||||
{ /*0x49*/ HEAD_MOTO, 0 },
|
||||
{ /*0x4a*/ HEAD_WINNER, 0 },
|
||||
{ /*0x11*/ HEAD_SECRETARY, 0 },
|
||||
{ /*0x12*/ HEAD_FEM_GUARD, MPFEATURE_CHR_FEMGUARD },
|
||||
{ /*0x13*/ HEAD_FEM_GUARD2, MPFEATURE_CHR_FEMGUARD },
|
||||
{ /*0x14*/ HEAD_MAIAN_S, MPFEATURE_CHR_ELVIS },
|
||||
{ /*0x15*/ HEAD_JON, 0 },
|
||||
{ /*0x16*/ HEAD_BEAU1, 0 },
|
||||
{ /*0x17*/ HEAD_ROSS, 0 },
|
||||
{ /*0x18*/ HEAD_MARK2, 0 },
|
||||
{ /*0x19*/ HEAD_CHRIST, 0 },
|
||||
{ /*0x1a*/ HEAD_RUSS, 0 },
|
||||
{ /*0x1b*/ HEAD_DARLING, 0 },
|
||||
{ /*0x1c*/ HEAD_BRIAN, 0 },
|
||||
{ /*0x1d*/ HEAD_JAMIE, 0 },
|
||||
{ /*0x1e*/ HEAD_DUNCAN2, 0 },
|
||||
{ /*0x1f*/ HEAD_KEITH, 0 },
|
||||
{ /*0x20*/ HEAD_STEVEM, 0 },
|
||||
{ /*0x21*/ HEAD_GRANT, 0 },
|
||||
{ /*0x22*/ HEAD_PENNY, 0 },
|
||||
{ /*0x23*/ HEAD_DAVEC, 0 },
|
||||
{ /*0x24*/ HEAD_JONES, 0 },
|
||||
{ /*0x25*/ HEAD_GRAHAM, 0 },
|
||||
{ /*0x26*/ HEAD_ROBERT, 0 },
|
||||
{ /*0x27*/ HEAD_NEIL2, 0 },
|
||||
{ /*0x28*/ HEAD_SHAUN, 0 },
|
||||
{ /*0x29*/ HEAD_ROBIN, 0 },
|
||||
{ /*0x2a*/ HEAD_COOK, 0 },
|
||||
{ /*0x2b*/ HEAD_PRYCE, 0 },
|
||||
{ /*0x2c*/ HEAD_SILKE, 0 },
|
||||
{ /*0x2d*/ HEAD_SMITH, 0 },
|
||||
{ /*0x2e*/ HEAD_GARETH, 0 },
|
||||
{ /*0x2f*/ HEAD_MURCHIE, 0 },
|
||||
{ /*0x30*/ HEAD_WONG, 0 },
|
||||
{ /*0x31*/ HEAD_CARTER, 0 },
|
||||
{ /*0x32*/ HEAD_TINTIN, 0 },
|
||||
{ /*0x33*/ HEAD_MUNTON, 0 },
|
||||
{ /*0x34*/ HEAD_STAMPER, 0 },
|
||||
{ /*0x35*/ HEAD_PHELPS, 0 },
|
||||
{ /*0x36*/ HEAD_ALEX, 0 },
|
||||
{ /*0x37*/ HEAD_JULIANNE, 0 },
|
||||
{ /*0x38*/ HEAD_LAURA, 0 },
|
||||
{ /*0x39*/ HEAD_EDMCG, 0 },
|
||||
{ /*0x3a*/ HEAD_ANKA, 0 },
|
||||
{ /*0x3b*/ HEAD_LESLIE_S, 0 },
|
||||
{ /*0x3c*/ HEAD_MATT_C, 0 },
|
||||
{ /*0x3d*/ HEAD_PEER_S, 0 },
|
||||
{ /*0x3e*/ HEAD_EILEEN_T, 0 },
|
||||
{ /*0x3f*/ HEAD_ANDY_R, 0 },
|
||||
{ /*0x40*/ HEAD_BEN_R, 0 },
|
||||
{ /*0x41*/ HEAD_STEVE_K, 0 },
|
||||
{ /*0x42*/ HEAD_SANCHEZ, 0 },
|
||||
{ /*0x43*/ HEAD_TIM, 0 },
|
||||
{ /*0x44*/ HEAD_KEN, 0 },
|
||||
{ /*0x45*/ HEAD_EILEEN_H, 0 },
|
||||
{ /*0x46*/ HEAD_SCOTT_H, 0 },
|
||||
{ /*0x47*/ HEAD_JOEL, 0 },
|
||||
{ /*0x48*/ HEAD_GRIFFEY, 0 },
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
{ /*0x49*/ HEAD_MOTO, 0 },
|
||||
#endif
|
||||
{ /*0x4a*/ HEAD_WINNER, 0 },
|
||||
};
|
||||
|
||||
u32 g_BotHeads[] = {
|
||||
@@ -2428,7 +2436,9 @@ u32 g_BotHeads[] = {
|
||||
MPHEAD_SCOTT_H,
|
||||
MPHEAD_JOEL,
|
||||
MPHEAD_GRIFFEY,
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
MPHEAD_MOTO,
|
||||
#endif
|
||||
};
|
||||
|
||||
// 2d74c
|
||||
@@ -2564,7 +2574,9 @@ u32 g_MpMaleHeads[] = {
|
||||
HEAD_KEN,
|
||||
HEAD_SCOTT_H,
|
||||
HEAD_JOEL,
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
HEAD_MOTO,
|
||||
#endif
|
||||
};
|
||||
|
||||
u32 g_MpFemaleHeads[] = {
|
||||
|
||||
@@ -1008,7 +1008,9 @@ struct menudialogdef g_MpSavePlayerMenuDialog = {
|
||||
};
|
||||
|
||||
struct menuitem g_MpSaveSetupNameMenuItems[] = {
|
||||
#if VERSION != VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_189, 0x00000000, NULL }, // "Enter a name for your game setup file:"
|
||||
#endif
|
||||
{ MENUITEMTYPE_KEYBOARD, 0, 0x00000000, 0x00000000, 0x00000000, menuhandlerMpSetupName },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
|
||||
+4
-1
@@ -121,7 +121,10 @@ struct vimode g_ViModes[] = {
|
||||
// | | | | | | | | | cinemaheight
|
||||
// | | | | | | | | | | cinematop
|
||||
// | | | | | | | | | | |
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
{ 320, 220, 320, 1, 1, 220, 0, 180, 20, 136, 42 }, // default
|
||||
{ 640, 220, 640, 0.5, 1, 220, 0, 180, 20, 136, 42 }, // hi-res
|
||||
#elif VERSION >= VERSION_PAL_FINAL
|
||||
{ 320, 266, 320, 1, 1, 266, 0, 212, 20, 168, 42 }, // default
|
||||
{ 448, 266, 448, 0.71428567171097, 1, 266, 0, 212, 20, 168, 42 }, // hi-res
|
||||
#elif VERSION >= VERSION_PAL_BETA
|
||||
|
||||
+1
-1
@@ -220,7 +220,7 @@ u32 var80069a70 = 0x42b40000;
|
||||
u32 var80069a74 = 0x3f800000;
|
||||
u32 var80069a78 = 0x40000000;
|
||||
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
#if PAL
|
||||
u32 var80069a7c = 0x3a9d4952;
|
||||
u32 var80069a80 = 0x3f99999a;
|
||||
u32 var80069a84 = 0x3bcddaca;
|
||||
|
||||
@@ -41,7 +41,7 @@ struct sparktype g_SparkTypes[] = {
|
||||
// | max age
|
||||
// | | decel
|
||||
// | | |
|
||||
#if VERSION >= VERSION_PAL_BETA
|
||||
#if PAL
|
||||
/*0x00*/ { 100, 28, 100, 1, 0, 0, 2.4, 50, 50, 15, 1, 0xffff80ff, 0xffffffff, 0.024 },
|
||||
/*0x00*/ { 100, 28, 100, 1, 0, 0, 2.4, 50, 50, 15, 1, 0x80ffffff, 0xffffffff, 0.024 },
|
||||
/*0x00*/ { 40, -1, 30, 30, 0, 0, 2.4, 29, 29, 5, 1, 0x301010ff, 0x401010ff, 0.024 },
|
||||
|
||||
+51
-1
@@ -63,6 +63,11 @@ u32 var80062500 = 0x00000000;
|
||||
u32 var80062504 = 0x00000000;
|
||||
struct model *g_TitleModelPdTwo = NULL;
|
||||
struct model *g_TitleModelPdThree = NULL;
|
||||
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
u32 var800623f0jf[4] = {0};
|
||||
#endif
|
||||
|
||||
u32 var80062510 = 0x00000000;
|
||||
u32 var80062514 = 0x00000000;
|
||||
u32 var80062518 = 0x96969600;
|
||||
@@ -75,6 +80,11 @@ u32 var8006252c = 0x00000000;
|
||||
Lights1 var80062530 = gdSPDefLights1(0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
|
||||
Lights1 var80062548 = gdSPDefLights1(0x3f, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
|
||||
Lights1 var80062560 = gdSPDefLights1(0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
|
||||
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
u32 var80062468jf[6] = {0xffffff00, 0xffffff00 };
|
||||
#endif
|
||||
|
||||
Lights1 var80062578 = gdSPDefLights1(0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x7f);
|
||||
Lights1 var80062590 = gdSPDefLights1(0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
|
||||
|
||||
@@ -97,6 +107,21 @@ u32 var800625e4 = 0xffffff00;
|
||||
u32 var800625e8 = 0x00007f00;
|
||||
u32 var800625ec = 0x00000000;
|
||||
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
u32 var800624f8jf = 0;
|
||||
u32 var800624fcjf = 0;
|
||||
u32 var80062500jf = 0;
|
||||
u32 var80062504jf = 0;
|
||||
u32 var80062508jf = 0x00007f00;
|
||||
u32 var8006250cjf = 0;
|
||||
u32 var80062510jf = 0;
|
||||
u32 var80062514jf = 0;
|
||||
u32 var80062518jf = 0;
|
||||
u32 var8006251cjf = 0;
|
||||
u32 var80062520jf = 0x00007f00;
|
||||
u32 var80062524jf = 0;
|
||||
#endif
|
||||
|
||||
char *mpPlayerGetWeaponOfChoiceName(u32 playernum, u32 slot)
|
||||
{
|
||||
char *name;
|
||||
@@ -448,6 +473,29 @@ struct legalelement {
|
||||
};
|
||||
|
||||
struct legalelement g_LegalElements[] = {
|
||||
#if VERSION == VERSION_JPN_FINAL
|
||||
{ 49, 163, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_077 }, // "Nintendo 64 Product Identification"
|
||||
{ 49, 184, 1, 1, LEGALELEMENTTYPE_LINE, 0 },
|
||||
{ 69, 191, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_078 }, // "Product ID:"
|
||||
{ 69, 211, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_079 }, // "Product Code:"
|
||||
{ 69, 231, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_080 }, // "Variant:"
|
||||
{ 69, 251, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_081 }, // "Developer:"
|
||||
{ 249, 191, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_082 }, // "Perfect Dark"
|
||||
{ 249, 211, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_083 }, // "NUS-NPDE-USA"
|
||||
{ 249, 231, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_084 }, // "NTSC version 8.7 final"
|
||||
{ 249, 251, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_085 }, // "Rare Ltd. (twycross)"
|
||||
{ 69, 274, 1, 1, LEGALELEMENTTYPE_LINE, 0 },
|
||||
{ 69, 283, 0, 1, LEGALELEMENTTYPE_WHITETEXTLG, L_OPTIONS_076 }, // "N64 EXPANSION PAK"
|
||||
{ -1, 283, 0, 1, LEGALELEMENTTYPE_WHITETEXTLG, L_OPTIONS_074 }, // "NOT DETECTED"
|
||||
{ 69, 304, 1, 1, LEGALELEMENTTYPE_LINE, 0 },
|
||||
{ 69, 312, 0, 1, LEGALELEMENTTYPE_BLUETEXTMD, L_OPTIONS_087 }, // "The Rarewere Logo and Perfect Dark are ..."
|
||||
{ 69, 328, 0, 1, LEGALELEMENTTYPE_BLUETEXTMD, L_MPWEAPONS_280 }, // "Perfect Dark Registered Trademark No..."
|
||||
{ 138, 343, 0, 1, LEGALELEMENTTYPE_BLUETEXTMD, L_OPTIONS_088 }, // "Presented in Dolby Surround. Dolby and ..."
|
||||
{ 69, 372, 0, 1, LEGALELEMENTTYPE_BLUETEXTMD, L_OPTIONS_089 }, // "Uses Miles Sound System ..."
|
||||
{ 69, 428, 1, 1, LEGALELEMENTTYPE_LINE, 0 },
|
||||
{ 69, 433, 0, 1, LEGALELEMENTTYPE_BLUETEXTSM, L_OPTIONS_093 }, // "rare designs on the future <<<"
|
||||
{ 69, 343, 0, 1, LEGALELEMENTTYPE_DOLBYLOGO, 0 },
|
||||
#else
|
||||
{ 49, 179, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_077 }, // "Nintendo 64 Product Identification"
|
||||
{ 49, 200, 1, 1, LEGALELEMENTTYPE_LINE, 0 },
|
||||
{ 69, 207, 1, 1, LEGALELEMENTTYPE_BLUETEXTLG, L_OPTIONS_078 }, // "Product ID:"
|
||||
@@ -474,6 +522,7 @@ struct legalelement g_LegalElements[] = {
|
||||
{ 69, 428, 1, 1, LEGALELEMENTTYPE_LINE, 0 },
|
||||
{ 69, 433, 0, 1, LEGALELEMENTTYPE_BLUETEXTSM, L_OPTIONS_093 }, // "rare designs on the future <<<"
|
||||
{ 69, 344, 0, 1, LEGALELEMENTTYPE_DOLBYLOGO, 0 },
|
||||
#endif
|
||||
};
|
||||
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
@@ -1608,6 +1657,8 @@ u32 var80062760 = 0;
|
||||
u32 var80062764 = 0;
|
||||
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
struct coord var800624a4jf = {0};
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel titleInitPdLogo
|
||||
.late_rodata
|
||||
@@ -10031,7 +10082,6 @@ u32 var8006292c = 0x00000001;
|
||||
u32 var80062930 = 0x00000001;
|
||||
u32 var80062934 = 0x00000001;
|
||||
u32 var80062938 = 0x00000000;
|
||||
u32 var8006293c = 0x00000000;
|
||||
|
||||
s32 getNumPlayers(void)
|
||||
{
|
||||
|
||||
@@ -1747,11 +1747,17 @@ struct menudialogdef g_HtDetailsMenuDialog = {
|
||||
|
||||
struct menuitem g_HtFailedMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU_426, 0x00000000, NULL }, // "Failed!"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU_424, (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP1, 0x00000000, 0x00000082, PAL ? 110 : 100, NULL },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP1, 0x00000000, 0x00000082, 120, NULL },
|
||||
#elif PAL
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP1, 0x00000000, 0x00000082, 110, NULL },
|
||||
#else
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP1, 0x00000000, 0x00000082, 100, NULL },
|
||||
#endif
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
|
||||
struct menudialogdef g_HtFailedMenuDialog = {
|
||||
@@ -1765,11 +1771,17 @@ struct menudialogdef g_HtFailedMenuDialog = {
|
||||
|
||||
struct menuitem g_HtCompletedMenuItems[] = {
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU_425, 0x00000000, NULL }, // "Completed!"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU_424, (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:"
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP2, 0x00000000, 0x00000082, PAL ? 110 : 100, NULL },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
|
||||
#if VERSION >= VERSION_JPN_FINAL
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP2, 0x00000000, 0x00000082, 120, NULL },
|
||||
#elif PAL
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP2, 0x00000000, 0x00000082, 110, NULL },
|
||||
#else
|
||||
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP2, 0x00000000, 0x00000082, 100, NULL },
|
||||
#endif
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
|
||||
struct menudialogdef g_HtCompletedMenuDialog = {
|
||||
|
||||
@@ -10880,6 +10880,14 @@ const char var7f1ba170[] = "%s";
|
||||
const char var7f1ba174[] = "%s";
|
||||
const char var7f1ba178[] = "\n";
|
||||
|
||||
u32 var800898c8jf[] = {
|
||||
L_MISC_423, // "ZONE 3"
|
||||
L_MISC_424, // "ZONE 2"
|
||||
L_MISC_425, // "ZONE 1"
|
||||
L_MISC_426, // "BULL'S-EYE"
|
||||
L_MISC_427, // "EXPLODED"
|
||||
};
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel frGetFeedback
|
||||
.late_rodata
|
||||
|
||||
@@ -2045,6 +2045,9 @@
|
||||
#define MODEL_DD_DR_NONREF 0x01b6
|
||||
#define MODEL_CETANDOORSIDE 0x01b7
|
||||
#define MODEL_BUDDYBRIDGE 0x01b8
|
||||
#define MODEL_JPNLOGO 0x01b9
|
||||
#define MODEL_JPNPD 0x01ba
|
||||
#define NUM_MODELS (VERSION == VERSION_JPN_FINAL ? 0x1bb : 0x1b9)
|
||||
|
||||
#define MODELNODETYPE_CHRINFO 0x01
|
||||
#define MODELNODETYPE_POSITION 0x02
|
||||
@@ -2867,6 +2870,7 @@
|
||||
#define MPWEAPON_COMBATBOOST (VERSION == VERSION_JPN_FINAL ? 0x23 : 0x24)
|
||||
#define MPWEAPON_SHIELD (VERSION == VERSION_JPN_FINAL ? 0x24 : 0x25)
|
||||
#define MPWEAPON_DISABLED (VERSION == VERSION_JPN_FINAL ? 0x25 : 0x26)
|
||||
#define NUM_MPWEAPONS (VERSION == VERSION_JPN_FINAL ? 0x26 : 0x27)
|
||||
|
||||
#define MUSICEVENTTYPE_PLAY 1
|
||||
#define MUSICEVENTTYPE_STOP 2
|
||||
|
||||
+3
-3
@@ -349,7 +349,7 @@ extern struct skeleton g_SkelTarget;
|
||||
extern struct skeleton g_SkelRareLogo;
|
||||
extern struct skeleton g_SkelWireFence;
|
||||
extern struct skeleton g_SkelBB;
|
||||
extern struct modelstate g_ModelStates[441];
|
||||
extern struct modelstate g_ModelStates[NUM_MODELS];
|
||||
extern u8 g_PropExplosionTypes[];
|
||||
extern struct skeleton g_SkelBasic;
|
||||
extern struct skeleton g_SkelChrGun;
|
||||
@@ -499,8 +499,8 @@ extern struct menudialogdef g_MpScenarioMenuDialog;
|
||||
extern struct menudialogdef g_MpQuickTeamScenarioMenuDialog;
|
||||
extern s32 var80087260;
|
||||
extern bool g_MpEnableMusicSwitching;
|
||||
extern struct mpweapon g_MpWeapons[0x27];
|
||||
extern struct mphead g_MpHeads[75];
|
||||
extern struct mpweapon g_MpWeapons[NUM_MPWEAPONS];
|
||||
extern struct mphead g_MpHeads[NUM_MPHEADS];
|
||||
extern struct botprofile g_BotProfiles[18];
|
||||
extern struct mpbody g_MpBodies[NUM_MPBODIES];
|
||||
extern struct mppreset g_MpPresets[NUM_MPPRESETS];
|
||||
|
||||
@@ -2011,3 +2011,5 @@
|
||||
#define FILE_AP16_03_JOM 0x07db
|
||||
#define FILE_ACARRBYE02M 0x07dc
|
||||
#define FILE_ASAUCEREXP1M 0x07dd
|
||||
#define FILE_PJPNLOGO 0x07de
|
||||
#define FILE_PJPNPD 0x07df
|
||||
|
||||
Reference in New Issue
Block a user