From d2365d65f02dfb898ce07d940ade1a88de35f623 Mon Sep 17 00:00:00 2001 From: zicodxx <> Date: Thu, 20 Mar 2008 23:23:46 +0000 Subject: [PATCH] Simplification of palette code; Properly screen clearing in SDL-only build when palette changes; Removed obsolete functions like gr_update (replaced by gr_flip), gr_palette_fade_in/out, gr_palette_clear; Added functionality to render Automap while menu display as well; Improved blocking of some controls code while Automap active; Fixed some compiler warnings --- 2d/palette.c | 12 +--- CHANGELOG.txt | 4 ++ arch/ogl/gr.c | 51 +++---------- arch/sdl/gr.c | 180 ++++++---------------------------------------- include/gr.h | 7 -- include/palette.h | 6 +- main/automap.c | 9 +-- main/automap.h | 1 + main/collide.c | 1 - main/credits.c | 7 +- main/editor/med.c | 3 - main/endlevel.c | 5 -- main/escort.c | 7 -- main/game.c | 31 +------- main/gamecntl.c | 1 - main/gamepal.c | 34 +-------- main/gamepal.h | 5 -- main/gamerend.c | 10 --- main/gameseq.c | 97 +------------------------ main/gauges.c | 8 +-- main/inferno.c | 1 - main/kconfig.c | 25 +++---- main/kmatrix.c | 25 +------ main/menu.c | 11 --- main/menu.h | 1 + main/movie.c | 10 +-- main/network.c | 159 ++++++++++++++++++++-------------------- main/newmenu.c | 47 +++--------- main/newmenu.h | 2 +- main/paging.c | 14 ---- main/scores.c | 1 - main/switch.c | 1 - main/titles.c | 46 ++---------- ui/file.c | 2 - ui/keypress.c | 2 - ui/menu.c | 2 - ui/menubar.c | 2 - ui/message.c | 2 - ui/number.c | 2 - ui/popup.c | 2 - 40 files changed, 160 insertions(+), 676 deletions(-) diff --git a/2d/palette.c b/2d/palette.c index 8eb0fc4a8..848f3b26c 100644 --- a/2d/palette.c +++ b/2d/palette.c @@ -1,4 +1,3 @@ -/* $Id: palette.c,v 1.1.1.1 2006/03/17 19:51:53 zicodxx Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -13,6 +12,7 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ /* + * * Graphical routines for setting the palette * */ @@ -33,10 +33,6 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "error.h" #include "mono.h" #include "fix.h" -//added/remove by dph on 1/9/99 -//#include "key.h" -//end remove - #include "palette.h" extern int gr_installed; @@ -59,20 +55,16 @@ ubyte gr_fade_table[256*34]; ubyte gr_palette_gamma = 0; int gr_palette_gamma_param = 0; -ubyte gr_palette_faded_out = 1; void gr_palette_set_gamma( int gamma ) { if ( gamma < 0 ) gamma = 0; -//added/changed on 10/27/98 by Victor Rachels to increase brightness slider if ( gamma > 16 ) gamma = 16; //was 8 -//end this section change - Victor Rachels if (gr_palette_gamma_param != gamma ) { gr_palette_gamma_param = gamma; gr_palette_gamma = gamma; - if (!gr_palette_faded_out) - gr_palette_load( gr_palette ); + gr_palette_load( gr_palette ); } } diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 5551df8b7..c22c2d9c8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D2X-Rebirth Changelog +20080321 +-------- +2s/palette.c, arch/ogl/gr.c, arch/ogl/ogl.c, arch/sdl/gr.c, include/gr.h, include/palette.h, main/automap.c, main/automap.h, main/collide.c, main/credits.c, main/editor/med.c, main/endlevel.c, main/escort.c, main/game.c, main/gamecntl.c, main/gamepal.c, main/gamepal.h, main/gamerend.c, main/gameseq.c, main/gauges.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/menu.h, main/network.c, main/newmenu.c, main/newmenu.h, main/paging.c, main/scores.c, main/switch.c, main/titles.c, ui/file.c, ui/keypress.c, ui/menu.c, ui/menubar.c, ui/message.c, ui/number.c, ui/popup.c: Simplification of palette code; Properly screen clearing in SDL-only build when palette changes; Removed obsolete functions like gr_update (replaced by gr_flip), gr_palette_fade_in/out, gr_palette_clear; Added functionality to render Automap while menu display as well; Improved blocking of some controls code while Automap active; Fixed some compiler warnings + 20080319 -------- d2x-rebirth.xcodeproj: update d2x.xcode to build universal binaries (requires Xcode 2.1 or greater), update source file list diff --git a/arch/ogl/gr.c b/arch/ogl/gr.c index 32ccb26bc..5be4fefdf 100644 --- a/arch/ogl/gr.c +++ b/arch/ogl/gr.c @@ -58,8 +58,6 @@ int gr_installed = 0; int gl_initialized=0; int ogl_fullscreen; -void gr_palette_clear(); // Function prototype for gr_init; - int gr_check_fullscreen(void){ return ogl_fullscreen; } @@ -111,10 +109,6 @@ void ogl_init_state(void){ ogl_init_pixel_buffers(grd_curscreen->sc_w, grd_curscreen->sc_h); } -void gr_update() -{ -} - // Set the buffer to draw to. 0 is front, 1 is back void gr_set_draw_buffer(int buf) { @@ -211,8 +205,6 @@ int gr_set_mode(u_int32_t mode) ogl_init_state(); gamefont_choose_game_font(w,h); - gr_update(); - return 0; } @@ -389,18 +381,14 @@ int do_pal_step=0; void ogl_do_palfx(void){ OGL_DISABLE(TEXTURE_2D); - if (gr_palette_faded_out){ - glColor3f(0,0,0); - }else{ - if (do_pal_step){ - glEnable(GL_BLEND); - glBlendFunc(GL_ONE,GL_ONE); - glColor3f(last_r,last_g,last_b); - }else - return; - } - - + + if (do_pal_step){ + glEnable(GL_BLEND); + glBlendFunc(GL_ONE,GL_ONE); + glColor3f(last_r,last_g,last_b); + }else + return; + glBegin(GL_QUADS); glVertex2f(0,0); glVertex2f(0,1); @@ -412,21 +400,12 @@ void ogl_do_palfx(void){ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); } -void gr_palette_clear() -{ - gr_palette_faded_out=1; -} - - int ogl_brightness_ok = 0; int ogl_brightness_r = 0, ogl_brightness_g = 0, ogl_brightness_b = 0; static int old_b_r = 0, old_b_g = 0, old_b_b = 0; void gr_palette_step_up(int r, int g, int b) { - if (gr_palette_faded_out) - return; - old_b_r = ogl_brightness_r; old_b_g = ogl_brightness_g; old_b_b = ogl_brightness_b; @@ -461,25 +440,11 @@ void gr_palette_load( ubyte *pal ) if (gr_current_pal[i] > 63) gr_current_pal[i] = 63; } - gr_palette_faded_out=0; - gr_palette_step_up(0, 0, 0); // make ogl_setbrightness_internal get run so that menus get brightened too. init_computed_colors(); } -int gr_palette_fade_out(ubyte *pal, int nsteps, int allow_keys) -{ - gr_palette_faded_out=1; - return 0; -} - -int gr_palette_fade_in(ubyte *pal, int nsteps, int allow_keys) -{ - gr_palette_faded_out=0; - return 0; -} - void gr_palette_read(ubyte * pal) { int i; diff --git a/arch/sdl/gr.c b/arch/sdl/gr.c index 76a097642..625add634 100644 --- a/arch/sdl/gr.c +++ b/arch/sdl/gr.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #ifdef SDL_IMAGE #include @@ -95,10 +96,7 @@ void BlitRotatedSurface(SDL_Surface *from, SDL_Surface *to) } #endif -void gr_palette_clear(); // Function prototype for gr_init; - - -void gr_update() +void gr_flip() { #ifdef LANDSCAPE screen2 = SDL_DisplayFormat(screen); @@ -111,11 +109,6 @@ void gr_update() #endif } -void gr_flip(void) -{ - gr_update(); -} - // Set the buffer to draw to. 0 is front, 1 is back // With SDL, can't use it without resetting the video mode void gr_set_draw_buffer(int buf) @@ -149,8 +142,6 @@ int gr_set_mode(u_int32_t mode) w=SM_W(mode); h=SM_H(mode); - if (screen != NULL) gr_palette_clear(); - //added on 11/06/98 by Matt Mueller to set the title bar. (moved from below) //sekmu: might wanna copy this litte blurb to one of the text files or something //we want to set it here so that X window manager "Style" type commands work @@ -208,6 +199,7 @@ int gr_set_mode(u_int32_t mode) //--moved up--end addition -MM gamefont_choose_game_font(w,h); + gr_palette_load(gr_palette); return 0; } @@ -279,25 +271,7 @@ void gr_close() static int last_r=0, last_g=0, last_b=0; -void gr_palette_clear() -{ - SDL_Palette *palette; - SDL_Color colors[256]; - int ncolors; - palette = screen->format->palette; - - if (palette == NULL) { - return; // Display is not palettised - } - - ncolors = palette->ncolors; - memset(colors, 0, ncolors * sizeof(SDL_Color)); - - SDL_SetColors(screen, colors, 0, 256); - - gr_palette_faded_out = 1; -} void gr_palette_step_up( int r, int g, int b ) @@ -309,8 +283,6 @@ void gr_palette_step_up( int r, int g, int b ) SDL_Palette *palette; SDL_Color colors[256]; - if (gr_palette_faded_out) return; - if ( (r==last_r) && (g==last_g) && (b==last_b) ) return; last_r = r; @@ -352,158 +324,46 @@ void gr_palette_load( ubyte *pal ) int i, j; SDL_Palette *palette; SDL_Color colors[256]; + ubyte gamma[64]; + + if (memcmp(pal,gr_current_pal,768)) + SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0)); for (i=0; i<768; i++ ) { gr_current_pal[i] = pal[i]; if (gr_current_pal[i] > 63) gr_current_pal[i] = 63; } + if (screen == NULL) { + return; + } + palette = screen->format->palette; if (palette == NULL) { return; // Display is not palettised } + for (i=0;i<64;i++) + gamma[i] = (int)((pow(((double)(14)/(double)(32)), 1.0)*i) + 0.5); + for (i = 0, j = 0; j < 256; j++) { + int c; + c = gr_find_closest_color(gamma[gr_palette[j*3]],gamma[gr_palette[j*3+1]],gamma[gr_palette[j*3+2]]); + gr_fade_table[14*256+j] = c; //changed on 980913 by adb to fix palette problems colors[j].r = (min(gr_current_pal[i++] + gr_palette_gamma, 63)) * 4; colors[j].g = (min(gr_current_pal[i++] + gr_palette_gamma, 63)) * 4; colors[j].b = (min(gr_current_pal[i++] + gr_palette_gamma, 63)) * 4; //end changes by adb } + SDL_SetColors(screen, colors, 0, 256); - - gr_palette_faded_out = 0; +// SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0)); init_computed_colors(); + gr_remap_color_fonts(); } - - -int gr_palette_fade_out(ubyte *pal, int nsteps, int allow_keys) -{ - int i, j, k; - ubyte c; - fix fade_palette[768]; - fix fade_palette_delta[768]; - - SDL_Palette *palette; - SDL_Color fade_colors[256]; - - if (gr_palette_faded_out) return 0; - - palette = screen->format->palette; - if (palette == NULL) { - return -1; // Display is not palettised - } - - if (pal==NULL) pal=gr_current_pal; - - for (i=0; i<768; i++ ) { - gr_current_pal[i] = pal[i]; - fade_palette[i] = i2f(pal[i]); - fade_palette_delta[i] = fade_palette[i] / nsteps; - } - for (j=0; j i2f(pal[i] + gr_palette_gamma) ) - fade_palette[i] = i2f(pal[i] + gr_palette_gamma); - c = f2i(fade_palette[i]); - if (c > 63) c = 63; - fade_colors[k].r = c * 4; - i++; - - fade_palette[i] -= fade_palette_delta[i]; - if (fade_palette[i] > i2f(pal[i] + gr_palette_gamma) ) - fade_palette[i] = i2f(pal[i] + gr_palette_gamma); - c = f2i(fade_palette[i]); - if (c > 63) c = 63; - fade_colors[k].g = c * 4; - i++; - - fade_palette[i] -= fade_palette_delta[i]; - if (fade_palette[i] > i2f(pal[i] + gr_palette_gamma) ) - fade_palette[i] = i2f(pal[i] + gr_palette_gamma); - c = f2i(fade_palette[i]); - if (c > 63) c = 63; - fade_colors[k].b = c * 4; - i++; - } - - SDL_SetColors(screen, fade_colors, 0, 256); - } - - gr_palette_faded_out = 1; - return 0; -} - - - -int gr_palette_fade_in(ubyte *pal, int nsteps, int allow_keys) -{ - int i, j, k, ncolors; - ubyte c; - fix fade_palette[768]; - fix fade_palette_delta[768]; - - SDL_Palette *palette; - SDL_Color fade_colors[256]; - - if (!gr_palette_faded_out) return 0; - - palette = screen->format->palette; - - if (palette == NULL) { - return -1; // Display is not palettised - } - - ncolors = palette->ncolors; - - for (i=0; i<768; i++ ) { - gr_current_pal[i] = pal[i]; - fade_palette[i] = 0; - fade_palette_delta[i] = i2f(pal[i]) / nsteps; - } - - for (j=0; j i2f(pal[i] + gr_palette_gamma) ) - fade_palette[i] = i2f(pal[i] + gr_palette_gamma); - c = f2i(fade_palette[i]); - if (c > 63) c = 63; - fade_colors[k].r = c * 4; - i++; - - fade_palette[i] += fade_palette_delta[i]; - if (fade_palette[i] > i2f(pal[i] + gr_palette_gamma) ) - fade_palette[i] = i2f(pal[i] + gr_palette_gamma); - c = f2i(fade_palette[i]); - if (c > 63) c = 63; - fade_colors[k].g = c * 4; - i++; - - fade_palette[i] += fade_palette_delta[i]; - if (fade_palette[i] > i2f(pal[i] + gr_palette_gamma) ) - fade_palette[i] = i2f(pal[i] + gr_palette_gamma); - c = f2i(fade_palette[i]); - if (c > 63) c = 63; - fade_colors[k].b = c * 4; - i++; - } - - SDL_SetColors(screen, fade_colors, 0, 256); - } - //added on 980913 by adb to fix palette problems - gr_palette_load(pal); - //end changes by adb - - gr_palette_faded_out = 0; - return 0; -} - - - void gr_palette_read(ubyte * pal) { SDL_Palette *palette; diff --git a/include/gr.h b/include/gr.h index 329b1d43b..ed8386c5d 100644 --- a/include/gr.h +++ b/include/gr.h @@ -168,12 +168,6 @@ int gr_init_screen(int mode, int w, int h, int x, int y, int rowsize, ubyte *dat int gr_check_mode(u_int32_t mode); int gr_set_mode(u_int32_t mode); - -// These 4 functions actuall change screen colors. - -extern void gr_pal_fade_out(unsigned char * pal); -extern void gr_pal_fade_in(unsigned char * pal); -extern void gr_pal_clear(void); extern void gr_pal_setblock( int start, int number, unsigned char * pal ); extern void gr_pal_getblock( int start, int number, unsigned char * pal ); @@ -428,7 +422,6 @@ extern void gr_merge_textures_1( ubyte * lower, ubyte * upper, ubyte * dest ); extern void gr_merge_textures_2( ubyte * lower, ubyte * upper, ubyte * dest ); extern void gr_merge_textures_3( ubyte * lower, ubyte * upper, ubyte * dest ); -extern void gr_update(void); extern void gr_flip(void); extern void gr_set_draw_buffer(int buf); diff --git a/include/palette.h b/include/palette.h index a9c8a800f..2029df38c 100644 --- a/include/palette.h +++ b/include/palette.h @@ -1,4 +1,3 @@ -/* $Id: palette.h,v 1.1.1.1 2006/03/17 20:01:26 zicodxx Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -11,6 +10,7 @@ CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ + /* * * Protoypes for palette functions @@ -25,17 +25,13 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. extern void gr_palette_set_gamma( int gamma ); extern int gr_palette_get_gamma(); -extern ubyte gr_palette_faded_out; extern void gr_palette_clear(); -extern int gr_palette_fade_out(ubyte *pal, int nsteps, int allow_keys ); -extern int gr_palette_fade_in(ubyte *pal,int nsteps, int allow_keys ); extern void gr_palette_load( ubyte * pal ); extern void gr_make_cthru_table(ubyte * table, ubyte r, ubyte g, ubyte b ); extern void gr_make_blend_table(ubyte *blend_table, ubyte r, ubyte g, ubyte b); extern int gr_find_closest_color_current( int r, int g, int b ); extern void gr_palette_read(ubyte * palette); extern void init_computed_colors(void); - extern ubyte gr_palette_gamma; extern ubyte gr_current_pal[256*3]; diff --git a/main/automap.c b/main/automap.c index 3813a9fb0..1df3ee6fc 100644 --- a/main/automap.c +++ b/main/automap.c @@ -526,8 +526,6 @@ void draw_automap(int flip) if (flip) gr_flip(); - else - gr_update(); } #define LEAVE_TIME 0x4000 @@ -579,9 +577,6 @@ void do_automap( int key_code ) { gr_set_current_canvas(NULL); - gr_palette_clear(); - - automap_build_edge_list(); if ( ViewDist==0 ) @@ -635,7 +630,7 @@ void do_automap( int key_code ) { Controls = saved_control_info; } - controls_read_all(); + controls_read_all(); if ( Controls.automap_down_count ) { if (leave_mode==0) @@ -734,7 +729,7 @@ void do_automap( int key_code ) { MarkerMessage[HighlightMarker][0]=0; HighlightMarker = -1; } - set_screen_mode(SCREEN_GAME); + set_screen_mode(SCREEN_GAME); } break; diff --git a/main/automap.h b/main/automap.h index 6fb37c762..b8f79b4c7 100644 --- a/main/automap.h +++ b/main/automap.h @@ -25,6 +25,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. extern void do_automap(int key_code); extern void automap_clear_visited(); +extern void draw_automap(int flip); extern ubyte Automap_visited[MAX_SEGMENTS]; void DropBuddyMarker(object *objp); extern int Automap_active; diff --git a/main/collide.c b/main/collide.c index 7f0af66da..9912c05fe 100644 --- a/main/collide.c +++ b/main/collide.c @@ -1304,7 +1304,6 @@ void do_final_boss_frame(void) if (Final_boss_countdown_time > 0) return; - gr_palette_fade_out( gr_palette, 256, 0 ); start_endlevel_sequence(); //pretend we hit the exit trigger } diff --git a/main/credits.c b/main/credits.c index 8d9602741..9dd342711 100644 --- a/main/credits.c +++ b/main/credits.c @@ -91,9 +91,7 @@ void credits_show() } set_screen_mode(SCREEN_MENU); - gr_palette_fade_out( gr_palette,32,0); gr_use_palette_table( "credits.256" ); - gr_remap_color_fonts(); backdrop.bm_data=NULL; pcx_error = pcx_read_bitmap(CREDITS_BACKGROUND_FILENAME,&backdrop, BM_LINEAR,backdrop_palette); @@ -108,8 +106,7 @@ void credits_show() gr_set_current_canvas(NULL); show_fullscr(&backdrop); - gr_palette_fade_in( gr_palette, 32, 0 ); - + gr_palette_load( gr_palette ); CreditsOffscreenBuf = gr_create_sub_canvas(grd_curcanv,0,0,SWIDTH,SHEIGHT); if (!CreditsOffscreenBuf) @@ -186,8 +183,6 @@ get_line:; y += ROW_SPACING; } - gr_update(); - timer_delay2(25); //see if redbook song needs to be restarted diff --git a/main/editor/med.c b/main/editor/med.c index 92b97054c..f37b93c8c 100644 --- a/main/editor/med.c +++ b/main/editor/med.c @@ -1372,9 +1372,6 @@ void editor(void) } else { ui_mouse_show(); } - - gr_update(); - } // _MARK_("end of editor");//Nuked to compile -KRB diff --git a/main/endlevel.c b/main/endlevel.c index 3ee9f8948..4f925088a 100644 --- a/main/endlevel.c +++ b/main/endlevel.c @@ -362,9 +362,6 @@ void start_endlevel_sequence() } } - //don't have movie or rendered sequence, fade out - gr_palette_fade_out(gr_palette, 32, 0); - PlayerFinishedLevel(0); //done with level } @@ -538,8 +535,6 @@ void stop_endlevel_sequence() { Interpolation_method = 0; - gr_palette_fade_out(gr_palette, 32, 0); - select_cockpit(cockpit_mode_save); Endlevel_sequence = EL_OFF; diff --git a/main/escort.c b/main/escort.c index 8dfb02949..7dbe2b99e 100644 --- a/main/escort.c +++ b/main/escort.c @@ -64,10 +64,6 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "editor/editor.h" #endif -#ifdef OGL -#include "ogl_init.h" -#endif - extern void multi_send_stolen_items(); void say_escort_goal(int goal_num); void show_escort_menu(char *msg); @@ -1866,10 +1862,8 @@ void do_escort_menu(void) show_escort_menu(msg); //TXT_PAUSE); while (paused) { -#ifdef OGL gr_flip(); show_escort_menu(msg); //TXT_PAUSE); -#endif key = key_inkey(); switch (key) { @@ -1960,7 +1954,6 @@ void show_escort_menu(char *msg) nm_draw_background(x-BORDERX,y-BORDERY,x+w+BORDERX,y+h+BORDERY); gr_ustring( x, y, msg ); - gr_update(); reset_cockpit(); } diff --git a/main/game.c b/main/game.c index 1385112b0..75983576c 100644 --- a/main/game.c +++ b/main/game.c @@ -263,7 +263,6 @@ void reset_palette_add() PaletteRedAdd = 0; PaletteGreenAdd = 0; PaletteBlueAdd = 0; - //gr_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); } @@ -1008,8 +1007,6 @@ void PALETTE_FLASH_ADD(int _dr,int _dg,int _db) fix Time_flash_last_played; - -void game_palette_step_up( int r, int g, int b ); // ------------------------------------------------------------------------------------ // Diminish palette effects towards normal. void diminish_palette_towards_normal(void) @@ -1049,7 +1046,7 @@ void diminish_palette_towards_normal(void) if ( (Newdemo_state==ND_STATE_RECORDING) && (PaletteRedAdd || PaletteGreenAdd || PaletteBlueAdd) ) newdemo_record_palette_effect(PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd); - game_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); + gr_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); return; } @@ -1068,7 +1065,7 @@ void diminish_palette_towards_normal(void) if ( (Newdemo_state==ND_STATE_RECORDING) && (PaletteRedAdd || PaletteGreenAdd || PaletteBlueAdd) ) newdemo_record_palette_effect(PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd); - game_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); + gr_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); //mprintf(0, "%2i %2i %2i\n", PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd); } @@ -1080,21 +1077,10 @@ void palette_save(void) Redsave = PaletteRedAdd; Bluesave = PaletteBlueAdd; Greensave = PaletteGreenAdd; } -extern void gr_palette_step_up_vr( int r, int g, int b, int white, int black ); - -void game_palette_step_up( int r, int g, int b ) -{ - if ( VR_use_reg_code ) { -// gr_palette_step_up_vr( r, g, b, VR_WHITE_INDEX, VR_BLACK_INDEX ); - } else { - gr_palette_step_up( r, g, b ); - } -} - void palette_restore(void) { PaletteRedAdd = Redsave; PaletteBlueAdd = Bluesave; PaletteGreenAdd = Greensave; - game_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); + gr_palette_step_up( PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd ); // Forces flash effect to fixup palette next frame. Time_flash_last_played = 0; @@ -1530,17 +1516,6 @@ void game() if ( Newdemo_state == ND_STATE_PLAYBACK ) newdemo_stop_playback(); - if (Function_mode != FMODE_EDITOR) - gr_palette_fade_out(gr_palette,32,0); // Fade out before going to menu - -//@@ if ( (!demo_playing) && (!multi_game) && (Function_mode != FMODE_EDITOR)) { -//@@ scores_maybe_add_player(Game_aborted); -//@@ } - -#ifdef __MSDOS__ - //_MARK_("end of game"); -#endif - clear_warn_func(game_show_warning); //don't use this func anymore game_disable_cheats(); diff --git a/main/gamecntl.c b/main/gamecntl.c index 1e7f5e2e9..b0ee09715 100644 --- a/main/gamecntl.c +++ b/main/gamecntl.c @@ -453,7 +453,6 @@ int do_game_pause() sprintf(msg,"PAUSE\n\nSkill level: %s\nHostages on board: %d\n",(*(&TXT_DIFFICULTY_1 + (Difficulty_level))),Players[Player_num].hostages_on_board); Game_paused=1; show_boxed_message(msg, 1); - gr_update(); while (Game_paused) { diff --git a/main/gamepal.c b/main/gamepal.c index a7f4ffbd3..56b032589 100644 --- a/main/gamepal.c +++ b/main/gamepal.c @@ -24,7 +24,6 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include #include -#include #include "fix.h" #include "vecmat.h" @@ -32,7 +31,6 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "3d.h" #include "palette.h" #include "rle.h" - #include "inferno.h" #include "gamepal.h" #include "mission.h" @@ -48,34 +46,6 @@ extern int Color_0_31_0, HUD_color; char last_palette_loaded[FILENAME_LEN]=""; char last_palette_loaded_pig[FILENAME_LEN]=""; -ubyte last_palette_for_color_fonts[768]; - -void remap_fonts_and_menus(int do_fadetable_hack) -{ - nm_remap_background(); - gr_remap_color_fonts(); - - if (do_fadetable_hack) { - int i; - float g = 1.0; - double intensity; - ubyte gamma[64]; - - intensity = (double)(14)/(double)(32); - for (i=0;i<64;i++) - gamma[i] = (int)((pow(intensity, 1.0/g)*i) + 0.5); - for (i=0;i<256;i++) { - int c; - c = gr_find_closest_color(gamma[gr_palette[i*3]],gamma[gr_palette[i*3+1]],gamma[gr_palette[i*3+2]]); - gr_fade_table[14*256+i] = c; - } - } - - memcpy(last_palette_for_color_fonts,gr_palette,sizeof(last_palette_for_color_fonts)); -} - -extern grs_bitmap nm_background; - //load a palette by name. returns 1 if new palette loaded, else 0 //if used_for_level is set, load pig, etc. //if no_change_screen is set, the current screen does not get remapped, @@ -117,10 +87,10 @@ int load_palette(char *name,int used_for_level,int no_change_screen) if (Function_mode == FMODE_GAME && !no_change_screen) gr_remap_bitmap_good( &grd_curscreen->sc_canvas.cv_bitmap, old_pal, -1, -1 ); - if (!gr_palette_faded_out && !no_change_screen) + if (!no_change_screen) gr_palette_load(gr_palette); - remap_fonts_and_menus(0); + newmenu_close(); // palette changed! free menu! Color_0_31_0 = -1; //for gauges HUD_color = -1; diff --git a/main/gamepal.h b/main/gamepal.h index 0e4613b3b..ab10c5f9a 100644 --- a/main/gamepal.h +++ b/main/gamepal.h @@ -34,9 +34,4 @@ extern char Current_level_palette[FILENAME_LEN]; // remapped, and the hardware palette does not get changed int load_palette(char *name, int used_for_level, int no_change_screen); -extern ubyte last_palette_for_color_fonts[768]; - -// remap color font & menu background into the current palette -void remap_fonts_and_menus(int do_fadetable_hack); - #endif /* _GAMEPAL_H */ diff --git a/main/gamerend.c b/main/gamerend.c index 0c647175c..82ed579d2 100644 --- a/main/gamerend.c +++ b/main/gamerend.c @@ -794,8 +794,6 @@ void game_render_frame_mono(int flip) if (flip) gr_flip(); - else - gr_update(); } void toggle_cockpit() @@ -898,11 +896,6 @@ void game_render_frame() if (VR_render_mode == VR_NONE ) game_render_frame_mono(GameArg.DbgUseDoubleBuffer); - // Make sure palette is faded in - stop_time(); - gr_palette_fade_in( gr_palette, 32, 0 ); - start_time(); - FrameCount++; } @@ -948,8 +941,5 @@ void show_boxed_message(char *msg, int RenderFlag) nm_draw_background(x-BORDERX,y-BORDERY,x+w+BORDERX,y+h+BORDERY); gr_printf( 0x8000, y, msg ); - gr_update(); -#ifdef OGL gr_flip(); -#endif } diff --git a/main/gameseq.c b/main/gameseq.c index e5de7ecaa..234fcb0f6 100644 --- a/main/gameseq.c +++ b/main/gameseq.c @@ -122,13 +122,11 @@ char gameseq_rcsid[] = "$Id: gameseq.c,v 1.1.1.1 2006/03/17 19:57:54 zicodxx Exp void StartNewLevelSecret(int level_num, int page_in_textures); void InitPlayerPosition(int random_flag); -void load_stars(); void returning_to_level_message(void); void advancing_to_level_message(void); void DoEndGame(void); void AdvanceLevel(int secret_flag); void filter_objects_from_level(); -void nm_draw_background1(char * filename); //Current_level_num starts at 1 for the first level //-1,-2,-3 are secret levels @@ -710,9 +708,6 @@ int RegisterPlayer() char filename[14]; int allow_abort_flag = 1; - set_screen_mode(SCREEN_MENU); - nm_draw_background1(Menu_pcx_name); - if ( Players[Player_num].callsign[0] == 0 ) { //--------------------------------------------------------------------- // Set default config options in case there is no config file @@ -785,18 +780,6 @@ void LoadLevel(int level_num,int page_in_textures) Last_msg_ycrd = -1; //so we don't restore backgound under msg -// WIN(LoadCursorWin(MOUSE_WAIT_CURSOR)); -// WIN(ShowCursorW()); - -#if 1 //def OGL - gr_palette_load(gr_palette); - show_boxed_message(TXT_LOADING, 0); - gr_update(); -#else - show_boxed_message(TXT_LOADING, 0); - gr_palette_load(gr_palette); -#endif - load_ret = load_level(level_name); //actually load the data from disk! if (load_ret) @@ -804,10 +787,11 @@ void LoadLevel(int level_num,int page_in_textures) Current_level_num=level_num; -// load_palette_pig(Current_level_palette); //load just the pig - load_palette(Current_level_palette,1,1); //don't change screen + show_boxed_message(TXT_LOADING, 0); + timer_delay2(1); + load_endlevel_data(level_num); if (EMULATING_D1) @@ -923,8 +907,6 @@ void StartNewGame(int start_level) extern int network_endlevel_poll2( int nitems, newmenu_item * menus, int * key, int citem ); // network.c #endif -#define STARS_BACKGROUND ((HIRESMODE && cfexist("starsb.pcx"))?"starsb.pcx":cfexist("stars.pcx")?"stars.pcx":"starsb.pcx") - // ----------------------------------------------------------------------------- // Does the bonus scoring. // Call with dead_flag = 1 if player died, but deserves some portion of bonus (only skill points), anyway. @@ -1020,8 +1002,6 @@ void DoEndLevelScoreGlitz(int network) Assert(c <= N_GLITZITEMS); - gr_palette_fade_out(gr_palette, 32, 0); - mprintf((0,"doing menu\n")); #ifdef NETWORK @@ -1035,12 +1015,6 @@ void DoEndLevelScoreGlitz(int network) mprintf((0,"done DoEndLevelScoreGlitz\n")); } -//give the player the opportunity to save his game -void DoEndlevelMenu() -{ -//No between level saves......!!! state_save_all(1); -} - // ----------------------------------------------------------------------------------------------------- //called when the player is starting a level (new game or new ship) void StartSecretLevel() @@ -1092,7 +1066,6 @@ void do_secret_message(char *msg) { int old_fmode; - load_stars(); old_fmode = Function_mode; Function_mode = FMODE_MENU; nm_messagebox(NULL, 1, TXT_OK, msg); @@ -1124,7 +1097,6 @@ void StartNewLevelSecret(int level_num, int page_in_textures) newdemo_record_start_frame(FrameCount, FrameTime ); } else if (Newdemo_state != ND_STATE_PLAYBACK) { - gr_palette_fade_out(gr_palette, 32, 0); set_screen_mode(SCREEN_MENU); if (First_secret_visit) { @@ -1309,7 +1281,6 @@ void EnterSecretLevel(void) // briefings if (EMULATING_D1) { - gr_palette_fade_out(gr_palette, 32, 0); set_screen_mode(SCREEN_MENU); do_secret_message("Alternate Exit Found!\n\nProceeding to Secret Level!"); StartNewLevel(Next_level_num, 0); @@ -1414,7 +1385,6 @@ void DoEndGame(void) if (PLAYING_BUILTIN_MISSION && !((Game_mode & GM_MULTI) && !(Game_mode & GM_MULTI_COOP))) { gr_set_current_canvas( NULL ); gr_clear_canvas(BM_XRGB(0,0,0)); - gr_palette_clear(); load_palette(D2_DEFAULT_PALETTE,0,1); scores_maybe_add_player(0); } @@ -1486,61 +1456,12 @@ void AdvanceLevel(int secret_flag) Next_level_num = Current_level_num+1; //assume go to next normal level } // END NMN - if (!(Game_mode & GM_MULTI)) - DoEndlevelMenu(); // Let use save their game StartNewLevel(Next_level_num, 0); } } -#ifdef MACINTOSH // horrible hack of a routine to load just the palette from the stars.pcx file - -extern char last_palette_loaded[]; - -void load_stars_palette() -{ - int pcx_error; - ubyte pal[256*3]; - - pcx_error = pcx_read_bitmap_palette(STARS_BACKGROUND,pal); - Assert(pcx_error == PCX_ERROR_NONE); - - //@@gr_remap_bitmap_good( bmp, pal, -1, -1 ); - - - { //remap stuff. this code is kindof a hack - - //now, before we bring up the menu, we need to - //do some stuff to make sure the palette is ok. First, we need to - //get our current palette into the 2d's array, so the remapping will - //work. Second, we need to remap the fonts. Third, we need to fill - //in part of the fade tables so the darkening of the menu edges works - - gr_copy_palette(gr_palette, pal, sizeof(gr_palette)); - remap_fonts_and_menus(1); - - } - - strcpy(last_palette_loaded,""); //force palette load next time -} -#endif - -void load_stars() -{ -//@@ int pcx_error; -//@@ ubyte pal[256*3]; -//@@ -//@@ pcx_error = pcx_read_bitmap("STARS.PCX",&grd_curcanv->cv_bitmap,grd_curcanv->cv_bitmap.bm_type,pal); -//@@ Assert(pcx_error == PCX_ERROR_NONE); -//@@ -//@@ gr_remap_bitmap_good( &grd_curcanv->cv_bitmap, pal, -1, -1 ); - - nm_draw_background1(STARS_BACKGROUND); - -} - - void died_in_mine_message(void) { @@ -1550,14 +1471,10 @@ died_in_mine_message(void) if (Game_mode & GM_MULTI) return; - gr_palette_fade_out(gr_palette, 32, 0); - set_screen_mode(SCREEN_MENU); //go into menu mode gr_set_current_canvas(NULL); - load_stars(); - old_fmode = Function_mode; Function_mode = FMODE_MENU; nm_messagebox(NULL, 1, TXT_OK, TXT_DIED_IN_MINE); @@ -1574,14 +1491,10 @@ void returning_to_level_message(void) if (Game_mode & GM_MULTI) return; - gr_palette_fade_out(gr_palette, 32, 0); - set_screen_mode(SCREEN_MENU); //go into menu mode gr_set_current_canvas(NULL); - load_stars(); - old_fmode = Function_mode; Function_mode = FMODE_MENU; sprintf(msg, "Returning to level %i", Entered_from_level); @@ -1602,14 +1515,10 @@ void advancing_to_level_message(void) if (Game_mode & GM_MULTI) return; - gr_palette_fade_out(gr_palette, 32, 0); - set_screen_mode(SCREEN_MENU); //go into menu mode gr_set_current_canvas(NULL); - load_stars(); - old_fmode = Function_mode; Function_mode = FMODE_MENU; sprintf(msg, "Base level destroyed.\nAdvancing to level %i", Entered_from_level+1); diff --git a/main/gauges.c b/main/gauges.c index 8af889ffc..046428a22 100644 --- a/main/gauges.c +++ b/main/gauges.c @@ -995,7 +995,7 @@ extern grs_bitmap Orb_icons[2]; void hud_show_orbs (void) { if (Game_mode & GM_HOARD) { - int x,y; + int x=0,y=0; grs_bitmap *bm; if (Cockpit_mode == CM_FULL_COCKPIT) { @@ -1025,9 +1025,7 @@ void hud_show_orbs (void) void hud_show_flag(void) { if ((Game_mode & GM_CAPTURE) && (Players[Player_num].flags & PLAYER_FLAGS_FLAG)) { - int x,y,icon; - - x=y=0; + int x=0,y=0,icon; if (Cockpit_mode == CM_FULL_COCKPIT) { y=HUD_SCALE_Y(GameBitmaps[ GET_GAUGE_INDEX(GAUGE_LIVES) ].bm_h+2)+FSPACY(1); @@ -2366,8 +2364,8 @@ void show_reticle() ogl_draw_reticle(cross_bm_num,primary_bm_num,secondary_bm_num); } else - { #endif + { use_hires_reticle = (HIRESMODE != 0); ofs = (use_hires_reticle?0:2); gauge_index = RETICLE_CROSS + cross_bm_num; diff --git a/main/inferno.c b/main/inferno.c index 19b452866..dd6231bb9 100644 --- a/main/inferno.c +++ b/main/inferno.c @@ -486,7 +486,6 @@ int main(int argc, char *argv[]) } #endif - gr_palette_clear(); //I'm not sure why we need this, but we do DoMenu(); #ifdef EDITOR if ( Function_mode == FMODE_EDITOR ) { diff --git a/main/kconfig.c b/main/kconfig.c index 576c5bce3..1648ead43 100644 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -709,8 +709,6 @@ void kconfig_sub(kc_item * items,int nitems, char * title) kc_drawitem( &items[citem], 1 ); #endif - gr_update(); - //see if redbook song needs to be restarted songs_check_redbook_repeat(); @@ -1047,7 +1045,6 @@ void kc_drawquestion( kc_item *item ) x = FSPACX(item->w1+item->x)+((FSPACX(item->w2)-w)/2); gr_string( x, FSPACY(item->y), "?" ); - gr_update(); } void kc_change_key( kc_item * item ) @@ -1534,7 +1531,7 @@ void controls_read_all() #ifdef D2X_KEYS //--------- Read primary weapon select ------------- - if (!Player_is_dead) + if (!Player_is_dead && !Automap_flag) { { int d2x_joystick_state[10]; @@ -1547,31 +1544,31 @@ void controls_read_all() if(key_down_count(kc_d2x[0].value) || (joy_get_button_state(kc_d2x[1].value) && (d2x_joystick_state[0]!=d2x_joystick_ostate[0]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[0].value >= 2 && kc_d2x[0].value <= 11)) && !Automap_flag) // this (and the following statements) prevents to select weapon if guide-bot shortcut has done and weapon key is mapped from 0 to 9 or Automap is active + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[0].value >= 2 && kc_d2x[0].value <= 11))) // this (and the following statements) prevents to select weapon if guide-bot shortcut has done and weapon key is mapped from 0 to 9 or Automap is active do_weapon_select(0,0); //----------------Weapon 2---------------- if(key_down_count(kc_d2x[2].value) || (joy_get_button_state(kc_d2x[3].value) && (d2x_joystick_state[1]!=d2x_joystick_ostate[1]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[2].value >= 2 && kc_d2x[2].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[2].value >= 2 && kc_d2x[2].value <= 11))) do_weapon_select(1,0); //----------------Weapon 3---------------- if(key_down_count(kc_d2x[4].value) || (joy_get_button_state(kc_d2x[5].value) && (d2x_joystick_state[2]!=d2x_joystick_ostate[2]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[4].value >= 2 && kc_d2x[4].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[4].value >= 2 && kc_d2x[4].value <= 11))) do_weapon_select(2,0); //----------------Weapon 4---------------- if(key_down_count(kc_d2x[6].value) || (joy_get_button_state(kc_d2x[7].value) && (d2x_joystick_state[3]!=d2x_joystick_ostate[3]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[6].value >= 2 && kc_d2x[6].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[6].value >= 2 && kc_d2x[6].value <= 11))) do_weapon_select(3,0); //----------------Weapon 5---------------- if(key_down_count(kc_d2x[8].value) || (joy_get_button_state(kc_d2x[9].value) && (d2x_joystick_state[4]!=d2x_joystick_ostate[4]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[8].value >= 2 && kc_d2x[8].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[8].value >= 2 && kc_d2x[8].value <= 11))) do_weapon_select(4,0); //--------- Read secondary weapon select ---------- @@ -1579,31 +1576,31 @@ void controls_read_all() if(key_down_count(kc_d2x[10].value) || (joy_get_button_state(kc_d2x[11].value) && (d2x_joystick_state[5]!=d2x_joystick_ostate[5]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[10].value >= 2 && kc_d2x[10].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[10].value >= 2 && kc_d2x[10].value <= 11))) do_weapon_select(0,1); //----------------Weapon 7---------------- if(key_down_count(kc_d2x[12].value) || (joy_get_button_state(kc_d2x[13].value) && (d2x_joystick_state[6]!=d2x_joystick_ostate[6]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[12].value >= 2 && kc_d2x[12].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[12].value >= 2 && kc_d2x[12].value <= 11))) do_weapon_select(1,1); //----------------Weapon 8---------------- if(key_down_count(kc_d2x[14].value) || (joy_get_button_state(kc_d2x[15].value) && (d2x_joystick_state[7]!=d2x_joystick_ostate[7]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[14].value >= 2 && kc_d2x[14].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[14].value >= 2 && kc_d2x[14].value <= 11))) do_weapon_select(2,1); //----------------Weapon 9---------------- if(key_down_count(kc_d2x[16].value) || (joy_get_button_state(kc_d2x[17].value) && (d2x_joystick_state[8]!=d2x_joystick_ostate[8]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[16].value >= 2 && kc_d2x[16].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[16].value >= 2 && kc_d2x[16].value <= 11))) do_weapon_select(3,1); //----------------Weapon 0---------------- if(key_down_count(kc_d2x[18].value) || (joy_get_button_state(kc_d2x[19].value) && (d2x_joystick_state[9]!=d2x_joystick_ostate[9]) ) ) - if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[18].value >= 2 && kc_d2x[18].value <= 11)) && !Automap_flag) + if (!((keyd_pressed[KEY_LSHIFT] || keyd_pressed[KEY_RSHIFT]) && (kc_d2x[18].value >= 2 && kc_d2x[18].value <= 11))) do_weapon_select(4,1); memcpy(d2x_joystick_ostate,d2x_joystick_state,10*sizeof(int)); } diff --git a/main/kmatrix.c b/main/kmatrix.c index 323b6b8aa..0c61e9d73 100644 --- a/main/kmatrix.c +++ b/main/kmatrix.c @@ -353,10 +353,11 @@ void load_stars(void); void kmatrix_redraw() { - int i, color; + int i, pcx_error, color; int sorted[MAX_NUM_NET_PLAYERS]; - load_stars(); + pcx_error = pcx_read_fullscr(STARS_BACKGROUND, NULL); + Assert(pcx_error == PCX_ERROR_NONE); if (Game_mode & GM_MULTI_COOP) { @@ -399,9 +400,7 @@ void kmatrix_redraw() kmatrix_draw_deaths(sorted); - gr_update(); gr_palette_load(gr_palette); - gr_update(); } void kmatrix_redraw_coop() @@ -436,9 +435,7 @@ void kmatrix_redraw_coop() kmatrix_draw_deaths(sorted); - gr_update(); gr_palette_load(gr_palette); - gr_update(); } #define MAX_VIEW_TIME F1_0*15 @@ -446,10 +443,6 @@ void kmatrix_redraw_coop() fix StartAbortMenuTime; -#ifdef MACINTOSH -extern void load_stars_palette(); -#endif - extern void network_endlevel_poll3( int nitems, struct newmenu_item * menus, int * key, int citem ); void kmatrix_view(int network) @@ -468,14 +461,6 @@ void kmatrix_view(int network) set_screen_mode( SCREEN_MENU ); -#ifdef MACINTOSH - if (virtual_memory_on) { - load_stars_palette(); // horrible hack to prevent too much paging when doing endlevel syncing - gr_clear_canvas( BM_XRGB(0, 0, 0) ); - } else -#endif // note link to above if/else pair - load_stars(); - WaitingForOthers=0; game_flush_inputs(); @@ -666,9 +651,7 @@ void kmatrix_view(int network) kmatrix_kills_changed=0; } } -#ifdef OGL gr_flip(); -#endif } Players[Player_num].connected=7; @@ -676,8 +659,6 @@ void kmatrix_view(int network) if (network) network_send_endlevel_packet(); // make sure - gr_palette_fade_out( gr_palette, 32, 0 ); - game_flush_inputs(); Kmatrix_nomovie_message=0; diff --git a/main/menu.c b/main/menu.c index 82bedcac4..33012ecf4 100644 --- a/main/menu.c +++ b/main/menu.c @@ -199,8 +199,6 @@ void create_main_menu(newmenu_item *m, int *menu_choice, int *callers_num_option { int num_options; - gr_update(); - #ifndef DEMO_ONLY num_options = 0; @@ -264,11 +262,6 @@ int DoMenu() if ( main_menu_choice > -1 ) do_option(menu_choice[main_menu_choice]); } while( Function_mode==FMODE_MENU ); -// if (main_menu_choice != -2) -// do_auto_demo = 0; // No more auto demos - if ( Function_mode==FMODE_GAME ) - gr_palette_fade_out( gr_palette, 32, 0 ); - return main_menu_choice; } @@ -300,7 +293,6 @@ void do_option ( int select) break; #endif case MENU_VIEW_SCORES: - gr_palette_fade_out( gr_palette,32,0 ); scores_view(-1); break; #if 1 //def SHAREWARE @@ -312,7 +304,6 @@ void do_option ( int select) #ifdef EDITOR if (! SafetyCheck()) break; #endif - gr_palette_fade_out( gr_palette,32,0); Function_mode = FMODE_EXIT; break; case MENU_NEW_PLAYER: @@ -349,7 +340,6 @@ void do_option ( int select) new_level_num = atoi(m.text); if (new_level_num!=0 && new_level_num>=Last_secret_level && new_level_num<=Last_level) { - gr_palette_fade_out( gr_palette, 32, 0 ); StartNewGame(new_level_num); } } @@ -647,7 +637,6 @@ try_again: if (!do_difficulty_menu()) return; - gr_palette_fade_out( gr_palette, 32, 0 ); StartNewGame(new_level_num); } diff --git a/main/menu.h b/main/menu.h index 3ea259e2c..d2ddc41db 100644 --- a/main/menu.h +++ b/main/menu.h @@ -33,6 +33,7 @@ extern void d2x_options_menu(); // name of background bitmap #define Menu_pcx_name (cfexist(MENU_PCX_FULL)?MENU_PCX_FULL:(cfexist(MENU_PCX_OEM)?MENU_PCX_OEM:cfexist(MENU_PCX_SHAREWARE)?MENU_PCX_SHAREWARE:MENU_PCX_MAC_SHARE)) +#define STARS_BACKGROUND ((HIRESMODE && cfexist("starsb.pcx"))?"starsb.pcx":cfexist("stars.pcx")?"stars.pcx":"starsb.pcx") extern void set_detail_level_parameters(int detail_level); diff --git a/main/movie.c b/main/movie.c index 51367411f..a5840ee95 100644 --- a/main/movie.c +++ b/main/movie.c @@ -185,6 +185,7 @@ void MovieShowFrame(ubyte *buf, uint bufw, uint bufh, uint sx, uint sy, uint w, source_bm.bm_type = BM_LINEAR; source_bm.bm_flags = 0; source_bm.bm_data = buf; + #ifdef OGL glDisable (GL_BLEND); @@ -196,8 +197,6 @@ void MovieShowFrame(ubyte *buf, uint bufw, uint bufh, uint sx, uint sy, uint w, &source_bm,&grd_curcanv->cv_bitmap,0); glEnable (GL_BLEND); - - gr_update(); gr_flip(); #else gr_bm_ubitblt(bufw,bufh,dstx*((double)grd_curscreen->sc_w/(GameArg.GfxMovieHires?640:320)),dsty*((double)grd_curscreen->sc_h/(GameArg.GfxMovieHires?480:200)),sx,sy,&source_bm,&grd_curcanv->cv_bitmap); @@ -243,10 +242,7 @@ void show_pause_message(char *msg) gr_ustring( 0x8000, y, msg ); - gr_update(); -#ifdef OGL gr_flip(); -#endif } void clear_pause_message() @@ -306,9 +302,7 @@ int RunMovie(char *filename, int hires_flag, int must_have,int dx,int dy) draw_subtitles(frame_num); - gr_palette_load(gr_palette); // moved this here because of flashing - - gr_update(); + gr_palette_load(gr_palette); key = key_inkey(); diff --git a/main/network.c b/main/network.c index 3801ed528..7f556f35c 100644 --- a/main/network.c +++ b/main/network.c @@ -178,6 +178,7 @@ void ClipRank(ubyte *rank); void DoRefuseStuff(sequence_packet *their); int GetNewPlayerNumber(sequence_packet *their); void SetAllAllowablesTo(int on); +int show_game_stats(int choice); int num_active_games = 0; int PacketsPerSec=10; @@ -3575,6 +3576,84 @@ void network_count_powerups_in_mine(void) } +int network_do_join_game(int choice) +{ + if (Active_games[choice].protocol_version != MULTI_PROTO_VERSION) + { + nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_VERSION_MISMATCH); + return 0; + } + + if (Active_games[choice].game_status == NETSTAT_ENDLEVEL) + { + nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_NET_GAME_BETWEEN2); + return 0; + } + + // Check for valid mission name + if (!load_mission_by_name(Active_games[choice].mission_name)) + { + nm_messagebox(NULL, 1, TXT_OK, TXT_MISSION_NOT_FOUND); + return 0; + } + + if (is_D2_OEM) + { + My_Seq.player.version_minor|=NETWORK_OEM; + if (Active_games[choice].levelnum>8) + { + nm_messagebox(NULL, 1, TXT_OK, "This OEM version only supports\nthe first 8 levels!"); + return 0; + } + } + + if (is_MAC_SHARE) + { + if (Active_games[choice].levelnum > 4) + { + nm_messagebox(NULL, 1, TXT_OK, "This SHAREWARE version only supports\nthe first 4 levels!"); + return 0; + } + } + + if (!network_wait_for_all_info (0)) + { + nm_messagebox (TXT_SORRY,1,TXT_OK,"There was a join error!"); + Network_status = NETSTAT_BROWSING; // We are looking at a game menu + Ext_server=NULL; + Ext_node=NULL; + return 0; + } + + Network_status = NETSTAT_BROWSING; // We are looking at a game menu + Ext_server=NULL; + Ext_node=NULL; + + if (!can_join_netgame(&Active_games[choice], &ActiveNetPlayers[choice])) + { + if (Active_games[0].numplayers == Active_games[0].max_numplayers) + nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_GAME_FULL); + else + nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_IN_PROGRESS); + return 0; + } + + // Choice is valid, prepare to join in + memcpy (&Netgame, &Active_games[choice], sizeof(netgame_info)); + memcpy (&NetPlayers,TempPlayersInfo,sizeof(AllNetPlayers_info)); + + Difficulty_level = Netgame.difficulty; + MaxNumNetPlayers = Netgame.max_numplayers; + change_playernum_to(1); + + network_set_game_mode(Netgame.gamemode); + + StartNewLevel(Netgame.levelnum, 0); + + return 1; // look ma, we're in a game!!! +} + + void nm_draw_background1(char * filename); void network_join_game() @@ -5452,83 +5531,6 @@ int HoardEquipped() return (checked); } -int network_do_join_game(int choice) -{ - if (Active_games[choice].protocol_version != MULTI_PROTO_VERSION) - { - nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_VERSION_MISMATCH); - return 0; - } - - if (Active_games[choice].game_status == NETSTAT_ENDLEVEL) - { - nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_NET_GAME_BETWEEN2); - return 0; - } - - // Check for valid mission name - if (!load_mission_by_name(Active_games[choice].mission_name)) - { - nm_messagebox(NULL, 1, TXT_OK, TXT_MISSION_NOT_FOUND); - return 0; - } - - if (is_D2_OEM) - { - My_Seq.player.version_minor|=NETWORK_OEM; - if (Active_games[choice].levelnum>8) - { - nm_messagebox(NULL, 1, TXT_OK, "This OEM version only supports\nthe first 8 levels!"); - return 0; - } - } - - if (is_MAC_SHARE) - { - if (Active_games[choice].levelnum > 4) - { - nm_messagebox(NULL, 1, TXT_OK, "This SHAREWARE version only supports\nthe first 4 levels!"); - return 0; - } - } - - if (!network_wait_for_all_info (0)) - { - nm_messagebox (TXT_SORRY,1,TXT_OK,"There was a join error!"); - Network_status = NETSTAT_BROWSING; // We are looking at a game menu - Ext_server=NULL; - Ext_node=NULL; - return 0; - } - - Network_status = NETSTAT_BROWSING; // We are looking at a game menu - Ext_server=NULL; - Ext_node=NULL; - - if (!can_join_netgame(&Active_games[choice], &ActiveNetPlayers[choice])) - { - if (Active_games[0].numplayers == Active_games[0].max_numplayers) - nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_GAME_FULL); - else - nm_messagebox(TXT_SORRY, 1, TXT_OK, TXT_IN_PROGRESS); - return 0; - } - - // Choice is valid, prepare to join in - memcpy (&Netgame, &Active_games[choice], sizeof(netgame_info)); - memcpy (&NetPlayers,TempPlayersInfo,sizeof(AllNetPlayers_info)); - - Difficulty_level = Netgame.difficulty; - MaxNumNetPlayers = Netgame.max_numplayers; - change_playernum_to(1); - - network_set_game_mode(Netgame.gamemode); - - StartNewLevel(Netgame.levelnum, 0); - - return 1; // look ma, we're in a game!!! -} - // Send request for game information. Resend to keep connection alive. // Function arguments not used, but needed to call while nm_messagebox1 void network_info_req( int nitems, newmenu_item * menus, int * key, int citem ) @@ -5683,9 +5685,6 @@ void show_game_rules(int choice) } } -// Restore background and exit - gr_palette_fade_out( gr_palette, 32, 0 ); - gr_set_current_canvas(NULL); game_flush_inputs(); diff --git a/main/newmenu.c b/main/newmenu.c index 9f70d77a5..6a1ac0484 100644 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -37,6 +37,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include #endif +#include "automap.h" #include "error.h" #include "pstypes.h" #include "gr.h" @@ -125,21 +126,6 @@ void nm_draw_copyright() gr_printf(0x8000,SHEIGHT-(LINE_SPACING*2),DESCENT_VERSION); } -ubyte background_palette[768]; - -//should be called whenever the palette changes -void nm_remap_background() -{ - if (!Newmenu_first_time) { - if (!nm_background.bm_data) - nm_background.bm_data = d_malloc(nm_background.bm_w * nm_background.bm_h); - - memcpy(nm_background.bm_data,nm_background_save.bm_data,nm_background.bm_w * nm_background.bm_h); - - gr_remap_bitmap_good( &nm_background, background_palette, -1, -1 ); - } -} - // Draws the background of menus (i.e. Descent Logo screen) void nm_draw_background1(char * filename) { @@ -149,7 +135,10 @@ void nm_draw_background1(char * filename) filename = Menu_pcx_name; else if (filename == NULL && Function_mode == FMODE_GAME) { - game_render_frame_mono(0); + if (Automap_active) + draw_automap(0); + else + game_render_frame_mono(0); gr_set_current_canvas(NULL); } @@ -157,25 +146,17 @@ void nm_draw_background1(char * filename) { if (nm_background1.bm_data == NULL) { - ubyte newpal[768]; atexit( newmenu_close ); gr_init_bitmap_data (&nm_background1); - pcx_error = pcx_read_bitmap( filename, &nm_background1, BM_LINEAR, newpal ); + pcx_error = pcx_read_bitmap( filename, &nm_background1, BM_LINEAR, gr_palette ); Assert(pcx_error == PCX_ERROR_NONE); - gr_copy_palette(gr_palette, newpal, sizeof(gr_palette)); - remap_fonts_and_menus(1); if (!strcmp(filename,Menu_pcx_name) && Function_mode != FMODE_GAME) draw_copyright=1; else draw_copyright=0; } gr_palette_load( gr_palette ); -#ifndef OGL show_fullscr(&nm_background1); -#else - gr_palette_load( gr_palette ); - ogl_ubitmapm_cs(0,0,-1,-1,&nm_background1,-1,F1_0); -#endif if (draw_copyright) nm_draw_copyright(); @@ -195,22 +176,16 @@ void nm_draw_background(int x1, int y1, int x2, int y2 ) static float BGScaleX=1,BGScaleY=1; grs_canvas *tmp,*old; grs_bitmap bg; - static ubyte BGPal[768]; -#ifndef OGL - if (nm_background.bm_data) - gr_free_bitmap_data (&nm_background); -#else if (nm_background.bm_data == NULL) -#endif { int pcx_error; + ubyte background_palette[768]; atexit( newmenu_close ); gr_init_bitmap_data (&nm_background); pcx_error = pcx_read_bitmap(MENU_BACKGROUND_BITMAP,&nm_background,BM_LINEAR,background_palette); Assert(pcx_error == PCX_ERROR_NONE); gr_remap_bitmap_good( &nm_background, background_palette, -1, -1 ); -// gr_remap_bitmap_good( &nm_background, gr_palette, -1, -1 ); BGScaleX=((float)SWIDTH/nm_background.bm_w); BGScaleY=((float)SHEIGHT/nm_background.bm_h); } @@ -617,7 +592,6 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, int sound_stopped=0,time_stopped=0; int TopChoice,IsScrollBox=0; // Is this a scrolling box? Set to false at init char *Temp,TempVal; - int dont_restore=0; int MaxOnMenu=MAXDISPLAYABLEITEMS; grs_canvas *save_canvas; #ifdef NEWMENU_MOUSE @@ -944,7 +918,6 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, #endif if ( k<-1 ) { - dont_restore = (k == -3); //-3 means don't restore choice = k; k = -1; done = 1; @@ -1468,10 +1441,6 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, nm_rstring( &bg, FSPACX(11), sx, sy, " " ); } - - if ( !dont_restore && gr_palette_faded_out ) { - gr_palette_fade_in( gr_palette, 32, 0 ); - } } newmenu_hide_cursor(); @@ -1746,6 +1715,8 @@ ReadFileNames: } } + nm_draw_background1(NULL); + #ifdef NEWMENU_MOUSE mouse_state = omouse_state = 0; mouse2_state = omouse2_state = 0; diff --git a/main/newmenu.h b/main/newmenu.h index 24b723aa7..50a540c36 100644 --- a/main/newmenu.h +++ b/main/newmenu.h @@ -140,7 +140,7 @@ int nm_messagebox_fixedfont(char *title, int nchoices, ...); //end this section addition //should be called whenever the palette changes -extern void nm_remap_background(void); +extern void newmenu_close(); # define NEWMENU_MOUSE diff --git a/main/paging.c b/main/paging.c index 408ac20e2..7612be292 100644 --- a/main/paging.c +++ b/main/paging.c @@ -347,20 +347,10 @@ void paging_touch_walls() void paging_touch_all() { - int black_screen; int s; stop_time(); - black_screen = gr_palette_faded_out; - - if ( gr_palette_faded_out ) { - gr_clear_canvas( BM_XRGB(0,0,0) ); - gr_palette_load( gr_palette ); - } - -//@@ show_boxed_message(TXT_LOADING); - mprintf(( 0, "Loading all textures in mine..." )); for (s=0; s<=Highest_segment_index; s++) { paging_touch_segment( &Segments[s] ); @@ -490,10 +480,6 @@ void paging_touch_all() //@@ clear_boxed_message(); - if ( black_screen ) { - gr_palette_clear(); - gr_clear_canvas( BM_XRGB(0,0,0) ); - } start_time(); reset_cockpit(); //force cockpit redraw next time diff --git a/main/scores.c b/main/scores.c index e05e06ef9..6fb205a4b 100644 --- a/main/scores.c +++ b/main/scores.c @@ -430,7 +430,6 @@ ReshowScores: // Reset scores... if ( nm_messagebox( NULL, 2, TXT_NO, TXT_YES, TXT_RESET_HIGH_SCORES )==1 ) { PHYSFS_delete(get_scores_filename()); - gr_palette_fade_out( gr_palette, 32, 0 ); goto ReshowScores; } } diff --git a/main/switch.c b/main/switch.c index 6b3588ef5..809283e11 100644 --- a/main/switch.c +++ b/main/switch.c @@ -516,7 +516,6 @@ int check_trigger_sub(int trigger_num, int pnum,int shot) // -- BOGUS -- IMPOSSIBLE -- if (Game_mode & GM_NETWORK) // -- BOGUS -- IMPOSSIBLE -- network_do_frame(1, 1); - gr_palette_fade_out(gr_palette, 32, 0); EnterSecretLevel(); Control_center_destroyed = 0; return 1; diff --git a/main/titles.c b/main/titles.c index 1ddc832d0..066531b44 100644 --- a/main/titles.c +++ b/main/titles.c @@ -192,7 +192,6 @@ int show_title_screen( char * filename, int allow_keys, int from_hog_only ) while (1) { gr_flip(); show_fullscr(&title_bm); - gr_update(); if (( local_key_inkey() && allow_keys ) || ( timer_get_fixed_seconds() > timer )) { @@ -426,19 +425,19 @@ void show_animated_bitmap(void) grs_canvas *curcanv_save, *bitmap_canv=0; grs_bitmap *bitmap_ptr; -// gr_use_palette_table( "groupa.256" ); - // Only plot every nth frame. if (Door_div_count) { -#ifdef OGL if (Bitmap_name[0] != 0) { bitmap_index bi; bi = piggy_find_bitmap(Bitmap_name); bitmap_ptr = &GameBitmaps[bi.index]; PIGGY_PAGE_IN( bi ); +#ifdef OGL ogl_ubitmapm_cs(rescale_x(220), rescale_y(45),(bitmap_ptr->bm_w*(SWIDTH/320)),(bitmap_ptr->bm_h*(SHEIGHT/200)),bitmap_ptr,255,F1_0); - } +#else + gr_bitmapm(rescale_x(220), rescale_y(45), bitmap_ptr); #endif + } Door_div_count--; return; } @@ -589,7 +588,6 @@ int show_char_delay(char the_char, int delay, int robot_num, int cursor_flag) if (cursor_flag && delay) { gr_set_fontcolor(Briefing_text_colors[Current_color], -1); gr_printf(Briefing_text_x, Briefing_text_y, "_" ); - gr_update(); } if ((Bitmap_name[0] != 0) && (delay != 0)) @@ -617,8 +615,6 @@ int show_char_delay(char the_char, int delay, int robot_num, int cursor_flag) gr_set_fontcolor(Briefing_text_colors[Current_color], -1); gr_printf(Briefing_text_x+1, Briefing_text_y, message ); - if (delay) gr_update(); - return w; } @@ -714,10 +710,8 @@ void flash_cursor(int cursor_flag) gr_set_fontcolor(Erase_color, -1); gr_printf(Briefing_text_x, Briefing_text_y, "_" ); - gr_update(); } -#ifdef OGL typedef struct msgstream { int x; int y; @@ -740,7 +734,6 @@ void redraw_messagestream(int count) gr_printf(messagestream[i].x+1,messagestream[i].y,"%s",msgbuf); } } -#endif // ----------------------------------------------------------------------------- // Return true if message got aborted by user (pressed ESC), else return false. @@ -764,14 +757,8 @@ int show_briefing(int screen_num, char *message) int hum_channel=-1,printing_channel=-1; int LineAdjustment=1; grs_bitmap guy_bitmap; -#ifdef OGL int streamcount=0, guy_bitmap_show=0; -#endif -// if (EMULATING_D1) -// fname = Briefing_screens[screen_num].bs_name; -// else -// fname = CurBriefScreenName; if (EMULATING_D1) strncpy(fname, Briefing_screens[screen_num].bs_name, 15);//fname = Briefing_screens[screen_num].bs_name; else @@ -936,11 +923,7 @@ int show_briefing(int screen_num, char *message) gr_remap_bitmap_good( &guy_bitmap, temp_palette, -1, -1 ); show_briefing_bitmap(&guy_bitmap); -#ifndef OGL - d_free(guy_bitmap.bm_data); -#else guy_bitmap_show=1; -#endif prev_ch = 10; } else if (ch == 'S') { int keypress; @@ -951,21 +934,18 @@ int show_briefing(int screen_num, char *message) digi_stop_sound( printing_channel ); printing_channel=-1; - gr_update(); start_time = timer_get_fixed_seconds(); while ( (keypress = local_key_inkey()) == 0 ) { // Wait for a key while (timer_get_fixed_seconds() < start_time + KEY_DELAY_DEFAULT/2) ; -#ifdef OGL if (!RobotPlaying) gr_flip(); show_fullscr(&briefing_bm); redraw_messagestream(streamcount); if (guy_bitmap_show) show_briefing_bitmap(&guy_bitmap); -#endif flash_cursor(flashing_cursor); if (RobotPlaying) @@ -1002,7 +982,6 @@ int show_briefing(int screen_num, char *message) } message++; prev_ch = 10; - gr_update(); } } else if (ch == '\t') { // Tab if (Briefing_text_x - bsp->text_ulx < tab_stop) @@ -1022,9 +1001,7 @@ int show_briefing(int screen_num, char *message) DumbAdjust--; Briefing_text_x = bsp->text_ulx; if (Briefing_text_y > bsp->text_uly + bsp->text_height) { -#ifndef OGL load_briefing_screen(Briefing_screens[screen_num].bs_name); -#endif Briefing_text_x = bsp->text_ulx; Briefing_text_y = bsp->text_uly; } @@ -1041,7 +1018,6 @@ int show_briefing(int screen_num, char *message) load_briefing_screen (HIRESMODE?"end01b.pcx":"end01.pcx"); } -#ifdef OGL messagestream[streamcount].x = Briefing_text_x; messagestream[streamcount].y = Briefing_text_y; messagestream[streamcount].color = Briefing_text_colors[Current_color]; @@ -1055,7 +1031,6 @@ int show_briefing(int screen_num, char *message) if (guy_bitmap_show) show_briefing_bitmap(&guy_bitmap); streamcount++; -#endif prev_ch = ch; @@ -1107,14 +1082,12 @@ int show_briefing(int screen_num, char *message) while ( (keypress = local_key_inkey()) == 0 ) { // Wait for a key while (timer_get_fixed_seconds() < start_time + KEY_DELAY_DEFAULT/2) ; -#ifdef OGL if (!RobotPlaying) gr_flip(); show_fullscr(&briefing_bm); redraw_messagestream(streamcount); if (guy_bitmap_show) show_briefing_bitmap(&guy_bitmap); -#endif flash_cursor(flashing_cursor); if (RobotPlaying) RotateRobot(); @@ -1143,13 +1116,11 @@ int show_briefing(int screen_num, char *message) Briefing_text_x = bsp->text_ulx; Briefing_text_y = bsp->text_uly; -#ifdef OGL streamcount=0; if (guy_bitmap_show) { gr_free_bitmap_data (&guy_bitmap); guy_bitmap_show=0; } -#endif delay_count = KEY_DELAY_DEFAULT; } @@ -1171,10 +1142,8 @@ int show_briefing(int screen_num, char *message) d_free(bsp); } -#ifdef OGL if (briefing_bm.bm_data != NULL) gr_free_bitmap_data (&briefing_bm); -#endif return rval; } @@ -1320,14 +1289,8 @@ int show_briefing_screen( int screen_num, int allow_keys) if (EMULATING_D1) { load_briefing_screen(Briefing_screens[screen_num].bs_name); - - gr_palette_clear(); -#ifndef OGL show_fullscr(&briefing_bm ); -#endif gr_palette_load(gr_palette); - gr_update(); - } rval = show_briefing_text(screen_num); @@ -1455,7 +1418,6 @@ void show_order_form() char exit_screen[16]; gr_set_current_canvas( NULL ); - gr_palette_clear(); key_flush(); diff --git a/ui/file.c b/ui/file.c index 72d8861fd..9885cfcaa 100644 --- a/ui/file.c +++ b/ui/file.c @@ -322,8 +322,6 @@ int ui_get_filename( char * filename, char * Filespec, char * message ) ui_mouse_show(); } - - gr_update(); } //key_flush(); diff --git a/ui/keypress.c b/ui/keypress.c index 61f280254..76e218840 100644 --- a/ui/keypress.c +++ b/ui/keypress.c @@ -136,8 +136,6 @@ int GetKeyCode(char * text) if (DoneButton->pressed) break; - - gr_update(); } ui_close_window(wnd); diff --git a/ui/menu.c b/ui/menu.c index 321fa93d3..beee5da03 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -117,8 +117,6 @@ int MenuX( int x, int y, int NumButtons, char * text[] ) choice = -1; break; } - - gr_update(); } ui_close_window(wnd); diff --git a/ui/menubar.c b/ui/menubar.c index 0f7ceeee0..d72ca6aac 100644 --- a/ui/menubar.c +++ b/ui/menubar.c @@ -608,8 +608,6 @@ void menubar_do( int keypress ) state = 0; } last_keypress = 0; - - gr_update(); } } diff --git a/ui/message.c b/ui/message.c index ac1f14766..148276c51 100644 --- a/ui/message.c +++ b/ui/message.c @@ -165,8 +165,6 @@ int MessageBoxN( short xc, short yc, int NumButtons, char * text, char * Button[ break; } } - - gr_update(); } ui_close_window(wnd); diff --git a/ui/number.c b/ui/number.c index a047ff672..0c79808f1 100644 --- a/ui/number.c +++ b/ui/number.c @@ -106,8 +106,6 @@ double ui_input_number( short xc, short yc, char * text, double OrgNumber ) ui_window_do_gadgets(wnd); if (InputBox->pressed) break; - - gr_update(); } ui_close_window(wnd); diff --git a/ui/popup.c b/ui/popup.c index 6b30a5ab4..047086e1e 100644 --- a/ui/popup.c +++ b/ui/popup.c @@ -142,8 +142,6 @@ int PopupMenu( int NumButtons, char * text[] ) choice = -1; break; } - - gr_update(); } ui_close_window(wnd);