Make gauges.c more like D2X

This commit is contained in:
Kp 2013-07-04 18:20:46 +00:00
parent 4187648621
commit f8564907fa

View file

@ -85,26 +85,25 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#define KEY_ICON_RED 70 #define KEY_ICON_RED 70
//Coordinats for gauges //Coordinats for gauges
// cockpit keys
#define GAUGE_BLUE_KEY_X_L 45 #define GAUGE_BLUE_KEY_X_L 45
#define GAUGE_BLUE_KEY_Y_L 152
#define GAUGE_BLUE_KEY_X_H 91 #define GAUGE_BLUE_KEY_X_H 91
#define GAUGE_GOLD_KEY_X_L 44
#define GAUGE_GOLD_KEY_X_H 89
#define GAUGE_RED_KEY_X_L 43
#define GAUGE_RED_KEY_X_H 87
#define GAUGE_RED_KEY_Y_H 417
#define LEFT_ENERGY_GAUGE_X_H 137
#define RIGHT_ENERGY_GAUGE_X (HIRESMODE?380:190)
#define GAUGE_BLUE_KEY_Y_L 152
#define GAUGE_BLUE_KEY_Y_H 374 #define GAUGE_BLUE_KEY_Y_H 374
#define GAUGE_BLUE_KEY_X (HIRESMODE?GAUGE_BLUE_KEY_X_H:GAUGE_BLUE_KEY_X_L) #define GAUGE_BLUE_KEY_X (HIRESMODE?GAUGE_BLUE_KEY_X_H:GAUGE_BLUE_KEY_X_L)
#define GAUGE_BLUE_KEY_Y (HIRESMODE?GAUGE_BLUE_KEY_Y_H:GAUGE_BLUE_KEY_Y_L) #define GAUGE_BLUE_KEY_Y (HIRESMODE?GAUGE_BLUE_KEY_Y_H:GAUGE_BLUE_KEY_Y_L)
#define GAUGE_GOLD_KEY_X_L 44
#define GAUGE_GOLD_KEY_Y_L 162 #define GAUGE_GOLD_KEY_Y_L 162
#define GAUGE_GOLD_KEY_X_H 89
#define GAUGE_GOLD_KEY_Y_H 395 #define GAUGE_GOLD_KEY_Y_H 395
#define GAUGE_GOLD_KEY_X (HIRESMODE?GAUGE_GOLD_KEY_X_H:GAUGE_GOLD_KEY_X_L) #define GAUGE_GOLD_KEY_X (HIRESMODE?GAUGE_GOLD_KEY_X_H:GAUGE_GOLD_KEY_X_L)
#define GAUGE_GOLD_KEY_Y (HIRESMODE?GAUGE_GOLD_KEY_Y_H:GAUGE_GOLD_KEY_Y_L) #define GAUGE_GOLD_KEY_Y (HIRESMODE?GAUGE_GOLD_KEY_Y_H:GAUGE_GOLD_KEY_Y_L)
#define GAUGE_RED_KEY_X_L 43
#define GAUGE_RED_KEY_Y_L 172 #define GAUGE_RED_KEY_Y_L 172
#define GAUGE_RED_KEY_X_H 87
#define GAUGE_RED_KEY_Y_H 417
#define GAUGE_RED_KEY_X (HIRESMODE?GAUGE_RED_KEY_X_H:GAUGE_RED_KEY_X_L) #define GAUGE_RED_KEY_X (HIRESMODE?GAUGE_RED_KEY_X_H:GAUGE_RED_KEY_X_L)
#define GAUGE_RED_KEY_Y (HIRESMODE?GAUGE_RED_KEY_Y_H:GAUGE_RED_KEY_Y_L) #define GAUGE_RED_KEY_Y (HIRESMODE?GAUGE_RED_KEY_Y_H:GAUGE_RED_KEY_Y_L)
@ -113,15 +112,12 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#define SB_GAUGE_KEYS_X_L 11 #define SB_GAUGE_KEYS_X_L 11
#define SB_GAUGE_KEYS_X_H 26 #define SB_GAUGE_KEYS_X_H 26
#define SB_GAUGE_KEYS_X (HIRESMODE?SB_GAUGE_KEYS_X_H:SB_GAUGE_KEYS_X_L) #define SB_GAUGE_KEYS_X (HIRESMODE?SB_GAUGE_KEYS_X_H:SB_GAUGE_KEYS_X_L)
#define SB_GAUGE_BLUE_KEY_Y_L 153 #define SB_GAUGE_BLUE_KEY_Y_L 153
#define SB_GAUGE_GOLD_KEY_Y_L 169 #define SB_GAUGE_GOLD_KEY_Y_L 169
#define SB_GAUGE_RED_KEY_Y_L 185 #define SB_GAUGE_RED_KEY_Y_L 185
#define SB_GAUGE_BLUE_KEY_Y_H 390 #define SB_GAUGE_BLUE_KEY_Y_H 390
#define SB_GAUGE_GOLD_KEY_Y_H 422 #define SB_GAUGE_GOLD_KEY_Y_H 422
#define SB_GAUGE_RED_KEY_Y_H 454 #define SB_GAUGE_RED_KEY_Y_H 454
#define SB_GAUGE_BLUE_KEY_Y (HIRESMODE?SB_GAUGE_BLUE_KEY_Y_H:SB_GAUGE_BLUE_KEY_Y_L) #define SB_GAUGE_BLUE_KEY_Y (HIRESMODE?SB_GAUGE_BLUE_KEY_Y_H:SB_GAUGE_BLUE_KEY_Y_L)
#define SB_GAUGE_GOLD_KEY_Y (HIRESMODE?SB_GAUGE_GOLD_KEY_Y_H:SB_GAUGE_GOLD_KEY_Y_L) #define SB_GAUGE_GOLD_KEY_Y (HIRESMODE?SB_GAUGE_GOLD_KEY_Y_H:SB_GAUGE_GOLD_KEY_Y_L)
#define SB_GAUGE_RED_KEY_Y (HIRESMODE?SB_GAUGE_RED_KEY_Y_H:SB_GAUGE_RED_KEY_Y_L) #define SB_GAUGE_RED_KEY_Y (HIRESMODE?SB_GAUGE_RED_KEY_Y_H:SB_GAUGE_RED_KEY_Y_L)
@ -132,81 +128,74 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#define LEFT_ENERGY_GAUGE_Y_L 131 #define LEFT_ENERGY_GAUGE_Y_L 131
#define LEFT_ENERGY_GAUGE_W_L 64 #define LEFT_ENERGY_GAUGE_W_L 64
#define LEFT_ENERGY_GAUGE_H_L 8 #define LEFT_ENERGY_GAUGE_H_L 8
#define LEFT_ENERGY_GAUGE_X_H 137
#define LEFT_ENERGY_GAUGE_Y_H 314 #define LEFT_ENERGY_GAUGE_Y_H 314
#define LEFT_ENERGY_GAUGE_W_H 133 #define LEFT_ENERGY_GAUGE_W_H 133
#define LEFT_ENERGY_GAUGE_H_H 21 #define LEFT_ENERGY_GAUGE_H_H 21
#define LEFT_ENERGY_GAUGE_X (HIRESMODE?LEFT_ENERGY_GAUGE_X_H:LEFT_ENERGY_GAUGE_X_L) #define LEFT_ENERGY_GAUGE_X (HIRESMODE?LEFT_ENERGY_GAUGE_X_H:LEFT_ENERGY_GAUGE_X_L)
#define LEFT_ENERGY_GAUGE_Y (HIRESMODE?LEFT_ENERGY_GAUGE_Y_H:LEFT_ENERGY_GAUGE_Y_L) #define LEFT_ENERGY_GAUGE_Y (HIRESMODE?LEFT_ENERGY_GAUGE_Y_H:LEFT_ENERGY_GAUGE_Y_L)
#define LEFT_ENERGY_GAUGE_W (HIRESMODE?LEFT_ENERGY_GAUGE_W_H:LEFT_ENERGY_GAUGE_W_L) #define LEFT_ENERGY_GAUGE_W (HIRESMODE?LEFT_ENERGY_GAUGE_W_H:LEFT_ENERGY_GAUGE_W_L)
#define LEFT_ENERGY_GAUGE_H (HIRESMODE?LEFT_ENERGY_GAUGE_H_H:LEFT_ENERGY_GAUGE_H_L) #define LEFT_ENERGY_GAUGE_H (HIRESMODE?LEFT_ENERGY_GAUGE_H_H:LEFT_ENERGY_GAUGE_H_L)
#define RIGHT_ENERGY_GAUGE_X (HIRESMODE?380:190)
#define RIGHT_ENERGY_GAUGE_Y (HIRESMODE?314:131) #define RIGHT_ENERGY_GAUGE_Y (HIRESMODE?314:131)
#define RIGHT_ENERGY_GAUGE_W (HIRESMODE?133:64) #define RIGHT_ENERGY_GAUGE_W (HIRESMODE?133:64)
#define RIGHT_ENERGY_GAUGE_H (HIRESMODE?21:8) #define RIGHT_ENERGY_GAUGE_H (HIRESMODE?21:8)
// sb energy gauge // sb energy gauge
#define SB_ENERGY_GAUGE_X (HIRESMODE?196:98)
#define SB_ENERGY_GAUGE_Y (HIRESMODE?390:155) #define SB_ENERGY_GAUGE_Y (HIRESMODE?390:155)
#define SB_ENERGY_GAUGE_W (HIRESMODE?32:16)
#define SB_ENERGY_GAUGE_H (HIRESMODE?82:41) #define SB_ENERGY_GAUGE_H (HIRESMODE?82:41)
#define SB_ENERGY_NUM_Y (HIRESMODE?457:190) #define SB_ENERGY_NUM_Y (HIRESMODE?457:190)
#define SHIELD_GAUGE_X (HIRESMODE?292:146)
#define SHIELD_GAUGE_Y (HIRESMODE?374:155) #define SHIELD_GAUGE_Y (HIRESMODE?374:155)
#define SHIP_GAUGE_X (SHIELD_GAUGE_X+(HIRESMODE?11:5))
#define SHIP_GAUGE_Y (SHIELD_GAUGE_Y+(HIRESMODE?10:5))
#define SB_SHIELD_GAUGE_X (HIRESMODE?247:123) //139
#define SB_SHIELD_GAUGE_Y (HIRESMODE?395:163)
#define SB_SHIP_GAUGE_X (SB_SHIELD_GAUGE_X+(HIRESMODE?11:5))
#define SB_SHIP_GAUGE_Y (SB_SHIELD_GAUGE_Y+(HIRESMODE?10:5))
#define SB_SHIELD_NUM_X (SB_SHIELD_GAUGE_X+(HIRESMODE?21:12)) //151
#define SB_SHIELD_NUM_Y (SB_SHIELD_GAUGE_Y-(HIRESMODE?16:7)) //156 -- MWA used to be hard coded to 156 #define SB_SHIELD_NUM_Y (SB_SHIELD_GAUGE_Y-(HIRESMODE?16:7)) //156 -- MWA used to be hard coded to 156
#define NUMERICAL_GAUGE_X (HIRESMODE?308:154)
#define NUMERICAL_GAUGE_Y (HIRESMODE?316:130) #define NUMERICAL_GAUGE_Y (HIRESMODE?316:130)
#define PRIMARY_W_PIC_X (HIRESMODE?135:64) #define PRIMARY_W_PIC_X (HIRESMODE?135:64)
#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:93)
#define PRIMARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?420:171)
#define SECONDARY_W_PIC_X (HIRESMODE?405:234) #define SECONDARY_W_PIC_X (HIRESMODE?405:234)
#define SECONDARY_W_PIC_Y (HIRESMODE?370:154) #define SECONDARY_W_PIC_Y (HIRESMODE?370:154)
#define SECONDARY_W_TEXT_X HUD_SCALE_X(HIRESMODE?462:207) #define SECONDARY_W_TEXT_X HUD_SCALE_X(HIRESMODE?462:207)
#define SECONDARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?400:157) #define SECONDARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?400:157)
#define SECONDARY_AMMO_X HUD_SCALE_X(HIRESMODE?475:213) #define SECONDARY_AMMO_X HUD_SCALE_X(HIRESMODE?475:213)
#define SECONDARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?425:171) #define SECONDARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?425:171)
#define SB_LIVES_X (HIRESMODE?550:266) #define SB_LIVES_X (HIRESMODE?550:266)
#define SB_LIVES_Y (HIRESMODE?450:185) #define SB_LIVES_Y (HIRESMODE?450:185)
#define SB_LIVES_LABEL_X (HIRESMODE?475:237)
#define SB_SCORE_RIGHT_L 301
#define SB_SCORE_RIGHT_H 605 #define SB_SCORE_RIGHT_H 605
#define SB_SCORE_RIGHT (HIRESMODE?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L) #define BOMB_COUNT_X (HIRESMODE?468:210)
#define PRIMARY_W_BOX_RIGHT_H 241
#define SECONDARY_W_BOX_RIGHT_L 264 //(SECONDARY_W_BOX_LEFT+54)
#define SECONDARY_W_BOX_LEFT_H 403
#define SECONDARY_W_BOX_TOP_H 364
#define SECONDARY_W_BOX_RIGHT_H 531
#define SB_PRIMARY_W_BOX_TOP_L 154
#define SB_PRIMARY_W_BOX_BOT_L (195)
#define SB_SECONDARY_W_BOX_TOP_L 154
#define SB_SECONDARY_W_BOX_RIGHT_L (SB_SECONDARY_W_BOX_LEFT_L+54)
#define SB_SECONDARY_W_BOX_BOT_L (153+42)
#define SB_SECONDARY_AMMO_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+(HIRESMODE?(14):11)) //(212+9)
#define GET_GAUGE_INDEX(x) (Gauges[x].index)
#define HOMING_WARNING_X (HIRESMODE?13:7)
#define HOMING_WARNING_Y (HIRESMODE?416:171)
#define SB_ENERGY_GAUGE_X (HIRESMODE?196:98)
#define SB_ENERGY_GAUGE_W (HIRESMODE?32:16)
#define SHIP_GAUGE_X (SHIELD_GAUGE_X+(HIRESMODE?11:5))
#define SHIP_GAUGE_Y (SHIELD_GAUGE_Y+(HIRESMODE?10:5))
#define SHIELD_GAUGE_X (HIRESMODE?292:146)
#define SB_SHIELD_GAUGE_X (HIRESMODE?247:123) //139
#define SB_SHIELD_GAUGE_Y (HIRESMODE?395:163)
#define SB_SHIP_GAUGE_X (SB_SHIELD_GAUGE_X+(HIRESMODE?11:5))
#define SB_SHIP_GAUGE_Y (SB_SHIELD_GAUGE_Y+(HIRESMODE?10:5))
#define SB_SHIELD_NUM_X (SB_SHIELD_GAUGE_X+(HIRESMODE?21:12)) //151
#define NUMERICAL_GAUGE_X (HIRESMODE?308:154)
#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:93)
#define PRIMARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?420:171)
#define SB_LIVES_LABEL_X (HIRESMODE?475:237)
#define SB_SCORE_RIGHT_L 301
#define SB_SCORE_RIGHT (HIRESMODE?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L)
#define SB_SCORE_Y (HIRESMODE?398:158) #define SB_SCORE_Y (HIRESMODE?398:158)
#define SB_SCORE_LABEL_X (HIRESMODE?475:237) #define SB_SCORE_LABEL_X (HIRESMODE?475:237)
#define SB_SCORE_ADDED_RIGHT (HIRESMODE?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L) #define SB_SCORE_ADDED_RIGHT (HIRESMODE?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L)
#define SB_SCORE_ADDED_Y (HIRESMODE?413:165) #define SB_SCORE_ADDED_Y (HIRESMODE?413:165)
#define HOMING_WARNING_X HUD_SCALE_X(HIRESMODE?13:7)
#define HOMING_WARNING_Y HUD_SCALE_Y(HIRESMODE?416:171)
#define BOMB_COUNT_X (HIRESMODE?468:210)
#define BOMB_COUNT_Y (HIRESMODE?445:186) #define BOMB_COUNT_Y (HIRESMODE?445:186)
#define SB_BOMB_COUNT_X (HIRESMODE?342:171) #define SB_BOMB_COUNT_X (HIRESMODE?342:171)
#define SB_BOMB_COUNT_Y (HIRESMODE?458:191) #define SB_BOMB_COUNT_Y (HIRESMODE?458:191)
@ -216,68 +205,44 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#define PRIMARY_W_BOX_TOP_L 151 //154 #define PRIMARY_W_BOX_TOP_L 151 //154
#define PRIMARY_W_BOX_RIGHT_L (PRIMARY_W_BOX_LEFT_L+58) #define PRIMARY_W_BOX_RIGHT_L (PRIMARY_W_BOX_LEFT_L+58)
#define PRIMARY_W_BOX_BOT_L (PRIMARY_W_BOX_TOP_L+42) #define PRIMARY_W_BOX_BOT_L (PRIMARY_W_BOX_TOP_L+42)
#define PRIMARY_W_BOX_LEFT_H 121 #define PRIMARY_W_BOX_LEFT_H 121
#define PRIMARY_W_BOX_TOP_H 364 #define PRIMARY_W_BOX_TOP_H 364
#define PRIMARY_W_BOX_RIGHT_H 241
#define PRIMARY_W_BOX_BOT_H (PRIMARY_W_BOX_TOP_H+106) //470 #define PRIMARY_W_BOX_BOT_H (PRIMARY_W_BOX_TOP_H+106) //470
#define PRIMARY_W_BOX_LEFT (HIRESMODE?PRIMARY_W_BOX_LEFT_H:PRIMARY_W_BOX_LEFT_L) #define PRIMARY_W_BOX_LEFT (HIRESMODE?PRIMARY_W_BOX_LEFT_H:PRIMARY_W_BOX_LEFT_L)
#define PRIMARY_W_BOX_TOP (HIRESMODE?PRIMARY_W_BOX_TOP_H:PRIMARY_W_BOX_TOP_L) #define PRIMARY_W_BOX_TOP (HIRESMODE?PRIMARY_W_BOX_TOP_H:PRIMARY_W_BOX_TOP_L)
#define PRIMARY_W_BOX_RIGHT (HIRESMODE?PRIMARY_W_BOX_RIGHT_H:PRIMARY_W_BOX_RIGHT_L) #define PRIMARY_W_BOX_RIGHT (HIRESMODE?PRIMARY_W_BOX_RIGHT_H:PRIMARY_W_BOX_RIGHT_L)
#define PRIMARY_W_BOX_BOT (HIRESMODE?PRIMARY_W_BOX_BOT_H:PRIMARY_W_BOX_BOT_L) #define PRIMARY_W_BOX_BOT (HIRESMODE?PRIMARY_W_BOX_BOT_H:PRIMARY_W_BOX_BOT_L)
#define SECONDARY_W_BOX_LEFT_L 202 //207 #define SECONDARY_W_BOX_LEFT_L 202 //207
#define SECONDARY_W_BOX_TOP_L 151 #define SECONDARY_W_BOX_TOP_L 151
#define SECONDARY_W_BOX_RIGHT_L 264 //(SECONDARY_W_BOX_LEFT+54)
#define SECONDARY_W_BOX_BOT_L (SECONDARY_W_BOX_TOP_L+42) #define SECONDARY_W_BOX_BOT_L (SECONDARY_W_BOX_TOP_L+42)
#define SECONDARY_W_BOX_LEFT_H 403
#define SECONDARY_W_BOX_TOP_H 364
#define SECONDARY_W_BOX_RIGHT_H 531
#define SECONDARY_W_BOX_BOT_H (SECONDARY_W_BOX_TOP_H+106) //470 #define SECONDARY_W_BOX_BOT_H (SECONDARY_W_BOX_TOP_H+106) //470
#define SECONDARY_W_BOX_LEFT (HIRESMODE?SECONDARY_W_BOX_LEFT_H:SECONDARY_W_BOX_LEFT_L) #define SECONDARY_W_BOX_LEFT (HIRESMODE?SECONDARY_W_BOX_LEFT_H:SECONDARY_W_BOX_LEFT_L)
#define SECONDARY_W_BOX_TOP (HIRESMODE?SECONDARY_W_BOX_TOP_H:SECONDARY_W_BOX_TOP_L) #define SECONDARY_W_BOX_TOP (HIRESMODE?SECONDARY_W_BOX_TOP_H:SECONDARY_W_BOX_TOP_L)
#define SECONDARY_W_BOX_RIGHT (HIRESMODE?SECONDARY_W_BOX_RIGHT_H:SECONDARY_W_BOX_RIGHT_L) #define SECONDARY_W_BOX_RIGHT (HIRESMODE?SECONDARY_W_BOX_RIGHT_H:SECONDARY_W_BOX_RIGHT_L)
#define SECONDARY_W_BOX_BOT (HIRESMODE?SECONDARY_W_BOX_BOT_H:SECONDARY_W_BOX_BOT_L) #define SECONDARY_W_BOX_BOT (HIRESMODE?SECONDARY_W_BOX_BOT_H:SECONDARY_W_BOX_BOT_L)
#define SB_PRIMARY_W_BOX_LEFT_L 34 //50 #define SB_PRIMARY_W_BOX_LEFT_L 34 //50
#define SB_PRIMARY_W_BOX_TOP_L 154
#define SB_PRIMARY_W_BOX_RIGHT_L (SB_PRIMARY_W_BOX_LEFT_L+55) #define SB_PRIMARY_W_BOX_RIGHT_L (SB_PRIMARY_W_BOX_LEFT_L+55)
#define SB_PRIMARY_W_BOX_BOT_L (195)
#define SB_PRIMARY_W_BOX_LEFT_H 68 #define SB_PRIMARY_W_BOX_LEFT_H 68
#define SB_PRIMARY_W_BOX_TOP_H 381 #define SB_PRIMARY_W_BOX_TOP_H 381
#define SB_PRIMARY_W_BOX_RIGHT_H 179 #define SB_PRIMARY_W_BOX_RIGHT_H 179
#define SB_PRIMARY_W_BOX_BOT_H 473 #define SB_PRIMARY_W_BOX_BOT_H 473
#define SB_PRIMARY_W_BOX_LEFT (HIRESMODE?SB_PRIMARY_W_BOX_LEFT_H:SB_PRIMARY_W_BOX_LEFT_L) #define SB_PRIMARY_W_BOX_LEFT (HIRESMODE?SB_PRIMARY_W_BOX_LEFT_H:SB_PRIMARY_W_BOX_LEFT_L)
#define SB_SECONDARY_W_BOX_LEFT_L 169 #define SB_SECONDARY_W_BOX_LEFT_L 169
#define SB_SECONDARY_W_BOX_TOP_L 154
#define SB_SECONDARY_W_BOX_RIGHT_L (SB_SECONDARY_W_BOX_LEFT_L+54)
#define SB_SECONDARY_W_BOX_BOT_L (153+42)
#define SB_SECONDARY_W_BOX_LEFT_H 338 #define SB_SECONDARY_W_BOX_LEFT_H 338
#define SB_SECONDARY_W_BOX_TOP_H 381 #define SB_SECONDARY_W_BOX_TOP_H 381
#define SB_SECONDARY_W_BOX_RIGHT_H 449 #define SB_SECONDARY_W_BOX_RIGHT_H 449
#define SB_SECONDARY_W_BOX_BOT_H 473 #define SB_SECONDARY_W_BOX_BOT_H 473
#define SB_SECONDARY_W_BOX_LEFT (HIRESMODE?SB_SECONDARY_W_BOX_LEFT_H:SB_SECONDARY_W_BOX_LEFT_L) //210 #define SB_SECONDARY_W_BOX_LEFT (HIRESMODE?SB_SECONDARY_W_BOX_LEFT_H:SB_SECONDARY_W_BOX_LEFT_L) //210
#define SB_PRIMARY_W_PIC_X (SB_PRIMARY_W_BOX_LEFT+1) //51 #define SB_PRIMARY_W_PIC_X (SB_PRIMARY_W_BOX_LEFT+1) //51
#define SB_PRIMARY_W_PIC_Y (HIRESMODE?382:154) #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_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_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?390:157)
#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_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_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_X (HIRESMODE?385:(SB_SECONDARY_W_BOX_LEFT+27)) //(212+27)
#define SB_SECONDARY_W_PIC_Y (HIRESMODE?382:154) #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_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+2) //212
#define SB_SECONDARY_W_TEXT_Y HUD_SCALE_Y(HIRESMODE?390: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):11)) //(212+9)
#define SB_SECONDARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?414:171) #define SB_SECONDARY_AMMO_Y HUD_SCALE_Y(HIRESMODE?414:171)
#define WS_SET 0 //in correct state #define WS_SET 0 //in correct state
@ -309,6 +274,12 @@ bitmap_index Gauges[MAX_GAUGE_BMS_MAC]; // Array of all gauge bitmaps.
grs_bitmap deccpt; grs_bitmap deccpt;
grs_bitmap *WinBoxOverlay[2] = { NULL, NULL }; // Overlay subbitmaps for both weapon boxes grs_bitmap *WinBoxOverlay[2] = { NULL, NULL }; // Overlay subbitmaps for both weapon boxes
#define PAGE_IN_GAUGE(x) _page_in_gauge(x)
static inline void _page_in_gauge(int x)
{
PIGGY_PAGE_IN(Gauges[x]);
}
static int score_display; static int score_display;
static fix score_time; static fix score_time;
static int old_weapon[2] = {-1,-1}; static int old_weapon[2] = {-1,-1};
@ -884,8 +855,8 @@ void show_homing_warning(void)
{ {
if (Endlevel_sequence) if (Endlevel_sequence)
{ {
PIGGY_PAGE_IN( Gauges[GAUGE_HOMING_WARNING_OFF] ); PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF );
hud_bitblt( HOMING_WARNING_X, HOMING_WARNING_Y, &GameBitmaps[Gauges[GAUGE_HOMING_WARNING_OFF].index]); hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]);
return; return;
} }
@ -895,19 +866,19 @@ void show_homing_warning(void)
{ {
if (GameTime64 & 0x4000) if (GameTime64 & 0x4000)
{ {
PIGGY_PAGE_IN(Gauges[GAUGE_HOMING_WARNING_ON]); PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_ON );
hud_bitblt( HOMING_WARNING_X, HOMING_WARNING_Y, &GameBitmaps[Gauges[GAUGE_HOMING_WARNING_ON].index]); hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_ON) ]);
} }
else else
{ {
PIGGY_PAGE_IN(Gauges[GAUGE_HOMING_WARNING_OFF]); PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF );
hud_bitblt( HOMING_WARNING_X, HOMING_WARNING_Y, &GameBitmaps[Gauges[GAUGE_HOMING_WARNING_OFF].index]); hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]);
} }
} }
else else
{ {
PIGGY_PAGE_IN(Gauges[GAUGE_HOMING_WARNING_OFF]); PAGE_IN_GAUGE( GAUGE_HOMING_WARNING_OFF );
hud_bitblt( HOMING_WARNING_X, HOMING_WARNING_Y, &GameBitmaps[Gauges[GAUGE_HOMING_WARNING_OFF].index]); hud_bitblt( HUD_SCALE_X(HOMING_WARNING_X), HUD_SCALE_Y(HOMING_WARNING_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_HOMING_WARNING_OFF) ]);
} }
} }
@ -925,15 +896,15 @@ void hud_show_homing_warning(void)
void hud_show_keys(void) void hud_show_keys(void)
{ {
grs_bitmap *blue,*yellow,*red; grs_bitmap *blue,*yellow,*red;
int y=HUD_SCALE_Y_AR(GameBitmaps[Gauges[GAUGE_LIVES].index].bm_h+2)+FSPACY(1); int y=HUD_SCALE_Y_AR(GameBitmaps[ GET_GAUGE_INDEX(GAUGE_LIVES) ].bm_h+2)+FSPACY(1);
PIGGY_PAGE_IN(Gauges[KEY_ICON_BLUE]); PAGE_IN_GAUGE( KEY_ICON_BLUE );
PIGGY_PAGE_IN(Gauges[KEY_ICON_YELLOW]); PAGE_IN_GAUGE( KEY_ICON_YELLOW );
PIGGY_PAGE_IN(Gauges[KEY_ICON_RED]); PAGE_IN_GAUGE( KEY_ICON_RED );
blue=&GameBitmaps[Gauges[KEY_ICON_BLUE].index]; blue=&GameBitmaps[ GET_GAUGE_INDEX(KEY_ICON_BLUE) ];
yellow=&GameBitmaps[Gauges[KEY_ICON_YELLOW].index]; yellow=&GameBitmaps[ GET_GAUGE_INDEX(KEY_ICON_YELLOW) ];
red=&GameBitmaps[Gauges[KEY_ICON_RED].index]; red=&GameBitmaps[ GET_GAUGE_INDEX(KEY_ICON_RED) ];
if (Players[Player_num].flags & PLAYER_FLAGS_BLUE_KEY) if (Players[Player_num].flags & PLAYER_FLAGS_BLUE_KEY)
hud_bitblt_free(FSPACX(2),y,HUD_SCALE_X_AR(blue->bm_w),HUD_SCALE_Y_AR(blue->bm_h),blue); hud_bitblt_free(FSPACX(2),y,HUD_SCALE_X_AR(blue->bm_w),HUD_SCALE_Y_AR(blue->bm_h),blue);
@ -1228,9 +1199,8 @@ void hud_show_lives()
gr_printf(x, FSPACY(1), "%s: %d", TXT_DEATHS, Players[Player_num].net_killed_total); gr_printf(x, FSPACY(1), "%s: %d", TXT_DEATHS, Players[Player_num].net_killed_total);
} }
else if (Players[Player_num].lives > 1) { else if (Players[Player_num].lives > 1) {
grs_bitmap *bm; PAGE_IN_GAUGE( GAUGE_LIVES );
PIGGY_PAGE_IN(Gauges[GAUGE_LIVES]); grs_bitmap * bm = &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_LIVES) ];
bm=&GameBitmaps[Gauges[GAUGE_LIVES].index];
gr_set_curfont( GAME_FONT ); gr_set_curfont( GAME_FONT );
gr_set_fontcolor(BM_XRGB(0,20,0),-1 ); gr_set_fontcolor(BM_XRGB(0,20,0),-1 );
hud_bitblt_free(x,FSPACY(1),HUD_SCALE_X_AR(bm->bm_w),HUD_SCALE_Y_AR(bm->bm_h),bm); hud_bitblt_free(x,FSPACY(1),HUD_SCALE_X_AR(bm->bm_w),HUD_SCALE_Y_AR(bm->bm_h),bm);
@ -1241,7 +1211,7 @@ void hud_show_lives()
void sb_show_lives() void sb_show_lives()
{ {
int x,y; int x,y;
grs_bitmap * bm = &GameBitmaps[Gauges[GAUGE_LIVES].index]; grs_bitmap * bm = &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_LIVES) ];
x = SB_LIVES_X; x = SB_LIVES_X;
y = SB_LIVES_Y; y = SB_LIVES_Y;
@ -1481,8 +1451,8 @@ void draw_energy_bar(int energy)
double aplitscale=((double)(HUD_SCALE_X(65)/HUD_SCALE_Y(8))/(65/8)); //scale aplitude of energy bar to current resolution aspect double aplitscale=((double)(HUD_SCALE_X(65)/HUD_SCALE_Y(8))/(65/8)); //scale aplitude of energy bar to current resolution aspect
// Draw left energy bar // Draw left energy bar
PIGGY_PAGE_IN(Gauges[GAUGE_ENERGY_LEFT]); PAGE_IN_GAUGE( GAUGE_ENERGY_LEFT );
hud_bitblt (HUD_SCALE_X(LEFT_ENERGY_GAUGE_X), HUD_SCALE_Y(LEFT_ENERGY_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_ENERGY_LEFT].index]); hud_bitblt (HUD_SCALE_X(LEFT_ENERGY_GAUGE_X), HUD_SCALE_Y(LEFT_ENERGY_GAUGE_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_ENERGY_LEFT) ]);
gr_setcolor(BM_XRGB(0,0,0)); gr_setcolor(BM_XRGB(0,0,0));
@ -1500,8 +1470,8 @@ void draw_energy_bar(int energy)
gr_set_current_canvas( NULL ); gr_set_current_canvas( NULL );
// Draw right energy bar // Draw right energy bar
PIGGY_PAGE_IN(Gauges[GAUGE_ENERGY_RIGHT]); PAGE_IN_GAUGE( GAUGE_ENERGY_RIGHT );
hud_bitblt (HUD_SCALE_X(RIGHT_ENERGY_GAUGE_X), HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_ENERGY_RIGHT].index]); hud_bitblt (HUD_SCALE_X(RIGHT_ENERGY_GAUGE_X), HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_ENERGY_RIGHT) ]);
if (energy < 100) if (energy < 100)
for (y=0; y < HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_H); y++) { for (y=0; y < HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_H); y++) {
@ -1521,8 +1491,8 @@ void draw_shield_bar(int shield)
{ {
int bm_num = shield>=100?9:(shield / 10); int bm_num = shield>=100?9:(shield / 10);
PIGGY_PAGE_IN(Gauges[GAUGE_SHIELDS+9-bm_num]); PAGE_IN_GAUGE( GAUGE_SHIELDS+9-bm_num );
hud_bitblt (HUD_SCALE_X(SHIELD_GAUGE_X), HUD_SCALE_Y(SHIELD_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_SHIELDS+9-bm_num].index]); hud_bitblt( HUD_SCALE_X(SHIELD_GAUGE_X), HUD_SCALE_Y(SHIELD_GAUGE_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_SHIELDS+9-bm_num) ]);
} }
#define CLOAK_FADE_WAIT_TIME 0x400 #define CLOAK_FADE_WAIT_TIME 0x400
@ -1536,14 +1506,14 @@ void draw_player_ship(int cloak_state,int x, int y)
#ifdef NETWORK #ifdef NETWORK
if (Game_mode & GM_TEAM) if (Game_mode & GM_TEAM)
{ {
PIGGY_PAGE_IN(Gauges[GAUGE_SHIPS+get_team(Player_num)]); PAGE_IN_GAUGE( GAUGE_SHIPS+get_team(Player_num) );
bm = &GameBitmaps[Gauges[GAUGE_SHIPS+get_team(Player_num)].index]; bm = &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_SHIPS+get_team(Player_num)) ];
} }
else else
#endif #endif
{ {
PIGGY_PAGE_IN(Gauges[GAUGE_SHIPS+Player_num]); PAGE_IN_GAUGE( GAUGE_SHIPS+Player_num );
bm = &GameBitmaps[Gauges[GAUGE_SHIPS+Player_num].index]; bm = &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_SHIPS+Player_num) ];
} }
if (cloak_state) if (cloak_state)
@ -1606,8 +1576,8 @@ void draw_numerical_display(int shield, int energy)
gr_set_curfont( GAME_FONT ); gr_set_curfont( GAME_FONT );
#ifndef OGL #ifndef OGL
PIGGY_PAGE_IN(Gauges[GAUGE_NUMERICAL]); PAGE_IN_GAUGE( GAUGE_NUMERICAL );
hud_bitblt (HUD_SCALE_X(NUMERICAL_GAUGE_X), HUD_SCALE_Y(NUMERICAL_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_NUMERICAL].index]); hud_bitblt( HUD_SCALE_X(NUMERICAL_GAUGE_X), HUD_SCALE_Y(NUMERICAL_GAUGE_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_NUMERICAL) ]);
#endif #endif
// cockpit is not 100% geometric so we need to divide shield and energy X position by 1.951 which should be most accurate // cockpit is not 100% geometric so we need to divide shield and energy X position by 1.951 which should be most accurate
// gr_get_string_size is used so we can get the numbers finally in the correct position with sw and ew // gr_get_string_size is used so we can get the numbers finally in the correct position with sw and ew
@ -1630,27 +1600,27 @@ void draw_keys()
gr_set_current_canvas( NULL ); gr_set_current_canvas( NULL );
if (Players[Player_num].flags & PLAYER_FLAGS_BLUE_KEY ) { if (Players[Player_num].flags & PLAYER_FLAGS_BLUE_KEY ) {
PIGGY_PAGE_IN(Gauges[GAUGE_BLUE_KEY]); PAGE_IN_GAUGE( GAUGE_BLUE_KEY );
hud_bitblt( HUD_SCALE_X(GAUGE_BLUE_KEY_X), HUD_SCALE_Y(GAUGE_BLUE_KEY_Y), &GameBitmaps[Gauges[GAUGE_BLUE_KEY].index]); hud_bitblt( HUD_SCALE_X(GAUGE_BLUE_KEY_X), HUD_SCALE_Y(GAUGE_BLUE_KEY_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_BLUE_KEY) ]);
} else { } else {
PIGGY_PAGE_IN(Gauges[GAUGE_BLUE_KEY_OFF]); PAGE_IN_GAUGE( GAUGE_BLUE_KEY_OFF );
hud_bitblt( HUD_SCALE_X(GAUGE_BLUE_KEY_X), HUD_SCALE_Y(GAUGE_BLUE_KEY_Y), &GameBitmaps[Gauges[GAUGE_BLUE_KEY_OFF].index]); hud_bitblt( HUD_SCALE_X(GAUGE_BLUE_KEY_X), HUD_SCALE_Y(GAUGE_BLUE_KEY_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_BLUE_KEY_OFF) ]);
} }
if (Players[Player_num].flags & PLAYER_FLAGS_GOLD_KEY) { if (Players[Player_num].flags & PLAYER_FLAGS_GOLD_KEY) {
PIGGY_PAGE_IN(Gauges[GAUGE_GOLD_KEY]); PAGE_IN_GAUGE( GAUGE_GOLD_KEY );
hud_bitblt( HUD_SCALE_X(GAUGE_GOLD_KEY_X), HUD_SCALE_Y(GAUGE_GOLD_KEY_Y), &GameBitmaps[Gauges[GAUGE_GOLD_KEY].index]); hud_bitblt( HUD_SCALE_X(GAUGE_GOLD_KEY_X), HUD_SCALE_Y(GAUGE_GOLD_KEY_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_GOLD_KEY) ]);
} else { } else {
PIGGY_PAGE_IN(Gauges[GAUGE_GOLD_KEY_OFF]); PAGE_IN_GAUGE( GAUGE_GOLD_KEY_OFF );
hud_bitblt( HUD_SCALE_X(GAUGE_GOLD_KEY_X), HUD_SCALE_Y(GAUGE_GOLD_KEY_Y), &GameBitmaps[Gauges[GAUGE_GOLD_KEY_OFF].index]); hud_bitblt( HUD_SCALE_X(GAUGE_GOLD_KEY_X), HUD_SCALE_Y(GAUGE_GOLD_KEY_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_GOLD_KEY_OFF) ]);
} }
if (Players[Player_num].flags & PLAYER_FLAGS_RED_KEY) { if (Players[Player_num].flags & PLAYER_FLAGS_RED_KEY) {
PIGGY_PAGE_IN( Gauges[GAUGE_RED_KEY] ); PAGE_IN_GAUGE( GAUGE_RED_KEY );
hud_bitblt( HUD_SCALE_X(GAUGE_RED_KEY_X), HUD_SCALE_Y(GAUGE_RED_KEY_Y), &GameBitmaps[Gauges[GAUGE_RED_KEY].index]); hud_bitblt( HUD_SCALE_X(GAUGE_RED_KEY_X), HUD_SCALE_Y(GAUGE_RED_KEY_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_RED_KEY) ]);
} else { } else {
PIGGY_PAGE_IN(Gauges[GAUGE_RED_KEY_OFF]); PAGE_IN_GAUGE( GAUGE_RED_KEY_OFF );
hud_bitblt( HUD_SCALE_X(GAUGE_RED_KEY_X), HUD_SCALE_Y(GAUGE_RED_KEY_Y), &GameBitmaps[Gauges[GAUGE_RED_KEY_OFF].index]); hud_bitblt( HUD_SCALE_X(GAUGE_RED_KEY_X), HUD_SCALE_Y(GAUGE_RED_KEY_Y), &GameBitmaps[ GET_GAUGE_INDEX(GAUGE_RED_KEY_OFF) ]);
} }
} }
@ -1662,11 +1632,10 @@ void draw_weapon_info_sub(int info_index,gauge_box *box,int pic_x,int pic_y,char
//clear the window //clear the window
gr_setcolor(BM_XRGB(0,0,0)); gr_setcolor(BM_XRGB(0,0,0));
gr_rect(HUD_SCALE_X(box->left),HUD_SCALE_Y(box->top),HUD_SCALE_X(box->right),HUD_SCALE_Y(box->bot+1)); gr_rect(HUD_SCALE_X(box->left),HUD_SCALE_Y(box->top),HUD_SCALE_X(box->right),HUD_SCALE_Y(box->bot+1));
PIGGY_PAGE_IN( Weapon_info[info_index].picture );
bm=&GameBitmaps[Weapon_info[info_index].picture.index]; bm=&GameBitmaps[Weapon_info[info_index].picture.index];
Assert(bm != NULL); Assert(bm != NULL);
PIGGY_PAGE_IN( Weapon_info[info_index].picture );
hud_bitblt(HUD_SCALE_X(pic_x), HUD_SCALE_Y(pic_y), bm); hud_bitblt(HUD_SCALE_X(pic_x), HUD_SCALE_Y(pic_y), bm);
if (PlayerCfg.HudMode == 0) if (PlayerCfg.HudMode == 0)
@ -1857,8 +1826,8 @@ void sb_draw_energy_bar(int energy)
int erase_height,i; int erase_height,i;
int ew, eh, eaw; int ew, eh, eaw;
PIGGY_PAGE_IN(Gauges[SB_GAUGE_ENERGY]); PAGE_IN_GAUGE( SB_GAUGE_ENERGY );
hud_bitblt( HUD_SCALE_X(SB_ENERGY_GAUGE_X), HUD_SCALE_Y(SB_ENERGY_GAUGE_Y), &GameBitmaps[Gauges[SB_GAUGE_ENERGY].index]); hud_bitblt(HUD_SCALE_X(SB_ENERGY_GAUGE_X), HUD_SCALE_Y(SB_ENERGY_GAUGE_Y), &GameBitmaps[GET_GAUGE_INDEX(SB_GAUGE_ENERGY)]);
erase_height = HUD_SCALE_Y((100 - energy) * SB_ENERGY_GAUGE_H / 100); erase_height = HUD_SCALE_Y((100 - energy) * SB_ENERGY_GAUGE_H / 100);
gr_setcolor( 0 ); gr_setcolor( 0 );
@ -1894,9 +1863,8 @@ void sb_draw_shield_bar(int shield)
int bm_num = shield>=100?9:(shield / 10); int bm_num = shield>=100?9:(shield / 10);
gr_set_current_canvas(NULL); gr_set_current_canvas(NULL);
PAGE_IN_GAUGE( GAUGE_SHIELDS+9-bm_num );
PIGGY_PAGE_IN( Gauges[GAUGE_SHIELDS+9-bm_num] ); hud_bitblt( HUD_SCALE_X(SB_SHIELD_GAUGE_X), HUD_SCALE_Y(SB_SHIELD_GAUGE_Y), &GameBitmaps[GET_GAUGE_INDEX(GAUGE_SHIELDS+9-bm_num) ]);
hud_bitblt( HUD_SCALE_X(SB_SHIELD_GAUGE_X), HUD_SCALE_Y(SB_SHIELD_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_SHIELDS+9-bm_num].index]);
} }
void sb_draw_keys() void sb_draw_keys()
@ -1905,14 +1873,14 @@ void sb_draw_keys()
int flags = Players[Player_num].flags; int flags = Players[Player_num].flags;
gr_set_current_canvas(NULL); gr_set_current_canvas(NULL);
bm = &GameBitmaps[Gauges[(flags&PLAYER_FLAGS_BLUE_KEY)?SB_GAUGE_BLUE_KEY:SB_GAUGE_BLUE_KEY_OFF].index]; bm = &GameBitmaps[ GET_GAUGE_INDEX((flags&PLAYER_FLAGS_BLUE_KEY)?SB_GAUGE_BLUE_KEY:SB_GAUGE_BLUE_KEY_OFF) ];
PIGGY_PAGE_IN(Gauges[(flags&PLAYER_FLAGS_BLUE_KEY)?SB_GAUGE_BLUE_KEY:SB_GAUGE_BLUE_KEY_OFF]); PAGE_IN_GAUGE( (flags&PLAYER_FLAGS_BLUE_KEY)?SB_GAUGE_BLUE_KEY:SB_GAUGE_BLUE_KEY_OFF );
hud_bitblt( HUD_SCALE_X(SB_GAUGE_KEYS_X), HUD_SCALE_Y(SB_GAUGE_BLUE_KEY_Y), bm); hud_bitblt( HUD_SCALE_X(SB_GAUGE_KEYS_X), HUD_SCALE_Y(SB_GAUGE_BLUE_KEY_Y), bm);
bm = &GameBitmaps[Gauges[(flags&PLAYER_FLAGS_GOLD_KEY)?SB_GAUGE_GOLD_KEY:SB_GAUGE_GOLD_KEY_OFF].index]; bm = &GameBitmaps[ GET_GAUGE_INDEX((flags&PLAYER_FLAGS_GOLD_KEY)?SB_GAUGE_GOLD_KEY:SB_GAUGE_GOLD_KEY_OFF) ];
PIGGY_PAGE_IN(Gauges[(flags&PLAYER_FLAGS_GOLD_KEY)?SB_GAUGE_GOLD_KEY:SB_GAUGE_GOLD_KEY_OFF]); PAGE_IN_GAUGE( (flags&PLAYER_FLAGS_GOLD_KEY)?SB_GAUGE_GOLD_KEY:SB_GAUGE_GOLD_KEY_OFF );
hud_bitblt( HUD_SCALE_X(SB_GAUGE_KEYS_X), HUD_SCALE_Y(SB_GAUGE_GOLD_KEY_Y), bm); hud_bitblt( HUD_SCALE_X(SB_GAUGE_KEYS_X), HUD_SCALE_Y(SB_GAUGE_GOLD_KEY_Y), bm);
bm = &GameBitmaps[Gauges[(flags&PLAYER_FLAGS_RED_KEY)?SB_GAUGE_RED_KEY:SB_GAUGE_RED_KEY_OFF].index]; bm = &GameBitmaps[ GET_GAUGE_INDEX((flags&PLAYER_FLAGS_RED_KEY)?SB_GAUGE_RED_KEY:SB_GAUGE_RED_KEY_OFF) ];
PIGGY_PAGE_IN(Gauges[(flags&PLAYER_FLAGS_RED_KEY)?SB_GAUGE_RED_KEY:SB_GAUGE_RED_KEY_OFF]); PAGE_IN_GAUGE( (flags&PLAYER_FLAGS_RED_KEY)?SB_GAUGE_RED_KEY:SB_GAUGE_RED_KEY_OFF );
hud_bitblt( HUD_SCALE_X(SB_GAUGE_KEYS_X), HUD_SCALE_Y(SB_GAUGE_RED_KEY_Y), bm); hud_bitblt( HUD_SCALE_X(SB_GAUGE_KEYS_X), HUD_SCALE_Y(SB_GAUGE_RED_KEY_Y), bm);
} }
@ -1927,11 +1895,11 @@ void draw_invulnerable_ship()
{ {
if (PlayerCfg.CockpitMode[1] == CM_STATUS_BAR) { if (PlayerCfg.CockpitMode[1] == CM_STATUS_BAR) {
PIGGY_PAGE_IN(Gauges[GAUGE_INVULNERABLE+invulnerable_frame]); PAGE_IN_GAUGE( GAUGE_INVULNERABLE+invulnerable_frame );
hud_bitblt( HUD_SCALE_X(SB_SHIELD_GAUGE_X), HUD_SCALE_Y(SB_SHIELD_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_INVULNERABLE+invulnerable_frame].index]); hud_bitblt( HUD_SCALE_X(SB_SHIELD_GAUGE_X), HUD_SCALE_Y(SB_SHIELD_GAUGE_Y), &GameBitmaps[GET_GAUGE_INDEX(GAUGE_INVULNERABLE+invulnerable_frame) ]);
} else { } else {
PIGGY_PAGE_IN(Gauges[GAUGE_INVULNERABLE+invulnerable_frame]); PAGE_IN_GAUGE( GAUGE_INVULNERABLE+invulnerable_frame );
hud_bitblt( HUD_SCALE_X(SHIELD_GAUGE_X), HUD_SCALE_Y(SHIELD_GAUGE_Y), &GameBitmaps[Gauges[GAUGE_INVULNERABLE+invulnerable_frame].index]); hud_bitblt( HUD_SCALE_X(SHIELD_GAUGE_X), HUD_SCALE_Y(SHIELD_GAUGE_Y), &GameBitmaps[GET_GAUGE_INDEX(GAUGE_INVULNERABLE+invulnerable_frame)]);
} }
time += FrameTime; time += FrameTime;
@ -1975,7 +1943,7 @@ void show_reticle(int reticle_type, int secondary_display)
int x,y,size; int x,y,size;
int laser_ready,missile_ready,laser_ammo,missile_ammo; int laser_ready,missile_ready,laser_ammo,missile_ammo;
int cross_bm_num,primary_bm_num,secondary_bm_num; int cross_bm_num,primary_bm_num,secondary_bm_num;
int use_hires_reticle,ofs; int use_hires_reticle,ofs,gauge_index;
x = grd_curcanv->cv_bitmap.bm_w/2; x = grd_curcanv->cv_bitmap.bm_w/2;
y = grd_curcanv->cv_bitmap.bm_h/2; y = grd_curcanv->cv_bitmap.bm_h/2;
@ -2015,17 +1983,19 @@ void show_reticle(int reticle_type, int secondary_display)
use_hires_reticle = (HIRESMODE != 0); use_hires_reticle = (HIRESMODE != 0);
ofs = (use_hires_reticle?0:2); ofs = (use_hires_reticle?0:2);
gauge_index = RETICLE_CROSS + cross_bm_num;
PIGGY_PAGE_IN(Gauges[RETICLE_CROSS + cross_bm_num]); PAGE_IN_GAUGE( gauge_index );
cross = &GameBitmaps[Gauges[RETICLE_CROSS + cross_bm_num].index]; cross = &GameBitmaps[GET_GAUGE_INDEX(gauge_index)];
hud_bitblt_free(x+HUD_SCALE_X_AR(cross_offsets[ofs].x),y+HUD_SCALE_Y_AR(cross_offsets[ofs].y), HUD_SCALE_X_AR(cross->bm_w), HUD_SCALE_Y_AR(cross->bm_h), cross); hud_bitblt_free(x+HUD_SCALE_X_AR(cross_offsets[ofs].x),y+HUD_SCALE_Y_AR(cross_offsets[ofs].y), HUD_SCALE_X_AR(cross->bm_w), HUD_SCALE_Y_AR(cross->bm_h), cross);
PIGGY_PAGE_IN(Gauges[RETICLE_PRIMARY + primary_bm_num]); gauge_index = RETICLE_PRIMARY + primary_bm_num;
primary = &GameBitmaps[Gauges[RETICLE_PRIMARY + primary_bm_num].index]; PAGE_IN_GAUGE( gauge_index );
primary = &GameBitmaps[GET_GAUGE_INDEX(gauge_index)];
hud_bitblt_free(x+HUD_SCALE_X_AR(primary_offsets[ofs].x),y+HUD_SCALE_Y_AR(primary_offsets[ofs].y), HUD_SCALE_X_AR(primary->bm_w), HUD_SCALE_Y_AR(primary->bm_h), primary); hud_bitblt_free(x+HUD_SCALE_X_AR(primary_offsets[ofs].x),y+HUD_SCALE_Y_AR(primary_offsets[ofs].y), HUD_SCALE_X_AR(primary->bm_w), HUD_SCALE_Y_AR(primary->bm_h), primary);
PIGGY_PAGE_IN(Gauges[RETICLE_SECONDARY + secondary_bm_num]); gauge_index = RETICLE_SECONDARY + secondary_bm_num;
secondary = &GameBitmaps[Gauges[RETICLE_SECONDARY + secondary_bm_num].index]; PAGE_IN_GAUGE( gauge_index );
secondary = &GameBitmaps[GET_GAUGE_INDEX(gauge_index)];
hud_bitblt_free(x+HUD_SCALE_X_AR(secondary_offsets[ofs].x),y+HUD_SCALE_Y_AR(secondary_offsets[ofs].y), HUD_SCALE_X_AR(secondary->bm_w), HUD_SCALE_Y_AR(secondary->bm_h), secondary); hud_bitblt_free(x+HUD_SCALE_X_AR(secondary_offsets[ofs].x),y+HUD_SCALE_Y_AR(secondary_offsets[ofs].y), HUD_SCALE_X_AR(secondary->bm_w), HUD_SCALE_Y_AR(secondary->bm_h), secondary);
break; break;
} }