diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 4210b70e..c7315137 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -87,7 +87,6 @@ patch_t *rmatcico; patch_t *bmatcico; patch_t *tagico; patch_t *tallminus; -patch_t *iconprefix[MAXSKINS]; // minimap icons //------------------------------------------- // coop hud @@ -2281,9 +2280,9 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I V_DrawFill(1, 26, 318, 1, 0); // Draw a horizontal line because it looks nice! if (scorelines > 8) { - V_DrawFill(160, 26, 1, 154, 0); // Draw a vertical line to separate the two sides. - V_DrawFill(1, 180, 318, 1, 0); // And a horizontal line near the bottom. - rightoffset = 156; + V_DrawFill(160, 26, 1, 147, 0); // Draw a vertical line to separate the two sides. + V_DrawFill(1, 173, 318, 1, 0); // And a horizontal line near the bottom. + rightoffset = (BASEVIDWIDTH/2) - 4 - x; } for (i = 0; i < scorelines; i++) @@ -2318,8 +2317,8 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I else colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE); - V_DrawSmallMappedPatch(x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap); - if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] > 0) + V_DrawMappedPatch(x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap); + /*if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] > 0) -- doesn't physically fit... { INT32 bumperx = x-5; for (j = 0; j < players[tab[i].num].kartstuff[k_bumper]; j++) @@ -2327,7 +2326,7 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I bumperx -= 3; V_DrawSmallMappedPatch(bumperx, y+6, 0, W_CachePatchName("K_BLNICO", PU_CACHE), colormap); } - } + }*/ } if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] <= 0) @@ -2347,11 +2346,11 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I else V_DrawRightAlignedString(x+rightoffset, y, 0, va("%u", tab[i].count)); - y += 16; + y += 18; if (i == 7) { - y = 32; - x += BASEVIDWIDTH/2; + y = 33; + x = (BASEVIDWIDTH/2) + 4; } } } @@ -2416,15 +2415,15 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I if (players[tab[i].num].powers[pw_super]) { colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE); - V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap); + V_DrawSmallMappedPatch (x, y-4, 0, facewantprefix[players[tab[i].num].skin], colormap); } else { colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE); if (players[tab[i].num].health <= 0) - V_DrawSmallTranslucentMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap); + V_DrawSmallTranslucentMappedPatch (x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap); else - V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap); + V_DrawSmallMappedPatch (x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap); } V_DrawRightAlignedThinString(x+120, y-1, ((players[tab[i].num].health > 0) ? 0 : V_TRANSLUCENT), va("%u", tab[i].count)); if (!splitscreen) @@ -2478,13 +2477,13 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline { colormap = colormaps; if (players[tab[i].num].powers[pw_super]) - V_DrawSmallScaledPatch (x, y-4, 0, superprefix[players[tab[i].num].skin]); + V_DrawSmallScaledPatch (x, y-4, 0, facewantprefix[players[tab[i].num].skin]); else { if (players[tab[i].num].health <= 0) - V_DrawSmallTranslucentPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin]); + V_DrawSmallTranslucentPatch (x, y-4, 0, facerankprefix[players[tab[i].num].skin]); else - V_DrawSmallScaledPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin]); + V_DrawSmallScaledPatch (x, y-4, 0, facerankprefix[players[tab[i].num].skin]); } } else @@ -2492,15 +2491,15 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline if (players[tab[i].num].powers[pw_super]) { colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE); - V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap); + V_DrawSmallMappedPatch (x, y-4, 0, facewantprefix[players[tab[i].num].skin], colormap); } else { colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE); if (players[tab[i].num].health <= 0) - V_DrawSmallTranslucentMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap); + V_DrawSmallTranslucentMappedPatch (x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap); else - V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap); + V_DrawSmallMappedPatch (x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap); } } @@ -2778,7 +2777,7 @@ static void HU_DrawRankings(void) /*if (G_GametypeHasTeams()) HU_DrawTeamTabRankings(tab, whiteplayer); //separate function for Spazzo's silly request -- gotta fix this up later else if (scorelines > 10)*/ - HU_DrawTabRankings(((scorelines > 8) ? 32 : 40), 32, tab, scorelines, whiteplayer, hilicol); + HU_DrawTabRankings(((scorelines > 8) ? 32 : 40), 33, tab, scorelines, whiteplayer, hilicol); /*else HU_DrawDualTabRankings(32, 32, tab, scorelines, whiteplayer);*/ diff --git a/src/hu_stuff.h b/src/hu_stuff.h index f21af8bf..a9194975 100644 --- a/src/hu_stuff.h +++ b/src/hu_stuff.h @@ -76,7 +76,6 @@ extern patch_t *rmatcico; extern patch_t *bmatcico; extern patch_t *tagico; extern patch_t *tallminus; -extern patch_t *iconprefix[MAXSKINS]; #define CHAT_BUFSIZE 64 // that's enough messages, right? We'll delete the older ones when that gets out of hand. diff --git a/src/k_kart.c b/src/k_kart.c index 76670f17..26fa600b 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -5507,11 +5507,7 @@ static patch_t *kp_racefinish[2]; static patch_t *kp_positionnum[NUMPOSNUMS][NUMPOSFRAMES]; static patch_t *kp_winnernum[NUMPOSFRAMES]; -static patch_t *kp_facenull; -static patch_t *kp_facefirst; -static patch_t *kp_facesecond; -static patch_t *kp_facethird; -static patch_t *kp_facefourth; +static patch_t *kp_facenum[MAXPLAYERS+1]; static patch_t *kp_rankbumper; static patch_t *kp_ranknobumpers; @@ -5613,11 +5609,13 @@ void K_LoadKartHUDGraphics(void) kp_winnernum[i] = (patch_t *) W_CachePatchName(buffer, PU_HUDGFX); } - kp_facenull = W_CachePatchName("K_PFACE0", PU_HUDGFX); - kp_facefirst = W_CachePatchName("K_PFACE1", PU_HUDGFX); - kp_facesecond = W_CachePatchName("K_PFACE2", PU_HUDGFX); - kp_facethird = W_CachePatchName("K_PFACE3", PU_HUDGFX); - kp_facefourth = W_CachePatchName("K_PFACE4", PU_HUDGFX); + sprintf(buffer, "OPPRNKxx"); + for (i = 0; i <= MAXPLAYERS; i++) + { + buffer[6] = '0'+(i/10); + buffer[7] = '0'+(i%10); + kp_facenum[i] = (patch_t *) W_CachePatchName(buffer, PU_HUDGFX); + } // Extra ranking icons kp_rankbumper = W_CachePatchName("K_BLNICO", PU_HUDGFX); @@ -6374,12 +6372,11 @@ static boolean K_drawKartPositionFaces(void) // FACE_Y = 72; // 72 INT32 Y = FACE_Y+9; // +9 to offset where it's being drawn if there are more than one - INT32 i, j, ranklines; + INT32 i, j, ranklines, strank = 0; boolean completed[MAXPLAYERS]; INT32 rankplayer[MAXPLAYERS]; INT32 bumperx, numplayersingame = 0; UINT8 *colormap; - patch_t *localpatch = kp_facenull; ranklines = 0; memset(completed, 0, sizeof (completed)); @@ -6402,7 +6399,7 @@ static boolean K_drawKartPositionFaces(void) { for (i = 0; i < MAXPLAYERS; i++) { - if (playeringame[i] && completed[i] == false && players[i].mo && !players[i].spectator + if (playeringame[i] && !completed[i] && players[i].mo && !players[i].spectator && (rankplayer[ranklines] < 0 || players[i].kartstuff[k_position] < players[rankplayer[ranklines]].kartstuff[k_position])) { rankplayer[ranklines] = i; @@ -6412,15 +6409,35 @@ static boolean K_drawKartPositionFaces(void) completed[i] = true; - if (ranklines == 4) - break; // Only draw the top 4 players + if (players+i == stplyr) + strank = ranklines; + + //if (ranklines == 5) + //break; // Only draw the top 5 players -- we do this a different way now... ranklines++; } - Y -= (9*ranklines); + if (ranklines < 5) + Y -= (9*ranklines); + else + Y -= (9*5); - for (i = 0; i < ranklines; i++) + if (strank <= 2) // too close to the top? + { + i = 0; + if (ranklines > 5) // could be both... + ranklines = 5; + } + else if (strank+3 > ranklines) // too close to the bottom? + i = ranklines - 5; + else + { + i = strank-2; + ranklines = strank+3; + } + + for (; i < ranklines; i++) { if (players[rankplayer[i]].spectator) continue; // Spectators are ignored if (!players[rankplayer[i]].mo) continue; @@ -6435,7 +6452,7 @@ static boolean K_drawKartPositionFaces(void) else colormap = R_GetTranslationColormap(players[rankplayer[i]].skin, players[rankplayer[i]].mo->color, GTC_CACHE); - V_DrawSmallMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, faceprefix[players[rankplayer[i]].skin], colormap); + V_DrawMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, facerankprefix[players[rankplayer[i]].skin], colormap); if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0) { for (j = 0; j < players[rankplayer[i]].kartstuff[k_bumper]; j++) @@ -6446,20 +6463,16 @@ static boolean K_drawKartPositionFaces(void) } } - // Draws the little number over the face - switch (players[rankplayer[i]].kartstuff[k_position]) - { - case 1: localpatch = kp_facefirst; break; - case 2: localpatch = kp_facesecond; break; - case 3: localpatch = kp_facethird; break; - case 4: localpatch = kp_facefourth; break; - default: break; - } - if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] <= 0) V_DrawSmallScaledPatch(FACE_X-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknobumpers); else - V_DrawSmallScaledPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, localpatch); + { + INT32 pos = players[rankplayer[i]].kartstuff[k_position]; + if (pos < 0 || pos > MAXPLAYERS) + pos = 0; + // Draws the little number over the face + V_DrawScaledPatch(FACE_X-5, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_facenum[pos]); + } Y += 18; } @@ -6605,7 +6618,7 @@ static void K_drawKartWanted(void) for (i = 0; i < numwanted; i++) { - INT32 x = WANT_X+7, y = WANT_Y+20; + INT32 x = WANT_X+8, y = WANT_Y+21; fixed_t scale = FRACUNIT/2; player_t *p = &players[battlewanted[i]]; @@ -6613,24 +6626,19 @@ static void K_drawKartWanted(void) break; if (numwanted == 1) - { - x++; //y++; scale = FRACUNIT; - } else { if (i & 1) - x += 18; + x += 16; if (i > 1) - y += 17; + y += 16; } - if (players[battlewanted[i]].skincolor == 0) - V_DrawFixedPatch(x<skin], NULL); - else + if (players[battlewanted[i]].skincolor) { colormap = R_GetTranslationColormap(TC_RAINBOW, p->skincolor, GTC_CACHE); - V_DrawFixedPatch(x<skin], colormap); + V_DrawFixedPatch(x<skin] : facerankprefix[p->skin]), colormap); } } } @@ -6685,35 +6693,6 @@ static void K_drawKartPlayerCheck(void) } } -void K_LoadIconGraphics(char *facestr, INT32 skinnum) -{ - char namelump[9]; - - // hack: make sure base face name is no more than 8 chars - if (strlen(facestr) > 8) - facestr[8] = '\0'; - strcpy(namelump, facestr); // copy base name - - iconprefix[skinnum] = W_CachePatchName(namelump, PU_HUDGFX); - iconfreed[skinnum] = false; -} - -#if 0 //unused -static void K_UnLoadIconGraphics(INT32 skinnum) -{ - Z_Free(iconprefix[skinnum]); - iconfreed[skinnum] = true; -} -#endif - -void K_ReloadSkinIconGraphics(void) -{ - INT32 i; - - for (i = 0; i < numskins; i++) - K_LoadIconGraphics(skins[i].iconprefix, i); -} - static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, patch_t *AutomapPic) { // amnum xpos & ypos are the icon's speed around the HUD. @@ -6780,18 +6759,18 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat if (encoremode) amnumxpos = -amnumxpos; - amxpos = amnumxpos + ((x + AutomapPic->width/2 - (iconprefix[skin]->width/2))<height/2 - (iconprefix[skin]->height/2))<width/2 - (facemmapprefix[skin]->width/2))<height/2 - (facemmapprefix[skin]->height/2))<width/2 + (iconprefix[skin]->width/2))<width/2 + (facemmapprefix[skin]->width/2))<color) // 'default' color - V_DrawSciencePatch(amxpos, amypos, flags, iconprefix[skin], FRACUNIT); + V_DrawSciencePatch(amxpos, amypos, flags, facemmapprefix[skin], FRACUNIT); else { UINT8 *colormap; @@ -6799,7 +6778,7 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat colormap = R_GetTranslationColormap(TC_RAINBOW, mo->color, 0); else colormap = R_GetTranslationColormap(skin, mo->color, 0); - V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, iconprefix[skin], colormap); + V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, facemmapprefix[skin], colormap); } } diff --git a/src/k_kart.h b/src/k_kart.h index 671efb89..6b470632 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -67,8 +67,6 @@ fixed_t K_FindCheckX(fixed_t px, fixed_t py, angle_t ang, fixed_t mx, fixed_t my void K_drawKartHUD(void); void K_drawKartFreePlay(UINT32 flashtime); void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT16 emblemmap, boolean playing); -void K_LoadIconGraphics(char *facestr, INT32 skinnum); -void K_ReloadSkinIconGraphics(void); // ========================================================================= #endif // __K_KART__ diff --git a/src/lua_skinlib.c b/src/lua_skinlib.c index a267d998..7223e8db 100644 --- a/src/lua_skinlib.c +++ b/src/lua_skinlib.c @@ -27,9 +27,9 @@ enum skin { skin_flags, skin_realname, skin_hudname, - skin_charsel, - skin_face, - skin_superface, + skin_facerank, + skin_facewant, + skin_facemmap, skin_ability, skin_ability2, skin_thokitem, @@ -61,9 +61,9 @@ static const char *const skin_opt[] = { "flags", "realname", "hudname", - "charsel", - "face", - "superface", + "facerank", + "facewant", + "facemmap", "ability", "ability2", "thokitem", @@ -121,23 +121,23 @@ static int skin_get(lua_State *L) case skin_hudname: lua_pushstring(L, skin->hudname); break; - case skin_charsel: + case skin_facerank: for (i = 0; i < 8; i++) - if (!skin->charsel[i]) + if (!skin->facerank[i]) break; - lua_pushlstring(L, skin->charsel, i); + lua_pushlstring(L, skin->facerank, i); break; - case skin_face: + case skin_facewant: for (i = 0; i < 8; i++) - if (!skin->face[i]) + if (!skin->facewant[i]) break; - lua_pushlstring(L, skin->face, i); + lua_pushlstring(L, skin->facewant, i); break; - case skin_superface: + case skin_facemmap: for (i = 0; i < 8; i++) - if (!skin->superface[i]) + if (!skin->facemmap[i]) break; - lua_pushlstring(L, skin->superface, i); + lua_pushlstring(L, skin->facemmap, i); break; case skin_ability: lua_pushinteger(L, skin->ability); diff --git a/src/m_menu.c b/src/m_menu.c index 1827bf7b..ed430cdb 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -151,8 +151,8 @@ description_t description[32] = {"???", "", ""}, {"???", "", ""} }; -static char *char_notes = NULL; -static fixed_t char_scroll = 0; +//static char *char_notes = NULL; +//static fixed_t char_scroll = 0; boolean menuactive = false; boolean fromlevelselect = false; @@ -173,7 +173,7 @@ static char joystickInfo[8][25]; static UINT32 serverlistpage; #endif -static saveinfo_t savegameinfo[MAXSAVEGAMES]; // Extra info about the save games. +//static saveinfo_t savegameinfo[MAXSAVEGAMES]; // Extra info about the save games. INT16 startmap; // Mario, NiGHTS, or just a plain old normal game? @@ -219,10 +219,10 @@ menu_t SPauseDef; //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_LoadGameLevelSelect(INT32 choice); static void M_GetAllEmeralds(INT32 choice); static void M_DestroyRobots(INT32 choice); -static void M_LevelSelectWarp(INT32 choice); +//static void M_LevelSelectWarp(INT32 choice); static void M_Credits(INT32 choice); static void M_PandorasBox(INT32 choice); static void M_EmblemHints(INT32 choice); @@ -244,7 +244,7 @@ static void M_ConfirmTeamScramble(INT32 choice); static void M_ConfirmTeamChange(INT32 choice); static void M_ConfirmSpectateChange(INT32 choice); //static void M_SecretsMenu(INT32 choice); -static void M_SetupChoosePlayer(INT32 choice); +//static void M_SetupChoosePlayer(INT32 choice); static void M_QuitSRB2(INT32 choice); menu_t SP_MainDef, MP_MainDef, OP_MainDef; menu_t MISC_ScrambleTeamDef, MISC_ChangeTeamDef, MISC_ChangeSpectateDef; @@ -262,7 +262,7 @@ static void M_ChooseTimeAttack(INT32 choice); static void M_ModeAttackRetry(INT32 choice); static void M_ModeAttackEndGame(INT32 choice); static void M_SetGuestReplay(INT32 choice); -static void M_ChoosePlayer(INT32 choice); +//static void M_ChoosePlayer(INT32 choice); menu_t SP_LevelStatsDef; static menu_t SP_TimeAttackDef, SP_ReplayDef, SP_GuestReplayDef, SP_GhostDef; //static menu_t SP_NightsAttackDef, SP_NightsReplayDef, SP_NightsGuestReplayDef, SP_NightsGhostDef; @@ -342,11 +342,11 @@ 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); +//static void M_DrawLoad(void); static void M_DrawLevelStats(void); static void M_DrawTimeAttackMenu(void); //static void M_DrawNightsAttackMenu(void); -static void M_DrawSetupChoosePlayerMenu(void); +//static void M_DrawSetupChoosePlayerMenu(void); static void M_DrawControl(void); static void M_DrawVideoMenu(void); static void M_DrawHUDOptions(void); @@ -373,7 +373,7 @@ static boolean M_QuitMultiPlayerMenu(void); static void M_HandleAddons(INT32 choice); static void M_HandleSoundTest(INT32 choice); static void M_HandleImageDef(INT32 choice); -static void M_HandleLoadSave(INT32 choice); +//static void M_HandleLoadSave(INT32 choice); static void M_HandleLevelStats(INT32 choice); #ifndef NONET static void M_HandleConnectIP(INT32 choice); @@ -594,7 +594,7 @@ static menuitem_t SPauseMenu[] = // Pandora's Box will be shifted up if both options are available {IT_CALL | IT_STRING, NULL, "Pandora's Box...", M_PandorasBox, 16}, {IT_CALL | IT_STRING, NULL, "Emblem Hints...", M_EmblemHints, 24}, - {IT_CALL | IT_STRING, NULL, "Level Select...", M_LoadGameLevelSelect, 32}, + //{IT_CALL | IT_STRING, NULL, "Level Select...", M_LoadGameLevelSelect, 32}, {IT_CALL | IT_STRING, NULL, "Continue", M_SelectableClearMenus,48}, {IT_CALL | IT_STRING, NULL, "Retry", M_Retry, 56}, @@ -608,7 +608,7 @@ typedef enum { spause_pandora = 0, spause_hints, - spause_levelselect, + //spause_levelselect, spause_continue, spause_retry, @@ -726,11 +726,11 @@ static menuitem_t SR_MainMenu[] = }; -static menuitem_t SR_LevelSelectMenu[] = +/*static menuitem_t SR_LevelSelectMenu[] = { {IT_STRING|IT_CVAR, NULL, "Level", &cv_nextmap, 78}, {IT_WHITESTRING|IT_CALL, NULL, "Start", M_LevelSelectWarp, 130}, -}; +};*/ static menuitem_t SR_UnlockChecklistMenu[] = { @@ -766,7 +766,7 @@ enum }; // Single Player Load Game -static menuitem_t SP_LoadGameMenu[] = +/*static menuitem_t SP_LoadGameMenu[] = { {IT_KEYHANDLER | IT_NOTHING, NULL, "", M_HandleLoadSave, '\0'}, // dummy menuitem for the control func }; @@ -776,7 +776,7 @@ static menuitem_t SP_LevelSelectMenu[] = { {IT_STRING|IT_CVAR, NULL, "Level", &cv_nextmap, 78}, {IT_WHITESTRING|IT_CALL, NULL, "Start", M_LevelSelectWarp, 130}, -}; +};*/ // Single Player Time Attack static menuitem_t SP_TimeAttackMenu[] = @@ -906,6 +906,7 @@ static menuitem_t SP_LevelStatsMenu[] = // A rare case. // External files modify this menu, so we can't call it static. // And I'm too lazy to go through and rename it everywhere. ARRGH! +#define M_ChoosePlayer NULL menuitem_t PlayerMenu[32] = { {IT_CALL, NULL, NULL, M_ChoosePlayer, 0}, @@ -1677,7 +1678,7 @@ menu_t SR_MainDef = NULL }; -menu_t SR_LevelSelectDef = MAPICONMENUSTYLE(NULL, SR_LevelSelectMenu, &SR_MainDef); +//menu_t SR_LevelSelectDef = MAPICONMENUSTYLE(NULL, SR_LevelSelectMenu, &SR_MainDef); menu_t SR_UnlockChecklistDef = { @@ -1704,7 +1705,7 @@ menu_t SR_EmblemHintDef = // Single Player menu_t SP_MainDef = CENTERMENUSTYLE(NULL, SP_MainMenu, &MainDef, 72); -menu_t SP_LoadDef = +/*menu_t SP_LoadDef = { "M_PICKG", 1, @@ -1715,7 +1716,7 @@ menu_t SP_LoadDef = 0, NULL }; -menu_t SP_LevelSelectDef = MAPICONMENUSTYLE(NULL, SP_LevelSelectMenu, &SP_LoadDef); +menu_t SP_LevelSelectDef = MAPICONMENUSTYLE(NULL, SP_LevelSelectMenu, &SP_LoadDef);*/ menu_t SP_LevelStatsDef = { @@ -1820,7 +1821,7 @@ static menu_t SP_NightsGhostDef = };*/ -menu_t SP_PlayerDef = +/*menu_t SP_PlayerDef = { "M_PICKP", sizeof (PlayerMenu)/sizeof (menuitem_t),//player_end, @@ -1830,7 +1831,7 @@ menu_t SP_PlayerDef = 24, 32, 0, NULL -}; +};*/ #ifndef NONET // Multiplayer @@ -2629,21 +2630,21 @@ boolean M_Responder(event_t *ev) case KEY_DOWNARROW: M_NextOpt(); S_StartSound(NULL, sfx_menu1); - if (currentMenu == &SP_PlayerDef) + /*if (currentMenu == &SP_PlayerDef) { Z_Free(char_notes); char_notes = NULL; - } + }*/ return true; case KEY_UPARROW: M_PrevOpt(); S_StartSound(NULL, sfx_menu1); - if (currentMenu == &SP_PlayerDef) + /*if (currentMenu == &SP_PlayerDef) { Z_Free(char_notes); char_notes = NULL; - } + }*/ return true; case KEY_LEFTARROW: @@ -2885,7 +2886,7 @@ void M_StartControlPanel(void) } // We can always use level select though. :33 - SPauseMenu[spause_levelselect].status = (gamecomplete) ? (IT_STRING | IT_CALL) : (IT_DISABLED); + //SPauseMenu[spause_levelselect].status = (gamecomplete) ? (IT_STRING | IT_CALL) : (IT_DISABLED); // And emblem hints. SPauseMenu[spause_hints].status = (M_SecretUnlocked(SECRET_EMBLEMHINTS)) ? (IT_STRING | IT_CALL) : (IT_DISABLED); @@ -5055,7 +5056,7 @@ static void M_DestroyRobots(INT32 choice) M_StartMessage(M_GetText("Do you want to destroy all\nrobots in the current level?\n\n(Press 'Y' to confirm)\n"),M_DestroyRobotsResponse,MM_YESNO); } -static void M_LevelSelectWarp(INT32 choice) +/*static void M_LevelSelectWarp(INT32 choice) { boolean fromloadgame = (currentMenu == &SP_LevelSelectDef); @@ -5078,7 +5079,7 @@ static void M_LevelSelectWarp(INT32 choice) cursaveslot = -1; M_SetupChoosePlayer(0); } -} +}*/ // ======== // SKY ROOM @@ -5423,7 +5424,7 @@ static void M_HandleSoundTest(INT32 choice) // NEW GAME FUNCTIONS // ================== -INT32 ultimate_selectable = false; +/*INT32 ultimate_selectable = false; static void M_NewGame(void) { @@ -5433,7 +5434,7 @@ static void M_NewGame(void) CV_SetValue(&cv_newgametype, GT_RACE); // SRB2kart M_SetupChoosePlayer(0); -} +}*/ /*static void M_CustomWarp(INT32 choice) { @@ -5484,7 +5485,7 @@ static void M_SinglePlayerMenu(INT32 choice) M_SetupNextMenu(&SP_MainDef); } -static void M_LoadGameLevelSelect(INT32 choice) +/*static void M_LoadGameLevelSelect(INT32 choice) { (void)choice; levellistmode = LLM_LEVELSELECT; @@ -5499,13 +5500,13 @@ static void M_LoadGameLevelSelect(INT32 choice) M_PrepareLevelSelect(); M_SetupNextMenu(&SP_LevelSelectDef); -} +}*/ // ============== // LOAD GAME MENU // ============== -static INT32 saveSlotSelected = 0; +/*static INT32 saveSlotSelected = 0; static short menumovedir = 0; static void M_DrawLoadGameData(void) @@ -5904,13 +5905,13 @@ static void M_HandleLoadSave(INT32 choice) // // Selected from SRB2 menu // -/*static void M_LoadGame(INT32 choice) +static void M_LoadGame(INT32 choice) { (void)choice; M_ReadSaveStrings(); M_SetupNextMenu(&SP_LoadDef); -}*/ +} // // Used by cheats to force the save menu to a specific spot. @@ -6127,11 +6128,7 @@ static void M_ChoosePlayer(INT32 choice) G_DeferedInitNew(false, G_BuildMapName(startmap), (UINT8)skinnum, 0, fromlevelselect); COM_BufAddText("dummyconsvar 1\n"); // G_DeferedInitNew doesn't do this -} - -// =============== -// STATISTICS MENU -// =============== +}*/ // =============== // STATISTICS MENU @@ -6368,7 +6365,6 @@ void M_DrawTimeAttackMenu(void) { INT32 i, x, y, cursory = 0; UINT16 dispstatus; - patch_t *PictureOfUrFace; //S_ChangeMusicInternal("racent", true); // Eww, but needed for when user hits escape during demo playback @@ -6384,11 +6380,10 @@ void M_DrawTimeAttackMenu(void) y = currentMenu->y; // Character face! - if (W_CheckNumForName(skins[cv_chooseskin.value-1].face) != LUMPERROR) + if (W_CheckNumForName(skins[cv_chooseskin.value-1].facewant) != 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); + V_DrawMappedPatch(BASEVIDWIDTH-x - SHORT(facewantprefix[cv_chooseskin.value-1]->width), y, 0, facewantprefix[cv_chooseskin.value-1], colormap); } for (i = 0; i < currentMenu->numitems; ++i) @@ -7676,7 +7671,6 @@ Update the maxplayers label... // player arrangement width, but there's also a chance i'm a furry, shhhhhh const INT32 paw = iconwidth + 3*incrwidth; INT32 trans = 0; - patch_t *face; UINT8 *colmap; x = BASEVIDWIDTH/2 - paw/2; y = currentMenu->y + 32; @@ -7711,15 +7705,13 @@ Update the maxplayers label... colmap = R_GetTranslationColormap(pskin, pcol, 0); - face = W_CachePatchName(skins[pskin].face, PU_CACHE); - V_DrawFixedPatch(x<= numskins) col -= numskins; x += FixedMul(iconwidth<realname, "Someone"); strcpy(skin->hudname, "???"); - strncpy(skin->charsel, "CHRSONIC", 9); - strncpy(skin->face, "MISSING", 9); - strncpy(skin->superface, "MISSING", 9); + strncpy(skin->facerank, "PLAYRANK", 9); + strncpy(skin->facewant, "PLAYWANT", 9); + strncpy(skin->facemmap, "PLAYICON", 9); skin->starttranscolor = 160; skin->prefcolor = SKINCOLOR_GREEN; @@ -2551,7 +2551,6 @@ static void Sk_SetDefaultValue(skin_t *skin) for (i = 0; i < sfx_skinsoundslot0; i++) if (S_sfx[i].skinsound != -1) skin->soundsid[S_sfx[i].skinsound] = i; - strncpy(skin->iconprefix, "SONICICN", 9); } // @@ -2584,9 +2583,9 @@ void R_InitSkins(void) strcpy(skin->realname, "Sonic"); strcpy(skin->hudname, "SONIC"); - strncpy(skin->charsel, "CHRSONIC", 9); - strncpy(skin->face, "LIVSONIC", 9); - strncpy(skin->superface, "LIVSUPER", 9); + strncpy(skin->facerank, "PLAYRANK", 9); + strncpy(skin->facewant, "PLAYWANT", 9); + strncpy(skin->facemmap, "PLAYICON", 9); skin->prefcolor = SKINCOLOR_BLUE; skin->ability = CA_THOK; @@ -2605,9 +2604,7 @@ void R_InitSkins(void) skin->spritedef.numframes = sprites[SPR_PLAY].numframes; skin->spritedef.spriteframes = sprites[SPR_PLAY].spriteframes; - ST_LoadFaceGraphics(skin->face, skin->superface, 0); - strncpy(skin->iconprefix, "SONICICN", 9); - K_LoadIconGraphics(skin->iconprefix, 0); + ST_LoadFaceGraphics(skin->facerank, skin->facewant, skin->facemmap, 0); //MD2 for sonic doesn't want to load in Linux. #ifdef HWRENDER @@ -2763,7 +2760,7 @@ void R_AddSkins(UINT16 wadnum) char *value; size_t size; skin_t *skin; - boolean hudname, realname, superface; + boolean hudname, realname; // // search for all skin markers in pwad @@ -2793,7 +2790,7 @@ void R_AddSkins(UINT16 wadnum) skin = &skins[numskins]; Sk_SetDefaultValue(skin); skin->wadnum = wadnum; - hudname = realname = superface = false; + hudname = realname = false; // parse stoken = strtok (buf2, "\r\n= "); while (stoken) @@ -2878,23 +2875,20 @@ void R_AddSkins(UINT16 wadnum) strupr(value); strncpy(skin->sprite, value, sizeof skin->sprite); } - else if (!stricmp(stoken, "charsel")) + else if (!stricmp(stoken, "facerank")) { strupr(value); - strncpy(skin->charsel, value, sizeof skin->charsel); + strncpy(skin->facerank, value, sizeof skin->facerank); } - else if (!stricmp(stoken, "face")) + else if (!stricmp(stoken, "facewant")) { strupr(value); - strncpy(skin->face, value, sizeof skin->face); - if (!superface) - strncpy(skin->superface, value, sizeof skin->superface); + strncpy(skin->facewant, value, sizeof skin->facewant); } - else if (!stricmp(stoken, "superface")) + else if (!stricmp(stoken, "facemmap")) { - superface = true; strupr(value); - strncpy(skin->superface, value, sizeof skin->superface); + strncpy(skin->facemmap, value, sizeof skin->facemmap); } #define FULLPROCESS(field) else if (!stricmp(stoken, #field)) skin->field = get_number(value); @@ -2936,11 +2930,6 @@ void R_AddSkins(UINT16 wadnum) skin->jumpfactor = FLOAT_TO_FIXED(atof(value)); else if (!stricmp(stoken, "highresscale")) skin->highresscale = FLOAT_TO_FIXED(atof(value)); - else if (!stricmp(stoken, "faceicon")) - { - strupr(value); - strncpy(skin->iconprefix, value, sizeof skin->iconprefix); - } else { INT32 found = false; @@ -3041,10 +3030,7 @@ next_token: #endif // add face graphics - ST_LoadFaceGraphics(skin->face, skin->superface, numskins); - - // load minimap icons - K_LoadIconGraphics(skin->iconprefix, numskins); + ST_LoadFaceGraphics(skin->facerank, skin->facewant, skin->facemmap, numskins); #ifdef HWRENDER if (rendermode == render_opengl) diff --git a/src/r_things.h b/src/r_things.h index a037b873..a7542e2f 100644 --- a/src/r_things.h +++ b/src/r_things.h @@ -81,7 +81,7 @@ typedef struct char realname[SKINNAMESIZE+1]; // Display name for level completion. char hudname[SKINNAMESIZE+1]; // HUD name to display (officially exactly 5 characters long) - char charsel[9], face[9], superface[9]; // Arbitrarily named patch lumps + char facerank[9], facewant[9], facemmap[9]; // Arbitrarily named patch lumps UINT8 ability; // ability definition UINT8 ability2; // secondary ability definition @@ -113,9 +113,6 @@ typedef struct // specific sounds per skin sfxenum_t soundsid[NUMSKINSOUNDS]; // sound # in S_sfx table - - // minimap icons - char iconprefix[9]; } skin_t; // ----------- diff --git a/src/st_stuff.c b/src/st_stuff.c index 5ba00015..f17c66ce 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -50,8 +50,9 @@ UINT16 objectsdrawn = 0; // STATUS BAR DATA // -patch_t *faceprefix[MAXSKINS]; // face status patches -patch_t *superprefix[MAXSKINS]; // super face status patches +patch_t *facerankprefix[MAXSKINS]; // ranking +patch_t *facewantprefix[MAXSKINS]; // wanted +patch_t *facemmapprefix[MAXSKINS]; // minimap // ------------------------------------------ // status bar overlay @@ -356,28 +357,20 @@ void ST_LoadGraphics(void) } // made separate so that skins code can reload custom face graphics -void ST_LoadFaceGraphics(char *facestr, char *superstr, INT32 skinnum) +void ST_LoadFaceGraphics(char *rankstr, char *wantstr, char *mmapstr, INT32 skinnum) { - faceprefix[skinnum] = W_CachePatchName(facestr, PU_HUDGFX); - superprefix[skinnum] = W_CachePatchName(superstr, PU_HUDGFX); + facerankprefix[skinnum] = W_CachePatchName(rankstr, PU_HUDGFX); + facewantprefix[skinnum] = W_CachePatchName(wantstr, PU_HUDGFX); + facemmapprefix[skinnum] = W_CachePatchName(mmapstr, PU_HUDGFX); facefreed[skinnum] = false; } -#ifdef DELFILE -void ST_UnLoadFaceGraphics(INT32 skinnum) -{ - Z_Free(faceprefix[skinnum]); - Z_Free(superprefix[skinnum]); - facefreed[skinnum] = true; -} -#endif - void ST_ReloadSkinFaceGraphics(void) { INT32 i; for (i = 0; i < numskins; i++) - ST_LoadFaceGraphics(skins[i].face, skins[i].superface, i); + ST_LoadFaceGraphics(skins[i].facerank, skins[i].facewant, skins[i].facemmap, i); } static inline void ST_InitData(void) @@ -726,9 +719,9 @@ static void ST_drawLives(void) // SRB2kart - unused. { // skincolor face/super UINT8 *colormap = R_GetTranslationColormap(stplyr->skin, stplyr->mo->color, GTC_CACHE); - patch_t *face = faceprefix[stplyr->skin]; + patch_t *face = facerankprefix[stplyr->skin]; if (stplyr->powers[pw_super] || stplyr->pflags & PF_NIGHTSMODE) - face = superprefix[stplyr->skin]; + face = facewantprefix[stplyr->skin]; V_DrawSmallMappedPatch(hudinfo[HUD_LIVESPIC].x, hudinfo[HUD_LIVESPIC].y + (v_splitflag ? -12 : 0), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_HUDTRANS|v_splitflag,face, colormap); } @@ -737,7 +730,7 @@ static void ST_drawLives(void) // SRB2kart - unused. // skincolor face UINT8 *colormap = R_GetTranslationColormap(stplyr->skin, stplyr->skincolor, GTC_CACHE); V_DrawSmallMappedPatch(hudinfo[HUD_LIVESPIC].x, hudinfo[HUD_LIVESPIC].y + (v_splitflag ? -12 : 0), - V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_HUDTRANS|v_splitflag,faceprefix[stplyr->skin], colormap); + V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_HUDTRANS|v_splitflag,facerankprefix[stplyr->skin], colormap); } // name @@ -1965,7 +1958,7 @@ static void ST_overlayDrawer(void) INT32 splitflags = K_calcSplitFlags(0); V_DrawThinString(2, (BASEVIDHEIGHT/2)-20, V_YELLOWMAP|V_HUDTRANSHALF|splitflags, M_GetText("- SPECTATING -")); if (stplyr->powers[pw_flashing]) - V_DrawString(2, (BASEVIDHEIGHT/2)-10, V_HUDTRANSHALF|splitflags, M_GetText("Item - . . .")); + V_DrawThinString(2, (BASEVIDHEIGHT/2)-10, V_HUDTRANSHALF|splitflags, M_GetText("Item - . . .")); else if (stplyr->pflags & PF_WANTSTOJOIN) V_DrawThinString(2, (BASEVIDHEIGHT/2)-10, V_HUDTRANSHALF|splitflags, M_GetText("Item - Cancel Join")); /*else if (G_GametypeHasTeams()) diff --git a/src/st_stuff.h b/src/st_stuff.h index d0528e0a..b054460b 100644 --- a/src/st_stuff.h +++ b/src/st_stuff.h @@ -42,7 +42,7 @@ void ST_UnloadGraphics(void); void ST_LoadGraphics(void); // face load graphics, called when skin changes -void ST_LoadFaceGraphics(char *facestr, char *superstr, INT32 playernum); +void ST_LoadFaceGraphics(char *rankstr, char *wantstr, char *mmapstr, INT32 playernum); void ST_ReloadSkinFaceGraphics(void); #ifdef DELFILE void ST_UnLoadFaceGraphics(INT32 skinnum); @@ -66,8 +66,9 @@ extern patch_t *sboscore; extern patch_t *sbotime; extern patch_t *sbocolon; extern patch_t *sboperiod; -extern patch_t *faceprefix[MAXSKINS]; // face status patches -extern patch_t *superprefix[MAXSKINS]; // super face status patches +extern patch_t *facerankprefix[MAXSKINS]; // ranking +extern patch_t *facewantprefix[MAXSKINS]; // wanted +extern patch_t *facemmapprefix[MAXSKINS]; // minimap extern patch_t *livesback; extern patch_t *ngradeletters[7]; extern boolean iconfreed[MAXPLAYERS]; diff --git a/src/y_inter.c b/src/y_inter.c index 9361dbe3..01d6b039 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -416,7 +416,7 @@ void Y_IntermissionDrawer(void) else*/ if (intertype == int_race || intertype == int_match) { #define NUMFORNEWCOLUMN 8 - INT32 y = 48, gutter = ((data.match.numplayers > NUMFORNEWCOLUMN) ? 0 : (BASEVIDWIDTH/2)); + INT32 y = 41, gutter = ((data.match.numplayers > NUMFORNEWCOLUMN) ? 0 : (BASEVIDWIDTH/2)); const char *timeheader; if (data.match.rankingsmode) @@ -425,26 +425,27 @@ void Y_IntermissionDrawer(void) timeheader = (intertype == int_race ? "TIME" : "SCORE"); // draw the level name - V_DrawCenteredString(-4 + x + BASEVIDWIDTH/2, 20, 0, data.match.levelstring); - V_DrawFill(x, 42, 312, 1, 0); + V_DrawCenteredString(-4 + x + BASEVIDWIDTH/2, 12, 0, data.match.levelstring); + V_DrawFill(x, 34, 312, 1, 0); if (data.match.encore) - V_DrawCenteredString(-4 + x + BASEVIDWIDTH/2, 20-8, hilicol, "ENCORE MODE"); + V_DrawCenteredString(-4 + x + BASEVIDWIDTH/2, 12-8, hilicol, "ENCORE MODE"); if (!gutter) { - V_DrawFill(x+156, 32, 1, 152, 0); + V_DrawFill(x+156, 24, 1, 158, 0); + V_DrawFill(x, 182, 312, 1, 0); - V_DrawCenteredString(x+6+(BASEVIDWIDTH/2), 32, hilicol, "#"); - V_DrawString(x+36+(BASEVIDWIDTH/2), 32, hilicol, "NAME"); + V_DrawCenteredString(x+6+(BASEVIDWIDTH/2), 24, hilicol, "#"); + V_DrawString(x+36+(BASEVIDWIDTH/2), 24, hilicol, "NAME"); - V_DrawRightAlignedString(x+152, 32, hilicol, timeheader); + V_DrawRightAlignedString(x+152, 24, hilicol, timeheader); } - V_DrawCenteredString(x+6, 32, hilicol, "#"); - V_DrawString(x+36, 32, hilicol, "NAME"); + V_DrawCenteredString(x+6, 24, hilicol, "#"); + V_DrawString(x+36, 24, hilicol, "NAME"); - V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 32, hilicol, timeheader); + V_DrawRightAlignedString(x+(BASEVIDWIDTH/2)+152, 24, hilicol, timeheader); for (i = 0; i < data.match.numplayers; i++) { @@ -460,12 +461,10 @@ void Y_IntermissionDrawer(void) V_DrawCenteredString(x+6, y, 0, va("%d", data.match.pos[i])); - if (data.match.color[i] == 0) - V_DrawSmallScaledPatch(x+16, y-4, 0,faceprefix[*data.match.character[i]]); - else + if (data.match.color[i]) { UINT8 *colormap = R_GetTranslationColormap(*data.match.character[i], *data.match.color[i], GTC_CACHE); - V_DrawSmallMappedPatch(x+16, y-4, 0,faceprefix[*data.match.character[i]], colormap); + V_DrawMappedPatch(x+16, y-4, 0,facerankprefix[*data.match.character[i]], colormap); } if (!gutter) @@ -520,11 +519,11 @@ void Y_IntermissionDrawer(void) else data.match.num[i] = MAXPLAYERS; // this should be the only field setting in this function - y += 16; + y += 18; if (i == NUMFORNEWCOLUMN-1) { - y = 48; + y = 41; x += BASEVIDWIDTH/2; } #undef NUMFORNEWCOLUMN @@ -1148,12 +1147,10 @@ void Y_VoteDrawer(void) V_DrawDiag(x, y, 6, V_SNAPTOLEFT|levelinfo[votes[i]].gtc); } - if (players[i].skincolor == 0) - V_DrawSmallScaledPatch(x+24, y+9, V_SNAPTOLEFT, faceprefix[players[i].skin]); - else + if (players[i].skincolor) { UINT8 *colormap = R_GetTranslationColormap(players[i].skin, players[i].skincolor, GTC_CACHE); - V_DrawSmallMappedPatch(x+24, y+9, V_SNAPTOLEFT, faceprefix[players[i].skin], colormap); + V_DrawMappedPatch(x+24, y+9, V_SNAPTOLEFT, facerankprefix[players[i].skin], colormap); } }