mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-15 01:01:43 +00:00
Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems
This commit is contained in:
commit
4ffb80806b
11 changed files with 208 additions and 219 deletions
|
@ -7492,11 +7492,11 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
|||
"GREEN", // 43 // SKINCOLOR_GREEN
|
||||
"PINETREE", // 44 // SKINCOLOR_PINETREE
|
||||
"SWAMP", // 45 // SKINCOLOR_SWAMP
|
||||
"TURQUOISE", // 46 // SKINCOLOR_TURQUOISE
|
||||
"SLATE", // 47 // SKINCOLOR_SLATE
|
||||
"PERIWINKLE", // 48 // SKINCOLOR_PERIWINKLE
|
||||
"CYAN", // 49 // SKINCOLOR_CYAN
|
||||
"CERULEAN", // 50 // SKINCOLOR_CERULEAN
|
||||
"SLATE", // 46 // SKINCOLOR_SLATE
|
||||
"PERIWINKLE", // 47 // SKINCOLOR_PERIWINKLE
|
||||
"CYAN", // 48 // SKINCOLOR_CYAN
|
||||
"CERULEAN", // 49 // SKINCOLOR_CERULEAN
|
||||
"TURQUOISE", // 50 // SKINCOLOR_TURQUOISE
|
||||
"TEAL", // 51 // SKINCOLOR_TEAL
|
||||
"STEEL", // 52 // SKINCOLOR_STEEL
|
||||
"BLUE", // 53 // SKINCOLOR_BLUE
|
||||
|
|
|
@ -277,11 +277,11 @@ typedef enum
|
|||
SKINCOLOR_GREEN,
|
||||
SKINCOLOR_PINETREE,
|
||||
SKINCOLOR_SWAMP,
|
||||
SKINCOLOR_TURQUOISE,
|
||||
SKINCOLOR_SLATE,
|
||||
SKINCOLOR_PERIWINKLE,
|
||||
SKINCOLOR_CYAN,
|
||||
SKINCOLOR_CERULEAN,
|
||||
SKINCOLOR_TURQUOISE,
|
||||
SKINCOLOR_TEAL,
|
||||
SKINCOLOR_STEEL,
|
||||
SKINCOLOR_BLUE,
|
||||
|
|
|
@ -5858,6 +5858,7 @@ void G_AddGhost(char *defdemoname)
|
|||
if (z > c)
|
||||
z = c;
|
||||
}
|
||||
gh->mo->z = z;
|
||||
}
|
||||
gh->mo->state = states+S_KART_STND1; // SRB2kart - was S_PLAY_STND
|
||||
gh->mo->sprite = gh->mo->state->sprite;
|
||||
|
|
|
@ -1100,9 +1100,6 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch,
|
|||
case SKINCOLOR_SWAMP:
|
||||
blendcolor = V_GetColor(190);
|
||||
break;
|
||||
case SKINCOLOR_TURQUOISE:
|
||||
blendcolor = V_GetColor(215);
|
||||
break;
|
||||
case SKINCOLOR_SLATE:
|
||||
blendcolor = V_GetColor(201);
|
||||
break;
|
||||
|
@ -1115,6 +1112,9 @@ static void HWR_CreateBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch,
|
|||
case SKINCOLOR_CERULEAN:
|
||||
blendcolor = V_GetColor(217);
|
||||
break;
|
||||
case SKINCOLOR_TURQUOISE:
|
||||
blendcolor = V_GetColor(215);
|
||||
break;
|
||||
case SKINCOLOR_TEAL:
|
||||
blendcolor = V_GetColor(221);
|
||||
break;
|
||||
|
|
|
@ -1123,7 +1123,12 @@ static void HU_DrawCEcho(void)
|
|||
|
||||
static void HU_drawGametype(void)
|
||||
{
|
||||
V_DrawString(4, (splitscreen ? 184 : 192), 0, gametype_cons_t[gametype].strvalue);
|
||||
INT32 flags;
|
||||
if (gametype == GT_MATCH)
|
||||
flags = V_REDMAP;
|
||||
else
|
||||
flags = V_SKYMAP;
|
||||
V_DrawString(4, (splitscreen ? 184 : 192), flags, gametype_cons_t[gametype].strvalue);
|
||||
}
|
||||
|
||||
//
|
||||
|
|
16
src/k_kart.c
16
src/k_kart.c
|
@ -86,11 +86,11 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
|||
"Green", // 43 // SKINCOLOR_GREEN
|
||||
"Pinetree", // 44 // SKINCOLOR_PINETREE
|
||||
"Swamp", // 45 // SKINCOLOR_SWAMP
|
||||
"Turquoise", // 46 // SKINCOLOR_TURQUOISE
|
||||
"Slate", // 47 // SKINCOLOR_SLATE
|
||||
"Periwinkle", // 48 // SKINCOLOR_PERIWINKLE
|
||||
"Cyan", // 49 // SKINCOLOR_CYAN
|
||||
"Cerulean", // 50 // SKINCOLOR_CERULEAN
|
||||
"Turquoise", // 46 // SKINCOLOR_TURQUOISE
|
||||
"Teal", // 52 // SKINCOLOR_TEAL
|
||||
"Steel Blue", // 53 // SKINCOLOR_STEELBLUE
|
||||
"Blue", // 54 // SKINCOLOR_BLUE
|
||||
|
@ -155,11 +155,11 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
|||
SKINCOLOR_RED,8, // 43 // SKINCOLOR_GREEN
|
||||
SKINCOLOR_RASPBERRY,8, // 44 // SKINCOLOR_PINETREE
|
||||
SKINCOLOR_SALMON,8, // 45 // SKINCOLOR_SWAMP
|
||||
SKINCOLOR_CRIMSON,8, // 46 // SKINCOLOR_TURQUOISE
|
||||
SKINCOLOR_PINK,8, // 47 // SKINCOLOR_SLATE
|
||||
SKINCOLOR_CREAMSICLE,8, // 48 // SKINCOLOR_PERIWINKLE
|
||||
SKINCOLOR_CARAMEL,8, // 49 // SKINCOLOR_CYAN
|
||||
SKINCOLOR_GOLD,8, // 50 // SKINCOLOR_CERULEAN
|
||||
SKINCOLOR_PINK,8, // 46 // SKINCOLOR_SLATE
|
||||
SKINCOLOR_CREAMSICLE,8, // 47 // SKINCOLOR_PERIWINKLE
|
||||
SKINCOLOR_CARAMEL,8, // 48 // SKINCOLOR_CYAN
|
||||
SKINCOLOR_GOLD,8, // 49 // SKINCOLOR_CERULEAN
|
||||
SKINCOLOR_CRIMSON,8, // 50 // SKINCOLOR_TURQUOISE
|
||||
SKINCOLOR_RED,8, // 51 // SKINCOLOR_TEAL
|
||||
SKINCOLOR_PEACH,8, // 52 // SKINCOLOR_STEEL
|
||||
SKINCOLOR_ORANGE,8, // 53 // SKINCOLOR_BLUE
|
||||
|
@ -222,11 +222,11 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = {
|
|||
{160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175}, // SKINCOLOR_GREEN
|
||||
{160, 161, 162, 164, 165, 167, 169, 170, 171, 171, 172, 173, 174, 175, 30, 31}, // SKINCOLOR_PINETREE
|
||||
{186, 187, 188, 188, 188, 189, 189, 190, 190, 191, 175, 175, 30, 30, 31, 31}, // SKINCOLOR_SWAMP
|
||||
{120, 208, 208, 210, 212, 214, 220, 220, 220, 221, 221, 222, 222, 223, 223, 191}, // SKINCOLOR_TURQUOISE
|
||||
{120, 120, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 204, 205, 206, 207}, // SKINCOLOR_SLATE
|
||||
{120, 224, 225, 226, 226, 227, 228, 228, 229, 230, 231, 234, 235, 237, 239, 241}, // SKINCOLOR_PERIWINKLE
|
||||
{120, 208, 209, 210, 211, 212, 213, 215, 216, 216, 216, 217, 217, 218, 218, 219}, // SKINCOLOR_CYAN
|
||||
{208, 209, 211, 213, 215, 216, 216, 217, 217, 218, 218, 219, 205, 206, 207, 207}, // SKINCOLOR_CERULEAN
|
||||
{120, 208, 208, 210, 212, 214, 220, 220, 220, 221, 221, 222, 222, 223, 223, 191}, // SKINCOLOR_TURQUOISE
|
||||
{210, 213, 220, 220, 220, 221, 221, 221, 221, 222, 222, 222, 223, 223, 191, 31}, // SKINCOLOR_TEAL
|
||||
{120, 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 207, 31}, // SKINCOLOR_STEEL
|
||||
{224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239}, // SKINCOLOR_BLUE
|
||||
|
@ -5466,7 +5466,7 @@ void K_drawKartHUD(void)
|
|||
}
|
||||
|
||||
// Draw the CHECK indicator before the other items, so it's overlapped by everything else
|
||||
if (cv_kartcheck.value && !splitscreen)
|
||||
if (cv_kartcheck.value && !splitscreen && !players[displayplayer].exiting)
|
||||
K_drawKartPlayerCheck();
|
||||
|
||||
if (splitscreen == 0 && cv_kartminimap.value)
|
||||
|
|
319
src/m_menu.c
319
src/m_menu.c
|
@ -327,6 +327,7 @@ static void M_DrawSkyRoom(void);
|
|||
static void M_DrawChecklist(void);
|
||||
static void M_DrawEmblemHints(void);
|
||||
static void M_DrawPauseMenu(void);
|
||||
static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade);
|
||||
static void M_DrawServerMenu(void);
|
||||
static void M_DrawImageDef(void);
|
||||
static void M_DrawLoad(void);
|
||||
|
@ -478,7 +479,12 @@ static menuitem_t MainMenu[] =
|
|||
{
|
||||
{IT_SUBMENU|IT_STRING, NULL, "Extras", &SR_UnlockChecklistDef, 84},
|
||||
{IT_CALL |IT_STRING, NULL, "1 Player", M_SinglePlayerMenu, 92},
|
||||
#ifdef NONET
|
||||
M_StartSplitServerMenu
|
||||
{IT_CALL |IT_STRING, NULL, "Splitscreen", M_StartSplitServerMenu,100},
|
||||
#else
|
||||
{IT_SUBMENU|IT_STRING, NULL, "Multiplayer", &MP_MainDef, 100},
|
||||
#endif
|
||||
{IT_CALL |IT_STRING, NULL, "Options", M_Options, 108},
|
||||
{IT_CALL |IT_STRING, NULL, "Quit Game", M_QuitSRB2, 116},
|
||||
};
|
||||
|
@ -518,17 +524,17 @@ static menuitem_t MPauseMenu[] =
|
|||
{IT_STRING | IT_CALL, NULL, "Switch Map..." , M_MapChange, 24},
|
||||
|
||||
{IT_CALL | IT_STRING, NULL, "Continue", M_SelectableClearMenus,40},
|
||||
{IT_CALL | IT_STRING, NULL, "Player 1 Setup", M_SetupMultiPlayer, 48}, // splitscreen
|
||||
{IT_CALL | IT_STRING, NULL, "Player 2 Setup", M_SetupMultiPlayer2, 56}, // splitscreen
|
||||
{IT_CALL | IT_STRING, NULL, "P1 Setup...", M_SetupMultiPlayer, 48}, // splitscreen
|
||||
{IT_CALL | IT_STRING, NULL, "P2 Setup...", M_SetupMultiPlayer2, 56}, // splitscreen
|
||||
#ifndef NOFOURPLAYER
|
||||
{IT_CALL | IT_STRING, NULL, "Player 3 Setup", M_SetupMultiPlayer3, 64}, // splitscreen
|
||||
{IT_CALL | IT_STRING, NULL, "Player 4 Setup", M_SetupMultiPlayer4, 72}, // splitscreen
|
||||
{IT_CALL | IT_STRING, NULL, "P3 Setup...", M_SetupMultiPlayer3, 64}, // splitscreen
|
||||
{IT_CALL | IT_STRING, NULL, "P4 Setup...", M_SetupMultiPlayer4, 72}, // splitscreen
|
||||
#endif
|
||||
|
||||
{IT_STRING | IT_CALL, NULL, "Spectate", M_ConfirmSpectate, 48},
|
||||
{IT_STRING | IT_CALL, NULL, "Enter Game", M_ConfirmEnterGame, 48},
|
||||
{IT_STRING | IT_SUBMENU, NULL, "Switch Team...", &MISC_ChangeTeamDef, 48},
|
||||
{IT_CALL | IT_STRING, NULL, "Player Setup", M_SetupMultiPlayer, 56}, // alone
|
||||
{IT_CALL | IT_STRING, NULL, "Player Setup...", M_SetupMultiPlayer, 56}, // alone
|
||||
{IT_CALL | IT_STRING, NULL, "Options", M_Options, 64},
|
||||
|
||||
{IT_CALL | IT_STRING, NULL, "Return to Title", M_EndGame, 80},
|
||||
|
@ -735,23 +741,23 @@ static menuitem_t SP_LevelSelectMenu[] =
|
|||
// Single Player Time Attack
|
||||
static menuitem_t SP_TimeAttackMenu[] =
|
||||
{
|
||||
{IT_STRING|IT_CVAR, NULL, "Level", &cv_nextmap, 48},
|
||||
{IT_STRING|IT_CVAR, NULL, "Player", &cv_chooseskin, 58},
|
||||
{IT_STRING|IT_CVAR, NULL, "Color", &cv_playercolor, 68},
|
||||
{IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Name", &cv_playername, 84},
|
||||
{IT_STRING|IT_CVAR|IT_CV_STRING, NULL, "Name", &cv_playername, 0},
|
||||
{IT_STRING|IT_CVAR, NULL, "Player", &cv_chooseskin, 16},
|
||||
{IT_STRING|IT_CVAR, NULL, "Color", &cv_playercolor, 26},
|
||||
{IT_STRING|IT_CVAR, NULL, "Level", &cv_nextmap, 78},
|
||||
|
||||
{IT_DISABLED, NULL, "Guest Option...", &SP_GuestReplayDef, 100},
|
||||
{IT_DISABLED, NULL, "Replay...", &SP_ReplayDef, 110},
|
||||
{IT_DISABLED, NULL, "Ghosts...", &SP_GhostDef, 120},
|
||||
{IT_DISABLED, NULL, "Guest...", &SP_GuestReplayDef, 98},
|
||||
{IT_DISABLED, NULL, "Replay...", &SP_ReplayDef, 108},
|
||||
{IT_DISABLED, NULL, "Ghosts...", &SP_GhostDef, 118},
|
||||
{IT_WHITESTRING|IT_CALL|IT_CALL_NOTMODIFIED, NULL, "Start", M_ChooseTimeAttack, 130},
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
talevel,
|
||||
taname,
|
||||
taplayer,
|
||||
tacolor,
|
||||
taname,
|
||||
talevel,
|
||||
|
||||
taguest,
|
||||
tareplay,
|
||||
|
@ -761,14 +767,14 @@ enum
|
|||
|
||||
static menuitem_t SP_ReplayMenu[] =
|
||||
{
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Time", M_ReplayTimeAttack, 0},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Lap", M_ReplayTimeAttack, 8},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Time", M_ReplayTimeAttack, 90},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Best Lap", M_ReplayTimeAttack, 98},
|
||||
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Last", M_ReplayTimeAttack,21},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Guest", M_ReplayTimeAttack,29},
|
||||
{IT_WHITESTRING|IT_KEYHANDLER, NULL, "Replay Staff",M_HandleStaffReplay,37},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Last", M_ReplayTimeAttack, 106},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Replay Guest", M_ReplayTimeAttack, 114},
|
||||
{IT_WHITESTRING|IT_KEYHANDLER, NULL, "Replay Staff",M_HandleStaffReplay,122},
|
||||
|
||||
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50}
|
||||
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 130}
|
||||
};
|
||||
|
||||
/*static menuitem_t SP_NightsReplayMenu[] =
|
||||
|
@ -785,13 +791,13 @@ static menuitem_t SP_ReplayMenu[] =
|
|||
|
||||
static menuitem_t SP_GuestReplayMenu[] =
|
||||
{
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Time as Guest", M_SetGuestReplay, 8},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Lap as Guest", M_SetGuestReplay,16},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Save Last as Guest", M_SetGuestReplay,24},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Time as Guest", M_SetGuestReplay, 94},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Save Best Lap as Guest", M_SetGuestReplay,102},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Save Last as Guest", M_SetGuestReplay,110},
|
||||
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Delete Guest Replay", M_SetGuestReplay,37},
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Delete Guest Replay", M_SetGuestReplay,120},
|
||||
|
||||
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50}
|
||||
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 130}
|
||||
};
|
||||
|
||||
/*static menuitem_t SP_NightsGuestReplayMenu[] =
|
||||
|
@ -807,14 +813,13 @@ static menuitem_t SP_GuestReplayMenu[] =
|
|||
|
||||
static menuitem_t SP_GhostMenu[] =
|
||||
{
|
||||
{IT_STRING|IT_CVAR, NULL, "Best Time", &cv_ghost_besttime, 0},
|
||||
{IT_STRING|IT_CVAR, NULL, "Best Lap", &cv_ghost_bestlap, 8},
|
||||
{IT_STRING|IT_CVAR, NULL, "Last", &cv_ghost_last, 16},
|
||||
{IT_STRING|IT_CVAR, NULL, "Best Time", &cv_ghost_besttime, 88},
|
||||
{IT_STRING|IT_CVAR, NULL, "Best Lap", &cv_ghost_bestlap, 96},
|
||||
{IT_STRING|IT_CVAR, NULL, "Last", &cv_ghost_last, 104},
|
||||
{IT_STRING|IT_CVAR, NULL, "Guest", &cv_ghost_guest, 112},
|
||||
{IT_STRING|IT_CVAR, NULL, "Staff Attack",&cv_ghost_staff, 120},
|
||||
|
||||
{IT_STRING|IT_CVAR, NULL, "Guest", &cv_ghost_guest, 29},
|
||||
{IT_STRING|IT_CVAR, NULL, "Staff Attack",&cv_ghost_staff, 37},
|
||||
|
||||
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 50}
|
||||
{IT_WHITESTRING|IT_SUBMENU, NULL, "Back", &SP_TimeAttackDef, 130}
|
||||
};
|
||||
|
||||
/*static menuitem_t SP_NightsGhostMenu[] =
|
||||
|
@ -915,14 +920,14 @@ menuitem_t PlayerMenu[32] =
|
|||
|
||||
static menuitem_t MP_MainMenu[] =
|
||||
{
|
||||
{IT_HEADER, NULL, "Host a game", NULL, 0},
|
||||
{IT_NETCALL, NULL, "Internet/LAN...", M_StartServerMenu, 10},
|
||||
{IT_STRING|IT_CALL, NULL, "Splitscreen...", M_StartSplitServerMenu, 18},
|
||||
{IT_HEADER, NULL, "Join a game", NULL, 32},
|
||||
{IT_NETCALL, NULL, "Server browser...", M_ConnectMenu, 42},
|
||||
{IT_NETHANDLER, NULL, "Specify IPv4 address:", M_HandleConnectIP, 50},
|
||||
{IT_HEADER, NULL, "Player setup", NULL, 80},
|
||||
{IT_STRING|IT_CALL, NULL, "Player 1...", M_SetupMultiPlayer, 90},
|
||||
{IT_HEADER, NULL, "Player setup", NULL, 10},
|
||||
{IT_STRING|IT_CALL, NULL, "It's you!", M_SetupMultiPlayer, 20},
|
||||
{IT_HEADER, NULL, "Host a game", NULL, 34},
|
||||
{IT_NETCALL, NULL, "Internet/LAN...", M_StartServerMenu, 44},
|
||||
{IT_STRING|IT_CALL, NULL, "Splitscreen...", M_StartSplitServerMenu, 52},
|
||||
{IT_HEADER, NULL, "Join a game", NULL, 66},
|
||||
{IT_NETCALL, NULL, "Server browser...", M_ConnectMenu, 76},
|
||||
{IT_NETHANDLER, NULL, "Specify IPv4 address:", M_HandleConnectIP, 84},
|
||||
};
|
||||
|
||||
#undef IT_NETCALL
|
||||
|
@ -955,13 +960,13 @@ static menuitem_t MP_SplitServerMenu[] =
|
|||
#endif
|
||||
{IT_STRING|IT_CVAR, NULL, "Level", &cv_nextmap, 78},
|
||||
#ifdef NOFOURPLAYER
|
||||
{IT_STRING|IT_CALL, NULL, "Player 1 Setup...", M_SetupMultiPlayer, 110},
|
||||
{IT_STRING|IT_CALL, NULL, "Player 2 Setup... ", M_SetupMultiPlayer2, 120},
|
||||
{IT_STRING|IT_CALL, NULL, "P1 Setup...", M_SetupMultiPlayer, 110},
|
||||
{IT_STRING|IT_CALL, NULL, "P2 Setup... ", M_SetupMultiPlayer2, 120},
|
||||
#else
|
||||
{IT_STRING|IT_CALL, NULL, "Player 1 Setup...", M_SetupMultiPlayer, 90},
|
||||
{IT_STRING|IT_CALL, NULL, "Player 2 Setup... ", M_SetupMultiPlayer2, 100},
|
||||
{IT_GRAYEDOUT, NULL, "Player 3 Setup...", M_SetupMultiPlayer3, 110},
|
||||
{IT_GRAYEDOUT, NULL, "Player 4 Setup... ", M_SetupMultiPlayer4, 120},
|
||||
{IT_STRING|IT_CALL, NULL, "P1 Setup...", M_SetupMultiPlayer, 90},
|
||||
{IT_STRING|IT_CALL, NULL, "P2 Setup... ", M_SetupMultiPlayer2, 100},
|
||||
{IT_GRAYEDOUT, NULL, "P3 Setup...", M_SetupMultiPlayer3, 110},
|
||||
{IT_GRAYEDOUT, NULL, "P4 Setup... ", M_SetupMultiPlayer4, 120},
|
||||
#endif
|
||||
{IT_WHITESTRING|IT_CALL, NULL, "Start", M_StartServer, 130},
|
||||
};
|
||||
|
@ -1567,14 +1572,12 @@ inline static void M_GetGametypeColor(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if (!Playing())
|
||||
{
|
||||
if (currentMenu->drawroutine != M_DrawServerMenu)
|
||||
{
|
||||
highlightflags = V_YELLOWMAP;
|
||||
return;
|
||||
}
|
||||
if (currentMenu->drawroutine == M_DrawServerMenu)
|
||||
gt = cv_newgametype.value;
|
||||
else if (!Playing())
|
||||
{
|
||||
highlightflags = V_YELLOWMAP;
|
||||
return;
|
||||
}
|
||||
else
|
||||
gt = gametype;
|
||||
|
@ -1677,7 +1680,7 @@ static menu_t SP_TimeAttackDef =
|
|||
&MainDef, // Doesn't matter.
|
||||
SP_TimeAttackMenu,
|
||||
M_DrawTimeAttackMenu,
|
||||
32, 40,
|
||||
34, 40,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
@ -1688,7 +1691,7 @@ static menu_t SP_ReplayDef =
|
|||
&SP_TimeAttackDef,
|
||||
SP_ReplayMenu,
|
||||
M_DrawTimeAttackMenu,
|
||||
32, 120,
|
||||
34, 40,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
@ -1699,7 +1702,7 @@ static menu_t SP_GuestReplayDef =
|
|||
&SP_TimeAttackDef,
|
||||
SP_GuestReplayMenu,
|
||||
M_DrawTimeAttackMenu,
|
||||
32, 120,
|
||||
34, 40,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
@ -1710,7 +1713,7 @@ static menu_t SP_GhostDef =
|
|||
&SP_TimeAttackDef,
|
||||
SP_GhostMenu,
|
||||
M_DrawTimeAttackMenu,
|
||||
32, 120,
|
||||
34, 40,
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
@ -2065,7 +2068,7 @@ static void Nextmap_OnChange(void)
|
|||
|
||||
// Check if file exists, if not, disable REPLAY option
|
||||
sprintf(tabase,"%s"PATHSEP"replay"PATHSEP"%s"PATHSEP"%s-%s",srb2home, timeattackfolder, G_BuildMapName(cv_nextmap.value), cv_chooseskin.string);
|
||||
for (i = 0; i < 5; i++) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
SP_ReplayMenu[i].status = IT_DISABLED;
|
||||
SP_GuestReplayMenu[i].status = IT_DISABLED;
|
||||
}
|
||||
|
@ -2775,6 +2778,7 @@ void M_StartControlPanel(void)
|
|||
if (modeattacking && demoplayback)
|
||||
{
|
||||
G_CheckDemoStatus();
|
||||
S_ChangeMusicInternal("racent", true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -5653,21 +5657,34 @@ void M_DrawTimeAttackMenu(void)
|
|||
{
|
||||
INT32 i, x, y, cursory = 0;
|
||||
UINT16 dispstatus;
|
||||
patch_t *PictureOfLevel, *PictureOfUrFace;
|
||||
lumpnum_t lumpnum;
|
||||
patch_t *PictureOfUrFace;
|
||||
char beststr[40];
|
||||
|
||||
S_ChangeMusicInternal("racent", true); // Eww, but needed for when user hits escape during demo playback
|
||||
//S_ChangeMusicInternal("racent", true); // Eww, but needed for when user hits escape during demo playback
|
||||
|
||||
V_DrawPatchFill(W_CachePatchName("SRB2BACK", PU_CACHE));
|
||||
|
||||
M_DrawMenuTitle();
|
||||
if (currentMenu == &SP_TimeAttackDef)
|
||||
M_DrawLevelSelectOnly(
|
||||
(SP_TimeAttackMenu[taguest].status != IT_DISABLED
|
||||
|| SP_TimeAttackMenu[tareplay].status != IT_DISABLED
|
||||
|| SP_TimeAttackMenu[taghost].status != IT_DISABLED),
|
||||
false);
|
||||
|
||||
// draw menu (everything else goes on top of it)
|
||||
// Sadly we can't just use generic mode menus because we need some extra hacks
|
||||
x = currentMenu->x;
|
||||
y = currentMenu->y;
|
||||
|
||||
// Character face!
|
||||
if (W_CheckNumForName(skins[cv_chooseskin.value-1].face) != LUMPERROR)
|
||||
{
|
||||
UINT8 *colormap = R_GetTranslationColormap(cv_chooseskin.value-1, cv_playercolor.value, 0);
|
||||
PictureOfUrFace = W_CachePatchName(skins[cv_chooseskin.value-1].face, PU_CACHE);
|
||||
V_DrawMappedPatch(BASEVIDWIDTH-x - SHORT(PictureOfUrFace->width), y, 0, PictureOfUrFace, colormap);
|
||||
}
|
||||
|
||||
for (i = 0; i < currentMenu->numitems; ++i)
|
||||
{
|
||||
dispstatus = (currentMenu->menuitems[i].status & IT_DISPLAY);
|
||||
|
@ -5693,60 +5710,40 @@ void M_DrawTimeAttackMenu(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
INT32 soffset = 40;
|
||||
const char *str = ((cv == &cv_chooseskin) ? skins[cv_chooseskin.value-1].realname : cv->string);
|
||||
INT32 soffset = 40, strw = V_StringWidth(str, 0);
|
||||
|
||||
// hack to keep the menu from overlapping the player icon
|
||||
if (currentMenu != &SP_TimeAttackDef)
|
||||
soffset = 80;
|
||||
// hack to keep the menu from overlapping the level icon
|
||||
if (currentMenu != &SP_TimeAttackDef || cv == &cv_nextmap)
|
||||
soffset = 0;
|
||||
|
||||
// Should see nothing but strings
|
||||
if (cv == &cv_chooseskin)
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - V_StringWidth(skins[cv_chooseskin.value-1].realname, 0), y, highlightflags, skins[cv_chooseskin.value-1].realname);
|
||||
else
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - V_StringWidth(cv->string, 0), y, highlightflags, cv->string);
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - strw, y, highlightflags, str);
|
||||
|
||||
if (i == itemOn)
|
||||
{
|
||||
V_DrawCharacter(BASEVIDWIDTH - x - soffset - 10 - strw - (skullAnimCounter/5), y,
|
||||
'\x1C' | highlightflags, false); // left arrow
|
||||
V_DrawCharacter(BASEVIDWIDTH - x - soffset + 2 + (skullAnimCounter/5), y,
|
||||
'\x1D' | highlightflags, false); // right arrow
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((currentMenu->menuitems[i].status & IT_TYPE) == IT_KEYHANDLER && cv_dummystaff.value) // bad hacky assumption: IT_KEYHANDLER is assumed to be staff ghost selector
|
||||
V_DrawString(BASEVIDWIDTH - x - 80 - V_StringWidth(cv_dummystaff.string, 0), y, highlightflags, cv_dummystaff.string);
|
||||
}
|
||||
|
||||
x = currentMenu->x;
|
||||
y = currentMenu->y;
|
||||
|
||||
// DRAW THE SKULL CURSOR
|
||||
V_DrawScaledPatch(currentMenu->x - 24, cursory, 0, W_CachePatchName("M_CURSOR", PU_CACHE));
|
||||
V_DrawString(currentMenu->x, cursory, highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
|
||||
// A 160x100 image of the level as entry MAPxxP
|
||||
lumpnum = W_CheckNumForName(va("%sP", G_BuildMapName(cv_nextmap.value)));
|
||||
|
||||
if (lumpnum != LUMPERROR)
|
||||
PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE);
|
||||
else
|
||||
PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE);
|
||||
|
||||
V_DrawSmallScaledPatch(208, 32, 0, PictureOfLevel);
|
||||
|
||||
// Character face!
|
||||
if (W_CheckNumForName(skins[cv_chooseskin.value-1].face) != LUMPERROR)
|
||||
{
|
||||
UINT8 *colormap = R_GetTranslationColormap(cv_chooseskin.value-1, cv_playercolor.value, 0);
|
||||
PictureOfUrFace = W_CachePatchName(skins[cv_chooseskin.value-1].face, PU_CACHE);
|
||||
V_DrawMappedPatch(256,88,0,PictureOfUrFace, colormap);
|
||||
}
|
||||
V_DrawScaledPatch(x - 24, cursory, 0, W_CachePatchName("M_CURSOR", PU_CACHE));
|
||||
V_DrawString(x, cursory, highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
|
||||
// Level record list
|
||||
if (cv_nextmap.value)
|
||||
{
|
||||
emblem_t *em;
|
||||
INT32 yHeight;
|
||||
|
||||
V_DrawCenteredString(104, 32, 0, "* LEVEL RECORDS *");
|
||||
|
||||
/*if (!mainrecords[cv_nextmap.value-1] || !mainrecords[cv_nextmap.value-1]->score)
|
||||
sprintf(beststr, "(none)");
|
||||
else
|
||||
sprintf(beststr, "%u", mainrecords[cv_nextmap.value-1]->score);
|
||||
|
||||
V_DrawString(104-72, 48, highlightflags, "SCORE:");
|
||||
V_DrawRightAlignedString(104+72, 48, V_ALLOWLOWERCASE, beststr);*/
|
||||
|
||||
if (!mainrecords[cv_nextmap.value-1] || !mainrecords[cv_nextmap.value-1]->time)
|
||||
sprintf(beststr, "(none)");
|
||||
|
@ -5755,8 +5752,8 @@ void M_DrawTimeAttackMenu(void)
|
|||
G_TicsToSeconds(mainrecords[cv_nextmap.value-1]->time),
|
||||
G_TicsToCentiseconds(mainrecords[cv_nextmap.value-1]->time));
|
||||
|
||||
V_DrawString(104-72, 53, highlightflags, "BEST TIME:");
|
||||
V_DrawRightAlignedString(104+72, 53, V_ALLOWLOWERCASE, beststr);
|
||||
V_DrawString(64, y+48, highlightflags, "BEST TIME:");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - 64 - 24 - 8, y+48, V_ALLOWLOWERCASE, beststr);
|
||||
|
||||
if (!mainrecords[cv_nextmap.value-1] || !mainrecords[cv_nextmap.value-1]->lap)
|
||||
sprintf(beststr, "(none)");
|
||||
|
@ -5765,8 +5762,8 @@ void M_DrawTimeAttackMenu(void)
|
|||
G_TicsToSeconds(mainrecords[cv_nextmap.value-1]->lap),
|
||||
G_TicsToCentiseconds(mainrecords[cv_nextmap.value-1]->lap));
|
||||
|
||||
V_DrawString(104-72, 63, highlightflags, "BEST LAP:");
|
||||
V_DrawRightAlignedString(104+72, 63, V_ALLOWLOWERCASE, beststr);
|
||||
V_DrawString(64, y+56, highlightflags, "BEST LAP:");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - 64 - 24 - 8, y+56, V_ALLOWLOWERCASE, beststr);
|
||||
|
||||
// Draw record emblems.
|
||||
em = M_GetLevelEmblems(cv_nextmap.value);
|
||||
|
@ -5774,41 +5771,49 @@ void M_DrawTimeAttackMenu(void)
|
|||
{
|
||||
switch (em->type)
|
||||
{
|
||||
case ET_TIME: yHeight = 53; break;
|
||||
case ET_TIME: break;
|
||||
default:
|
||||
goto skipThisOne;
|
||||
}
|
||||
|
||||
if (em->collected)
|
||||
V_DrawSmallMappedPatch(104+76, yHeight, 0, W_CachePatchName(M_GetEmblemPatch(em), PU_CACHE),
|
||||
V_DrawMappedPatch(BASEVIDWIDTH - 64 - 24, y+48, 0, W_CachePatchName(M_GetEmblemPatch(em), PU_CACHE),
|
||||
R_GetTranslationColormap(TC_DEFAULT, M_GetEmblemColor(em), GTC_CACHE));
|
||||
else
|
||||
V_DrawSmallScaledPatch(104+76, yHeight, 0, W_CachePatchName("NEEDIT", PU_CACHE));
|
||||
V_DrawScaledPatch(BASEVIDWIDTH - 64 - 24, y+48, 0, W_CachePatchName("NEEDIT", PU_CACHE));
|
||||
|
||||
skipThisOne:
|
||||
em = M_GetLevelEmblems(-1);
|
||||
}
|
||||
}
|
||||
|
||||
// ALWAYS DRAW level name, skin and color even when not on this menu!
|
||||
// ALWAYS DRAW player name, level name, skin and color even when not on this menu!
|
||||
if (currentMenu != &SP_TimeAttackDef)
|
||||
{
|
||||
consvar_t *ncv;
|
||||
|
||||
x = SP_TimeAttackDef.x;
|
||||
y = SP_TimeAttackDef.y;
|
||||
|
||||
for (i = 0; i < 3; ++i)
|
||||
for (i = 0; i < 4; ++i)
|
||||
{
|
||||
y = currentMenu->y+SP_TimeAttackMenu[i].alphaKey;
|
||||
V_DrawString(x, y, V_TRANSLUCENT, SP_TimeAttackMenu[i].text);
|
||||
ncv = (consvar_t *)SP_TimeAttackMenu[i].itemaction;
|
||||
|
||||
V_DrawString(x, y + SP_TimeAttackMenu[i].alphaKey, V_TRANSLUCENT, SP_TimeAttackMenu[i].text);
|
||||
if (ncv == &cv_chooseskin)
|
||||
V_DrawString(BASEVIDWIDTH - x - 40 - V_StringWidth(skins[cv_chooseskin.value-1].realname, 0),
|
||||
y + SP_TimeAttackMenu[i].alphaKey, highlightflags|V_TRANSLUCENT, skins[cv_chooseskin.value-1].realname);
|
||||
if (SP_TimeAttackMenu[i].status & IT_CV_STRING)
|
||||
{
|
||||
M_DrawTextBox(x + 32, y - 8, MAXPLAYERNAME, 1);
|
||||
V_DrawString(x + 40, y, V_TRANSLUCENT|V_ALLOWLOWERCASE, ncv->string);
|
||||
}
|
||||
else
|
||||
V_DrawString(BASEVIDWIDTH - x - 40 - V_StringWidth(ncv->string, 0),
|
||||
y + SP_TimeAttackMenu[i].alphaKey, highlightflags|V_TRANSLUCENT, ncv->string);
|
||||
{
|
||||
const char *str = ((ncv == &cv_chooseskin) ? skins[cv_chooseskin.value-1].realname : ncv->string);
|
||||
INT32 soffset = 40, strw = V_StringWidth(str, 0);
|
||||
|
||||
// hack to keep the menu from overlapping the level icon
|
||||
if (ncv == &cv_nextmap)
|
||||
soffset = 0;
|
||||
|
||||
// Should see nothing but strings
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - strw, y, highlightflags|V_TRANSLUCENT, str);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6695,27 +6700,11 @@ static void M_StartServer(INT32 choice)
|
|||
M_ClearMenus(true);
|
||||
}
|
||||
|
||||
static void M_DrawServerMenu(void)
|
||||
static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade)
|
||||
{
|
||||
lumpnum_t lumpnum;
|
||||
patch_t *PictureOfLevel;
|
||||
INT32 x, y, i, oldval, trans = 0, dupadjust = ((vid.width/vid.dupx) - BASEVIDWIDTH)>>1;
|
||||
|
||||
#ifndef NONET
|
||||
// Room name
|
||||
if (currentMenu == &MP_ServerDef)
|
||||
{
|
||||
#define mp_server_room 1
|
||||
if (ms_RoomId < 0)
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey,
|
||||
highlightflags, (itemOn == mp_server_room) ? "<Select to change>" : "<Offline Mode>");
|
||||
else
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey,
|
||||
highlightflags, room_list[menuRoomIndex].name);
|
||||
#undef mp_server_room
|
||||
}
|
||||
#endif
|
||||
|
||||
INT32 x, y, w, i, oldval, trans = 0, dupadjust = ((vid.width/vid.dupx) - BASEVIDWIDTH)>>1;
|
||||
|
||||
// A 160x100 image of the level as entry MAPxxP
|
||||
lumpnum = W_CheckNumForName(va("%sP", G_BuildMapName(cv_nextmap.value)));
|
||||
|
@ -6725,7 +6714,8 @@ static void M_DrawServerMenu(void)
|
|||
else
|
||||
PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE);
|
||||
|
||||
x = BASEVIDWIDTH - currentMenu->x - (SHORT(PictureOfLevel->width)/2);
|
||||
w = (SHORT(PictureOfLevel->width)/4);
|
||||
x = BASEVIDWIDTH/2 - w;
|
||||
y = currentMenu->y + 130 + 8 - (SHORT(PictureOfLevel->height)/2);
|
||||
|
||||
V_DrawSmallScaledPatch(x, y, 0, PictureOfLevel);
|
||||
|
@ -6733,14 +6723,12 @@ static void M_DrawServerMenu(void)
|
|||
V_DrawDiag(x, y, 10, G_GetGametypeColor(cv_newgametype.value));*/
|
||||
|
||||
y += SHORT(PictureOfLevel->height)/8;
|
||||
|
||||
i = cv_nextmap.value - 1;
|
||||
trans = (leftfade ? V_TRANSLUCENT : 0);
|
||||
|
||||
#define horizspac 2
|
||||
do
|
||||
{
|
||||
if (currentMenu == &MP_SplitServerDef && (trans += V_20TRANS) > V_90TRANS)
|
||||
break;
|
||||
|
||||
oldval = i;
|
||||
do
|
||||
{
|
||||
|
@ -6749,7 +6737,7 @@ static void M_DrawServerMenu(void)
|
|||
i = NUMMAPS-1;
|
||||
|
||||
if (i == oldval)
|
||||
goto mainmenu;
|
||||
return;
|
||||
|
||||
if(!mapheaderinfo[i])
|
||||
continue; // Don't allocate the header. That just makes memory usage skyrocket.
|
||||
|
@ -6768,8 +6756,9 @@ static void M_DrawServerMenu(void)
|
|||
V_DrawTinyScaledPatch(x, y, trans, PictureOfLevel);
|
||||
} while (x > horizspac-dupadjust);
|
||||
|
||||
x = BASEVIDWIDTH + horizspac - currentMenu->x;
|
||||
x = BASEVIDWIDTH/2 + w + horizspac;
|
||||
i = cv_nextmap.value - 1;
|
||||
trans = (rightfade ? V_TRANSLUCENT : 0);
|
||||
|
||||
while (x < BASEVIDWIDTH+dupadjust-horizspac)
|
||||
{
|
||||
|
@ -6781,7 +6770,7 @@ static void M_DrawServerMenu(void)
|
|||
i = 0;
|
||||
|
||||
if (i == oldval)
|
||||
goto mainmenu;
|
||||
return;
|
||||
|
||||
if(!mapheaderinfo[i])
|
||||
continue; // Don't allocate the header. That just makes memory usage skyrocket.
|
||||
|
@ -6796,22 +6785,38 @@ static void M_DrawServerMenu(void)
|
|||
else
|
||||
PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE);
|
||||
|
||||
V_DrawTinyScaledPatch(x, y, 0, PictureOfLevel);
|
||||
V_DrawTinyScaledPatch(x, y, trans, PictureOfLevel);
|
||||
x += horizspac + SHORT(PictureOfLevel->width)/4;
|
||||
}
|
||||
#undef horizspac
|
||||
}
|
||||
|
||||
mainmenu:
|
||||
static void M_DrawServerMenu(void)
|
||||
{
|
||||
M_DrawLevelSelectOnly((currentMenu == &MP_SplitServerDef), false);
|
||||
M_DrawGenericMenu();
|
||||
|
||||
if (currentMenu != &MP_SplitServerDef)
|
||||
return;
|
||||
|
||||
#ifndef NONET
|
||||
// Room name
|
||||
if (currentMenu == &MP_ServerDef)
|
||||
{
|
||||
#define mp_server_room 1
|
||||
if (ms_RoomId < 0)
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey,
|
||||
highlightflags, (itemOn == mp_server_room) ? "<Select to change>" : "<Offline Mode>");
|
||||
else
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + MP_ServerMenu[mp_server_room].alphaKey,
|
||||
highlightflags, room_list[menuRoomIndex].name);
|
||||
#undef mp_server_room
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (currentMenu == &MP_SplitServerDef)
|
||||
// character bar, ripped off the color bar :V
|
||||
{
|
||||
#define iconwidth 32
|
||||
#define spacingwidth 32
|
||||
#define incrwidth (iconwidth + spacingwidth)
|
||||
{
|
||||
UINT8 i = 0, pskin, pcol;
|
||||
// player arrangement width, but there's also a chance i'm a furry, shhhhhh
|
||||
const INT32 paw = iconwidth +
|
||||
|
@ -6862,10 +6867,10 @@ mainmenu:
|
|||
V_DrawFixedPatch(x<<FRACBITS, y<<FRACBITS, FRACUNIT, trans, face, R_GetTranslationColormap(pskin, pcol, 0));
|
||||
x += incrwidth;
|
||||
}
|
||||
}
|
||||
#undef incrwidth
|
||||
#undef spacingwidth
|
||||
#undef iconwidth
|
||||
}
|
||||
}
|
||||
|
||||
static void M_MapChange(INT32 choice)
|
||||
|
@ -6919,15 +6924,15 @@ static void M_DrawMPMainMenu(void)
|
|||
|
||||
#ifndef NONET
|
||||
#if MAXPLAYERS == 16
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+MP_MainMenu[1].alphaKey,
|
||||
((itemOn == 1) ? highlightflags : 0), "(2-16 players)");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+MP_MainMenu[3].alphaKey,
|
||||
((itemOn == 3) ? highlightflags : 0), "(2-16 players)");
|
||||
#else
|
||||
Update the maxplayers label...
|
||||
#endif
|
||||
#endif
|
||||
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+MP_MainMenu[2].alphaKey,
|
||||
((itemOn == 2) ? highlightflags : 0),
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+MP_MainMenu[4].alphaKey,
|
||||
((itemOn == 4) ? highlightflags : 0),
|
||||
#ifdef NOFOURPLAYER
|
||||
"(2 players)"
|
||||
#else
|
||||
|
@ -6936,7 +6941,7 @@ Update the maxplayers label...
|
|||
);
|
||||
|
||||
#ifndef NONET
|
||||
y += MP_MainMenu[5].alphaKey;
|
||||
y += MP_MainMenu[7].alphaKey;
|
||||
|
||||
V_DrawFill(x+5, y+4+5, /*16*8 + 6,*/ BASEVIDWIDTH - 2*(x+5), 8+6, 239);
|
||||
|
||||
|
|
|
@ -1014,7 +1014,6 @@ static inline boolean I_SkipFrame(void)
|
|||
if (!paused)
|
||||
return false;
|
||||
/* FALLTHRU */
|
||||
case GS_TIMEATTACK:
|
||||
case GS_WAITINGPLAYERS:
|
||||
return skip; // Skip odd frames
|
||||
default:
|
||||
|
|
|
@ -1311,7 +1311,6 @@ static inline boolean I_SkipFrame(void)
|
|||
case GS_LEVEL:
|
||||
if (!paused)
|
||||
return false;
|
||||
case GS_TIMEATTACK:
|
||||
case GS_WAITINGPLAYERS:
|
||||
return skip; // Skip odd frames
|
||||
default:
|
||||
|
|
|
@ -323,7 +323,6 @@ static inline boolean I_SkipFrame(void)
|
|||
if (!paused)
|
||||
return false;
|
||||
/* FALLTHRU */
|
||||
case GS_TIMEATTACK:
|
||||
#ifndef CLIENT_LOADINGSCREEN
|
||||
case GS_WAITINGPLAYERS:
|
||||
#endif
|
||||
|
|
|
@ -321,27 +321,27 @@ void Y_IntermissionDrawer(void)
|
|||
{
|
||||
V_DrawFill(160, 32, 1, 152, 0);
|
||||
|
||||
V_DrawCenteredString(x+6+(BASEVIDWIDTH/2), 32, V_YELLOWMAP, "#");
|
||||
V_DrawString(x+36+(BASEVIDWIDTH/2), 32, V_YELLOWMAP, "NAME");
|
||||
V_DrawCenteredString(x+6+(BASEVIDWIDTH/2), 32, V_SKYMAP, "#");
|
||||
V_DrawString(x+36+(BASEVIDWIDTH/2), 32, V_SKYMAP, "NAME");
|
||||
|
||||
V_DrawRightAlignedString(x+110, 32, V_YELLOWMAP, "TIME");
|
||||
V_DrawRightAlignedString(x+110, 32, V_SKYMAP, "TIME");
|
||||
|
||||
V_DrawRightAlignedString(x+152, 32, V_YELLOWMAP, "SCORE");
|
||||
V_DrawRightAlignedString(x+152, 32, V_SKYMAP, "SCORE");
|
||||
}
|
||||
|
||||
V_DrawCenteredString(x+6, 32, V_YELLOWMAP, "#");
|
||||
V_DrawString(x+36, 32, V_YELLOWMAP, "NAME");
|
||||
V_DrawCenteredString(x+6, 32, V_SKYMAP, "#");
|
||||
V_DrawString(x+36, 32, V_SKYMAP, "NAME");
|
||||
|
||||
if (data.match.numplayers > 8)
|
||||
{
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+110, 32, V_YELLOWMAP, "TIME");
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+110, 32, V_SKYMAP, "TIME");
|
||||
}
|
||||
else
|
||||
{
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+62, 32, V_YELLOWMAP, "TIME");
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+62, 32, V_SKYMAP, "TIME");
|
||||
}
|
||||
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 32, V_YELLOWMAP, "SCORE");
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 32, V_SKYMAP, "SCORE");
|
||||
|
||||
for (i = 0; i < data.match.numplayers; i++)
|
||||
{
|
||||
|
@ -376,11 +376,11 @@ void Y_IntermissionDrawer(void)
|
|||
|
||||
if (data.match.numplayers > 8)
|
||||
{
|
||||
V_DrawRightAlignedString(x+152, y, V_YELLOWMAP, strtime);
|
||||
V_DrawRightAlignedString(x+152, y, V_SKYMAP, strtime);
|
||||
}
|
||||
else
|
||||
{
|
||||
V_DrawRightAlignedString(x+152+BASEVIDWIDTH/2, y, V_YELLOWMAP, strtime);
|
||||
V_DrawRightAlignedString(x+152+BASEVIDWIDTH/2, y, V_SKYMAP, strtime);
|
||||
}
|
||||
|
||||
if (data.match.increase[i] > 9)
|
||||
|
@ -439,22 +439,16 @@ void Y_IntermissionDrawer(void)
|
|||
{
|
||||
V_DrawFill(160, 32, 1, 152, 0);
|
||||
|
||||
if (intertype == int_race)
|
||||
V_DrawRightAlignedString(x+152, 32, V_YELLOWMAP, "TIME");
|
||||
else
|
||||
V_DrawRightAlignedString(x+152, 32, V_YELLOWMAP, "SCORE");
|
||||
V_DrawRightAlignedString(x+152, 32, V_REDMAP, "SCORE");
|
||||
|
||||
V_DrawCenteredString(x+(BASEVIDWIDTH/2)+6, 32, V_YELLOWMAP, "#");
|
||||
V_DrawString(x+(BASEVIDWIDTH/2)+36, 32, V_YELLOWMAP, "NAME");
|
||||
V_DrawCenteredString(x+(BASEVIDWIDTH/2)+6, 32, V_REDMAP, "#");
|
||||
V_DrawString(x+(BASEVIDWIDTH/2)+36, 32, V_REDMAP, "NAME");
|
||||
}
|
||||
|
||||
V_DrawCenteredString(x+6, 32, V_YELLOWMAP, "#");
|
||||
V_DrawString(x+36, 32, V_YELLOWMAP, "NAME");
|
||||
V_DrawCenteredString(x+6, 32, V_REDMAP, "#");
|
||||
V_DrawString(x+36, 32, V_REDMAP, "NAME");
|
||||
|
||||
if (intertype == int_race)
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 32, V_YELLOWMAP, "TIME");
|
||||
else
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 32, V_YELLOWMAP, "SCORE");
|
||||
V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 32, V_REDMAP, "SCORE");
|
||||
|
||||
for (i = 0; i < data.match.numplayers; i++)
|
||||
{
|
||||
|
@ -508,22 +502,7 @@ void Y_IntermissionDrawer(void)
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (intertype == int_match)
|
||||
V_DrawRightAlignedString(x+152+BASEVIDWIDTH/2, y, 0, va("%u", data.match.scores[i]));
|
||||
else if (intertype == int_race)
|
||||
{
|
||||
if (players[data.match.num[i]].pflags & PF_TIMEOVER)
|
||||
snprintf(strtime, sizeof strtime, "DNF");
|
||||
else
|
||||
snprintf(strtime, sizeof strtime, "%i:%02i.%02i", G_TicsToMinutes(data.match.scores[i], true),
|
||||
G_TicsToSeconds(data.match.scores[i]), G_TicsToCentiseconds(data.match.scores[i]));
|
||||
|
||||
strtime[sizeof strtime - 1] = '\0';
|
||||
|
||||
V_DrawRightAlignedString(x+152+BASEVIDWIDTH/2, y, 0, strtime);
|
||||
}
|
||||
}
|
||||
V_DrawRightAlignedString(x+152+BASEVIDWIDTH/2, y, 0, va("%u", data.match.scores[i]));
|
||||
}
|
||||
|
||||
y += 16;
|
||||
|
@ -2441,9 +2420,10 @@ void Y_VoteTicker(void)
|
|||
else if (voteclient.roffset >= voteclient.rendoff)
|
||||
{
|
||||
voteendtic = votetic + (3*TICRATE);
|
||||
S_StartSound(NULL, sfx_kc48);
|
||||
if (P_IsLocalPlayer(&players[pickedvote]))
|
||||
S_StartSound(NULL, sfx_yeeeah);
|
||||
else
|
||||
S_StartSound(NULL, sfx_kc48);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2718,9 +2698,10 @@ void Y_SetupVoteFinish(SINT8 pick, SINT8 level)
|
|||
{
|
||||
voteendtic = votetic + (5*TICRATE);
|
||||
S_ChangeMusicInternal("voteeb", false);
|
||||
S_StartSound(NULL, sfx_kc48);
|
||||
if (P_IsLocalPlayer(&players[pick]))
|
||||
S_StartSound(NULL, sfx_yeeeah);
|
||||
else
|
||||
S_StartSound(NULL, sfx_kc48);
|
||||
}
|
||||
else
|
||||
S_ChangeMusicInternal("voteea", true);
|
||||
|
|
Loading…
Reference in a new issue