From 9ac473335f1d5a7fd83c467559d0418a16a34e5d Mon Sep 17 00:00:00 2001 From: zicodxx <> Date: Fri, 19 Feb 2010 00:24:32 +0000 Subject: [PATCH] The little light bulb showing homing warning in Cockpit was broken and I replaced it; Rewritten code to show weapon text in Cockpit and Statusbar slightly; Instead of using hardcoded weapon strings, use from descent.txb and fixed too long spreadfire string properly --- CHANGELOG.txt | 4 +++ main/gauges.c | 79 +++++++++++++++++++++------------------------------ 2 files changed, 37 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 38a91d8bb..9e6a229dc 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D2X-Rebirth Changelog +20100219 +-------- +main/gauges.c: The little light bulb showing homing warning in Cockpit was broken and I replaced it; Rewritten code to show weapon text in Cockpit and Statusbar slightly + 20100215 -------- libmve/mveplay.c: Added another bunch of macros to fix sound initialisation for Movies when program is compiled without SDL_mixer diff --git a/main/gauges.c b/main/gauges.c index 0ae16c9f7..6f24be5c3 100644 --- a/main/gauges.c +++ b/main/gauges.c @@ -186,7 +186,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #define PRIMARY_W_PIC_Y (HIRESMODE?370:154) #define PRIMARY_W_TEXT_X HUD_SCALE_X(HIRESMODE?182:87) #define PRIMARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?400:157) -#define PRIMARY_AMMO_X HUD_SCALE_X(HIRESMODE?186:(96-3)) +#define PRIMARY_AMMO_X HUD_SCALE_X(HIRESMODE?186:93) #define PRIMARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?420:171) #define SECONDARY_W_PIC_X (HIRESMODE?466:234) #define SECONDARY_W_PIC_Y (HIRESMODE?374:154) @@ -265,12 +265,12 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #define SB_PRIMARY_W_PIC_Y (HIRESMODE?382:154) #define SB_PRIMARY_W_TEXT_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(HIRESMODE?50:24)) //(51+23) #define SB_PRIMARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?390:157) -#define SB_PRIMARY_AMMO_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(HIRESMODE?(38+20):30)) //((SB_PRIMARY_W_BOX_LEFT+33)-3) //(51+32) +#define SB_PRIMARY_AMMO_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(HIRESMODE?58:30)) //((SB_PRIMARY_W_BOX_LEFT+33)-3) //(51+32) #define SB_PRIMARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?410:171) #define SB_SECONDARY_W_PIC_X (HIRESMODE?385:(SB_SECONDARY_W_BOX_LEFT+27)) //(212+27) #define SB_SECONDARY_W_PIC_Y (HIRESMODE?382:154) #define SB_SECONDARY_W_TEXT_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+2) //212 -#define SB_SECONDARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?389:157) +#define SB_SECONDARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?390:157) #define SB_SECONDARY_AMMO_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+(HIRESMODE?(14-4):11)) //(212+9) #define SB_SECONDARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?414:171) @@ -350,7 +350,6 @@ int weapon_box_states[2] = {WS_SET, WS_SET}; fix weapon_box_fade_values[2]; int Color_0_31_0 = -1; fix Last_warning_beep_time = 0; // Time we last played homing missile warning beep. -int Last_homing_warning_shown = -1; extern int HUD_nmessages, hud_first; // From hud.c extern char HUD_messages[HUD_MAX_NUM][HUD_MESSAGE_LENGTH+5]; extern fix ThisLevelTime; @@ -915,36 +914,32 @@ void play_homing_warning(void) // ----------------------------------------------------------------------------- void show_homing_warning(void) { - if ((PlayerCfg.CockpitMode[1] == CM_STATUS_BAR) || (Endlevel_sequence)) { - if (Last_homing_warning_shown == 1) { - PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF ); - hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]); - Last_homing_warning_shown = 0; - } + if (Endlevel_sequence) + { + PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF ); + hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]); return; } gr_set_current_canvas( NULL ); - if (Players[Player_num].homing_object_dist >= 0) { - - if (GameTime & 0x4000) { - if (Last_homing_warning_shown != 1) { - PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_ON ); - hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_ON) ]); - Last_homing_warning_shown = 1; - } - } else { - if (Last_homing_warning_shown != 0) { - PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF ); - hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]); - Last_homing_warning_shown = 0; - } + if (Players[Player_num].homing_object_dist >= 0) + { + if (GameTime & 0x4000) + { + PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_ON ); + hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_ON) ]); } - } else if (Last_homing_warning_shown != 0) { + else + { + PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF ); + hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]); + } + } + else + { PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF ); hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]); - Last_homing_warning_shown = 0; } } @@ -1941,7 +1936,6 @@ void draw_keys() void draw_weapon_info_sub(int info_index,gauge_box *box,int pic_x,int pic_y,char *name,int text_x,int text_y) { grs_bitmap *bm; - char *p; //clear the window gr_setcolor(BM_XRGB(0,0,0)); @@ -1952,7 +1946,9 @@ void draw_weapon_info_sub(int info_index,gauge_box *box,int pic_x,int pic_y,char { bm=&GameBitmaps[Weapon_info[info_index].hires_picture.index]; PIGGY_PAGE_IN( Weapon_info[info_index].hires_picture ); - } else { + } + else + { bm=&GameBitmaps[Weapon_info[info_index].picture.index]; PIGGY_PAGE_IN( Weapon_info[info_index].picture ); } @@ -1965,28 +1961,19 @@ void draw_weapon_info_sub(int info_index,gauge_box *box,int pic_x,int pic_y,char { gr_set_fontcolor(BM_XRGB(0,20,0),-1 ); - if ((p=strchr(name,'\n'))!=NULL) { - *p=0; + if ((strchr(name,'\n'))!=NULL) + { gr_printf(text_x,text_y,name); - gr_printf(text_x,text_y+LINE_SPACING,p+1); - *p='\n'; - } else + } + else gr_printf(text_x,text_y,name); // For laser, show level and quadness - if (info_index == LASER_ID || info_index == SUPER_LASER_ID) { - char temp_str[7]; - - sprintf(temp_str, "%s: 0", TXT_LVL); - - temp_str[5] = Players[Player_num].laser_level+1 + '0'; - - gr_printf(text_x,text_y+LINE_SPACING, temp_str); - - if (Players[Player_num].flags & PLAYER_FLAGS_QUAD_LASERS) { - strcpy(temp_str, TXT_QUAD); - gr_printf(text_x,text_y+(LINE_SPACING*2), temp_str); - } + if (info_index == LASER_ID || info_index == SUPER_LASER_ID) + { + gr_printf(text_x,text_y+LINE_SPACING, "%s: %i", TXT_LVL, Players[Player_num].laser_level+1); + if (Players[Player_num].flags & PLAYER_FLAGS_QUAD_LASERS) + gr_printf(text_x,text_y+(LINE_SPACING*2), TXT_QUAD); } } }