version 1.3 | | version 1.4 |
---|
| | |
* Game loop for Inferno | | * Game loop for Inferno |
* | | * |
* $Log$ | | * $Log$ |
| | * Revision 1.4 1999/08/05 22:53:41 sekmu |
| | * |
| | * D3D patch(es) from ADB |
| | * |
* Revision 1.3 1999/07/10 02:59:06 donut | | * Revision 1.3 1999/07/10 02:59:06 donut |
* more from orulz | | * more from orulz |
* | | * |
| | |
grs_canvas VR_screen_pages[2]; // Two pages of VRAM if paging is available | | grs_canvas VR_screen_pages[2]; // Two pages of VRAM if paging is available |
grs_canvas VR_editor_canvas; // The canvas that the editor writes to. | | grs_canvas VR_editor_canvas; // The canvas that the editor writes to. |
| | |
| | //added 07/11/99 by adb: |
| | //added buffer pointer to allow different buffers for 3D game rendering and |
| | //the 2D menus (for DX3D port) |
| | grs_canvas *VR_offscreen_menu = NULL; // The offscreen data buffer for menus |
| | //end additions -- adb |
| | |
int Debug_pause=0; //John's debugging pause system | | int Debug_pause=0; //John's debugging pause system |
| | |
int Cockpit_mode=CM_FULL_COCKPIT; //set game.h for values | | int Cockpit_mode=CM_FULL_COCKPIT; //set game.h for values |
| | |
bm->bm_type = BM_DIRECTX; | | bm->bm_type = BM_DIRECTX; |
bm->bm_rowsize = render_w; | | bm->bm_rowsize = render_w; |
gr_init_bitmap_data (bm); | | gr_init_bitmap_data (bm); |
bm->bm_data = BM_D3D_RENDER; | | (int)bm->bm_data = BM_D3D_RENDER; |
} | | } |
| | |
VR_offscreen_buffer->cv_color = 0; | | VR_offscreen_buffer->cv_color = 0; |
| | |
gr_init_sub_canvas( &VR_render_buffer[0], VR_offscreen_buffer, 0, 0, render_w, render_h ); | | gr_init_sub_canvas( &VR_render_buffer[0], VR_offscreen_buffer, 0, 0, render_w, render_h ); |
gr_init_sub_canvas( &VR_render_buffer[1], VR_offscreen_buffer, 0, 0, render_w, render_h ); | | gr_init_sub_canvas( &VR_render_buffer[1], VR_offscreen_buffer, 0, 0, render_w, render_h ); |
| | |
| | VR_offscreen_menu = gr_create_canvas( 320, 200 ); |
#else | | #else |
if ( (VR_render_mode==VR_AREA_DET) || (VR_render_mode==VR_INTERLACED ) ) { | | if ( (VR_render_mode==VR_AREA_DET) || (VR_render_mode==VR_INTERLACED ) ) { |
if ( render_h*2 < 200 ) | | if ( render_h*2 < 200 ) |
| | |
gr_init_sub_canvas( &VR_render_buffer[0], VR_offscreen_buffer, 0, 0, render_w, render_h ); | | gr_init_sub_canvas( &VR_render_buffer[0], VR_offscreen_buffer, 0, 0, render_w, render_h ); |
gr_init_sub_canvas( &VR_render_buffer[1], VR_offscreen_buffer, 0, 0, render_w, render_h ); | | gr_init_sub_canvas( &VR_render_buffer[1], VR_offscreen_buffer, 0, 0, render_w, render_h ); |
} | | } |
| | VR_offscreen_menu = VR_offscreen_buffer; |
#endif | | #endif |
game_init_render_sub_buffers( 0, 0, render_w, render_h ); | | game_init_render_sub_buffers( 0, 0, render_w, render_h ); |
} | | } |
| | |
} else { | | } else { |
Cockpit_mode = CM_FULL_SCREEN; | | Cockpit_mode = CM_FULL_SCREEN; |
} | | } |
gr_init_sub_canvas( &VR_screen_pages[0], &grd_curscreen->sc_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); | | |
| | { |
| | grs_canvas *game_canvas; |
| | #ifdef D1XD3D |
| | reset_cockpit(); |
| | init_gauges(); |
| | gr_set_current_canvas(VR_offscreen_menu); |
| | gr_setcolor(0); |
| | gr_urect(0, 0, grd_curcanv->cv_bitmap.bm_w - 1, |
| | grd_curcanv->cv_bitmap.bm_h - 1); |
| | game_canvas = VR_offscreen_buffer; |
| | #else |
| | game_canvas = &grd_curscreen->sc_canvas; |
| | #endif |
| | |
| | gr_init_sub_canvas( &VR_screen_pages[0], game_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); |
if ( VR_use_paging ) | | if ( VR_use_paging ) |
gr_init_sub_canvas( &VR_screen_pages[1], &grd_curscreen->sc_canvas, 0, grd_curscreen->sc_h, grd_curscreen->sc_w, grd_curscreen->sc_h ); | | gr_init_sub_canvas( &VR_screen_pages[1], game_canvas, 0, grd_curscreen->sc_h, grd_curscreen->sc_w, grd_curscreen->sc_h ); |
else | | else |
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], game_canvas, 0, 0, grd_curscreen->sc_w, grd_curscreen->sc_h ); |
| | } |
break; | | break; |
#ifdef EDITOR | | #ifdef EDITOR |
case SCREEN_EDITOR: | | case SCREEN_EDITOR: |
| | |
if ( Game_cockpit_copy_code==NULL ) { | | if ( Game_cockpit_copy_code==NULL ) { |
#ifdef D1XD3D | | #ifdef D1XD3D |
Win32_flip_screens (); | | Win32_flip_screens (); |
| | VR_current_page = !VR_current_page; |
#else | | #else |
if ( VR_use_paging ) { | | if ( VR_use_paging ) { |
VR_current_page = !VR_current_page; | | VR_current_page = !VR_current_page; |
| | |
radar_render_frame(); | | radar_render_frame(); |
//end this section - Victor Rachels | | //end this section - Victor Rachels |
| | |
| | #ifndef D1XD3D |
gr_update(); | | gr_update(); |
| | #endif |
} | | } |
| | |
// mprintf(0,"Velocity %2.2f\n", f2fl(vm_vec_mag(&ConsoleObject->phys_info.velocity))); | | // mprintf(0,"Velocity %2.2f\n", f2fl(vm_vec_mag(&ConsoleObject->phys_info.velocity))); |