#include "glext.h"
#include "hud.h"
#include "gui.h"
-#include "game.h"
#include "progress.h"
#include "config.h"
+#include "video.h"
#include "audio.h"
+#include "game_common.h"
+#include "game_client.h"
+
/*---------------------------------------------------------------------------*/
static int Lhud_id;
static void hud_fps(void)
{
- gui_set_count(fps_id, config_perf());
+ gui_set_count(fps_id, video_perf());
}
void hud_init(void)
{
int id;
- char *str_view;
+ const char *str_view;
+ int v;
if ((Rhud_id = gui_hstack(0)))
{
if ((time_id = gui_clock(0, 59999, GUI_MED, GUI_TOP)))
gui_layout(time_id, 0, -1);
- str_view = strlen(STR_VIEW0) > strlen(STR_VIEW1) ? STR_VIEW0 : STR_VIEW1;
- if (strlen(str_view) < strlen(STR_VIEW2))
- str_view = STR_VIEW2;
+
+ /* Find the longest view name. */
+
+ for (str_view = "", v = VIEW_NONE + 1; v < VIEW_MAX; v++)
+ if (strlen(view_to_str(v)) > strlen(str_view))
+ str_view = view_to_str(v);
+
if ((view_id = gui_label(0, str_view, GUI_SML, GUI_SW, gui_wht, gui_wht)))
gui_layout(view_id, 1, 1);
if (config_get_d(CONFIG_FPS))
gui_paint(fps_id);
- if (view_timer > 0.0f)
- gui_paint(view_id);
+ hud_view_paint();
}
void hud_update(int pulse)
hud_update(1);
- view_timer -= dt;
-
gui_timer(Rhud_id, dt);
gui_timer(Lhud_id, dt);
gui_timer(time_id, dt);
- gui_timer(view_id, dt);
+
+ hud_view_timer(dt);
}
+/*---------------------------------------------------------------------------*/
+
void hud_view_pulse(int c)
{
- switch (c)
- {
- case 0: gui_set_label(view_id, STR_VIEW0); break;
- case 1: gui_set_label(view_id, STR_VIEW1); break;
- case 2: gui_set_label(view_id, STR_VIEW2); break;
- }
-
+ gui_set_label(view_id, view_to_str(c));
gui_pulse(view_id, 1.2f);
view_timer = 2.0f;
}
+void hud_view_timer(float dt)
+{
+ view_timer -= dt;
+ gui_timer(view_id, dt);
+}
+
+void hud_view_paint(void)
+{
+ if (view_timer > 0.0f)
+ gui_paint(view_id);
+}
+
/*---------------------------------------------------------------------------*/