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
This commit is contained in:
parent
bc7c48320b
commit
d2365d65f0
12
2d/palette.c
12
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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
180
arch/sdl/gr.c
180
arch/sdl/gr.c
|
@ -13,6 +13,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <math.h>
|
||||
#include <SDL/SDL.h>
|
||||
#ifdef SDL_IMAGE
|
||||
#include <SDL_image.h>
|
||||
|
@ -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<nsteps; j++ ) {
|
||||
for (i=0, k = 0; k<256; k++ ) {
|
||||
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].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<nsteps; j++ ) {
|
||||
for (i=0, k = 0; k<256; k++ ) {
|
||||
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].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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1372,9 +1372,6 @@ void editor(void)
|
|||
} else {
|
||||
ui_mouse_show();
|
||||
}
|
||||
|
||||
gr_update();
|
||||
|
||||
}
|
||||
|
||||
// _MARK_("end of editor");//Nuked to compile -KRB
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
31
main/game.c
31
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();
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,6 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ) {
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
11
main/menu.c
11
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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
10
main/movie.c
10
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();
|
||||
|
||||
|
|
159
main/network.c
159
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();
|
||||
|
|
|
@ -37,6 +37,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#include <physfs/physfs.h>
|
||||
#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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -322,8 +322,6 @@ int ui_get_filename( char * filename, char * Filespec, char * message )
|
|||
ui_mouse_show();
|
||||
|
||||
}
|
||||
|
||||
gr_update();
|
||||
}
|
||||
|
||||
//key_flush();
|
||||
|
|
|
@ -136,8 +136,6 @@ int GetKeyCode(char * text)
|
|||
|
||||
if (DoneButton->pressed)
|
||||
break;
|
||||
|
||||
gr_update();
|
||||
}
|
||||
|
||||
ui_close_window(wnd);
|
||||
|
|
|
@ -117,8 +117,6 @@ int MenuX( int x, int y, int NumButtons, char * text[] )
|
|||
choice = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
gr_update();
|
||||
}
|
||||
|
||||
ui_close_window(wnd);
|
||||
|
|
|
@ -608,8 +608,6 @@ void menubar_do( int keypress )
|
|||
state = 0;
|
||||
}
|
||||
last_keypress = 0;
|
||||
|
||||
gr_update();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -165,8 +165,6 @@ int MessageBoxN( short xc, short yc, int NumButtons, char * text, char * Button[
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gr_update();
|
||||
}
|
||||
|
||||
ui_close_window(wnd);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -142,8 +142,6 @@ int PopupMenu( int NumButtons, char * text[] )
|
|||
choice = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
gr_update();
|
||||
}
|
||||
|
||||
ui_close_window(wnd);
|
||||
|
|
Loading…
Reference in a new issue