Small Cleanup

Make itemodds compile as C, remove .vscode
This commit is contained in:
NepDisk 2025-09-11 11:15:50 -04:00
parent 7b58b8b488
commit 1c52947194
14 changed files with 59 additions and 77 deletions

1
.gitignore vendored
View file

@ -19,6 +19,7 @@ Win32_LIB_ASM_Release
*.opendb
*.kate-swp
/.vs
/.vscode
/debian
/assets/debian
/make

16
.vscode/settings.json vendored
View file

@ -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"
}
}

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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"

View file

@ -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;

View file

@ -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);

View file

@ -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<UINT8>(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<INT32>(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<INT32>(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<UINT8>(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<INT32>(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<UINT8>(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<INT32>(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<sfxenum_t>(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
}
}

View file

@ -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__
#endif // __K_ODDS__

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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"