mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Merge branch 'debug-waypoints-glow-up' into 'master'
debugwaypoints improvement See merge request KartKrew/Kart!1945
This commit is contained in:
commit
61db3426a3
3 changed files with 57 additions and 13 deletions
|
|
@ -5489,22 +5489,43 @@ static void K_DrawWaypointDebugger(void)
|
||||||
if (R_GetViewNumber() != 0) // only for p1
|
if (R_GetViewNumber() != 0) // only for p1
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
constexpr int kH = 8;
|
||||||
|
using srb2::Draw;
|
||||||
|
Draw::TextElement label;
|
||||||
|
label.font(Draw::Font::kThin);
|
||||||
|
label.flags(V_AQUAMAP);
|
||||||
|
Draw line = Draw(8, 136).font(Draw::Font::kMenu);
|
||||||
|
auto put = [&](const char* label_str, auto&&... args)
|
||||||
|
{
|
||||||
|
constexpr int kTabWidth = 48;
|
||||||
|
label.string(label_str);
|
||||||
|
int x = label.width() + kTabWidth;
|
||||||
|
x -= x % kTabWidth;
|
||||||
|
line.size(x + 4, 2).y(7).fill(31);
|
||||||
|
line.text(label);
|
||||||
|
line.x(x).text(args...);
|
||||||
|
line = line.y(kH);
|
||||||
|
};
|
||||||
|
|
||||||
if (netgame)
|
if (netgame)
|
||||||
{
|
{
|
||||||
V_DrawString(8, 136, 0, va("Online griefing: [%u, %u]", stplyr->griefValue/TICRATE, stplyr->griefStrikes));
|
line = line.y(-kH);
|
||||||
|
put("Online griefing:", "[{}, {}]", stplyr->griefValue/TICRATE, stplyr->griefStrikes);
|
||||||
}
|
}
|
||||||
|
|
||||||
V_DrawString(8, 146, 0, va("Current Waypoint ID: %d", K_GetWaypointID(stplyr->currentwaypoint)));
|
put("Current Waypoint ID:", "{}", K_GetWaypointID(stplyr->currentwaypoint));
|
||||||
V_DrawString(8, 156, 0, va("Next Waypoint ID: %d%s", K_GetWaypointID(stplyr->nextwaypoint), ((stplyr->pflags & PF_WRONGWAY) ? " (WRONG WAY)" : "")));
|
put("Next Waypoint ID:", "{}{}", K_GetWaypointID(stplyr->nextwaypoint), ((stplyr->pflags & PF_WRONGWAY) ? " (WRONG WAY)" : ""));
|
||||||
V_DrawString(8, 166, 0, va("Respawn Waypoint ID: %d", K_GetWaypointID(stplyr->respawn.wp)));
|
put("Respawn Waypoint ID:", "{}", K_GetWaypointID(stplyr->respawn.wp));
|
||||||
V_DrawString(8, 176, 0, va("Finishline Distance: %d", stplyr->distancetofinish));
|
put("Finishline Distance:", "{}", stplyr->distancetofinish);
|
||||||
|
put("Last Safe Lap:", "{}", stplyr->lastsafelap);
|
||||||
|
|
||||||
if (numcheatchecks > 0)
|
if (numcheatchecks > 0)
|
||||||
{
|
{
|
||||||
if (stplyr->cheatchecknum == numcheatchecks)
|
if (stplyr->cheatchecknum == numcheatchecks)
|
||||||
V_DrawString(8, 186, 0, va("Cheat Check: %d / %d (Can finish)", stplyr->cheatchecknum, numcheatchecks));
|
put("Cheat Check:", "{} / {} (Can finish)", stplyr->cheatchecknum, numcheatchecks);
|
||||||
else
|
else
|
||||||
V_DrawString(8, 186, 0, va("Cheat Check: %d / %d", stplyr->cheatchecknum, numcheatchecks));
|
put("Cheat Check:", "{} / {}", stplyr->cheatchecknum, numcheatchecks);
|
||||||
|
put("Last Safe Cheat Check:", "{}", stplyr->lastsafecheatcheck);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
using namespace srb2;
|
using namespace srb2;
|
||||||
|
|
||||||
extern "C" consvar_t cv_debughudtracker, cv_battleufotest;
|
extern "C" consvar_t cv_debughudtracker, cv_battleufotest, cv_kartdebugwaypoints;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
@ -109,6 +109,7 @@ struct TargetTracking
|
||||||
switch (mobj->type)
|
switch (mobj->type)
|
||||||
{
|
{
|
||||||
case MT_SPRAYCAN:
|
case MT_SPRAYCAN:
|
||||||
|
case MT_WAYPOINT:
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
@ -230,6 +231,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
case MT_BATTLEUFO_SPAWNER:
|
case MT_BATTLEUFO_SPAWNER:
|
||||||
|
case MT_WAYPOINT:
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
@ -336,6 +338,9 @@ bool is_object_tracking_target(const mobj_t* mobj)
|
||||||
case MT_BATTLEUFO_SPAWNER:
|
case MT_BATTLEUFO_SPAWNER:
|
||||||
return cv_battleufotest.value;
|
return cv_battleufotest.value;
|
||||||
|
|
||||||
|
case MT_WAYPOINT:
|
||||||
|
return cv_kartdebugwaypoints.value;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -564,14 +569,31 @@ void K_DrawTargetTracking(const TargetTracking& target)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (target.mobj->type == MT_BATTLEUFO_SPAWNER) // debug
|
using srb2::Draw;
|
||||||
|
auto debug = [&]() -> Draw
|
||||||
{
|
{
|
||||||
using srb2::Draw;
|
return Draw(FixedToFloat(result.x), FixedToFloat(result.y))
|
||||||
Draw(FixedToFloat(result.x), FixedToFloat(result.y))
|
|
||||||
.flags(V_SPLITSCREEN)
|
.flags(V_SPLITSCREEN)
|
||||||
.font(Draw::Font::kThin)
|
.font(Draw::Font::kThin)
|
||||||
.align(Draw::Align::kCenter)
|
.align(Draw::Align::kCenter);
|
||||||
.text("BUFO ID: {}", Obj_BattleUFOSpawnerID(target.mobj));
|
};
|
||||||
|
|
||||||
|
switch (target.mobj->type) // debug
|
||||||
|
{
|
||||||
|
case MT_BATTLEUFO_SPAWNER:
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5356,6 +5356,7 @@ static boolean P_IsTrackerType(INT32 type)
|
||||||
case MT_BATTLEUFO:
|
case MT_BATTLEUFO:
|
||||||
case MT_SUPER_FLICKY:
|
case MT_SUPER_FLICKY:
|
||||||
case MT_SPRAYCAN:
|
case MT_SPRAYCAN:
|
||||||
|
case MT_WAYPOINT: // debug
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue