Some unlockable stuff

- Secrets renamed to Extras
- Extras leads to the checklist instead of another menu
- Credits & Sound Test are on the Options menu now
- New title screen cheat for unlocking everything ("banana", or "← ↑ → →
↑ ← ↓ → Enter")
This commit is contained in:
TehRealSalt 2018-03-01 19:00:16 -05:00
parent b0be1c7bbf
commit 1a6730fb72
3 changed files with 40 additions and 31 deletions

View file

@ -74,19 +74,20 @@ typedef struct
static UINT8 cheatf_warp(void)
{
if (modifiedgame)
return 0;
UINT8 i;
/*if (modifiedgame)
return 0;*/
if (menuactive && currentMenu != &MainDef)
return 0; // Only on the main menu!
S_StartSound(0, sfx_itemup);
S_StartSound(0, sfx_kc42);
// Temporarily unlock stuff.
// Temporarily unlock EVERYTHING.
G_SetGameModified(false);
unlockables[1].unlocked = true; // credits
unlockables[2].unlocked = true; // sound test
//unlockables[16].unlocked = true; // level select
for (i = 0; i < MAXUNLOCKABLES; i++)
unlockables[i].unlocked = true;
// Refresh secrets menu existing.
M_ClearMenus(true);
@ -135,14 +136,19 @@ static UINT8 cheatf_devmode(void)
static cheatseq_t cheat_warp = {
0, cheatf_warp,
{ SCRAMBLE('r'), SCRAMBLE('e'), SCRAMBLE('d'), SCRAMBLE('x'), SCRAMBLE('v'), SCRAMBLE('i'), 0xff }
//{ SCRAMBLE('r'), SCRAMBLE('e'), SCRAMBLE('d'), SCRAMBLE('x'), SCRAMBLE('v'), SCRAMBLE('i'), 0xff }
{ SCRAMBLE('b'), SCRAMBLE('a'), SCRAMBLE('n'), SCRAMBLE('a'), SCRAMBLE('n'), SCRAMBLE('a'), 0xff }
};
static cheatseq_t cheat_warp_joy = {
0, cheatf_warp,
{ SCRAMBLE(KEY_LEFTARROW), SCRAMBLE(KEY_LEFTARROW), SCRAMBLE(KEY_UPARROW),
/*{ SCRAMBLE(KEY_LEFTARROW), SCRAMBLE(KEY_LEFTARROW), SCRAMBLE(KEY_UPARROW),
SCRAMBLE(KEY_RIGHTARROW), SCRAMBLE(KEY_RIGHTARROW), SCRAMBLE(KEY_UPARROW),
SCRAMBLE(KEY_LEFTARROW), SCRAMBLE(KEY_UPARROW),
SCRAMBLE(KEY_ENTER), 0xff }*/
{ SCRAMBLE(KEY_LEFTARROW), SCRAMBLE(KEY_UPARROW), SCRAMBLE(KEY_RIGHTARROW),
SCRAMBLE(KEY_RIGHTARROW), SCRAMBLE(KEY_UPARROW), SCRAMBLE(KEY_LEFTARROW),
SCRAMBLE(KEY_DOWNARROW), SCRAMBLE(KEY_RIGHTARROW),
SCRAMBLE(KEY_ENTER), 0xff }
};

View file

@ -207,8 +207,8 @@ menu_t MessageDef;
menu_t SPauseDef;
// Sky Room
static void M_CustomLevelSelect(INT32 choice);
static void M_CustomWarp(INT32 choice);
//static void M_CustomLevelSelect(INT32 choice);
//static void M_CustomWarp(INT32 choice);
FUNCNORETURN static ATTRNORETURN void M_UltimateCheat(INT32 choice);
static void M_LoadGameLevelSelect(INT32 choice);
static void M_GetAllEmeralds(INT32 choice);
@ -231,7 +231,7 @@ static void M_ConfirmSpectate(INT32 choice);
static void M_ConfirmEnterGame(INT32 choice);
static void M_ConfirmTeamScramble(INT32 choice);
static void M_ConfirmTeamChange(INT32 choice);
static void M_SecretsMenu(INT32 choice);
//static void M_SecretsMenu(INT32 choice);
static void M_SetupChoosePlayer(INT32 choice);
static void M_QuitSRB2(INT32 choice);
menu_t SP_MainDef, MP_MainDef, OP_MainDef;
@ -475,11 +475,11 @@ static consvar_t cv_dummystaff = {"dummystaff", "0", CV_HIDEN|CV_CALL, dummystaf
// ---------
static menuitem_t MainMenu[] =
{
{IT_CALL |IT_STRING, NULL, "Secrets", M_SecretsMenu, 84},
{IT_CALL |IT_STRING, NULL, "1 Player", M_SinglePlayerMenu, 92},
{IT_SUBMENU|IT_STRING, NULL, "Multiplayer", &MP_MainDef, 100},
{IT_CALL |IT_STRING, NULL, "Options", M_Options, 108},
{IT_CALL |IT_STRING, NULL, "Quit Game", M_QuitSRB2, 116},
{IT_SUBMENU|IT_STRING, NULL, "Extras", &SR_UnlockChecklistDef, 84},
{IT_CALL |IT_STRING, NULL, "1 Player", M_SinglePlayerMenu, 92},
{IT_SUBMENU|IT_STRING, NULL, "Multiplayer", &MP_MainDef, 100},
{IT_CALL |IT_STRING, NULL, "Options", M_Options, 108},
{IT_CALL |IT_STRING, NULL, "Quit Game", M_QuitSRB2, 116},
};
typedef enum
@ -1040,6 +1040,9 @@ static menuitem_t OP_MainMenu[] =
{IT_SUBMENU | IT_STRING, NULL, "Game Options...", &OP_GameOptionsDef, 70},
{IT_SUBMENU | IT_STRING, NULL, "Server Options...", &OP_ServerOptionsDef, 80},
{IT_CALL | IT_STRING, NULL, "Play Credits", M_Credits, 90},
{IT_KEYHANDLER | IT_STRING, NULL, "Sound Test", M_HandleSoundTest, 100},
};
static menuitem_t OP_ControlsMenu[] =
@ -2692,7 +2695,7 @@ void M_StartControlPanel(void)
if (!Playing())
{
// Secret menu!
MainMenu[secrets].status = (M_AnySecretUnlocked()) ? (IT_STRING | IT_CALL) : (IT_DISABLED);
//MainMenu[secrets].status = (M_AnySecretUnlocked()) ? (IT_STRING | IT_CALL) : (IT_DISABLED);
currentMenu = &MainDef;
itemOn = singleplr;
@ -4403,7 +4406,7 @@ static void M_HandleSoundTest(INT32 choice)
}
// Entering secrets menu
static void M_SecretsMenu(INT32 choice)
/*static void M_SecretsMenu(INT32 choice)
{
INT32 i, j, ul;
UINT8 done[MAXUNLOCKABLES];
@ -4478,7 +4481,7 @@ static void M_SecretsMenu(INT32 choice)
}
M_SetupNextMenu(&SR_MainDef);
}
}*/
// ==================
// NEW GAME FUNCTIONS
@ -4496,14 +4499,14 @@ static void M_NewGame(void)
M_SetupChoosePlayer(0);
}
static void M_CustomWarp(INT32 choice)
/*static void M_CustomWarp(INT32 choice)
{
INT32 ul = skyRoomMenuTranslations[choice-1];
startmap = (INT16)(unlockables[ul].variable);
M_SetupChoosePlayer(0);
}
}*/
static void M_Credits(INT32 choice)
{
@ -4513,7 +4516,7 @@ static void M_Credits(INT32 choice)
F_StartCredits();
}
static void M_CustomLevelSelect(INT32 choice)
/*static void M_CustomLevelSelect(INT32 choice)
{
INT32 ul = skyRoomMenuTranslations[choice-1];
@ -4528,7 +4531,7 @@ static void M_CustomLevelSelect(INT32 choice)
M_PrepareLevelSelect();
M_SetupNextMenu(&SR_LevelSelectDef);
}
}*/
// ==================
// SINGLE PLAYER MENU

View file

@ -583,7 +583,7 @@ typedef enum
sfx_kc2c,
sfx_kc2d,
sfx_kc2e,
sfx_kc2f,
sfx_kc2f, // Pogo Spring
sfx_kc30,
sfx_kc31,
sfx_kc32,
@ -593,7 +593,7 @@ typedef enum
sfx_kc36,
sfx_kc37,
sfx_kc38,
sfx_kc39,
sfx_kc39, // Voting roulette
sfx_kc3a,
sfx_kc3b,
sfx_kc3c,
@ -602,15 +602,15 @@ typedef enum
sfx_kc3f,
sfx_kc40,
sfx_kc41,
sfx_kc42,
sfx_kc42, // Unlock everything cheat
sfx_kc43,
sfx_kc44,
sfx_kc45,
sfx_kc46,
sfx_kc47,
sfx_kc48,
sfx_kc48, // Vote picked
sfx_kc49,
sfx_kc4a,
sfx_kc4a, // Voting beep
sfx_kc4b,
sfx_kc4c,
sfx_kc4d,
@ -625,8 +625,8 @@ typedef enum
sfx_kc56,
sfx_kc57,
sfx_kc58,
sfx_kc59,
sfx_kc5a,
sfx_kc59, // Shrink
sfx_kc5a, // Grow
sfx_kc5b,
sfx_kc5c,
sfx_kc5d,