Don't allow credits playback while in a demo

This commit is contained in:
NepDisk 2025-08-11 12:16:28 -04:00
parent 2557bc4912
commit b622ca4073
2 changed files with 8 additions and 6 deletions

View file

@ -86,8 +86,8 @@
#define ASSET_HASH_TEXTURES_KART 0xb4211b2f32b6a291
#define ASSET_HASH_CHARS_KART 0x1e68a3e01aa5c68b
#define ASSET_HASH_MAPS_KART 0x38558ed00da41ce9
#define ASSET_HASH_MAIN_PK3 0xf39a203d62c3ff24
#define ASSET_HASH_MAPPATCH_PK3 0xdc8d4b2c318697b1
#define ASSET_HASH_MAIN_PK3 0x171480bc402d6967
#define ASSET_HASH_MAPPATCH_PK3 0xd7ff2224e2c8a2b9
#define ASSET_HASH_BONUSCHARS_KART 0x60e6f13d822a7461
#ifdef USE_PATCH_FILE
#define ASSET_HASH_PATCH_PK3 0x0000000000000000

View file

@ -4696,14 +4696,16 @@ INT32 MR_Options(INT32 choice)
{
(void)choice;
boolean gamecheck = (Playing() || demo.playback);
// if the player is not admin or server, disable gameplay & server options
M_SetItemDisabled(MN_OP_MAIN, "GAMEPLAY", Playing() && !(server || IsPlayerAdmin(consoleplayer)));
M_SetItemDisabled(MN_OP_MAIN, "SERVER", Playing() && !(server || IsPlayerAdmin(consoleplayer)));
// no credits or data erasing in-game
M_SetItemDisabled(MN_OP_MAIN, "KARTCREDITS", Playing());
M_SetItemDisabled(MN_OP_MAIN, "BLANCREDITS", Playing());
M_SetItemDisabled(MN_OP_DATA, "ERASE", Playing());
// no credits or data erasing in-game/during replays
M_SetItemDisabled(MN_OP_MAIN, "KARTCREDITS", gamecheck);
M_SetItemDisabled(MN_OP_MAIN, "BLANCREDITS", gamecheck);
M_SetItemDisabled(MN_OP_DATA, "ERASE", gamecheck);
M_SetItemSecret(MN_OP_GAME, "ENCORE", !M_SecretUnlocked(SECRET_ENCORE));