From bf52256c8d87837d43325ec0f11cf9481a991ad1 Mon Sep 17 00:00:00 2001 From: zico Date: Mon, 8 Apr 2013 14:28:41 +0200 Subject: [PATCH] Added 4th alternative HUD mode for no HUD rendering, aka Immersion mode --- CHANGELOG.txt | 4 ++++ main/gamecntl.c | 7 +++++++ main/gamerend.c | 31 ------------------------------- main/gauges.c | 33 +++++++++++++++++++++++++++++++++ main/gauges.h | 2 +- 5 files changed, 45 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d0ff6f0d1..1f0728bdc 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D1X-Rebirth Changelog +20130408 +-------- +main/gamecntl.c, main/gamerend.c, main/gauges.c, main/gauges.h: Added 4th alternative HUD mode for no HUD rendering, aka Immersion mode + 20130406 -------- d1x-rebirth.xcodeproj/project.pbxproj, editor/ehostage.c, main/custom.c: Updated Xcode project, changed references to error.h to dxxerror.h, since it was renamed diff --git a/main/gamecntl.c b/main/gamecntl.c index 7671689a7..162be9cd4 100644 --- a/main/gamecntl.c +++ b/main/gamecntl.c @@ -679,6 +679,13 @@ int HandleGameKey(int key) KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_7:) PlayerCfg.HudMode=(PlayerCfg.HudMode+1)%GAUGE_HUD_NUMMODES; write_player_file(); + switch (PlayerCfg.HudMode) + { + case 0: HUD_init_message(HM_DEFAULT, "Standard HUD"); break; + case 1: HUD_init_message(HM_DEFAULT, "Alternative HUD #1"); break; + case 2: HUD_init_message(HM_DEFAULT, "Alternative HUD #2"); break; + case 3: HUD_init_message(HM_DEFAULT, "No HUD"); break; + } break; #ifdef NETWORK diff --git a/main/gamerend.c b/main/gamerend.c index 53d96b47c..ee81f4f84 100644 --- a/main/gamerend.c +++ b/main/gamerend.c @@ -56,8 +56,6 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "ogl_init.h" #endif -extern fix Cruise_speed; - int netplayerinfo_on=0; #ifdef NETWORK @@ -329,35 +327,6 @@ void game_draw_hud_stuff() render_countdown_gauge(); - // this should be made part of hud code some day - if ( Player_num > -1 && Viewer->type==OBJ_PLAYER && Viewer->id==Player_num && PlayerCfg.CockpitMode[1] != CM_REAR_VIEW) { - int x = FSPACX(1); - int y = grd_curcanv->cv_bitmap.bm_h; - - gr_set_curfont( GAME_FONT ); - gr_set_fontcolor( BM_XRGB(0, 31, 0), -1 ); - if (Cruise_speed > 0) { - if (PlayerCfg.CockpitMode[1]==CM_FULL_SCREEN) { - if (Game_mode & GM_MULTI) - y -= LINE_SPACING * 10; - else - y -= LINE_SPACING * 6; - } else if (PlayerCfg.CockpitMode[1] == CM_STATUS_BAR) { - if (Game_mode & GM_MULTI) - y -= LINE_SPACING * 6; - else - y -= LINE_SPACING * 1; - } else { - if (Game_mode & GM_MULTI) - y -= LINE_SPACING * 7; - else - y -= LINE_SPACING * 2; - } - - gr_printf( x, y, "%s %2d%%", TXT_CRUISE, f2i(Cruise_speed) ); - } - } - if (GameCfg.FPSIndicator && PlayerCfg.CockpitMode[1] != CM_REAR_VIEW) show_framerate(); diff --git a/main/gauges.c b/main/gauges.c index 6e99655f8..bbbe90765 100644 --- a/main/gauges.c +++ b/main/gauges.c @@ -337,6 +337,7 @@ int weapon_box_states[2]; fix weapon_box_fade_values[2]; int Color_0_31_0 = -1; extern fix ThisLevelTime; +extern fix Cruise_speed; typedef struct gauge_box { int left,top; @@ -2387,6 +2388,38 @@ void show_HUD_names() void draw_hud() { + if (PlayerCfg.HudMode==3) // no hud, "immersion mode" + return; + + // Cruise speed + if ( Player_num > -1 && Viewer->type==OBJ_PLAYER && Viewer->id==Player_num && PlayerCfg.CockpitMode[1] != CM_REAR_VIEW) { + int x = FSPACX(1); + int y = grd_curcanv->cv_bitmap.bm_h; + + gr_set_curfont( GAME_FONT ); + gr_set_fontcolor( BM_XRGB(0, 31, 0), -1 ); + if (Cruise_speed > 0) { + if (PlayerCfg.CockpitMode[1]==CM_FULL_SCREEN) { + if (Game_mode & GM_MULTI) + y -= LINE_SPACING * 10; + else + y -= LINE_SPACING * 6; + } else if (PlayerCfg.CockpitMode[1] == CM_STATUS_BAR) { + if (Game_mode & GM_MULTI) + y -= LINE_SPACING * 6; + else + y -= LINE_SPACING * 1; + } else { + if (Game_mode & GM_MULTI) + y -= LINE_SPACING * 7; + else + y -= LINE_SPACING * 2; + } + + gr_printf( x, y, "%s %2d%%", TXT_CRUISE, f2i(Cruise_speed) ); + } + } + // Show score so long as not in rearview if ( !Rear_view && PlayerCfg.CockpitMode[1]!=CM_REAR_VIEW && PlayerCfg.CockpitMode[1]!=CM_STATUS_BAR) { hud_show_score(); diff --git a/main/gauges.h b/main/gauges.h index 9bbf6e6e4..eaf477939 100644 --- a/main/gauges.h +++ b/main/gauges.h @@ -59,7 +59,7 @@ typedef struct { extern rgb player_rgb[]; -#define GAUGE_HUD_NUMMODES 3 +#define GAUGE_HUD_NUMMODES 4 typedef struct span { int l,r;