diff --git a/src/k_hud_track.cpp b/src/k_hud_track.cpp index 9007929d9..1ab870ea3 100644 --- a/src/k_hud_track.cpp +++ b/src/k_hud_track.cpp @@ -28,7 +28,7 @@ using namespace srb2; -extern "C" consvar_t cv_debughudtracker, cv_battleufotest; +extern "C" consvar_t cv_debughudtracker, cv_battleufotest, cv_kartdebugwaypoints; namespace { @@ -109,6 +109,7 @@ struct TargetTracking switch (mobj->type) { case MT_SPRAYCAN: + case MT_WAYPOINT: return false; default: @@ -230,6 +231,7 @@ private: }; case MT_BATTLEUFO_SPAWNER: + case MT_WAYPOINT: return {}; default: @@ -336,6 +338,9 @@ bool is_object_tracking_target(const mobj_t* mobj) case MT_BATTLEUFO_SPAWNER: return cv_battleufotest.value; + case MT_WAYPOINT: + return cv_kartdebugwaypoints.value; + default: return false; } @@ -579,6 +584,14 @@ void K_DrawTargetTracking(const TargetTracking& target) debug().text("BUFO ID: {}", Obj_BattleUFOSpawnerID(target.mobj)); break; + case MT_WAYPOINT: + if (target.camDist < 2048 * mapobjectscale) + { + bool isNext = stplyr->nextwaypoint && stplyr->nextwaypoint->mobj == target.mobj; + debug().flags(isNext ? V_GREENMAP : 0).text("{}", target.mobj->movecount); // waypoint ID + } + break; + default: break; } diff --git a/src/p_mobj.c b/src/p_mobj.c index dabd3ff6a..389d02b47 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -5356,6 +5356,7 @@ static boolean P_IsTrackerType(INT32 type) case MT_BATTLEUFO: case MT_SUPER_FLICKY: case MT_SPRAYCAN: + case MT_WAYPOINT: // debug return true; default: