From 1c529471945f141726833b57ba64208680a26ca3 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Thu, 11 Sep 2025 11:15:50 -0400 Subject: [PATCH] Small Cleanup Make itemodds compile as C, remove .vscode --- .gitignore | 1 + .vscode/settings.json | 16 --------- src/Sourcefile | 2 +- src/k_botitem.cpp | 2 +- src/k_collide.c | 2 +- src/k_hud.c | 2 +- src/k_kart.c | 30 +++++++++++++++- src/k_kart.h | 3 ++ src/{k_odds.cpp => k_odds.c} | 66 ++++++++++-------------------------- src/{k_odds.hpp => k_odds.h} | 4 +-- src/m_menu.c | 2 +- src/p_inter.c | 2 +- src/p_mobj.c | 2 +- src/p_user.c | 2 +- 14 files changed, 59 insertions(+), 77 deletions(-) delete mode 100644 .vscode/settings.json rename src/{k_odds.cpp => k_odds.c} (95%) rename src/{k_odds.hpp => k_odds.h} (94%) diff --git a/.gitignore b/.gitignore index 09fb59a30..14fe96ba4 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ Win32_LIB_ASM_Release *.opendb *.kate-swp /.vs +/.vscode /debian /assets/debian /make diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 7a89862eb..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "files.associations": { - "charconv": "c", - "chrono": "c", - "optional": "c", - "format": "c", - "ranges": "c", - "ratio": "c", - "system_error": "c", - "array": "c", - "functional": "c", - "tuple": "c", - "type_traits": "c", - "utility": "c" - } -} \ No newline at end of file diff --git a/src/Sourcefile b/src/Sourcefile index 0577eb836..bb9a358aa 100644 --- a/src/Sourcefile +++ b/src/Sourcefile @@ -128,7 +128,7 @@ k_bot.cpp k_botitem.cpp k_botsearch.cpp k_cluster.cpp -k_odds.cpp +k_odds.c k_grandprix.c k_boss.c k_hud.c diff --git a/src/k_botitem.cpp b/src/k_botitem.cpp index 468ed9291..fb0ed946d 100644 --- a/src/k_botitem.cpp +++ b/src/k_botitem.cpp @@ -29,7 +29,7 @@ #include "m_random.h" #include "r_things.h" // numskins #include "m_easing.h" -#include "k_odds.hpp" +#include "k_odds.h" // Looks for players around the bot, and presses the item button // if there is one in range. diff --git a/src/k_collide.c b/src/k_collide.c index a2960437b..e13b74ec8 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -7,7 +7,7 @@ #include "doomtype.h" #include "p_mobj.h" #include "k_kart.h" -#include "k_odds.hpp" +#include "k_odds.h" #include "p_local.h" #include "s_sound.h" #include "r_main.h" // R_PointToAngle2, R_PointToDist2 diff --git a/src/k_hud.c b/src/k_hud.c index dc7cfa869..f645518d0 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -17,7 +17,7 @@ #include "k_boss.h" #include "k_color.h" #include "k_director.h" -#include "k_odds.hpp" +#include "k_odds.h" #include "p_mobj.h" #include "screen.h" #include "doomtype.h" diff --git a/src/k_kart.c b/src/k_kart.c index f5df1c051..1a2b3fcc1 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -64,7 +64,7 @@ #include "k_follower.h" #include "k_grandprix.h" #include "k_cluster.hpp" -#include "k_odds.hpp" +#include "k_odds.h" #include "h_timers.h" #include "blan/b_soc.h" @@ -9547,6 +9547,34 @@ boolean K_SlopeResistance(const player_t *player) return false; } +INT32 K_GetShieldFromPlayer(player_t *player) +{ + + if (player->flametimer > 0) + { + return KSHIELD_FLAME; + } + + switch (player->itemtype) + { + case KITEM_THUNDERSHIELD: return KSHIELD_THUNDER; + case KITEM_BUBBLESHIELD: return KSHIELD_BUBBLE; + //case KITEM_FLAMESHIELD: return KSHIELD_FLAME; not active until flametimer is active. + default: return KSHIELD_NONE; + } +} + +INT32 K_GetShieldFromItem(INT32 item) +{ + switch (item) + { + case KITEM_THUNDERSHIELD: return KSHIELD_THUNDER; + case KITEM_BUBBLESHIELD: return KSHIELD_BUBBLE; + case KITEM_FLAMESHIELD: return KSHIELD_FLAME; + default: return KSHIELD_NONE; + } +} + void K_SetItemOut(player_t *player) { player->itemflags |= IF_ITEMOUT; diff --git a/src/k_kart.h b/src/k_kart.h index c95709aad..772f3d3cb 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -308,6 +308,9 @@ void K_PlayHitEmSound(mobj_t *source, mobj_t *other); void K_TryHurtSoundExchange(mobj_t *victim, mobj_t *attacker); void K_PlayPowerGloatSound(mobj_t *source); +INT32 K_GetShieldFromPlayer(player_t *player); +INT32 K_GetShieldFromItem(INT32 item); + void K_SetItemOut(player_t *player); void K_UnsetItemOut(player_t *player); diff --git a/src/k_odds.cpp b/src/k_odds.c similarity index 95% rename from src/k_odds.cpp rename to src/k_odds.c index b07e19378..e7f0d89c9 100644 --- a/src/k_odds.cpp +++ b/src/k_odds.c @@ -35,9 +35,7 @@ #include "k_waypoint.h" #include "k_cluster.hpp" -#include "k_odds.hpp" - -extern "C" { +#include "k_odds.h" consvar_t *KartItemCVars[NUMKARTRESULTS-1] = { @@ -159,34 +157,6 @@ static UINT8 K_KartItemOddsBattle[NUMKARTRESULTS][2] = #define SPBFORCEDIST (15*DISTVAR) // Distance when SPB is forced onto 2nd place #define ENDDIST (12*DISTVAR) // Distance when the game stops giving you bananas -INT32 K_GetShieldFromPlayer(player_t *player) -{ - - if (player->flametimer > 0) - { - return KSHIELD_FLAME; - } - - switch (player->itemtype) - { - case KITEM_THUNDERSHIELD: return KSHIELD_THUNDER; - case KITEM_BUBBLESHIELD: return KSHIELD_BUBBLE; - //case KITEM_FLAMESHIELD: return KSHIELD_FLAME; not active until flametimer is active. - default: return KSHIELD_NONE; - } -} - -INT32 K_GetShieldFromItem(INT32 item) -{ - switch (item) - { - case KITEM_THUNDERSHIELD: return KSHIELD_THUNDER; - case KITEM_BUBBLESHIELD: return KSHIELD_BUBBLE; - case KITEM_FLAMESHIELD: return KSHIELD_FLAME; - default: return KSHIELD_NONE; - } -} - SINT8 K_ItemResultToType(SINT8 getitem) { if (getitem <= 0 || getitem >= NUMKARTRESULTS) // Sad (Fallback) @@ -313,7 +283,7 @@ fixed_t K_ItemOddsScale(UINT8 numPlayers, boolean spbrush) // More than vanillaMax: Increase odds to fit with the increased playercount // 24P: x0.6 // 30P: x0.45 - playerScaling = (basePlayer - std::min(extPlayer, static_cast(playerCount))) * (FRACUNIT / 40); // adding a cap here to be sure + playerScaling = (basePlayer - min(extPlayer, playerCount)) * (FRACUNIT / 40); // adding a cap here to be sure } } @@ -360,12 +330,12 @@ static INT32 K_KartGetInvincibilityOdds(UINT32 dist) return 0; INT32 finodds = 0; - fixed_t fac = (std::min(32000, (fixed_t)dist) * FRACUNIT) / (INVINDIST); + fixed_t fac = (min(32000, (fixed_t)dist) * FRACUNIT) / (INVINDIST); if (fac > FRACUNIT) { // Desperation! Climb exponentially until Invincibility is practically guaranteed. - fac = (((std::min(32000, (fixed_t)dist) * FRACUNIT) / (INVINDIST)) - FRACUNIT) >> 1; + fac = (((min(32000, (fixed_t)dist) * FRACUNIT) / (INVINDIST)) - FRACUNIT) >> 1; finodds = Easing_InCubic(fac, INVODDS, MAXINVODDS); } else @@ -380,7 +350,7 @@ static INT32 K_KartGetInvincibilityOdds(UINT32 dist) finodds = FixedMul(INVODDS, fac); } - return std::min(MAXINVODDS, finodds); + return min(MAXINVODDS, finodds); } /** \brief Item Roulette for Kart @@ -565,7 +535,7 @@ INT32 K_KartGetItemOdds( } else { - const INT32 distFromStart = std::max(0, static_cast(secondToFirst) - SPBSTARTDIST); + const INT32 distFromStart = max(0, secondToFirst - SPBSTARTDIST); const INT32 distRange = SPBFORCEDIST - SPBSTARTDIST; const INT32 mulMax = 3; @@ -774,7 +744,7 @@ INT32 K_KartGetLegacyItemOdds(UINT8 pos, SINT8 item, fixed_t clusterDist, fixed_ } else if (pos != 9) // Force SPB { - const INT32 distFromStart = std::max(0, static_cast(secondToFirst) - SPBSTARTDIST); + const INT32 distFromStart = max(0, secondToFirst - SPBSTARTDIST); const INT32 distRange = SPBFORCEDIST - SPBSTARTDIST; const fixed_t mulMax = 3*FRACUNIT; @@ -857,7 +827,7 @@ INT32 K_KartGetLegacyItemOdds(UINT8 pos, SINT8 item, fixed_t clusterDist, fixed_ UINT8 K_FindUseodds(const player_t *player, fixed_t mashed, UINT32 pdis, UINT8 bestbumper, boolean spbrush) { - fixed_t oddsfac = std::max(FRACUNIT, (MAXODDS * FRACUNIT) / 8); + fixed_t oddsfac = max(FRACUNIT, (MAXODDS * FRACUNIT) / 8); INT32 oddsdiv = ((MAXODDS - 1) * 2); UINT8 i; @@ -904,7 +874,7 @@ UINT8 K_FindUseodds(const player_t *player, fixed_t mashed, UINT32 pdis, UINT8 b for (i = num; i; --i) \ { \ disttable[distlen++] = odds; \ - distlen = std::min(static_cast(oddsdiv - 1), distlen); \ + distlen = min(oddsdiv - 1, distlen); \ } if (gametyperules & GTR_BATTLEODDS) // Battle Mode @@ -942,7 +912,7 @@ UINT8 K_FindUseodds(const player_t *player, fixed_t mashed, UINT32 pdis, UINT8 b } else { - jj = std::max(1, ((j - 3) / tablediv) + 1); + jj = max(1, ((j - 3) / tablediv) + 1); if (jj < 1) { @@ -974,7 +944,7 @@ UINT8 K_FindUseodds(const player_t *player, fixed_t mashed, UINT32 pdis, UINT8 b { for (i = 1; i < (oddsdiv - 1); i++) { - INT32 distcalc = std::min(static_cast(distlen-1), (i * distlen) / oddsdiv); + INT32 distcalc = min(distlen-1, (i * distlen) / oddsdiv); if (pdis <= usedistvar * distcalc) { @@ -992,7 +962,7 @@ UINT8 K_FindUseodds(const player_t *player, fixed_t mashed, UINT32 pdis, UINT8 b INT32 K_FindLegacyUseodds(player_t *player, fixed_t mashed, INT32 pingame, INT32 bestbumper, boolean spbrush, boolean dontforcespb) { - fixed_t oddsfac = std::max(FRACUNIT, (MAXODDS * FRACUNIT) / 8); + fixed_t oddsfac = max(FRACUNIT, (MAXODDS * FRACUNIT) / 8); INT32 oddsdiv = (MAXODDS - 1) * 2; SINT8 sortedPlayers[MAXPLAYERS]; @@ -1151,7 +1121,7 @@ INT32 K_FindLegacyUseodds(player_t *player, fixed_t mashed, INT32 pingame, INT32 for (i = num; i; --i) \ { \ disttable[distlen++] = odds; \ - distlen = std::min(static_cast(oddsdiv - 1), distlen); \ + distlen = min(oddsdiv - 1, distlen); \ } if (gametyperules & GTR_BATTLEODDS) // Battle Mode @@ -1188,7 +1158,7 @@ INT32 K_FindLegacyUseodds(player_t *player, fixed_t mashed, INT32 pingame, INT32 } else { - jj = std::max(1, ((j - 3) / tablediv) + 1); + jj = max(1, ((j - 3) / tablediv) + 1); if (jj < 1) { @@ -1246,7 +1216,7 @@ INT32 K_FindLegacyUseodds(player_t *player, fixed_t mashed, INT32 pingame, INT32 { for (i = 1; i < (oddsdiv - 1); i++) { - INT32 distcalc = std::min(static_cast(distlen-1), (i * distlen) / oddsdiv); + INT32 distcalc = min(distlen-1, (i * distlen) / oddsdiv); if (pdis <= (unsigned)(usedistvar * distcalc)) { useodds = disttable[distcalc]; @@ -1349,7 +1319,7 @@ void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) // This makes the roulette produce the random noises. if ((player->itemroulette % 3) == 1 && P_IsDisplayPlayer(player)) { -#define PLAYROULETTESND S_StartSound(NULL, static_cast(sfx_itrol1 + ((player->itemroulette / 3) % 8))) +#define PLAYROULETTESND S_StartSound(NULL, sfx_itrol1 + ((player->itemroulette / 3) % 8)) for (i = 0; i <= r_splitscreen; i++) { if (player == &players[displayplayers[i]] && players[displayplayers[i]].itemroulette) @@ -1520,7 +1490,7 @@ void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) // Being in ring debt occasionally forces Super Ring on you if you mashed if ((K_RingsActive() == true) && mashed && player->rings < 0 && cv_superring.value) { - INT32 debtamount = std::min(abs(player->ringmin), abs(player->rings)); + INT32 debtamount = min(abs(player->ringmin), abs(player->rings)); if (P_RandomChance((debtamount*FRACUNIT)/abs(player->ringmin))) { K_KartGetItemResult(player, KITEM_SUPERRING); @@ -1619,5 +1589,3 @@ void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) player->itemroulette = KROULETTE_DISABLED; // Since we're done, clear the roulette number player->roulettetype = KROULETTETYPE_NORMAL; // This too } - -} \ No newline at end of file diff --git a/src/k_odds.hpp b/src/k_odds.h similarity index 94% rename from src/k_odds.hpp rename to src/k_odds.h index 446954619..859d12d2b 100644 --- a/src/k_odds.hpp +++ b/src/k_odds.h @@ -37,8 +37,6 @@ UINT32 K_ScaleItemDistance(UINT32 distance, UINT8 numPlayers, boolean spbrush); INT32 K_KartGetItemOdds(UINT8 pos, SINT8 item, UINT32 ourDist, UINT32 clusterDist, fixed_t mashed, boolean spbrush, boolean bot, boolean rival); INT32 K_KartGetLegacyItemOdds(UINT8 pos, SINT8 item, fixed_t clusterDist, fixed_t mashed, boolean spbrush); INT32 K_GetRollingRouletteItem(player_t *player); -INT32 K_GetShieldFromPlayer(player_t *player); -INT32 K_GetShieldFromItem(INT32 item); SINT8 K_ItemResultToType(SINT8 getitem); UINT8 K_ItemResultToAmount(SINT8 getitem); void K_KartItemRoulette(player_t *player, ticcmd_t *cmd); @@ -47,4 +45,4 @@ void K_KartItemRoulette(player_t *player, ticcmd_t *cmd); } // extern "C" #endif -#endif // __K_ODDS__ \ No newline at end of file +#endif // __K_ODDS__ diff --git a/src/m_menu.c b/src/m_menu.c index af085e973..79854271d 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -67,7 +67,7 @@ #include "i_sound.h" #include "k_hud.h" // SRB2kart #include "k_kart.h" -#include "k_odds.hpp" // KartItemCVars +#include "k_odds.h" // KartItemCVars #include "k_pwrlv.h" #include "k_stats.h" // SRB2kart #include "d_player.h" // KITEM_ constants diff --git a/src/p_inter.c b/src/p_inter.c index 31c33f087..3be928983 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -39,7 +39,7 @@ #include "k_boss.h" #include "p_spec.h" #include "k_objects.h" -#include "k_odds.hpp" +#include "k_odds.h" #include "acs/interface.h" // CTF player names diff --git a/src/p_mobj.c b/src/p_mobj.c index a997e5a1f..6ac1ee9ff 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -50,7 +50,7 @@ #include "k_terrain.h" #include "k_collide.h" #include "k_objects.h" -#include "k_odds.hpp" +#include "k_odds.h" // BlanKart #include "blan/b_soc.h" diff --git a/src/p_user.c b/src/p_user.c index 65248ba3f..e78d6cb69 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -61,7 +61,7 @@ #include "k_terrain.h" // K_SpawnSplashForMobj #include "k_color.h" #include "k_follower.h" -#include "k_odds.hpp" +#include "k_odds.h" #include "g_party.h" #include "acs/interface.h"