Resolved merge conflict and renamed gamerankings to minirankings

This commit is contained in:
Latapostrophe 2018-10-31 15:18:05 +01:00
commit 7a04fd1097
4 changed files with 87 additions and 111 deletions

View file

@ -109,8 +109,6 @@ static patch_t *crosshair[HU_CROSSHAIRS]; // 3 precached crosshair graphics
// protos. // protos.
// ------- // -------
static void HU_DrawRankings(void); static void HU_DrawRankings(void);
//static void HU_DrawCoopOverlay(void);
//static void HU_DrawNetplayCoopOverlay(void);
//====================================================================== //======================================================================
// KEYBOARD LAYOUTS FOR ENTERING TEXT // KEYBOARD LAYOUTS FOR ENTERING TEXT
@ -2112,12 +2110,7 @@ void HU_Drawer(void)
#ifdef HAVE_BLUA #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_rankings)) if (LUA_HudEnabled(hud_rankings))
#endif #endif
HU_DrawRankings(); HU_DrawRankings();
//if (gametype == GT_COOP)
//HU_DrawNetplayCoopOverlay();
}
//else
//HU_DrawCoopOverlay();
#ifdef HAVE_BLUA #ifdef HAVE_BLUA
LUAh_ScoresHUD(); LUAh_ScoresHUD();
#endif #endif
@ -2793,65 +2786,6 @@ static void HU_DrawRankings(void)
HU_DrawSpectatorTicker(); HU_DrawSpectatorTicker();
} }
/*static void HU_DrawCoopOverlay(void)
{
if (token
#ifdef HAVE_BLUA
&& LUA_HudEnabled(hud_tokens)
#endif
)
{
V_DrawString(168, 176, 0, va("- %d", token));
V_DrawSmallScaledPatch(148, 172, 0, tokenicon);
}
#ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_tabemblems))
#endif
if (!modifiedgame || savemoddata)
{
V_DrawString(160, 144, 0, va("- %d/%d", M_CountEmblems(), numemblems+numextraemblems));
V_DrawScaledPatch(128, 144 - SHORT(emblemicon->height)/4, 0, emblemicon);
}
#ifdef HAVE_BLUA
if (!LUA_HudEnabled(hud_coopemeralds))
return;
#endif
if (emeralds & EMERALD1)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3)-32, 0, emeraldpics[0]);
if (emeralds & EMERALD2)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8+24, (BASEVIDHEIGHT/3)-16, 0, emeraldpics[1]);
if (emeralds & EMERALD3)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8+24, (BASEVIDHEIGHT/3)+16, 0, emeraldpics[2]);
if (emeralds & EMERALD4)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3)+32, 0, emeraldpics[3]);
if (emeralds & EMERALD5)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8-24, (BASEVIDHEIGHT/3)+16, 0, emeraldpics[4]);
if (emeralds & EMERALD6)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8-24, (BASEVIDHEIGHT/3)-16, 0, emeraldpics[5]);
if (emeralds & EMERALD7)
V_DrawScaledPatch((BASEVIDWIDTH/2)-8 , (BASEVIDHEIGHT/3) , 0, emeraldpics[6]);
}
static void HU_DrawNetplayCoopOverlay(void)
{
int i;
#ifdef HAVE_BLUA
if (!LUA_HudEnabled(hud_coopemeralds))
return;
#endif
for (i = 0; i < 7; ++i)
{
if (emeralds & (1 << i))
V_DrawScaledPatch(20 + (i * 20), 6, 0, emeraldpics[i]);
}
}*/
// Interface to CECHO settings for the outside world, avoiding the // Interface to CECHO settings for the outside world, avoiding the
// expense (and security problems) of going via the console buffer. // expense (and security problems) of going via the console buffer.
void HU_ClearCEcho(void) void HU_ClearCEcho(void)

View file

@ -20,6 +20,7 @@
#include "m_cond.h" #include "m_cond.h"
#include "k_kart.h" #include "k_kart.h"
#include "f_finale.h" #include "f_finale.h"
#include "lua_hud.h" // For Lua hud checks
// SOME IMPORTANT VARIABLES DEFINED IN DOOMDEF.H: // SOME IMPORTANT VARIABLES DEFINED IN DOOMDEF.H:
// gamespeed is cc (0 for easy, 1 for normal, 2 for hard) // gamespeed is cc (0 for easy, 1 for normal, 2 for hard)
@ -7545,7 +7546,12 @@ void K_drawKartHUD(void)
K_drawKartFirstPerson(); K_drawKartFirstPerson();
if (splitscreen == 2) // Player 4 in 3P is the minimap :p if (splitscreen == 2) // Player 4 in 3P is the minimap :p
{
#ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_minimap))
#endif
K_drawKartMinimap(); K_drawKartMinimap();
}
// Draw full screen stuff that turns off the rest of the HUD // Draw full screen stuff that turns off the rest of the HUD
if (mapreset && stplyr == &players[displayplayer]) if (mapreset && stplyr == &players[displayplayer])
@ -7570,25 +7576,45 @@ void K_drawKartHUD(void)
K_drawKartPlayerCheck(); K_drawKartPlayerCheck();
if (splitscreen == 0 && cv_kartminimap.value) if (splitscreen == 0 && cv_kartminimap.value)
K_drawKartMinimap(); // 3P splitscreen is handled above {
#ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_minimap))
#endif
K_drawKartMinimap(); // 3P splitscreen is handled above
}
// Draw the item window // Draw the item window
K_drawKartItem(); #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_item))
#endif
K_drawKartItem();
// Draw WANTED status // Draw WANTED status
if (G_BattleGametype()) if (G_BattleGametype())
K_drawKartWanted(); {
#ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_wanted))
#endif
K_drawKartWanted();
}
// If not splitscreen, draw... // If not splitscreen, draw...
if (!splitscreen) if (!splitscreen)
{ {
// Draw the timestamp // Draw the timestamp
K_drawKartTimestamp(stplyr->realtime, TIME_X, TIME_Y, gamemap, true); #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_time))
#endif
K_drawKartTimestamp(stplyr->realtime, TIME_X, TIME_Y, gamemap, true);
if (!modeattacking) if (!modeattacking)
{ {
// The top-four faces on the left // The top-four faces on the left
isfreeplay = K_drawKartPositionFaces(); #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_minirankings))
#endif
isfreeplay = K_drawKartPositionFaces();
} }
} }
@ -7597,12 +7623,18 @@ void K_drawKartHUD(void)
if (G_RaceGametype()) // Race-only elements if (G_RaceGametype()) // Race-only elements
{ {
// Draw the lap counter // Draw the lap counter
K_drawKartLaps(); #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_gametypeinfo))
#endif
K_drawKartLaps();
if (!splitscreen) if (!splitscreen)
{ {
// Draw the speedometer // Draw the speedometer
// TODO: Make a better speedometer. // TODO: Make a better speedometer.
#ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_speedometer))
#endif
K_drawKartSpeedometer(); K_drawKartSpeedometer();
} }
@ -7611,7 +7643,10 @@ void K_drawKartHUD(void)
else if (!modeattacking) else if (!modeattacking)
{ {
// Draw the numerical position // Draw the numerical position
K_DrawKartPositionNum(stplyr->kartstuff[k_position]); #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_position))
#endif
K_DrawKartPositionNum(stplyr->kartstuff[k_position]);
} }
else //if (!(demoplayback && hu_showscores)) else //if (!(demoplayback && hu_showscores))
{ {
@ -7622,7 +7657,10 @@ void K_drawKartHUD(void)
else if (G_BattleGametype()) // Battle-only else if (G_BattleGametype()) // Battle-only
{ {
// Draw the hits left! // Draw the hits left!
K_drawKartBumpersOrKarma(); #ifdef HAVE_BLUA
if (LUA_HudEnabled(hud_gametypeinfo))
#endif
K_drawKartBumpersOrKarma();
} }
} }

View file

@ -13,26 +13,17 @@
enum hud { enum hud {
hud_stagetitle = 0, hud_stagetitle = 0,
hud_textspectator, hud_textspectator,
// Singleplayer / Co-op
hud_score,
hud_time, hud_time,
hud_rings, hud_gametypeinfo,
hud_lives, hud_minimap,
// Match / CTF / Tag / Ringslinger hud_item,
hud_weaponrings, hud_position,
hud_powerstones, hud_minirankings, // Rankings to the left
// NiGHTS mode hud_wanted,
hud_nightslink, hud_speedometer,
hud_nightsdrill, hud_rankings, // Tab rankings
hud_nightsrings,
hud_nightsscore,
hud_nightstime,
hud_nightsrecords,
// TAB scores overlays
hud_rankings,
hud_coopemeralds,
hud_tokens,
hud_tabemblems,
hud_MAX hud_MAX
}; };

View file

@ -39,25 +39,15 @@ static const char *const hud_disable_options[] = {
"stagetitle", "stagetitle",
"textspectator", "textspectator",
"score",
"time", "time",
"rings", "gametypeinfo", // Bumpers / Karma / Laps depending on gametype
"lives", "minimap",
"item",
"weaponrings", "position",
"powerstones", "minirankings", // Gametype rankings to the left
"wanted",
"nightslink", "speedometer",
"nightsdrill",
"nightsrings",
"nightsscore",
"nightstime",
"nightsrecords",
"rankings", "rankings",
"coopemeralds",
"tokens",
"tabemblems",
NULL}; NULL};
enum hudinfo { enum hudinfo {
@ -584,6 +574,15 @@ static int libd_renderer(lua_State *L)
return 1; return 1;
} }
// Lat': Get cv_translucenthud's value for HUD rendering as a normal V_xxTRANS int instead of V_HUDTRANS. This is useful if we want to work from that transparency value
// Could as well be thrown in global vars for ease of access but I guess it makes sense for it to be a HUD fn
static int libd_getlocaltransflag(lua_State *L)
{
HUDONLY
lua_pushinteger(L, (10-cv_translucenthud.value)*V_10TRANS); // A bit weird that it's called "translucenthud" yet 10 is fully opaque :V
return 1;
}
static luaL_Reg lib_draw[] = { static luaL_Reg lib_draw[] = {
{"patchExists", libd_patchExists}, {"patchExists", libd_patchExists},
{"cachePatch", libd_cachePatch}, {"cachePatch", libd_cachePatch},
@ -601,6 +600,7 @@ static luaL_Reg lib_draw[] = {
{"dupx", libd_dupx}, {"dupx", libd_dupx},
{"dupy", libd_dupy}, {"dupy", libd_dupy},
{"renderer", libd_renderer}, {"renderer", libd_renderer},
{"localTransFlag", libd_getlocaltransflag},
{NULL, NULL} {NULL, NULL}
}; };
@ -624,6 +624,18 @@ static int lib_huddisable(lua_State *L)
return 0; return 0;
} }
// 30/10/18: Lat': Why the FUCK is this NOT in vanilla
static int lib_hudenabled(lua_State *L)
{
enum hud option = luaL_checkoption(L, 1, NULL, hud_disable_options);
if (hud_enabled[option/8] & (1<<(option%8)))
lua_pushboolean(L, true);
else
lua_pushboolean(L, false);
return 1;
}
// add a HUD element for rendering // add a HUD element for rendering
static int lib_hudadd(lua_State *L) static int lib_hudadd(lua_State *L)
{ {
@ -648,6 +660,7 @@ static int lib_hudadd(lua_State *L)
static luaL_Reg lib_hud[] = { static luaL_Reg lib_hud[] = {
{"enable", lib_hudenable}, {"enable", lib_hudenable},
{"disable", lib_huddisable}, {"disable", lib_huddisable},
{"enabled", lib_hudenabled},
{"add", lib_hudadd}, {"add", lib_hudadd},
{NULL, NULL} {NULL, NULL}
}; };