From 51941f58962df6c60d34a2df2400ee9abbdd282b Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 16 Dec 2021 23:03:39 -0800 Subject: [PATCH 01/10] MF_NOSQUISH to disable K_Squish --- src/p_mobj.c | 3 ++- src/p_mobj.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index afcc87c3e..d347386bd 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -3574,7 +3574,8 @@ static void P_CheckFloatbobPlatforms(mobj_t *mobj) static void P_SquishThink(mobj_t *mobj) { - if (!(mobj->eflags & MFE_SLOPELAUNCHED)) + if (!(mobj->flags & MF_NOSQUISH) && + !(mobj->eflags & MFE_SLOPELAUNCHED)) { K_Squish(mobj); } diff --git a/src/p_mobj.h b/src/p_mobj.h index 2373bdca4..e5bba25de 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -159,6 +159,8 @@ typedef enum MF_DONTENCOREMAP = 1<<28, // Hitbox extends just as far below as above. MF_PICKUPFROMBELOW = 1<<29, + // Disable momentum-based squash and stretch. + MF_NOSQUISH = 1<<30, // free: to and including 1<<31 } mobjflag_t; From ade0b48b893dbbefc3a594f4008c14ce03d028e2 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 16 Dec 2021 23:05:44 -0800 Subject: [PATCH 02/10] Add missing mobj flags to SOC/Lua --- src/deh_tables.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/deh_tables.c b/src/deh_tables.c index 894157639..b8d39380e 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -5794,6 +5794,8 @@ const char *const MOBJFLAG_LIST[] = { "GRENADEBOUNCE", "RUNSPAWNFUNC", "DONTENCOREMAP", + "PICKUPFROMBELOW", + "NOSQUISH", NULL }; From 84ccf18b76a4ac83be81977956075edc5c6b470e Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 17 Dec 2021 04:50:40 -0800 Subject: [PATCH 03/10] Read PNG and patch header in one go for sprites --- src/r_things.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/r_things.c b/src/r_things.c index c370a2c67..224bbc1cc 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -284,14 +284,13 @@ boolean R_AddSingleSpriteDef(const char *sprname, spritedef_t *spritedef, UINT16 // store sprite info in lookup tables //FIXME : numspritelumps do not duplicate sprite replacements + W_ReadLumpHeaderPwad(wadnum, l, &patch, PNG_HEADER_SIZE, 0); + #ifndef NO_PNG_LUMPS { - UINT8 header[PNG_HEADER_SIZE]; size_t len = W_LumpLengthPwad(wadnum, l); - W_ReadLumpHeaderPwad(wadnum, l, header, sizeof header, 0); - - if (Picture_IsLumpPNG(header, len)) + if (Picture_IsLumpPNG((UINT8*)&patch, len)) { UINT8 *png = W_CacheLumpNumPwad(wadnum, l, PU_STATIC); Picture_PNGDimensions((UINT8 *)png, &width, &height, &topoffset, &leftoffset, len); @@ -303,7 +302,6 @@ boolean R_AddSingleSpriteDef(const char *sprname, spritedef_t *spritedef, UINT16 if (!isPNG) #endif { - W_ReadLumpHeaderPwad(wadnum, l, &patch, sizeof(INT16) * 4, 0); width = (INT32)(SHORT(patch.width)); height = (INT32)(SHORT(patch.height)); topoffset = (INT16)(SHORT(patch.topoffset)); From 4712daddf97a0dcccebdbdbdcd964c79d0c9dcee Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 18 Dec 2021 19:52:59 -0800 Subject: [PATCH 04/10] Start checking files from correct position on rejoin --- src/d_netfil.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/d_netfil.c b/src/d_netfil.c index 7aec8d13e..2eaf3e7d5 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -459,7 +459,12 @@ INT32 CL_CheckFiles(void) if (modifiedgame) { CONS_Debug(DBG_NETPLAY, "game is modified; only doing basic checks\n"); - for (i = 0, j = mainwads+1; i < fileneedednum || j < numwadfiles;) +#ifdef DEVELOP + j = 0; +#else + j = mainwads + 1; +#endif + for (i = 0; i < fileneedednum || j < numwadfiles;) { if (j < numwadfiles && !wadfiles[j]->important) { From efa92b02066d799aead358ebf8b083f709f89e1c Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 18 Dec 2021 20:40:56 -0800 Subject: [PATCH 05/10] Add followers.pk3 to main files list --- src/d_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/d_main.c b/src/d_main.c index 27ee40926..3de569a9a 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1072,6 +1072,7 @@ static void IdentifyVersion(void) #ifdef USE_PATCH_FILE D_AddFile(startupiwads, va(pandf,srb2waddir,"patch.pk3")); #endif + D_AddFile(startupiwads, va(pandf,srb2waddir,"followers.pk3")); #if !defined (HAVE_SDL) || defined (HAVE_MIXER) @@ -1320,6 +1321,7 @@ void D_SRB2Main(void) #ifdef USE_PATCH_FILE mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_PATCH_PK3); // patch.pk3 #endif + mainwads++; W_VerifyFileMd5(mainwads, ASSET_HASH_FOLLOWERS_PK3); // followers.pk3 #else mainwads++; // gfx.pk3 mainwads++; // textures.pk3 @@ -1328,6 +1330,7 @@ void D_SRB2Main(void) #ifdef USE_PATCH_FILE mainwads++; // patch.pk3 #endif + mainwads++; // followers.pk3 #endif //ifndef DEVELOP From de0b2c2e75b5e60c275581c6d3f44465c42613c7 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 18 Dec 2021 21:00:30 -0800 Subject: [PATCH 06/10] Add followers before patch --- src/d_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index 3de569a9a..2419f419b 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1069,10 +1069,10 @@ static void IdentifyVersion(void) D_AddFile(startupiwads, va(pandf,srb2waddir,"textures.pk3")); D_AddFile(startupiwads, va(pandf,srb2waddir,"chars.pk3")); D_AddFile(startupiwads, va(pandf,srb2waddir,"maps.pk3")); + D_AddFile(startupiwads, va(pandf,srb2waddir,"followers.pk3")); #ifdef USE_PATCH_FILE D_AddFile(startupiwads, va(pandf,srb2waddir,"patch.pk3")); #endif - D_AddFile(startupiwads, va(pandf,srb2waddir,"followers.pk3")); #if !defined (HAVE_SDL) || defined (HAVE_MIXER) @@ -1318,19 +1318,19 @@ void D_SRB2Main(void) mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_TEXTURES_PK3); // textures.pk3 mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_CHARS_PK3); // chars.pk3 mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_MAPS_PK3); // maps.pk3 -- 4 - If you touch this, make sure to touch up the majormods stuff below. + mainwads++; W_VerifyFileMd5(mainwads, ASSET_HASH_FOLLOWERS_PK3); // followers.pk3 #ifdef USE_PATCH_FILE mainwads++; W_VerifyFileMD5(mainwads, ASSET_HASH_PATCH_PK3); // patch.pk3 #endif - mainwads++; W_VerifyFileMd5(mainwads, ASSET_HASH_FOLLOWERS_PK3); // followers.pk3 #else mainwads++; // gfx.pk3 mainwads++; // textures.pk3 mainwads++; // chars.pk3 mainwads++; // maps.pk3 + mainwads++; // followers.pk3 #ifdef USE_PATCH_FILE mainwads++; // patch.pk3 #endif - mainwads++; // followers.pk3 #endif //ifndef DEVELOP From a7edda15e9d5084f4317ee364afa27bbba83009e Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 20 Dec 2021 01:27:36 -0800 Subject: [PATCH 07/10] Remove 1.4 master server address enforcer --- src/mserv.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/mserv.c b/src/mserv.c index c91c59167..b4c693440 100644 --- a/src/mserv.c +++ b/src/mserv.c @@ -515,17 +515,6 @@ static void MasterServer_OnChange(void) #ifdef MASTERSERVER UnregisterServer(); - /* - TODO: remove this for v2, it's just a hack - for those coming in with an old config. - */ - if ( - ! cv_masterserver.changed && - strcmp(cv_masterserver.string, "ms.srb2.org:28900") == 0 - ){ - CV_StealthSet(&cv_masterserver, cv_masterserver.defaultvalue); - } - Set_api(cv_masterserver.string); if (Online()) From 1767b4ae29d01321f950bace18af2869826df09e Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 30 Aug 2021 20:02:54 -0700 Subject: [PATCH 08/10] Update rendezvous server to kartkrew.org --- src/mserv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mserv.c b/src/mserv.c index b4c693440..81e08690b 100644 --- a/src/mserv.c +++ b/src/mserv.c @@ -68,7 +68,7 @@ static CV_PossibleValue_t masterserver_update_rate_cons_t[] = { }; consvar_t cv_masterserver = CVAR_INIT ("masterserver", "https://ms.kartkrew.org/ms/api", CV_SAVE|CV_CALL, NULL, MasterServer_OnChange); -consvar_t cv_rendezvousserver = CVAR_INIT ("rendezvousserver", "jart-dev.jameds.org", CV_SAVE, NULL, NULL); +consvar_t cv_rendezvousserver = CVAR_INIT ("rendezvousserver", "relay.kartkrew.org", CV_SAVE, NULL, NULL); consvar_t cv_servername = CVAR_INIT ("servername", "SRB2Kart server", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters); consvar_t cv_server_contact = CVAR_INIT ("server_contact", "", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters); From f1389b49d2e34afd80fe0062ef6d30dea805674d Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 20 Dec 2021 01:37:22 -0800 Subject: [PATCH 09/10] Automatically switch to new default rendezvous server --- src/mserv.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/mserv.c b/src/mserv.c index 81e08690b..b9333f517 100644 --- a/src/mserv.c +++ b/src/mserv.c @@ -61,6 +61,8 @@ static void MasterServer_OnChange(void); static void Advertise_OnChange(void); +static void RendezvousServer_OnChange(void); + static CV_PossibleValue_t masterserver_update_rate_cons_t[] = { {2, "MIN"}, {60, "MAX"}, @@ -68,7 +70,7 @@ static CV_PossibleValue_t masterserver_update_rate_cons_t[] = { }; consvar_t cv_masterserver = CVAR_INIT ("masterserver", "https://ms.kartkrew.org/ms/api", CV_SAVE|CV_CALL, NULL, MasterServer_OnChange); -consvar_t cv_rendezvousserver = CVAR_INIT ("rendezvousserver", "relay.kartkrew.org", CV_SAVE, NULL, NULL); +consvar_t cv_rendezvousserver = CVAR_INIT ("rendezvousserver", "relay.kartkrew.org", CV_SAVE|CV_CALL, NULL, RendezvousServer_OnChange); consvar_t cv_servername = CVAR_INIT ("servername", "SRB2Kart server", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters); consvar_t cv_server_contact = CVAR_INIT ("server_contact", "", CV_SAVE|CV_CALL|CV_NOINIT, NULL, Update_parameters); @@ -552,3 +554,16 @@ Advertise_OnChange(void) DRPC_UpdatePresence(); #endif } + +#ifdef DEVELOP +static void +RendezvousServer_OnChange (void) +{ + consvar_t *cvar = &cv_rendezvousserver; + + if (!strcmp(cvar->string, "jart-dev.jameds.org")) + CV_StealthSet(cvar, cvar->defaultvalue); +} +#else +#error "This was an indev thing, remove at release." +#endif From d8e7703917b69f6aadf989e1ff36420bfcbb6b5d Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 20 Dec 2021 04:17:33 -0800 Subject: [PATCH 10/10] Ignore level colormap when fullbright --- src/r_things.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/r_things.c b/src/r_things.c index 1244502ce..8636eeef0 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -2098,8 +2098,7 @@ static void R_ProjectSprite(mobj_t *thing) // // determine the colormap (lightlevel & special effects) // - if (vis->cut & SC_FULLBRIGHT - && (!vis->extra_colormap || !(vis->extra_colormap->flags & CMF_FADEFULLBRIGHTSPRITES))) + if (vis->cut & SC_FULLBRIGHT) { // full bright: goggles vis->colormap = colormaps;