From 4cb545a0e15e295cee9dd82d2a0bfc6c16d0a6de Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 23 Sep 2022 02:09:33 -0700 Subject: [PATCH 1/5] Cleanup order and indentation of item definitions --- src/d_netcmd.c | 4 +- src/d_netcmd.h | 37 +++++++++++++--- src/k_hud.c | 22 +++++----- src/k_kart.c | 116 ++++++++++++++++++++++++------------------------- 4 files changed, 101 insertions(+), 78 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 0107e256f..51944c0da 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -367,7 +367,6 @@ consvar_t cv_joyscale[MAXSPLITSCREENPLAYERS] = { //Alam: Dummy for save #endif // SRB2kart -consvar_t cv_superring = CVAR_INIT ("superring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_sneaker = CVAR_INIT ("sneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_rocketsneaker = CVAR_INIT ("rocketsneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_invincibility = CVAR_INIT ("invincibility", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); @@ -377,7 +376,6 @@ consvar_t cv_orbinaut = CVAR_INIT ("orbinaut", "On", CV_NETVAR|CV_CHEAT, C consvar_t cv_jawz = CVAR_INIT ("jawz", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_mine = CVAR_INIT ("mine", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_landmine = CVAR_INIT ("landmine", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_droptarget = CVAR_INIT ("droptarget", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_ballhog = CVAR_INIT ("ballhog", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_selfpropelledbomb = CVAR_INIT ("selfpropelledbomb", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_grow = CVAR_INIT ("grow", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); @@ -387,7 +385,9 @@ consvar_t cv_bubbleshield = CVAR_INIT ("bubbleshield", "On", CV_NETVAR|CV_CH consvar_t cv_flameshield = CVAR_INIT ("flameshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_hyudoro = CVAR_INIT ("hyudoro", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_pogospring = CVAR_INIT ("pogospring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_superring = CVAR_INIT ("superring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_kitchensink = CVAR_INIT ("kitchensink", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_droptarget = CVAR_INIT ("droptarget", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_dualsneaker = CVAR_INIT ("dualsneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_triplesneaker = CVAR_INIT ("triplesneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); diff --git a/src/d_netcmd.h b/src/d_netcmd.h index 0fc16f637..01867d915 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -71,14 +71,37 @@ extern consvar_t cv_spectatorreentry, cv_antigrief; #endif // SRB2kart items -extern consvar_t cv_superring, cv_sneaker, cv_rocketsneaker, cv_invincibility, cv_banana; -extern consvar_t cv_eggmanmonitor, cv_orbinaut, cv_jawz, cv_mine, cv_landmine, cv_droptarget; -extern consvar_t cv_ballhog, cv_selfpropelledbomb, cv_grow, cv_shrink; -extern consvar_t cv_thundershield, cv_bubbleshield, cv_flameshield; -extern consvar_t cv_hyudoro, cv_pogospring, cv_kitchensink; +extern consvar_t + cv_sneaker, + cv_rocketsneaker, + cv_invincibility, + cv_banana, + cv_eggmanmonitor, + cv_orbinaut, + cv_jawz, + cv_mine, + cv_landmine, + cv_ballhog, + cv_selfpropelledbomb, + cv_grow, + cv_shrink, + cv_thundershield, + cv_bubbleshield, + cv_flameshield, + cv_hyudoro, + cv_pogospring, + cv_superring, + cv_kitchensink, + cv_droptarget; -extern consvar_t cv_dualsneaker, cv_triplesneaker, cv_triplebanana, cv_decabanana; -extern consvar_t cv_tripleorbinaut, cv_quadorbinaut, cv_dualjawz; +extern consvar_t + cv_dualsneaker, + cv_triplesneaker, + cv_triplebanana, + cv_decabanana, + cv_tripleorbinaut, + cv_quadorbinaut, + cv_dualjawz; extern consvar_t cv_kartminimap; extern consvar_t cv_kartcheck; diff --git a/src/k_hud.c b/src/k_hud.c index 649bd4a1c..e377caa02 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -113,7 +113,7 @@ static patch_t *kp_itemtimer[2]; static patch_t *kp_itemmulsticker[2]; static patch_t *kp_itemx; -static patch_t *kp_superring[2]; +static patch_t *kp_sadface[2]; static patch_t *kp_sneaker[4]; static patch_t *kp_rocketsneaker[2]; static patch_t *kp_invincibility[13]; @@ -123,7 +123,6 @@ static patch_t *kp_orbinaut[5]; static patch_t *kp_jawz[3]; static patch_t *kp_mine[2]; static patch_t *kp_landmine[2]; -static patch_t *kp_droptarget[2]; static patch_t *kp_ballhog[2]; static patch_t *kp_selfpropelledbomb[2]; static patch_t *kp_grow[2]; @@ -133,8 +132,9 @@ static patch_t *kp_bubbleshield[2]; static patch_t *kp_flameshield[2]; static patch_t *kp_hyudoro[2]; static patch_t *kp_pogospring[2]; +static patch_t *kp_superring[2]; static patch_t *kp_kitchensink[2]; -static patch_t *kp_sadface[2]; +static patch_t *kp_droptarget[2]; static patch_t *kp_check[6]; @@ -305,7 +305,7 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_itemmulsticker[0], "K_ITMUL"); HU_UpdatePatch(&kp_itemx, "K_ITX"); - HU_UpdatePatch(&kp_superring[0], "K_ITRING"); + HU_UpdatePatch(&kp_sadface[0], "K_ITSAD"); HU_UpdatePatch(&kp_sneaker[0], "K_ITSHOE"); HU_UpdatePatch(&kp_sneaker[1], "K_ITSHO2"); HU_UpdatePatch(&kp_sneaker[2], "K_ITSHO3"); @@ -332,7 +332,6 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_jawz[1], "K_ITJAW2"); HU_UpdatePatch(&kp_mine[0], "K_ITMINE"); HU_UpdatePatch(&kp_landmine[0], "K_ITLNDM"); - HU_UpdatePatch(&kp_droptarget[0], "K_ITDTRG"); HU_UpdatePatch(&kp_ballhog[0], "K_ITBHOG"); HU_UpdatePatch(&kp_selfpropelledbomb[0], "K_ITSPB"); HU_UpdatePatch(&kp_grow[0], "K_ITGROW"); @@ -342,8 +341,9 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_flameshield[0], "K_ITFLMS"); HU_UpdatePatch(&kp_hyudoro[0], "K_ITHYUD"); HU_UpdatePatch(&kp_pogospring[0], "K_ITPOGO"); + HU_UpdatePatch(&kp_superring[0], "K_ITRING"); HU_UpdatePatch(&kp_kitchensink[0], "K_ITSINK"); - HU_UpdatePatch(&kp_sadface[0], "K_ITSAD"); + HU_UpdatePatch(&kp_droptarget[0], "K_ITDTRG"); // Splitscreen HU_UpdatePatch(&kp_itembg[2], "K_ISBG"); @@ -351,7 +351,7 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_itemtimer[1], "K_ISIMER"); HU_UpdatePatch(&kp_itemmulsticker[1], "K_ISMUL"); - HU_UpdatePatch(&kp_superring[1], "K_ISRING"); + HU_UpdatePatch(&kp_sadface[1], "K_ISSAD"); HU_UpdatePatch(&kp_sneaker[3], "K_ISSHOE"); HU_UpdatePatch(&kp_rocketsneaker[1], "K_ISRSHE"); sprintf(buffer, "K_ISINVx"); @@ -366,7 +366,6 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_jawz[2], "K_ISJAWZ"); HU_UpdatePatch(&kp_mine[1], "K_ISMINE"); HU_UpdatePatch(&kp_landmine[1], "K_ISLNDM"); - HU_UpdatePatch(&kp_droptarget[1], "K_ISDTRG"); HU_UpdatePatch(&kp_ballhog[1], "K_ISBHOG"); HU_UpdatePatch(&kp_selfpropelledbomb[1], "K_ISSPB"); HU_UpdatePatch(&kp_grow[1], "K_ISGROW"); @@ -376,8 +375,9 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_flameshield[1], "K_ISFLMS"); HU_UpdatePatch(&kp_hyudoro[1], "K_ISHYUD"); HU_UpdatePatch(&kp_pogospring[1], "K_ISPOGO"); + HU_UpdatePatch(&kp_superring[1], "K_ISRING"); HU_UpdatePatch(&kp_kitchensink[1], "K_ISSINK"); - HU_UpdatePatch(&kp_sadface[1], "K_ISSAD"); + HU_UpdatePatch(&kp_droptarget[1], "K_ISDTRG"); // CHECK indicators sprintf(buffer, "K_CHECKx"); @@ -518,10 +518,10 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny) return (tiny ? "K_ISPOGO" : "K_ITPOGO"); case KITEM_SUPERRING: return (tiny ? "K_ISRING" : "K_ITRING"); - case KITEM_DROPTARGET: - return (tiny ? "K_ISDTRG" : "K_ITDTRG"); case KITEM_KITCHENSINK: return (tiny ? "K_ISSINK" : "K_ITSINK"); + case KITEM_DROPTARGET: + return (tiny ? "K_ISDTRG" : "K_ITDTRG"); case KRITEM_DUALSNEAKER: return (tiny ? "K_ISSHOE" : "K_ITSHO2"); case KRITEM_TRIPLESNEAKER: diff --git a/src/k_kart.c b/src/k_kart.c index 9aa561d04..4f1a69ee4 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -397,68 +397,68 @@ consvar_t *KartItemCVars[NUMKARTRESULTS-1] = // Less ugly 2D arrays static UINT8 K_KartItemOddsRace[NUMKARTRESULTS-1][8] = { - //P-Odds 0 1 2 3 4 5 6 7 - /*Sneaker*/ { 0, 0, 4, 6, 7, 0, 0, 0 }, // Sneaker - /*Rocket Sneaker*/ { 0, 0, 0, 0, 1, 4, 6, 3 }, // Rocket Sneaker - /*Invincibility*/ { 0, 0, 0, 0, 1, 4, 6,10 }, // Invincibility - /*Banana*/ { 9, 4, 2, 1, 0, 0, 0, 0 }, // Banana - /*Eggman Monitor*/ { 3, 2, 1, 0, 0, 0, 0, 0 }, // Eggman Monitor - /*Orbinaut*/ { 5, 6, 4, 2, 0, 0, 0, 0 }, // Orbinaut - /*Jawz*/ { 0, 3, 2, 1, 1, 0, 0, 0 }, // Jawz - /*Mine*/ { 0, 2, 2, 1, 0, 0, 0, 0 }, // Mine - /*Ballhog*/ { 0, 0, 2, 1, 0, 0, 0, 0 }, // Ballhog - /*Self-Propelled Bomb*/ { 0, 1, 2, 3, 4, 2, 2, 0 }, // Self-Propelled Bomb - /*Grow*/ { 0, 0, 0, 0, 0, 2, 5, 7 }, // Grow - /*Shrink*/ { 0, 0, 0, 0, 0, 0, 1, 0 }, // Shrink - /*Thunder Shield*/ { 1, 2, 0, 0, 0, 0, 0, 0 }, // Thunder Shield - /*Hyudoro*/ { 0, 0, 0, 1, 2, 1, 0, 0 }, // Hyudoro - /*Pogo Spring*/ { 0, 0, 0, 0, 0, 0, 0, 0 }, // Pogo Spring - /*Kitchen Sink*/ { 0, 0, 0, 0, 0, 0, 0, 0 }, // Kitchen Sink - /*Super Ring*/ { 1, 2, 2, 0, 0, 0, 0, 0 }, // Super Ring - /*Land Mine*/ { 3, 0, 0, 0, 0, 0, 0, 0 }, // Land Mine - /*Bubble Shield*/ { 0, 1, 2, 1, 0, 0, 0, 0 }, // Bubble Shield - /*Flame Shield*/ { 0, 0, 0, 0, 0, 2, 4, 5 }, // Flame Shield - /*Drop Target*/ { 1, 0, 0, 0, 0, 0, 0, 0 }, // Drop Target - /*Sneaker x2*/ { 0, 0, 2, 2, 2, 0, 0, 0 }, // Sneaker x2 - /*Sneaker x3*/ { 0, 0, 0, 1, 6,10, 5, 0 }, // Sneaker x3 - /*Banana x3*/ { 0, 1, 1, 0, 0, 0, 0, 0 }, // Banana x3 - /*Banana x10*/ { 0, 0, 0, 1, 0, 0, 0, 0 }, // Banana x10 - /*Orbinaut x3*/ { 0, 0, 1, 0, 0, 0, 0, 0 }, // Orbinaut x3 - /*Orbinaut x4*/ { 0, 0, 0, 1, 1, 0, 0, 0 }, // Orbinaut x4 - /*Jawz x2*/ { 0, 0, 1, 2, 0, 0, 0, 0 } // Jawz x2 + //B C D E F G H I + { 0, 0, 4, 6, 7, 0, 0, 0 }, // Sneaker + { 0, 0, 0, 0, 1, 4, 6, 3 }, // Rocket Sneaker + { 0, 0, 0, 0, 1, 4, 6,10 }, // Invincibility + { 9, 4, 2, 1, 0, 0, 0, 0 }, // Banana + { 3, 2, 1, 0, 0, 0, 0, 0 }, // Eggman Monitor + { 5, 6, 4, 2, 0, 0, 0, 0 }, // Orbinaut + { 0, 3, 2, 1, 1, 0, 0, 0 }, // Jawz + { 0, 2, 2, 1, 0, 0, 0, 0 }, // Mine + { 0, 0, 2, 1, 0, 0, 0, 0 }, // Ballhog + { 0, 1, 2, 3, 4, 2, 2, 0 }, // Self-Propelled Bomb + { 0, 0, 0, 0, 0, 2, 5, 7 }, // Grow + { 0, 0, 0, 0, 0, 0, 1, 0 }, // Shrink + { 1, 2, 0, 0, 0, 0, 0, 0 }, // Thunder Shield + { 0, 0, 0, 1, 2, 1, 0, 0 }, // Hyudoro + { 0, 0, 0, 0, 0, 0, 0, 0 }, // Pogo Spring + { 0, 0, 0, 0, 0, 0, 0, 0 }, // Kitchen Sink + { 1, 2, 2, 0, 0, 0, 0, 0 }, // Super Ring + { 3, 0, 0, 0, 0, 0, 0, 0 }, // Land Mine + { 0, 1, 2, 1, 0, 0, 0, 0 }, // Bubble Shield + { 0, 0, 0, 0, 0, 2, 4, 5 }, // Flame Shield + { 1, 0, 0, 0, 0, 0, 0, 0 }, // Drop Target + { 0, 0, 2, 2, 2, 0, 0, 0 }, // Sneaker x2 + { 0, 0, 0, 1, 6,10, 5, 0 }, // Sneaker x3 + { 0, 1, 1, 0, 0, 0, 0, 0 }, // Banana x3 + { 0, 0, 0, 1, 0, 0, 0, 0 }, // Banana x10 + { 0, 0, 1, 0, 0, 0, 0, 0 }, // Orbinaut x3 + { 0, 0, 0, 1, 1, 0, 0, 0 }, // Orbinaut x4 + { 0, 0, 1, 2, 0, 0, 0, 0 } // Jawz x2 }; static UINT8 K_KartItemOddsBattle[NUMKARTRESULTS][2] = { - //P-Odds 0 1 - /*Sneaker*/ { 2, 1 }, // Sneaker - /*Rocket Sneaker*/ { 0, 0 }, // Rocket Sneaker - /*Invincibility*/ { 4, 1 }, // Invincibility - /*Banana*/ { 0, 0 }, // Banana - /*Eggman Monitor*/ { 1, 0 }, // Eggman Monitor - /*Orbinaut*/ { 8, 0 }, // Orbinaut - /*Jawz*/ { 8, 1 }, // Jawz - /*Mine*/ { 6, 1 }, // Mine - /*Ballhog*/ { 2, 1 }, // Ballhog - /*Self-Propelled Bomb*/ { 0, 0 }, // Self-Propelled Bomb - /*Grow*/ { 2, 1 }, // Grow - /*Shrink*/ { 0, 0 }, // Shrink - /*Thunder Shield*/ { 4, 0 }, // Thunder Shield - /*Hyudoro*/ { 2, 0 }, // Hyudoro - /*Pogo Spring*/ { 3, 0 }, // Pogo Spring - /*Kitchen Sink*/ { 0, 0 }, // Kitchen Sink - /*Super Ring*/ { 0, 0 }, // Super Ring - /*Land Mine*/ { 2, 0 }, // Land Mine - /*Bubble Shield*/ { 1, 0 }, // Bubble Shield - /*Flame Shield*/ { 1, 0 }, // Flame Shield - /*Drop Target*/ { 2, 0 }, // Drop Target - /*Sneaker x2*/ { 0, 0 }, // Sneaker x2 - /*Sneaker x3*/ { 0, 1 }, // Sneaker x3 - /*Banana x3*/ { 0, 0 }, // Banana x3 - /*Banana x10*/ { 1, 1 }, // Banana x10 - /*Orbinaut x3*/ { 2, 0 }, // Orbinaut x3 - /*Orbinaut x4*/ { 1, 1 }, // Orbinaut x4 - /*Jawz x2*/ { 5, 1 } // Jawz x2 + //K L + { 2, 1 }, // Sneaker + { 0, 0 }, // Rocket Sneaker + { 4, 1 }, // Invincibility + { 0, 0 }, // Banana + { 1, 0 }, // Eggman Monitor + { 8, 0 }, // Orbinaut + { 8, 1 }, // Jawz + { 6, 1 }, // Mine + { 2, 1 }, // Ballhog + { 0, 0 }, // Self-Propelled Bomb + { 2, 1 }, // Grow + { 0, 0 }, // Shrink + { 4, 0 }, // Thunder Shield + { 2, 0 }, // Hyudoro + { 3, 0 }, // Pogo Spring + { 0, 0 }, // Kitchen Sink + { 0, 0 }, // Super Ring + { 2, 0 }, // Land Mine + { 1, 0 }, // Bubble Shield + { 1, 0 }, // Flame Shield + { 2, 0 }, // Drop Target + { 0, 0 }, // Sneaker x2 + { 0, 1 }, // Sneaker x3 + { 0, 0 }, // Banana x3 + { 1, 1 }, // Banana x10 + { 2, 0 }, // Orbinaut x3 + { 1, 1 }, // Orbinaut x4 + { 5, 1 } // Jawz x2 }; #define DISTVAR (2048) // Magic number distance for use with item roulette tiers From 2f36b9931d8d73e59f25242899dbb4ab4718cb3a Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 29 Sep 2022 01:37:51 -0700 Subject: [PATCH 2/5] Remove macro to disable noclip camera --- src/doomdef.h | 4 - src/p_map.c | 4 - src/p_user.c | 208 -------------------------------------------------- 3 files changed, 216 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 9888fe66e..00c6b0a12 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -562,10 +562,6 @@ extern int compuncommitted; #undef UPDATE_ALERT #endif -/// - SRB2Kart options - -/// Camera always has noclip. -#define NOCLIPCAM - // p_sight.c #define TRAVERSE_MAX 8 diff --git a/src/p_map.c b/src/p_map.c index f08960ae9..a90273543 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -2326,11 +2326,7 @@ boolean P_TryCameraMove(fixed_t x, fixed_t y, camera_t *thiscam) fixed_t tryx = thiscam->x; fixed_t tryy = thiscam->y; -#ifndef NOCLIPCAM - if ((players[displayplayers[i]].pflags & PF_NOCLIP) || (leveltime < introtime)) // Noclipping player camera noclips too!! -#else if (!(players[displayplayers[i]].pflags & PF_NOCONTEST)) // Time Over should not clip through walls -#endif { g_tm.floatok = true; thiscam->floorz = thiscam->z; diff --git a/src/p_user.c b/src/p_user.c index cf88f1f37..0f81a64cf 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2799,10 +2799,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall mobj_t *mo; fixed_t f1, f2; fixed_t speed; -#ifndef NOCLIPCAM - boolean cameranoclip; - subsector_t *newsubsec; -#endif sonicloopcamvars_t *loop = &player->loop.camera; tic_t loop_out = leveltime - loop->enter_tic; @@ -2860,12 +2856,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall return true; } -#ifndef NOCLIPCAM - cameranoclip = ((player->pflags & PF_NOCLIP) - || (mo->flags & (MF_NOCLIP|MF_NOCLIPHEIGHT)) // Noclipping player camera noclips too!! - || (leveltime < introtime)); // Kart intro cam -#endif - if ((player->pflags & PF_NOCONTEST)) // 1 for momentum keep, 2 for turnaround timeover = (player->karthud[khud_timeovercam] > 2*TICRATE ? 2 : 1); else @@ -3167,204 +3157,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall z = mo->z + pviewheight + distz; } -#ifndef NOCLIPCAM // Disable all z-clipping for noclip cam - // move camera down to move under lower ceilings - newsubsec = R_PointInSubsectorOrNull(((mo->x>>FRACBITS) + (thiscam->x>>FRACBITS))<<(FRACBITS-1), ((mo->y>>FRACBITS) + (thiscam->y>>FRACBITS))<<(FRACBITS-1)); - - if (!newsubsec) - newsubsec = thiscam->subsector; - - if (newsubsec) - { - fixed_t myfloorz, myceilingz; - fixed_t midz = thiscam->z + (thiscam->z - mo->z)/2; - fixed_t midx = ((mo->x>>FRACBITS) + (thiscam->x>>FRACBITS))<<(FRACBITS-1); - fixed_t midy = ((mo->y>>FRACBITS) + (thiscam->y>>FRACBITS))<<(FRACBITS-1); - - // Cameras use the heightsec's heights rather then the actual sector heights. - // If you can see through it, why not move the camera through it too? - if (newsubsec->sector->camsec >= 0) - { - myfloorz = sectors[newsubsec->sector->camsec].floorheight; - myceilingz = sectors[newsubsec->sector->camsec].ceilingheight; - } - else if (newsubsec->sector->heightsec >= 0) - { - myfloorz = sectors[newsubsec->sector->heightsec].floorheight; - myceilingz = sectors[newsubsec->sector->heightsec].ceilingheight; - } - else - { - myfloorz = P_CameraGetFloorZ(thiscam, newsubsec->sector, midx, midy, NULL); - myceilingz = P_CameraGetCeilingZ(thiscam, newsubsec->sector, midx, midy, NULL); - } - - // Check list of fake floors and see if floorz/ceilingz need to be altered. - if (newsubsec->sector->ffloors) - { - ffloor_t *rover; - fixed_t delta1, delta2; - INT32 thingtop = midz + thiscam->height; - - for (rover = newsubsec->sector->ffloors; rover; rover = rover->next) - { - fixed_t topheight, bottomheight; - if (!(rover->flags & FF_BLOCKOTHERS) || !(rover->flags & FF_EXISTS) || !(rover->flags & FF_RENDERALL) || GETSECSPECIAL(rover->master->frontsector->special, 4) == 12) - continue; - - topheight = P_CameraGetFOFTopZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); - bottomheight = P_CameraGetFOFBottomZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); - - delta1 = midz - (bottomheight - + ((topheight - bottomheight)/2)); - delta2 = thingtop - (bottomheight - + ((topheight - bottomheight)/2)); - if (topheight > myfloorz && abs(delta1) < abs(delta2)) - myfloorz = topheight; - if (bottomheight < myceilingz && abs(delta1) >= abs(delta2)) - myceilingz = bottomheight; - } - } - - // Check polyobjects and see if floorz/ceilingz need to be altered - { - INT32 xl, xh, yl, yh, bx, by; - validcount++; - - xl = (unsigned)(tmbbox[BOXLEFT] - bmaporgx)>>MAPBLOCKSHIFT; - xh = (unsigned)(tmbbox[BOXRIGHT] - bmaporgx)>>MAPBLOCKSHIFT; - yl = (unsigned)(tmbbox[BOXBOTTOM] - bmaporgy)>>MAPBLOCKSHIFT; - yh = (unsigned)(tmbbox[BOXTOP] - bmaporgy)>>MAPBLOCKSHIFT; - - BMBOUNDFIX(xl, xh, yl, yh); - - for (by = yl; by <= yh; by++) - for (bx = xl; bx <= xh; bx++) - { - INT32 offset; - polymaplink_t *plink; // haleyjd 02/22/06 - - if (bx < 0 || by < 0 || bx >= bmapwidth || by >= bmapheight) - continue; - - offset = by*bmapwidth + bx; - - // haleyjd 02/22/06: consider polyobject lines - plink = polyblocklinks[offset]; - - while (plink) - { - polyobj_t *po = plink->po; - - if (po->validcount != validcount) // if polyobj hasn't been checked - { - sector_t *polysec; - fixed_t delta1, delta2, thingtop; - fixed_t polytop, polybottom; - - po->validcount = validcount; - - if (!P_PointInsidePolyobj(po, x, y) || !(po->flags & POF_SOLID)) - { - plink = (polymaplink_t *)(plink->link.next); - continue; - } - - // We're inside it! Yess... - polysec = po->lines[0]->backsector; - - if (GETSECSPECIAL(polysec->special, 4) == 12) - { // Camera noclip polyobj. - plink = (polymaplink_t *)(plink->link.next); - continue; - } - - if (po->flags & POF_CLIPPLANES) - { - polytop = polysec->ceilingheight; - polybottom = polysec->floorheight; - } - else - { - polytop = INT32_MAX; - polybottom = INT32_MIN; - } - - thingtop = midz + thiscam->height; - delta1 = midz - (polybottom + ((polytop - polybottom)/2)); - delta2 = thingtop - (polybottom + ((polytop - polybottom)/2)); - - if (polytop > myfloorz && abs(delta1) < abs(delta2)) - myfloorz = polytop; - - if (polybottom < myceilingz && abs(delta1) >= abs(delta2)) - myceilingz = polybottom; - } - plink = (polymaplink_t *)(plink->link.next); - } - } - } - - // crushed camera - if (myceilingz <= myfloorz + thiscam->height && !resetcalled && !cameranoclip) - { - P_ResetCamera(player, thiscam); - return true; - } - - // camera fit? - if (myceilingz != myfloorz - && myceilingz - thiscam->height < z) - { -/* // no fit - if (!resetcalled && !cameranoclip) - { - P_ResetCamera(player, thiscam); - return true; - } -*/ - z = myceilingz - thiscam->height-FixedMul(11*FRACUNIT, mo->scale); - // is the camera fit is there own sector - } - - // Make the camera a tad smarter with 3d floors - if (newsubsec->sector->ffloors && !cameranoclip) - { - ffloor_t *rover; - - for (rover = newsubsec->sector->ffloors; rover; rover = rover->next) - { - fixed_t topheight, bottomheight; - if ((rover->flags & FF_BLOCKOTHERS) && (rover->flags & FF_RENDERALL) && (rover->flags & FF_EXISTS) && GETSECSPECIAL(rover->master->frontsector->special, 4) == 12) - { - topheight = P_CameraGetFOFTopZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); - bottomheight = P_CameraGetFOFBottomZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); - - if (bottomheight - thiscam->height < z - && midz < bottomheight) - z = bottomheight - thiscam->height-FixedMul(11*FRACUNIT, mo->scale); - - else if (topheight + thiscam->height > z - && midz > topheight) - z = topheight; - - if ((mo->z >= topheight && midz < bottomheight) - || ((mo->z < bottomheight && mo->z+mo->height < topheight) && midz >= topheight)) - { - // Can't see - if (!resetcalled) - P_ResetCamera(player, thiscam); - return true; - } - } - } - } - } - - if (thiscam->z < thiscam->floorz && !cameranoclip) - thiscam->z = thiscam->floorz; -#endif // NOCLIPCAM - z += player->cameraOffset; // point viewed by the camera From 2462a5fcba36736aae751c73a507ffc4f8e0538b Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 29 Sep 2022 06:10:53 -0700 Subject: [PATCH 3/5] Let relativeteleport work online Requires all x, y, z arguments. Floats supported. Old: rteleport -x 1 -y 2 -z 3 New: rteleport 1.1 2.2 3.3 --- src/d_netcmd.c | 39 ++++++++++++++++++++++++++++++++++ src/m_cheat.c | 57 +++++++------------------------------------------- src/m_cheat.h | 1 + 3 files changed, 47 insertions(+), 50 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 51944c0da..6827d860f 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2129,6 +2129,12 @@ void D_Cheat(INT32 playernum, INT32 cheat, ...) COPY(WRITEINT32, INT32); break; + case CHEAT_RELATIVE_TELEPORT: + COPY(WRITEFIXED, fixed_t); + COPY(WRITEFIXED, fixed_t); + COPY(WRITEFIXED, fixed_t); + break; + case CHEAT_DEVMODE: COPY(WRITEUINT32, UINT32); break; @@ -5776,6 +5782,39 @@ static void Got_Cheat(UINT8 **cp, INT32 playernum) break; } + case CHEAT_RELATIVE_TELEPORT: { + fixed_t x = READFIXED(*cp); + fixed_t y = READFIXED(*cp); + fixed_t z = READFIXED(*cp); + + float f[3] = { + FIXED_TO_FLOAT(x), + FIXED_TO_FLOAT(y), + FIXED_TO_FLOAT(z), + }; + char t[3][9]; + + if (!P_MobjWasRemoved(player->mo)) + { + P_MapStart(); + P_SetOrigin(player->mo, + player->mo->x + x, + player->mo->y + y, + player->mo->z + z); + P_MapEnd(); + + S_StartSound(player->mo, sfx_mixup); + } + + strlcpy(t[0], M_Ftrim(f[0]), sizeof t[0]); + strlcpy(t[1], M_Ftrim(f[1]), sizeof t[1]); + strlcpy(t[2], M_Ftrim(f[2]), sizeof t[2]); + + CV_CheaterWarning(targetPlayer, va("relative teleport by %d%s, %d%s, %d%s", + (int)f[0], t[0], (int)f[1], t[1], (int)f[2], t[2])); + break; + } + case CHEAT_DEVMODE: { UINT32 flags = READUINT32(*cp); cht_debug = flags; diff --git a/src/m_cheat.c b/src/m_cheat.c index dd633cf9e..4888c502c 100644 --- a/src/m_cheat.c +++ b/src/m_cheat.c @@ -337,64 +337,21 @@ void Command_Hurtme_f(void) void Command_RTeleport_f(void) { - fixed_t intx, inty, intz; - size_t i; - player_t *p = &players[consoleplayer]; - subsector_t *ss; + float x = atof(COM_Argv(1)); + float y = atof(COM_Argv(2)); + float z = atof(COM_Argv(3)); REQUIRE_DEVMODE; REQUIRE_INLEVEL; - REQUIRE_SINGLEPLAYER; - if (COM_Argc() < 3 || COM_Argc() > 7) + if (COM_Argc() != 4) { - CONS_Printf(M_GetText("rteleport -x -y -z : relative teleport to a location\n")); + CONS_Printf(M_GetText("rteleport : relative teleport to a location\n")); return; } - if (!p->mo) - return; - - i = COM_CheckParm("-x"); - if (i) - intx = atoi(COM_Argv(i + 1)); - else - intx = 0; - - i = COM_CheckParm("-y"); - if (i) - inty = atoi(COM_Argv(i + 1)); - else - inty = 0; - - ss = R_PointInSubsectorOrNull(p->mo->x + intx*FRACUNIT, p->mo->y + inty*FRACUNIT); - if (!ss || ss->sector->ceilingheight - ss->sector->floorheight < p->mo->height) - { - CONS_Alert(CONS_NOTICE, M_GetText("Not a valid location.\n")); - return; - } - i = COM_CheckParm("-z"); - if (i) - { - intz = atoi(COM_Argv(i + 1)); - intz <<= FRACBITS; - intz += p->mo->z; - if (intz < ss->sector->floorheight) - intz = ss->sector->floorheight; - if (intz > ss->sector->ceilingheight - p->mo->height) - intz = ss->sector->ceilingheight - p->mo->height; - } - else - intz = p->mo->z; - - CONS_Printf(M_GetText("Teleporting by %d, %d, %d...\n"), intx, inty, FixedInt((intz-p->mo->z))); - - P_MapStart(); - if (!P_SetOrigin(p->mo, p->mo->x+intx*FRACUNIT, p->mo->y+inty*FRACUNIT, intz)) - CONS_Alert(CONS_WARNING, M_GetText("Unable to teleport to that spot!\n")); - else - S_StartSound(p->mo, sfx_mixup); - P_MapEnd(); + D_Cheat(consoleplayer, CHEAT_RELATIVE_TELEPORT, + FLOAT_TO_FIXED(x), FLOAT_TO_FIXED(y), FLOAT_TO_FIXED(z)); } void Command_Teleport_f(void) diff --git a/src/m_cheat.h b/src/m_cheat.h index 33e80e3b1..7c086da34 100644 --- a/src/m_cheat.h +++ b/src/m_cheat.h @@ -31,6 +31,7 @@ typedef enum { CHEAT_SCALE, CHEAT_FLIP, CHEAT_HURT, + CHEAT_RELATIVE_TELEPORT, CHEAT_DEVMODE, NUMBER_OF_CHEATS From 9f6e9c109ecaa7ba1a02fe84444c92bf9ea1bad4 Mon Sep 17 00:00:00 2001 From: James R Date: Thu, 29 Sep 2022 03:53:30 -0700 Subject: [PATCH 4/5] Let savecheckpoint work online, work at all Actually respawns you at this location! :smiley: Uses object Z position instead of floor height. --- src/d_netcmd.c | 20 ++++++++++++++++++++ src/m_cheat.c | 12 ++++++------ src/m_cheat.h | 1 + 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 6827d860f..4678d86c2 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2114,6 +2114,12 @@ void D_Cheat(INT32 playernum, INT32 cheat, ...) switch (cheat) { + case CHEAT_SAVECHECKPOINT: + COPY(WRITEFIXED, fixed_t); // x + COPY(WRITEFIXED, fixed_t); // y + COPY(WRITEFIXED, fixed_t); // z + break; + case CHEAT_RINGS: case CHEAT_LIVES: // If you're confused why 'int' instead of @@ -5719,6 +5725,20 @@ static void Got_Cheat(UINT8 **cp, INT32 playernum) break; } + case CHEAT_SAVECHECKPOINT: { + fixed_t x = READFIXED(*cp); + fixed_t y = READFIXED(*cp); + fixed_t z = READFIXED(*cp); + + player->starpostx = x>>FRACBITS; + player->starposty = y>>FRACBITS; + player->starpostz = z>>FRACBITS; + + CV_CheaterWarning(targetPlayer, va("temporary checkpoint created at %d, %d, %d", + x / FRACUNIT, y / FRACUNIT, z / FRACUNIT)); + break; + } + case CHEAT_RINGS: { SINT8 rings = READSINT8(*cp); diff --git a/src/m_cheat.c b/src/m_cheat.c index 4888c502c..9830ebcec 100644 --- a/src/m_cheat.c +++ b/src/m_cheat.c @@ -659,15 +659,15 @@ void Command_Dumplua_f(void) void Command_Savecheckpoint_f(void) { + mobj_t *thing = players[consoleplayer].mo; + REQUIRE_DEVMODE; REQUIRE_INLEVEL; - REQUIRE_SINGLEPLAYER; - players[consoleplayer].starpostx = players[consoleplayer].mo->x; - players[consoleplayer].starposty = players[consoleplayer].mo->y; - players[consoleplayer].starpostz = players[consoleplayer].mo->floorz; - - CONS_Printf(M_GetText("Temporary checkpoint created at %d, %d, %d\n"), players[consoleplayer].starpostx, players[consoleplayer].starposty, players[consoleplayer].starpostz); + if (!P_MobjWasRemoved(thing)) + { + D_Cheat(consoleplayer, CHEAT_SAVECHECKPOINT, thing->x, thing->y, thing->z); + } } // Like M_GetAllEmeralds() but for console devmode junkies. diff --git a/src/m_cheat.h b/src/m_cheat.h index 7c086da34..c217d7f01 100644 --- a/src/m_cheat.h +++ b/src/m_cheat.h @@ -26,6 +26,7 @@ extern "C" { typedef enum { CHEAT_NOCLIP, CHEAT_GOD, + CHEAT_SAVECHECKPOINT, CHEAT_RINGS, CHEAT_LIVES, CHEAT_SCALE, From 2c49adda4d46bfc8d6954ee2d9295bcb4517c078 Mon Sep 17 00:00:00 2001 From: GenericHeroGuy Date: Thu, 27 Mar 2025 22:48:56 +0100 Subject: [PATCH 5/5] something something consistency --- src/d_netcmd.c | 8 ++++---- src/d_netcmd.h | 8 ++++---- src/k_hud.c | 40 ++++++++++++++++++++-------------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 4678d86c2..a3aa6782d 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -375,18 +375,18 @@ consvar_t cv_eggmanmonitor = CVAR_INIT ("eggmanmonitor", "On", CV_NETVAR|CV_C consvar_t cv_orbinaut = CVAR_INIT ("orbinaut", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_jawz = CVAR_INIT ("jawz", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_mine = CVAR_INIT ("mine", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_landmine = CVAR_INIT ("landmine", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_ballhog = CVAR_INIT ("ballhog", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_selfpropelledbomb = CVAR_INIT ("selfpropelledbomb", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_grow = CVAR_INIT ("grow", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_shrink = CVAR_INIT ("shrink", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_thundershield = CVAR_INIT ("thundershield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_bubbleshield = CVAR_INIT ("bubbleshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_flameshield = CVAR_INIT ("flameshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_hyudoro = CVAR_INIT ("hyudoro", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_pogospring = CVAR_INIT ("pogospring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_superring = CVAR_INIT ("superring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_kitchensink = CVAR_INIT ("kitchensink", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_superring = CVAR_INIT ("superring", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_landmine = CVAR_INIT ("landmine", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_bubbleshield = CVAR_INIT ("bubbleshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); +consvar_t cv_flameshield = CVAR_INIT ("flameshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_droptarget = CVAR_INIT ("droptarget", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_dualsneaker = CVAR_INIT ("dualsneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); diff --git a/src/d_netcmd.h b/src/d_netcmd.h index 01867d915..6ddf593c8 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -80,18 +80,18 @@ extern consvar_t cv_orbinaut, cv_jawz, cv_mine, - cv_landmine, cv_ballhog, cv_selfpropelledbomb, cv_grow, cv_shrink, cv_thundershield, - cv_bubbleshield, - cv_flameshield, cv_hyudoro, cv_pogospring, - cv_superring, cv_kitchensink, + cv_superring, + cv_landmine, + cv_bubbleshield, + cv_flameshield, cv_droptarget; extern consvar_t diff --git a/src/k_hud.c b/src/k_hud.c index e377caa02..4ee787f05 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -122,18 +122,18 @@ static patch_t *kp_eggman[2]; static patch_t *kp_orbinaut[5]; static patch_t *kp_jawz[3]; static patch_t *kp_mine[2]; -static patch_t *kp_landmine[2]; static patch_t *kp_ballhog[2]; static patch_t *kp_selfpropelledbomb[2]; static patch_t *kp_grow[2]; static patch_t *kp_shrink[2]; static patch_t *kp_thundershield[2]; -static patch_t *kp_bubbleshield[2]; -static patch_t *kp_flameshield[2]; static patch_t *kp_hyudoro[2]; static patch_t *kp_pogospring[2]; -static patch_t *kp_superring[2]; static patch_t *kp_kitchensink[2]; +static patch_t *kp_superring[2]; +static patch_t *kp_landmine[2]; +static patch_t *kp_bubbleshield[2]; +static patch_t *kp_flameshield[2]; static patch_t *kp_droptarget[2]; static patch_t *kp_check[6]; @@ -331,18 +331,18 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_jawz[0], "K_ITJAWZ"); HU_UpdatePatch(&kp_jawz[1], "K_ITJAW2"); HU_UpdatePatch(&kp_mine[0], "K_ITMINE"); - HU_UpdatePatch(&kp_landmine[0], "K_ITLNDM"); HU_UpdatePatch(&kp_ballhog[0], "K_ITBHOG"); HU_UpdatePatch(&kp_selfpropelledbomb[0], "K_ITSPB"); HU_UpdatePatch(&kp_grow[0], "K_ITGROW"); HU_UpdatePatch(&kp_shrink[0], "K_ITSHRK"); HU_UpdatePatch(&kp_thundershield[0], "K_ITTHNS"); - HU_UpdatePatch(&kp_bubbleshield[0], "K_ITBUBS"); - HU_UpdatePatch(&kp_flameshield[0], "K_ITFLMS"); HU_UpdatePatch(&kp_hyudoro[0], "K_ITHYUD"); HU_UpdatePatch(&kp_pogospring[0], "K_ITPOGO"); - HU_UpdatePatch(&kp_superring[0], "K_ITRING"); HU_UpdatePatch(&kp_kitchensink[0], "K_ITSINK"); + HU_UpdatePatch(&kp_superring[0], "K_ITRING"); + HU_UpdatePatch(&kp_landmine[0], "K_ITLNDM"); + HU_UpdatePatch(&kp_bubbleshield[0], "K_ITBUBS"); + HU_UpdatePatch(&kp_flameshield[0], "K_ITFLMS"); HU_UpdatePatch(&kp_droptarget[0], "K_ITDTRG"); // Splitscreen @@ -365,18 +365,18 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_orbinaut[4], "K_ISORBN"); HU_UpdatePatch(&kp_jawz[2], "K_ISJAWZ"); HU_UpdatePatch(&kp_mine[1], "K_ISMINE"); - HU_UpdatePatch(&kp_landmine[1], "K_ISLNDM"); HU_UpdatePatch(&kp_ballhog[1], "K_ISBHOG"); HU_UpdatePatch(&kp_selfpropelledbomb[1], "K_ISSPB"); HU_UpdatePatch(&kp_grow[1], "K_ISGROW"); HU_UpdatePatch(&kp_shrink[1], "K_ISSHRK"); HU_UpdatePatch(&kp_thundershield[1], "K_ISTHNS"); - HU_UpdatePatch(&kp_bubbleshield[1], "K_ISBUBS"); - HU_UpdatePatch(&kp_flameshield[1], "K_ISFLMS"); HU_UpdatePatch(&kp_hyudoro[1], "K_ISHYUD"); HU_UpdatePatch(&kp_pogospring[1], "K_ISPOGO"); - HU_UpdatePatch(&kp_superring[1], "K_ISRING"); HU_UpdatePatch(&kp_kitchensink[1], "K_ISSINK"); + HU_UpdatePatch(&kp_superring[1], "K_ISRING"); + HU_UpdatePatch(&kp_landmine[1], "K_ISLNDM"); + HU_UpdatePatch(&kp_bubbleshield[1], "K_ISBUBS"); + HU_UpdatePatch(&kp_flameshield[1], "K_ISFLMS"); HU_UpdatePatch(&kp_droptarget[1], "K_ISDTRG"); // CHECK indicators @@ -496,8 +496,6 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny) return (tiny ? "K_ISJAWZ" : "K_ITJAWZ"); case KITEM_MINE: return (tiny ? "K_ISMINE" : "K_ITMINE"); - case KITEM_LANDMINE: - return (tiny ? "K_ISLNDM" : "K_ITLNDM"); case KITEM_BALLHOG: return (tiny ? "K_ISBHOG" : "K_ITBHOG"); case KITEM_SPB: @@ -508,18 +506,20 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny) return (tiny ? "K_ISSHRK" : "K_ITSHRK"); case KITEM_THUNDERSHIELD: return (tiny ? "K_ISTHNS" : "K_ITTHNS"); - case KITEM_BUBBLESHIELD: - return (tiny ? "K_ISBUBS" : "K_ITBUBS"); - case KITEM_FLAMESHIELD: - return (tiny ? "K_ISFLMS" : "K_ITFLMS"); case KITEM_HYUDORO: return (tiny ? "K_ISHYUD" : "K_ITHYUD"); case KITEM_POGOSPRING: return (tiny ? "K_ISPOGO" : "K_ITPOGO"); - case KITEM_SUPERRING: - return (tiny ? "K_ISRING" : "K_ITRING"); case KITEM_KITCHENSINK: return (tiny ? "K_ISSINK" : "K_ITSINK"); + case KITEM_SUPERRING: + return (tiny ? "K_ISRING" : "K_ITRING"); + case KITEM_LANDMINE: + return (tiny ? "K_ISLNDM" : "K_ITLNDM"); + case KITEM_BUBBLESHIELD: + return (tiny ? "K_ISBUBS" : "K_ITBUBS"); + case KITEM_FLAMESHIELD: + return (tiny ? "K_ISFLMS" : "K_ITFLMS"); case KITEM_DROPTARGET: return (tiny ? "K_ISDTRG" : "K_ITDTRG"); case KRITEM_DUALSNEAKER: