mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-26 12:21:19 +00:00
Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart-Public.git into next
This commit is contained in:
commit
06b3e265f5
4 changed files with 44 additions and 20 deletions
|
@ -5151,22 +5151,20 @@ void G_GhostTicker(void)
|
||||||
if (ziptic & EZT_HIT)
|
if (ziptic & EZT_HIT)
|
||||||
{ // Spawn hit poofs for killing things!
|
{ // Spawn hit poofs for killing things!
|
||||||
UINT16 i, count = READUINT16(g->p), health;
|
UINT16 i, count = READUINT16(g->p), health;
|
||||||
UINT32 type;
|
//UINT32 type;
|
||||||
fixed_t x,y,z;
|
fixed_t x,y,z;
|
||||||
angle_t angle;
|
angle_t angle;
|
||||||
mobj_t *poof;
|
mobj_t *poof;
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
g->p += 4; // reserved
|
g->p += 4; // reserved
|
||||||
type = READUINT32(g->p);
|
g->p += 4; // backwards compat., type used to be here
|
||||||
health = READUINT16(g->p);
|
health = READUINT16(g->p);
|
||||||
x = READFIXED(g->p);
|
x = READFIXED(g->p);
|
||||||
y = READFIXED(g->p);
|
y = READFIXED(g->p);
|
||||||
z = READFIXED(g->p);
|
z = READFIXED(g->p);
|
||||||
angle = READANGLE(g->p);
|
angle = READANGLE(g->p);
|
||||||
if (!(mobjinfo[type].flags & MF_SHOOTABLE)
|
if (health != 0 || i >= 4) // only spawn for the first 4 hits per frame, to prevent ghosts from splode-spamming too bad.
|
||||||
|| !(mobjinfo[type].flags & (MF_ENEMY|MF_MONITOR))
|
|
||||||
|| health != 0 || i >= 4) // only spawn for the first 4 hits per frame, to prevent ghosts from splode-spamming too bad.
|
|
||||||
continue;
|
continue;
|
||||||
poof = P_SpawnMobj(x, y, z, MT_GHOST);
|
poof = P_SpawnMobj(x, y, z, MT_GHOST);
|
||||||
poof->angle = angle;
|
poof->angle = angle;
|
||||||
|
|
24
src/k_kart.c
24
src/k_kart.c
|
@ -7163,12 +7163,24 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
||||||
if (G_RaceGametype())
|
if (G_RaceGametype())
|
||||||
{
|
{
|
||||||
#define timestring(time) va("%i'%02i\"%02i", G_TicsToMinutes(time, true), G_TicsToSeconds(time), G_TicsToCentiseconds(time))
|
#define timestring(time) va("%i'%02i\"%02i", G_TicsToMinutes(time, true), G_TicsToSeconds(time), G_TicsToCentiseconds(time))
|
||||||
if (players[tab[i].num].exiting)
|
if (scorelines > 8)
|
||||||
V_DrawRightAlignedString(x+rightoffset, y, hilicol, timestring(players[tab[i].num].realtime));
|
{
|
||||||
else if (players[tab[i].num].pflags & PF_TIMEOVER)
|
if (players[tab[i].num].exiting)
|
||||||
V_DrawRightAlignedThinString(x+rightoffset, y-1, 0, "NO CONTEST.");
|
V_DrawRightAlignedThinString(x+rightoffset, y-1, hilicol|V_6WIDTHSPACE, timestring(players[tab[i].num].realtime));
|
||||||
else if (circuitmap)
|
else if (players[tab[i].num].pflags & PF_TIMEOVER)
|
||||||
V_DrawRightAlignedString(x+rightoffset, y, 0, va("Lap %d", tab[i].count));
|
V_DrawRightAlignedThinString(x+rightoffset, y-1, V_6WIDTHSPACE, "NO CONTEST.");
|
||||||
|
else if (circuitmap)
|
||||||
|
V_DrawRightAlignedThinString(x+rightoffset, y-1, V_6WIDTHSPACE, va("Lap %d", tab[i].count));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (players[tab[i].num].exiting)
|
||||||
|
V_DrawRightAlignedString(x+rightoffset, y, hilicol, timestring(players[tab[i].num].realtime));
|
||||||
|
else if (players[tab[i].num].pflags & PF_TIMEOVER)
|
||||||
|
V_DrawRightAlignedThinString(x+rightoffset, y-1, 0, "NO CONTEST.");
|
||||||
|
else if (circuitmap)
|
||||||
|
V_DrawRightAlignedString(x+rightoffset, y, 0, va("Lap %d", tab[i].count));
|
||||||
|
}
|
||||||
#undef timestring
|
#undef timestring
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -442,7 +442,7 @@ static CV_PossibleValue_t serversort_cons_t[] = {
|
||||||
{5,"Gametype"},
|
{5,"Gametype"},
|
||||||
{0,NULL}
|
{0,NULL}
|
||||||
};
|
};
|
||||||
consvar_t cv_serversort = {"serversort", "Ping", CV_HIDEN | CV_CALL, serversort_cons_t, M_SortServerList, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_serversort = {"serversort", "Ping", CV_CALL, serversort_cons_t, M_SortServerList, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
// autorecord demos for time attack
|
// autorecord demos for time attack
|
||||||
static consvar_t cv_autorecord = {"autorecord", "Yes", 0, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
static consvar_t cv_autorecord = {"autorecord", "Yes", 0, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
|
@ -432,7 +432,7 @@ void Y_IntermissionDrawer(void)
|
||||||
if (data.match.encore)
|
if (data.match.encore)
|
||||||
V_DrawCenteredString(-4 + x + BASEVIDWIDTH/2, 12-8, hilicol, "ENCORE MODE");
|
V_DrawCenteredString(-4 + x + BASEVIDWIDTH/2, 12-8, hilicol, "ENCORE MODE");
|
||||||
|
|
||||||
if (!gutter)
|
if (data.match.numplayers > NUMFORNEWCOLUMN)
|
||||||
{
|
{
|
||||||
V_DrawFill(x+156, 24, 1, 158, 0);
|
V_DrawFill(x+156, 24, 1, 158, 0);
|
||||||
V_DrawFill((x-3) - duptweak, 182, dupadjust-2, 1, 0);
|
V_DrawFill((x-3) - duptweak, 182, dupadjust-2, 1, 0);
|
||||||
|
@ -476,8 +476,8 @@ void Y_IntermissionDrawer(void)
|
||||||
|
|
||||||
STRBUFCPY(strtime, data.match.name[i]);
|
STRBUFCPY(strtime, data.match.name[i]);
|
||||||
|
|
||||||
if (!gutter)
|
if (data.match.numplayers > NUMFORNEWCOLUMN)
|
||||||
V_DrawThinString(x+36, y, ((data.match.num[i] == whiteplayer) ? hilicol : 0)|V_ALLOWLOWERCASE|V_6WIDTHSPACE, strtime);
|
V_DrawThinString(x+36, y-1, ((data.match.num[i] == whiteplayer) ? hilicol : 0)|V_ALLOWLOWERCASE|V_6WIDTHSPACE, strtime);
|
||||||
else
|
else
|
||||||
V_DrawString(x+36, y, ((data.match.num[i] == whiteplayer) ? hilicol : 0)|V_ALLOWLOWERCASE, strtime);
|
V_DrawString(x+36, y, ((data.match.num[i] == whiteplayer) ? hilicol : 0)|V_ALLOWLOWERCASE, strtime);
|
||||||
|
|
||||||
|
@ -490,17 +490,23 @@ void Y_IntermissionDrawer(void)
|
||||||
else
|
else
|
||||||
snprintf(strtime, sizeof strtime, "(+ %d)", data.match.increase[data.match.num[i]]);
|
snprintf(strtime, sizeof strtime, "(+ %d)", data.match.increase[data.match.num[i]]);
|
||||||
|
|
||||||
V_DrawRightAlignedString(x+120+gutter, y, 0, strtime);
|
if (data.match.numplayers > NUMFORNEWCOLUMN)
|
||||||
|
V_DrawRightAlignedThinString(x+135+gutter, y-1, V_6WIDTHSPACE, strtime);
|
||||||
|
else
|
||||||
|
V_DrawRightAlignedString(x+120+gutter, y, 0, strtime);
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(strtime, sizeof strtime, "%d", data.match.val[i]);
|
snprintf(strtime, sizeof strtime, "%d", data.match.val[i]);
|
||||||
|
|
||||||
V_DrawRightAlignedString(x+152+gutter, y, 0, strtime);
|
if (data.match.numplayers > NUMFORNEWCOLUMN)
|
||||||
|
V_DrawRightAlignedThinString(x+152+gutter, y-1, V_6WIDTHSPACE, strtime);
|
||||||
|
else
|
||||||
|
V_DrawRightAlignedString(x+152+gutter, y, 0, strtime);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (data.match.val[i] == (UINT32_MAX-1))
|
if (data.match.val[i] == (UINT32_MAX-1))
|
||||||
V_DrawRightAlignedThinString(x+152+gutter, y-1, 0, "NO CONTEST.");
|
V_DrawRightAlignedThinString(x+152+gutter, y-1, (data.match.numplayers > NUMFORNEWCOLUMN ? V_6WIDTHSPACE : 0), "NO CONTEST.");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (intertype == int_race)
|
if (intertype == int_race)
|
||||||
|
@ -509,10 +515,18 @@ void Y_IntermissionDrawer(void)
|
||||||
G_TicsToSeconds(data.match.val[i]), G_TicsToCentiseconds(data.match.val[i]));
|
G_TicsToSeconds(data.match.val[i]), G_TicsToCentiseconds(data.match.val[i]));
|
||||||
strtime[sizeof strtime - 1] = '\0';
|
strtime[sizeof strtime - 1] = '\0';
|
||||||
|
|
||||||
V_DrawRightAlignedString(x+152+gutter, y, 0, strtime);
|
if (data.match.numplayers > NUMFORNEWCOLUMN)
|
||||||
|
V_DrawRightAlignedThinString(x+152+gutter, y-1, V_6WIDTHSPACE, strtime);
|
||||||
|
else
|
||||||
|
V_DrawRightAlignedString(x+152+gutter, y, 0, strtime);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
V_DrawRightAlignedString(x+152+gutter, y, 0, va("%i", data.match.val[i]));
|
{
|
||||||
|
if (data.match.numplayers > NUMFORNEWCOLUMN)
|
||||||
|
V_DrawRightAlignedThinString(x+152+gutter, y-1, V_6WIDTHSPACE, va("%i", data.match.val[i]));
|
||||||
|
else
|
||||||
|
V_DrawRightAlignedString(x+152+gutter, y, 0, va("%i", data.match.val[i]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue