mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 04:21:47 +00:00
Merge branch 'fix-bufo-spawn' into 'master'
Fix Battle UFO spawn not cycling; fix Super Flicky minimap crash Closes #938 See merge request KartKrew/Kart!1844
This commit is contained in:
commit
9d0b29b73d
5 changed files with 27 additions and 4 deletions
|
|
@ -4460,9 +4460,9 @@ static void K_drawKartMinimap(void)
|
||||||
break;
|
break;
|
||||||
case MT_SUPER_FLICKY:
|
case MT_SUPER_FLICKY:
|
||||||
workingPic = kp_superflickyminimap;
|
workingPic = kp_superflickyminimap;
|
||||||
if (Obj_SuperFlickyOwner(mobj)->color)
|
if (mobj_t* owner = Obj_SuperFlickyOwner(mobj); owner && owner->color)
|
||||||
{
|
{
|
||||||
colormap = R_GetTranslationColormap(TC_RAINBOW, static_cast<skincolornum_t>(Obj_SuperFlickyOwner(mobj)->color), GTC_CACHE);
|
colormap = R_GetTranslationColormap(TC_RAINBOW, static_cast<skincolornum_t>(owner->color), GTC_CACHE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "core/static_vec.hpp"
|
#include "core/static_vec.hpp"
|
||||||
|
#include "v_draw.hpp"
|
||||||
|
|
||||||
#include "k_battle.h"
|
#include "k_battle.h"
|
||||||
#include "k_hud.h"
|
#include "k_hud.h"
|
||||||
|
|
@ -26,7 +27,7 @@
|
||||||
|
|
||||||
using namespace srb2;
|
using namespace srb2;
|
||||||
|
|
||||||
extern "C" consvar_t cv_debughudtracker;
|
extern "C" consvar_t cv_debughudtracker, cv_battleufotest;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
@ -190,6 +191,9 @@ private:
|
||||||
}},
|
}},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
case MT_BATTLEUFO_SPAWNER:
|
||||||
|
return {};
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return {
|
return {
|
||||||
{ // Near
|
{ // Near
|
||||||
|
|
@ -291,6 +295,9 @@ bool is_object_tracking_target(const mobj_t* mobj)
|
||||||
return !(mobj->renderflags & (RF_TRANSMASK | RF_DONTDRAW)) && // the spraycan wasn't collected yet
|
return !(mobj->renderflags & (RF_TRANSMASK | RF_DONTDRAW)) && // the spraycan wasn't collected yet
|
||||||
P_CheckSight(stplyr->mo, const_cast<mobj_t*>(mobj));
|
P_CheckSight(stplyr->mo, const_cast<mobj_t*>(mobj));
|
||||||
|
|
||||||
|
case MT_BATTLEUFO_SPAWNER:
|
||||||
|
return cv_battleufotest.value;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -512,6 +519,15 @@ void K_DrawTargetTracking(const TargetTracking& target)
|
||||||
colormap
|
colormap
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (target.mobj->type == MT_BATTLEUFO_SPAWNER) // debug
|
||||||
|
{
|
||||||
|
using srb2::Draw;
|
||||||
|
Draw(FixedToFloat(result.x), FixedToFloat(result.y))
|
||||||
|
.font(Draw::Font::kThin)
|
||||||
|
.align(Draw::Align::kCenter)
|
||||||
|
.text("BUFO ID: {}", Obj_BattleUFOSpawnerID(target.mobj));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,7 @@ void Obj_UnlinkBattleUFOSpawner(mobj_t *spawner);
|
||||||
void Obj_SpawnBattleUFOFromSpawner(void);
|
void Obj_SpawnBattleUFOFromSpawner(void);
|
||||||
INT32 Obj_RandomBattleUFOSpawnerID(void);
|
INT32 Obj_RandomBattleUFOSpawnerID(void);
|
||||||
void Obj_BattleUFOBeamThink(mobj_t *beam);
|
void Obj_BattleUFOBeamThink(mobj_t *beam);
|
||||||
|
INT32 Obj_BattleUFOSpawnerID(const mobj_t *spawner);
|
||||||
|
|
||||||
/* Power-Up Aura */
|
/* Power-Up Aura */
|
||||||
void Obj_SpawnPowerUpAura(player_t* player);
|
void Obj_SpawnPowerUpAura(player_t* player);
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ public:
|
||||||
auto min = [&](auto cmp) { return std::min_element(list_.begin(), list_.end(), cmp); };
|
auto min = [&](auto cmp) { return std::min_element(list_.begin(), list_.end(), cmp); };
|
||||||
|
|
||||||
return *(it != list_.end()
|
return *(it != list_.end()
|
||||||
? min([order](T a, T b) { return order < a->id() && a->id() < b->id(); })
|
? min([order](T a, T b) { return order < a->id() && (b->id() <= order || a->id() < b->id()); })
|
||||||
: min([](T a, T b) { return a->id() < b->id(); }));
|
: min([](T a, T b) { return a->id() < b->id(); }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -251,3 +251,8 @@ void Obj_BattleUFOBeamThink(mobj_t *beam)
|
||||||
{
|
{
|
||||||
P_SetObjectMomZ(beam, beam->info->speed, true);
|
P_SetObjectMomZ(beam, beam->info->speed, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INT32 Obj_BattleUFOSpawnerID(const mobj_t *spawner)
|
||||||
|
{
|
||||||
|
return static_cast<const Spawner*>(spawner)->id();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -5428,6 +5428,7 @@ static boolean P_IsTrackerType(INT32 type)
|
||||||
case MT_OVERTIME_CENTER:
|
case MT_OVERTIME_CENTER:
|
||||||
case MT_MONITOR:
|
case MT_MONITOR:
|
||||||
case MT_EMERALD:
|
case MT_EMERALD:
|
||||||
|
case MT_BATTLEUFO_SPAWNER: // debug
|
||||||
case MT_BATTLEUFO:
|
case MT_BATTLEUFO:
|
||||||
case MT_SUPER_FLICKY:
|
case MT_SUPER_FLICKY:
|
||||||
case MT_SPRAYCAN:
|
case MT_SPRAYCAN:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue