From 49acbe9beeee8ab8e55681329f77c74ac754da60 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Mon, 1 Oct 2018 20:23:56 +0200 Subject: [PATCH 01/13] Fix /me and sayteam, except sayteam now actually doesn't do anything anymore. --- src/hu_stuff.c | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index ab427b48..67a65645 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -721,7 +721,20 @@ 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; @@ -783,13 +796,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 +817,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 +833,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. @@ -1070,7 +1082,8 @@ boolean HU_Responder(event_t *ev) return false; chat_on = true; w_chat[0] = 0; - teamtalk = true; + teamtalk = false; // CHANGE THIS TO TRUE TO MAKE SAYTEAM WORK AGAIN + //teamtalk = true; chat_scrollmedown = true; return true; } @@ -1955,10 +1968,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) From 4aea053c2fd07b47131b74b44d9c8e9425d753a0 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Wed, 3 Oct 2018 20:09:32 +0200 Subject: [PATCH 02/13] Allow client to open chat and scroll even if muted. --- src/hu_stuff.c | 59 +++++++++++++++++++++++++++++++++----------------- src/hu_stuff.h | 2 ++ 2 files changed, 41 insertions(+), 20 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 67a65645..255d8512 100644 --- a/src/hu_stuff.c +++ b/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; @@ -962,7 +962,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; @@ -1055,20 +1055,20 @@ 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; + //if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer))) + // return false; chat_on = true; w_chat[0] = 0; teamtalk = false; @@ -1076,10 +1076,10 @@ 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; + //if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer))) + // return false; chat_on = true; w_chat[0] = 0; teamtalk = false; // CHANGE THIS TO TRUE TO MAKE SAYTEAM WORK AGAIN @@ -1090,7 +1090,7 @@ boolean HU_Responder(event_t *ev) } 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. @@ -1118,7 +1118,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(); @@ -1158,7 +1158,7 @@ boolean HU_Responder(event_t *ev) } } - if (HU_keyInChatString(w_chat,c)) + if (!CHAT_MUTE && HU_keyInChatString(w_chat,c)) { HU_queueChatChar(c); } @@ -1173,21 +1173,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; } @@ -1498,8 +1498,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) { @@ -1511,7 +1513,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]) @@ -1519,11 +1528,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; diff --git a/src/hu_stuff.h b/src/hu_stuff.h index 90ffeb42..28a31d4b 100644 --- a/src/hu_stuff.h +++ b/src/hu_stuff.h @@ -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); From dcdbf911a5f1f9a363e9a624ad070f02f5ad5302 Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 3 Oct 2018 20:56:43 +0100 Subject: [PATCH 03/13] Don't have all of your mines disappear into the aether if you have to shield-drop ONE, because they're not all out at once. (This is only really relevant to debug testing, given picking up additional HUD-dropped mines isn't very likely. --- src/k_kart.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index db317803..823cbf97 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3140,7 +3140,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; @@ -3180,6 +3180,7 @@ void K_DropHnextList(player_t *player) break; case MT_SSMINE_SHIELD: orbit = false; + dropall = false; type = MT_SSMINE; break; case MT_FAKESHIELD: @@ -3258,7 +3259,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; From ad64279d2829a165abb3d54d0ba9515f94d87ee4 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Wed, 3 Oct 2018 20:48:44 -0400 Subject: [PATCH 04/13] Edit Pink, Navy, and Jet --- src/k_kart.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index db317803..00cb29a9 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -189,7 +189,7 @@ 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 {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 @@ -228,10 +228,10 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = { {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 {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 From fef3c6374073b3c0f46951cc72ef5b9d96fc449e Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Wed, 3 Oct 2018 21:18:07 -0400 Subject: [PATCH 05/13] Moved colors around yet again for nicer invincibility effect - Ruby is closer to the pinks (and where purples would be if it wrapped around) - Sapphire is closer to the cyans - Dream is right before the teals --- src/dehacked.c | 32 +++++++++++------------ src/doomdef.h | 6 ++--- src/k_kart.c | 70 +++++++++++++++++++++++++------------------------- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index 99d95259..baa35b74 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -7613,9 +7613,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 @@ -7635,16 +7635,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 @@ -7654,9 +7654,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 diff --git a/src/doomdef.h b/src/doomdef.h index b5519f6f..c051a58b 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -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, diff --git a/src/k_kart.c b/src/k_kart.c index 00cb29a9..bed5a86e 100644 --- a/src/k_kart.c +++ b/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 @@ -191,9 +191,9 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = { {120, 120, 120, 121, 121, 122, 122, 123, 124, 125, 126, 128, 129, 131, 133, 135}, // SKINCOLOR_SALMON {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,6 +222,7 @@ 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 @@ -232,9 +232,9 @@ UINT8 colortranslations[MAXSKINCOLORS][16] = { {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 {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 From 1cb2c22cbda621b58a8e41bb4164beee5b505c35 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Thu, 4 Oct 2018 14:28:38 -0400 Subject: [PATCH 06/13] Dream is green, Olive is yellow --- src/hu_stuff.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index ab427b48..133db0c8 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -741,11 +741,11 @@ 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 From 744c41bc8a4dc38b4c644212ce10ab1e41dd3408 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Thu, 4 Oct 2018 14:30:54 -0400 Subject: [PATCH 07/13] Edit the text remaps Lighter sky, lighter pink, steel is now called steel-blue --- src/console.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/console.c b/src/console.c index ab8635b6..adc94d8a 100644 --- a/src/console.c +++ b/src/console.c @@ -154,7 +154,7 @@ 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_PEACHMAP, "Always peach"}, @@ -330,12 +330,12 @@ static void CON_SetupColormaps(void) redmap[120] = (UINT8)126; // battle graymap[120] = (UINT8)10; orangemap[120] = (UINT8)85; // record attack - skymap[120] = (UINT8)214; // race + skymap[120] = (UINT8)212; // race lavendermap[120] = (UINT8)248; goldmap[120] = (UINT8)114; teamap[120] = (UINT8)177; steelmap[120] = (UINT8)201; - pinkmap[120] = (UINT8)124; + pinkmap[120] = (UINT8)144; tealmap[120] = (UINT8)220; peachmap[120] = (UINT8)69; // nice From 8afdda82492fac89ed6445da541b57ef567024ec Mon Sep 17 00:00:00 2001 From: Sryder Date: Thu, 4 Oct 2018 21:08:47 +0100 Subject: [PATCH 08/13] Disable VSync by default. I wouldn't be surprised if there are issues that arise from it, and I'm fairly sure its always been slightly spotty. --- src/android/i_video.c | 2 +- src/djgppdos/vid_vesa.c | 6 +++--- src/dummy/i_video.c | 2 +- src/nds/i_video.c | 2 +- src/sdl/i_video.c | 2 +- src/sdl12/i_video.c | 2 +- src/win32/win_vid.c | 2 +- src/win32ce/win_vid.c | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/android/i_video.c b/src/android/i_video.c index 2d0151f5..8b4bee31 100644 --- a/src/android/i_video.c +++ b/src/android/i_video.c @@ -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){} diff --git a/src/djgppdos/vid_vesa.c b/src/djgppdos/vid_vesa.c index ec7b8b88..01a27dce 100644 --- a/src/djgppdos/vid_vesa.c +++ b/src/djgppdos/vid_vesa.c @@ -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� sans le VESA. +// ce mode est le mode num�ro 0 dans la liste. typedef struct { int modenum; // vesa vbe2.0 modenum diff --git a/src/dummy/i_video.c b/src/dummy/i_video.c index e167e833..93ba6b75 100644 --- a/src/dummy/i_video.c +++ b/src/dummy/i_video.c @@ -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){} diff --git a/src/nds/i_video.c b/src/nds/i_video.c index 3dfb9955..06969dfd 100644 --- a/src/nds/i_video.c +++ b/src/nds/i_video.c @@ -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) { diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 5cb319f6..590158c8 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -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 diff --git a/src/sdl12/i_video.c b/src/sdl12/i_video.c index ac9d4ffc..69cf5ca9 100644 --- a/src/sdl12/i_video.c +++ b/src/sdl12/i_video.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}; diff --git a/src/win32/win_vid.c b/src/win32/win_vid.c index 30fada8e..f355eaea 100644 --- a/src/win32/win_vid.c +++ b/src/win32/win_vid.c @@ -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}; diff --git a/src/win32ce/win_vid.c b/src/win32ce/win_vid.c index b9c2e131..5e8e7e1f 100644 --- a/src/win32ce/win_vid.c +++ b/src/win32ce/win_vid.c @@ -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; From 71efda2b20acc0ff4fa44a3a60e2c74bb134182f Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Thu, 4 Oct 2018 17:50:50 -0400 Subject: [PATCH 09/13] Always move the camera According to wolfs, this improves fps. Let's confirm, shall we? --- src/d_main.c | 14 -------------- src/p_tick.c | 10 ++++++++++ src/p_user.c | 8 -------- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index e56a631a..6e3d4d73 100644 --- a/src/d_main.c +++ b/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) diff --git a/src/p_tick.c b/src/p_tick.c index 3c5ed0b9..c9c32433 100644 --- a/src/p_tick.c +++ b/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(); diff --git a/src/p_user.c b/src/p_user.c index d3407bd6..f33b46d2 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -9546,12 +9546,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; } @@ -9833,8 +9827,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 } } From 6bae5e952b9abb93c9f9fa4590b9816ed564fd69 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Thu, 4 Oct 2018 18:07:56 -0400 Subject: [PATCH 10/13] Brown text colormap instead of teal, revert sky-blue --- src/console.c | 14 +++++++------- src/console.h | 2 +- src/dehacked.c | 2 +- src/hu_stuff.c | 6 ++---- src/v_video.c | 4 ++-- src/v_video.h | 2 +- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/console.c b/src/console.c index adc94d8a..f79a6faf 100644 --- a/src/console.c +++ b/src/console.c @@ -156,7 +156,7 @@ static CV_PossibleValue_t menuhighlight_cons_t[] = {V_TEAMAP, "Always tea-green"}, {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 @@ -330,13 +330,13 @@ static void CON_SetupColormaps(void) redmap[120] = (UINT8)126; // battle graymap[120] = (UINT8)10; orangemap[120] = (UINT8)85; // record attack - skymap[120] = (UINT8)212; // race + skymap[120] = (UINT8)214; // race lavendermap[120] = (UINT8)248; goldmap[120] = (UINT8)114; teamap[120] = (UINT8)177; steelmap[120] = (UINT8)201; - pinkmap[120] = (UINT8)144; - tealmap[120] = (UINT8)220; + pinkmap[120] = (UINT8)145; + brownmap[120] = (UINT8)48; peachmap[120] = (UINT8)69; // nice // Init back colormap diff --git a/src/console.h b/src/console.h index b15ccb6f..e4f01c8e 100644 --- a/src/console.h +++ b/src/console.h @@ -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; diff --git a/src/dehacked.c b/src/dehacked.c index baa35b74..04301ef2 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -8264,7 +8264,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}, diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 133db0c8..838e8129 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -727,10 +727,10 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum) 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) @@ -747,8 +747,6 @@ static void Got_Saycmd(UINT8 **p, INT32 playernum) cstart = "\x8b"; // V_TEAMAP 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) diff --git a/src/v_video.c b/src/v_video.c index 46d34acc..8a1a3737 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -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 diff --git a/src/v_video.h b/src/v_video.h index f6826cf7..734b8037 100644 --- a/src/v_video.h +++ b/src/v_video.h @@ -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 From 3417f57e92d60c0a17c9b7b82bf4e76009b4194a Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Thu, 4 Oct 2018 23:58:44 -0400 Subject: [PATCH 11/13] -skill launcher option Requested by Sev(?), for map editing; sets kartspeed using the same name as Doom's difficulty launcher option --- src/d_main.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/d_main.c b/src/d_main.c index e56a631a..214bfac6 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1484,6 +1484,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 From df824eb3703d54251be1bd048857faf4025befbf Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Fri, 5 Oct 2018 12:13:11 +0200 Subject: [PATCH 12/13] Say-team (key and command) now depend of G_GametypeHasTeams(), so you'll only have to modify this function to have say-team work in the gametypes of your choice. --- src/hu_stuff.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 255d8512..adecc8cb 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -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 @@ -1067,8 +1070,6 @@ boolean HU_Responder(event_t *ev) if ((ev->data1 == gamecontrol[gc_talkkey][0] || ev->data1 == gamecontrol[gc_talkkey][1]) && 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; @@ -1078,12 +1079,9 @@ boolean HU_Responder(event_t *ev) if ((ev->data1 == gamecontrol[gc_teamkey][0] || ev->data1 == gamecontrol[gc_teamkey][1]) && netgame && !OLD_MUTE) { - //if (cv_mute.value && !(server || IsPlayerAdmin(consoleplayer))) - // return false; chat_on = true; w_chat[0] = 0; - teamtalk = false; // CHANGE THIS TO TRUE TO MAKE SAYTEAM WORK AGAIN - //teamtalk = true; + teamtalk = G_GametypeHasTeams(); // Don't teamtalk if we don't have teams. chat_scrollmedown = true; return true; } From 2effb6adc36787879516b8cb2b13023fc4c423d2 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 5 Oct 2018 23:24:26 +0100 Subject: [PATCH 13/13] Halt frame-perfect egg crash. (The code is slightly modified from what I put in bug-reports as a potential fix, but I'm glad I was on the right track.) --- src/p_inter.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index bd02da42..5ca9a104 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -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;