20 #ifndef HEADER_RACE_GUI_HPP
21 #define HEADER_RACE_GUI_HPP
27 #include <irrString.h>
30 #include "states_screens/race_gui_base.hpp"
87 int m_negative_timer_additional_width;
95 irr::video::ITexture *m_blue_team;
96 irr::video::ITexture *m_red_flag;
97 irr::video::ITexture *m_blue_flag;
98 irr::video::ITexture *m_soccer_ball;
99 irr::video::ITexture *m_heart_icon;
100 irr::video::ITexture *m_basket_ball_icon;
106 irr::video::ITexture *m_speed_bar_icon;
111 std::map<int, AnimationState> m_animation_states;
122 void drawEnergyMeter (
int x,
int y,
const AbstractKart *kart,
123 const core::recti &viewport,
124 const core::vector2df &scaling);
126 const core::recti &viewport,
127 const core::vector2df &scaling,
float dt);
129 const core::recti &viewport,
130 const core::vector2df &scaling);
132 const core::vector2df &offset,
133 float min_ratio,
int meter_width,
134 int meter_height,
float dt);
138 void drawMeterTexture(video::ITexture *meter_texture, video::S3DVertex vertices[],
unsigned int count,
bool reverse =
false);
140 unsigned int computeVerticesForMeter(core::vector2df position[],
float threshold[], video::S3DVertex vertices[],
141 unsigned int vertices_count,
float measure,
int gauge_width,
142 int gauge_height, core::vector2df offset);
145 void drawGlobalMiniMap ();
146 void drawGlobalTimer ();
147 void drawLiveDifference ();
154 virtual void reset();
155 virtual void renderGlobal(
float dt);
156 virtual void renderPlayerView(
const Camera *camera,
float dt);
160 {
return core::dimension2du(m_map_width, m_map_height); }
161 virtual void initSize();
162 virtual void calculateMinimapSize();
An abstract interface for the actual karts.
Definition: abstract_kart.hpp:62
This is the base class for all cameras.
Definition: camera.hpp:49
Definition: material.hpp:48
An abstract base class for the two race guis (race_gui and race_result gui)
Definition: race_gui_base.hpp:50
Handles the in-race GUI (messages, mini-map, rankings, timer, etc...)
Definition: race_gui.hpp:42
int m_font_height
Height of the digit font.
Definition: race_gui.hpp:90
int m_big_precise_timer_width
Maximum string length for a big precise timer (like the live difference timer over a minute)
Definition: race_gui.hpp:85
virtual const core::dimension2du getMiniMapSize() const
Returns the size of the texture on which to render the minimap to.
Definition: race_gui.hpp:159
irr::video::ITexture * m_red_team
Icon textures (stored as variables to not look up their location on every frame)
Definition: race_gui.hpp:94
std::map< int, int > m_last_digit
Stores the previous digit on the center of the speedometer for each number.
Definition: race_gui.hpp:117
int m_lap_width
Maximum lap display length (either 9/9 or 99/99).
Definition: race_gui.hpp:74
int m_map_bottom
Distance of map from bottom of screen.
Definition: race_gui.hpp:71
int m_map_rendered_width
The width of the rendered mini map in pixels, must be a power of 2.
Definition: race_gui.hpp:56
std::map< int, float > m_animation_duration
How long the speedometer digit animation has been shown for this number.
Definition: race_gui.hpp:114
irr::video::ITexture * m_champion
Texture for the hit limit icon.
Definition: race_gui.hpp:102
irr::video::ITexture * m_speed_meter_icon
Texture for speedometer.
Definition: race_gui.hpp:105
int m_map_rendered_height
The height of the rendered mini map in pixels, must be a power of 2.
Definition: race_gui.hpp:59
AnimationState
Animation state: none, getting smaller (old value), getting bigger (new number).
Definition: race_gui.hpp:110
int m_map_width
Width of the map in pixels on the screen, need not be a power of 2.
Definition: race_gui.hpp:62
int m_minimap_player_size
The size of a single marker on the screen or player karts, need not be a power of 2.
Definition: race_gui.hpp:53
int m_small_precise_timer_width
Maximum string length for a small precise timer (like the live difference timer under a minute)
Definition: race_gui.hpp:81
int m_minimap_ai_size
The size of a single marker on the screen for AI karts, need not be a power of 2.
Definition: race_gui.hpp:49
int m_map_height
Height of the map in pixels on the screen, need not be a power of 2.
Definition: race_gui.hpp:65
int m_map_left
Distance of map from left side of screen.
Definition: race_gui.hpp:68
int m_timer_width
Maximum string length for the timer.
Definition: race_gui.hpp:77