diff --git a/ld/gamefiles.inc b/ld/gamefiles.inc index 0412aedc9..f8f1bfbaf 100644 --- a/ld/gamefiles.inc +++ b/ld/gamefiles.inc @@ -112,12 +112,9 @@ src/game/game_102230.o (section); \ src/game/game_102240.o (section); \ src/game/cheats.o (section); \ - src/game/data/cheats.o (section); \ src/game/game_107fb0.o (section); \ - src/game/data/data_01a3a0.o (section); \ - src/game/data/ailists.o (section); \ - src/game/data/data_020df0.o (section); \ src/game/game_10c9c0.o (section); \ + src/game/data/data_01a3a0.o (section); \ src/game/game_10ccd0.o (section); \ src/game/game_111600.o (section); \ src/game/game_113220.o (section); \ @@ -125,6 +122,8 @@ src/game/pad.o (section); \ src/game/pak/pak.o (section); \ src/game/game_11ecf0.o (section); \ + src/game/data/ailists.o (section); \ + src/game/data/data_020df0.o (section); \ src/game/game_11f000.o (section); \ src/game/game_127910.o (section); \ src/game/game_128f30.o (section); \ diff --git a/src/game/bondbike.c b/src/game/bondbike.c index 9bdd4a5fb..811a32ab5 100644 --- a/src/game/bondbike.c +++ b/src/game/bondbike.c @@ -62,6 +62,19 @@ const u32 var7f1adb94[] = {0x40c907a9}; const u32 var7f1adb98[] = {0x3f333333}; const u32 var7f1adb9c[] = {0x3c8ef461}; +u32 var80070ee0 = 0x00000000; +u32 var80070ee4 = 0x00000000; +u32 var80070ee8 = 0x00000000; +u32 var80070eec = 0x00000000; +u32 var80070ef0 = 0x00000000; +u32 var80070ef4 = 0x00000000; +u32 var80070ef8 = 0x00000000; +u32 var80070efc = 0x00000000; +u32 var80070f00 = 0x00000000; +u32 var80070f04 = 0x00000000; +u32 var80070f08 = 0x00000000; +u32 var80070f0c = 0x00000000; + void currentPlayerBikeInit(void) { struct hoverbikeobj *hoverbike = (struct hoverbikeobj *)g_Vars.currentplayer->hoverbike->obj; diff --git a/src/game/bondeyespy.c b/src/game/bondeyespy.c index 0dad674f7..48ef2a6bb 100644 --- a/src/game/bondeyespy.c +++ b/src/game/bondeyespy.c @@ -38,6 +38,15 @@ const char var7f1ada70[] = "g"; const char var7f1ada74[] = "l"; const char var7f1ada78[] = "%s%s"; +u32 var80070ec0 = 0x00000000; +u32 var80070ec4 = 0x00000000; +u32 var80070ec8 = 0x00000000; +u32 var80070ecc = 0x00000000; +f32 g_EyespyMaxHeight = 160; +u32 var80070ed4 = 0x42a00000; +u32 var80070ed8 = 0x00000064; +u32 var80070edc = 0x00000bb8; + /** * Determines the eyespy's ground Y value by doing a collision check for a * position 50 units above the current position, or less if the eyespy is near diff --git a/src/game/bondgrab.c b/src/game/bondgrab.c index 25d8d2795..df35fce36 100644 --- a/src/game/bondgrab.c +++ b/src/game/bondgrab.c @@ -29,6 +29,23 @@ const char var7f1ad940[] = "bondgrab.c"; const char var7f1ad94c[] = "bondgrab.c"; const char var7f1ad958[] = "bondgrab.c"; +u32 var80070e80 = 0x00000000; +u32 var80070e84 = 0x00000000; +u32 var80070e88 = 0x00000000; +u32 var80070e8c = 0x00000000; +u32 var80070e90 = 0x00000000; +u32 var80070e94 = 0x00000000; +u32 var80070e98 = 0x00000000; +u32 var80070e9c = 0x00000000; +u32 var80070ea0 = 0x00000000; +u32 var80070ea4 = 0x00000000; +u32 var80070ea8 = 0x00000000; +u32 var80070eac = 0x00000000; +u32 var80070eb0 = 0x00000000; +u32 var80070eb4 = 0x00000000; +u32 var80070eb8 = 0x00000000; +u32 var80070ebc = 0x00000000; + void currentPlayerGrabInit(void) { u32 prevmode = g_Vars.currentplayer->bondmovemode; diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c index 83b2575da..571e36ac9 100644 --- a/src/game/bondwalk.c +++ b/src/game/bondwalk.c @@ -32,6 +32,20 @@ #include "lib/lib_4a360.h" #include "types.h" + +u32 var80070e50 = 0x0000046f; +u32 var80070e54 = 0x000005b6; +u32 var80070e58 = 0x000005b7; +u32 var80070e5c = 0x00000000; +u32 var80070e60 = 0x00000000; +u32 var80070e64 = 0x00000000; +u32 var80070e68 = 0x00000000; +u32 var80070e6c = 0x00000000; +u32 var80070e70 = 0x00000000; +u32 var80070e74 = 0x00000000; +u32 var80070e78 = 0x00000000; +u32 var80070e7c = 0x00000000; + void currentPlayerWalkInit(void) { u32 prevmode = g_Vars.currentplayer->bondmovemode; diff --git a/src/game/cheats.c b/src/game/cheats.c index 58b8b9ec1..5d079b626 100644 --- a/src/game/cheats.c +++ b/src/game/cheats.c @@ -18,6 +18,51 @@ #include "lib/lib_13130.h" #include "types.h" +struct cheat g_Cheats[NUM_CHEATS] = { + { L_MPWEAPONS(75), 123, SOLOSTAGEINDEX_EXTRACTION, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Hurricane Fists + { L_MPWEAPONS(76), 100, SOLOSTAGEINDEX_G5BUILDING, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Cloaking Device + { L_MPWEAPONS(77), 230, SOLOSTAGEINDEX_ESCAPE, DIFF_A, CHEATFLAG_TIMED }, // Invincible + { L_MPWEAPONS(78), 331, SOLOSTAGEINDEX_SKEDARRUINS, DIFF_PA, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // All Guns in Solo + { L_MPWEAPONS(79), 427, SOLOSTAGEINDEX_PELAGIC, DIFF_SA, CHEATFLAG_TIMED }, // Unlimited Ammo + { L_MPWEAPONS(80), 191, SOLOSTAGEINDEX_AIRBASE, DIFF_SA, CHEATFLAG_TIMED }, // Unlimited Ammo, No Reloads + { L_MPWEAPONS(81), 0, SOLOSTAGEINDEX_INVESTIGATION, DIFF_A, CHEATFLAG_COMPLETION }, // Slo-mo Single Player + { L_MPWEAPONS(82), 0, SOLOSTAGEINDEX_CHICAGO, DIFF_A, CHEATFLAG_COMPLETION }, // DK Mode + { L_MPWEAPONS(83), 170, SOLOSTAGEINDEX_CRASHSITE, DIFF_A, CHEATFLAG_TIMED }, // Trent's Magnum + { L_MPWEAPONS(84), 447, SOLOSTAGEINDEX_DEEPSEA, DIFF_PA, CHEATFLAG_TIMED }, // FarSight + { L_MPWEAPONS(85), 0, SOLOSTAGEINDEX_G5BUILDING, DIFF_A, CHEATFLAG_COMPLETION }, // Small Jo + { L_MPWEAPONS(86), 0, SOLOSTAGEINDEX_INFILTRATION, DIFF_A, CHEATFLAG_COMPLETION }, // Small Characters + { L_MPWEAPONS(87), 0, SOLOSTAGEINDEX_DEFENSE, DIFF_A, CHEATFLAG_COMPLETION }, // Enemy Shields + { L_MPWEAPONS(88), 0, SOLOSTAGEINDEX_DEEPSEA, DIFF_A, CHEATFLAG_COMPLETION }, // Jo Shield + { L_MPWEAPONS(89), 105, SOLOSTAGEINDEX_DEFENSE, DIFF_A, CHEATFLAG_TIMED }, // Super Shield + { L_MPWEAPONS(90), 0, SOLOSTAGEINDEX_DEFECTION, DIFF_A, CHEATFLAG_COMPLETION }, // Classic Sight + { L_MPWEAPONS(91), 0, SOLOSTAGEINDEX_AIRBASE, DIFF_A, CHEATFLAG_COMPLETION }, // Team Heads Only + { L_MPWEAPONS(92), 479, SOLOSTAGEINDEX_RESCUE, DIFF_PA, CHEATFLAG_TIMED }, // Play as Elvis + { L_MPWEAPONS(93), 0, SOLOSTAGEINDEX_PELAGIC, DIFF_A, CHEATFLAG_COMPLETION }, // Enemy Rockets + { L_MPWEAPONS(94), 235, SOLOSTAGEINDEX_AIRFORCEONE, DIFF_PA, CHEATFLAG_TIMED }, // Unlimited Ammo - Laptop Sentry Gun + { L_MPWEAPONS(95), 90, SOLOSTAGEINDEX_DEFECTION, DIFF_SA, CHEATFLAG_TIMED }, // Marquis of Queensbury Rules + { L_MPWEAPONS(96), 0, SOLOSTAGEINDEX_CRASHSITE, DIFF_A, CHEATFLAG_COMPLETION }, // Perfect Darkness + { L_MPWEAPONS(97), 390, SOLOSTAGEINDEX_INVESTIGATION, DIFF_PA, CHEATFLAG_TIMED }, // Pugilist + { L_MPWEAPONS(98), 300, SOLOSTAGEINDEX_INFILTRATION, DIFF_SA, CHEATFLAG_TIMED }, // Hotshot + { L_MPWEAPONS(99), 150, SOLOSTAGEINDEX_VILLA, DIFF_SA, CHEATFLAG_TIMED }, // Hit and Run + { L_MPWEAPONS(100), 317, SOLOSTAGEINDEX_ATTACKSHIP, DIFF_SA, CHEATFLAG_TIMED }, // Alien + { L_MPWEAPONS(101), 0, SOLOSTAGEINDEX_SKEDARRUINS, DIFF_A, CHEATFLAG_COMPLETION | CHEATFLAG_TRANSFERPAK }, // R-Tracker/Weapon Cache Locations + { L_MPWEAPONS(102), 0, SOLOSTAGEINDEX_EXTRACTION, DIFF_A, CHEATFLAG_COMPLETION }, // Rocket Launcher + { L_MPWEAPONS(103), 0, SOLOSTAGEINDEX_VILLA, DIFF_A, CHEATFLAG_COMPLETION }, // Sniper Rifle + { L_MPWEAPONS(104), 0, SOLOSTAGEINDEX_RESCUE, DIFF_A, CHEATFLAG_COMPLETION }, // X-Ray Scanner + { L_MPWEAPONS(105), 0, SOLOSTAGEINDEX_ESCAPE, DIFF_A, CHEATFLAG_COMPLETION }, // SuperDragon + { L_MPWEAPONS(106), 0, SOLOSTAGEINDEX_AIRFORCEONE, DIFF_A, CHEATFLAG_COMPLETION }, // Laptop Gun + { L_MPWEAPONS(107), 0, SOLOSTAGEINDEX_ATTACKSHIP, DIFF_A, CHEATFLAG_COMPLETION }, // Phoenix + { L_MPWEAPONS(108), 120, SOLOSTAGEINDEX_CHICAGO, DIFF_PA, CHEATFLAG_TIMED }, // Psychosis Gun + { L_MPWEAPONS(109), 36, 0, 0, CHEATFLAG_FIRINGRANGE }, // PP9i + { L_MPWEAPONS(110), 37, 0, 0, CHEATFLAG_FIRINGRANGE }, // CC13 + { L_MPWEAPONS(111), 38, 0, 0, CHEATFLAG_FIRINGRANGE }, // KL01313 + { L_MPWEAPONS(112), 39, 0, 0, CHEATFLAG_FIRINGRANGE }, // KF7 Special + { L_MPWEAPONS(113), 40, 0, 0, CHEATFLAG_FIRINGRANGE }, // ZZT (9mm) + { L_MPWEAPONS(114), 41, 0, 0, CHEATFLAG_FIRINGRANGE }, // DMC + { L_MPWEAPONS(115), 42, 0, 0, CHEATFLAG_FIRINGRANGE }, // AR53 + { L_MPWEAPONS(116), 43, 0, 0, CHEATFLAG_FIRINGRANGE }, // RC-P45 +}; + u32 cheatIsUnlocked(s32 cheat_id) { struct cheat *cheat = &g_Cheats[cheat_id]; @@ -658,3 +703,187 @@ char *cheatGetName(s32 cheat_id) { return langGet(g_Cheats[cheat_id].nametextid); } + +struct menu_item g_CheatWarningMenuItems[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPMENU(479), 0x00000000, NULL }, // "If you activate any cheats, then you will be unable to progress further in the game while those cheats are active." + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(480), 0x00000000, NULL }, // "OK" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(481), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatWarningMenuDialog = { + MENUDIALOGTYPE_SUCCESS, + L_MPMENU(478), // "Warning" + g_CheatWarningMenuItems, + NULL, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsFunMenuItems[] = { + { MENUITEMTYPE_CHECKBOX, CHEAT_DKMODE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_SMALLJO, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_SMALLCHARACTERS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_TEAMHEADSONLY, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_PLAYASELVIS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_SLOMO, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsFunMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(118), // "Fun" + g_CheatsFunMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsGameplayMenuItems[] = { + { MENUITEMTYPE_CHECKBOX, CHEAT_INVINCIBLE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_CLOAKINGDEVICE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_MARQUIS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_JOSHIELD, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_SUPERSHIELD, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_ENEMYSHIELDS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_ENEMYROCKETS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_PERFECTDARKNESS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsGameplayMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(119), // "Gameplay" + g_CheatsGameplayMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsSoloWeaponsMenuItems[] = { + { MENUITEMTYPE_CHECKBOX, CHEAT_ROCKETLAUNCHER, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_SNIPERRIFLE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_SUPERDRAGON, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_LAPTOPGUN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_PHOENIX, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_PSYCHOSISGUN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_TRENTSMAGNUM, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_FARSIGHT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsSoloWeaponsMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(122), // "Weapons for Jo in Solo" + g_CheatsSoloWeaponsMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsClassicWeaponsMenuItems[] = { + { MENUITEMTYPE_CHECKBOX, CHEAT_PP9I, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_CC13, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_KL01313, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_KF7SPECIAL, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_ZZT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_DMC, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_AR53, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_RCP45, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL }, + { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, L_MPWEAPONS(144), 0x00000000, NULL }, // "Win Golds on the firing range to enable classic guns." + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsClassicWeaponsMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(123), // "Classic Weapons for Jo in Solo" + g_CheatsClassicWeaponsMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsWeaponsMenuItems[] = { + { MENUITEMTYPE_CHECKBOX, CHEAT_CLASSICSIGHT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_UNLIMITEDAMMOLAPTOP, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_HURRICANEFISTS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_UNLIMITEDAMMO, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_UNLIMITEDAMMONORELOADS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_XRAYSCANNER, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_RTRACKER, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_ALLGUNS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsWeaponsMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(120), // "Weapons" + g_CheatsWeaponsMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsBuddiesMenuItems[] = { + { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, L_MPWEAPONS(117), 0x00000000, cheatMenuHandleBuddyCheckbox }, // "Velvet Dark" + { MENUITEMTYPE_CHECKBOX, CHEAT_PUGILIST, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_HOTSHOT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_HITANDRUN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_CHECKBOX, CHEAT_ALIEN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsBuddiesMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(121), // "Buddies" + g_CheatsBuddiesMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; + +struct menu_item g_CheatsMenuItems[] = { + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(118), 0x00000000, &g_CheatsFunMenuDialog }, // "Fun" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(119), 0x00000000, &g_CheatsGameplayMenuDialog }, // "Gameplay" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(122), 0x00000000, &g_CheatsSoloWeaponsMenuDialog }, // "Weapons for Jo in Solo" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(123), 0x00000000, &g_CheatsClassicWeaponsMenuDialog }, // "Classic Weapons for Jo in Solo" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(120), 0x00000000, &g_CheatsWeaponsMenuDialog }, // "Weapons" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(121), 0x00000000, &g_CheatsBuddiesMenuDialog }, // "Buddies" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(217), 0x00000000, cheatMenuHandleTurnOffAllCheats }, // "Turn off all Cheats" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +struct menu_dialog g_CheatsMenuDialog = { + MENUDIALOGTYPE_DEFAULT, + L_MPMENU(476), // "Cheats" + g_CheatsMenuItems, + cheatMenuHandleDialog, + 0x00000000, + NULL, +}; diff --git a/src/game/data/cheats.c b/src/game/data/cheats.c deleted file mode 100644 index 922875f93..000000000 --- a/src/game/data/cheats.c +++ /dev/null @@ -1,242 +0,0 @@ -#include -#include "game/chr/chraicommands.h" -#include "game/game_0f09f0.h" -#include "game/game_102240.h" -#include "game/cheats.h" -#include "game/game_107fb0.h" -#include "game/game_10ccd0.h" -#include "game/utils.h" -#include "game/game_1a3340.h" -#include "gvars/gvars.h" -#include "game/data/cheats.h" -#include "stagesetup.h" -#include "types.h" - -struct cheat g_Cheats[NUM_CHEATS] = { - { L_MPWEAPONS(75), 123, SOLOSTAGEINDEX_EXTRACTION, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Hurricane Fists - { L_MPWEAPONS(76), 100, SOLOSTAGEINDEX_G5BUILDING, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Cloaking Device - { L_MPWEAPONS(77), 230, SOLOSTAGEINDEX_ESCAPE, DIFF_A, CHEATFLAG_TIMED }, // Invincible - { L_MPWEAPONS(78), 331, SOLOSTAGEINDEX_SKEDARRUINS, DIFF_PA, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // All Guns in Solo - { L_MPWEAPONS(79), 427, SOLOSTAGEINDEX_PELAGIC, DIFF_SA, CHEATFLAG_TIMED }, // Unlimited Ammo - { L_MPWEAPONS(80), 191, SOLOSTAGEINDEX_AIRBASE, DIFF_SA, CHEATFLAG_TIMED }, // Unlimited Ammo, No Reloads - { L_MPWEAPONS(81), 0, SOLOSTAGEINDEX_INVESTIGATION, DIFF_A, CHEATFLAG_COMPLETION }, // Slo-mo Single Player - { L_MPWEAPONS(82), 0, SOLOSTAGEINDEX_CHICAGO, DIFF_A, CHEATFLAG_COMPLETION }, // DK Mode - { L_MPWEAPONS(83), 170, SOLOSTAGEINDEX_CRASHSITE, DIFF_A, CHEATFLAG_TIMED }, // Trent's Magnum - { L_MPWEAPONS(84), 447, SOLOSTAGEINDEX_DEEPSEA, DIFF_PA, CHEATFLAG_TIMED }, // FarSight - { L_MPWEAPONS(85), 0, SOLOSTAGEINDEX_G5BUILDING, DIFF_A, CHEATFLAG_COMPLETION }, // Small Jo - { L_MPWEAPONS(86), 0, SOLOSTAGEINDEX_INFILTRATION, DIFF_A, CHEATFLAG_COMPLETION }, // Small Characters - { L_MPWEAPONS(87), 0, SOLOSTAGEINDEX_DEFENSE, DIFF_A, CHEATFLAG_COMPLETION }, // Enemy Shields - { L_MPWEAPONS(88), 0, SOLOSTAGEINDEX_DEEPSEA, DIFF_A, CHEATFLAG_COMPLETION }, // Jo Shield - { L_MPWEAPONS(89), 105, SOLOSTAGEINDEX_DEFENSE, DIFF_A, CHEATFLAG_TIMED }, // Super Shield - { L_MPWEAPONS(90), 0, SOLOSTAGEINDEX_DEFECTION, DIFF_A, CHEATFLAG_COMPLETION }, // Classic Sight - { L_MPWEAPONS(91), 0, SOLOSTAGEINDEX_AIRBASE, DIFF_A, CHEATFLAG_COMPLETION }, // Team Heads Only - { L_MPWEAPONS(92), 479, SOLOSTAGEINDEX_RESCUE, DIFF_PA, CHEATFLAG_TIMED }, // Play as Elvis - { L_MPWEAPONS(93), 0, SOLOSTAGEINDEX_PELAGIC, DIFF_A, CHEATFLAG_COMPLETION }, // Enemy Rockets - { L_MPWEAPONS(94), 235, SOLOSTAGEINDEX_AIRFORCEONE, DIFF_PA, CHEATFLAG_TIMED }, // Unlimited Ammo - Laptop Sentry Gun - { L_MPWEAPONS(95), 90, SOLOSTAGEINDEX_DEFECTION, DIFF_SA, CHEATFLAG_TIMED }, // Marquis of Queensbury Rules - { L_MPWEAPONS(96), 0, SOLOSTAGEINDEX_CRASHSITE, DIFF_A, CHEATFLAG_COMPLETION }, // Perfect Darkness - { L_MPWEAPONS(97), 390, SOLOSTAGEINDEX_INVESTIGATION, DIFF_PA, CHEATFLAG_TIMED }, // Pugilist - { L_MPWEAPONS(98), 300, SOLOSTAGEINDEX_INFILTRATION, DIFF_SA, CHEATFLAG_TIMED }, // Hotshot - { L_MPWEAPONS(99), 150, SOLOSTAGEINDEX_VILLA, DIFF_SA, CHEATFLAG_TIMED }, // Hit and Run - { L_MPWEAPONS(100), 317, SOLOSTAGEINDEX_ATTACKSHIP, DIFF_SA, CHEATFLAG_TIMED }, // Alien - { L_MPWEAPONS(101), 0, SOLOSTAGEINDEX_SKEDARRUINS, DIFF_A, CHEATFLAG_COMPLETION | CHEATFLAG_TRANSFERPAK }, // R-Tracker/Weapon Cache Locations - { L_MPWEAPONS(102), 0, SOLOSTAGEINDEX_EXTRACTION, DIFF_A, CHEATFLAG_COMPLETION }, // Rocket Launcher - { L_MPWEAPONS(103), 0, SOLOSTAGEINDEX_VILLA, DIFF_A, CHEATFLAG_COMPLETION }, // Sniper Rifle - { L_MPWEAPONS(104), 0, SOLOSTAGEINDEX_RESCUE, DIFF_A, CHEATFLAG_COMPLETION }, // X-Ray Scanner - { L_MPWEAPONS(105), 0, SOLOSTAGEINDEX_ESCAPE, DIFF_A, CHEATFLAG_COMPLETION }, // SuperDragon - { L_MPWEAPONS(106), 0, SOLOSTAGEINDEX_AIRFORCEONE, DIFF_A, CHEATFLAG_COMPLETION }, // Laptop Gun - { L_MPWEAPONS(107), 0, SOLOSTAGEINDEX_ATTACKSHIP, DIFF_A, CHEATFLAG_COMPLETION }, // Phoenix - { L_MPWEAPONS(108), 120, SOLOSTAGEINDEX_CHICAGO, DIFF_PA, CHEATFLAG_TIMED }, // Psychosis Gun - { L_MPWEAPONS(109), 36, 0, 0, CHEATFLAG_FIRINGRANGE }, // PP9i - { L_MPWEAPONS(110), 37, 0, 0, CHEATFLAG_FIRINGRANGE }, // CC13 - { L_MPWEAPONS(111), 38, 0, 0, CHEATFLAG_FIRINGRANGE }, // KL01313 - { L_MPWEAPONS(112), 39, 0, 0, CHEATFLAG_FIRINGRANGE }, // KF7 Special - { L_MPWEAPONS(113), 40, 0, 0, CHEATFLAG_FIRINGRANGE }, // ZZT (9mm) - { L_MPWEAPONS(114), 41, 0, 0, CHEATFLAG_FIRINGRANGE }, // DMC - { L_MPWEAPONS(115), 42, 0, 0, CHEATFLAG_FIRINGRANGE }, // AR53 - { L_MPWEAPONS(116), 43, 0, 0, CHEATFLAG_FIRINGRANGE }, // RC-P45 -}; - -struct menu_item g_CheatWarningMenuItems[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPMENU(479), 0x00000000, NULL }, // "If you activate any cheats, then you will be unable to progress further in the game while those cheats are active." - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(480), 0x00000000, NULL }, // "OK" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(481), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatWarningMenuDialog = { - MENUDIALOGTYPE_SUCCESS, - L_MPMENU(478), // "Warning" - g_CheatWarningMenuItems, - NULL, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsFunMenuItems[] = { - { MENUITEMTYPE_CHECKBOX, 7, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 10, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 11, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 16, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 17, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 6, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsFunMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(118), // "Fun" - g_CheatsFunMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsGameplayMenuItems[] = { - { MENUITEMTYPE_CHECKBOX, 2, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 1, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 20, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 13, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 14, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 12, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 18, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 21, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsGameplayMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(119), // "Gameplay" - g_CheatsGameplayMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsSoloWeaponsMenuItems[] = { - { MENUITEMTYPE_CHECKBOX, 27, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 28, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 30, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 31, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 32, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 33, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 8, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 9, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsSoloWeaponsMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(122), // "Weapons for Jo in Solo" - g_CheatsSoloWeaponsMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsClassicWeaponsMenuItems[] = { - { MENUITEMTYPE_CHECKBOX, 34, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 35, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 36, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 37, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 38, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 39, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 40, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 41, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL }, - { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, 0x00005490, 0x00000000, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, 0x000051dd, 0x00000000, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsClassicWeaponsMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(123), // "Classic Weapons for Jo in Solo" - g_CheatsClassicWeaponsMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsWeaponsMenuItems[] = { - { MENUITEMTYPE_CHECKBOX, 15, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 19, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 4, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 5, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 29, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 26, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_CHECKBOX, 3, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsWeaponsMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(120), // "Weapons" - g_CheatsWeaponsMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsBuddiesMenuItems[] = { - { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, L_MPWEAPONS(117), 0x00000000, cheatMenuHandleBuddyCheckbox }, // "Velvet Dark" - { MENUITEMTYPE_CHECKBOX, 22, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, - { MENUITEMTYPE_CHECKBOX, 23, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, - { MENUITEMTYPE_CHECKBOX, 24, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, - { MENUITEMTYPE_CHECKBOX, 25, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsBuddiesMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(121), // "Buddies" - g_CheatsBuddiesMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; - -struct menu_item g_CheatsMenuItems[] = { - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(118), 0x00000000, &g_CheatsFunMenuDialog }, // "Fun" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(119), 0x00000000, &g_CheatsGameplayMenuDialog }, // "Gameplay" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(122), 0x00000000, &g_CheatsSoloWeaponsMenuDialog }, // "Weapons for Jo in Solo" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(123), 0x00000000, &g_CheatsClassicWeaponsMenuDialog }, // "Classic Weapons for Jo in Solo" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(120), 0x00000000, &g_CheatsWeaponsMenuDialog }, // "Weapons" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS(121), 0x00000000, &g_CheatsBuddiesMenuDialog }, // "Buddies" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(217), 0x00000000, cheatMenuHandleTurnOffAllCheats }, // "Turn of all Cheats" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU(477), 0x00000000, NULL }, // "Done" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -struct menu_dialog g_CheatsMenuDialog = { - MENUDIALOGTYPE_DEFAULT, - L_MPMENU(476), // "Cheats" - g_CheatsMenuItems, - cheatMenuHandleDialog, - 0x00000000, - NULL, -}; diff --git a/src/game/data/data_0160b0.c b/src/game/data/data_0160b0.c index 7b7b1323d..291879eb3 100644 --- a/src/game/data/data_0160b0.c +++ b/src/game/data/data_0160b0.c @@ -403,743 +403,4 @@ bool g_PlayerInvincible = false; u32 var80070764 = 0x00000000; s16 var80070768[] = { 26, 28, 32, 33, 34, 35, 36, 37, 0 }; u32 var8007077c = 0x00000000; // index into var80070768 -u32 var80070780 = 0x00000000; -u32 var80070784 = 0x00000000; -u32 var80070788 = 0x00000000; -u32 var8007078c = 0x01000008; -u32 var80070790 = 0x00f5ffff; -u32 var80070794 = 0x00004000; -u32 var80070798 = 0x00000000; -u32 var8007079c = 0x00000000; -u32 var800707a0 = 0x00000000; -u32 var800707a4 = 0x00000000; -u32 var800707a8 = 0x3f800000; -u32 var800707ac = 0x00000000; -u32 var800707b0 = 0x00000000; -u32 var800707b4 = 0x00000000; -u32 var800707b8 = 0x3f800000; -u32 var800707bc = 0x00000000; -u32 var800707c0 = 0x00000000; -u32 var800707c4 = 0x00000000; -u32 var800707c8 = 0x3f800000; -u32 var800707cc = 0x00000000; -u32 var800707d0 = 0x00000000; -u32 var800707d4 = 0x00000000; -u32 var800707d8 = 0x000003e8; -u32 var800707dc = 0xffffff00; -u32 var800707e0 = 0xffffff00; -u32 var800707e4 = 0x0fff0000; -u32 var800707e8 = 0x02000000; -u32 var800707ec = 0x00ffffff; -u32 var800707f0 = 0x00000000; -u32 var800707f4 = 0x00000000; -u32 var800707f8 = 0x00000000; -u32 var800707fc = 0x00000000; -u32 var80070800 = 0x00000000; -u32 var80070804 = 0x00000000; -u32 var80070808 = 0x3f800000; -u32 var8007080c = 0x00000000; -u32 var80070810 = 0x3f800000; -u32 var80070814 = 0x00000000; -u32 var80070818 = 0x00000000; -u32 var8007081c = 0x00000000; -u32 var80070820 = 0x00000000; -u32 var80070824 = 0x00000000; -u32 var80070828 = 0x00000000; -u32 var8007082c = 0x3f800000; -u32 var80070830 = 0x00000000; -u32 var80070834 = 0x3f800000; -u32 var80070838 = 0x00000000; -u32 var8007083c = 0x00000000; -u32 g_PauseMode = 0x00000000; -u32 var80070844 = 0x00000000; -u32 var80070848 = 0x40a00000; -u32 var8007084c = 0x42200000; -u32 var80070850 = 0x3f333333; -u32 var80070854 = 0x00000096; -u32 var80070858 = 0x00000000; -u32 var8007085c = 0x00000000; -u32 var80070860 = 0x00000000; -u32 var80070864 = 0x40a00000; -u32 var80070868 = 0x42200000; -u32 var8007086c = 0x3f333333; -u32 var80070870 = 0x00000096; -u32 var80070874 = 0x00000000; -u32 var80070878 = 0x00000000; -u32 var8007087c = 0x00000000; -u32 var80070880 = 0x40a00000; -u32 var80070884 = 0x41f00000; -u32 var80070888 = 0x3f266666; -u32 var8007088c = 0x00000096; -u32 var80070890 = 0x00000000; -u32 var80070894 = 0x00000000; -u32 var80070898 = 0x00000000; -u32 var8007089c = 0x40a00000; -u32 var800708a0 = 0x41c80000; -u32 var800708a4 = 0x3f19999a; -u32 var800708a8 = 0x00000096; -u32 var800708ac = 0x00000000; -u32 var800708b0 = 0x00000000; -u32 var800708b4 = 0x00000000; -u32 var800708b8 = 0x40a00000; -u32 var800708bc = 0x41b00000; -u32 var800708c0 = 0x3f0ccccd; -u32 var800708c4 = 0x00000096; -u32 var800708c8 = 0x00000000; -u32 var800708cc = 0x00000000; -u32 var800708d0 = 0x00000000; -u32 var800708d4 = 0x40a00000; -u32 var800708d8 = 0x41980000; -u32 var800708dc = 0x3f000000; -u32 var800708e0 = 0x00000096; -u32 var800708e4 = 0x00000000; -u32 var800708e8 = 0x00000000; -u32 var800708ec = 0x00000000; -u32 var800708f0 = 0x40a00000; -u32 var800708f4 = 0x41880000; -u32 var800708f8 = 0x3ee66666; -u32 var800708fc = 0x00000096; -u32 var80070900 = 0x00000000; -u32 var80070904 = 0x00000000; -u32 var80070908 = 0x00000000; -u32 var8007090c = 0x40a00000; -u32 var80070910 = 0x41700000; -u32 var80070914 = 0x3ecccccd; -u32 var80070918 = 0x00000096; -u32 var8007091c = 0x00000000; -u32 var80070920 = 0x00000000; -u32 var80070924 = 0x00000014; -u32 var80070928 = 0x00000022; -u32 var8007092c = 0x0000002e; -u32 var80070930 = 0x0000010e; -u32 var80070934 = 0x0000011d; -u32 var80070938 = 0x00000014; -u32 var8007093c = 0x00000025; -u32 var80070940 = 0x00000034; -u32 var80070944 = 0x000000fa; -u32 var80070948 = 0x00000109; -u32 var8007094c = 0x00000014; -u32 var80070950 = 0x00000028; -u32 var80070954 = 0x0000003a; -u32 var80070958 = 0x000000e6; -u32 var8007095c = 0x000000f5; -u32 var80070960 = 0x00000014; -u32 var80070964 = 0x0000002b; -u32 var80070968 = 0x00000040; -u32 var8007096c = 0x000000d2; -u32 var80070970 = 0x000000e1; -u32 var80070974 = 0x00000014; -u32 var80070978 = 0x0000002e; -u32 var8007097c = 0x00000046; -u32 var80070980 = 0x000000be; -u32 var80070984 = 0x000000cd; -u32 var80070988 = 0x00000014; -u32 var8007098c = 0x00000031; -u32 var80070990 = 0x0000004c; -u32 var80070994 = 0x000000aa; -u32 var80070998 = 0x000000b9; -u32 var8007099c = 0x00000014; -u32 var800709a0 = 0x00000034; -u32 var800709a4 = 0x00000052; -u32 var800709a8 = 0x00000096; -u32 var800709ac = 0x000000a5; -u32 var800709b0 = 0x00000014; -u32 var800709b4 = 0x00000037; -u32 var800709b8 = 0x00000058; -u32 var800709bc = 0x00000082; -u32 var800709c0 = 0x00000091; -u32 var800709c4 = 0x00000000; -u32 var800709c8 = 0x00000000; -u32 var800709cc = 0x00000000; -u32 var800709d0 = 0x00000000; -u32 var800709d4 = 0x00000000; -u32 var800709d8 = 0x00000000; -u32 var800709dc = 0x00000000; -u32 var800709e0 = 0x00000000; -u32 var800709e4 = 0x3f800000; -u32 var800709e8 = 0x00000000; -u32 var800709ec = 0x3f800000; -u32 var800709f0 = 0x00000000; -u32 var800709f4 = 0x02810000; -u32 var800709f8 = 0x00000000; -u32 var800709fc = 0x00000000; -u32 var80070a00 = 0x00000000; -u32 var80070a04 = 0x00000000; -u32 var80070a08 = 0x00000000; -u32 var80070a0c = 0x00000000; -u32 var80070a10 = 0x00000000; -u32 var80070a14 = 0x00000000; -u32 var80070a18 = 0x00000000; -u32 var80070a1c = 0x00000000; -u32 var80070a20 = 0x00000000; -u32 var80070a24 = 0x3eb2b17a; -u32 var80070a28 = 0xbfc907a9; -u32 var80070a2c = 0x3fc907a9; -u32 var80070a30 = 0xbfc907a9; -u32 var80070a34 = 0x00000000; -u32 var80070a38 = 0x00000000; -u32 var80070a3c = 0x02850000; -u32 var80070a40 = 0x00000000; -u32 var80070a44 = 0x00000000; -u32 var80070a48 = 0x00000000; -u32 var80070a4c = 0x00000000; -u32 var80070a50 = 0x00000000; -u32 var80070a54 = 0x00000000; -u32 var80070a58 = 0x00000000; -u32 var80070a5c = 0x00000000; -u32 var80070a60 = 0x00000000; -u32 var80070a64 = 0x00000000; -u32 var80070a68 = 0x00000000; -u32 var80070a6c = 0x3eb2b17a; -u32 var80070a70 = 0xbfc907a9; -u32 var80070a74 = 0x3fc907a9; -u32 var80070a78 = 0xbfc907a9; -u32 var80070a7c = 0x00000000; -u32 var80070a80 = 0x00000000; -u32 var80070a84 = 0x02820000; -u32 var80070a88 = 0x00000000; -u32 var80070a8c = 0x00000000; -u32 var80070a90 = 0x00000000; -u32 var80070a94 = 0x00000000; -u32 var80070a98 = 0x00000000; -u32 var80070a9c = 0x00000000; -u32 var80070aa0 = 0x00000000; -u32 var80070aa4 = 0x00000000; -u32 var80070aa8 = 0x00000000; -u32 var80070aac = 0x00000000; -u32 var80070ab0 = 0x00000000; -u32 var80070ab4 = 0x3eb2b17a; -u32 var80070ab8 = 0xbfc907a9; -u32 var80070abc = 0x3fc907a9; -u32 var80070ac0 = 0xbfc907a9; -u32 var80070ac4 = 0x3fcccccd; -u32 var80070ac8 = 0x3fcccccd; -u32 var80070acc = 0x02860000; -u32 var80070ad0 = 0x00000000; -u32 var80070ad4 = 0x00000000; -u32 var80070ad8 = 0x00000000; -u32 var80070adc = 0x00000000; -u32 var80070ae0 = 0x00000000; -u32 var80070ae4 = 0x00000000; -u32 var80070ae8 = 0x00000000; -u32 var80070aec = 0x00000000; -u32 var80070af0 = 0x00000000; -u32 var80070af4 = 0x00000000; -u32 var80070af8 = 0x00000000; -u32 var80070afc = 0x3e32b17a; -u32 var80070b00 = 0xbfc907a9; -u32 var80070b04 = 0x3fc907a9; -u32 var80070b08 = 0xbfc907a9; -u32 var80070b0c = 0x3fcccccd; -u32 var80070b10 = 0x3fcccccd; -u32 var80070b14 = 0x02830000; -u32 var80070b18 = 0x00000000; -u32 var80070b1c = 0x00000000; -u32 var80070b20 = 0x00000000; -u32 var80070b24 = 0x00000000; -u32 var80070b28 = 0x00000000; -u32 var80070b2c = 0x00000000; -u32 var80070b30 = 0x00000000; -u32 var80070b34 = 0x00000000; -u32 var80070b38 = 0x00000000; -u32 var80070b3c = 0x00000000; -u32 var80070b40 = 0x00000000; -u32 var80070b44 = 0x3eb2b17a; -u32 var80070b48 = 0xbfc907a9; -u32 var80070b4c = 0x3fc907a9; -u32 var80070b50 = 0xbfc907a9; -u32 var80070b54 = 0x00000000; -u32 var80070b58 = 0x00000000; -u32 var80070b5c = 0x02870000; -u32 var80070b60 = 0x00000000; -u32 var80070b64 = 0x00000000; -u32 var80070b68 = 0x00000000; -u32 var80070b6c = 0x00000000; -u32 var80070b70 = 0x00000000; -u32 var80070b74 = 0x00000000; -u32 var80070b78 = 0x00000000; -u32 var80070b7c = 0x00000000; -u32 var80070b80 = 0x00000000; -u32 var80070b84 = 0x00000000; -u32 var80070b88 = 0x00000000; -u32 var80070b8c = 0x3e32b17a; -u32 var80070b90 = 0xbfc907a9; -u32 var80070b94 = 0x3fc907a9; -u32 var80070b98 = 0xbfc907a9; -u32 var80070b9c = 0x00000000; -u32 var80070ba0 = 0x00000000; -u32 var80070ba4 = (u32) &var80065be0; -u32 var80070ba8 = 0x00000000; -u32 var80070bac = 0x3dcccccd; -u32 var80070bb0 = 0x429e0000; -u32 var80070bb4 = 0x42ae0000; -u32 var80070bb8 = 0x3f86051b; -u32 var80070bbc = (u32) &var80067aa0; -u32 var80070bc0 = 0x00000000; -u32 var80070bc4 = 0x3f000000; -u32 var80070bc8 = 0xbf800000; -u32 var80070bcc = 0xbf800000; -u32 var80070bd0 = 0x3f86051b; -u32 var80070bd4 = (u32) &var80067ae8; -u32 var80070bd8 = 0x00000000; -u32 var80070bdc = 0x3f000000; -u32 var80070be0 = 0xbf800000; -u32 var80070be4 = 0xbf800000; -u32 var80070be8 = 0x3f86051b; -u32 var80070bec = (u32) &var800709f4; -u32 var80070bf0 = 0x00000000; -u32 var80070bf4 = 0x3a83126f; -u32 var80070bf8 = 0x00000000; -u32 var80070bfc = 0x3dcccccd; -u32 var80070c00 = 0x3f86051b; -u32 var80070c04 = (u32) &var800709f4; -u32 var80070c08 = 0x00000000; -u32 var80070c0c = 0x3f00c49c; -u32 var80070c10 = 0xbf800000; -u32 var80070c14 = 0xbf800000; -u32 var80070c18 = 0x3f86051b; -u32 var80070c1c = (u32) &var80070a3c; -u32 var80070c20 = 0x00000000; -u32 var80070c24 = 0x3a83126f; -u32 var80070c28 = 0x00000000; -u32 var80070c2c = 0x3dcccccd; -u32 var80070c30 = 0x3f06051b; -u32 var80070c34 = (u32) &var80070a3c; -u32 var80070c38 = 0x00000000; -u32 var80070c3c = 0x3ee66666; -u32 var80070c40 = 0xbf800000; -u32 var80070c44 = 0xbf800000; -u32 var80070c48 = 0x3f06051b; -u32 var80070c4c = (u32) &var800656c0; -u32 var80070c50 = 0x00000000; -u32 var80070c54 = 0x3d4ccccd; -u32 var80070c58 = 0x420c0000; -u32 var80070c5c = 0x42200000; -u32 var80070c60 = 0x3f86051b; -u32 var80070c64 = (u32) &var80067a10; -u32 var80070c68 = 0x00000000; -u32 var80070c6c = 0x3f000000; -u32 var80070c70 = 0xbf800000; -u32 var80070c74 = 0xbf800000; -u32 var80070c78 = 0x3f86051b; -u32 var80070c7c = (u32) &var80067a58; -u32 var80070c80 = 0x00000000; -u32 var80070c84 = 0x3f000000; -u32 var80070c88 = 0xbf800000; -u32 var80070c8c = 0xbf800000; -u32 var80070c90 = 0x3f86051b; -u32 var80070c94 = (u32) &var80070a84; -u32 var80070c98 = 0x00000000; -u32 var80070c9c = 0x3a83126f; -u32 var80070ca0 = 0x00000000; -u32 var80070ca4 = 0x3dcccccd; -u32 var80070ca8 = 0x3f86051b; -u32 var80070cac = (u32) &var80070a84; -u32 var80070cb0 = 0x00000000; -u32 var80070cb4 = 0x3f00c49c; -u32 var80070cb8 = 0xbf800000; -u32 var80070cbc = 0xbf800000; -u32 var80070cc0 = 0x3f86051b; -u32 var80070cc4 = (u32) &var80070acc; -u32 var80070cc8 = 0x00000000; -u32 var80070ccc = 0x3a83126f; -u32 var80070cd0 = 0x00000000; -u32 var80070cd4 = 0x3dcccccd; -u32 var80070cd8 = 0x3f06051b; -u32 var80070cdc = (u32) &var80070acc; -u32 var80070ce0 = 0x00000000; -u32 var80070ce4 = 0x3ee66666; -u32 var80070ce8 = 0xbf800000; -u32 var80070cec = 0xbf800000; -u32 var80070cf0 = 0x3f06051b; -u32 var80070cf4 = 0x00000000; -u32 var80070cf8 = 0x006a0000; -u32 var80070cfc = 0x3e800000; -u32 var80070d00 = 0x00000000; -u32 var80070d04 = 0xbf800000; -u32 var80070d08 = 0x3f86051b; -u32 var80070d0c = 0x00000000; -u32 var80070d10 = 0x006b0000; -u32 var80070d14 = 0x3f000000; -u32 var80070d18 = 0xbf800000; -u32 var80070d1c = 0xbf800000; -u32 var80070d20 = 0x3f86051b; -u32 var80070d24 = 0x00000000; -u32 var80070d28 = 0x00590000; -u32 var80070d2c = 0x3f000000; -u32 var80070d30 = 0xbf800000; -u32 var80070d34 = 0xbf800000; -u32 var80070d38 = 0x3f86051b; -u32 var80070d3c = 0x00000000; -u32 var80070d40 = 0x02800000; -u32 var80070d44 = 0x3a83126f; -u32 var80070d48 = 0x00000000; -u32 var80070d4c = 0x3dcccccd; -u32 var80070d50 = 0x3f86051b; -u32 var80070d54 = 0x00000000; -u32 var80070d58 = 0x02800000; -u32 var80070d5c = 0x3f00c49c; -u32 var80070d60 = 0xbf800000; -u32 var80070d64 = 0xbf800000; -u32 var80070d68 = 0x3f86051b; -u32 var80070d6c = 0x00000000; -u32 var80070d70 = 0x02840000; -u32 var80070d74 = 0x3a83126f; -u32 var80070d78 = 0x00000000; -u32 var80070d7c = 0x3dcccccd; -u32 var80070d80 = 0x3f06051b; -u32 var80070d84 = 0x00000000; -u32 var80070d88 = 0x02840000; -u32 var80070d8c = 0x3ee66666; -u32 var80070d90 = 0xbf800000; -u32 var80070d94 = 0xbf800000; -u32 var80070d98 = 0x3f06051b; -u32 var80070d9c = (u32) &var800663d8; -u32 var80070da0 = 0x00000000; -u32 var80070da4 = 0x3dcccccd; -u32 var80070da8 = 0x42000000; -u32 var80070dac = 0x42280000; -u32 var80070db0 = 0x3f86051b; -u32 var80070db4 = (u32) &var80067b30; -u32 var80070db8 = 0x00000000; -u32 var80070dbc = 0x3f000000; -u32 var80070dc0 = 0xbf800000; -u32 var80070dc4 = 0xbf800000; -u32 var80070dc8 = 0x3f86051b; -u32 var80070dcc = (u32) &var80067b78; -u32 var80070dd0 = 0x00000000; -u32 var80070dd4 = 0x3f000000; -u32 var80070dd8 = 0xbf800000; -u32 var80070ddc = 0xbf800000; -u32 var80070de0 = 0x3f86051b; -u32 var80070de4 = (u32) &var80070b14; -u32 var80070de8 = 0x00000000; -u32 var80070dec = 0x3a83126f; -u32 var80070df0 = 0x00000000; -u32 var80070df4 = 0x3dcccccd; -u32 var80070df8 = 0x3f86051b; -u32 var80070dfc = (u32) &var80070b14; -u32 var80070e00 = 0x00000000; -u32 var80070e04 = 0x3f00c49c; -u32 var80070e08 = 0xbf800000; -u32 var80070e0c = 0xbf800000; -u32 var80070e10 = 0x3f86051b; -u32 var80070e14 = (u32) &var80070b5c; -u32 var80070e18 = 0x00000000; -u32 var80070e1c = 0x3a83126f; -u32 var80070e20 = 0x00000000; -u32 var80070e24 = 0x3dcccccd; -u32 var80070e28 = 0x3f06051b; -u32 var80070e2c = (u32) &var80070b5c; -u32 var80070e30 = 0x00000000; -u32 var80070e34 = 0x3ee66666; -u32 var80070e38 = 0xbf800000; -u32 var80070e3c = 0xbf800000; -u32 var80070e40 = 0x3f06051b; -u32 var80070e44 = 0x00000000; -u32 var80070e48 = 0x00000000; -u32 var80070e4c = 0x00000000; -u32 var80070e50 = 0x0000046f; -u32 var80070e54 = 0x000005b6; -u32 var80070e58 = 0x000005b7; -u32 var80070e5c = 0x00000000; -u32 var80070e60 = 0x00000000; -u32 var80070e64 = 0x00000000; -u32 var80070e68 = 0x00000000; -u32 var80070e6c = 0x00000000; -u32 var80070e70 = 0x00000000; -u32 var80070e74 = 0x00000000; -u32 var80070e78 = 0x00000000; -u32 var80070e7c = 0x00000000; -u32 var80070e80 = 0x00000000; -u32 var80070e84 = 0x00000000; -u32 var80070e88 = 0x00000000; -u32 var80070e8c = 0x00000000; -u32 var80070e90 = 0x00000000; -u32 var80070e94 = 0x00000000; -u32 var80070e98 = 0x00000000; -u32 var80070e9c = 0x00000000; -u32 var80070ea0 = 0x00000000; -u32 var80070ea4 = 0x00000000; -u32 var80070ea8 = 0x00000000; -u32 var80070eac = 0x00000000; -u32 var80070eb0 = 0x00000000; -u32 var80070eb4 = 0x00000000; -u32 var80070eb8 = 0x00000000; -u32 var80070ebc = 0x00000000; -u32 var80070ec0 = 0x00000000; -u32 var80070ec4 = 0x00000000; -u32 var80070ec8 = 0x00000000; -u32 var80070ecc = 0x00000000; -f32 g_EyespyMaxHeight = 160; -u32 var80070ed4 = 0x42a00000; -u32 var80070ed8 = 0x00000064; -u32 var80070edc = 0x00000bb8; -u32 var80070ee0 = 0x00000000; -u32 var80070ee4 = 0x00000000; -u32 var80070ee8 = 0x00000000; -u32 var80070eec = 0x00000000; -u32 var80070ef0 = 0x00000000; -u32 var80070ef4 = 0x00000000; -u32 var80070ef8 = 0x00000000; -u32 var80070efc = 0x00000000; -u32 var80070f00 = 0x00000000; -u32 var80070f04 = 0x00000000; -u32 var80070f08 = 0x00000000; -u32 var80070f0c = 0x00000000; -u32 var80070f10 = 0x00000000; -u32 var80070f14 = 0x000003e8; -u32 var80070f18 = 0x00000014; -u32 var80070f1c = 0x00000005; -u32 var80070f20 = 0x0000001e; -u32 var80070f24 = 0x00000012; -u32 var80070f28 = 0x0000000c; -u32 var80070f2c = 0x000000aa; -u32 var80070f30 = 0x0000002f; -u32 var80070f34 = 0x00000028; -u32 var80070f38 = 0x10500090; -u32 var80070f3c = 0x00c00060; -u32 var80070f40 = 0xff000060; -u32 var80070f44 = 0x00000080; -u32 var80070f48 = 0xffffffab; -u32 var80070f4c = 0xffffff47; -u32 var80070f50 = 0x00000064; -u32 var80070f54 = 0x00000064; -u32 var80070f58 = 0x000000c8; -u32 var80070f5c = 0x00000001; -u32 var80070f60 = 0x0000005f; -u32 var80070f64 = 0x00000012; -u32 var80070f68 = 0x000000e1; -u32 var80070f6c = 0x0000002e; -u32 var80070f70 = 0x00000000; -u32 var80070f74 = 0x00000000; -u32 var80070f78 = 0x00000000; -u32 var80070f7c = 0x00000000; -u32 var80070f80 = 0x310a0000; -u32 var80070f84 = 0x43200000; -u32 var80070f88 = 0x42f00000; -u32 var80070f8c = 0x00000000; -u32 var80070f90 = 0x00000000; -u32 var80070f94 = 0x00000000; -u32 var80070f98 = 0x00000000; -u32 var80070f9c = 0x00ff00ff; -u32 var80070fa0 = 0x00ff0011; -u32 var80070fa4 = 0x00000000; -u32 var80070fa8 = 0x00000000; -u32 var80070fac = 0x00000000; -u32 var80070fb0 = 0x00000000; -u32 g_Colours[] = { - /* 0*/ 0x00ff0000, // green - /* 1*/ 0x9999ff00, // pastel blue - /* 2*/ 0xffffff00, // white - /* 3*/ 0xff777700, // pastel red - /* 4*/ 0xffff5500, // yellow - /* 5*/ 0x00ff0000, // green - /* 6*/ 0xcccccc00, // gray - /* 7*/ 0xff888800, // pastel red - /* 8*/ 0xffaa5500, // orange - /* 9*/ 0x55aaff00, // sky blue - /*10*/ 0xaa55ff00, // purple -}; - -u32 var80070fe0 = 0x0000000a; -u32 var80070fe4 = 0x00000018; -s32 g_NumHudMessages = 0; -struct hudmessage *g_HudMessages = NULL; - -struct hudmessageconfig g_HudMessageConfigs[] = { - /* 0*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 80 }, // bottom left - /* 1*/ { 0, 1, 0, (void*)0x8007fb18, (void*)0x8007fb14, 0x00ff0000, 0x000000a0, 3, 7, 0, 0, 120 }, // middle of screen, larger font, like objectives - /* 2*/ { 0, 0, 1, (void*)0x8007fb18, (void*)0x8007fb14, 0xff000000, 0xffffffa0, 3, 7, 0, 0, 120 }, // middle of screen, larger font, like objectives - /* 3*/ { 0, 1, 0, (void*)0x8007fb18, (void*)0x8007fb14, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 120 }, // bottom left, large font - /* 4*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ffc000, 0x000000a0, 1, 6, 0, 0, 40 }, // bottom left - /* 5*/ { 0, 0, 0, (void*)0x8007fb18, (void*)0x8007fb14, 0x00ff0000, 0x000000a0, 1, 5, 0, 0, 120 }, // top left, large font - /* 6*/ { 1, 0, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 3, 5, 0, 0, 120 }, // top middle - /* 7*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 3, 5, 0, 0, -1 }, // top middle - /* 8*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ffc000, 0x000000a0, 3, 6, 0, 0, 500 }, // bottom middle - /* 9*/ { 1, 1, 0, (void*)0x8007fb08, (void*)0x8007fb04, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 120 }, // bottom left, smaller font - /*10*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 240 }, // bottom left but longer duration - /*11*/ { 0, 0, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 3, 8, 0, 0, 120 }, // none -}; - -u32 var80071170 = 0x2e3b213f; -u32 var80071174 = 0x2c000000; -u32 var80071178 = 0x00000000; -u32 var8007117c = 0x00000000; -u32 var80071180 = 0x00000001; -u32 var80071184 = 0x00000000; -u32 var80071188 = 0x00000000; -u32 var8007118c = 0x00000000; -u32 var80071190 = 0x00000000; -u32 var80071194 = 0x00000000; -u32 var80071198 = 0x00000000; -u32 var8007119c = 0x00000000; -u32 var800711a0 = 0x00000000; -u32 var800711a4 = 0x00000000; -u32 var800711a8 = 0x0000000b; -u32 var800711ac = 0x30313233; -u32 var800711b0 = 0x34353637; -u32 var800711b4 = 0x38394142; -u32 var800711b8 = 0x43444546; -u32 var800711bc = 0x4748494a; -u32 var800711c0 = 0x4b4c4d4e; -u32 var800711c4 = 0x4f505152; -u32 var800711c8 = 0x53545556; -u32 var800711cc = 0x5758595a; -u32 var800711d0 = 0x203f212e; -u32 var800711d4 = 0x31323132; -u32 var800711d8 = 0x31323331; -u32 var800711dc = 0x32330000; -u32 var800711e0 = 0x573a573b; -u32 var800711e4 = 0x573c573d; -u32 var800711e8 = 0x00000000; -u32 var800711ec = 0x20000000; -u32 var800711f0 = 0x00000002; -u32 var800711f4 = 0x0000000c; -u32 var800711f8 = 0x0000000a; -u32 var800711fc = 0xffffffff; -u32 var80071200 = 0x00000003; -u32 var80071204 = 0x00000033; -u32 var80071208 = 0x0000000a; -u32 var8007120c = 0xffffffff; -u32 var80071210 = 0x00000003; -u32 var80071214 = 0x0000000c; -u32 var80071218 = 0x00000003; -u32 var8007121c = 0x0000004b; -u32 var80071220 = 0xffffffff; -u32 var80071224 = 0x00000037; -u32 var80071228 = 0x00000013; -u32 var8007122c = 0x00000040; -u32 var80071230 = 0xffffffff; -u32 var80071234 = 0x0000003f; -u32 var80071238 = 0x00000013; -u32 var8007123c = 0xffffffff; -u32 var80071240 = 0x0000000a; -u32 var80071244 = 0x0000003f; -u32 var80071248 = 0x0000000a; -u32 var8007124c = 0x0000004b; -u32 var80071250 = 0xffffffff; -u32 var80071254 = 0x00000033; -u32 var80071258 = 0x00000017; -u32 var8007125c = 0x00000037; -u32 var80071260 = 0xffffffff; -u32 var80071264 = 0x0000003b; -u32 var80071268 = 0x00000017; -u32 var8007126c = 0x00000044; -u32 var80071270 = 0xffffffff; -u32 var80071274 = 0x00000043; -u32 var80071278 = 0x00000017; -u32 var8007127c = 0xffffffff; -u32 var80071280 = 0x00000011; -u32 var80071284 = 0x00000043; -u32 var80071288 = 0x00000011; -u32 var8007128c = 0x0000004b; -u32 var80071290 = 0xffffffff; -u32 var80071294 = 0x00000037; -u32 var80071298 = 0x0000001b; -u32 var8007129c = 0x00000048; -u32 var800712a0 = 0xffffffff; -u32 var800712a4 = 0x00000047; -u32 var800712a8 = 0x0000001b; -u32 var800712ac = 0xffffffff; -u32 var800712b0 = 0x00000018; -u32 var800712b4 = 0x00000047; -u32 var800712b8 = 0x00000018; -u32 var800712bc = 0x0000004b; -u32 var800712c0 = 0xffffffff; -u32 var800712c4 = 0x00000031; -u32 var800712c8 = 0x0000001f; -u32 var800712cc = 0x0000004b; -u32 var800712d0 = 0xffffffff; -u32 var800712d4 = 0x0000002b; -u32 var800712d8 = 0x0000001c; -u32 var800712dc = 0xffffffff; -u32 var800712e0 = 0x00000026; -u32 var800712e4 = 0x0000002b; -u32 var800712e8 = 0x00000026; -u32 var800712ec = 0x0000004b; -u32 var800712f0 = 0xffffffff; -u32 var800712f4 = 0x0000001e; -u32 var800712f8 = 0x00000023; -u32 var800712fc = 0x00000025; -u32 var80071300 = 0xffffffff; -u32 var80071304 = 0x00000025; -u32 var80071308 = 0x00000023; -u32 var8007130c = 0xffffffff; -u32 var80071310 = 0x0000002d; -u32 var80071314 = 0x00000025; -u32 var80071318 = 0x0000002d; -u32 var8007131c = 0x0000004b; -u32 var80071320 = 0xffffffff; -u32 var80071324 = 0x00000022; -u32 var80071328 = 0x00000034; -u32 var8007132c = 0x0000004b; -u32 var80071330 = 0xffffffff; -u32 var80071334 = 0x0000000c; -u32 var80071338 = 0x0000001e; -u32 var8007133c = 0xffffffff; -u32 var80071340 = 0x0000003b; -u32 var80071344 = 0x0000000c; -u32 var80071348 = 0x0000003b; -u32 var8007134c = 0x0000004b; -u32 var80071350 = 0xffffffff; -u32 var80071354 = 0x54c254c4; -u32 var80071358 = 0x54ca54c5; -u32 var8007135c = 0x54cb54cc; -u32 var80071360 = 0x54ce54cd; -u32 var80071364 = 0x54d254c2; -u32 var80071368 = 0x54c854ca; -u32 var8007136c = 0x54c954cb; -u32 var80071370 = 0x54cc54cf; -u32 var80071374 = 0x54cd54d2; -u32 var80071378 = 0x54cb54c4; -u32 var8007137c = 0x54ca54c5; -u32 var80071380 = 0x54cd54cc; -u32 var80071384 = 0x54ce54c2; -u32 var80071388 = 0x54d254cb; -u32 var8007138c = 0x54c854ca; -u32 var80071390 = 0x54c954cd; -u32 var80071394 = 0x54cc54cf; -u32 var80071398 = 0x54c254d2; -u32 var8007139c = 0x56035603; -u32 var800713a0 = 0x54d35603; -u32 var800713a4 = 0x54cb54cc; -u32 var800713a8 = 0x54ce54cd; -u32 var800713ac = 0x56035603; -u32 var800713b0 = 0x560354d3; -u32 var800713b4 = 0x560354cb; -u32 var800713b8 = 0x54cc54cf; -u32 var800713bc = 0x54cd5603; -u32 var800713c0 = 0x56035603; -u32 var800713c4 = 0x54d35603; -u32 var800713c8 = 0x54cb54cc; -u32 var800713cc = 0x54ce54c2; -u32 var800713d0 = 0x56035603; -u32 var800713d4 = 0x560354d3; -u32 var800713d8 = 0x560354cb; -u32 var800713dc = 0x54cc54cf; -u32 var800713e0 = 0x54c25603; -u32 var800713e4 = 0x56035603; -u32 var800713e8 = 0x54d45603; -u32 var800713ec = 0x54cb54cc; -u32 var800713f0 = 0x54d154c2; -u32 var800713f4 = 0x56035603; -u32 var800713f8 = 0x560354d4; -u32 var800713fc = 0x560354cb; -u32 var80071400 = 0x54cc54d0; -u32 var80071404 = 0x54c25603; -u32 var80071408 = 0x56035603; -u32 var8007140c = 0x54d45603; -u32 var80071410 = 0x54cb54cc; -u32 var80071414 = 0x54d154cd; -u32 var80071418 = 0x56035603; -u32 var8007141c = 0x560354d4; -u32 var80071420 = 0x560354cb; -u32 var80071424 = 0x54cc54d0; -u32 var80071428 = 0x54cd5603; -u32 var8007142c = 0x54b954ba; -u32 var80071430 = 0x54bb54bc; -u32 var80071434 = 0x54bd54be; -u32 var80071438 = 0x54bf54c0; -u32 var8007143c = 0x54c10000; diff --git a/src/game/data/data_01a3a0.c b/src/game/data/data_01a3a0.c index 123f5955e..91f66f430 100644 --- a/src/game/data/data_01a3a0.c +++ b/src/game/data/data_01a3a0.c @@ -14,435 +14,11 @@ #include "game/game_1a3340.h" #include "gvars/gvars.h" #include "game/data/data_0160b0.h" -#include "game/data/data_0160b0.h" +#include "game/data/data_01a3a0.h" #include "game/data/data_020df0.h" #include "stagesetup.h" #include "types.h" -// 1a3c0 -struct menu_item menuitems_1a3c0[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f108550, 0x00000000, menuhandler001084b8 }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&pakMenuTextFailReason, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(321), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a410 -struct menu_dialog menudialog_1a410 = { - MENUDIALOGTYPE_DANGER, - L_OPTIONS(320), // "Error" - menuitems_1a3c0, - NULL, - 0x00000080, - NULL, -}; - -// 1a428 -u16 savelocations2[] = { - L_OPTIONS(111), // "Game Pak" - L_OPTIONS(112), // "Controller Pak 1" - L_OPTIONS(113), // "Controller Pak 2" - L_OPTIONS(114), // "Controller Pak 3" - L_OPTIONS(115), // "Controller Pak 4" - 0x0000, -}; - -// 1a434 -u16 iomessages2[] = { - L_OPTIONS(331), // "Error Loading Game" - L_OPTIONS(332), // "Error Saving Game" - L_OPTIONS(333), // "Error Loading Player" - L_OPTIONS(334), // "Error Saving Player" - L_OPTIONS(335), // "Error Loading PerfectHead" - L_OPTIONS(336), // "Error Saving PerfectHead" - L_OPTIONS(337), // "Error Reading File" - L_OPTIONS(338), // "Error Writing File" - L_OPTIONS(339), // "Error" - 0x0000, -}; - -// 1a448 -u16 filetypenames[] = { - L_OPTIONS(103), // "Single Player Agent File" - L_OPTIONS(104), // "Combat Simulator Settings File" - L_OPTIONS(105), // "Combat Simulator Player File" - L_OPTIONS(106), // "PerfectHead Files" -}; - -// 1a450 -struct menu_item menuitems_filesaved[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(346), 0x00000000, NULL }, // "File Saved." - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(347), 0x00000000, NULL }, // "OK" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a48c -struct menu_dialog menudialog_filesaved = { - MENUDIALOGTYPE_SUCCESS, - L_OPTIONS(345), // "Cool!" - menuitems_filesaved, - NULL, - 0x00000080, - NULL, -}; - -// 1a4a4 -struct menu_item menuitems_saveerror[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(348), 0x00000000, NULL }, // "An error occurred while trying to save" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(349), 0x00000000, menuhandlerPakErrorTryAgain }, // "Try Again" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(350), 0x00000000, menuhandlerSaveElsewhere }, // "Save Elsewhere" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(351), 0x00000000, menuhandlerPakCancelSave2 }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a51c -struct menu_dialog menudialog_saveerror = { - MENUDIALOGTYPE_DANGER, - (u32)&func0f10876c, - menuitems_saveerror, - NULL, - 0x000000a0, - NULL, -}; - -// 1a534 -struct menu_item menuitems_savelost[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS(251), 0x00000000, NULL }, // "The saved file has been erased due to corruption or damage." - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(354), 0x00000000, menuhandlerAcknowledgePakFileLost }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a584 -struct menu_dialog menudialog_savelost = { - MENUDIALOGTYPE_DANGER, - (u32)&func0f10876c, - menuitems_savelost, - NULL, - 0x000000a0, - NULL, -}; - -// 1a59c -struct menu_item menuitems_saveelsewhere[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(360), 0x00000000, NULL }, // "Would you like to save your file elsewhere?" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(361), 0x00000000, menuhandlerSaveElsewhere }, // "Yes" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(362), 0x00000000, menuhandlerPakCancelSave2 }, // "No" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a5ec -struct menu_dialog g_SaveElsewhereMenuDialog = { - MENUDIALOGTYPE_DANGER, - L_OPTIONS(359), // "Save" - menuitems_saveelsewhere, - NULL, - 0x000000a0, - NULL, -}; - -// 1a604 -struct menu_item menuitems_1a604[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f108f90, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(365), 0x00000000, menuhandler00108ecc }, // "OK" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(366), 0x00000000, menuhandler00108f08 }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a654 -struct menu_dialog menudialog_1a654 = { - MENUDIALOGTYPE_DANGER, - (u32)&func0f10876c, - menuitems_1a604, - menudialog00108e58, - 0x000000a0, - NULL, -}; - -u32 var8007464c = (u32)&var7f1b3214; -u32 var80074650 = (u32)&var7f1b3218; -u32 var80074654 = (u32)&var7f1b321c; -u32 var80074658 = (u32)&var7f1b3220; -u32 var8007465c = 0x01020304; -u32 var80074660 = 0x00000000; - -// 1a684 -struct menu_item menuitems_changefilename[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS(239), 0x00000000, NULL }, // "Enter new file name:" - { MENUITEMTYPE_KEYBOARD, 0, 0x00000000, 0x00000000, 0x00000000, menuhandlerRenameFile }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a6c0 -struct menu_dialog menudialog_changefilename = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(238), // "Change File Name" - menuitems_changefilename, - NULL, - 0x00000080, - NULL, -}; - -// 1a6d8 -struct menu_item menuitems_duplicatefilename[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&func0f10a19c, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS(233), 0x00000000, NULL }, // "already contains" - { MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS(234), 0x00000000, NULL }, // "a file named" - { MENUITEMTYPE_LABEL, 0, 0x02000030, (u32)&func0f10a1ec, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(235), 0x00000000, menuhandlerPakRenameDuplicateSave }, // "Rename File" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPWEAPONS(236), 0x00000000, NULL }, // "Change Location" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(237), 0x00000000, menuhandlerPakCancelDuplicateSave }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a778 -struct menu_dialog menudialog_duplicatefilename = { - MENUDIALOGTYPE_DEFAULT, - L_MPWEAPONS(232), // "Duplicate File Name" - menuitems_duplicatefilename, - NULL, - 0x00000080, - NULL, -}; - -// 1a790 -u16 savelocations3[] = { - L_OPTIONS(112), // "Controller Pak 1" - L_OPTIONS(113), // "Controller Pak 2" - L_OPTIONS(114), // "Controller Pak 3" - L_OPTIONS(115), // "Controller Pak 4" - L_OPTIONS(111), // "Game Pak" - L_OPTIONS(4), // "" -}; - -// 1a79c -struct menu_item menuitems_selectlocation[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(368), L_OPTIONS(369), NULL }, // "Where", "Spaces" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 4, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, - { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, - { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, - { MENUITEMTYPE_SELECTABLE, 3, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(370), 0x00000000, menuhandlerDeleteFiles }, // "Delete Files..." - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(371), 0x00000000, menuhandlerPakCancelSave }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a878 -struct menu_dialog menudialog_selectlocation = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(367), // "Select Location" - menuitems_selectlocation, - NULL, - 0x00000080, - NULL, -}; - -// 1a890 -struct menu_item menuitems_confirmdelete[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&func0f1082b0, 0x00000000, menuhandler00108254 }, - { MENUITEMTYPE_LABEL, 0, 0x00000230, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(380), 0x00000000, NULL }, // "Are you sure you want to delete this file?" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(381), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(382), 0x00000000, menuhandlerPakConfirmDelete }, // "OK" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a908 -struct menu_dialog menudialog_confirmdelete = { - MENUDIALOGTYPE_DANGER, - L_OPTIONS(379), // "Warning" - menuitems_confirmdelete, - NULL, - 0x00000080, - NULL, -}; - -// 1a920 -struct menu_item menuitems_1a920[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&func0f1082b0, 0x00000000, menuhandler00108254 }, - { MENUITEMTYPE_LABEL, 0, 0x00000230, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f10a5e8, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS(161), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a984 -struct menu_dialog menudialog_1a984 = { - MENUDIALOGTYPE_DANGER, - L_MPWEAPONS(159), // "Error" - menuitems_1a920, - NULL, - 0x00000080, - NULL, -}; - -// 1a99c -struct menu_item menuitems_deletefile[] = { - { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(377), 0x00000000, NULL }, // "Select a file to delete:" - { MENUITEMTYPE_CUSTOM, 1, 0x00200000, 0x00000000, 0x00000000, menucustomFileToDelete }, - { MENUITEMTYPE_LABEL, 0, L_SEVXB(48), L_OPTIONS(378), 0x00000000, NULL }, // "Press B Button to exit." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1a9ec -struct menu_dialog menudialog_deletefile = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(376), // "Delete File" - menuitems_deletefile, - menudialog0010b014, - 0x00000000, - NULL, -}; - -// 1aa04 -struct menu_item menuitems_copyfile[] = { - { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(374), 0x00000000, NULL }, // "Select a file to copy:" - { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x00000000, 0x00000000, menucustomFileToCopy }, - { MENUITEMTYPE_LABEL, 0, L_SEVXB(48), L_OPTIONS(375), 0x00000000, NULL }, // "Press B Button to exit." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1aa54 -struct menu_dialog menudialog_copyfile = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(373), // "Copy File" - menuitems_copyfile, - menudialog0010b014, - 0x00000000, - NULL, -}; - -u32 var80074a4c = 0x00000000; - -// 1aa70 -struct menu_item menuitems_deletegamenote[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(384), 0x00000000, NULL }, // "Are you sure you want to delete this game note?" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(385), 0x00000000, NULL }, // "No" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(386), 0x00000000, menuhandler0010b14c }, // "Yes" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1aac0 -struct menu_dialog menudialog_deletegamenote = { - MENUDIALOGTYPE_DANGER, - 0x577f, - menuitems_deletegamenote, - NULL, - 0x00000000, - NULL, -}; - -// 1aad8 -struct menu_item menuitems_gamenotes[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(388), (u32)&func0f10b924, NULL }, // "Delete Game Notes:" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x0000010e, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(389), L_OPTIONS(390), NULL }, // "Note", "Pages" - { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x000000c8, 0x0000006e, menucustomDeleteGameNote }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f10b75c, (u32)&func0f10b7cc, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f10b83c, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000030, L_OPTIONS(391), 0x00000000, NULL }, // "Press the B Button to exit." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1ab78 -struct menu_dialog menudialog_gamenotes = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(387), // "Game Notes" - menuitems_gamenotes, - menudialog0010b674, - 0x00000000, - NULL, -}; - -// 1ab90 -struct menu_item menuitems_controllerpakmenu[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(108), 0x00000000, NULL }, // "Use this menu to delete game notes from your Controller Pak" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(109), 0x00000000, NULL }, // "Choose Controller Pak to Edit:" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(112), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 1" - { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS(113), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 2" - { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS(114), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 3" - { MENUITEMTYPE_SELECTABLE, 3, 0x00000000, L_OPTIONS(115), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 4" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(110), 0x00000000, NULL }, // "Exit" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1ac58 -struct menu_dialog menudialog_controllerpakmenu = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(107), // "Controller Pak Menu" - menuitems_controllerpakmenu, - menudialog0010ba10, - 0x00000000, - NULL, -}; - -// 1ac70 -struct menu_item menuitems_gamefiles[] = { - { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(100), 0x00000000, NULL }, // "Copy:" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(103), 0x00000000, menuhandlerOpenCopyFile }, // "Single Player Agent File" - { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS(104), 0x00000000, menuhandlerOpenCopyFile }, // "Combat Simulator Settings File" - { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS(105), 0x00000000, menuhandlerOpenCopyFile }, // "Combat Simulator Player File" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(101), 0x00000000, NULL }, // "Delete:" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(103), 0x00000000, menuhandlerOpenDeleteFile }, // "Single Player Agent File" - { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS(104), 0x00000000, menuhandlerOpenDeleteFile }, // "Combat Simulator Settings File" - { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS(105), 0x00000000, menuhandlerOpenDeleteFile }, // "Combat Simulator Player File" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_OPTIONS(102), 0x00000000, &menudialog_controllerpakmenu }, // "Delete Game Notes..." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1ad60 -struct menu_dialog menudialog_gamefiles = { - MENUDIALOGTYPE_DEFAULT, - 0x5663, - menuitems_gamefiles, - NULL, - 0x00000020, - NULL, -}; - -// 1ad78 -struct menu_item menuitems_enteragentname[] = { - { MENUITEMTYPE_KEYBOARD, 0, 0x00000000, 0x00000000, 0x00000001, menuhandlerAgentName }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1ada0 -struct menu_dialog menudialog_enteragentname = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(401), // "Enter Agent Name" - menuitems_enteragentname, - NULL, - 0x00000000, - NULL, -}; - -// 1adb8 -struct menu_item menuitems_fileselect[] = { - { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(96), 0x00000000, NULL }, // "Choose Your Reality" - { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x000000f5, 0x00000000, menucustomChooseAgent }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, -}; - -// 1adf4 -struct menu_dialog menudialog_fileselect = { - MENUDIALOGTYPE_DEFAULT, - L_OPTIONS(95), // "Perfect Dark" - menuitems_fileselect, - menudialog0010c804, - 0x00000020, - &menudialog_gamefiles, -}; - -u32 var80074dec = 0x00000000; - // 1ae10 struct menu_item menuitems_gamefiles2[] = { { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(100), 0x00000000, NULL }, // "Copy:" @@ -937,114 +513,3 @@ u32 var80075bf0 = 0x00000000; u32 var80075bf4 = 0x00000000; u32 var80075bf8 = 0x00000000; u32 var80075bfc = 0x00000000; - -struct var80075c00 var80075c00[] = { - { 43, 9.5, 27, 0, 0, 1.5 }, - { 41, 7.5, 17, 0, 1.5, 100 }, -}; - -u32 var80075c30 = 0x00000000; -u32 var80075c34 = 0x00000000; -u32 var80075c38 = 0x00000000; -u32 var80075c3c = 0x00000000; -u32 var80075c40 = 0x00000000; -u32 var80075c44 = 0x3f800000; -u32 var80075c48 = 0x00000000; -u32 var80075c4c = 0x3f800000; -u32 var80075c50 = 0x00000000; -u32 var80075c54 = 0x00000000; -u32 var80075c58 = 0x00000001; -u32 var80075c5c = 0x00000003; -u32 var80075c60 = 0x00000000; -u32 var80075c64 = 0x00000000; -u32 var80075c68 = 0x00000000; -u32 var80075c6c = 0x00000000; -u32 var80075c70 = 0x00000000; -u32 var80075c74 = 0x00000000; -u32 var80075c78 = 0x00000000; -u32 var80075c7c = 0x00000000; -u32 var80075c80 = 0x00000000; -u32 var80075c84 = 0x00000000; -u32 var80075c88 = 0x00000000; -u32 var80075c8c = 0x00000000; -u32 var80075c90 = 0x00000000; -u32 var80075c94 = 0x00000000; -u32 var80075c98 = 0x00000000; -u32 var80075c9c = 0x00000000; -s32 g_WaypointHashes[2] = {0}; -u32 var80075ca8 = 0x00000000; -u32 var80075cac = 0x00000000; - -char var80075cb0[] = "4Y"; -char var80075cb4[] = "PerfDark"; -char var80075cc0[] = "PerfDark"; - -u32 var80075ccc = 0x00000400; -u32 var80075cd0 = 0x00000000; -u32 var80075cd4 = 0x00000000; -u32 var80075cd8 = 0x00000000; -u32 var80075cdc = 0x00000000; -u32 var80075ce0 = 0x00000000; -u32 var80075ce4 = 0x00000000; -u32 var80075ce8 = 0x00000001; -u32 var80075cec = 0x00000000; -u32 var80075cf0 = 0x00000000; -u32 var80075cf4 = 0x00000000; -u32 var80075cf8 = 0x291e2b1f; -u32 var80075cfc = 0x1e1c2d0f; -u32 var80075d00 = 0x1d1a2b24; -u32 var80075d04 = 0x00000000; -u32 var80075d08 = 0x00000000; -u32 var80075d0c = 0x00000000; -u32 var80075d10 = 0x00000000; -u32 var80075d14 = 0x00000001; -u32 var80075d18 = 0x00000010; -u32 var80075d1c = 0x00000008; -u32 var80075d20 = 0x00000020; -u32 var80075d24 = 0x00000040; -u32 var80075d28 = 0x00000080; -u32 var80075d2c = 0x00000002; -u32 var80075d30 = 0x00000003; -u32 var80075d34 = 0x00000005; -u32 var80075d38 = 0x00000005; -u32 var80075d3c = 0x00000005; -u32 var80075d40 = (u32)&var7f1b423c; -u32 var80075d44 = (u32)&var7f1b4244; -u32 var80075d48 = (u32)&var7f1b424c; -u32 var80075d4c = (u32)&var7f1b4254; -u32 var80075d50 = (u32)&var7f1b425c; -u32 var80075d54 = 0x00000000; -u32 var80075d58 = 0x00000000; -u32 var80075d5c = 0x00000000; -u32 var80075d60 = 0x00000002; -u32 var80075d64 = 0x00000002; -u32 var80075d68 = 0x00000002; -u32 var80075d6c = 0x00000002; -u32 var80075d70 = 0x00000000; -u32 var80075d74 = 0x00000000; -u32 var80075d78 = 0x00000000; -u32 var80075d7c = 0x00000000; -u32 var80075d80 = 0x00000000; -u32 var80075d84 = 0x00000000; -u32 var80075d88 = 0x00000000; -u32 var80075d8c = 0x00000000; -u32 var80075d90 = 0x00000000; -u32 var80075d94 = 0xbf800000; -u32 var80075d98 = 0x00000000; -u32 var80075d9c = 0x3f800000; -u32 var80075da0 = 0x00000000; -u32 var80075da4 = 0x00000000; -u32 var80075da8 = 0x3f800000; -u32 var80075dac = 0x00000000; -u32 var80075db0 = 0x00000000; -u32 var80075db4 = 0x3f800000; -u32 var80075db8 = 0x00000000; -u32 var80075dbc = 0x00000000; -u32 var80075dc0 = 0x00000000; -u32 var80075dc4 = 0x00000000; -u32 var80075dc8 = 0x00000000; -u32 var80075dcc = 0x00000000; -u32 var80075dd0 = 0x00000000; -u32 var80075dd4 = 0x00000000; -u32 var80075dd8 = 0x3f800000; -u32 var80075ddc = 0x00000000; diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 578a05f94..4ab0e925f 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -108,6 +108,443 @@ const u32 var7f1ad530[] = {0x471c4000}; const u32 var7f1ad534[] = {0x40c907a9}; const u32 var7f1ad538[] = {0x40c907a9}; +u32 var80070780 = 0x00000000; +u32 var80070784 = 0x00000000; +u32 var80070788 = 0x00000000; +u32 var8007078c = 0x01000008; +u32 var80070790 = 0x00f5ffff; +u32 var80070794 = 0x00004000; +u32 var80070798 = 0x00000000; +u32 var8007079c = 0x00000000; +u32 var800707a0 = 0x00000000; +u32 var800707a4 = 0x00000000; +u32 var800707a8 = 0x3f800000; +u32 var800707ac = 0x00000000; +u32 var800707b0 = 0x00000000; +u32 var800707b4 = 0x00000000; +u32 var800707b8 = 0x3f800000; +u32 var800707bc = 0x00000000; +u32 var800707c0 = 0x00000000; +u32 var800707c4 = 0x00000000; +u32 var800707c8 = 0x3f800000; +u32 var800707cc = 0x00000000; +u32 var800707d0 = 0x00000000; +u32 var800707d4 = 0x00000000; +u32 var800707d8 = 0x000003e8; +u32 var800707dc = 0xffffff00; +u32 var800707e0 = 0xffffff00; +u32 var800707e4 = 0x0fff0000; +u32 var800707e8 = 0x02000000; +u32 var800707ec = 0x00ffffff; +u32 var800707f0 = 0x00000000; +u32 var800707f4 = 0x00000000; +u32 var800707f8 = 0x00000000; +u32 var800707fc = 0x00000000; +u32 var80070800 = 0x00000000; +u32 var80070804 = 0x00000000; +u32 var80070808 = 0x3f800000; +u32 var8007080c = 0x00000000; +u32 var80070810 = 0x3f800000; +u32 var80070814 = 0x00000000; +u32 var80070818 = 0x00000000; +u32 var8007081c = 0x00000000; +u32 var80070820 = 0x00000000; +u32 var80070824 = 0x00000000; +u32 var80070828 = 0x00000000; +u32 var8007082c = 0x3f800000; +u32 var80070830 = 0x00000000; +u32 var80070834 = 0x3f800000; +u32 var80070838 = 0x00000000; +u32 var8007083c = 0x00000000; +u32 g_PauseMode = 0x00000000; +u32 var80070844 = 0x00000000; +u32 var80070848 = 0x40a00000; +u32 var8007084c = 0x42200000; +u32 var80070850 = 0x3f333333; +u32 var80070854 = 0x00000096; +u32 var80070858 = 0x00000000; +u32 var8007085c = 0x00000000; +u32 var80070860 = 0x00000000; +u32 var80070864 = 0x40a00000; +u32 var80070868 = 0x42200000; +u32 var8007086c = 0x3f333333; +u32 var80070870 = 0x00000096; +u32 var80070874 = 0x00000000; +u32 var80070878 = 0x00000000; +u32 var8007087c = 0x00000000; +u32 var80070880 = 0x40a00000; +u32 var80070884 = 0x41f00000; +u32 var80070888 = 0x3f266666; +u32 var8007088c = 0x00000096; +u32 var80070890 = 0x00000000; +u32 var80070894 = 0x00000000; +u32 var80070898 = 0x00000000; +u32 var8007089c = 0x40a00000; +u32 var800708a0 = 0x41c80000; +u32 var800708a4 = 0x3f19999a; +u32 var800708a8 = 0x00000096; +u32 var800708ac = 0x00000000; +u32 var800708b0 = 0x00000000; +u32 var800708b4 = 0x00000000; +u32 var800708b8 = 0x40a00000; +u32 var800708bc = 0x41b00000; +u32 var800708c0 = 0x3f0ccccd; +u32 var800708c4 = 0x00000096; +u32 var800708c8 = 0x00000000; +u32 var800708cc = 0x00000000; +u32 var800708d0 = 0x00000000; +u32 var800708d4 = 0x40a00000; +u32 var800708d8 = 0x41980000; +u32 var800708dc = 0x3f000000; +u32 var800708e0 = 0x00000096; +u32 var800708e4 = 0x00000000; +u32 var800708e8 = 0x00000000; +u32 var800708ec = 0x00000000; +u32 var800708f0 = 0x40a00000; +u32 var800708f4 = 0x41880000; +u32 var800708f8 = 0x3ee66666; +u32 var800708fc = 0x00000096; +u32 var80070900 = 0x00000000; +u32 var80070904 = 0x00000000; +u32 var80070908 = 0x00000000; +u32 var8007090c = 0x40a00000; +u32 var80070910 = 0x41700000; +u32 var80070914 = 0x3ecccccd; +u32 var80070918 = 0x00000096; +u32 var8007091c = 0x00000000; +u32 var80070920 = 0x00000000; +u32 var80070924 = 0x00000014; +u32 var80070928 = 0x00000022; +u32 var8007092c = 0x0000002e; +u32 var80070930 = 0x0000010e; +u32 var80070934 = 0x0000011d; +u32 var80070938 = 0x00000014; +u32 var8007093c = 0x00000025; +u32 var80070940 = 0x00000034; +u32 var80070944 = 0x000000fa; +u32 var80070948 = 0x00000109; +u32 var8007094c = 0x00000014; +u32 var80070950 = 0x00000028; +u32 var80070954 = 0x0000003a; +u32 var80070958 = 0x000000e6; +u32 var8007095c = 0x000000f5; +u32 var80070960 = 0x00000014; +u32 var80070964 = 0x0000002b; +u32 var80070968 = 0x00000040; +u32 var8007096c = 0x000000d2; +u32 var80070970 = 0x000000e1; +u32 var80070974 = 0x00000014; +u32 var80070978 = 0x0000002e; +u32 var8007097c = 0x00000046; +u32 var80070980 = 0x000000be; +u32 var80070984 = 0x000000cd; +u32 var80070988 = 0x00000014; +u32 var8007098c = 0x00000031; +u32 var80070990 = 0x0000004c; +u32 var80070994 = 0x000000aa; +u32 var80070998 = 0x000000b9; +u32 var8007099c = 0x00000014; +u32 var800709a0 = 0x00000034; +u32 var800709a4 = 0x00000052; +u32 var800709a8 = 0x00000096; +u32 var800709ac = 0x000000a5; +u32 var800709b0 = 0x00000014; +u32 var800709b4 = 0x00000037; +u32 var800709b8 = 0x00000058; +u32 var800709bc = 0x00000082; +u32 var800709c0 = 0x00000091; +u32 var800709c4 = 0x00000000; +u32 var800709c8 = 0x00000000; +u32 var800709cc = 0x00000000; +u32 var800709d0 = 0x00000000; +u32 var800709d4 = 0x00000000; +u32 var800709d8 = 0x00000000; +u32 var800709dc = 0x00000000; +u32 var800709e0 = 0x00000000; +u32 var800709e4 = 0x3f800000; +u32 var800709e8 = 0x00000000; +u32 var800709ec = 0x3f800000; +u32 var800709f0 = 0x00000000; +u32 var800709f4 = 0x02810000; +u32 var800709f8 = 0x00000000; +u32 var800709fc = 0x00000000; +u32 var80070a00 = 0x00000000; +u32 var80070a04 = 0x00000000; +u32 var80070a08 = 0x00000000; +u32 var80070a0c = 0x00000000; +u32 var80070a10 = 0x00000000; +u32 var80070a14 = 0x00000000; +u32 var80070a18 = 0x00000000; +u32 var80070a1c = 0x00000000; +u32 var80070a20 = 0x00000000; +u32 var80070a24 = 0x3eb2b17a; +u32 var80070a28 = 0xbfc907a9; +u32 var80070a2c = 0x3fc907a9; +u32 var80070a30 = 0xbfc907a9; +u32 var80070a34 = 0x00000000; +u32 var80070a38 = 0x00000000; +u32 var80070a3c = 0x02850000; +u32 var80070a40 = 0x00000000; +u32 var80070a44 = 0x00000000; +u32 var80070a48 = 0x00000000; +u32 var80070a4c = 0x00000000; +u32 var80070a50 = 0x00000000; +u32 var80070a54 = 0x00000000; +u32 var80070a58 = 0x00000000; +u32 var80070a5c = 0x00000000; +u32 var80070a60 = 0x00000000; +u32 var80070a64 = 0x00000000; +u32 var80070a68 = 0x00000000; +u32 var80070a6c = 0x3eb2b17a; +u32 var80070a70 = 0xbfc907a9; +u32 var80070a74 = 0x3fc907a9; +u32 var80070a78 = 0xbfc907a9; +u32 var80070a7c = 0x00000000; +u32 var80070a80 = 0x00000000; +u32 var80070a84 = 0x02820000; +u32 var80070a88 = 0x00000000; +u32 var80070a8c = 0x00000000; +u32 var80070a90 = 0x00000000; +u32 var80070a94 = 0x00000000; +u32 var80070a98 = 0x00000000; +u32 var80070a9c = 0x00000000; +u32 var80070aa0 = 0x00000000; +u32 var80070aa4 = 0x00000000; +u32 var80070aa8 = 0x00000000; +u32 var80070aac = 0x00000000; +u32 var80070ab0 = 0x00000000; +u32 var80070ab4 = 0x3eb2b17a; +u32 var80070ab8 = 0xbfc907a9; +u32 var80070abc = 0x3fc907a9; +u32 var80070ac0 = 0xbfc907a9; +u32 var80070ac4 = 0x3fcccccd; +u32 var80070ac8 = 0x3fcccccd; +u32 var80070acc = 0x02860000; +u32 var80070ad0 = 0x00000000; +u32 var80070ad4 = 0x00000000; +u32 var80070ad8 = 0x00000000; +u32 var80070adc = 0x00000000; +u32 var80070ae0 = 0x00000000; +u32 var80070ae4 = 0x00000000; +u32 var80070ae8 = 0x00000000; +u32 var80070aec = 0x00000000; +u32 var80070af0 = 0x00000000; +u32 var80070af4 = 0x00000000; +u32 var80070af8 = 0x00000000; +u32 var80070afc = 0x3e32b17a; +u32 var80070b00 = 0xbfc907a9; +u32 var80070b04 = 0x3fc907a9; +u32 var80070b08 = 0xbfc907a9; +u32 var80070b0c = 0x3fcccccd; +u32 var80070b10 = 0x3fcccccd; +u32 var80070b14 = 0x02830000; +u32 var80070b18 = 0x00000000; +u32 var80070b1c = 0x00000000; +u32 var80070b20 = 0x00000000; +u32 var80070b24 = 0x00000000; +u32 var80070b28 = 0x00000000; +u32 var80070b2c = 0x00000000; +u32 var80070b30 = 0x00000000; +u32 var80070b34 = 0x00000000; +u32 var80070b38 = 0x00000000; +u32 var80070b3c = 0x00000000; +u32 var80070b40 = 0x00000000; +u32 var80070b44 = 0x3eb2b17a; +u32 var80070b48 = 0xbfc907a9; +u32 var80070b4c = 0x3fc907a9; +u32 var80070b50 = 0xbfc907a9; +u32 var80070b54 = 0x00000000; +u32 var80070b58 = 0x00000000; +u32 var80070b5c = 0x02870000; +u32 var80070b60 = 0x00000000; +u32 var80070b64 = 0x00000000; +u32 var80070b68 = 0x00000000; +u32 var80070b6c = 0x00000000; +u32 var80070b70 = 0x00000000; +u32 var80070b74 = 0x00000000; +u32 var80070b78 = 0x00000000; +u32 var80070b7c = 0x00000000; +u32 var80070b80 = 0x00000000; +u32 var80070b84 = 0x00000000; +u32 var80070b88 = 0x00000000; +u32 var80070b8c = 0x3e32b17a; +u32 var80070b90 = 0xbfc907a9; +u32 var80070b94 = 0x3fc907a9; +u32 var80070b98 = 0xbfc907a9; +u32 var80070b9c = 0x00000000; +u32 var80070ba0 = 0x00000000; +u32 var80070ba4 = (u32) &var80065be0; +u32 var80070ba8 = 0x00000000; +u32 var80070bac = 0x3dcccccd; +u32 var80070bb0 = 0x429e0000; +u32 var80070bb4 = 0x42ae0000; +u32 var80070bb8 = 0x3f86051b; +u32 var80070bbc = (u32) &var80067aa0; +u32 var80070bc0 = 0x00000000; +u32 var80070bc4 = 0x3f000000; +u32 var80070bc8 = 0xbf800000; +u32 var80070bcc = 0xbf800000; +u32 var80070bd0 = 0x3f86051b; +u32 var80070bd4 = (u32) &var80067ae8; +u32 var80070bd8 = 0x00000000; +u32 var80070bdc = 0x3f000000; +u32 var80070be0 = 0xbf800000; +u32 var80070be4 = 0xbf800000; +u32 var80070be8 = 0x3f86051b; +u32 var80070bec = (u32) &var800709f4; +u32 var80070bf0 = 0x00000000; +u32 var80070bf4 = 0x3a83126f; +u32 var80070bf8 = 0x00000000; +u32 var80070bfc = 0x3dcccccd; +u32 var80070c00 = 0x3f86051b; +u32 var80070c04 = (u32) &var800709f4; +u32 var80070c08 = 0x00000000; +u32 var80070c0c = 0x3f00c49c; +u32 var80070c10 = 0xbf800000; +u32 var80070c14 = 0xbf800000; +u32 var80070c18 = 0x3f86051b; +u32 var80070c1c = (u32) &var80070a3c; +u32 var80070c20 = 0x00000000; +u32 var80070c24 = 0x3a83126f; +u32 var80070c28 = 0x00000000; +u32 var80070c2c = 0x3dcccccd; +u32 var80070c30 = 0x3f06051b; +u32 var80070c34 = (u32) &var80070a3c; +u32 var80070c38 = 0x00000000; +u32 var80070c3c = 0x3ee66666; +u32 var80070c40 = 0xbf800000; +u32 var80070c44 = 0xbf800000; +u32 var80070c48 = 0x3f06051b; +u32 var80070c4c = (u32) &var800656c0; +u32 var80070c50 = 0x00000000; +u32 var80070c54 = 0x3d4ccccd; +u32 var80070c58 = 0x420c0000; +u32 var80070c5c = 0x42200000; +u32 var80070c60 = 0x3f86051b; +u32 var80070c64 = (u32) &var80067a10; +u32 var80070c68 = 0x00000000; +u32 var80070c6c = 0x3f000000; +u32 var80070c70 = 0xbf800000; +u32 var80070c74 = 0xbf800000; +u32 var80070c78 = 0x3f86051b; +u32 var80070c7c = (u32) &var80067a58; +u32 var80070c80 = 0x00000000; +u32 var80070c84 = 0x3f000000; +u32 var80070c88 = 0xbf800000; +u32 var80070c8c = 0xbf800000; +u32 var80070c90 = 0x3f86051b; +u32 var80070c94 = (u32) &var80070a84; +u32 var80070c98 = 0x00000000; +u32 var80070c9c = 0x3a83126f; +u32 var80070ca0 = 0x00000000; +u32 var80070ca4 = 0x3dcccccd; +u32 var80070ca8 = 0x3f86051b; +u32 var80070cac = (u32) &var80070a84; +u32 var80070cb0 = 0x00000000; +u32 var80070cb4 = 0x3f00c49c; +u32 var80070cb8 = 0xbf800000; +u32 var80070cbc = 0xbf800000; +u32 var80070cc0 = 0x3f86051b; +u32 var80070cc4 = (u32) &var80070acc; +u32 var80070cc8 = 0x00000000; +u32 var80070ccc = 0x3a83126f; +u32 var80070cd0 = 0x00000000; +u32 var80070cd4 = 0x3dcccccd; +u32 var80070cd8 = 0x3f06051b; +u32 var80070cdc = (u32) &var80070acc; +u32 var80070ce0 = 0x00000000; +u32 var80070ce4 = 0x3ee66666; +u32 var80070ce8 = 0xbf800000; +u32 var80070cec = 0xbf800000; +u32 var80070cf0 = 0x3f06051b; +u32 var80070cf4 = 0x00000000; +u32 var80070cf8 = 0x006a0000; +u32 var80070cfc = 0x3e800000; +u32 var80070d00 = 0x00000000; +u32 var80070d04 = 0xbf800000; +u32 var80070d08 = 0x3f86051b; +u32 var80070d0c = 0x00000000; +u32 var80070d10 = 0x006b0000; +u32 var80070d14 = 0x3f000000; +u32 var80070d18 = 0xbf800000; +u32 var80070d1c = 0xbf800000; +u32 var80070d20 = 0x3f86051b; +u32 var80070d24 = 0x00000000; +u32 var80070d28 = 0x00590000; +u32 var80070d2c = 0x3f000000; +u32 var80070d30 = 0xbf800000; +u32 var80070d34 = 0xbf800000; +u32 var80070d38 = 0x3f86051b; +u32 var80070d3c = 0x00000000; +u32 var80070d40 = 0x02800000; +u32 var80070d44 = 0x3a83126f; +u32 var80070d48 = 0x00000000; +u32 var80070d4c = 0x3dcccccd; +u32 var80070d50 = 0x3f86051b; +u32 var80070d54 = 0x00000000; +u32 var80070d58 = 0x02800000; +u32 var80070d5c = 0x3f00c49c; +u32 var80070d60 = 0xbf800000; +u32 var80070d64 = 0xbf800000; +u32 var80070d68 = 0x3f86051b; +u32 var80070d6c = 0x00000000; +u32 var80070d70 = 0x02840000; +u32 var80070d74 = 0x3a83126f; +u32 var80070d78 = 0x00000000; +u32 var80070d7c = 0x3dcccccd; +u32 var80070d80 = 0x3f06051b; +u32 var80070d84 = 0x00000000; +u32 var80070d88 = 0x02840000; +u32 var80070d8c = 0x3ee66666; +u32 var80070d90 = 0xbf800000; +u32 var80070d94 = 0xbf800000; +u32 var80070d98 = 0x3f06051b; +u32 var80070d9c = (u32) &var800663d8; +u32 var80070da0 = 0x00000000; +u32 var80070da4 = 0x3dcccccd; +u32 var80070da8 = 0x42000000; +u32 var80070dac = 0x42280000; +u32 var80070db0 = 0x3f86051b; +u32 var80070db4 = (u32) &var80067b30; +u32 var80070db8 = 0x00000000; +u32 var80070dbc = 0x3f000000; +u32 var80070dc0 = 0xbf800000; +u32 var80070dc4 = 0xbf800000; +u32 var80070dc8 = 0x3f86051b; +u32 var80070dcc = (u32) &var80067b78; +u32 var80070dd0 = 0x00000000; +u32 var80070dd4 = 0x3f000000; +u32 var80070dd8 = 0xbf800000; +u32 var80070ddc = 0xbf800000; +u32 var80070de0 = 0x3f86051b; +u32 var80070de4 = (u32) &var80070b14; +u32 var80070de8 = 0x00000000; +u32 var80070dec = 0x3a83126f; +u32 var80070df0 = 0x00000000; +u32 var80070df4 = 0x3dcccccd; +u32 var80070df8 = 0x3f86051b; +u32 var80070dfc = (u32) &var80070b14; +u32 var80070e00 = 0x00000000; +u32 var80070e04 = 0x3f00c49c; +u32 var80070e08 = 0xbf800000; +u32 var80070e0c = 0xbf800000; +u32 var80070e10 = 0x3f86051b; +u32 var80070e14 = (u32) &var80070b5c; +u32 var80070e18 = 0x00000000; +u32 var80070e1c = 0x3a83126f; +u32 var80070e20 = 0x00000000; +u32 var80070e24 = 0x3dcccccd; +u32 var80070e28 = 0x3f06051b; +u32 var80070e2c = (u32) &var80070b5c; +u32 var80070e30 = 0x00000000; +u32 var80070e34 = 0x3ee66666; +u32 var80070e38 = 0xbf800000; +u32 var80070e3c = 0xbf800000; +u32 var80070e40 = 0x3f06051b; +u32 var80070e44 = 0x00000000; +u32 var80070e48 = 0x00000000; +u32 var80070e4c = 0x00000000; + GLOBAL_ASM( glabel func0f0b63b0 /* f0b63b0: 44856000 */ mtc1 $a1,$f12 diff --git a/src/game/game_0d4690.c b/src/game/game_0d4690.c index af4c4c8b7..f74b591a9 100644 --- a/src/game/game_0d4690.c +++ b/src/game/game_0d4690.c @@ -39,6 +39,11 @@ const u32 var7f1adbe4[] = {0x00000000}; const u32 var7f1adbe8[] = {0x00000000}; const u32 var7f1adbec[] = {0x00000000}; +u32 var80070f10 = 0x00000000; +u32 var80070f14 = 0x000003e8; +u32 var80070f18 = 0x00000014; +u32 var80070f1c = 0x00000005; + GLOBAL_ASM( glabel func0f0d4690 /* f0d4690: 27bdffd8 */ addiu $sp,$sp,-40 diff --git a/src/game/game_0d5a90.c b/src/game/game_0d5a90.c index 7c81e447b..a8584416b 100644 --- a/src/game/game_0d5a90.c +++ b/src/game/game_0d5a90.c @@ -92,6 +92,31 @@ const u32 var7f1add94[] = {0x3a83126f}; const u32 var7f1add98[] = {0x3a83126f}; const u32 var7f1add9c[] = {0x00000000}; +u32 var80070f20 = 0x0000001e; +u32 var80070f24 = 0x00000012; +u32 var80070f28 = 0x0000000c; +u32 var80070f2c = 0x000000aa; +u32 var80070f30 = 0x0000002f; +u32 var80070f34 = 0x00000028; +u32 var80070f38 = 0x10500090; +u32 var80070f3c = 0x00c00060; +u32 var80070f40 = 0xff000060; +u32 var80070f44 = 0x00000080; +u32 var80070f48 = 0xffffffab; +u32 var80070f4c = 0xffffff47; +u32 var80070f50 = 0x00000064; +u32 var80070f54 = 0x00000064; +u32 var80070f58 = 0x000000c8; +u32 var80070f5c = 0x00000001; +u32 var80070f60 = 0x0000005f; +u32 var80070f64 = 0x00000012; +u32 var80070f68 = 0x000000e1; +u32 var80070f6c = 0x0000002e; +u32 var80070f70 = 0x00000000; +u32 var80070f74 = 0x00000000; +u32 var80070f78 = 0x00000000; +u32 var80070f7c = 0x00000000; + GLOBAL_ASM( glabel func0f0d5a90 /* f0d5a90: 44876000 */ mtc1 $a3,$f12 diff --git a/src/game/game_0d7070.c b/src/game/game_0d7070.c index 146eb1315..968234352 100644 --- a/src/game/game_0d7070.c +++ b/src/game/game_0d7070.c @@ -28,6 +28,16 @@ const char var7f1adda0[] = "sight"; const char var7f1adda8[] = "sout"; const char var7f1addb0[] = "sin"; +u32 var80070f80 = 0x310a0000; +u32 var80070f84 = 0x43200000; +u32 var80070f88 = 0x42f00000; +u32 var80070f8c = 0x00000000; +u32 var80070f90 = 0x00000000; +u32 var80070f94 = 0x00000000; +u32 var80070f98 = 0x00000000; +u32 var80070f9c = 0x00ff00ff; +u32 var80070fa0 = 0x00ff0011; + GLOBAL_ASM( glabel func0f0d7070 /* f0d7070: 27bdffe8 */ addiu $sp,$sp,-24 diff --git a/src/game/game_0dcdb0.c b/src/game/game_0dcdb0.c index 547eae486..4ebcd4569 100644 --- a/src/game/game_0dcdb0.c +++ b/src/game/game_0dcdb0.c @@ -36,6 +36,51 @@ const char var7f1ade98[] = "%s%s%4.2fX"; const char var7f1adea4[] = ""; const char var7f1adea8[] = ""; +u32 var80070fb0 = 0x00000000; + +u32 g_Colours[] = { + /* 0*/ 0x00ff0000, // green + /* 1*/ 0x9999ff00, // pastel blue + /* 2*/ 0xffffff00, // white + /* 3*/ 0xff777700, // pastel red + /* 4*/ 0xffff5500, // yellow + /* 5*/ 0x00ff0000, // green + /* 6*/ 0xcccccc00, // gray + /* 7*/ 0xff888800, // pastel red + /* 8*/ 0xffaa5500, // orange + /* 9*/ 0x55aaff00, // sky blue + /*10*/ 0xaa55ff00, // purple +}; + +u32 var80070fe0 = 0x0000000a; +u32 var80070fe4 = 0x00000018; +s32 g_NumHudMessages = 0; +struct hudmessage *g_HudMessages = NULL; + +struct hudmessageconfig g_HudMessageConfigs[] = { + /* 0*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 80 }, // bottom left + /* 1*/ { 0, 1, 0, (void*)0x8007fb18, (void*)0x8007fb14, 0x00ff0000, 0x000000a0, 3, 7, 0, 0, 120 }, // middle of screen, larger font, like objectives + /* 2*/ { 0, 0, 1, (void*)0x8007fb18, (void*)0x8007fb14, 0xff000000, 0xffffffa0, 3, 7, 0, 0, 120 }, // middle of screen, larger font, like objectives + /* 3*/ { 0, 1, 0, (void*)0x8007fb18, (void*)0x8007fb14, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 120 }, // bottom left, large font + /* 4*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ffc000, 0x000000a0, 1, 6, 0, 0, 40 }, // bottom left + /* 5*/ { 0, 0, 0, (void*)0x8007fb18, (void*)0x8007fb14, 0x00ff0000, 0x000000a0, 1, 5, 0, 0, 120 }, // top left, large font + /* 6*/ { 1, 0, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 3, 5, 0, 0, 120 }, // top middle + /* 7*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 3, 5, 0, 0, -1 }, // top middle + /* 8*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ffc000, 0x000000a0, 3, 6, 0, 0, 500 }, // bottom middle + /* 9*/ { 1, 1, 0, (void*)0x8007fb08, (void*)0x8007fb04, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 120 }, // bottom left, smaller font + /*10*/ { 1, 1, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 1, 6, 0, 0, 240 }, // bottom left but longer duration + /*11*/ { 0, 0, 0, (void*)0x8007fb10, (void*)0x8007fb0c, 0x00ff0000, 0x000000a0, 3, 8, 0, 0, 120 }, // none +}; + +u32 var80071170 = 0x2e3b213f; +u32 var80071174 = 0x2c000000; +u32 var80071178 = 0x00000000; +u32 var8007117c = 0x00000000; +u32 var80071180 = 0x00000001; +u32 var80071184 = 0x00000000; +u32 var80071188 = 0x00000000; +u32 var8007118c = 0x00000000; + GLOBAL_ASM( glabel func0f0dcdb0 /* f0dcdb0: 3c028007 */ lui $v0,%hi(var80070fb0) diff --git a/src/game/game_0e5ce0.c b/src/game/game_0e5ce0.c index de96ed58a..c4f0d3d64 100644 --- a/src/game/game_0e5ce0.c +++ b/src/game/game_0e5ce0.c @@ -4039,6 +4039,179 @@ const char var7f1b1e4c[] = "%d\n"; const char var7f1b1e50[] = "%d\n"; const char var7f1b1e54[] = "%d\n"; +u32 var80071190 = 0x00000000; +u32 var80071194 = 0x00000000; +u32 var80071198 = 0x00000000; +u32 var8007119c = 0x00000000; +u32 var800711a0 = 0x00000000; +u32 var800711a4 = 0x00000000; +u32 var800711a8 = 0x0000000b; +u32 var800711ac = 0x30313233; +u32 var800711b0 = 0x34353637; +u32 var800711b4 = 0x38394142; +u32 var800711b8 = 0x43444546; +u32 var800711bc = 0x4748494a; +u32 var800711c0 = 0x4b4c4d4e; +u32 var800711c4 = 0x4f505152; +u32 var800711c8 = 0x53545556; +u32 var800711cc = 0x5758595a; +u32 var800711d0 = 0x203f212e; +u32 var800711d4 = 0x31323132; +u32 var800711d8 = 0x31323331; +u32 var800711dc = 0x32330000; +u32 var800711e0 = 0x573a573b; +u32 var800711e4 = 0x573c573d; +u32 var800711e8 = 0x00000000; +u32 var800711ec = 0x20000000; +u32 var800711f0 = 0x00000002; +u32 var800711f4 = 0x0000000c; +u32 var800711f8 = 0x0000000a; +u32 var800711fc = 0xffffffff; +u32 var80071200 = 0x00000003; +u32 var80071204 = 0x00000033; +u32 var80071208 = 0x0000000a; +u32 var8007120c = 0xffffffff; +u32 var80071210 = 0x00000003; +u32 var80071214 = 0x0000000c; +u32 var80071218 = 0x00000003; +u32 var8007121c = 0x0000004b; +u32 var80071220 = 0xffffffff; +u32 var80071224 = 0x00000037; +u32 var80071228 = 0x00000013; +u32 var8007122c = 0x00000040; +u32 var80071230 = 0xffffffff; +u32 var80071234 = 0x0000003f; +u32 var80071238 = 0x00000013; +u32 var8007123c = 0xffffffff; +u32 var80071240 = 0x0000000a; +u32 var80071244 = 0x0000003f; +u32 var80071248 = 0x0000000a; +u32 var8007124c = 0x0000004b; +u32 var80071250 = 0xffffffff; +u32 var80071254 = 0x00000033; +u32 var80071258 = 0x00000017; +u32 var8007125c = 0x00000037; +u32 var80071260 = 0xffffffff; +u32 var80071264 = 0x0000003b; +u32 var80071268 = 0x00000017; +u32 var8007126c = 0x00000044; +u32 var80071270 = 0xffffffff; +u32 var80071274 = 0x00000043; +u32 var80071278 = 0x00000017; +u32 var8007127c = 0xffffffff; +u32 var80071280 = 0x00000011; +u32 var80071284 = 0x00000043; +u32 var80071288 = 0x00000011; +u32 var8007128c = 0x0000004b; +u32 var80071290 = 0xffffffff; +u32 var80071294 = 0x00000037; +u32 var80071298 = 0x0000001b; +u32 var8007129c = 0x00000048; +u32 var800712a0 = 0xffffffff; +u32 var800712a4 = 0x00000047; +u32 var800712a8 = 0x0000001b; +u32 var800712ac = 0xffffffff; +u32 var800712b0 = 0x00000018; +u32 var800712b4 = 0x00000047; +u32 var800712b8 = 0x00000018; +u32 var800712bc = 0x0000004b; +u32 var800712c0 = 0xffffffff; +u32 var800712c4 = 0x00000031; +u32 var800712c8 = 0x0000001f; +u32 var800712cc = 0x0000004b; +u32 var800712d0 = 0xffffffff; +u32 var800712d4 = 0x0000002b; +u32 var800712d8 = 0x0000001c; +u32 var800712dc = 0xffffffff; +u32 var800712e0 = 0x00000026; +u32 var800712e4 = 0x0000002b; +u32 var800712e8 = 0x00000026; +u32 var800712ec = 0x0000004b; +u32 var800712f0 = 0xffffffff; +u32 var800712f4 = 0x0000001e; +u32 var800712f8 = 0x00000023; +u32 var800712fc = 0x00000025; +u32 var80071300 = 0xffffffff; +u32 var80071304 = 0x00000025; +u32 var80071308 = 0x00000023; +u32 var8007130c = 0xffffffff; +u32 var80071310 = 0x0000002d; +u32 var80071314 = 0x00000025; +u32 var80071318 = 0x0000002d; +u32 var8007131c = 0x0000004b; +u32 var80071320 = 0xffffffff; +u32 var80071324 = 0x00000022; +u32 var80071328 = 0x00000034; +u32 var8007132c = 0x0000004b; +u32 var80071330 = 0xffffffff; +u32 var80071334 = 0x0000000c; +u32 var80071338 = 0x0000001e; +u32 var8007133c = 0xffffffff; +u32 var80071340 = 0x0000003b; +u32 var80071344 = 0x0000000c; +u32 var80071348 = 0x0000003b; +u32 var8007134c = 0x0000004b; +u32 var80071350 = 0xffffffff; +u32 var80071354 = 0x54c254c4; +u32 var80071358 = 0x54ca54c5; +u32 var8007135c = 0x54cb54cc; +u32 var80071360 = 0x54ce54cd; +u32 var80071364 = 0x54d254c2; +u32 var80071368 = 0x54c854ca; +u32 var8007136c = 0x54c954cb; +u32 var80071370 = 0x54cc54cf; +u32 var80071374 = 0x54cd54d2; +u32 var80071378 = 0x54cb54c4; +u32 var8007137c = 0x54ca54c5; +u32 var80071380 = 0x54cd54cc; +u32 var80071384 = 0x54ce54c2; +u32 var80071388 = 0x54d254cb; +u32 var8007138c = 0x54c854ca; +u32 var80071390 = 0x54c954cd; +u32 var80071394 = 0x54cc54cf; +u32 var80071398 = 0x54c254d2; +u32 var8007139c = 0x56035603; +u32 var800713a0 = 0x54d35603; +u32 var800713a4 = 0x54cb54cc; +u32 var800713a8 = 0x54ce54cd; +u32 var800713ac = 0x56035603; +u32 var800713b0 = 0x560354d3; +u32 var800713b4 = 0x560354cb; +u32 var800713b8 = 0x54cc54cf; +u32 var800713bc = 0x54cd5603; +u32 var800713c0 = 0x56035603; +u32 var800713c4 = 0x54d35603; +u32 var800713c8 = 0x54cb54cc; +u32 var800713cc = 0x54ce54c2; +u32 var800713d0 = 0x56035603; +u32 var800713d4 = 0x560354d3; +u32 var800713d8 = 0x560354cb; +u32 var800713dc = 0x54cc54cf; +u32 var800713e0 = 0x54c25603; +u32 var800713e4 = 0x56035603; +u32 var800713e8 = 0x54d45603; +u32 var800713ec = 0x54cb54cc; +u32 var800713f0 = 0x54d154c2; +u32 var800713f4 = 0x56035603; +u32 var800713f8 = 0x560354d4; +u32 var800713fc = 0x560354cb; +u32 var80071400 = 0x54cc54d0; +u32 var80071404 = 0x54c25603; +u32 var80071408 = 0x56035603; +u32 var8007140c = 0x54d45603; +u32 var80071410 = 0x54cb54cc; +u32 var80071414 = 0x54d154cd; +u32 var80071418 = 0x56035603; +u32 var8007141c = 0x560354d4; +u32 var80071420 = 0x560354cb; +u32 var80071424 = 0x54cc54d0; +u32 var80071428 = 0x54cd5603; +u32 var8007142c = 0x54b954ba; +u32 var80071430 = 0x54bb54bc; +u32 var80071434 = 0x54bd54be; +u32 var80071438 = 0x54bf54c0; +u32 var8007143c = 0x54c10000; + GLOBAL_ASM( glabel func0f0e5ce0 /* f0e5ce0: 3c038007 */ lui $v1,%hi(var800711a4) diff --git a/src/game/game_107fb0.c b/src/game/game_107fb0.c index 81b308629..bf161b594 100644 --- a/src/game/game_107fb0.c +++ b/src/game/game_107fb0.c @@ -5258,3 +5258,428 @@ glabel func0f10c970 /* f10c9b8: 00000000 */ sll $zero,$zero,0x0 /* f10c9bc: 00000000 */ sll $zero,$zero,0x0 ); + +// 1a3c0 +struct menu_item menuitems_1a3c0[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f108550, 0x00000000, menuhandler001084b8 }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&pakMenuTextFailReason, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(321), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a410 +struct menu_dialog menudialog_1a410 = { + MENUDIALOGTYPE_DANGER, + L_OPTIONS(320), // "Error" + menuitems_1a3c0, + NULL, + 0x00000080, + NULL, +}; + +// 1a428 +u16 savelocations2[] = { + L_OPTIONS(111), // "Game Pak" + L_OPTIONS(112), // "Controller Pak 1" + L_OPTIONS(113), // "Controller Pak 2" + L_OPTIONS(114), // "Controller Pak 3" + L_OPTIONS(115), // "Controller Pak 4" + 0x0000, +}; + +// 1a434 +u16 iomessages2[] = { + L_OPTIONS(331), // "Error Loading Game" + L_OPTIONS(332), // "Error Saving Game" + L_OPTIONS(333), // "Error Loading Player" + L_OPTIONS(334), // "Error Saving Player" + L_OPTIONS(335), // "Error Loading PerfectHead" + L_OPTIONS(336), // "Error Saving PerfectHead" + L_OPTIONS(337), // "Error Reading File" + L_OPTIONS(338), // "Error Writing File" + L_OPTIONS(339), // "Error" + 0x0000, +}; + +// 1a448 +u16 filetypenames[] = { + L_OPTIONS(103), // "Single Player Agent File" + L_OPTIONS(104), // "Combat Simulator Settings File" + L_OPTIONS(105), // "Combat Simulator Player File" + L_OPTIONS(106), // "PerfectHead Files" +}; + +// 1a450 +struct menu_item menuitems_filesaved[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(346), 0x00000000, NULL }, // "File Saved." + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(347), 0x00000000, NULL }, // "OK" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a48c +struct menu_dialog menudialog_filesaved = { + MENUDIALOGTYPE_SUCCESS, + L_OPTIONS(345), // "Cool!" + menuitems_filesaved, + NULL, + 0x00000080, + NULL, +}; + +// 1a4a4 +struct menu_item menuitems_saveerror[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(348), 0x00000000, NULL }, // "An error occurred while trying to save" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(349), 0x00000000, menuhandlerPakErrorTryAgain }, // "Try Again" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(350), 0x00000000, menuhandlerSaveElsewhere }, // "Save Elsewhere" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(351), 0x00000000, menuhandlerPakCancelSave2 }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a51c +struct menu_dialog menudialog_saveerror = { + MENUDIALOGTYPE_DANGER, + (u32)&func0f10876c, + menuitems_saveerror, + NULL, + 0x000000a0, + NULL, +}; + +// 1a534 +struct menu_item menuitems_savelost[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS(251), 0x00000000, NULL }, // "The saved file has been erased due to corruption or damage." + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(354), 0x00000000, menuhandlerAcknowledgePakFileLost }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a584 +struct menu_dialog menudialog_savelost = { + MENUDIALOGTYPE_DANGER, + (u32)&func0f10876c, + menuitems_savelost, + NULL, + 0x000000a0, + NULL, +}; + +// 1a59c +struct menu_item menuitems_saveelsewhere[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(360), 0x00000000, NULL }, // "Would you like to save your file elsewhere?" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(361), 0x00000000, menuhandlerSaveElsewhere }, // "Yes" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(362), 0x00000000, menuhandlerPakCancelSave2 }, // "No" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a5ec +struct menu_dialog g_SaveElsewhereMenuDialog = { + MENUDIALOGTYPE_DANGER, + L_OPTIONS(359), // "Save" + menuitems_saveelsewhere, + NULL, + 0x000000a0, + NULL, +}; + +// 1a604 +struct menu_item menuitems_1a604[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f108f90, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(365), 0x00000000, menuhandler00108ecc }, // "OK" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(366), 0x00000000, menuhandler00108f08 }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a654 +struct menu_dialog menudialog_1a654 = { + MENUDIALOGTYPE_DANGER, + (u32)&func0f10876c, + menuitems_1a604, + menudialog00108e58, + 0x000000a0, + NULL, +}; + +u32 var8007464c = (u32)&var7f1b3214; +u32 var80074650 = (u32)&var7f1b3218; +u32 var80074654 = (u32)&var7f1b321c; +u32 var80074658 = (u32)&var7f1b3220; +u32 var8007465c = 0x01020304; +u32 var80074660 = 0x00000000; + +// 1a684 +struct menu_item menuitems_changefilename[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS(239), 0x00000000, NULL }, // "Enter new file name:" + { MENUITEMTYPE_KEYBOARD, 0, 0x00000000, 0x00000000, 0x00000000, menuhandlerRenameFile }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a6c0 +struct menu_dialog menudialog_changefilename = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(238), // "Change File Name" + menuitems_changefilename, + NULL, + 0x00000080, + NULL, +}; + +// 1a6d8 +struct menu_item menuitems_duplicatefilename[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&func0f10a19c, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS(233), 0x00000000, NULL }, // "already contains" + { MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS(234), 0x00000000, NULL }, // "a file named" + { MENUITEMTYPE_LABEL, 0, 0x02000030, (u32)&func0f10a1ec, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(235), 0x00000000, menuhandlerPakRenameDuplicateSave }, // "Rename File" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPWEAPONS(236), 0x00000000, NULL }, // "Change Location" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(237), 0x00000000, menuhandlerPakCancelDuplicateSave }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a778 +struct menu_dialog menudialog_duplicatefilename = { + MENUDIALOGTYPE_DEFAULT, + L_MPWEAPONS(232), // "Duplicate File Name" + menuitems_duplicatefilename, + NULL, + 0x00000080, + NULL, +}; + +// 1a790 +u16 savelocations3[] = { + L_OPTIONS(112), // "Controller Pak 1" + L_OPTIONS(113), // "Controller Pak 2" + L_OPTIONS(114), // "Controller Pak 3" + L_OPTIONS(115), // "Controller Pak 4" + L_OPTIONS(111), // "Game Pak" + L_OPTIONS(4), // "" +}; + +// 1a79c +struct menu_item menuitems_selectlocation[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(368), L_OPTIONS(369), NULL }, // "Where", "Spaces" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 4, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, + { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, + { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, + { MENUITEMTYPE_SELECTABLE, 3, 0x00000000, (u32)&func0f10a22c, (u32)&func0f10a2ec, menuhandlerSaveLocation }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(370), 0x00000000, menuhandlerDeleteFiles }, // "Delete Files..." + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(371), 0x00000000, menuhandlerPakCancelSave }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a878 +struct menu_dialog menudialog_selectlocation = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(367), // "Select Location" + menuitems_selectlocation, + NULL, + 0x00000080, + NULL, +}; + +// 1a890 +struct menu_item menuitems_confirmdelete[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&func0f1082b0, 0x00000000, menuhandler00108254 }, + { MENUITEMTYPE_LABEL, 0, 0x00000230, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(380), 0x00000000, NULL }, // "Are you sure you want to delete this file?" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(381), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(382), 0x00000000, menuhandlerPakConfirmDelete }, // "OK" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a908 +struct menu_dialog menudialog_confirmdelete = { + MENUDIALOGTYPE_DANGER, + L_OPTIONS(379), // "Warning" + menuitems_confirmdelete, + NULL, + 0x00000080, + NULL, +}; + +// 1a920 +struct menu_item menuitems_1a920[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&func0f1082b0, 0x00000000, menuhandler00108254 }, + { MENUITEMTYPE_LABEL, 0, 0x00000230, (u32)&pakMenuTextLocationName, 0x00000000, menuhandler00108014 }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f10a5e8, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS(161), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a984 +struct menu_dialog menudialog_1a984 = { + MENUDIALOGTYPE_DANGER, + L_MPWEAPONS(159), // "Error" + menuitems_1a920, + NULL, + 0x00000080, + NULL, +}; + +// 1a99c +struct menu_item menuitems_deletefile[] = { + { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(377), 0x00000000, NULL }, // "Select a file to delete:" + { MENUITEMTYPE_CUSTOM, 1, 0x00200000, 0x00000000, 0x00000000, menucustomFileToDelete }, + { MENUITEMTYPE_LABEL, 0, L_SEVXB(48), L_OPTIONS(378), 0x00000000, NULL }, // "Press B Button to exit." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1a9ec +struct menu_dialog menudialog_deletefile = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(376), // "Delete File" + menuitems_deletefile, + menudialog0010b014, + 0x00000000, + NULL, +}; + +// 1aa04 +struct menu_item menuitems_copyfile[] = { + { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(374), 0x00000000, NULL }, // "Select a file to copy:" + { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x00000000, 0x00000000, menucustomFileToCopy }, + { MENUITEMTYPE_LABEL, 0, L_SEVXB(48), L_OPTIONS(375), 0x00000000, NULL }, // "Press B Button to exit." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1aa54 +struct menu_dialog menudialog_copyfile = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(373), // "Copy File" + menuitems_copyfile, + menudialog0010b014, + 0x00000000, + NULL, +}; + +u32 var80074a4c = 0x00000000; + +// 1aa70 +struct menu_item menuitems_deletegamenote[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(384), 0x00000000, NULL }, // "Are you sure you want to delete this game note?" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(385), 0x00000000, NULL }, // "No" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS(386), 0x00000000, menuhandler0010b14c }, // "Yes" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1aac0 +struct menu_dialog menudialog_deletegamenote = { + MENUDIALOGTYPE_DANGER, + 0x577f, + menuitems_deletegamenote, + NULL, + 0x00000000, + NULL, +}; + +// 1aad8 +struct menu_item menuitems_gamenotes[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(388), (u32)&func0f10b924, NULL }, // "Delete Game Notes:" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x0000010e, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(389), L_OPTIONS(390), NULL }, // "Note", "Pages" + { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x000000c8, 0x0000006e, menucustomDeleteGameNote }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f10b75c, (u32)&func0f10b7cc, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, (u32)&func0f10b83c, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000030, L_OPTIONS(391), 0x00000000, NULL }, // "Press the B Button to exit." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1ab78 +struct menu_dialog menudialog_gamenotes = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(387), // "Game Notes" + menuitems_gamenotes, + menudialog0010b674, + 0x00000000, + NULL, +}; + +// 1ab90 +struct menu_item menuitems_controllerpakmenu[] = { + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(108), 0x00000000, NULL }, // "Use this menu to delete game notes from your Controller Pak" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000010, L_OPTIONS(109), 0x00000000, NULL }, // "Choose Controller Pak to Edit:" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(112), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 1" + { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS(113), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 2" + { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS(114), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 3" + { MENUITEMTYPE_SELECTABLE, 3, 0x00000000, L_OPTIONS(115), 0x00000000, menuhandlerPakSelection }, // "Controller Pak 4" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(110), 0x00000000, NULL }, // "Exit" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1ac58 +struct menu_dialog menudialog_controllerpakmenu = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(107), // "Controller Pak Menu" + menuitems_controllerpakmenu, + menudialog0010ba10, + 0x00000000, + NULL, +}; + +// 1ac70 +struct menu_item menuitems_gamefiles[] = { + { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(100), 0x00000000, NULL }, // "Copy:" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(103), 0x00000000, menuhandlerOpenCopyFile }, // "Single Player Agent File" + { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS(104), 0x00000000, menuhandlerOpenCopyFile }, // "Combat Simulator Settings File" + { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS(105), 0x00000000, menuhandlerOpenCopyFile }, // "Combat Simulator Player File" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(101), 0x00000000, NULL }, // "Delete:" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS(103), 0x00000000, menuhandlerOpenDeleteFile }, // "Single Player Agent File" + { MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS(104), 0x00000000, menuhandlerOpenDeleteFile }, // "Combat Simulator Settings File" + { MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS(105), 0x00000000, menuhandlerOpenDeleteFile }, // "Combat Simulator Player File" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_OPTIONS(102), 0x00000000, &menudialog_controllerpakmenu }, // "Delete Game Notes..." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1ad60 +struct menu_dialog menudialog_gamefiles = { + MENUDIALOGTYPE_DEFAULT, + 0x5663, + menuitems_gamefiles, + NULL, + 0x00000020, + NULL, +}; + +// 1ad78 +struct menu_item menuitems_enteragentname[] = { + { MENUITEMTYPE_KEYBOARD, 0, 0x00000000, 0x00000000, 0x00000001, menuhandlerAgentName }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1ada0 +struct menu_dialog menudialog_enteragentname = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(401), // "Enter Agent Name" + menuitems_enteragentname, + NULL, + 0x00000000, + NULL, +}; + +// 1adb8 +struct menu_item menuitems_fileselect[] = { + { MENUITEMTYPE_LABEL, 0, L_SEVXB(16), L_OPTIONS(96), 0x00000000, NULL }, // "Choose Your Reality" + { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x000000f5, 0x00000000, menucustomChooseAgent }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, +}; + +// 1adf4 +struct menu_dialog menudialog_fileselect = { + MENUDIALOGTYPE_DEFAULT, + L_OPTIONS(95), // "Perfect Dark" + menuitems_fileselect, + menudialog0010c804, + 0x00000020, + &menudialog_gamefiles, +}; + +u32 var80074dec = 0x00000000; + diff --git a/src/game/game_113220.c b/src/game/game_113220.c index 30a86baea..eefbf5fb4 100644 --- a/src/game/game_113220.c +++ b/src/game/game_113220.c @@ -16,6 +16,40 @@ #include "lib/lib_233c0.h" #include "types.h" +struct var80075c00 var80075c00[] = { + { 43, 9.5, 27, 0, 0, 1.5 }, + { 41, 7.5, 17, 0, 1.5, 100 }, +}; + +u32 var80075c30 = 0x00000000; +u32 var80075c34 = 0x00000000; +u32 var80075c38 = 0x00000000; +u32 var80075c3c = 0x00000000; +u32 var80075c40 = 0x00000000; +u32 var80075c44 = 0x3f800000; +u32 var80075c48 = 0x00000000; +u32 var80075c4c = 0x3f800000; +u32 var80075c50 = 0x00000000; +u32 var80075c54 = 0x00000000; +u32 var80075c58 = 0x00000001; +u32 var80075c5c = 0x00000003; +u32 var80075c60 = 0x00000000; +u32 var80075c64 = 0x00000000; +u32 var80075c68 = 0x00000000; +u32 var80075c6c = 0x00000000; +u32 var80075c70 = 0x00000000; +u32 var80075c74 = 0x00000000; +u32 var80075c78 = 0x00000000; +u32 var80075c7c = 0x00000000; +u32 var80075c80 = 0x00000000; +u32 var80075c84 = 0x00000000; +u32 var80075c88 = 0x00000000; +u32 var80075c8c = 0x00000000; +u32 var80075c90 = 0x00000000; +u32 var80075c94 = 0x00000000; +u32 var80075c98 = 0x00000000; +u32 var80075c9c = 0x00000000; + GLOBAL_ASM( glabel func0f113220 /* f113220: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) diff --git a/src/game/game_11ecf0.c b/src/game/game_11ecf0.c index 387b96ae8..d1c91be1c 100644 --- a/src/game/game_11ecf0.c +++ b/src/game/game_11ecf0.c @@ -10,6 +10,39 @@ #include "gvars/gvars.h" #include "types.h" +u32 var80075d60 = 0x00000002; +u32 var80075d64 = 0x00000002; +u32 var80075d68 = 0x00000002; +u32 var80075d6c = 0x00000002; +u32 var80075d70 = 0x00000000; +u32 var80075d74 = 0x00000000; +u32 var80075d78 = 0x00000000; +u32 var80075d7c = 0x00000000; +u32 var80075d80 = 0x00000000; +u32 var80075d84 = 0x00000000; +u32 var80075d88 = 0x00000000; +u32 var80075d8c = 0x00000000; +u32 var80075d90 = 0x00000000; +u32 var80075d94 = 0xbf800000; +u32 var80075d98 = 0x00000000; +u32 var80075d9c = 0x3f800000; +u32 var80075da0 = 0x00000000; +u32 var80075da4 = 0x00000000; +u32 var80075da8 = 0x3f800000; +u32 var80075dac = 0x00000000; +u32 var80075db0 = 0x00000000; +u32 var80075db4 = 0x3f800000; +u32 var80075db8 = 0x00000000; +u32 var80075dbc = 0x00000000; +u32 var80075dc0 = 0x00000000; +u32 var80075dc4 = 0x00000000; +u32 var80075dc8 = 0x00000000; +u32 var80075dcc = 0x00000000; +u32 var80075dd0 = 0x00000000; +u32 var80075dd4 = 0x00000000; +u32 var80075dd8 = 0x3f800000; +u32 var80075ddc = 0x00000000; + GLOBAL_ASM( glabel func0f11ecf0 /* f11ecf0: 03e00008 */ jr $ra @@ -290,3 +323,4 @@ glabel func0f11ef80 /* f11eff8: 00000000 */ sll $zero,$zero,0x0 /* f11effc: 00000000 */ sll $zero,$zero,0x0 ); + diff --git a/src/game/padhalllv.c b/src/game/padhalllv.c index 8838c241b..f7c1f4fc0 100644 --- a/src/game/padhalllv.c +++ b/src/game/padhalllv.c @@ -19,7 +19,7 @@ const char var7f1b3a80[] = "padhalllv.c"; -const u32 var7f1b3a8c[] = {0x00000000}; +s32 g_WaypointHashes[2] = {0}; void waypointSetHashThing(s32 hash1, s32 hash2) { diff --git a/src/game/pak/pak.c b/src/game/pak/pak.c index 9629021d1..18e2abb66 100644 --- a/src/game/pak/pak.c +++ b/src/game/pak/pak.c @@ -260,6 +260,48 @@ const char var7f1b4d24[] = "Pak %d -> Pak_PdGameBoySetRWByte - Fatal Error\n"; const char var7f1b4d54[] = "0123456789012345678901234567890123456789"; const char var7f1b4d80[] = "PerfDark\n"; +char var80075cb0[] = "4Y"; +char var80075cb4[] = "PerfDark"; +char var80075cc0[] = "PerfDark"; + +u32 var80075ccc = 0x00000400; +u32 var80075cd0 = 0x00000000; +u32 var80075cd4 = 0x00000000; +u32 var80075cd8 = 0x00000000; +u32 var80075cdc = 0x00000000; +u32 var80075ce0 = 0x00000000; +u32 var80075ce4 = 0x00000000; +u32 var80075ce8 = 0x00000001; +u32 var80075cec = 0x00000000; +u32 var80075cf0 = 0x00000000; +u32 var80075cf4 = 0x00000000; +u32 var80075cf8 = 0x291e2b1f; +u32 var80075cfc = 0x1e1c2d0f; +u32 var80075d00 = 0x1d1a2b24; +u32 var80075d04 = 0x00000000; +u32 var80075d08 = 0x00000000; +u32 var80075d0c = 0x00000000; +u32 var80075d10 = 0x00000000; +u32 var80075d14 = 0x00000001; +u32 var80075d18 = 0x00000010; +u32 var80075d1c = 0x00000008; +u32 var80075d20 = 0x00000020; +u32 var80075d24 = 0x00000040; +u32 var80075d28 = 0x00000080; +u32 var80075d2c = 0x00000002; +u32 var80075d30 = 0x00000003; +u32 var80075d34 = 0x00000005; +u32 var80075d38 = 0x00000005; +u32 var80075d3c = 0x00000005; +u32 var80075d40 = (u32)&var7f1b423c; +u32 var80075d44 = (u32)&var7f1b4244; +u32 var80075d48 = (u32)&var7f1b424c; +u32 var80075d4c = (u32)&var7f1b4254; +u32 var80075d50 = (u32)&var7f1b425c; +u32 var80075d54 = 0x00000000; +u32 var80075d58 = 0x00000000; +u32 var80075d5c = 0x00000000; + GLOBAL_ASM( glabel func0f1165d0 /* f1165d0: 00047600 */ sll $t6,$a0,0x18