2022-11-07 13:23:24 -06:00
|
|
|
#include "backend/looped/looped.hpp"
|
|
|
|
#include "natives.hpp"
|
|
|
|
#include "core/data/hud_component_names.hpp"
|
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
static bool bLastHideRadar = false;
|
2022-11-26 20:42:58 +01:00
|
|
|
static bool bHasHUDBeenHidden = false;
|
2022-11-07 13:23:24 -06:00
|
|
|
|
|
|
|
void looped::self_hud()
|
|
|
|
{
|
|
|
|
const bool bHideRadar = g->self.hide_radar;
|
|
|
|
const bool bHideAmmo = g->self.hide_ammo;
|
2022-11-26 20:42:58 +01:00
|
|
|
const bool bForceShowElement = g->self.force_show_hud_element;
|
|
|
|
const bool bForceShowHUD = g->self.force_show_hud;
|
2022-11-07 13:23:24 -06:00
|
|
|
auto& bHudComponents = g->self.hud_components_states;
|
|
|
|
|
|
|
|
if (bHideRadar)
|
|
|
|
{
|
|
|
|
HUD::DISPLAY_RADAR(false);
|
|
|
|
}
|
|
|
|
else if (bHideRadar != bLastHideRadar)
|
|
|
|
{
|
|
|
|
HUD::DISPLAY_RADAR(true);
|
|
|
|
}
|
|
|
|
bLastHideRadar = bHideRadar;
|
|
|
|
|
|
|
|
if (bHideAmmo)
|
|
|
|
{
|
|
|
|
HUD::DISPLAY_AMMO_THIS_FRAME(false);
|
|
|
|
}
|
|
|
|
|
2022-11-26 20:42:58 +01:00
|
|
|
if (bForceShowHUD) {
|
|
|
|
HUD::DISPLAY_HUD_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME();
|
|
|
|
HUD::DISPLAY_HUD_WHEN_PAUSED_THIS_FRAME();
|
|
|
|
}
|
|
|
|
|
2022-11-07 13:23:24 -06:00
|
|
|
if (
|
|
|
|
std::all_of(
|
|
|
|
std::begin(bHudComponents),
|
|
|
|
std::end(bHudComponents),
|
|
|
|
[](bool i) { return i; }
|
|
|
|
)
|
|
|
|
) {
|
|
|
|
HUD::DISPLAY_HUD(false);
|
2022-11-26 20:42:58 +01:00
|
|
|
bHasHUDBeenHidden = true;
|
2022-11-07 13:23:24 -06:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
HUD::DISPLAY_HUD(true);
|
2022-11-26 20:42:58 +01:00
|
|
|
bHasHUDBeenHidden = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!bHasHUDBeenHidden)
|
|
|
|
{
|
|
|
|
for (int i = 0; i < static_cast<int>(HudComponents::HUD_WEAPONS); i++)
|
2022-11-07 13:23:24 -06:00
|
|
|
{
|
|
|
|
if (bHudComponents[i])
|
|
|
|
HUD::HIDE_HUD_COMPONENT_THIS_FRAME(i + 1);
|
2022-11-26 20:42:58 +01:00
|
|
|
else if (!bHudComponents[i] && bForceShowElement)
|
|
|
|
HUD::SHOW_HUD_COMPONENT_THIS_FRAME(i + 1);
|
2022-11-07 13:23:24 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|