Not rendering additional transparency cockpit display anymore to ensure compability with custom cockpits; Improved overlay functions for cockpit elements
This commit is contained in:
parent
822f23c576
commit
debc7d71b5
|
@ -1,5 +1,9 @@
|
||||||
D1X-Rebirth Changelog
|
D1X-Rebirth Changelog
|
||||||
|
|
||||||
|
20071006
|
||||||
|
--------
|
||||||
|
arch/ogl/ogl.c, main/game.c, main/gauges.c, main/gauges.h: Not rendering additional transparency cockpit display anymore to ensure compability with custom cockpits; Improved overlay functions for cockpit elements
|
||||||
|
|
||||||
20071001
|
20071001
|
||||||
--------
|
--------
|
||||||
main/game.c, main/kconfig.c, main/titles.c: Added line_scpacing in netgame info screen for every not-connected player to keep strings below player table in fixed position; Fixed memleak in kconfig code; Fixed show_title_screen function to cycle correctly 3 seconds or until broken by keypress
|
main/game.c, main/kconfig.c, main/titles.c: Added line_scpacing in netgame info screen for every not-connected player to keep strings below player table in fixed position; Fixed memleak in kconfig code; Fixed show_title_screen function to cycle correctly 3 seconds or until broken by keypress
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
#include "byteswap.h"
|
#include "byteswap.h"
|
||||||
#include "endlevel.h"
|
#include "endlevel.h"
|
||||||
#include "ogl_init.h"
|
#include "ogl_init.h"
|
||||||
|
#include "gauges.h"
|
||||||
|
|
||||||
//change to 1 for lots of spew.
|
//change to 1 for lots of spew.
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -1117,7 +1118,12 @@ void ogl_filltexbuf(unsigned char *data, GLubyte *texp, int truewidth, int width
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (((c == 255 && (bm_flags & BM_FLAG_TRANSPARENT)) || c == 256) ||
|
else if (((c == 255 && (bm_flags & BM_FLAG_TRANSPARENT)) || c == 256) ||
|
||||||
(c==0 && (bm_flags & BM_FLAG_COCKPIT_TRANSPARENT)))
|
((bm_flags & BM_FLAG_COCKPIT_TRANSPARENT) &&
|
||||||
|
(y >= 151 && y <= 193 &&
|
||||||
|
((x >= weapon_window_left[y-151].l && x <= weapon_window_left[y-151].r) || (x >= weapon_window_right[y-151].l && x <= weapon_window_right[y-151].r))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
switch (type){
|
switch (type){
|
||||||
case GL_LUMINANCE:
|
case GL_LUMINANCE:
|
||||||
|
|
17
main/game.c
17
main/game.c
|
@ -323,13 +323,20 @@ void update_cockpits(int force_redraw)
|
||||||
|
|
||||||
switch( Cockpit_mode ) {
|
switch( Cockpit_mode ) {
|
||||||
case CM_FULL_COCKPIT:
|
case CM_FULL_COCKPIT:
|
||||||
case CM_REAR_VIEW:
|
|
||||||
gr_set_current_canvas(NULL);
|
gr_set_current_canvas(NULL);
|
||||||
bm->bm_flags |= BM_FLAG_COCKPIT_TRANSPARENT;
|
bm->bm_flags |= BM_FLAG_COCKPIT_TRANSPARENT;
|
||||||
#ifdef OGL
|
#ifdef OGL
|
||||||
ogl_ubitmapm_cs (0, 0, -1, grd_curcanv->cv_bitmap.bm_h, bm,255, F1_0);
|
ogl_ubitmapm_cs (0, 0, -1, grd_curcanv->cv_bitmap.bm_h, bm,255, F1_0);
|
||||||
#else
|
#else
|
||||||
gr_ubitmapm(0,0, bm);
|
gr_ubitmapm(0,0, bm);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
case CM_REAR_VIEW:
|
||||||
|
gr_set_current_canvas(NULL);
|
||||||
|
#ifdef OGL
|
||||||
|
ogl_ubitmapm_cs (0, 0, -1, grd_curcanv->cv_bitmap.bm_h, bm,255, F1_0);
|
||||||
|
#else
|
||||||
|
gr_ubitmapm(0,0, bm);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case CM_FULL_SCREEN:
|
case CM_FULL_SCREEN:
|
||||||
|
@ -337,8 +344,6 @@ void update_cockpits(int force_redraw)
|
||||||
case CM_STATUS_BAR:
|
case CM_STATUS_BAR:
|
||||||
gr_set_current_canvas(NULL);
|
gr_set_current_canvas(NULL);
|
||||||
#ifdef OGL
|
#ifdef OGL
|
||||||
bm->bm_flags |= BM_FLAG_TRANSPARENT;
|
|
||||||
bm->bm_flags |= BM_FLAG_COCKPIT_TRANSPARENT;
|
|
||||||
ogl_ubitmapm_cs (0, (SHEIGHT*2)/2.72, -1, ((int) ((double) (bm->bm_h) * ((double)grd_curscreen->sc_h/200) + 0.5)), bm,255, F1_0);
|
ogl_ubitmapm_cs (0, (SHEIGHT*2)/2.72, -1, ((int) ((double) (bm->bm_h) * ((double)grd_curscreen->sc_h/200) + 0.5)), bm,255, F1_0);
|
||||||
#else
|
#else
|
||||||
gr_ubitmapm(0,146,bm);
|
gr_ubitmapm(0,146,bm);
|
||||||
|
@ -388,14 +393,10 @@ void init_cockpit()
|
||||||
|
|
||||||
switch( Cockpit_mode ) {
|
switch( Cockpit_mode ) {
|
||||||
case CM_FULL_COCKPIT:
|
case CM_FULL_COCKPIT:
|
||||||
case CM_REAR_VIEW: {
|
|
||||||
if (Cockpit_mode == CM_FULL_COCKPIT)
|
|
||||||
game_init_render_sub_buffers(0, 0, grd_curscreen->sc_w, (grd_curscreen->sc_h*2)/3);
|
game_init_render_sub_buffers(0, 0, grd_curscreen->sc_w, (grd_curscreen->sc_h*2)/3);
|
||||||
else if (Cockpit_mode == CM_REAR_VIEW)
|
|
||||||
game_init_render_sub_buffers((16*grd_curscreen->sc_w)/640, (89*grd_curscreen->sc_h)/480, (604*grd_curscreen->sc_w)/640, (209*grd_curscreen->sc_h)/480);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
|
case CM_REAR_VIEW:
|
||||||
case CM_FULL_SCREEN:
|
case CM_FULL_SCREEN:
|
||||||
game_init_render_sub_buffers(0, 0, SWIDTH, SHEIGHT);
|
game_init_render_sub_buffers(0, 0, SWIDTH, SHEIGHT);
|
||||||
break;
|
break;
|
||||||
|
|
213
main/gauges.c
213
main/gauges.c
|
@ -120,7 +120,7 @@ grs_canvas *Canv_NumericalGauge;
|
||||||
#define RIGHT_ENERGY_GAUGE_H 8
|
#define RIGHT_ENERGY_GAUGE_H 8
|
||||||
#define SB_ENERGY_GAUGE_X 98
|
#define SB_ENERGY_GAUGE_X 98
|
||||||
#define SB_ENERGY_GAUGE_Y 155
|
#define SB_ENERGY_GAUGE_Y 155
|
||||||
#define SB_ENERGY_GAUGE_W 17
|
#define SB_ENERGY_GAUGE_W 16
|
||||||
#define SB_ENERGY_GAUGE_H 41
|
#define SB_ENERGY_GAUGE_H 41
|
||||||
#define SB_ENERGY_NUM_X (SB_ENERGY_GAUGE_X+2)
|
#define SB_ENERGY_NUM_X (SB_ENERGY_GAUGE_X+2)
|
||||||
#define SB_ENERGY_NUM_Y 190
|
#define SB_ENERGY_NUM_Y 190
|
||||||
|
@ -257,6 +257,101 @@ gauge_box gauge_boxes[] = {
|
||||||
{SB_SECONDARY_W_BOX_LEFT,SB_SECONDARY_W_BOX_TOP,SB_SECONDARY_W_BOX_RIGHT,SB_SECONDARY_W_BOX_BOT}
|
{SB_SECONDARY_W_BOX_LEFT,SB_SECONDARY_W_BOX_TOP,SB_SECONDARY_W_BOX_RIGHT,SB_SECONDARY_W_BOX_BOT}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//store delta x values from left of box
|
||||||
|
span weapon_window_left[] = {
|
||||||
|
{71,114},
|
||||||
|
{69,116},
|
||||||
|
{68,117},
|
||||||
|
{66,118},
|
||||||
|
{66,119},
|
||||||
|
{66,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{65,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{64,119},
|
||||||
|
{63,119},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,118},
|
||||||
|
{63,117},
|
||||||
|
{63,117},
|
||||||
|
{64,116},
|
||||||
|
{65,115},
|
||||||
|
{66,113},
|
||||||
|
{68,111},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//store delta x values from left of box
|
||||||
|
span weapon_window_right[] = {
|
||||||
|
{208,255},
|
||||||
|
{206,257},
|
||||||
|
{205,258},
|
||||||
|
{204,259},
|
||||||
|
{203,260},
|
||||||
|
{203,260},
|
||||||
|
{203,260},
|
||||||
|
{203,260},
|
||||||
|
{203,260},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,261},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{203,262},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{204,263},
|
||||||
|
{205,263},
|
||||||
|
{206,262},
|
||||||
|
{207,261},
|
||||||
|
{208,260},
|
||||||
|
{211,255},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
int Color_0_31_0 = -1;
|
int Color_0_31_0 = -1;
|
||||||
|
|
||||||
|
@ -1019,92 +1114,46 @@ void init_gauges()
|
||||||
void draw_energy_bar(int energy)
|
void draw_energy_bar(int energy)
|
||||||
{
|
{
|
||||||
grs_bitmap *bm;
|
grs_bitmap *bm;
|
||||||
int energy0;
|
int x1, x2, y;
|
||||||
int x1, x2, y, yMax, i;
|
int not_energy = HUD_SCALE_X(63 - (energy*63)/100);
|
||||||
int h0 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_H - 1);
|
double aplitscale=((double)(HUD_SCALE_X(65)/HUD_SCALE_Y(8))/(65/8)); //scale aplitude of energy bar to current resolution aspect
|
||||||
int h1 = HUD_SCALE_Y (LEFT_ENERGY_GAUGE_H / 4);
|
|
||||||
int h2 = HUD_SCALE_Y ((LEFT_ENERGY_GAUGE_H * 3) / 4);
|
|
||||||
int w1 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_W - 1);
|
|
||||||
int w2 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_W - 2);
|
|
||||||
int w3 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_W - 3);
|
|
||||||
double eBarScale = HUD_SCALE_X(100.0 - (double) energy) * 0.075 / (double) HUD_SCALE_Y (LEFT_ENERGY_GAUGE_H);
|
|
||||||
|
|
||||||
// Draw left energy bar
|
// Draw left energy bar
|
||||||
PIGGY_PAGE_IN(Gauges[GAUGE_ENERGY_LEFT]);
|
PIGGY_PAGE_IN(Gauges[GAUGE_ENERGY_LEFT]);
|
||||||
bm = &GameBitmaps[Gauges[GAUGE_ENERGY_LEFT].index];
|
bm = &GameBitmaps[Gauges[GAUGE_ENERGY_LEFT].index];
|
||||||
gr_rect( HUD_SCALE_X(LEFT_ENERGY_GAUGE_X-1),
|
|
||||||
HUD_SCALE_Y(LEFT_ENERGY_GAUGE_Y-1),
|
|
||||||
HUD_SCALE_X(LEFT_ENERGY_GAUGE_X+LEFT_ENERGY_GAUGE_W+1),
|
|
||||||
HUD_SCALE_Y(LEFT_ENERGY_GAUGE_Y+LEFT_ENERGY_GAUGE_H+1));
|
|
||||||
hud_bitblt (LEFT_ENERGY_GAUGE_X, LEFT_ENERGY_GAUGE_Y, bm, F1_0);
|
hud_bitblt (LEFT_ENERGY_GAUGE_X, LEFT_ENERGY_GAUGE_Y, bm, F1_0);
|
||||||
|
|
||||||
gr_setcolor(BM_XRGB(0,0,0));
|
gr_setcolor(BM_XRGB(0,0,0));
|
||||||
|
|
||||||
energy0 = HUD_SCALE_X (56);
|
if (energy < 100)
|
||||||
energy0 = energy0 - (energy * energy0) / 100;
|
for (y=0; y < HUD_SCALE_Y(LEFT_ENERGY_GAUGE_H); y++) {
|
||||||
if (energy < 100) {
|
x1 = HUD_SCALE_X(LEFT_ENERGY_GAUGE_H - 2) - y*(aplitscale);
|
||||||
for (i = 0; i < LEFT_ENERGY_GAUGE_H; i++) {
|
x2 = HUD_SCALE_X(LEFT_ENERGY_GAUGE_H - 2) - y*(aplitscale) + not_energy;
|
||||||
yMax = HUD_SCALE_Y (i + 1);
|
|
||||||
for (y = i; y <= yMax; y++) {
|
if (x2 > HUD_SCALE_X(LEFT_ENERGY_GAUGE_W) - (y*aplitscale)/3)
|
||||||
x1 = h0 - y;
|
x2 = HUD_SCALE_X(LEFT_ENERGY_GAUGE_W) - (y*aplitscale)/3;
|
||||||
x2 = x1 + energy0 + (int) ((double) y * eBarScale);
|
|
||||||
if (y < h1) {
|
if (x2 > x1) gr_uline( i2f(x1+HUD_SCALE_X(LEFT_ENERGY_GAUGE_X)), i2f(y+HUD_SCALE_Y(LEFT_ENERGY_GAUGE_Y)+1), i2f(x2+HUD_SCALE_X(LEFT_ENERGY_GAUGE_X)), i2f(y+HUD_SCALE_Y(LEFT_ENERGY_GAUGE_Y)+1) );
|
||||||
if (x2 > w1)
|
|
||||||
x2 = w1;
|
|
||||||
}
|
|
||||||
else if (y < h2) {
|
|
||||||
if (x2 > w2)
|
|
||||||
x2 = w2;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (x2 > w3)
|
|
||||||
x2 = w3;
|
|
||||||
}
|
|
||||||
if (x2 > x1)
|
|
||||||
gr_rect(HUD_SCALE_X (LEFT_ENERGY_GAUGE_X-1) + x1, HUD_SCALE_Y (LEFT_ENERGY_GAUGE_Y) +y , HUD_SCALE_X (LEFT_ENERGY_GAUGE_X) + x2, HUD_SCALE_Y (LEFT_ENERGY_GAUGE_Y) +y +1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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]);
|
PIGGY_PAGE_IN(Gauges[GAUGE_ENERGY_RIGHT]);
|
||||||
bm = &GameBitmaps[Gauges[GAUGE_ENERGY_RIGHT].index];
|
bm = &GameBitmaps[Gauges[GAUGE_ENERGY_RIGHT].index];
|
||||||
gr_rect( HUD_SCALE_X(RIGHT_ENERGY_GAUGE_X-1),
|
hud_bitblt (RIGHT_ENERGY_GAUGE_X, RIGHT_ENERGY_GAUGE_Y, bm, F1_0);
|
||||||
HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_Y-1),
|
|
||||||
HUD_SCALE_X(RIGHT_ENERGY_GAUGE_X+RIGHT_ENERGY_GAUGE_W+1),
|
|
||||||
HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_Y+RIGHT_ENERGY_GAUGE_H+1));
|
|
||||||
hud_bitblt (RIGHT_ENERGY_GAUGE_X-1, RIGHT_ENERGY_GAUGE_Y, bm, F1_0);
|
|
||||||
|
|
||||||
gr_setcolor(BM_XRGB(0,0,0));
|
if (energy < 100)
|
||||||
|
for (y=0; y < HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_H); y++) {
|
||||||
|
x1 = HUD_SCALE_X(RIGHT_ENERGY_GAUGE_W - RIGHT_ENERGY_GAUGE_H + 2 ) + y*(aplitscale) - not_energy;
|
||||||
|
x2 = HUD_SCALE_X(RIGHT_ENERGY_GAUGE_W - RIGHT_ENERGY_GAUGE_H + 2 ) + y*(aplitscale);
|
||||||
|
|
||||||
h0 = HUD_SCALE_X (RIGHT_ENERGY_GAUGE_W - RIGHT_ENERGY_GAUGE_H);
|
if (x1 < (y*aplitscale)/3)
|
||||||
w1 = HUD_SCALE_X (1);
|
x1 = (y*aplitscale)/3;
|
||||||
w2 = HUD_SCALE_X (2);
|
|
||||||
if (energy < 100) {
|
if (x2 > x1) gr_uline( i2f(x1+HUD_SCALE_X(RIGHT_ENERGY_GAUGE_X)), i2f(y+HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_Y)+1), i2f(x2+HUD_SCALE_X(RIGHT_ENERGY_GAUGE_X)), i2f(y+HUD_SCALE_Y(RIGHT_ENERGY_GAUGE_Y)+1) );
|
||||||
yMax = HUD_SCALE_Y (RIGHT_ENERGY_GAUGE_H);
|
|
||||||
for (i = 0; i < RIGHT_ENERGY_GAUGE_H; i++) {
|
|
||||||
yMax = HUD_SCALE_Y (i + 1);
|
|
||||||
for (y = i; y <= yMax; y++) {
|
|
||||||
x2 = h0 + y;
|
|
||||||
x1 = x2 - energy0 - (int) ((double) y * eBarScale);
|
|
||||||
if (y < h1) {
|
|
||||||
if (x1 < 0)
|
|
||||||
x1 = 0;
|
|
||||||
}
|
|
||||||
else if (y < h2) {
|
|
||||||
if (x1 < w1)
|
|
||||||
x1 = w1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (x1 < w2)
|
|
||||||
x1 = w2;
|
|
||||||
}
|
|
||||||
if (x2 > x1)
|
|
||||||
gr_rect(HUD_SCALE_X (RIGHT_ENERGY_GAUGE_X) + x1, HUD_SCALE_Y (RIGHT_ENERGY_GAUGE_Y) +y , HUD_SCALE_X (RIGHT_ENERGY_GAUGE_X+1) + x2, HUD_SCALE_Y (RIGHT_ENERGY_GAUGE_Y) +y +1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gr_set_current_canvas( NULL );
|
gr_set_current_canvas( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1203,12 +1252,11 @@ void draw_player_ship(int cloak_state,int old_cloak_state,int x, int y)
|
||||||
|
|
||||||
void draw_numerical_display(int shield, int energy)
|
void draw_numerical_display(int shield, int energy)
|
||||||
{
|
{
|
||||||
int dx = NUMERICAL_GAUGE_X, dy = NUMERICAL_GAUGE_Y+1;
|
|
||||||
int sw,sh,saw,ew,eh,eaw;
|
int sw,sh,saw,ew,eh,eaw;
|
||||||
|
|
||||||
gr_set_curfont( GAME_FONT );
|
// gr_set_curfont( GAME_FONT );
|
||||||
PIGGY_PAGE_IN(Gauges[GAUGE_NUMERICAL]);
|
// PIGGY_PAGE_IN(Gauges[GAUGE_NUMERICAL]);
|
||||||
hud_bitblt (dx, dy, &GameBitmaps[Gauges[GAUGE_NUMERICAL].index], F1_0);
|
// hud_bitblt (dx, dy, &GameBitmaps[Gauges[GAUGE_NUMERICAL].index], F1_0);
|
||||||
// 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
|
||||||
gr_set_fontcolor(gr_getcolor(14,14,23),-1 );
|
gr_set_fontcolor(gr_getcolor(14,14,23),-1 );
|
||||||
|
@ -1518,17 +1566,16 @@ void draw_weapon_boxes()
|
||||||
|
|
||||||
void sb_draw_energy_bar(int energy)
|
void sb_draw_energy_bar(int energy)
|
||||||
{
|
{
|
||||||
int erase_height;
|
int erase_height,i;
|
||||||
int ew,eh,eaw;
|
int ew,eh,eaw;
|
||||||
|
|
||||||
PIGGY_PAGE_IN(Gauges[SB_GAUGE_ENERGY]);
|
PIGGY_PAGE_IN(Gauges[SB_GAUGE_ENERGY]);
|
||||||
hud_bitblt( SB_ENERGY_GAUGE_X, SB_ENERGY_GAUGE_Y, &GameBitmaps[Gauges[SB_GAUGE_ENERGY].index], F1_0);
|
hud_bitblt( SB_ENERGY_GAUGE_X, SB_ENERGY_GAUGE_Y, &GameBitmaps[Gauges[SB_GAUGE_ENERGY].index], F1_0);
|
||||||
erase_height = (100 - energy) * SB_ENERGY_GAUGE_H / 100;
|
|
||||||
|
|
||||||
if (erase_height > 0) {
|
erase_height = HUD_SCALE_Y((100 - energy) * SB_ENERGY_GAUGE_H / 100);
|
||||||
gr_setcolor( 0 );
|
gr_setcolor( 0 );
|
||||||
gr_rect(HUD_SCALE_X(SB_ENERGY_GAUGE_X),HUD_SCALE_Y(SB_ENERGY_GAUGE_Y),HUD_SCALE_X(SB_ENERGY_GAUGE_X+SB_ENERGY_GAUGE_W)-1,HUD_SCALE_Y(SB_ENERGY_GAUGE_Y+(erase_height-1)));
|
for (i=0;i<=erase_height;i++)
|
||||||
}
|
gr_uline( i2f(HUD_SCALE_X(SB_ENERGY_GAUGE_X)), i2f(HUD_SCALE_Y(SB_ENERGY_GAUGE_Y)+i), i2f(HUD_SCALE_X(SB_ENERGY_GAUGE_X+(SB_ENERGY_GAUGE_W))), i2f(HUD_SCALE_Y(SB_ENERGY_GAUGE_Y)+i) );
|
||||||
|
|
||||||
gr_set_current_canvas( NULL );
|
gr_set_current_canvas( NULL );
|
||||||
|
|
||||||
|
@ -1983,6 +2030,8 @@ void render_gauges()
|
||||||
draw_weapon_boxes();
|
draw_weapon_boxes();
|
||||||
|
|
||||||
if (Cockpit_mode == CM_FULL_COCKPIT) {
|
if (Cockpit_mode == CM_FULL_COCKPIT) {
|
||||||
|
hud_bitblt (0, 0, &GameBitmaps[cockpit_bitmap[Cockpit_mode].index],F1_0);
|
||||||
|
|
||||||
if (Newdemo_state == ND_STATE_RECORDING && (energy != old_energy))
|
if (Newdemo_state == ND_STATE_RECORDING && (energy != old_energy))
|
||||||
{
|
{
|
||||||
newdemo_record_player_energy(
|
newdemo_record_player_energy(
|
||||||
|
@ -1994,8 +2043,6 @@ void render_gauges()
|
||||||
}
|
}
|
||||||
draw_energy_bar(energy);
|
draw_energy_bar(energy);
|
||||||
|
|
||||||
hud_bitblt (0, 0, &GameBitmaps[cockpit_bitmap[Cockpit_mode].index],F1_0);
|
|
||||||
|
|
||||||
draw_numerical_display(shields, energy);
|
draw_numerical_display(shields, energy);
|
||||||
|
|
||||||
draw_player_ship(cloak, old_cloak, SHIP_GAUGE_X, SHIP_GAUGE_Y);
|
draw_player_ship(cloak, old_cloak, SHIP_GAUGE_X, SHIP_GAUGE_Y);
|
||||||
|
@ -2038,9 +2085,7 @@ void render_gauges()
|
||||||
old_energy = energy;
|
old_energy = energy;
|
||||||
}
|
}
|
||||||
sb_draw_energy_bar(energy);
|
sb_draw_energy_bar(energy);
|
||||||
#ifdef OGL
|
|
||||||
hud_bitblt (0, 147, &GameBitmaps[cockpit_bitmap[Cockpit_mode].index],F1_0);
|
|
||||||
#endif
|
|
||||||
draw_player_ship(cloak, old_cloak, SB_SHIP_GAUGE_X, SB_SHIP_GAUGE_Y);
|
draw_player_ship(cloak, old_cloak, SB_SHIP_GAUGE_X, SB_SHIP_GAUGE_Y);
|
||||||
|
|
||||||
if (Players[Player_num].flags & PLAYER_FLAGS_INVULNERABLE)
|
if (Players[Player_num].flags & PLAYER_FLAGS_INVULNERABLE)
|
||||||
|
|
|
@ -74,5 +74,11 @@ extern rgb player_rgb[];
|
||||||
|
|
||||||
#define GAUGE_HUD_NUMMODES 4
|
#define GAUGE_HUD_NUMMODES 4
|
||||||
|
|
||||||
|
typedef struct span {
|
||||||
|
int l,r;
|
||||||
|
} span;
|
||||||
|
|
||||||
|
extern span weapon_window_left[],weapon_window_right[];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue