50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
#include "backend/looped/looped.hpp"
|
|
#include "core/data/speedo_meters.hpp"
|
|
#include "natives.hpp"
|
|
|
|
namespace big
|
|
{
|
|
void looped::vehicle_speedo_meter()
|
|
{
|
|
static const float x = .9f;
|
|
static const float y = .72f;
|
|
|
|
SpeedoMeter speedo_type = g.vehicle.speedo_meter;
|
|
|
|
if (speedo_type == SpeedoMeter::DISABLED || HUD::IS_PAUSE_MENU_ACTIVE() || HUD::IS_WARNING_MESSAGE_ACTIVE() || CAM::IS_SCREEN_FADED_OUT() || CAM::IS_SCREEN_FADING_OUT() || CAM::IS_SCREEN_FADING_IN()) return;
|
|
|
|
Vehicle veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false);
|
|
|
|
if (veh == 0) return;
|
|
|
|
char speed_type[16], speed[16];
|
|
float veh_speed = ENTITY::GET_ENTITY_SPEED(veh);
|
|
switch (speedo_type)
|
|
{
|
|
case SpeedoMeter::KMH:
|
|
veh_speed *= 3.6;
|
|
strcpy(speed_type, "kph");
|
|
break;
|
|
case SpeedoMeter::MPH:
|
|
veh_speed *= 2.2369;
|
|
strcpy(speed_type, "mph");
|
|
break;
|
|
}
|
|
|
|
sprintf(speed, "%*d", 3, (int)veh_speed);
|
|
|
|
HUD::SET_TEXT_FONT(2);
|
|
HUD::SET_TEXT_SCALE(.9f, .9f);
|
|
HUD::SET_TEXT_OUTLINE();
|
|
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
|
|
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed);
|
|
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(x, y + .04f, 1);
|
|
|
|
HUD::SET_TEXT_FONT(2);
|
|
HUD::SET_TEXT_SCALE(.91f, .91f);
|
|
HUD::SET_TEXT_OUTLINE();
|
|
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
|
|
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed_type);
|
|
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(x, y, 1);
|
|
}
|
|
} |