version 1.2 | | version 1.3 |
---|
| | |
* Game loop for Inferno | | * Game loop for Inferno |
* | | * |
* $Log$ | | * $Log$ |
| | * Revision 1.3 1999/07/10 02:59:06 donut |
| | * more from orulz |
| | * |
* Revision 1.2 1999/06/14 23:44:11 donut | | * Revision 1.2 1999/06/14 23:44:11 donut |
* Orulz' svgalib/ggi/noerror patches. | | * Orulz' svgalib/ggi/noerror patches. |
* | | * |
| | |
#define cv_w cv_bitmap.bm_w | | #define cv_w cv_bitmap.bm_w |
#define cv_h cv_bitmap.bm_h | | #define cv_h cv_bitmap.bm_h |
| | |
#define LETTERBOX_HEIGHT 140 | | //killed 7/5/99 - Owen Evans for letterbox in high rez |
| | //#define LETTERBOX_HEIGHT 140 |
| | //end killed - OE |
| | |
//added 3/24/99 by Owen Evans for screen res changing | | //added 3/24/99 by Owen Evans for screen res changing |
int Game_screen_mode = 0; | | int Game_screen_mode = 0; |
| | |
//called every time the screen mode or cockpit changes | | //called every time the screen mode or cockpit changes |
void init_cockpit() | | void init_cockpit() |
{ | | { |
int minx, maxx, miny, maxy; | | int minx, maxx, miny, maxy, x, y; |
| | |
//Initialize the on-screen canvases | | //Initialize the on-screen canvases |
| | |
| | if (Screen_mode != SCREEN_GAME) |
| | return; |
| | |
if ( VR_render_mode != VR_NONE ) | | if ( VR_render_mode != VR_NONE ) |
Cockpit_mode = CM_FULL_SCREEN; | | Cockpit_mode = CM_FULL_SCREEN; |
| | |
| | //changed 7/5/99 - Owen Evans for letterbox in hi res |
if ( VR_screen_mode != SM_320x200C ) { // This really should be 'if VR_screen_mode isn't linear' | | if ( VR_screen_mode != SM_320x200C && Cockpit_mode != CM_LETTERBOX) { // This really should be 'if VR_screen_mode isn't linear' |
| | //end changed - OE |
// We can only use cockpit or rearview mode in mode 13h | | // We can only use cockpit or rearview mode in mode 13h |
//if ( (Cockpit_mode==CM_FULL_COCKPIT) || (Cockpit_mode==CM_REAR_VIEW) ) { | | //if ( (Cockpit_mode==CM_FULL_COCKPIT) || (Cockpit_mode==CM_REAR_VIEW) ) { |
// if (Game_window_h > max_window_h) //too big for scalable | | // if (Game_window_h > max_window_h) //too big for scalable |
| | |
break; | | break; |
} | | } |
case CM_FULL_SCREEN: | | case CM_FULL_SCREEN: |
game_init_render_sub_buffers( 0, 0, VR_render_width, VR_render_height ); | | // game_init_render_sub_buffers( 0, 0, VR_render_width, VR_render_height ); |
| | |
| | x = (VR_render_width - Game_window_w) / 2; |
| | y = (VR_render_height - Game_window_h) / 2; |
| | |
| | fill_background (x, y, Game_window_w, Game_window_h, x, y); |
| | |
| | game_init_render_sub_buffers( x, y, Game_window_w, Game_window_h); |
break; | | break; |
| | |
case CM_STATUS_BAR: { | | case CM_STATUS_BAR: { |
| | |
int x,y,w,h; | | int x,y,w,h; |
| | |
x = 0; w = VR_render_width; | | x = 0; w = VR_render_width; |
h = LETTERBOX_HEIGHT; | | //changed 7/5/99 for letterbox in hi res - Owen Evans |
| | //KILLED h = LETTERBOX_HEIGHT; |
| | h = (VR_render_height * 3) / 4; // true letterbox size (16:9) |
| | //end changed - OE |
y = (VR_render_height-h)/2; | | y = (VR_render_height-h)/2; |
| | |
game_init_render_sub_buffers( x, y, w, h ); | | game_init_render_sub_buffers( x, y, w, h ); |
| | |
if (gr_set_mode(MENU_SCREEN_MODE)) Error("Cannot set screen mode for game!"); | | if (gr_set_mode(MENU_SCREEN_MODE)) Error("Cannot set screen mode for game!"); |
gr_palette_load( gr_palette ); | | gr_palette_load( gr_palette ); |
} | | } |
| | |
gr_init_sub_canvas( &VR_screen_pages[0], &grd_curscreen->sc_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); | | gr_init_sub_canvas( &VR_screen_pages[0], &grd_curscreen->sc_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); |
gr_init_sub_canvas( &VR_screen_pages[1], &grd_curscreen->sc_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); | | gr_init_sub_canvas( &VR_screen_pages[1], &grd_curscreen->sc_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); |
break; | | break; |
| | |
| | |
//Added 3/24/99 Owen Evans for res changing in-game | | //Added 3/24/99 Owen Evans for res changing in-game |
if (grd_curscreen->sc_mode != Game_screen_mode) | | if (grd_curscreen->sc_mode != Game_screen_mode) |
if (gr_set_mode(VR_screen_mode)) | | if (gr_set_mode(Game_screen_mode)) |
Error("Cannot set screen mode."); | | Error("Cannot set screen mode."); |
//End section | | //End section |
| | |
if ( VR_render_mode == VR_NONE ) { | | if ( VR_render_mode == VR_NONE ) { |
if ( max_window_h == 0 ) { | | if ( max_window_h == 0 && grd_curscreen->sc_mode == SM_320x200C) { |
max_window_h = grd_curscreen->sc_h - GameBitmaps[cockpit_bitmap[CM_STATUS_BAR].index].bm_h; | | max_window_h = grd_curscreen->sc_h - GameBitmaps[cockpit_bitmap[CM_STATUS_BAR].index].bm_h; |
Game_window_h = max_window_h; | | Game_window_h = max_window_h; |
} else { | | } else if (grd_curscreen->sc_mode == SM_320x200C) { |
max_window_h = grd_curscreen->sc_h - GameBitmaps[cockpit_bitmap[CM_STATUS_BAR].index].bm_h; | | max_window_h = grd_curscreen->sc_h - GameBitmaps[cockpit_bitmap[CM_STATUS_BAR].index].bm_h; |
| | } else { |
| | max_window_h = grd_curscreen->sc_h; |
| | // Game_window_h = max_window_h; |
} | | } |
| | |
} else { | | } else { |
Cockpit_mode = CM_FULL_SCREEN; | | Cockpit_mode = CM_FULL_SCREEN; |
} | | } |
| | |
| | |
gr_set_current_canvas( &VR_screen_pages[VR_current_page] ); | | gr_set_current_canvas( &VR_screen_pages[VR_current_page] ); |
if ( VR_use_paging ) gr_show_canvas( &VR_screen_pages[VR_current_page] ); | | if ( VR_use_paging ) gr_show_canvas( &VR_screen_pages[VR_current_page] ); |
| | |
return 1; | | return 1; |
} | | } |
| | |