mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-03-30 23:12:06 +00:00
Merge branch 'master' into net-screen
This commit is contained in:
commit
e5183523a5
21 changed files with 202 additions and 148 deletions
|
@ -16,7 +16,7 @@ boolean allow_fullscreen = false;
|
|||
|
||||
|
||||
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
void I_StartupGraphics(void){}
|
||||
|
||||
|
|
|
@ -154,9 +154,9 @@ static CV_PossibleValue_t menuhighlight_cons_t[] =
|
|||
{V_GOLDMAP, "Always gold"},
|
||||
{V_LAVENDERMAP, "Always lavender"},
|
||||
{V_TEAMAP, "Always tea-green"},
|
||||
{V_STEELMAP, "Always steel"},
|
||||
{V_STEELMAP, "Always steel-blue"},
|
||||
{V_PINKMAP, "Always pink"},
|
||||
{V_TEALMAP, "Always teal"},
|
||||
{V_BROWNMAP, "Always brown"},
|
||||
{V_PEACHMAP, "Always peach"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
@ -291,7 +291,7 @@ static void CONS_backcolor_Change(void)
|
|||
// TODO: This could probably be improved somehow...
|
||||
// These colormaps are 99% identical, with just a few changed bytes
|
||||
UINT8 *yellowmap, *purplemap, *greenmap, *bluemap, *graymap, *redmap, *orangemap,\
|
||||
*skymap, *goldmap, *lavendermap, *teamap, *steelmap, *pinkmap, *tealmap, *peachmap;
|
||||
*skymap, *goldmap, *lavendermap, *teamap, *steelmap, *pinkmap, *brownmap, *peachmap;
|
||||
|
||||
static void CON_SetupColormaps(void)
|
||||
{
|
||||
|
@ -311,8 +311,8 @@ static void CON_SetupColormaps(void)
|
|||
teamap = (goldmap+256);
|
||||
steelmap = (teamap+256);
|
||||
pinkmap = (steelmap+256);
|
||||
tealmap = (pinkmap+256);
|
||||
peachmap = (tealmap+256);
|
||||
brownmap = (pinkmap+256);
|
||||
peachmap = (brownmap+256);
|
||||
|
||||
// setup the other colormaps, for console text
|
||||
|
||||
|
@ -335,8 +335,8 @@ static void CON_SetupColormaps(void)
|
|||
goldmap[120] = (UINT8)114;
|
||||
teamap[120] = (UINT8)177;
|
||||
steelmap[120] = (UINT8)201;
|
||||
pinkmap[120] = (UINT8)124;
|
||||
tealmap[120] = (UINT8)220;
|
||||
pinkmap[120] = (UINT8)145;
|
||||
brownmap[120] = (UINT8)48;
|
||||
peachmap[120] = (UINT8)69; // nice
|
||||
|
||||
// Init back colormap
|
||||
|
|
|
@ -39,7 +39,7 @@ extern UINT32 con_scalefactor; // console text scale factor
|
|||
extern consvar_t cons_backcolor, cons_menuhighlight;
|
||||
|
||||
extern UINT8 *yellowmap, *purplemap, *greenmap, *bluemap, *graymap, *redmap, *orangemap,\
|
||||
*skymap, *goldmap, *lavendermap, *teamap, *steelmap, *pinkmap, *tealmap, *peachmap;
|
||||
*skymap, *goldmap, *lavendermap, *teamap, *steelmap, *pinkmap, *brownmap, *peachmap;
|
||||
|
||||
// Console bg color (auto updated to match)
|
||||
extern UINT8 *consolebgmap;
|
||||
|
|
37
src/d_main.c
37
src/d_main.c
|
@ -723,20 +723,6 @@ void D_SRB2Loop(void)
|
|||
}
|
||||
else if (rendertimeout < entertic) // in case the server hang or netsplit
|
||||
{
|
||||
// Lagless camera! Yay!
|
||||
/* Not yay, it ruins Kart's drift :y
|
||||
if (gamestate == GS_LEVEL && netgame)
|
||||
{
|
||||
if (camera.chase)
|
||||
P_MoveChaseCamera(&players[displayplayer], &camera, false);
|
||||
if (splitscreen && camera2.chase)
|
||||
P_MoveChaseCamera(&players[secondarydisplayplayer], &camera2, false);
|
||||
if (splitscreen > 1 && camera3.chase)
|
||||
P_MoveChaseCamera(&players[thirddisplayplayer], &camera3, false);
|
||||
if (splitscreen > 2 && camera4.chase)
|
||||
P_MoveChaseCamera(&players[fourthdisplayplayer], &camera4, false);
|
||||
}
|
||||
*/
|
||||
D_Display();
|
||||
|
||||
if (moviemode)
|
||||
|
@ -1499,6 +1485,29 @@ void D_SRB2Main(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (M_CheckParm("-skill") && M_IsNextParm())
|
||||
{
|
||||
INT32 j;
|
||||
INT16 newskill = -1;
|
||||
const char *sskill = M_GetNextParm();
|
||||
|
||||
for (j = 0; kartspeed_cons_t[j].strvalue; j++)
|
||||
if (!strcasecmp(kartspeed_cons_t[j].strvalue, sskill))
|
||||
{
|
||||
newskill = (INT16)kartspeed_cons_t[j].value;
|
||||
break;
|
||||
}
|
||||
if (!kartspeed_cons_t[j].strvalue) // reached end of the list with no match
|
||||
{
|
||||
j = atoi(sskill); // assume they gave us a skill number, which is okay too
|
||||
if (j >= 0 && j <= 2)
|
||||
newskill = (INT16)j;
|
||||
}
|
||||
|
||||
if (newskill != -1)
|
||||
CV_SetValue(&cv_kartspeed, newskill);
|
||||
}
|
||||
|
||||
if (server && !M_CheckParm("+map"))
|
||||
{
|
||||
// Prevent warping to nonexistent levels
|
||||
|
|
|
@ -7620,9 +7620,9 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
|||
"SALMON", // 10 // SKINCOLOR_SALMON
|
||||
"PINK", // 11 // SKINCOLOR_PINK
|
||||
"ROSE", // 12 // SKINCOLOR_ROSE
|
||||
"RASPBERRY", // 13 // SKINCOLOR_RASPBERRY
|
||||
"RED", // 14 // SKINCOLOR_RED
|
||||
"RUBY", // 15 // SKINCOLOR_RUBY
|
||||
"RUBY", // 13 // SKINCOLOR_RUBY
|
||||
"RASPBERRY", // 14 // SKINCOLOR_RASPBERRY
|
||||
"RED", // 15 // SKINCOLOR_RED
|
||||
"CRIMSON", // 16 // SKINCOLOR_CRIMSON
|
||||
"KETCHUP", // 17 // SKINCOLOR_KETCHUP
|
||||
"DAWN", // 18 // SKINCOLOR_DAWN
|
||||
|
@ -7642,16 +7642,16 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
|||
"VOMIT", // 32 // SKINCOLOR_VOMIT
|
||||
"GARDEN", // 33 // SKINCOLOR_GARDEN
|
||||
"LIME", // 34 // SKINCOLOR_LIME
|
||||
"DREAM", // 35 // SKINCOLOR_DREAM
|
||||
"TEA", // 36 // SKINCOLOR_TEA
|
||||
"PISTACHIO", // 37 // SKINCOLOR_PISTACHIO
|
||||
"ROBOHOOD", // 38 // SKINCOLOR_ROBOHOOD
|
||||
"MOSS", // 39 // SKINCOLOR_MOSS
|
||||
"MINT", // 40 // SKINCOLOR_MINT
|
||||
"GREEN", // 41 // SKINCOLOR_GREEN
|
||||
"PINETREE", // 42 // SKINCOLOR_PINETREE
|
||||
"EMERALD", // 43 // SKINCOLOR_EMERALD
|
||||
"SWAMP", // 44 // SKINCOLOR_SWAMP
|
||||
"TEA", // 35 // SKINCOLOR_TEA
|
||||
"PISTACHIO", // 36 // SKINCOLOR_PISTACHIO
|
||||
"ROBOHOOD", // 37 // SKINCOLOR_ROBOHOOD
|
||||
"MOSS", // 38 // SKINCOLOR_MOSS
|
||||
"MINT", // 39 // SKINCOLOR_MINT
|
||||
"GREEN", // 40 // SKINCOLOR_GREEN
|
||||
"PINETREE", // 41 // SKINCOLOR_PINETREE
|
||||
"EMERALD", // 42 // SKINCOLOR_EMERALD
|
||||
"SWAMP", // 43 // SKINCOLOR_SWAMP
|
||||
"DREAM", // 44 // SKINCOLOR_DREAM
|
||||
"AQUA", // 45 // SKINCOLOR_AQUA
|
||||
"TEAL", // 46 // SKINCOLOR_TEAL
|
||||
"CYAN", // 47 // SKINCOLOR_CYAN
|
||||
|
@ -7661,9 +7661,9 @@ static const char *COLOR_ENUMS[] = { // Rejigged for Kart.
|
|||
"SLATE", // 51 // SKINCOLOR_SLATE
|
||||
"STEEL", // 52 // SKINCOLOR_STEEL
|
||||
"JET", // 53 // SKINCOLOR_JET
|
||||
"PERIWINKLE", // 54 // SKINCOLOR_PERIWINKLE
|
||||
"BLUE", // 55 // SKINCOLOR_BLUE
|
||||
"SAPPHIRE", // 56 // SKINCOLOR_SAPPHIRE
|
||||
"SAPPHIRE", // 54 // SKINCOLOR_SAPPHIRE
|
||||
"PERIWINKLE", // 55 // SKINCOLOR_PERIWINKLE
|
||||
"BLUE", // 56 // SKINCOLOR_BLUE
|
||||
"BLUEBERRY", // 57 // SKINCOLOR_BLUEBERRY
|
||||
"DUSK", // 58 // SKINCOLOR_DUSK
|
||||
"PURPLE", // 59 // SKINCOLOR_PURPLE
|
||||
|
@ -8272,7 +8272,7 @@ struct {
|
|||
{"V_TEAMAP",V_TEAMAP},
|
||||
{"V_STEELMAP",V_STEELMAP},
|
||||
{"V_PINKMAP",V_PINKMAP},
|
||||
{"V_TEALMAP",V_TEALMAP},
|
||||
{"V_BROWNMAP",V_BROWNMAP},
|
||||
{"V_PEACHMAP",V_PEACHMAP},
|
||||
{"V_TRANSLUCENT",V_TRANSLUCENT},
|
||||
{"V_10TRANS",V_10TRANS},
|
||||
|
|
|
@ -46,7 +46,7 @@ static void VID_Command_ModeInfo_f (void);
|
|||
static void VID_Command_ModeList_f (void);
|
||||
static void VID_Command_Mode_f (void);
|
||||
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
static consvar_t cv_stretch = {"stretch", "On", CV_SAVE|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
#define VBEVERSION 2 // we need vesa2 or higher
|
||||
|
@ -92,8 +92,8 @@ static vmode_t *pcurrentmode; // the current active videomode.
|
|||
|
||||
|
||||
// table des modes videos.
|
||||
// seul le mode 320x200x256c standard VGA est support‚ sans le VESA.
|
||||
// ce mode est le mode num‚ro 0 dans la liste.
|
||||
// seul le mode 320x200x256c standard VGA est support<EFBFBD> sans le VESA.
|
||||
// ce mode est le mode num<EFBFBD>ro 0 dans la liste.
|
||||
typedef struct
|
||||
{
|
||||
int modenum; // vesa vbe2.0 modenum
|
||||
|
|
|
@ -244,9 +244,9 @@ typedef enum
|
|||
SKINCOLOR_SALMON,
|
||||
SKINCOLOR_PINK,
|
||||
SKINCOLOR_ROSE,
|
||||
SKINCOLOR_RUBY,
|
||||
SKINCOLOR_RASPBERRY,
|
||||
SKINCOLOR_RED,
|
||||
SKINCOLOR_RUBY,
|
||||
SKINCOLOR_CRIMSON,
|
||||
SKINCOLOR_KETCHUP,
|
||||
SKINCOLOR_DAWN,
|
||||
|
@ -266,7 +266,6 @@ typedef enum
|
|||
SKINCOLOR_VOMIT,
|
||||
SKINCOLOR_GARDEN,
|
||||
SKINCOLOR_LIME,
|
||||
SKINCOLOR_DREAM,
|
||||
SKINCOLOR_TEA,
|
||||
SKINCOLOR_PISTACHIO,
|
||||
SKINCOLOR_ROBOHOOD,
|
||||
|
@ -276,6 +275,7 @@ typedef enum
|
|||
SKINCOLOR_PINETREE,
|
||||
SKINCOLOR_EMERALD,
|
||||
SKINCOLOR_SWAMP,
|
||||
SKINCOLOR_DREAM,
|
||||
SKINCOLOR_AQUA,
|
||||
SKINCOLOR_TEAL,
|
||||
SKINCOLOR_CYAN,
|
||||
|
@ -285,9 +285,9 @@ typedef enum
|
|||
SKINCOLOR_SLATE,
|
||||
SKINCOLOR_STEEL,
|
||||
SKINCOLOR_JET,
|
||||
SKINCOLOR_SAPPHIRE, // sweet mother, i cannot weave – slender aphrodite has overcome me with longing for a girl
|
||||
SKINCOLOR_PERIWINKLE,
|
||||
SKINCOLOR_BLUE,
|
||||
SKINCOLOR_SAPPHIRE, // sweet mother, i cannot weave – slender aphrodite has overcome me with longing for a girl
|
||||
SKINCOLOR_BLUEBERRY,
|
||||
SKINCOLOR_DUSK,
|
||||
SKINCOLOR_PURPLE,
|
||||
|
|
|
@ -8,7 +8,7 @@ boolean highcolor = false;
|
|||
|
||||
boolean allow_fullscreen = false;
|
||||
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
void I_StartupGraphics(void){}
|
||||
|
||||
|
|
111
src/hu_stuff.c
111
src/hu_stuff.c
|
@ -435,7 +435,7 @@ static void DoSayCommand(SINT8 target, size_t usedargs, UINT8 flags)
|
|||
numwords = COM_Argc() - usedargs;
|
||||
I_Assert(numwords > 0);
|
||||
|
||||
if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer))) // TODO: Per Player mute.
|
||||
if (CHAT_MUTE) // TODO: Per Player mute.
|
||||
{
|
||||
HU_AddChatText(va("%s>ERROR: The chat is muted. You can't say anything.", "\x85"));
|
||||
return;
|
||||
|
@ -567,8 +567,11 @@ static void Command_Sayteam_f(void)
|
|||
CONS_Alert(CONS_NOTICE, M_GetText("Dedicated servers can't send team messages. Use \"say\".\n"));
|
||||
return;
|
||||
}
|
||||
|
||||
DoSayCommand(-1, 1, 0);
|
||||
|
||||
if (G_GametypeHasTeams()) // revert to normal say if we don't have teams in this gametype.
|
||||
DoSayCommand(-1, 1, 0);
|
||||
else
|
||||
DoSayCommand(0, 1, 0);
|
||||
}
|
||||
|
||||
/** Send a message to everyone, to be displayed by CECHO. Only
|
||||
|
@ -721,16 +724,29 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
|
|||
{
|
||||
cstart = "\x86"; // grey name
|
||||
textcolor = "\x86";
|
||||
}
|
||||
}
|
||||
else if (target == -1) // say team
|
||||
{
|
||||
if (players[playernum].ctfteam == 1) // red
|
||||
{
|
||||
cstart = "\x85";
|
||||
textcolor = "\x85";
|
||||
}
|
||||
else // blue
|
||||
{
|
||||
cstart = "\x84";
|
||||
textcolor = "\x84";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
const UINT8 color = players[playernum].skincolor;
|
||||
if (color <= SKINCOLOR_SILVER || color == SKINCOLOR_SLATE)
|
||||
cstart = "\x80"; // white
|
||||
else if (color <= SKINCOLOR_BEIGE || color == SKINCOLOR_JET)
|
||||
else if (color <= SKINCOLOR_BLACK || color == SKINCOLOR_JET)
|
||||
cstart = "\x86"; // V_GRAYMAP
|
||||
else if (color <= SKINCOLOR_LEATHER)
|
||||
cstart = "\x8A"; // V_GOLDMAP
|
||||
cstart = "\x8e"; // V_BROWNMAP
|
||||
else if (color <= SKINCOLOR_ROSE || color == SKINCOLOR_LILAC)
|
||||
cstart = "\x8d"; // V_PINKMAP
|
||||
else if (color <= SKINCOLOR_KETCHUP)
|
||||
|
@ -741,14 +757,12 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
|
|||
cstart = "\x8f"; // V_PEACHMAP
|
||||
else if (color <= SKINCOLOR_BRONZE)
|
||||
cstart = "\x8A"; // V_GOLDMAP
|
||||
else if (color <= SKINCOLOR_MUSTARD)
|
||||
else if (color <= SKINCOLOR_OLIVE)
|
||||
cstart = "\x82"; // V_YELLOWMAP
|
||||
else if (color <= SKINCOLOR_PISTACHIO)
|
||||
cstart = "\x8b"; // V_TEAMAP
|
||||
else if (color <= SKINCOLOR_SWAMP || color == SKINCOLOR_LIME)
|
||||
else if (color <= SKINCOLOR_DREAM || color == SKINCOLOR_LIME)
|
||||
cstart = "\x83"; // V_GREENMAP
|
||||
else if (color <= SKINCOLOR_TEAL)
|
||||
cstart = "\x8e"; // V_TEALMAP
|
||||
else if (color <= SKINCOLOR_NAVY || color == SKINCOLOR_SAPPHIRE)
|
||||
cstart = "\x88"; // V_SKYMAP
|
||||
else if (color <= SKINCOLOR_STEEL)
|
||||
|
@ -783,13 +797,8 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
|
|||
// '\4' makes the message yellow and beeps; '\3' just beeps.
|
||||
if (action)
|
||||
{
|
||||
fmt = "\3* %s%s%s%s \x82%s\n"; // don't make /me yellow, yellow will be for mentions and PMs!
|
||||
fmt2 = "* %s%s%s%s \x82%s";
|
||||
}
|
||||
else if (target == 0) // To everyone
|
||||
{
|
||||
fmt = "\3%s<%s%s%s>\x80 %s%s\n";
|
||||
fmt2 = "%s<%s%s%s>\x80 %s%s";
|
||||
fmt = "\3* %s%s%s%s \x82%s%s\n"; // don't make /me yellow, yellow will be for mentions and PMs!
|
||||
fmt2 = "* %s%s%s%s \x82%s%s";
|
||||
}
|
||||
else if (target-1 == consoleplayer) // To you
|
||||
{
|
||||
|
@ -809,7 +818,12 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
|
|||
fmt2 = "%s<%s%s>%s\x80 %s%s";
|
||||
|
||||
}
|
||||
else // To your team
|
||||
else // To everyone or sayteam, it doesn't change anything.
|
||||
{
|
||||
fmt = "\3%s<%s%s%s>\x80 %s%s\n";
|
||||
fmt2 = "%s<%s%s%s>\x80 %s%s";
|
||||
}
|
||||
/*else // To your team
|
||||
{
|
||||
if (players[playernum].ctfteam == 1) // red
|
||||
prefix = "\x85[TEAM]";
|
||||
|
@ -820,8 +834,7 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum)
|
|||
|
||||
fmt = "\3%s<%s%s>\x80%s %s%s\n";
|
||||
fmt2 = "%s<%s%s>\x80%s %s%s";
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
HU_AddChatText(va(fmt2, prefix, cstart, dispname, cend, textcolor, msg)); // add it reguardless, in case we decide to change our mind about our chat type.
|
||||
|
||||
|
@ -950,7 +963,7 @@ static void HU_queueChatChar(INT32 c)
|
|||
c_input = 0;
|
||||
|
||||
// last minute mute check
|
||||
if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer)))
|
||||
if (CHAT_MUTE)
|
||||
{
|
||||
HU_AddChatText(va("%s>ERROR: The chat is muted. You can't say anything.", "\x85"));
|
||||
return;
|
||||
|
@ -1043,20 +1056,18 @@ static boolean justscrolledup;
|
|||
boolean HU_Responder(event_t *ev)
|
||||
{
|
||||
INT32 c=0;
|
||||
|
||||
|
||||
if (ev->type != ev_keydown)
|
||||
return false;
|
||||
|
||||
// only KeyDown events now...
|
||||
|
||||
|
||||
if (!chat_on)
|
||||
{
|
||||
// enter chat mode
|
||||
if ((ev->data1 == gamecontrol[gc_talkkey][0] || ev->data1 == gamecontrol[gc_talkkey][1])
|
||||
&& netgame && (!cv_mute.value || server || (IsPlayerAdmin(consoleplayer))))
|
||||
&& netgame && !OLD_MUTE) // check for old chat mute, still let the players open the chat incase they want to scroll otherwise.
|
||||
{
|
||||
if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer)))
|
||||
return false;
|
||||
chat_on = true;
|
||||
w_chat[0] = 0;
|
||||
teamtalk = false;
|
||||
|
@ -1064,20 +1075,18 @@ boolean HU_Responder(event_t *ev)
|
|||
return true;
|
||||
}
|
||||
if ((ev->data1 == gamecontrol[gc_teamkey][0] || ev->data1 == gamecontrol[gc_teamkey][1])
|
||||
&& netgame && (!cv_mute.value || server || (IsPlayerAdmin(consoleplayer))))
|
||||
&& netgame && !OLD_MUTE)
|
||||
{
|
||||
if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer)))
|
||||
return false;
|
||||
chat_on = true;
|
||||
w_chat[0] = 0;
|
||||
teamtalk = true;
|
||||
teamtalk = G_GametypeHasTeams(); // Don't teamtalk if we don't have teams.
|
||||
chat_scrollmedown = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else // if chat_on
|
||||
{
|
||||
|
||||
|
||||
// Ignore modifier keys
|
||||
// Note that we do this here so users can still set
|
||||
// their chat keys to one of these, if they so desire.
|
||||
|
@ -1105,7 +1114,7 @@ boolean HU_Responder(event_t *ev)
|
|||
// TODO: make chat behave like the console, so that we can go back and edit stuff when we fuck up.
|
||||
|
||||
// pasting. pasting is cool. chat is a bit limited, though :(
|
||||
if ((c == 'v' || c == 'V') && ctrldown)
|
||||
if (((c == 'v' || c == 'V') && ctrldown) && !CHAT_MUTE)
|
||||
{
|
||||
const char *paste = I_ClipboardPaste();
|
||||
|
||||
|
@ -1145,7 +1154,7 @@ boolean HU_Responder(event_t *ev)
|
|||
}
|
||||
}
|
||||
|
||||
if (HU_keyInChatString(w_chat,c))
|
||||
if (!CHAT_MUTE && HU_keyInChatString(w_chat,c))
|
||||
{
|
||||
HU_queueChatChar(c);
|
||||
}
|
||||
|
@ -1160,21 +1169,21 @@ boolean HU_Responder(event_t *ev)
|
|||
chat_on = false;
|
||||
c_input = 0; // reset input cursor
|
||||
}
|
||||
else if ((c == KEY_UPARROW || c == KEY_MOUSEWHEELUP) && chat_scroll > 0) // CHAT SCROLLING YAYS!
|
||||
else if ((c == KEY_UPARROW || c == KEY_MOUSEWHEELUP) && chat_scroll > 0 && !OLDCHAT) // CHAT SCROLLING YAYS!
|
||||
{
|
||||
chat_scroll--;
|
||||
justscrolledup = true;
|
||||
chat_scrolltime = 4;
|
||||
}
|
||||
else if ((c == KEY_DOWNARROW || c == KEY_MOUSEWHEELDOWN) && chat_scroll < chat_maxscroll && chat_maxscroll > 0)
|
||||
else if ((c == KEY_DOWNARROW || c == KEY_MOUSEWHEELDOWN) && chat_scroll < chat_maxscroll && chat_maxscroll > 0 && !OLDCHAT)
|
||||
{
|
||||
chat_scroll++;
|
||||
justscrolleddown = true;
|
||||
chat_scrolltime = 4;
|
||||
}
|
||||
else if (c == KEY_LEFTARROW && c_input != 0) // i said go back
|
||||
else if (c == KEY_LEFTARROW && c_input != 0 && !OLDCHAT) // i said go back
|
||||
c_input--;
|
||||
else if (c == KEY_RIGHTARROW && c_input < strlen(w_chat))
|
||||
else if (c == KEY_RIGHTARROW && c_input < strlen(w_chat) && !OLDCHAT) // don't need to check for admin or w/e here since the chat won't ever contain anything if it's muted.
|
||||
c_input++;
|
||||
return true;
|
||||
}
|
||||
|
@ -1485,8 +1494,10 @@ static void HU_DrawChat(void)
|
|||
INT32 charwidth = 4, charheight = 6;
|
||||
INT32 t = 0, c = 0, y = chaty - (typelines*charheight) - (cv_kartspeedometer.value ? 16 : 0);
|
||||
UINT32 i = 0, saylen = strlen(w_chat); // You learn new things everyday!
|
||||
INT32 cflag = 0;
|
||||
const char *ntalk = "Say: ", *ttalk = "Team: ";
|
||||
const char *talk = ntalk;
|
||||
const char *mute = "Chat has been muted.";
|
||||
|
||||
if (teamtalk)
|
||||
{
|
||||
|
@ -1498,7 +1509,14 @@ static void HU_DrawChat(void)
|
|||
t = 0x400; // Blue
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
if (CHAT_MUTE)
|
||||
{
|
||||
talk = mute;
|
||||
typelines = 1;
|
||||
cflag = V_GRAYMAP; // set text in gray if chat is muted.
|
||||
}
|
||||
|
||||
V_DrawFillConsoleMap(chatx, y-1, cv_chatwidth.value, (typelines*charheight), 239 | V_SNAPTOBOTTOM | V_SNAPTOLEFT);
|
||||
|
||||
while (talk[i])
|
||||
|
@ -1506,11 +1524,21 @@ static void HU_DrawChat(void)
|
|||
if (talk[i] < HU_FONTSTART)
|
||||
++i;
|
||||
else
|
||||
V_DrawChatCharacter(chatx + c + 2, y, talk[i++] |V_SNAPTOBOTTOM|V_SNAPTOLEFT, !cv_allcaps.value, NULL);
|
||||
{
|
||||
V_DrawChatCharacter(chatx + c + 2, y, talk[i] |V_SNAPTOBOTTOM|V_SNAPTOLEFT|cflag, !cv_allcaps.value, V_GetStringColormap(talk[i]|cflag));
|
||||
i++;
|
||||
}
|
||||
|
||||
c += charwidth;
|
||||
}
|
||||
|
||||
|
||||
// if chat is muted, just draw the log and get it over with:
|
||||
if (CHAT_MUTE)
|
||||
{
|
||||
HU_drawChatLog(0);
|
||||
return;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
typelines = 1;
|
||||
|
||||
|
@ -1955,10 +1983,13 @@ void HU_Drawer(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (netgame) // Don't draw it outside, I know it leads to stupid stuff.
|
||||
{
|
||||
chat_scrolltime = 0; // do scroll anyway.
|
||||
typelines = 1; // make sure that the chat doesn't have a weird blinking huge ass square if we typed a lot last time.
|
||||
if (!OLDCHAT)
|
||||
HU_drawMiniChat(); // draw messages in a cool fashion.
|
||||
}
|
||||
}
|
||||
|
||||
if (netgame) // would handle that in hu_drawminichat, but it's actually kinda awkward when you're typing a lot of messages. (only handle that in netgames duh)
|
||||
|
|
|
@ -81,6 +81,8 @@ 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.
|
||||
|
||||
#define OLDCHAT (cv_consolechat.value || dedicated || vid.width < 640)
|
||||
#define CHAT_MUTE (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer))) // this still allows to open the chat but not to type. That's used for scrolling and whatnot.
|
||||
#define OLD_MUTE (OLDCHAT && cv_mute.value && !(server || IsPlayerAdmin(consoleplayer))) // this is used to prevent oldchat from opening when muted.
|
||||
|
||||
// some functions
|
||||
void HU_AddChatText(const char *text);
|
||||
|
|
82
src/k_kart.c
82
src/k_kart.c
|
@ -55,9 +55,9 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
|||
"Salmon", // 10 // SKINCOLOR_SALMON
|
||||
"Pink", // 11 // SKINCOLOR_PINK
|
||||
"Rose", // 12 // SKINCOLOR_ROSE
|
||||
"Raspberry", // 13 // SKINCOLOR_RASPBERRY
|
||||
"Red", // 14 // SKINCOLOR_RED
|
||||
"Ruby", // 15 // SKINCOLOR_RUBY
|
||||
"Ruby", // 13 // SKINCOLOR_RUBY
|
||||
"Raspberry", // 14 // SKINCOLOR_RASPBERRY
|
||||
"Red", // 15 // SKINCOLOR_RED
|
||||
"Crimson", // 16 // SKINCOLOR_CRIMSON
|
||||
"Ketchup", // 17 // SKINCOLOR_KETCHUP
|
||||
"Dawn", // 18 // SKINCOLOR_DAWN
|
||||
|
@ -77,16 +77,16 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
|||
"Vomit", // 32 // SKINCOLOR_VOMIT
|
||||
"Garden", // 33 // SKINCOLOR_GARDEN
|
||||
"Lime", // 34 // SKINCOLOR_LIME
|
||||
"Dream", // 35 // SKINCOLOR_DREAM
|
||||
"Tea", // 36 // SKINCOLOR_TEA
|
||||
"Pistachio", // 37 // SKINCOLOR_PISTACHIO
|
||||
"Robo-Hood", // 38 // SKINCOLOR_ROBOHOOD
|
||||
"Moss", // 39 // SKINCOLOR_MOSS
|
||||
"Mint", // 40 // SKINCOLOR_MINT
|
||||
"Green", // 41 // SKINCOLOR_GREEN
|
||||
"Pinetree", // 42 // SKINCOLOR_PINETREE
|
||||
"Emerald", // 43 // SKINCOLOR_EMERALD
|
||||
"Swamp", // 44 // SKINCOLOR_SWAMP
|
||||
"Tea", // 35 // SKINCOLOR_TEA
|
||||
"Pistachio", // 36 // SKINCOLOR_PISTACHIO
|
||||
"Robo-Hood", // 37 // SKINCOLOR_ROBOHOOD
|
||||
"Moss", // 38 // SKINCOLOR_MOSS
|
||||
"Mint", // 39 // SKINCOLOR_MINT
|
||||
"Green", // 40 // SKINCOLOR_GREEN
|
||||
"Pinetree", // 41 // SKINCOLOR_PINETREE
|
||||
"Emerald", // 42 // SKINCOLOR_EMERALD
|
||||
"Swamp", // 43 // SKINCOLOR_SWAMP
|
||||
"Dream", // 44 // SKINCOLOR_DREAM
|
||||
"Aqua", // 45 // SKINCOLOR_AQUA
|
||||
"Teal", // 46 // SKINCOLOR_TEAL
|
||||
"Cyan", // 47 // SKINCOLOR_CYAN
|
||||
|
@ -96,9 +96,9 @@ const char *KartColor_Names[MAXSKINCOLORS] =
|
|||
"Slate", // 51 // SKINCOLOR_SLATE
|
||||
"Steel", // 52 // SKINCOLOR_STEEL
|
||||
"Jet", // 53 // SKINCOLOR_JET
|
||||
"Periwinkle", // 54 // SKINCOLOR_PERIWINKLE
|
||||
"Blue", // 55 // SKINCOLOR_BLUE
|
||||
"Sapphire", // 56 // SKINCOLOR_SAPPHIRE
|
||||
"Sapphire", // 54 // SKINCOLOR_SAPPHIRE
|
||||
"Periwinkle", // 55 // SKINCOLOR_PERIWINKLE
|
||||
"Blue", // 56 // SKINCOLOR_BLUE
|
||||
"Blueberry", // 57 // SKINCOLOR_BLUEBERRY
|
||||
"Dusk", // 58 // SKINCOLOR_DUSK
|
||||
"Purple", // 59 // SKINCOLOR_PURPLE
|
||||
|
@ -124,9 +124,9 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
|||
SKINCOLOR_TEA,8, // 10 // SKINCOLOR_SALMON
|
||||
SKINCOLOR_PISTACHIO,8, // 11 // SKINCOLOR_PINK
|
||||
SKINCOLOR_MOSS,8, // 12 // SKINCOLOR_ROSE
|
||||
SKINCOLOR_MINT,8, // 13 // SKINCOLOR_RASPBERRY
|
||||
SKINCOLOR_GREEN,6, // 14 // SKINCOLOR_RED
|
||||
SKINCOLOR_SAPPHIRE,8, // 15 // SKINCOLOR_RUBY
|
||||
SKINCOLOR_SAPPHIRE,8, // 13 // SKINCOLOR_RUBY
|
||||
SKINCOLOR_MINT,8, // 14 // SKINCOLOR_RASPBERRY
|
||||
SKINCOLOR_GREEN,6, // 15 // SKINCOLOR_RED
|
||||
SKINCOLOR_PINETREE,6, // 16 // SKINCOLOR_CRIMSON
|
||||
SKINCOLOR_MUSTARD,10, // 17 // SKINCOLOR_KETCHUP
|
||||
SKINCOLOR_DUSK,8, // 18 // SKINCOLOR_DAWN
|
||||
|
@ -146,16 +146,16 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
|||
SKINCOLOR_ROBOHOOD,8, // 32 // SKINCOLOR_VOMIT
|
||||
SKINCOLOR_LAVENDER,6, // 33 // SKINCOLOR_GARDEN
|
||||
SKINCOLOR_TANGERINE,8, // 34 // SKINCOLOR_LIME
|
||||
SKINCOLOR_POMEGRANATE,8, // 35 // SKINCOLOR_DREAM
|
||||
SKINCOLOR_SALMON,8, // 36 // SKINCOLOR_TEA
|
||||
SKINCOLOR_PINK,6, // 37 // SKINCOLOR_PISTACHIO
|
||||
SKINCOLOR_VOMIT,8, // 38 // SKINCOLOR_ROBOHOOD
|
||||
SKINCOLOR_ROSE,8, // 39 // SKINCOLOR_MOSS
|
||||
SKINCOLOR_RASPBERRY,8, // 40 // SKINCOLOR_MINT
|
||||
SKINCOLOR_RED,8, // 41 // SKINCOLOR_GREEN
|
||||
SKINCOLOR_CRIMSON,8, // 42 // SKINCOLOR_PINETREE
|
||||
SKINCOLOR_PURPLE,8, // 43 // SKINCOLOR_EMERALD
|
||||
SKINCOLOR_BYZANTIUM,8, // 44 // SKINCOLOR_SWAMP
|
||||
SKINCOLOR_SALMON,8, // 35 // SKINCOLOR_TEA
|
||||
SKINCOLOR_PINK,6, // 36 // SKINCOLOR_PISTACHIO
|
||||
SKINCOLOR_VOMIT,8, // 37 // SKINCOLOR_ROBOHOOD
|
||||
SKINCOLOR_ROSE,8, // 38 // SKINCOLOR_MOSS
|
||||
SKINCOLOR_RASPBERRY,8, // 39 // SKINCOLOR_MINT
|
||||
SKINCOLOR_RED,8, // 40 // SKINCOLOR_GREEN
|
||||
SKINCOLOR_CRIMSON,8, // 41 // SKINCOLOR_PINETREE
|
||||
SKINCOLOR_PURPLE,8, // 42 // SKINCOLOR_EMERALD
|
||||
SKINCOLOR_BYZANTIUM,8, // 43 // SKINCOLOR_SWAMP
|
||||
SKINCOLOR_POMEGRANATE,8, // 44 // SKINCOLOR_DREAM
|
||||
SKINCOLOR_YELLOW,8, // 45 // SKINCOLOR_AQUA
|
||||
SKINCOLOR_OLIVE,8, // 46 // SKINCOLOR_TEAL
|
||||
SKINCOLOR_PEACH,8, // 47 // SKINCOLOR_CYAN
|
||||
|
@ -165,9 +165,9 @@ const UINT8 KartColor_Opposite[MAXSKINCOLORS*2] =
|
|||
SKINCOLOR_GOLD,10, // 51 // SKINCOLOR_SLATE
|
||||
SKINCOLOR_BRONZE,10, // 52 // SKINCOLOR_STEEL
|
||||
SKINCOLOR_BURGUNDY,8, // 53 // SKINCOLOR_JET
|
||||
SKINCOLOR_CREAMSICLE,8, // 54 // SKINCOLOR_PERIWINKLE
|
||||
SKINCOLOR_ORANGE,8, // 55 // SKINCOLOR_BLUE
|
||||
SKINCOLOR_RUBY,6, // 56 // SKINCOLOR_SAPPHIRE
|
||||
SKINCOLOR_RUBY,6, // 54 // SKINCOLOR_SAPPHIRE
|
||||
SKINCOLOR_CREAMSICLE,8, // 55 // SKINCOLOR_PERIWINKLE
|
||||
SKINCOLOR_ORANGE,8, // 56 // SKINCOLOR_BLUE
|
||||
SKINCOLOR_PUMPKIN,8, // 57 // SKINCOLOR_BLUEBERRY
|
||||
SKINCOLOR_DAWN,6, // 58 // SKINCOLOR_DUSK
|
||||
SKINCOLOR_EMERALD,8, // 59 // SKINCOLOR_PURPLE
|
||||
|
@ -189,11 +189,11 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = {
|
|||
{ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63}, // SKINCOLOR_BROWN
|
||||
{ 51, 52, 53, 55, 56, 57, 58, 60, 61, 63, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_LEATHER
|
||||
{120, 120, 120, 121, 121, 122, 122, 123, 124, 125, 126, 128, 129, 131, 133, 135}, // SKINCOLOR_SALMON
|
||||
{121, 121, 144, 144, 145, 145, 146, 146, 147, 148, 149, 150, 151, 134, 136, 138}, // SKINCOLOR_PINK
|
||||
{120, 121, 121, 122, 144, 145, 146, 147, 148, 149, 150, 151, 134, 136, 138, 140}, // SKINCOLOR_PINK
|
||||
{144, 145, 146, 147, 148, 149, 150, 151, 134, 135, 136, 137, 138, 139, 140, 141}, // SKINCOLOR_ROSE
|
||||
{121, 122, 145, 146, 147, 149, 131, 132, 133, 134, 135, 197, 197, 198, 199, 255}, // SKINCOLOR_RUBY
|
||||
{120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 133, 134, 136, 137, 139}, // SKINCOLOR_RASPBERRY
|
||||
{125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140}, // SKINCOLOR_RED
|
||||
{121, 122, 145, 146, 147, 149, 131, 132, 133, 134, 135, 197, 197, 198, 199, 255}, // SKINCOLOR_RUBY
|
||||
{130, 131, 132, 133, 134, 136, 137, 138, 139, 139, 140, 140, 141, 141, 142, 143}, // SKINCOLOR_CRIMSON
|
||||
{104, 113, 113, 85, 86, 88, 128, 129, 131, 133, 134, 136, 138, 139, 141, 143}, // SKINCOLOR_KETCHUP
|
||||
{120, 121, 122, 123, 124, 147, 147, 148, 90, 91, 92, 93, 94, 95, 152, 154}, // SKINCOLOR_DAWN
|
||||
|
@ -213,7 +213,6 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = {
|
|||
{121, 144, 145, 72, 73, 84, 114, 115, 107, 108, 109, 183, 223, 207, 30, 246}, // SKINCOLOR_VOMIT
|
||||
{ 98, 99, 112, 101, 113, 114, 106, 179, 180, 180, 181, 182, 183, 173, 174, 175}, // SKINCOLOR_GARDEN
|
||||
{ 96, 97, 99, 100, 102, 104, 160, 162, 164, 166, 168, 171, 223, 223, 207, 31}, // SKINCOLOR_LIME
|
||||
{120, 120, 80, 80, 81, 177, 162, 164, 228, 228, 204, 204, 205, 205, 206, 207}, // SKINCOLOR_DREAM
|
||||
{120, 120, 176, 176, 176, 177, 177, 178, 178, 179, 179, 180, 180, 181, 182, 183}, // SKINCOLOR_TEA
|
||||
{120, 120, 176, 176, 177, 177, 178, 179, 165, 166, 167, 168, 169, 170, 171, 172}, // SKINCOLOR_PISTACHIO
|
||||
{176, 176, 177, 178, 165, 166, 167, 167, 168, 169, 182, 182, 182, 183, 183, 183}, // SKINCOLOR_ROBOHOOD
|
||||
|
@ -223,18 +222,19 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = {
|
|||
{160, 161, 162, 164, 165, 167, 169, 170, 171, 171, 172, 173, 174, 175, 30, 31}, // SKINCOLOR_PINETREE
|
||||
{160, 184, 184, 185, 185, 186, 186, 187, 187, 188, 188, 189, 189, 190, 191, 175}, // SKINCOLOR_EMERALD
|
||||
{186, 187, 188, 188, 188, 189, 189, 190, 190, 191, 175, 175, 30, 30, 31, 31}, // SKINCOLOR_SWAMP
|
||||
{120, 120, 80, 80, 81, 177, 162, 164, 228, 228, 204, 204, 205, 205, 206, 207}, // SKINCOLOR_DREAM
|
||||
{120, 208, 208, 210, 212, 214, 220, 220, 220, 221, 221, 222, 222, 223, 223, 191}, // SKINCOLOR_AQUA
|
||||
{210, 213, 220, 220, 220, 216, 216, 221, 221, 221, 222, 222, 223, 223, 191, 31}, // SKINCOLOR_TEAL
|
||||
{120, 120, 208, 208, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 222, 223}, // SKINCOLOR_CYAN
|
||||
{120, 120, 208, 209, 210, 226, 215, 216, 217, 229, 229, 205, 205, 206, 207, 31}, // SKINCOLOR_JAWZ
|
||||
{208, 209, 211, 213, 215, 216, 216, 217, 217, 218, 218, 219, 205, 206, 207, 207}, // SKINCOLOR_CERULEAN
|
||||
{215, 215, 215, 216, 216, 217, 218, 204, 204, 205, 205, 206, 207, 29, 30, 31}, // SKINCOLOR_NAVY
|
||||
{211, 212, 213, 215, 216, 218, 219, 205, 206, 206, 207, 207, 28, 29, 30, 31}, // SKINCOLOR_NAVY
|
||||
{120, 120, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 204, 205, 206, 207}, // SKINCOLOR_SLATE
|
||||
{120, 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 206, 207, 31}, // SKINCOLOR_STEEL
|
||||
{200, 201, 202, 203, 204, 205, 206, 207, 28, 28, 29, 29, 30, 30, 31, 31}, // SKINCOLOR_JET
|
||||
{225, 226, 227, 228, 229, 205, 205, 206, 207, 207, 28, 28, 29, 29, 30, 31}, // SKINCOLOR_JET
|
||||
{208, 209, 211, 213, 215, 217, 229, 230, 232, 234, 236, 238, 240, 242, 244, 246}, // SKINCOLOR_SAPPHIRE
|
||||
{120, 224, 225, 226, 226, 227, 228, 228, 229, 230, 231, 234, 235, 237, 239, 241}, // SKINCOLOR_PERIWINKLE
|
||||
{224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239}, // SKINCOLOR_BLUE
|
||||
{208, 209, 211, 213, 215, 217, 229, 230, 232, 234, 236, 238, 240, 242, 244, 246}, // SKINCOLOR_SAPPHIRE
|
||||
{228, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 242, 243, 244, 245}, // SKINCOLOR_BLUEBERRY
|
||||
{192, 192, 248, 249, 250, 251, 204, 204, 205, 205, 206, 206, 207, 29, 30, 31}, // SKINCOLOR_DUSK
|
||||
{192, 192, 192, 193, 193, 194, 194, 195, 195, 196, 196, 197, 197, 198, 198, 199}, // SKINCOLOR_PURPLE
|
||||
|
@ -3186,7 +3186,7 @@ void K_DropHnextList(player_t *player)
|
|||
mobj_t *work = player->mo, *nextwork, *dropwork;
|
||||
INT32 flip;
|
||||
mobjtype_t type;
|
||||
boolean orbit, ponground;
|
||||
boolean orbit, ponground, dropall = true;
|
||||
|
||||
if (!work)
|
||||
return;
|
||||
|
@ -3226,6 +3226,7 @@ void K_DropHnextList(player_t *player)
|
|||
break;
|
||||
case MT_SSMINE_SHIELD:
|
||||
orbit = false;
|
||||
dropall = false;
|
||||
type = MT_SSMINE;
|
||||
break;
|
||||
case MT_FAKESHIELD:
|
||||
|
@ -3304,7 +3305,8 @@ void K_DropHnextList(player_t *player)
|
|||
player->kartstuff[k_bananadrag] = 0;
|
||||
if (player->kartstuff[k_eggmanheld])
|
||||
player->kartstuff[k_eggmanheld] = 0;
|
||||
else if (player->kartstuff[k_itemheld])
|
||||
else if (player->kartstuff[k_itemheld]
|
||||
&& (dropall || (--player->kartstuff[k_itemamount] <= 0)))
|
||||
{
|
||||
player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0;
|
||||
player->kartstuff[k_itemtype] = KITEM_NONE;
|
||||
|
|
|
@ -32,7 +32,7 @@ boolean highcolor = false;
|
|||
|
||||
boolean allow_fullscreen = false;
|
||||
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
void I_StartupGraphics(void)
|
||||
{
|
||||
|
|
|
@ -494,11 +494,19 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
K_StripOther(player);
|
||||
player->kartstuff[k_itemroulette] = 1;
|
||||
player->kartstuff[k_roulettetype] = 2;
|
||||
if (special->target && special->target->player
|
||||
&& (G_RaceGametype() || special->target->player->kartstuff[k_bumper] > 0))
|
||||
player->kartstuff[k_eggmanblame] = special->target->player-players;
|
||||
else
|
||||
player->kartstuff[k_eggmanblame] = player-players;
|
||||
if (special->target && special->target->player)
|
||||
{
|
||||
if (G_RaceGametype() || special->target->player->kartstuff[k_bumper] > 0)
|
||||
player->kartstuff[k_eggmanblame] = special->target->player-players;
|
||||
else
|
||||
player->kartstuff[k_eggmanblame] = player-players;
|
||||
|
||||
if (special->target->hnext == special)
|
||||
{
|
||||
P_SetTarget(&special->target->hnext, NULL);
|
||||
special->target->player->kartstuff[k_eggmanheld] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
P_RemoveMobj(special);
|
||||
return;
|
||||
|
|
10
src/p_tick.c
10
src/p_tick.c
|
@ -748,6 +748,16 @@ void P_Ticker(boolean run)
|
|||
D_MapChange(gamemap, gametype, encoremode, true, 0, false, false);
|
||||
}
|
||||
|
||||
// Always move the camera.
|
||||
if (camera.chase)
|
||||
P_MoveChaseCamera(&players[displayplayer], &camera, false);
|
||||
if (splitscreen && camera2.chase)
|
||||
P_MoveChaseCamera(&players[secondarydisplayplayer], &camera2, false);
|
||||
if (splitscreen > 1 && camera3.chase)
|
||||
P_MoveChaseCamera(&players[thirddisplayplayer], &camera3, false);
|
||||
if (splitscreen > 2 && camera4.chase)
|
||||
P_MoveChaseCamera(&players[fourthdisplayplayer], &camera4, false);
|
||||
|
||||
P_MapEnd();
|
||||
|
||||
// Z_CheckMemCleanup();
|
||||
|
|
|
@ -9570,12 +9570,6 @@ void P_PlayerAfterThink(player_t *player)
|
|||
|
||||
if (player->playerstate == PST_DEAD)
|
||||
{
|
||||
// camera may still move when guy is dead
|
||||
//if (!netgame)
|
||||
{
|
||||
if (thiscam && thiscam->chase)
|
||||
P_MoveChaseCamera(player, thiscam, false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -9857,8 +9851,6 @@ void P_PlayerAfterThink(player_t *player)
|
|||
player->viewz = player->mo->z + player->mo->height - player->viewheight;
|
||||
else
|
||||
player->viewz = player->mo->z + player->viewheight;
|
||||
if (server || addedtogame)
|
||||
P_MoveChaseCamera(player, thiscam, false); // calculate the camera movement
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ rendermode_t rendermode=render_soft;
|
|||
boolean highcolor = false;
|
||||
|
||||
// synchronize page flipping with screen refresh
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
static consvar_t cv_stretch = {"stretch", "Off", CV_SAVE|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
UINT8 graphics_started = 0; // Is used in console.c and screen.c
|
||||
|
|
|
@ -150,7 +150,7 @@ boolean highcolor = false;
|
|||
#if defined(DC) || (defined(GP2X) && !defined(HAVE_GP2XSDL))
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
#else
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
#endif
|
||||
static consvar_t cv_stretch = {"stretch", "Off", CV_SAVE|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
|
|
|
@ -1282,8 +1282,8 @@ UINT8 *V_GetStringColormap(INT32 colorflags)
|
|||
return steelmap;
|
||||
case 13: // 0x8D, pink
|
||||
return pinkmap;
|
||||
case 14: // 0x8E, teal
|
||||
return tealmap;
|
||||
case 14: // 0x8E, brown
|
||||
return brownmap;
|
||||
case 15: // 0x8F, peach
|
||||
return peachmap;
|
||||
default: // reset
|
||||
|
|
|
@ -82,7 +82,7 @@ extern UINT8 hudtrans;
|
|||
#define V_TEAMAP 0x0000B000
|
||||
#define V_STEELMAP 0x0000C000
|
||||
#define V_PINKMAP 0x0000D000
|
||||
#define V_TEALMAP 0x0000E000
|
||||
#define V_BROWNMAP 0x0000E000
|
||||
#define V_PEACHMAP 0x0000F000
|
||||
|
||||
// use bits 17-20 for alpha transparency
|
||||
|
|
|
@ -51,7 +51,7 @@ rendermode_t rendermode = render_soft;
|
|||
static void OnTop_OnChange(void);
|
||||
// synchronize page flipping with screen refresh
|
||||
static CV_PossibleValue_t CV_NeverOnOff[] = {{-1, "Never"}, {0, "Off"}, {1, "On"}, {0, NULL}};
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, OnTop_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, OnTop_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
static consvar_t cv_stretch = {"stretch", "On", CV_SAVE|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
static consvar_t cv_ontop = {"ontop", "Never", 0, CV_NeverOnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
rendermode_t rendermode = render_soft;
|
||||
|
||||
// synchronize page flipping with screen refresh
|
||||
consvar_t cv_vidwait = {"vid_wait", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_vidwait = {"vid_wait", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
static consvar_t cv_stretch = {"stretch", "On", CV_SAVE|CV_NOSHOWHELP, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
boolean highcolor;
|
||||
|
|
Loading…
Reference in a new issue