From f67684b31a68606d89318216657d58e4382849d4 Mon Sep 17 00:00:00 2001 From: Indev Date: Sat, 5 Aug 2023 14:41:52 +0300 Subject: [PATCH 1/6] Fix ban.txt crash --- src/d_clisrv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index adceff581..775034fa8 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2909,6 +2909,12 @@ void D_LoadBan(boolean warning) address = strtok(buffer, " /\t\r\n"); mask = strtok(NULL, " \t\r\n"); + if (!address) + { + malformed = true; + continue; + } + if (i == 0 && !strncmp(address, "BANFORMAT", 9)) { if (mask) -- 2.54.0 From 63f0d15fbf081efb275213e186b4674f4b5ac90b Mon Sep 17 00:00:00 2001 From: alufolie91 Date: Sat, 5 Aug 2023 13:52:41 +0200 Subject: [PATCH 2/6] Lets make it v7 so much shit was added since initial v6 so lets just go straight to v7 c: --- src/doomdef.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 43048ae00..09d00aba8 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -149,8 +149,8 @@ extern char logfilename[1024]; #else #define VERSION 1 // Game version #define SUBVERSION 6 // more precise version number -#define VERSIONSTRING "Saturn v6.0 " -#define VERSIONSTRINGW L"Saturn v6.0" +#define VERSIONSTRING "Saturn v7.0 " +#define VERSIONSTRINGW L"Saturn v7.0" // Hey! If you change this, add 1 to the MODVERSION below! Otherwise we can't force updates! // And change CMakeLists.txt (not src/, but in root), for CMake users! // AND appveyor.yml, for the build bots! -- 2.54.0 From 3dacb7d68288ee825c31fe1054afed4788656c25 Mon Sep 17 00:00:00 2001 From: Indev Date: Sat, 5 Aug 2023 18:09:11 +0300 Subject: [PATCH 3/6] Fix sprites being invisible on mid-race join --- src/p_saveg.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/p_saveg.c b/src/p_saveg.c index f553ddf6f..673f1cb40 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -1979,6 +1979,14 @@ static void LoadMobjThinker(actionf_p1 thinker) // declare this as a valid mobj as soon as possible. mobj->thinker.function.acp1 = thinker; + mobj->rollangle = 0; + mobj->spritexoffset = mobj->spriteyoffset = mobj->old_spritexoffset = mobj->old_spriteyoffset = FRACUNIT; + mobj->spritexscale = mobj->spriteyscale = mobj->old_spritexscale = mobj->old_spriteyscale = FRACUNIT; + mobj->realxscale = mobj->realyscale = FRACUNIT; + mobj->stretchslam = 0; + + mobj->sloperoll = mobj->reservezangle = mobj->reservexydir = 0; + mobj->z = z; mobj->floorz = floorz; mobj->ceilingz = ceilingz; -- 2.54.0 From 2915772231b2e025ffcbec1fa391665f3e81b6a4 Mon Sep 17 00:00:00 2001 From: Indev Date: Tue, 8 Aug 2023 12:41:32 +0300 Subject: [PATCH 4/6] Change chat fadeout time minimum value to 1 second --- src/g_game.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index de0a5d08c..69fd74cf0 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -431,7 +431,7 @@ static CV_PossibleValue_t deadzone_cons_t[] = {{FRACUNIT/16, "MIN"}, {FRACUNIT, //consvar_t cv_compactscoreboard= {"compactscoreboard", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; // chat timer thingy -static CV_PossibleValue_t chattime_cons_t[] = {{5, "MIN"}, {999, "MAX"}, {0, NULL}}; +static CV_PossibleValue_t chattime_cons_t[] = {{1, "MIN"}, {999, "MAX"}, {0, NULL}}; consvar_t cv_chattime = {"chattime", "8", CV_SAVE, chattime_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; // chatwidth -- 2.54.0 From 760a0784509d0e5ed0900acaa007bd0128992920 Mon Sep 17 00:00:00 2001 From: alufolie91 Date: Sat, 12 Aug 2023 02:09:32 +0200 Subject: [PATCH 5/6] Fix 3D floor culling with polyobject segs see: https://git.do.srb2.org/STJr/SRB2/-/commit/0ffb241c0a1705273c0c93790b67d2ce3474ad0e?merge_request_iid=1284 --- src/r_segs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/r_segs.c b/src/r_segs.c index e93cbaecb..5ef4fc4cc 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -1369,7 +1369,7 @@ static void R_RenderSegLoop (void) // Lactozilla: Cull part of the column by the 3D floor if it can't be seen // "bottom" is the top pixel of the floor column - if (ffbottom >= bottom-1 && R_FFloorCanClip(&ffloor[i])) + if (ffbottom >= bottom-1 && R_FFloorCanClip(&ffloor[i]) && !curline->polyseg) { rw_floormarked = true; floorclip[rw_x] = fftop; @@ -1413,7 +1413,7 @@ static void R_RenderSegLoop (void) // Lactozilla: Cull part of the column by the 3D floor if it can't be seen // "top" is the height of the ceiling column - if (fftop <= top+1 && R_FFloorCanClip(&ffloor[i])) + if (fftop <= top+1 && R_FFloorCanClip(&ffloor[i]) && !curline->polyseg) { rw_ceilingmarked = true; ceilingclip[rw_x] = ffbottom; -- 2.54.0 From 7c3ae35c66b2351adae3dd3734ff15661b3d23d3 Mon Sep 17 00:00:00 2001 From: alufolie91 Date: Sat, 12 Aug 2023 02:10:30 +0200 Subject: [PATCH 6/6] Don't clip if the 3D floor is fog see: https://git.do.srb2.org/STJr/SRB2/-/commit/47b8c0648b2b87fdf7ec388e1f0c3b48239c8cff?merge_request_iid=1284 --- src/r_segs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/r_segs.c b/src/r_segs.c index 5ef4fc4cc..594024b75 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -705,7 +705,7 @@ static boolean R_IsFFloorTranslucent(visffloor_t *pfloor) // Polyobjects have no ffloors, and they're handled in the conditional above. if (pfloor->ffloor != NULL) - return (pfloor->ffloor->flags & FF_TRANSLUCENT); + return (pfloor->ffloor->flags & (FF_TRANSLUCENT|FF_FOG)); return false; } -- 2.54.0