| 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))); |