From 6db03d84bd0b3c261b5647910a34ff6b565322d2 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Fri, 28 Feb 2003 09:56:10 +0000 Subject: [PATCH] Fixed many opengl glitches --- 2d/pcx.c | 12 ++++++++++-- ChangeLog | 5 +++++ arch/ogl/gr.c | 12 +++--------- main/inferno.c | 7 ++++++- main/movie.c | 7 +++++-- main/newmenu.c | 5 ++++- 6 files changed, 33 insertions(+), 15 deletions(-) diff --git a/2d/pcx.c b/2d/pcx.c index fcfc7c77..1a113c24 100644 --- a/2d/pcx.c +++ b/2d/pcx.c @@ -1,4 +1,4 @@ -/* $Id: pcx.c,v 1.6 2002-08-26 06:41:38 btb Exp $ */ +/* $Id: pcx.c,v 1.7 2003-02-28 09:56:10 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -50,6 +50,10 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "pcx.h" #include "cfile.h" +#ifdef OGL +#include "palette.h" +#endif + #if defined(POLY_ACC) #include "poly_acc.h" #endif @@ -502,8 +506,12 @@ int pcx_read_fullscr(char * filename, ubyte * palette) grs_bitmap bm; gr_init_bitmap_data(&bm); pcx_error = pcx_read_bitmap(filename, &bm, BM_LINEAR, palette); - if (pcx_error == PCX_ERROR_NONE) + if (pcx_error == PCX_ERROR_NONE) { +#ifdef OGL + gr_palette_load(palette); +#endif show_fullscr(&bm); + } gr_free_bitmap_data(&bm); return pcx_error; } diff --git a/ChangeLog b/ChangeLog index 9857cc4d..c24afe36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-02-28 Bradley Bell + + * 2d/pcx.c, arch/ogl/gr.c, main/inferno.c, main/movie.c, + main/newmenu.c: Fixed many opengl glitches + 2003-02-27 Bradley Bell * main/Makefile.am, main/gamesave.c, main/hoard.c, main/hoard.h, diff --git a/arch/ogl/gr.c b/arch/ogl/gr.c index a962a823..4fe027d5 100644 --- a/arch/ogl/gr.c +++ b/arch/ogl/gr.c @@ -1,4 +1,4 @@ -/* $Id: gr.c,v 1.9 2003-01-15 02:40:54 btb Exp $ */ +/* $Id: gr.c,v 1.10 2003-02-28 09:56:10 btb Exp $ */ /* * * OGL video functions. - Added 9/15/99 Matthew Mueller @@ -345,8 +345,8 @@ int ogl_init_load_library(void) int gr_init() { - int mode = SM(640,480); - int retcode,t,glt=0; + int t,glt=0; + // Only do this function once! if (gr_installed==1) return -1; @@ -410,12 +410,6 @@ int gr_init() MALLOC( grd_curscreen,grs_screen,1 ); memset( grd_curscreen, 0, sizeof(grs_screen)); grd_curscreen->sc_canvas.cv_bitmap.bm_data = NULL; - - // Set the mode. - if ((retcode=gr_set_mode(mode))) - { - return retcode; - } grd_curscreen->sc_canvas.cv_color = 0; grd_curscreen->sc_canvas.cv_drawmode = 0; grd_curscreen->sc_canvas.cv_font = NULL; diff --git a/main/inferno.c b/main/inferno.c index a2116bf8..365db509 100644 --- a/main/inferno.c +++ b/main/inferno.c @@ -1,4 +1,4 @@ -/* $Id: inferno.c,v 1.54 2003-02-28 03:54:55 btb Exp $ */ +/* $Id: inferno.c,v 1.55 2003-02-28 09:56:10 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -1393,11 +1393,13 @@ int main(int argc,char **argv) con_printf( CON_DEBUG, "Initializing movie libraries...\n" ); init_movies(); //init movie libraries +#if 0 con_printf(CON_VERBOSE, "Going into graphics mode...\n"); #if defined(POLY_ACC) gr_set_mode(SM_640x480x15xPA); #else gr_set_mode(MovieHires?SM(640,480):SM(320,200)); +#endif #endif #ifndef RELEASE @@ -1520,6 +1522,9 @@ int main(int argc,char **argv) #else gr_set_mode(MenuHires?SM(640,480):SM(320,200)); #endif +#ifdef OGL + set_screen_mode(SCREEN_MENU); +#endif FontHires = FontHiresAvailable && MenuHires; diff --git a/main/movie.c b/main/movie.c index f7967ac9..116173a7 100644 --- a/main/movie.c +++ b/main/movie.c @@ -1,4 +1,4 @@ -/* $Id: movie.c,v 1.22 2003-02-25 04:45:31 btb Exp $ */ +/* $Id: movie.c,v 1.23 2003-02-28 09:56:10 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -17,7 +17,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #endif #ifdef RCS -static char rcsid[] = "$Id: movie.c,v 1.22 2003-02-25 04:45:31 btb Exp $"; +static char rcsid[] = "$Id: movie.c,v 1.23 2003-02-28 09:56:10 btb Exp $"; #endif #define DEBUG_LEVEL CON_NORMAL @@ -256,6 +256,9 @@ int RunMovie(char *filename, int hires_flag, int must_have,int dx,int dy) } else { gr_set_mode(SM(320,200)); } +#ifdef OGL + set_screen_mode(SCREEN_MENU); +#endif if (MVE_rmPrepMovie(filehndl, dx, dy, track)) { Int3(); diff --git a/main/newmenu.c b/main/newmenu.c index f9af0dd1..1317f28f 100644 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -1,4 +1,4 @@ -/* $Id: newmenu.c,v 1.17 2003-02-14 03:42:24 btb Exp $ */ +/* $Id: newmenu.c,v 1.18 2003-02-28 09:56:10 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -731,6 +731,9 @@ void nm_draw_background1(char * filename) //in part of the fade tables so the darkening of the menu edges works gr_copy_palette(gr_palette, pal, sizeof(gr_palette)); +#ifdef OGL + gr_palette_load(gr_palette); +#endif remap_fonts_and_menus(1); } -- 2.39.2