From 94958321064719bfcae412430c9f8a17bf1f06c1 Mon Sep 17 00:00:00 2001 From: Sally Cochenour Date: Mon, 16 Mar 2020 04:24:32 -0400 Subject: [PATCH 1/6] Slow down backwards spikeballs (again) --- src/k_kart.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 43c6c7cc8..75c0c39bc 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3159,11 +3159,11 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map if (dir == -1) { // Shoot backward - mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x06000000, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x03000000, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x03000000, 0, PROJSPEED/4); - K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x06000000, 0, PROJSPEED/4); + mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x06000000, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x03000000, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x03000000, 0, PROJSPEED/16); + K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x06000000, 0, PROJSPEED/16); } else { @@ -3180,7 +3180,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map if (dir == -1 && mapthing != MT_SPB) { // Shoot backward - mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/2); + mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/8); } else { From e0fec734f2ebd859d22e28f85f7c39367e0305c5 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 07:03:49 -0500 Subject: [PATCH 2/6] Record attack only linedef exec --- src/p_spec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/p_spec.c b/src/p_spec.c index f221227bf..4ddb3157c 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1944,6 +1944,7 @@ boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller || specialtype == 318 // Unlockable trigger - Once || specialtype == 320 // Unlockable - Once || specialtype == 321 || specialtype == 322 // Trigger on X calls - Continuous + Each Time + || specialtype == 323 // Record attack only - Once || specialtype == 328 // Encore Load || specialtype == 399) // Level Load triggerline->special = 0; // Clear it out @@ -6558,6 +6559,12 @@ void P_SpawnSpecials(INT32 fromnetsave) P_AddEachTimeThinker(§ors[sec], &lines[i]); } break; + // Record attack only linedef exec + case 323: + case 324: + if (!modeattacking) + lines[i].special = 0; + break; case 328: // Encore-only linedef execute on map load if (!encoremode) From 2c54c32eb3a39b0d56fb1bdc281ddd76e31de7ba Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 16:11:30 -0500 Subject: [PATCH 3/6] Fix packet type desync --- src/d_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d_net.c b/src/d_net.c index b849612bc..2eb6f094d 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1159,7 +1159,8 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_PLAYERINFO || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS - || netbuffer->packettype == PT_CLIENTJOIN)) + || netbuffer->packettype == PT_CLIENTJOIN + || netbuffer->packettype == PT_TELLFILESNEEDED)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From e2feca3dc7620bb15beac9038ac8e5ffb78d24ef Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 17:01:40 -0500 Subject: [PATCH 4/6] PT_CLIENTCMD test --- src/d_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d_net.c b/src/d_net.c index 2eb6f094d..d794adb53 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1160,7 +1160,8 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS || netbuffer->packettype == PT_CLIENTJOIN - || netbuffer->packettype == PT_TELLFILESNEEDED)) + || netbuffer->packettype == PT_TELLFILESNEEDED + || netbuffer->packettype == PT_CLIENTCMD)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From e6d7af623a3c7db747f044b6b62661f38e14456e Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 17:18:22 -0500 Subject: [PATCH 5/6] Revert "PT_CLIENTCMD test" This reverts commit e2feca3dc7620bb15beac9038ac8e5ffb78d24ef. --- src/d_net.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/d_net.c b/src/d_net.c index d794adb53..2eb6f094d 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1160,8 +1160,7 @@ boolean HGetPacket(void) || netbuffer->packettype == PT_REQUESTFILE || netbuffer->packettype == PT_ASKINFOVIAMS || netbuffer->packettype == PT_CLIENTJOIN - || netbuffer->packettype == PT_TELLFILESNEEDED - || netbuffer->packettype == PT_CLIENTCMD)) + || netbuffer->packettype == PT_TELLFILESNEEDED)) { DEBFILE(va("New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype])); CONS_Alert(CONS_NOTICE, "New node sent an unexpected %s packet\n", packettypename[netbuffer->packettype]); From 6ea0492008132ed32716d2d539ac409d1d176890 Mon Sep 17 00:00:00 2001 From: Wolfy Date: Sun, 5 Apr 2020 18:57:47 -0500 Subject: [PATCH 6/6] Potentially fix join passwords --- src/d_clisrv.c | 11 ++++++++++- src/d_net.c | 12 ++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index bb7a53551..44b08ccaa 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1147,6 +1147,7 @@ static UINT8 cl_challengequestion[MD5_LEN+1]; static char cl_challengepassword[65]; static UINT8 cl_challengeanswer[MD5_LEN+1]; static UINT8 cl_challengeattempted = 0; +static char cl_challengeaddress[64]; // Player name send/load @@ -2275,6 +2276,8 @@ boolean CL_Responder(event_t *ev) #ifndef NONET SL_ClearServerList(servernode); + if (I_NetMakeNodewPort) + servernode = I_NetMakeNode(cl_challengeaddress); #endif cl_mode = CL_SEARCHING; @@ -3794,7 +3797,7 @@ static void HandleConnect(SINT8 node) D_MakeJoinPasswordChallenge(&netbuffer->u.joinchallenge.challengenum, netbuffer->u.joinchallenge.question); netbuffer->packettype = PT_JOINCHALLENGE; - HSendPacket(node, true, 0, sizeof(joinchallenge_pak)); + HSendPacket(node, false, 0, sizeof(joinchallenge_pak)); Net_CloseConnection(node); return; @@ -4017,6 +4020,8 @@ static void HandlePacketFromAwayNode(SINT8 node) cl_challengenum = netbuffer->u.joinchallenge.challengenum; memcpy(cl_challengequestion, netbuffer->u.joinchallenge.question, 16); + if (I_GetNodeAddress) + strcpy(cl_challengeaddress, I_GetNodeAddress(node)); Net_CloseConnection(node); // Don't need to stay connected while challenging cl_mode = CL_CHALLENGE; @@ -4026,6 +4031,10 @@ static void HandlePacketFromAwayNode(SINT8 node) case 2: // We already sent a correct password, so throw it back up again. D_ComputeChallengeAnswer(cl_challengequestion, cl_challengepassword, cl_challengeanswer); +#ifndef NONET + if (I_NetMakeNodewPort) + servernode = I_NetMakeNode(cl_challengeaddress); +#endif cl_mode = CL_ASKJOIN; break; diff --git a/src/d_net.c b/src/d_net.c index 2eb6f094d..02f4b23d7 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -781,6 +781,8 @@ static const char *packettypename[NUMPACKETTYPE] = { "NOTHING", "SERVERCFG", + + "CLIENTCMD", "CLIENTMIS", "CLIENT2CMD", @@ -801,6 +803,9 @@ static const char *packettypename[NUMPACKETTYPE] = "RESYNCHEND", "RESYNCHGET", + + + "CLIENT3CMD", "CLIENT3MIS", "CLIENT4CMD", @@ -811,13 +816,20 @@ static const char *packettypename[NUMPACKETTYPE] = "DOWNLOADFILESOKAY", "FILEFRAGMENT", + "TEXTCMD", "TEXTCMD2", "TEXTCMD3", "TEXTCMD4", + "CLIENTJOIN", "NODETIMEOUT", "RESYNCHING", + + + "TELLFILESNEEDED", + "MOREFILESNEEDED", + "PING" };