From 2bc4cd32bb481ff422cd7a0eedd48d81225e9b11 Mon Sep 17 00:00:00 2001 From: zicodxx <> Date: Thu, 26 Jul 2007 23:57:29 +0000 Subject: [PATCH] Cleanup in Config- and PLX-code; Saving Resolution in Config file so it will apply directly at game-init; Removed seperated resolution mode for menus, SCREEN_MENU now always uses Game_screen_mode; Last FindArg cleanups; Removed MenuHires(Available) and FontHires(Available) and replaced with HiresGFX(Available) to make a more common way to determinate if Hires data is used or not (interactive Demo); Improved support for Interactive Demo --- 2d/font.c | 1 - CHANGELOG.txt | 4 + arch/ogl/ogl.c | 2 +- include/gr.h | 7 +- main/automap.c | 17 +- main/config.c | 929 ++---------------------------------------------- main/credits.c | 11 +- main/game.c | 63 +--- main/gamefont.c | 7 +- main/gamefont.h | 13 +- main/gamerend.c | 7 +- main/gameseq.c | 30 +- main/gauges.c | 298 ++++++++-------- main/hud.c | 4 +- main/inferno.c | 99 +----- main/kconfig.c | 8 +- main/kmatrix.c | 4 +- main/menu.c | 222 +----------- main/menu.h | 6 +- main/movie.c | 7 +- main/network.c | 6 +- main/newmenu.c | 64 ++-- main/playsave.c | 267 ++------------ main/scores.c | 6 +- main/state.c | 2 +- main/titles.c | 38 +- 26 files changed, 349 insertions(+), 1773 deletions(-) diff --git a/2d/font.c b/2d/font.c index f2fa08aad..05b08c969 100755 --- a/2d/font.c +++ b/2d/font.c @@ -71,7 +71,6 @@ openfont open_font[MAX_OPEN_FONTS]; int gr_internal_string_clipped(int x, int y, char *s ); int gr_internal_string_clipped_m(int x, int y, char *s ); -extern int FontHires; ubyte *find_kern_entry(grs_font *font,ubyte first,ubyte second) { diff --git a/CHANGELOG.txt b/CHANGELOG.txt index ad1efcc71..524ae6ff9 100755 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D2X-Rebirth Changelog +20070727 +-------- +2d/font.c, arch/ogl/ogl.c, include/gr.h, main/automap.c, main/config.c, main/credits.c, main/game.c, main/gamefont.c, main/gamefont.h, main/gamerend.c, main/gameseq.c, main/gauges.c, main/hud.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/menu.c, main/menu.h, main/movie.c, main/network.c, main/newmenu.c, main/playsave.c, main/scores.c, main/state.c, main/titles.c: Cleanup in Config- and PLX-code; Saving Resolution in Config file so it will apply directly at game-init; Removed seperated resolution mode for menus, SCREEN_MENU now always uses Game_screen_mode; Last FindArg cleanups; Removed MenuHires(Available) and FontHires(Available) and replaced with HiresGFX(Available) to make a more common way to determinate if Hires data is used or not (interactive Demo); Improved support for Interactive Demo + 20070723 -------- arch/ogl/gr.c, arch/include/internal.h, arch/ogl/ogl.c, arch/sdl/gr.c, include/args.h, include/ogl_init.h, main/inferno.c, main/args.c: FindArg cleanup - GL-Debug and SDL arguments diff --git a/arch/ogl/ogl.c b/arch/ogl/ogl.c index accc6a2de..6d740096a 100755 --- a/arch/ogl/ogl.c +++ b/arch/ogl/ogl.c @@ -1116,7 +1116,7 @@ void ogl_filltexbuf(unsigned char *data, GLubyte *texp, int truewidth, int width } } else if (((c == 255 && (bm_flags & BM_FLAG_TRANSPARENT)) || c == 256) || - ((c==0 || c==54 || c==119) && (bm_flags & BM_FLAG_COCKPIT_TRANSPARENT))) + ((HiresGFX?(c==0 || c==54 || c==119):(c==0)) && (bm_flags & BM_FLAG_COCKPIT_TRANSPARENT))) { switch (type){ case GL_LUMINANCE: diff --git a/include/gr.h b/include/gr.h index 0a158b7bc..d8746a982 100755 --- a/include/gr.h +++ b/include/gr.h @@ -24,6 +24,9 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "pstypes.h" #include "fix.h" +extern int HiresGFXAvailable; +extern int HiresGFX; + #if defined(MACINTOSH) || defined(MACDATA) #error native mac data currently not supported #define SWAP_0_255 // swap black and white @@ -138,8 +141,8 @@ typedef struct _grs_bitmap { // ZICO - we use this defines to scale the font bitmaps itself, spacing between letters and rows #ifdef OGL -#define FONTSCALE_X(x) ((GameArg.OglFixedFont)?x:(x)*((SWIDTH/ ((FontHires&&SWIDTH>=640&&SHEIGHT>=480)?640:320)))) -#define FONTSCALE_Y(x) ((GameArg.OglFixedFont)?x:(x)*((SHEIGHT/((FontHires&&SWIDTH>=640&&SHEIGHT>=480)?480:200)))) +#define FONTSCALE_X(x) ((GameArg.OglFixedFont)?x:(x)*((SWIDTH/ ((HiresGFX&&SWIDTH>=640&&SHEIGHT>=480)?640:320)))) +#define FONTSCALE_Y(x) ((GameArg.OglFixedFont)?x:(x)*((SHEIGHT/((HiresGFX&&SWIDTH>=640&&SHEIGHT>=480)?480:200)))) #else // without OGL we don't scale. But instead of defining out eery single FONTSCALE_* call we just do not scale #define FONTSCALE_X(x) (x) #define FONTSCALE_Y(x) (x) diff --git a/main/automap.c b/main/automap.c index bcb8a0571..789fbdb6b 100755 --- a/main/automap.c +++ b/main/automap.c @@ -588,21 +588,19 @@ void create_name_canv() gr_set_fontcolor(Green_31,-1); gr_set_curfont(SMALL_FONT); - gr_printf(((MenuHires)?10:5),((MenuHires)?10:5),"%s", name_level_left); + gr_printf(((HiresGFX)?10:5),((HiresGFX)?10:5),"%s", name_level_left); gr_get_string_size(name_level_right,&wr,&h,&aw); - gr_printf(grd_curcanv->cv_bitmap.bm_w-wr-FONTSCALE_X(((MenuHires)?10:5)),((MenuHires)?10:5),"%s", name_level_right); + gr_printf(grd_curcanv->cv_bitmap.bm_w-wr-FONTSCALE_X(((HiresGFX)?10:5)),((HiresGFX)?10:5),"%s", name_level_right); } extern void GameLoop(int, int ); extern int set_segment_depths(int start_seg, ubyte *segbuf); -extern int MenuHiresAvailable; -extern int Current_display_mode; int Automap_active = 0; #ifdef RELEASE -#define MAP_BACKGROUND_FILENAME ((MenuHires)?"\x01MAPB.PCX":"\x01MAP.PCX") //load only from hog file +#define MAP_BACKGROUND_FILENAME ((HiresGFX)?"\x01MAPB.PCX":"\x01MAP.PCX") //load only from hog file #else -#define MAP_BACKGROUND_FILENAME (((MenuHires) && cfexist("mapb.pcx"))?"MAPB.PCX":"MAP.PCX") +#define MAP_BACKGROUND_FILENAME (((HiresGFX) && cfexist("mapb.pcx"))?"MAPB.PCX":"MAP.PCX") #endif void do_automap( int key_code ) { @@ -646,10 +644,6 @@ void do_automap( int key_code ) { gr_set_current_canvas(NULL); - FontHires = MenuHires; - -// create_name_canv(); - gr_palette_clear(); @@ -885,9 +879,6 @@ void do_automap( int key_code ) { t1 = t2; } -// gr_free_canvas(name_canv_left); name_canv_left=NULL; -// gr_free_canvas(name_canv_right); name_canv_right=NULL; - #ifdef OGL gr_free_bitmap_data(&Automap_background); mprintf( (0, "Automap background memory freed\n" )); diff --git a/main/config.c b/main/config.c index c42306754..6552be8d4 100755 --- a/main/config.c +++ b/main/config.c @@ -23,16 +23,6 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include #endif -#ifndef MACINTOSH // I'm going to totally seperate these routines -- yeeech!!!! - // see end of file for macintosh equivs - -#ifdef WINDOWS -#define WIN32_LEAN_AND_MEAN -#include -#include "winapp.h" -#else -#endif - #include #include #include @@ -57,14 +47,9 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "player.h" #include "mission.h" #include "mono.h" - #include "physfsx.h" -#ifdef RCS -static char rcsid[] = "$Id: config.c,v 1.1.1.1 2006/03/17 19:55:48 zicodxx Exp $"; -#endif - ubyte Config_digi_volume = 8; ubyte Config_midi_volume = 8; ubyte Config_redbook_volume = 8; @@ -72,37 +57,16 @@ ubyte Config_control_type = 0; ubyte Config_channels_reversed = 0; ubyte Config_joystick_sensitivity = 8; -#ifdef __MSDOS__ -static char *digi_dev8_str = "DigiDeviceID8"; -static char *digi_dev16_str = "DigiDeviceID16"; -static char *digi_port_str = "DigiPort"; -static char *digi_irq_str = "DigiIrq"; -static char *digi_dma8_str = "DigiDma8"; -static char *digi_dma16_str = "DigiDma16"; -static char *midi_dev_str = "MidiDeviceID"; -static char *midi_port_str = "MidiPort"; - -#define _CRYSTAL_LAKE_8_ST 0xe201 -#define _CRYSTAL_LAKE_16_ST 0xe202 -#define _AWE32_8_ST 0xe208 -#define _AWE32_16_ST 0xe209 -#endif -static char *digi_volume_str = "DigiVolume"; -static char *midi_volume_str = "MidiVolume"; -static char *redbook_enabled_str = "RedbookEnabled"; -static char *redbook_volume_str = "RedbookVolume"; -static char *detail_level_str = "DetailLevel"; -static char *gamma_level_str = "GammaLevel"; -static char *stereo_rev_str = "StereoReverse"; -static char *joystick_min_str = "JoystickMin"; -static char *joystick_max_str = "JoystickMax"; -static char *joystick_cen_str = "JoystickCen"; -static char *last_player_str = "LastPlayer"; -static char *last_mission_str = "LastMission"; -static char *config_vr_type_str = "VR_type"; -static char *config_vr_resolution_str = "VR_resolution"; -static char *config_vr_tracking_str = "VR_tracking"; -static char *movie_hires_str = "MovieHires"; +static char *DigiVolumeStr = "DigiVolume"; +static char *MidiVolumeStr = "MidiVolume"; +static char *RedbookVolumeStr = "RedbookVolume"; +static char *DetailLevelStr = "DetailLevel"; +static char *GammaLevelStr = "GammaLevel"; +static char *LastPlayerStr = "LastPlayer"; +static char *LastMissionStr = "LastMission"; +static char *ResolutionXStr="ResolutionX"; +static char *ResolutionYStr="ResolutionY"; +static int Config_render_width=0, Config_render_height=0; char config_last_player[CALLSIGN_LEN+1] = ""; char config_last_mission[MISSION_NAME_LEN+1] = ""; @@ -111,116 +75,32 @@ int Config_digi_type = 0; int Config_digi_dma = 0; int Config_midi_type = 0; -#ifdef WINDOWS -int DOSJoySaveMin[4]; -int DOSJoySaveCen[4]; -int DOSJoySaveMax[4]; - -char win95_current_joyname[256]; -#endif - - - -int Config_vr_type = 0; -int Config_vr_resolution = 0; -int Config_vr_tracking = 0; - -int digi_driver_board_16; -int digi_driver_dma_16; - extern sbyte Object_complexity, Object_detail, Wall_detail, Wall_render_depth, Debris_amount, SoundChannels; void set_custom_detail_vars(void); - #define CL_MC0 0xF8F #define CL_MC1 0xF8D -/* -void CrystalLakeWriteMCP( ushort mc_addr, ubyte mc_data ) -{ - _disable(); - outp( CL_MC0, 0xE2 ); // Write password - outp( mc_addr, mc_data ); // Write data - _enable(); -} - -ubyte CrystalLakeReadMCP( ushort mc_addr ) -{ - ubyte value; - _disable(); - outp( CL_MC0, 0xE2 ); // Write password - value = inp( mc_addr ); // Read data - _enable(); - return value; -} - -void CrystalLakeSetSB() -{ - ubyte tmp; - tmp = CrystalLakeReadMCP( CL_MC1 ); - tmp &= 0x7F; - CrystalLakeWriteMCP( CL_MC1, tmp ); -} - -void CrystalLakeSetWSS() -{ - ubyte tmp; - tmp = CrystalLakeReadMCP( CL_MC1 ); - tmp |= 0x80; - CrystalLakeWriteMCP( CL_MC1, tmp ); -} -*/ -//GameArg.GfxMovieHires might be changed by -nohighres, so save a "real" copy of it -int SaveMovieHires; -int save_redbook_enabled; int ReadConfigFile() { PHYSFS_file *infile; char line[80], *token, *value, *ptr; ubyte gamma; - int joy_axis_min[7]; - int joy_axis_center[7]; - int joy_axis_max[7]; strcpy( config_last_player, "" ); - joy_axis_min[0] = joy_axis_min[1] = joy_axis_min[2] = joy_axis_min[3] = 0; - joy_axis_max[0] = joy_axis_max[1] = joy_axis_max[2] = joy_axis_max[3] = 0; - joy_axis_center[0] = joy_axis_center[1] = joy_axis_center[2] = joy_axis_center[3] = 0; - -#ifdef WINDOWS - memset(&joy_axis_min[0], 0, sizeof(int)*7); - memset(&joy_axis_max[0], 0, sizeof(int)*7); - memset(&joy_axis_center[0], 0, sizeof(int)*7); -//@@ joy_set_cal_vals(joy_axis_min, joy_axis_center, joy_axis_max); -#else - joy_set_cal_vals(joy_axis_min, joy_axis_center, joy_axis_max); -#endif - - /*digi_driver_board = 0; - digi_driver_port = 0; - digi_driver_irq = 0; - digi_driver_dma = 0; - - digi_midi_type = 0; - digi_midi_port = 0;*/ - Config_digi_volume = 8; Config_midi_volume = 8; Config_redbook_volume = 8; Config_control_type = 0; - Config_channels_reversed = 0; - - //set these here in case no cfg file - SaveMovieHires = GameArg.GfxMovieHires; - save_redbook_enabled = Redbook_enabled; infile = PHYSFSX_openReadBuffered("descent.cfg"); + if (infile == NULL) { - WIN(CheckMovieAttributes()); return 1; } + while (!PHYSFS_eof(infile)) { memset(line, 0, 80); @@ -233,37 +113,17 @@ int ReadConfigFile() value = strtok(NULL, "="); if (!value) value = ""; -/* if (!strcmp(token, digi_dev8_str)) - digi_driver_board = strtol(value, NULL, 16); - else if (!strcmp(token, digi_dev16_str)) - digi_driver_board_16 = strtol(value, NULL, 16); - else if (!strcmp(token, digi_port_str)) - digi_driver_port = strtol(value, NULL, 16); - else if (!strcmp(token, digi_irq_str)) - digi_driver_irq = strtol(value, NULL, 10); - else if (!strcmp(token, digi_dma8_str)) - digi_driver_dma = strtol(value, NULL, 10); - else if (!strcmp(token, digi_dma16_str)) - digi_driver_dma_16 = strtol(value, NULL, 10); - else*/ if (!strcmp(token, digi_volume_str)) + if (!strcmp(token, DigiVolumeStr)) Config_digi_volume = strtol(value, NULL, 10); - else/* if (!strcmp(token, midi_dev_str)) - digi_midi_type = strtol(value, NULL, 16); - else if (!strcmp(token, midi_port_str)) - digi_midi_port = strtol(value, NULL, 16); - else*/ if (!strcmp(token, midi_volume_str)) + else if (!strcmp(token, MidiVolumeStr)) Config_midi_volume = strtol(value, NULL, 10); - else if (!strcmp(token, redbook_enabled_str)) - Redbook_enabled = save_redbook_enabled = strtol(value, NULL, 10); - else if (!strcmp(token, redbook_volume_str)) + else if (!strcmp(token, RedbookVolumeStr)) Config_redbook_volume = strtol(value, NULL, 10); - else if (!strcmp(token, stereo_rev_str)) - Config_channels_reversed = strtol(value, NULL, 10); - else if (!strcmp(token, gamma_level_str)) { + else if (!strcmp(token, GammaLevelStr)) { gamma = strtol(value, NULL, 10); gr_palette_set_gamma( gamma ); } - else if (!strcmp(token, detail_level_str)) { + else if (!strcmp(token, DetailLevelStr)) { Detail_level = strtol(value, NULL, 10); if (Detail_level == NUM_DETAIL_LEVELS-1) { int count,dummy,oc,od,wd,wrd,da,sc; @@ -281,126 +141,37 @@ int ReadConfigFile() } } } - else if (!strcmp(token, joystick_min_str)) { - sscanf( value, "%d,%d,%d,%d", &joy_axis_min[0], &joy_axis_min[1], &joy_axis_min[2], &joy_axis_min[3] ); - } - else if (!strcmp(token, joystick_max_str)) { - sscanf( value, "%d,%d,%d,%d", &joy_axis_max[0], &joy_axis_max[1], &joy_axis_max[2], &joy_axis_max[3] ); - } - else if (!strcmp(token, joystick_cen_str)) { - sscanf( value, "%d,%d,%d,%d", &joy_axis_center[0], &joy_axis_center[1], &joy_axis_center[2], &joy_axis_center[3] ); - } - else if (!strcmp(token, last_player_str)) { + else if (!strcmp(token, LastPlayerStr)) { char * p; strncpy( config_last_player, value, CALLSIGN_LEN ); p = strchr( config_last_player, '\n'); if ( p ) *p = 0; } - else if (!strcmp(token, last_mission_str)) { + else if (!strcmp(token, LastMissionStr)) { char * p; strncpy( config_last_mission, value, MISSION_NAME_LEN ); p = strchr( config_last_mission, '\n'); if ( p ) *p = 0; - } else if (!strcmp(token, config_vr_type_str)) { - Config_vr_type = strtol(value, NULL, 10); - } else if (!strcmp(token, config_vr_resolution_str)) { - Config_vr_resolution = strtol(value, NULL, 10); - } else if (!strcmp(token, config_vr_tracking_str)) { - Config_vr_tracking = strtol(value, NULL, 10); - } else if (!strcmp(token, movie_hires_str)) { - SaveMovieHires = GameArg.GfxMovieHires = strtol(value, NULL, 10); } + else if (!strcmp(token, ResolutionXStr)) + Config_render_width = strtol(value, NULL, 10); + else if (!strcmp(token, ResolutionYStr)) + Config_render_height = strtol(value, NULL, 10); } } PHYSFS_close(infile); -#ifdef WINDOWS - for (i=0;i<4;i++) - { - DOSJoySaveMin[i]=joy_axis_min[i]; - DOSJoySaveCen[i]=joy_axis_center[i]; - DOSJoySaveMax[i]=joy_axis_max[i]; - } -#else - joy_set_cal_vals(joy_axis_min, joy_axis_center, joy_axis_max); -#endif - if ( Config_digi_volume > 8 ) Config_digi_volume = 8; if ( Config_midi_volume > 8 ) Config_midi_volume = 8; if ( Config_redbook_volume > 8 ) Config_redbook_volume = 8; digi_set_volume( (Config_digi_volume*32768)/8, (Config_midi_volume*128)/8 ); -/* - printf( "DigiDeviceID: 0x%x\n", digi_driver_board ); - printf( "DigiPort: 0x%x\n", digi_driver_port ); - printf( "DigiIrq: 0x%x\n", digi_driver_irq ); - printf( "DigiDma: 0x%x\n", digi_driver_dma ); - printf( "MidiDeviceID: 0x%x\n", digi_midi_type ); - printf( "MidiPort: 0x%x\n", digi_midi_port ); - key_getch(); -*/ - /*Config_midi_type = digi_midi_type; - Config_digi_type = digi_driver_board; - Config_digi_dma = digi_driver_dma;*/ - -#if 0 - if (digi_driver_board_16 > 0 && !FindArg("-no16bit") && digi_driver_board_16 != _GUS_16_ST) { - digi_driver_board = digi_driver_board_16; - digi_driver_dma = digi_driver_dma_16; - } - - // HACK!!! - //Hack to make some cards look like others, such as - //the Crytal Lake look like Microsoft Sound System - if ( digi_driver_board == _CRYSTAL_LAKE_8_ST ) { - ubyte tmp; - tmp = CrystalLakeReadMCP( CL_MC1 ); - if ( !(tmp & 0x80) ) - atexit( CrystalLakeSetSB ); // Restore to SB when done. - CrystalLakeSetWSS(); - digi_driver_board = _MICROSOFT_8_ST; - } else if ( digi_driver_board == _CRYSTAL_LAKE_16_ST ) { - ubyte tmp; - tmp = CrystalLakeReadMCP( CL_MC1 ); - if ( !(tmp & 0x80) ) - atexit( CrystalLakeSetSB ); // Restore to SB when done. - CrystalLakeSetWSS(); - digi_driver_board = _MICROSOFT_16_ST; - } else if ( digi_driver_board == _AWE32_8_ST ) { - digi_driver_board = _SB16_8_ST; - } else if ( digi_driver_board == _AWE32_16_ST ) { - digi_driver_board = _SB16_16_ST; - } else - digi_driver_board = digi_driver_board; -#else - infile = PHYSFSX_openReadBuffered("descentw.cfg"); - if (infile) { - while (!PHYSFS_eof(infile)) - { - memset(line, 0, 80); - PHYSFSX_gets(infile, line); - ptr = &(line[0]); - while (isspace(*ptr)) - ptr++; - if (*ptr != '\0') { - token = strtok(ptr, "="); - value = strtok(NULL, "="); - if (!strcmp(token, joystick_min_str)) { - sscanf( value, "%d,%d,%d,%d,%d,%d,%d", &joy_axis_min[0], &joy_axis_min[1], &joy_axis_min[2], &joy_axis_min[3], &joy_axis_min[4], &joy_axis_min[5], &joy_axis_min[6] ); - } - else if (!strcmp(token, joystick_max_str)) { - sscanf( value, "%d,%d,%d,%d,%d,%d,%d", &joy_axis_max[0], &joy_axis_max[1], &joy_axis_max[2], &joy_axis_max[3], &joy_axis_max[4], &joy_axis_max[5], &joy_axis_max[6] ); - } - else if (!strcmp(token, joystick_cen_str)) { - sscanf( value, "%d,%d,%d,%d,%d,%d,%d", &joy_axis_center[0], &joy_axis_center[1], &joy_axis_center[2], &joy_axis_center[3], &joy_axis_center[4], &joy_axis_center[5], &joy_axis_center[6] ); - } - } - } - PHYSFS_close(infile); - } -#endif + if (Config_render_width && Config_render_height) + Game_screen_mode = SM(Config_render_width,Config_render_height); + else + Game_screen_mode = SM(640,480); return 0; } @@ -409,660 +180,38 @@ int WriteConfigFile() { PHYSFS_file *infile; char str[256]; -/* int joy_axis_min[7]; - int joy_axis_center[7]; - int joy_axis_max[7];*/ ubyte gamma = gr_palette_get_gamma(); -/* joy_get_cal_vals(joy_axis_min, joy_axis_center, joy_axis_max); - -#ifdef WINDOWS - for (i=0;i<4;i++) - { - joy_axis_min[i]=DOSJoySaveMin[i]; - joy_axis_center[i]=DOSJoySaveCen[i]; - joy_axis_max[i]=DOSJoySaveMax[i]; - } -#endif*/ - infile = PHYSFSX_openWriteBuffered("descent.cfg"); + if (infile == NULL) { return 1; } - /*sprintf (str, "%s=0x%x\n", digi_dev8_str, Config_digi_type); + + sprintf (str, "%s=%d\n", DigiVolumeStr, Config_digi_volume); PHYSFSX_puts(infile, str); - sprintf (str, "%s=0x%x\n", digi_dev16_str, digi_driver_board_16); + sprintf (str, "%s=%d\n", MidiVolumeStr, Config_midi_volume); PHYSFSX_puts(infile, str); - sprintf (str, "%s=0x%x\n", digi_port_str, digi_driver_port); + sprintf (str, "%s=%d\n", RedbookVolumeStr, Config_redbook_volume); PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", digi_irq_str, digi_driver_irq); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", digi_dma8_str, Config_digi_dma); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", digi_dma16_str, digi_driver_dma_16); - PHYSFSX_puts(infile, str);*/ - sprintf (str, "%s=%d\n", digi_volume_str, Config_digi_volume); - PHYSFSX_puts(infile, str); - /*sprintf (str, "%s=0x%x\n", midi_dev_str, Config_midi_type); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=0x%x\n", midi_port_str, digi_midi_port); - PHYSFSX_puts(infile, str);*/ - sprintf (str, "%s=%d\n", midi_volume_str, Config_midi_volume); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", redbook_enabled_str, !GameArg.SndEnableRedbook?save_redbook_enabled:Redbook_enabled); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", redbook_volume_str, Config_redbook_volume); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", stereo_rev_str, Config_channels_reversed); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", gamma_level_str, gamma); + sprintf (str, "%s=%d\n", GammaLevelStr, gamma); PHYSFSX_puts(infile, str); if (Detail_level == NUM_DETAIL_LEVELS-1) - sprintf (str, "%s=%d,%d,%d,%d,%d,%d,%d\n", detail_level_str, Detail_level, + sprintf (str, "%s=%d,%d,%d,%d,%d,%d,%d\n", DetailLevelStr, Detail_level, Object_complexity,Object_detail,Wall_detail,Wall_render_depth,Debris_amount,SoundChannels); else - sprintf (str, "%s=%d\n", detail_level_str, Detail_level); + sprintf (str, "%s=%d\n", DetailLevelStr, Detail_level); PHYSFSX_puts(infile, str); - - sprintf (str, "%s=0,0,0,0\n", joystick_min_str/*, joy_axis_min[0], joy_axis_min[1], joy_axis_min[2], joy_axis_min[3]*/ ); + sprintf (str, "%s=%s\n", LastPlayerStr, Players[Player_num].callsign ); PHYSFSX_puts(infile, str); - sprintf (str, "%s=0,0,0,0\n", joystick_cen_str/*, joy_axis_center[0], joy_axis_center[1], joy_axis_center[2], joy_axis_center[3]*/ ); + sprintf (str, "%s=%s\n", LastMissionStr, config_last_mission ); PHYSFSX_puts(infile, str); - sprintf (str, "%s=0,0,0,0\n", joystick_max_str/*, joy_axis_max[0], joy_axis_max[1], joy_axis_max[2], joy_axis_max[3]*/ ); + sprintf (str, "%s=%i\n", ResolutionXStr, SM_W(Game_screen_mode)); PHYSFSX_puts(infile, str); - - sprintf (str, "%s=%s\n", last_player_str, Players[Player_num].callsign ); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%s\n", last_mission_str, config_last_mission ); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", config_vr_type_str, Config_vr_type ); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", config_vr_resolution_str, Config_vr_resolution ); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", config_vr_tracking_str, Config_vr_tracking ); - PHYSFSX_puts(infile, str); - sprintf (str, "%s=%d\n", movie_hires_str, (FindArg("-nohires") || FindArg("-nohighres") || FindArg("-lowresmovies"))?SaveMovieHires:GameArg.GfxMovieHires); + sprintf (str, "%s=%i\n", ResolutionYStr, SM_H(Game_screen_mode)); PHYSFSX_puts(infile, str); PHYSFS_close(infile); -#ifdef WINDOWS -{ -// Save Windows Config File - char joyname[256]; - - - joy_get_cal_vals(joy_axis_min, joy_axis_center, joy_axis_max); - - infile = PHYSFSX_openWriteBuffered("descentw.cfg"); - if (infile == NULL) return 1; - - sprintf(str, "%s=%d,%d,%d,%d,%d,%d,%d\n", joystick_min_str, - joy_axis_min[0], joy_axis_min[1], joy_axis_min[2], joy_axis_min[3], - joy_axis_min[4], joy_axis_min[5], joy_axis_min[6]); - cfputs(str, infile); - sprintf(str, "%s=%d,%d,%d,%d,%d,%d,%d\n", joystick_cen_str, - joy_axis_center[0], joy_axis_center[1], joy_axis_center[2], joy_axis_center[3], - joy_axis_center[4], joy_axis_center[5], joy_axis_center[6]); - cfputs(str, infile); - sprintf(str, "%s=%d,%d,%d,%d,%d,%d,%d\n", joystick_max_str, - joy_axis_max[0], joy_axis_max[1], joy_axis_max[2], joy_axis_max[3], - joy_axis_max[4], joy_axis_max[5], joy_axis_max[6]); - cfputs(str, infile); - - cfclose(infile); -} - CheckMovieAttributes(); -#endif - - return 0; -} - -#else // !defined(MACINTOSH) - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "error.h" -#include "pstypes.h" -#include "game.h" -#include "digi.h" -#include "kconfig.h" -#include "palette.h" -#include "joy.h" -#include "args.h" -#include "player.h" -#include "mission.h" -#include "prefs.h" // prefs file for configuration stuff -- from DeSalvo - -#ifdef RCS -static char rcsid[] = "$Id: config.c,v 1.1.1.1 2006/03/17 19:55:48 zicodxx Exp $"; -#endif - -#define MAX_CTB_LEN 512 - -typedef struct preferences { - ubyte digi_volume; - ubyte midi_volume; - ubyte stereo_reverse; - ubyte detail_level; - ubyte oc; // object complexity - ubyte od; // object detail - ubyte wd; // wall detail - ubyte wrd; // wall render depth - ubyte da; // debris amount - ubyte sc; // sound channels - ubyte gamma_level; - ubyte pixel_double; - int joy_axis_min[4]; - int joy_axis_max[4]; - int joy_axis_center[4]; - char lastplayer[CALLSIGN_LEN+1]; - char lastmission[MISSION_NAME_LEN+1]; - char ctb_config[MAX_CTB_LEN]; - int ctb_tool; - ubyte master_volume; - ubyte display_dialog; - ubyte change_resolution; - ubyte nosound; - ubyte nomidi; - ubyte sound_11k; - ubyte no_movies; - ubyte game_monitor; - ubyte redbook_volume; - ubyte enable_rave; - ubyte enable_input_sprockets; -} Preferences; - -char config_last_player[CALLSIGN_LEN+1] = ""; -char config_last_mission[MISSION_NAME_LEN+1] = ""; -char config_last_ctb_cfg[MAX_CTB_LEN] = ""; -int config_last_ctb_tool; -ubyte Config_master_volume = 4; -ubyte Config_digi_volume = 8; -ubyte Config_midi_volume = 8; -ubyte Config_redbook_volume = 8; -ubyte Config_control_type = 0; -ubyte Config_channels_reversed = 0; -ubyte Config_joystick_sensitivity = 8; - -int Config_vr_type = 0; -int Config_vr_resolution = 0; -int Config_vr_tracking = 0; - -extern sbyte Object_complexity, Object_detail, Wall_detail, Wall_render_depth, Debris_amount, SoundChannels; -extern void digi_set_master_volume( int volume ); - -void set_custom_detail_vars(void); - -static ubyte have_prefs = 0; - -// ------------------------------ Private Definitions -// ------------------------------ Private Types - -typedef struct -{ - Str31 fileName; - OSType creator; - OSType fileType; - OSType resType; - short resID; -} PrefsInfo, *PrefsInfoPtr, **PrefsInfoHandle; - -// ------------------------------ Private Variables - -static PrefsInfo prefsInfo; -static Boolean prefsInited = 0; - -// ------------------------------ Private Functions - -static void Pstrcpy(StringPtr dst, StringPtr src); -static void Pstrcat(StringPtr dst, StringPtr src); -static Boolean FindPrefsFile(short *prefVRefNum, long *prefDirID); - -// -------------------- Pstrcpy - -static void -Pstrcpy(StringPtr dst, StringPtr src) -{ - BlockMove(src, dst, (*src) + 1); -} - -// -------------------- Pstrcat - -static void -Pstrcat(StringPtr dst, StringPtr src) -{ - BlockMove(src + 1, dst + (*dst) + 1, *src); - *dst += *src; -} - -// -------------------- FindPrefsFile - -static Boolean -FindPrefsFile(short *prefVRefNum, long *prefDirID) -{ -OSErr theErr; -long response; -CInfoPBRec infoPB; - - if (! prefsInited) - return (0); - - theErr = Gestalt(gestaltFindFolderAttr, &response); - if (theErr == noErr && ((response >> gestaltFindFolderPresent) & 1)) - { - // Find (or make) it the easy way... - theErr = FindFolder(kOnSystemDisk, kPreferencesFolderType, kCreateFolder, prefVRefNum, prefDirID); - } - else - { - SysEnvRec theSysEnv; - StringPtr prefFolderName = "\pPreferences"; - - // yeachh -- we have to do it all by hand! - theErr = SysEnvirons(1, &theSysEnv); - if (theErr != noErr) - return (0); - - *prefVRefNum = theSysEnv.sysVRefNum; - - // Check whether Preferences folder already exists - infoPB.hFileInfo.ioCompletion = 0; - infoPB.hFileInfo.ioNamePtr = prefFolderName; - infoPB.hFileInfo.ioVRefNum = *prefVRefNum; - infoPB.hFileInfo.ioFDirIndex = 0; - infoPB.hFileInfo.ioDirID = 0; - - theErr = PBGetCatInfo(&infoPB, 0); - if (theErr == noErr) - { - *prefDirID = infoPB.hFileInfo.ioDirID; - } - else if (theErr == fnfErr) // Preferences doesn't already exist - { - HParamBlockRec dirPB; - - // Create "Preferences" folder - dirPB.fileParam.ioCompletion = 0; - dirPB.fileParam.ioVRefNum = *prefVRefNum; - dirPB.fileParam.ioNamePtr = prefFolderName; - dirPB.fileParam.ioDirID = 0; - - theErr = PBDirCreate(&dirPB, 0); - if (theErr == noErr) - *prefDirID = dirPB.fileParam.ioDirID; - } - } - - // If we make it here OK, create Preferences file if necessary - if (theErr == noErr) - { - infoPB.hFileInfo.ioCompletion = 0; - infoPB.hFileInfo.ioNamePtr = prefsInfo.fileName; - infoPB.hFileInfo.ioVRefNum = *prefVRefNum; - infoPB.hFileInfo.ioFDirIndex = 0; - infoPB.hFileInfo.ioDirID = *prefDirID; - - theErr = PBGetCatInfo(&infoPB, 0); - if (theErr == fnfErr) - { - theErr = HCreate(*prefVRefNum, *prefDirID, prefsInfo.fileName, prefsInfo.creator, prefsInfo.fileType); - if (theErr == noErr) - { - HCreateResFile(*prefVRefNum, *prefDirID, prefsInfo.fileName); - theErr = ResError(); - } - } - } - - return (theErr == noErr); -} - -// -------------------- InitPrefsFile - -#define UNKNOWN_TYPE 0x3f3f3f3f - -void -InitPrefsFile(OSType creator) -{ - OSErr err; -PrefsInfoHandle piHdl; - - if ((piHdl = (PrefsInfoHandle) GetResource('PRFI', 0)) == nil) - { - ProcessSerialNumber thePSN; - ProcessInfoRec thePIR; - FSSpec appSpec; - StringPtr app_string; - -#if 0 - GetCurrentProcess(&thePSN); - thePIR.processName = nil; - thePIR.processAppSpec = &appSpec; - - // Set default to '�pplication�Prefs', PREF 0 - err = GetProcessInformation(&thePSN, &thePIR); - if (err) - Int3(); -#endif - app_string = LMGetCurApName(); -// Pstrcpy(prefsInfo.fileName, appSpec.name); - Pstrcpy(prefsInfo.fileName, app_string); - Pstrcat(prefsInfo.fileName, "\p Preferences"); - - // Set creator to calling application's signature (should be able to - // Determine this automatically, but unable to for some reason) - prefsInfo.creator = creator; - prefsInfo.fileType = 'pref'; - prefsInfo.resType = 'pref'; - prefsInfo.resID = 0; - } - else - { - // Get Preferences file setup from PRFI 0 - BlockMove(*piHdl, &prefsInfo, sizeof (prefsInfo)); - ReleaseResource((Handle) piHdl); - - if (prefsInfo.creator == UNKNOWN_TYPE) - prefsInfo.creator = creator; - } - - prefsInited = 1; -} - -// -------------------- LoadPrefsFile - -OSErr -LoadPrefsFile(Handle prefsHdl) -{ -short prefVRefNum, prefRefNum; -long prefDirID; -OSErr theErr = noErr; -Handle origHdl; -Size prefSize, origSize; - - if (prefsHdl == nil) - return (nilHandleErr); - - prefSize = GetHandleSize(prefsHdl); - - if (! FindPrefsFile(&prefVRefNum, &prefDirID)) - return (fnfErr); - - prefRefNum = HOpenResFile(prefVRefNum, prefDirID, prefsInfo.fileName, fsRdWrPerm); - if (prefRefNum == -1) - return (ResError()); - - // Not finding the resource is not an error -- caller will use default data - if ((origHdl = Get1Resource(prefsInfo.resType, prefsInfo.resID)) != nil) - { - origSize = GetHandleSize(origHdl); - if (origSize > prefSize) // Extend handle for extra stored data - SetHandleSize(prefsHdl, origSize); - - BlockMove(*origHdl, *prefsHdl, origSize); - ReleaseResource(origHdl); - } - - CloseResFile(prefRefNum); - - if (theErr == noErr) - theErr = ResError(); - - return (theErr); -} - -// -------------------- SavePrefsFile - -OSErr -SavePrefsFile(Handle prefHdl) -{ -short prefVRefNum, prefRefNum; -long prefDirID; -Handle origHdl = nil; -Size origSize, prefSize; -OSErr theErr = noErr; - - if (! FindPrefsFile(&prefVRefNum, &prefDirID)) - return (fnfErr); - - if (prefHdl == nil) - return (nilHandleErr); - - prefSize = GetHandleSize(prefHdl); - - prefRefNum = HOpenResFile(prefVRefNum, prefDirID, prefsInfo.fileName, fsRdWrPerm); - if (prefRefNum == -1) - return (ResError()); - - if ((origHdl = Get1Resource(prefsInfo.resType, prefsInfo.resID)) != nil) - { - // Overwrite existing preferences - origSize = GetHandleSize(origHdl); - if (prefSize > origSize) - SetHandleSize(origHdl, prefSize); - - BlockMove(*prefHdl, *origHdl, prefSize); - ChangedResource(origHdl); - WriteResource(origHdl); - ReleaseResource(origHdl); - } - else - { - // Store specified preferences for the first time - AddResource(prefHdl, prefsInfo.resType, prefsInfo.resID, "\p"); - WriteResource(prefHdl); - DetachResource(prefHdl); - } - - CloseResFile(prefRefNum); - - if (theErr == noErr) - theErr = ResError(); - - return (theErr); -} - -// ------------------------------------------------------------------------------------------- - -/* - - This module provides the ability to save and load a preferences file in the - Preferences folder in the System Folder. An optional resource, PRFI 0, - is used to provide specifications for the preferences file (creator, etc.). - - Three functions are provided: - - void InitPrefsFile(OSType creator) - - This function will initialize the preferences file, that is, it will create - it in the appropriate place if it doesn't currently exist. It should be - called with the creator code for the application. Note that the creator - code specified in PRFI 0 (if any) will be used only if the creator code - passed to this function is '????'. Without the PRFI 0 resource, the default - specifications are: - - File Name: "{Application} Prefs" (i.e., the name of the app plus " Prefs" - Creator: the creator passed to InitPrefsFile - Type: 'PREF' - Pref Resource Type: 'PREF' - Pref Resource ID: 0 - - The PRFI 0 resource allows you to specify overrides for each of the above - values. This is useful for development, since the application name might - go through changes, but the preferences file name is held constant. - - OSErr LoadPrefsFile(Handle prefsHndl) - - This function will attempt to copy the data stored in the preferences - file to the given handle (which must be pre-allocated). If the handle is too - small, then it will be enlarged. If it is too large, it will not be resized. - The data in the preferences file (normally in PREF 0) will then be copied - into the handle. If the preferences file did not exist, the original data - in the handle will not change. - - OSErr SavePrefsFile(Handle prefsHndl) - - This function will attempt to save the given handle to the preferences - file. Its contents will completely replace the previous data (normally - the PREF 0 resource). - - In typical use, you will use InitPrefsFile once, then allocate a handle large - enough to contain your preferences data, and initialize it with default values. - Throughout the course of your program, the handle will undergo modification as - user preferences change. You can use SavePrefsFile anytime to update the - preferences file, or wait until program exit to do so. - -*/ - -int ReadConfigFile() -{ - int i; - OSErr err; - Handle prefs_handle; - Preferences *prefs; - char *p; - - if (!have_prefs) { // not initialized....get a handle to the preferences file - InitPrefsFile('DCT2'); - have_prefs = 1; - } - - prefs_handle = NewHandleClear(sizeof(Preferences)); // new prefs handle - if (prefs_handle == NULL) - return; - - prefs = (Preferences *)(*prefs_handle); - err = LoadPrefsFile(prefs_handle); - if (err) { - DisposeHandle(prefs_handle); - return -1; - } - - p = (char *)prefs; - for (i = 0; i < sizeof(Preferences); i++) { - if (*p != 0) - break; - p++; - } - if ( i == sizeof(Preferences) ) - return -1; - - Config_digi_volume = prefs->digi_volume; - Config_midi_volume = prefs->midi_volume; - Config_master_volume = prefs->master_volume; - Config_redbook_volume = prefs->redbook_volume; - Config_channels_reversed = prefs->stereo_reverse; - gr_palette_set_gamma( (int)(prefs->gamma_level) ); - - Scanline_double = (int)prefs->pixel_double; - if ( PAEnabled ) - Scanline_double = 0; // can't double with hardware acceleration - - Detail_level = prefs->detail_level; - if (Detail_level == NUM_DETAIL_LEVELS-1) { - Object_complexity = prefs->oc; - Object_detail = prefs->od; - Wall_detail = prefs->wd; - Wall_render_depth = prefs->wrd; - Debris_amount = prefs->da; - SoundChannels = prefs->sc; - set_custom_detail_vars(); - } - - strncpy( config_last_player, prefs->lastplayer, CALLSIGN_LEN ); - p = strchr(config_last_player, '\n' ); - if (p) *p = 0; - - strncpy(config_last_mission, prefs->lastmission, MISSION_NAME_LEN); - p = strchr(config_last_mission, '\n' ); - if (p) *p = 0; - - strcpy(config_last_ctb_cfg, prefs->ctb_config); - - if ( Config_digi_volume > 8 ) Config_digi_volume = 8; - - if ( Config_midi_volume > 8 ) Config_midi_volume = 8; - - joy_set_cal_vals( prefs->joy_axis_min, prefs->joy_axis_center, prefs->joy_axis_max); - digi_set_volume( (Config_digi_volume*256)/8, (Config_midi_volume*256)/8 ); - digi_set_master_volume(Config_master_volume); - - gConfigInfo.mDoNotDisplayOptions = prefs->display_dialog; - gConfigInfo.mUse11kSounds = prefs->sound_11k; - gConfigInfo.mDisableSound = prefs->nosound; - gConfigInfo.mDisableMIDIMusic = prefs->nomidi; - gConfigInfo.mChangeResolution = prefs->change_resolution; - gConfigInfo.mDoNotPlayMovies = prefs->no_movies; - gConfigInfo.mGameMonitor = prefs->game_monitor; - gConfigInfo.mAcceleration = prefs->enable_rave; - gConfigInfo.mInputSprockets = prefs->enable_input_sprockets; - - DisposeHandle(prefs_handle); return 0; } - -int WriteConfigFile() -{ - OSErr err; - Handle prefs_handle; - Preferences *prefs; - - prefs_handle = NewHandleClear(sizeof(Preferences)); // new prefs handle - if (prefs_handle == NULL) - return; - - prefs = (Preferences *)(*prefs_handle); - - joy_get_cal_vals(prefs->joy_axis_min, prefs->joy_axis_center, prefs->joy_axis_max); - prefs->digi_volume = Config_digi_volume; - prefs->midi_volume = Config_midi_volume; - prefs->stereo_reverse = Config_channels_reversed; - prefs->detail_level = Detail_level; - if (Detail_level == NUM_DETAIL_LEVELS-1) { - prefs->oc = Object_complexity; - prefs->od = Object_detail; - prefs->wd = Wall_detail; - prefs->wrd = Wall_render_depth; - prefs->da = Debris_amount; - prefs->sc = SoundChannels; - } - prefs->gamma_level = (ubyte)gr_palette_get_gamma(); - - if ( !PAEnabled ) - prefs->pixel_double = (ubyte)Scanline_double; // hmm..don't write this out if doing hardware accel. - - strncpy( prefs->lastplayer, Players[Player_num].callsign, CALLSIGN_LEN ); - strncpy( prefs->lastmission, config_last_mission, MISSION_NAME_LEN ); - strcpy( prefs->ctb_config, config_last_ctb_cfg); - prefs->ctb_tool = config_last_ctb_tool; - prefs->master_volume = Config_master_volume; - prefs->display_dialog = gConfigInfo.mDoNotDisplayOptions; - prefs->change_resolution = gConfigInfo.mChangeResolution; - prefs->nosound = gConfigInfo.mDisableSound; - prefs->nomidi = gConfigInfo.mDisableMIDIMusic; - prefs->sound_11k = gConfigInfo.mUse11kSounds; - prefs->no_movies = gConfigInfo.mDoNotPlayMovies; - prefs->game_monitor = gConfigInfo.mGameMonitor; - prefs->redbook_volume = Config_redbook_volume; - prefs->enable_rave = gConfigInfo.mAcceleration; - prefs->enable_input_sprockets = gConfigInfo.mInputSprockets; - - err = SavePrefsFile(prefs_handle); - DisposeHandle(prefs_handle); - return (int)err; -} - -#endif - diff --git a/main/credits.c b/main/credits.c index ea86cb885..802f54994 100755 --- a/main/credits.c +++ b/main/credits.c @@ -56,7 +56,6 @@ static char rcsid[] = "$Id: credits.c,v 1.1.1.1 2006/03/17 19:56:57 zicodxx Exp #include "cfile.h" #include "text.h" #include "songs.h" -#include "menu.h" // for MenuHires #ifdef OGL #include "ogl_init.h" #endif @@ -65,9 +64,9 @@ static char rcsid[] = "$Id: credits.c,v 1.1.1.1 2006/03/17 19:56:57 zicodxx Exp #define NUM_LINES 20 //14 #define CREDITS_FILE (cfexist("mcredits.tex")?"mcredits.tex":cfexist("ocredits.tex")?"ocredits.tex":"credits.tex") #ifdef RELEASE -#define CREDITS_BACKGROUND_FILENAME (MenuHires?"\x01starsb.pcx":"\x01stars.pcx") //only read from hog file +#define CREDITS_BACKGROUND_FILENAME (HiresGFX?"\x01starsb.pcx":"\x01stars.pcx") //only read from hog file #else -#define CREDITS_BACKGROUND_FILENAME (MenuHires?"starsb.pcx":"stars.pcx") +#define CREDITS_BACKGROUND_FILENAME (HiresGFX?"starsb.pcx":"stars.pcx") #endif #ifdef SHAREWARE #define ALLOWED_CHAR 'S' @@ -166,9 +165,9 @@ void credits_show(char *credits_filename) #ifdef OGL gr_palette_load(gr_palette); #endif - header_font = gr_init_font( MenuHires?"font1-1h.fnt":"font1-1.fnt" ); - title_font = gr_init_font( MenuHires?"font2-3h.fnt":"font2-3.fnt" ); - names_font = gr_init_font( MenuHires?"font2-2h.fnt":"font2-2.fnt" ); + header_font = gr_init_font( HiresGFX?"font1-1h.fnt":"font1-1.fnt" ); + title_font = gr_init_font( HiresGFX?"font2-3h.fnt":"font2-3.fnt" ); + names_font = gr_init_font( HiresGFX?"font2-2h.fnt":"font2-2.fnt" ); backdrop.bm_data=NULL; //MWA Made backdrop bitmap linear since it should always be. the current canvas may not diff --git a/main/game.c b/main/game.c index 38eee6514..41a16704a 100755 --- a/main/game.c +++ b/main/game.c @@ -138,7 +138,6 @@ char game_rcsid[] = "$Id: game.c,v 1.1.1.1 2006/03/17 19:55:53 zicodxx Exp $"; extern void ReadControls(void); // located in gamecntl.c -extern int Current_display_mode; extern void do_final_boss_frame(void); int Speedtest_on = 0; @@ -180,11 +179,6 @@ grs_canvas VR_render_buffer[2]; // Two offscreen buffers for left/right eye grs_canvas VR_render_sub_buffer[2]; // Two sub buffers for left/right eyes. grs_canvas VR_editor_canvas; // The canvas that the editor writes to. -//do menus work in 640x480 or 320x200? -//PC version sets this in main(). Mac versios is always high-res, so set to 1 here -int MenuHiresAvailable = 1; //can we do highres menus? -int MenuHires = 1; //are we currently in highres menus? - int Debug_pause=0; //John's debugging pause system int Cockpit_mode=CM_FULL_COCKPIT; //set game.h for values @@ -323,7 +317,7 @@ void init_cockpit() } #ifndef OGL - if ((SWIDTH == 320 && SHEIGHT == 200) || (MenuHiresAvailable && (SWIDTH == 640 && SHEIGHT == 480))) + if ((SWIDTH == 320 && SHEIGHT == 200) || (HiresGFXAvailable && (SWIDTH == 640 && SHEIGHT == 480))) #endif { VR_screen_flags = VRF_ALLOW_COCKPIT; @@ -351,7 +345,7 @@ void init_cockpit() break; case CM_STATUS_BAR: - game_init_render_sub_buffers( 0, 0, SWIDTH, (Current_display_mode?(SHEIGHT*2)/2.6:(SHEIGHT*2)/2.72) ); + game_init_render_sub_buffers( 0, 0, SWIDTH, (HiresGFX?(SHEIGHT*2)/2.6:(SHEIGHT*2)/2.72) ); break; case CM_LETTERBOX: @@ -469,35 +463,12 @@ void set_popup_screen(void) //mode if cannot init requested mode) int set_screen_mode(int sm) { -#if 0 //def EDITOR - if ( (sm==SCREEN_MENU) && (Screen_mode==SCREEN_EDITOR) ) { - gr_set_current_canvas( Canv_editor ); - return 1; - } -#endif + if (HiresGFXAvailable && grd_curscreen->sc_w >= 640 && grd_curscreen->sc_h >= 480) + HiresGFX = 1; + else + HiresGFX = 0; - if (MenuHiresAvailable && FontHiresAvailable && (grd_curscreen->sc_w >= 640) && (grd_curscreen->sc_h >= 480)) { - Current_display_mode = MenuHires = FontHires = 1; - } else { - Current_display_mode = MenuHires = FontHires = 0; - } - - if ( Screen_mode == sm && grd_curscreen->sc_mode == Game_screen_mode) { - gr_set_current_canvas(NULL); - return 1; - } - - if ( (Screen_mode == sm) && - !((sm==SCREEN_GAME) && - (grd_curscreen->sc_mode != Game_screen_mode)) && - !((sm==SCREEN_MENU) && - (grd_curscreen->sc_mode != MENU_SCREEN_MODE)) ) { - gr_set_current_canvas(NULL); -#ifndef OGL - gr_set_draw_buffer(0); // Set to the front buffer -#endif - return 1; - } + gr_set_current_canvas(NULL); #ifdef EDITOR Canv_editor = NULL; @@ -512,10 +483,9 @@ int set_screen_mode(int sm) if (GameArg.CtlGrabMouse) SDL_WM_GrabInput(SDL_GRAB_OFF); - if (grd_curscreen->sc_mode != MENU_SCREEN_MODE) { - if (gr_set_mode(MENU_SCREEN_MODE)) Error("Cannot set screen mode for game!"); - gr_palette_load( gr_palette ); - } + if (grd_curscreen->sc_mode != Game_screen_mode) + if (gr_set_mode(Game_screen_mode)) + Error("Cannot set screen mode."); break; case SCREEN_GAME: @@ -523,14 +493,11 @@ int set_screen_mode(int sm) if (GameArg.CtlGrabMouse && (Newdemo_state != ND_STATE_PLAYBACK)) SDL_WM_GrabInput(SDL_GRAB_ON); - if (grd_curscreen->sc_mode != Game_screen_mode) { - if (gr_set_mode(Game_screen_mode)) { - Error("Cannot set desired screen mode for game!"); - //we probably should do something else here, like select a standard mode - } - reset_cockpit(); - } - + if (grd_curscreen->sc_mode != Game_screen_mode) + if (gr_set_mode(Game_screen_mode)) + Error("Cannot set screen mode."); + + reset_cockpit(); init_cockpit(); con_resize(); diff --git a/main/gamefont.c b/main/gamefont.c index bb8adb37b..000dff709 100755 --- a/main/gamefont.c +++ b/main/gamefont.c @@ -33,10 +33,6 @@ static char rcsid[] = "$Id: gamefont.c,v 1.1.1.1 2006/03/17 19:56:39 zicodxx Exp #include "gamefont.h" #include "args.h" -// if 1, use high-res versions of fonts -int FontHires = 0; -int FontHiresAvailable = 0; - char * Gamefont_filenames[] = { "font1-1.fnt", // Font 0 "font1-1h.fnt", // Font 0 High-res "font2-1.fnt", // Font 1 @@ -61,7 +57,6 @@ void gamefont_init() return; Gamefont_installed = 1; - FontHiresAvailable = 1; for (i = 0; i < MAX_FONTS; i += 2) Gamefonts[i] = gr_init_font(Gamefont_filenames[i]); @@ -69,7 +64,7 @@ void gamefont_init() { Gamefonts[i] = gr_init_font(Gamefont_filenames[i]); if (!Gamefonts[i]) - FontHiresAvailable = 0; + HiresGFXAvailable = 0; } atexit(gamefont_close); diff --git a/main/gamefont.h b/main/gamefont.h index ce60cd86f..2ae68b131 100755 --- a/main/gamefont.h +++ b/main/gamefont.h @@ -36,11 +36,11 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #define GFONT_MEDIUM_3 6 #define GFONT_SMALL 8 -#define SMALL_FONT (Gamefonts[GFONT_SMALL + FontHires]) -#define MEDIUM1_FONT (Gamefonts[GFONT_MEDIUM_1 + FontHires]) -#define MEDIUM2_FONT (Gamefonts[GFONT_MEDIUM_2 + FontHires]) -#define MEDIUM3_FONT (Gamefonts[GFONT_MEDIUM_3 + FontHires]) -#define HUGE_FONT (Gamefonts[GFONT_BIG_1 + FontHires]) +#define SMALL_FONT (Gamefonts[GFONT_SMALL + HiresGFX]) +#define MEDIUM1_FONT (Gamefonts[GFONT_MEDIUM_1 + HiresGFX]) +#define MEDIUM2_FONT (Gamefonts[GFONT_MEDIUM_2 + HiresGFX]) +#define MEDIUM3_FONT (Gamefonts[GFONT_MEDIUM_3 + HiresGFX]) +#define HUGE_FONT (Gamefonts[GFONT_BIG_1 + HiresGFX]) #define GAME_FONT SMALL_FONT @@ -51,7 +51,4 @@ extern grs_font *Gamefonts[MAX_FONTS]; void gamefont_init(); void gamefont_close(); -extern int FontHires; -extern int FontHiresAvailable; - #endif /* _GAMEFONT_H */ diff --git a/main/gamerend.c b/main/gamerend.c index 0adf6348c..92ffa022e 100755 --- a/main/gamerend.c +++ b/main/gamerend.c @@ -67,7 +67,6 @@ static char rcsid[] = "$Id: gamerend.c,v 1.1.1.1 2006/03/17 19:57:07 zicodxx Exp extern fix Cruise_speed; extern int LinearSVGABuffer; -extern int Current_display_mode; extern cvar_t r_framerate; @@ -755,8 +754,8 @@ void update_cockpits(int force_redraw) grs_bitmap *bm; - PIGGY_PAGE_IN(cockpit_bitmap[Cockpit_mode+(Current_display_mode?(Num_cockpits/2):0)]); - bm=&GameBitmaps[cockpit_bitmap[Cockpit_mode+(Current_display_mode?(Num_cockpits/2):0)].index]; + PIGGY_PAGE_IN(cockpit_bitmap[Cockpit_mode+(HiresGFX?(Num_cockpits/2):0)]); + bm=&GameBitmaps[cockpit_bitmap[Cockpit_mode+(HiresGFX?(Num_cockpits/2):0)].index]; //Redraw the on-screen cockpit bitmaps if (VR_render_mode != VR_NONE ) return; @@ -782,7 +781,7 @@ void update_cockpits(int force_redraw) #ifdef OGL bm->bm_flags |= BM_FLAG_TRANSPARENT; bm->bm_flags |= BM_FLAG_COCKPIT_TRANSPARENT; - ogl_ubitmapm_cs (0, (Current_display_mode?(SHEIGHT*2)/2.6:(SHEIGHT*2)/2.72), -1, ((int) ((double) (bm->bm_h) * (Current_display_mode?(double)grd_curscreen->sc_h/480:(double)grd_curscreen->sc_h/200) + 0.5)), bm,255, F1_0); + ogl_ubitmapm_cs (0, (HiresGFX?(SHEIGHT*2)/2.6:(SHEIGHT*2)/2.72), -1, ((int) ((double) (bm->bm_h) * (HiresGFX?(double)grd_curscreen->sc_h/480:(double)grd_curscreen->sc_h/200) + 0.5)), bm,255, F1_0); #else gr_ubitmapm(0,grd_curscreen->sc_h-bm->bm_h,bm); #endif diff --git a/main/gameseq.c b/main/gameseq.c index 15369744c..f972173c1 100755 --- a/main/gameseq.c +++ b/main/gameseq.c @@ -748,12 +748,6 @@ do_menu_again: Auto_leveling_on = Default_leveling_on; - if (menu_use_game_res) { // ZICO - set players resolution after player is selected - gr_set_mode(Game_screen_mode); - set_screen_mode(SCREEN_GAME); - } /*else - set_display_mode(Default_display_mode);*/ - WriteConfigFile(); // Update lastplr return 1; @@ -929,7 +923,7 @@ 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 ((MenuHires && cfexist("starsb.pcx"))?"starsb.pcx":cfexist("stars.pcx")?"stars.pcx":"starsb.pcx") +#define STARS_BACKGROUND ((HiresGFX && cfexist("starsb.pcx"))?"starsb.pcx":cfexist("stars.pcx")?"stars.pcx":"starsb.pcx") // ----------------------------------------------------------------------------- // Does the bonus scoring. @@ -1912,7 +1906,6 @@ struct { #define NUM_INTRO_MOVIES (sizeof(intro_movie) / sizeof(*intro_movie)) -extern int MenuHiresAvailable; extern int robot_movies; //0 means none, 1 means lowres, 2 means hires extern int intro_played; //true if big intro movie played @@ -1953,26 +1946,7 @@ void ShowLevelIntro(int level_num) } } -#if 0 - if (robot_movies) - { - int hires_save=MenuHiresAvailable; - - if (robot_movies == 1) //lowres only - { - MenuHiresAvailable = 0; //pretend we can't do highres - - if (hires_save != MenuHiresAvailable) - Screen_mode = -1; //force reset - - } -#endif - do_briefing_screens ("robot.tex",level_num); -#if 0 - MenuHiresAvailable = hires_save; - } -#endif - + do_briefing_screens ("robot.tex",level_num); } } else { //not the built-in mission. check for add-on briefing diff --git a/main/gauges.c b/main/gauges.c index 29d24316e..c6a885155 100755 --- a/main/gauges.c +++ b/main/gauges.c @@ -135,14 +135,12 @@ ubyte Reticle_on=1; #define FLAG_ICON_RED 72 #define FLAG_ICON_BLUE 73 -extern int Current_display_mode; - /* Use static inline function under GCC to avoid CR/LF issues */ #ifdef __GNUC__ #define PAGE_IN_GAUGE(x) _page_in_gauge(x) static inline void _page_in_gauge(int x) { - if (Current_display_mode) { + if (HiresGFX) { PIGGY_PAGE_IN(Gauges_hires[x]); } else { PIGGY_PAGE_IN(Gauges[x]); @@ -152,7 +150,7 @@ static inline void _page_in_gauge(int x) #else #define PAGE_IN_GAUGE(x) \ do { \ - if (Current_display_mode) { \ + if (HiresGFX) { \ PIGGY_PAGE_IN(Gauges_hires[x]); \ } else { \ PIGGY_PAGE_IN(Gauges[x]); \ @@ -161,7 +159,7 @@ static inline void _page_in_gauge(int x) // #endif #endif -#define GET_GAUGE_INDEX(x) ((Current_display_mode)?Gauges_hires[x].index:Gauges[x].index) +#define GET_GAUGE_INDEX(x) ((HiresGFX)?Gauges_hires[x].index:Gauges[x].index) //change MAX_GAUGE_BMS when adding gauges @@ -169,8 +167,8 @@ static inline void _page_in_gauge(int x) // scaling gauges #ifdef OGL -#define HUD_SCALE_X(v) ((int) ((double) (v) * (Current_display_mode?(double)grd_curscreen->sc_w/640:(double)grd_curscreen->sc_w/320) + 0.5)) -#define HUD_SCALE_Y(v) ((int) ((double) (v) * (Current_display_mode?(double)grd_curscreen->sc_h/480:(double)grd_curscreen->sc_h/200) + 0.5)) +#define HUD_SCALE_X(v) ((int) ((double) (v) * (HiresGFX?(double)grd_curscreen->sc_w/640:(double)grd_curscreen->sc_w/320) + 0.5)) +#define HUD_SCALE_Y(v) ((int) ((double) (v) * (HiresGFX?(double)grd_curscreen->sc_h/480:(double)grd_curscreen->sc_h/200) + 0.5)) #else #define HUD_SCALE_X(v) (v) #define HUD_SCALE_Y(v) (v) @@ -200,28 +198,28 @@ inline void hud_bitblt (int x, int y, grs_bitmap *bm, int scale) #define GAUGE_BLUE_KEY_Y_L 152 #define GAUGE_BLUE_KEY_X_H 535 #define GAUGE_BLUE_KEY_Y_H 374 -#define GAUGE_BLUE_KEY_X (Current_display_mode?GAUGE_BLUE_KEY_X_H:GAUGE_BLUE_KEY_X_L) -#define GAUGE_BLUE_KEY_Y (Current_display_mode?GAUGE_BLUE_KEY_Y_H:GAUGE_BLUE_KEY_Y_L) +#define GAUGE_BLUE_KEY_X (HiresGFX?GAUGE_BLUE_KEY_X_H:GAUGE_BLUE_KEY_X_L) +#define GAUGE_BLUE_KEY_Y (HiresGFX?GAUGE_BLUE_KEY_Y_H:GAUGE_BLUE_KEY_Y_L) #define GAUGE_GOLD_KEY_X_L 273 #define GAUGE_GOLD_KEY_Y_L 162 #define GAUGE_GOLD_KEY_X_H 537 #define GAUGE_GOLD_KEY_Y_H 395 -#define GAUGE_GOLD_KEY_X (Current_display_mode?GAUGE_GOLD_KEY_X_H:GAUGE_GOLD_KEY_X_L) -#define GAUGE_GOLD_KEY_Y (Current_display_mode?GAUGE_GOLD_KEY_Y_H:GAUGE_GOLD_KEY_Y_L) +#define GAUGE_GOLD_KEY_X (HiresGFX?GAUGE_GOLD_KEY_X_H:GAUGE_GOLD_KEY_X_L) +#define GAUGE_GOLD_KEY_Y (HiresGFX?GAUGE_GOLD_KEY_Y_H:GAUGE_GOLD_KEY_Y_L) #define GAUGE_RED_KEY_X_L 274 #define GAUGE_RED_KEY_Y_L 172 #define GAUGE_RED_KEY_X_H 539 #define GAUGE_RED_KEY_Y_H 416 -#define GAUGE_RED_KEY_X (Current_display_mode?GAUGE_RED_KEY_X_H:GAUGE_RED_KEY_X_L) -#define GAUGE_RED_KEY_Y (Current_display_mode?GAUGE_RED_KEY_Y_H:GAUGE_RED_KEY_Y_L) +#define GAUGE_RED_KEY_X (HiresGFX?GAUGE_RED_KEY_X_H:GAUGE_RED_KEY_X_L) +#define GAUGE_RED_KEY_Y (HiresGFX?GAUGE_RED_KEY_Y_H:GAUGE_RED_KEY_Y_L) // status bar keys #define SB_GAUGE_KEYS_X_L 11 #define SB_GAUGE_KEYS_X_H 26 -#define SB_GAUGE_KEYS_X (Current_display_mode?SB_GAUGE_KEYS_X_H:SB_GAUGE_KEYS_X_L) +#define SB_GAUGE_KEYS_X (HiresGFX?SB_GAUGE_KEYS_X_H:SB_GAUGE_KEYS_X_L) #define SB_GAUGE_BLUE_KEY_Y_L 153 #define SB_GAUGE_GOLD_KEY_Y_L 169 @@ -231,9 +229,9 @@ inline void hud_bitblt (int x, int y, grs_bitmap *bm, int scale) #define SB_GAUGE_GOLD_KEY_Y_H 422 #define SB_GAUGE_RED_KEY_Y_H 454 -#define SB_GAUGE_BLUE_KEY_Y (Current_display_mode?SB_GAUGE_BLUE_KEY_Y_H:SB_GAUGE_BLUE_KEY_Y_L) -#define SB_GAUGE_GOLD_KEY_Y (Current_display_mode?SB_GAUGE_GOLD_KEY_Y_H:SB_GAUGE_GOLD_KEY_Y_L) -#define SB_GAUGE_RED_KEY_Y (Current_display_mode?SB_GAUGE_RED_KEY_Y_H:SB_GAUGE_RED_KEY_Y_L) +#define SB_GAUGE_BLUE_KEY_Y (HiresGFX?SB_GAUGE_BLUE_KEY_Y_H:SB_GAUGE_BLUE_KEY_Y_L) +#define SB_GAUGE_GOLD_KEY_Y (HiresGFX?SB_GAUGE_GOLD_KEY_Y_H:SB_GAUGE_GOLD_KEY_Y_L) +#define SB_GAUGE_RED_KEY_Y (HiresGFX?SB_GAUGE_RED_KEY_Y_H:SB_GAUGE_RED_KEY_Y_L) // cockpit enery gauges @@ -247,15 +245,15 @@ inline void hud_bitblt (int x, int y, grs_bitmap *bm, int scale) #define LEFT_ENERGY_GAUGE_W_H 133 #define LEFT_ENERGY_GAUGE_H_H 21 -#define LEFT_ENERGY_GAUGE_X (Current_display_mode?LEFT_ENERGY_GAUGE_X_H:LEFT_ENERGY_GAUGE_X_L) -#define LEFT_ENERGY_GAUGE_Y (Current_display_mode?LEFT_ENERGY_GAUGE_Y_H:LEFT_ENERGY_GAUGE_Y_L) -#define LEFT_ENERGY_GAUGE_W (Current_display_mode?LEFT_ENERGY_GAUGE_W_H:LEFT_ENERGY_GAUGE_W_L) -#define LEFT_ENERGY_GAUGE_H (Current_display_mode?LEFT_ENERGY_GAUGE_H_H:LEFT_ENERGY_GAUGE_H_L) +#define LEFT_ENERGY_GAUGE_X (HiresGFX?LEFT_ENERGY_GAUGE_X_H:LEFT_ENERGY_GAUGE_X_L) +#define LEFT_ENERGY_GAUGE_Y (HiresGFX?LEFT_ENERGY_GAUGE_Y_H:LEFT_ENERGY_GAUGE_Y_L) +#define LEFT_ENERGY_GAUGE_W (HiresGFX?LEFT_ENERGY_GAUGE_W_H:LEFT_ENERGY_GAUGE_W_L) +#define LEFT_ENERGY_GAUGE_H (HiresGFX?LEFT_ENERGY_GAUGE_H_H:LEFT_ENERGY_GAUGE_H_L) -#define RIGHT_ENERGY_GAUGE_X (Current_display_mode?379:190) -#define RIGHT_ENERGY_GAUGE_Y (Current_display_mode?314:131) -#define RIGHT_ENERGY_GAUGE_W (Current_display_mode?133:64) -#define RIGHT_ENERGY_GAUGE_H (Current_display_mode?21:8) +#define RIGHT_ENERGY_GAUGE_X (HiresGFX?379:190) +#define RIGHT_ENERGY_GAUGE_Y (HiresGFX?314:131) +#define RIGHT_ENERGY_GAUGE_W (HiresGFX?133:64) +#define RIGHT_ENERGY_GAUGE_H (HiresGFX?21:8) // cockpit afterburner gauge @@ -269,90 +267,90 @@ inline void hud_bitblt (int x, int y, grs_bitmap *bm, int scale) #define AFTERBURNER_GAUGE_W_H 21 #define AFTERBURNER_GAUGE_H_H 65 -#define AFTERBURNER_GAUGE_X (Current_display_mode?AFTERBURNER_GAUGE_X_H:AFTERBURNER_GAUGE_X_L) -#define AFTERBURNER_GAUGE_Y (Current_display_mode?AFTERBURNER_GAUGE_Y_H:AFTERBURNER_GAUGE_Y_L) -#define AFTERBURNER_GAUGE_W (Current_display_mode?AFTERBURNER_GAUGE_W_H:AFTERBURNER_GAUGE_W_L) -#define AFTERBURNER_GAUGE_H (Current_display_mode?AFTERBURNER_GAUGE_H_H:AFTERBURNER_GAUGE_H_L) +#define AFTERBURNER_GAUGE_X (HiresGFX?AFTERBURNER_GAUGE_X_H:AFTERBURNER_GAUGE_X_L) +#define AFTERBURNER_GAUGE_Y (HiresGFX?AFTERBURNER_GAUGE_Y_H:AFTERBURNER_GAUGE_Y_L) +#define AFTERBURNER_GAUGE_W (HiresGFX?AFTERBURNER_GAUGE_W_H:AFTERBURNER_GAUGE_W_L) +#define AFTERBURNER_GAUGE_H (HiresGFX?AFTERBURNER_GAUGE_H_H:AFTERBURNER_GAUGE_H_L) // sb energy gauge -#define SB_ENERGY_GAUGE_X (Current_display_mode?196:98) -#define SB_ENERGY_GAUGE_Y (Current_display_mode?381:(155-2)) -#define SB_ENERGY_GAUGE_W (Current_display_mode?32:16) -#define SB_ENERGY_GAUGE_H (Current_display_mode?60:29) +#define SB_ENERGY_GAUGE_X (HiresGFX?196:98) +#define SB_ENERGY_GAUGE_Y (HiresGFX?381:(155-2)) +#define SB_ENERGY_GAUGE_W (HiresGFX?32:16) +#define SB_ENERGY_GAUGE_H (HiresGFX?60:29) // sb afterburner gauge -#define SB_AFTERBURNER_GAUGE_X (Current_display_mode?196:98) -#define SB_AFTERBURNER_GAUGE_Y (Current_display_mode?445:184) -#define SB_AFTERBURNER_GAUGE_W (Current_display_mode?32:16) -#define SB_AFTERBURNER_GAUGE_H (Current_display_mode?29:13) +#define SB_AFTERBURNER_GAUGE_X (HiresGFX?196:98) +#define SB_AFTERBURNER_GAUGE_Y (HiresGFX?445:184) +#define SB_AFTERBURNER_GAUGE_W (HiresGFX?32:16) +#define SB_AFTERBURNER_GAUGE_H (HiresGFX?29:13) -#define SB_ENERGY_NUM_X (SB_ENERGY_GAUGE_X+(Current_display_mode?4:2)) -#define SB_ENERGY_NUM_Y (Current_display_mode?457:175) +#define SB_ENERGY_NUM_X (SB_ENERGY_GAUGE_X+(HiresGFX?4:2)) +#define SB_ENERGY_NUM_Y (HiresGFX?457:175) -#define SHIELD_GAUGE_X (Current_display_mode?292:146) -#define SHIELD_GAUGE_Y (Current_display_mode?374:155) -#define SHIELD_GAUGE_W (Current_display_mode?70:35) -#define SHIELD_GAUGE_H (Current_display_mode?77:32) +#define SHIELD_GAUGE_X (HiresGFX?292:146) +#define SHIELD_GAUGE_Y (HiresGFX?374:155) +#define SHIELD_GAUGE_W (HiresGFX?70:35) +#define SHIELD_GAUGE_H (HiresGFX?77:32) -#define SHIP_GAUGE_X (SHIELD_GAUGE_X+(Current_display_mode?11:5)) -#define SHIP_GAUGE_Y (SHIELD_GAUGE_Y+(Current_display_mode?10:5)) +#define SHIP_GAUGE_X (SHIELD_GAUGE_X+(HiresGFX?11:5)) +#define SHIP_GAUGE_Y (SHIELD_GAUGE_Y+(HiresGFX?10:5)) -#define SB_SHIELD_GAUGE_X (Current_display_mode?247:123) //139 -#define SB_SHIELD_GAUGE_Y (Current_display_mode?395:163) +#define SB_SHIELD_GAUGE_X (HiresGFX?247:123) //139 +#define SB_SHIELD_GAUGE_Y (HiresGFX?395:163) -#define SB_SHIP_GAUGE_X (SB_SHIELD_GAUGE_X+(Current_display_mode?11:5)) -#define SB_SHIP_GAUGE_Y (SB_SHIELD_GAUGE_Y+(Current_display_mode?10:5)) +#define SB_SHIP_GAUGE_X (SB_SHIELD_GAUGE_X+(HiresGFX?11:5)) +#define SB_SHIP_GAUGE_Y (SB_SHIELD_GAUGE_Y+(HiresGFX?10:5)) -#define SB_SHIELD_NUM_X (SB_SHIELD_GAUGE_X+(Current_display_mode?21:12)) //151 -#define SB_SHIELD_NUM_Y (SB_SHIELD_GAUGE_Y-(Current_display_mode?16:8)) //156 -- MWA used to be hard coded to 156 +#define SB_SHIELD_NUM_X (SB_SHIELD_GAUGE_X+(HiresGFX?21:12)) //151 +#define SB_SHIELD_NUM_Y (SB_SHIELD_GAUGE_Y-(HiresGFX?16:8)) //156 -- MWA used to be hard coded to 156 -#define NUMERICAL_GAUGE_X (Current_display_mode?308:154) -#define NUMERICAL_GAUGE_Y (Current_display_mode?314:130) -#define NUMERICAL_GAUGE_W (Current_display_mode?38:19) -#define NUMERICAL_GAUGE_H (Current_display_mode?55:22) +#define NUMERICAL_GAUGE_X (HiresGFX?308:154) +#define NUMERICAL_GAUGE_Y (HiresGFX?314:130) +#define NUMERICAL_GAUGE_W (HiresGFX?38:19) +#define NUMERICAL_GAUGE_H (HiresGFX?55:22) -#define PRIMARY_W_PIC_X (Current_display_mode?(135-10):64) -#define PRIMARY_W_PIC_Y (Current_display_mode?370:154) -#define PRIMARY_W_TEXT_X HUD_SCALE_X(Current_display_mode?182:87) -#define PRIMARY_W_TEXT_Y HUD_SCALE_Y(Current_display_mode?400:157) -#define PRIMARY_AMMO_X HUD_SCALE_X(Current_display_mode?186:(96-3)) -#define PRIMARY_AMMO_Y HUD_SCALE_Y(Current_display_mode?420:171) +#define PRIMARY_W_PIC_X (HiresGFX?(135-10):64) +#define PRIMARY_W_PIC_Y (HiresGFX?370:154) +#define PRIMARY_W_TEXT_X HUD_SCALE_X(HiresGFX?182:87) +#define PRIMARY_W_TEXT_Y HUD_SCALE_Y(HiresGFX?400:157) +#define PRIMARY_AMMO_X HUD_SCALE_X(HiresGFX?186:(96-3)) +#define PRIMARY_AMMO_Y HUD_SCALE_Y(HiresGFX?420:171) -#define SECONDARY_W_PIC_X (Current_display_mode?466:234) -#define SECONDARY_W_PIC_Y (Current_display_mode?374:154) -#define SECONDARY_W_TEXT_X HUD_SCALE_X(Current_display_mode?413:207) -#define SECONDARY_W_TEXT_Y HUD_SCALE_Y(Current_display_mode?378:157) -#define SECONDARY_AMMO_X HUD_SCALE_X(Current_display_mode?428:213) -#define SECONDARY_AMMO_Y HUD_SCALE_Y(Current_display_mode?407:171) +#define SECONDARY_W_PIC_X (HiresGFX?466:234) +#define SECONDARY_W_PIC_Y (HiresGFX?374:154) +#define SECONDARY_W_TEXT_X HUD_SCALE_X(HiresGFX?413:207) +#define SECONDARY_W_TEXT_Y HUD_SCALE_Y(HiresGFX?378:157) +#define SECONDARY_AMMO_X HUD_SCALE_X(HiresGFX?428:213) +#define SECONDARY_AMMO_Y HUD_SCALE_Y(HiresGFX?407:171) -#define SB_LIVES_X (Current_display_mode?(550-10-3):266) -#define SB_LIVES_Y (Current_display_mode?450-3:185) -#define SB_LIVES_LABEL_X (Current_display_mode?475:237) +#define SB_LIVES_X (HiresGFX?(550-10-3):266) +#define SB_LIVES_Y (HiresGFX?450-3:185) +#define SB_LIVES_LABEL_X (HiresGFX?475:237) #define SB_LIVES_LABEL_Y (SB_LIVES_Y+1) #define SB_SCORE_RIGHT_L 301 #define SB_SCORE_RIGHT_H (605+8) -#define SB_SCORE_RIGHT (Current_display_mode?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L) +#define SB_SCORE_RIGHT (HiresGFX?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L) -#define SB_SCORE_Y (Current_display_mode?398:158) -#define SB_SCORE_LABEL_X (Current_display_mode?475:237) +#define SB_SCORE_Y (HiresGFX?398:158) +#define SB_SCORE_LABEL_X (HiresGFX?475:237) -#define SB_SCORE_ADDED_RIGHT (Current_display_mode?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L) -#define SB_SCORE_ADDED_Y (Current_display_mode?413:165) +#define SB_SCORE_ADDED_RIGHT (HiresGFX?SB_SCORE_RIGHT_H:SB_SCORE_RIGHT_L) +#define SB_SCORE_ADDED_Y (HiresGFX?413:165) -#define HOMING_WARNING_X (Current_display_mode?14:7) -#define HOMING_WARNING_Y (Current_display_mode?415:171) +#define HOMING_WARNING_X (HiresGFX?14:7) +#define HOMING_WARNING_Y (HiresGFX?415:171) -#define BOMB_COUNT_X (Current_display_mode?546:275) -#define BOMB_COUNT_Y (Current_display_mode?445:186) +#define BOMB_COUNT_X (HiresGFX?546:275) +#define BOMB_COUNT_Y (HiresGFX?445:186) -#define SB_BOMB_COUNT_X (Current_display_mode?342:171) -#define SB_BOMB_COUNT_Y (Current_display_mode?458:191) +#define SB_BOMB_COUNT_X (HiresGFX?342:171) +#define SB_BOMB_COUNT_Y (HiresGFX?458:191) -#define LHX(x) ((x)*(MenuHires?2:1)) -#define LHY(y) ((y)*(MenuHires?2.4:1)) +#define LHX(x) ((x)*(HiresGFX?2:1)) +#define LHY(y) ((y)*(HiresGFX?2.4:1)) static int score_display; static fix score_time; @@ -396,10 +394,10 @@ fix weapon_box_fade_values[2]; #define PRIMARY_W_BOX_RIGHT_H 242 #define PRIMARY_W_BOX_BOT_H (PRIMARY_W_BOX_TOP_H+106) //470 -#define PRIMARY_W_BOX_LEFT (Current_display_mode?PRIMARY_W_BOX_LEFT_H:PRIMARY_W_BOX_LEFT_L) -#define PRIMARY_W_BOX_TOP (Current_display_mode?PRIMARY_W_BOX_TOP_H:PRIMARY_W_BOX_TOP_L) -#define PRIMARY_W_BOX_RIGHT (Current_display_mode?PRIMARY_W_BOX_RIGHT_H:PRIMARY_W_BOX_RIGHT_L) -#define PRIMARY_W_BOX_BOT (Current_display_mode?PRIMARY_W_BOX_BOT_H:PRIMARY_W_BOX_BOT_L) +#define PRIMARY_W_BOX_LEFT (HiresGFX?PRIMARY_W_BOX_LEFT_H:PRIMARY_W_BOX_LEFT_L) +#define PRIMARY_W_BOX_TOP (HiresGFX?PRIMARY_W_BOX_TOP_H:PRIMARY_W_BOX_TOP_L) +#define PRIMARY_W_BOX_RIGHT (HiresGFX?PRIMARY_W_BOX_RIGHT_H:PRIMARY_W_BOX_RIGHT_L) +#define PRIMARY_W_BOX_BOT (HiresGFX?PRIMARY_W_BOX_BOT_H:PRIMARY_W_BOX_BOT_L) #define SECONDARY_W_BOX_LEFT_L 202 //207 #define SECONDARY_W_BOX_TOP_L 151 @@ -411,10 +409,10 @@ fix weapon_box_fade_values[2]; #define SECONDARY_W_BOX_RIGHT_H 529 #define SECONDARY_W_BOX_BOT_H (SECONDARY_W_BOX_TOP_H+106) //470 -#define SECONDARY_W_BOX_LEFT (Current_display_mode?SECONDARY_W_BOX_LEFT_H:SECONDARY_W_BOX_LEFT_L) -#define SECONDARY_W_BOX_TOP (Current_display_mode?SECONDARY_W_BOX_TOP_H:SECONDARY_W_BOX_TOP_L) -#define SECONDARY_W_BOX_RIGHT (Current_display_mode?SECONDARY_W_BOX_RIGHT_H:SECONDARY_W_BOX_RIGHT_L) -#define SECONDARY_W_BOX_BOT (Current_display_mode?SECONDARY_W_BOX_BOT_H:SECONDARY_W_BOX_BOT_L) +#define SECONDARY_W_BOX_LEFT (HiresGFX?SECONDARY_W_BOX_LEFT_H:SECONDARY_W_BOX_LEFT_L) +#define SECONDARY_W_BOX_TOP (HiresGFX?SECONDARY_W_BOX_TOP_H:SECONDARY_W_BOX_TOP_L) +#define SECONDARY_W_BOX_RIGHT (HiresGFX?SECONDARY_W_BOX_RIGHT_H:SECONDARY_W_BOX_RIGHT_L) +#define SECONDARY_W_BOX_BOT (HiresGFX?SECONDARY_W_BOX_BOT_H:SECONDARY_W_BOX_BOT_L) #define SB_PRIMARY_W_BOX_LEFT_L 34 //50 #define SB_PRIMARY_W_BOX_TOP_L 153 @@ -426,10 +424,10 @@ fix weapon_box_fade_values[2]; #define SB_PRIMARY_W_BOX_RIGHT_H 179 #define SB_PRIMARY_W_BOX_BOT_H 473 -#define SB_PRIMARY_W_BOX_LEFT (Current_display_mode?SB_PRIMARY_W_BOX_LEFT_H:SB_PRIMARY_W_BOX_LEFT_L) -#define SB_PRIMARY_W_BOX_TOP (Current_display_mode?SB_PRIMARY_W_BOX_TOP_H:SB_PRIMARY_W_BOX_TOP_L) -#define SB_PRIMARY_W_BOX_RIGHT (Current_display_mode?SB_PRIMARY_W_BOX_RIGHT_H:SB_PRIMARY_W_BOX_RIGHT_L) -#define SB_PRIMARY_W_BOX_BOT (Current_display_mode?SB_PRIMARY_W_BOX_BOT_H:SB_PRIMARY_W_BOX_BOT_L) +#define SB_PRIMARY_W_BOX_LEFT (HiresGFX?SB_PRIMARY_W_BOX_LEFT_H:SB_PRIMARY_W_BOX_LEFT_L) +#define SB_PRIMARY_W_BOX_TOP (HiresGFX?SB_PRIMARY_W_BOX_TOP_H:SB_PRIMARY_W_BOX_TOP_L) +#define SB_PRIMARY_W_BOX_RIGHT (HiresGFX?SB_PRIMARY_W_BOX_RIGHT_H:SB_PRIMARY_W_BOX_RIGHT_L) +#define SB_PRIMARY_W_BOX_BOT (HiresGFX?SB_PRIMARY_W_BOX_BOT_H:SB_PRIMARY_W_BOX_BOT_L) #define SB_SECONDARY_W_BOX_LEFT_L 169 #define SB_SECONDARY_W_BOX_TOP_L 153 @@ -441,24 +439,24 @@ fix weapon_box_fade_values[2]; #define SB_SECONDARY_W_BOX_RIGHT_H 449 #define SB_SECONDARY_W_BOX_BOT_H 473 -#define SB_SECONDARY_W_BOX_LEFT (Current_display_mode?SB_SECONDARY_W_BOX_LEFT_H:SB_SECONDARY_W_BOX_LEFT_L) //210 -#define SB_SECONDARY_W_BOX_TOP (Current_display_mode?SB_SECONDARY_W_BOX_TOP_H:SB_SECONDARY_W_BOX_TOP_L) -#define SB_SECONDARY_W_BOX_RIGHT (Current_display_mode?SB_SECONDARY_W_BOX_RIGHT_H:SB_SECONDARY_W_BOX_RIGHT_L) -#define SB_SECONDARY_W_BOX_BOT (Current_display_mode?SB_SECONDARY_W_BOX_BOT_H:SB_SECONDARY_W_BOX_BOT_L) +#define SB_SECONDARY_W_BOX_LEFT (HiresGFX?SB_SECONDARY_W_BOX_LEFT_H:SB_SECONDARY_W_BOX_LEFT_L) //210 +#define SB_SECONDARY_W_BOX_TOP (HiresGFX?SB_SECONDARY_W_BOX_TOP_H:SB_SECONDARY_W_BOX_TOP_L) +#define SB_SECONDARY_W_BOX_RIGHT (HiresGFX?SB_SECONDARY_W_BOX_RIGHT_H:SB_SECONDARY_W_BOX_RIGHT_L) +#define SB_SECONDARY_W_BOX_BOT (HiresGFX?SB_SECONDARY_W_BOX_BOT_H:SB_SECONDARY_W_BOX_BOT_L) #define SB_PRIMARY_W_PIC_X (SB_PRIMARY_W_BOX_LEFT+1) //51 -#define SB_PRIMARY_W_PIC_Y (Current_display_mode?382:154) -#define SB_PRIMARY_W_TEXT_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(Current_display_mode?50:24)) //(51+23) -#define SB_PRIMARY_W_TEXT_Y HUD_SCALE_Y(Current_display_mode?390:157) -#define SB_PRIMARY_AMMO_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(Current_display_mode?(38+20):30)) //((SB_PRIMARY_W_BOX_LEFT+33)-3) //(51+32) -#define SB_PRIMARY_AMMO_Y HUD_SCALE_Y(Current_display_mode?410:171) +#define SB_PRIMARY_W_PIC_Y (HiresGFX?382:154) +#define SB_PRIMARY_W_TEXT_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(HiresGFX?50:24)) //(51+23) +#define SB_PRIMARY_W_TEXT_Y HUD_SCALE_Y(HiresGFX?390:157) +#define SB_PRIMARY_AMMO_X HUD_SCALE_X(SB_PRIMARY_W_BOX_LEFT+(HiresGFX?(38+20):30)) //((SB_PRIMARY_W_BOX_LEFT+33)-3) //(51+32) +#define SB_PRIMARY_AMMO_Y HUD_SCALE_Y(HiresGFX?410:171) -#define SB_SECONDARY_W_PIC_X (Current_display_mode?385:(SB_SECONDARY_W_BOX_LEFT+27)) //(212+27) -#define SB_SECONDARY_W_PIC_Y (Current_display_mode?382:154) +#define SB_SECONDARY_W_PIC_X (HiresGFX?385:(SB_SECONDARY_W_BOX_LEFT+27)) //(212+27) +#define SB_SECONDARY_W_PIC_Y (HiresGFX?382:154) #define SB_SECONDARY_W_TEXT_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+2) //212 -#define SB_SECONDARY_W_TEXT_Y HUD_SCALE_Y(Current_display_mode?389:157) -#define SB_SECONDARY_AMMO_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+(Current_display_mode?(14-4):11)) //(212+9) -#define SB_SECONDARY_AMMO_Y HUD_SCALE_Y(Current_display_mode?414:171) +#define SB_SECONDARY_W_TEXT_Y HUD_SCALE_Y(HiresGFX?389:157) +#define SB_SECONDARY_AMMO_X HUD_SCALE_X(SB_SECONDARY_W_BOX_LEFT+(HiresGFX?(14-4):11)) //(212+9) +#define SB_SECONDARY_AMMO_Y HUD_SCALE_Y(HiresGFX?414:171) typedef struct gauge_box { int left,top; @@ -486,10 +484,10 @@ gauge_box gauge_boxes[] = { // these macros refer to arrays above -#define COCKPIT_PRIMARY_BOX (!Current_display_mode?0:4) -#define COCKPIT_SECONDARY_BOX (!Current_display_mode?1:5) -#define SB_PRIMARY_BOX (!Current_display_mode?2:6) -#define SB_SECONDARY_BOX (!Current_display_mode?3:7) +#define COCKPIT_PRIMARY_BOX (!HiresGFX?0:4) +#define COCKPIT_SECONDARY_BOX (!HiresGFX?1:5) +#define SB_PRIMARY_BOX (!HiresGFX?2:6) +#define SB_SECONDARY_BOX (!HiresGFX?3:7) int Color_0_31_0 = -1; @@ -660,7 +658,7 @@ void sb_show_score() //erase old score gr_setcolor(BM_XRGB(0,0,0)); #ifndef OGL - gr_rect(last_x[Current_display_mode],y,SB_SCORE_RIGHT,(y+GAME_FONT->ft_h)); + gr_rect(last_x[HiresGFX],y,SB_SCORE_RIGHT,(y+GAME_FONT->ft_h)); #endif if ( (Game_mode & GM_MULTI) && !(Game_mode & GM_MULTI_COOP) ) @@ -670,7 +668,7 @@ void sb_show_score() gr_printf(x,y,score_str); - last_x[Current_display_mode] = x; + last_x[HiresGFX] = x; } void sb_show_score_added() @@ -716,13 +714,13 @@ void sb_show_score_added() gr_printf(x, HUD_SCALE_Y(SB_SCORE_ADDED_Y), score_str); - last_x[Current_display_mode] = x; + last_x[HiresGFX] = x; } else { //erase old score gr_setcolor(BM_XRGB(0,0,0)); #ifndef OGL - gr_rect(last_x[Current_display_mode],SB_SCORE_ADDED_Y,SB_SCORE_ADDED_RIGHT,SB_SCORE_ADDED_Y+GAME_FONT->ft_h); + gr_rect(last_x[HiresGFX],SB_SCORE_ADDED_Y,SB_SCORE_ADDED_RIGHT,SB_SCORE_ADDED_Y+GAME_FONT->ft_h); #endif score_time = 0; score_display = 0; @@ -869,23 +867,23 @@ void hud_show_orbs (void) else if (Cockpit_mode == CM_FULL_SCREEN) { y = HUD_SCALE_Y(5*Line_spacing); x = HUD_SCALE_X(GAME_FONT->ft_w); - if (FontHires) + if (HiresGFX) y += HUD_SCALE_Y(Line_spacing); } else Int3(); //what sort of cockpit? - bm = &Orb_icons[FontHires]; + bm = &Orb_icons[HiresGFX]; gr_set_fontcolor(gr_getcolor(0,31,0),-1 ); -// gr_printf(x+bm->bm_w+bm->bm_w/2, y+(FontHires?2:1), "x %d", Players[Player_num].secondary_ammo[PROXIMITY_INDEX]); +// gr_printf(x+bm->bm_w+bm->bm_w/2, y+(HiresGFX?2:1), "x %d", Players[Player_num].secondary_ammo[PROXIMITY_INDEX]); #ifndef OGL gr_ubitmapm(x,y,bm); - gr_printf(x+bm->bm_w+bm->bm_w/2, y+(FontHires?2:1), "x %d", Players[Player_num].secondary_ammo[PROXIMITY_INDEX]); + gr_printf(x+bm->bm_w+bm->bm_w/2, y+(HiresGFX?2:1), "x %d", Players[Player_num].secondary_ammo[PROXIMITY_INDEX]); #else - ogl_ubitmapm_cs(x,y,FONTSCALE_Y((FontHires)?16:8),FONTSCALE_Y((FontHires)?14:7),bm,255,F1_0); - gr_printf(x+FONTSCALE_X(bm->bm_w+bm->bm_w/2), y+(FontHires?2:1), "x %d", Players[Player_num].secondary_ammo[PROXIMITY_INDEX]); + ogl_ubitmapm_cs(x,y,FONTSCALE_Y((HiresGFX)?16:8),FONTSCALE_Y((HiresGFX)?14:7),bm,255,F1_0); + gr_printf(x+FONTSCALE_X(bm->bm_w+bm->bm_w/2), y+(HiresGFX?2:1), "x %d", Players[Player_num].secondary_ammo[PROXIMITY_INDEX]); #endif } @@ -909,7 +907,7 @@ void hud_show_flag(void) else if (Cockpit_mode == CM_FULL_SCREEN) { y = 5*Line_spacing; x = GAME_FONT->ft_w; - if (FontHires) + if (HiresGFX) y += Line_spacing; } else @@ -1161,9 +1159,9 @@ void hud_show_weapons(void) // ZICO - new HUD modes if (GameArg.GfxGaugeHudMode==1){ - hud_show_weapons_mode(0,0,1,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+(FontHires?39:21))); - hud_show_weapons_mode(0,0,2,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+(FontHires?27:15))); - hud_show_weapons_mode(1,0,1,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+(FontHires?15:9))); + hud_show_weapons_mode(0,0,1,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+(HiresGFX?39:21))); + hud_show_weapons_mode(0,0,2,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+(HiresGFX?27:15))); + hud_show_weapons_mode(1,0,1,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+(HiresGFX?15:9))); hud_show_weapons_mode(1,0,2,grd_curcanv->cv_w,y-FONTSCALE_Y(GAME_FONT->ft_h+3)); } else if (GameArg.GfxGaugeHudMode==2 || GameArg.GfxGaugeHudMode==3){ @@ -1181,9 +1179,9 @@ void hud_show_weapons(void) x2=grd_curcanv->cv_w/1.9+(FONTSCALE_X(42)+x2); } hud_show_weapons_mode(0,1,1,x1,y); - hud_show_weapons_mode(0,1,2,x1+FONTSCALE_X(FontHires?24:12),y); + hud_show_weapons_mode(0,1,2,x1+FONTSCALE_X(HiresGFX?24:12),y); hud_show_weapons_mode(1,1,1,x2,y); - hud_show_weapons_mode(1,1,2,x2+FONTSCALE_X(FontHires?24:12),y); + hud_show_weapons_mode(1,1,2,x2+FONTSCALE_X(HiresGFX?24:12),y); gr_set_fontcolor(gr_getcolor(14,14,23),-1 ); gr_printf(x2, y-FONTSCALE_Y(GAME_FONT->ft_h*4+4),"%i", f2ir(Players[Player_num].shields)); gr_set_fontcolor(gr_getcolor(25,18,6),-1 ); @@ -1256,7 +1254,7 @@ void hud_show_weapons(void) old_ammo_count[1] = Players[Player_num].secondary_ammo[Secondary_weapon]; } - show_bomb_count(grd_curcanv->cv_bitmap.bm_w-FONTSCALE_X(3*GAME_FONT->ft_w+(FontHires?0:2)), y-FONTSCALE_Y(3*Line_spacing),-1,1); + show_bomb_count(grd_curcanv->cv_bitmap.bm_w-FONTSCALE_X(3*GAME_FONT->ft_w+(HiresGFX?0:2)), y-FONTSCALE_Y(3*Line_spacing),-1,1); } } @@ -1341,8 +1339,8 @@ void hud_show_lives() gr_ubitmapm(10,3,bm); gr_printf(10+bm->bm_w+bm->bm_w/2, 3, "x %d", Players[Player_num].lives-1); #else - ogl_ubitmapm_cs(FONTSCALE_X(10),3,FONTSCALE_X((FontHires)?16:8),FONTSCALE_Y((FontHires)?14:7),bm,255,F1_0); - gr_printf(FONTSCALE_X((FontHires)?35:22), 3, "x %d", Players[Player_num].lives-1); + ogl_ubitmapm_cs(FONTSCALE_X(10),3,FONTSCALE_X((HiresGFX)?16:8),FONTSCALE_Y((HiresGFX)?14:7),bm,255,F1_0); + gr_printf(FONTSCALE_X((HiresGFX)?35:22), 3, "x %d", Players[Player_num].lives-1); #endif } @@ -1373,12 +1371,12 @@ void sb_show_lives() gr_get_string_size(killed_str, &w, &h, &aw); gr_setcolor(BM_XRGB(0,0,0)); #ifndef OGL - gr_rect(last_x[Current_display_mode], y+1, SB_SCORE_RIGHT, y+GAME_FONT->ft_h); + gr_rect(last_x[HiresGFX], y+1, SB_SCORE_RIGHT, y+GAME_FONT->ft_h); #endif gr_set_fontcolor(gr_getcolor(0,20,0),-1); x = HUD_SCALE_X(SB_SCORE_RIGHT)-w-2; gr_printf(x, HUD_SCALE_Y(y+1), killed_str); - last_x[Current_display_mode] = x; + last_x[HiresGFX] = x; return; } @@ -1396,7 +1394,7 @@ void sb_show_lives() #ifndef OGL gr_ubitmapm(HUD_SCALE_X(x),HUD_SCALE_Y(y),bm); #else - ogl_ubitmapm_cs(HUD_SCALE_X(x),HUD_SCALE_Y(y),FONTSCALE_X((FontHires)?16:8),FONTSCALE_Y((FontHires)?14:7),bm,255,F1_0); + ogl_ubitmapm_cs(HUD_SCALE_X(x),HUD_SCALE_Y(y),FONTSCALE_X((HiresGFX)?16:8),FONTSCALE_Y((HiresGFX)?14:7),bm,255,F1_0); #endif gr_printf(HUD_SCALE_X(x+bm->bm_w+GAME_FONT->ft_w), HUD_SCALE_Y(y), "x %d", Players[Player_num].lives-1); } @@ -1568,7 +1566,7 @@ void draw_energy_bar(int energy) int w1 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_W - 1); int w2 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_W - 2); int w3 = HUD_SCALE_X (LEFT_ENERGY_GAUGE_W - 3); - double eBarScale = HUD_SCALE_X(100.0 - (double) energy) * (Current_display_mode?0.15:0.075) / (double) HUD_SCALE_Y (LEFT_ENERGY_GAUGE_H); + double eBarScale = HUD_SCALE_X(100.0 - (double) energy) * (HiresGFX?0.15:0.075) / (double) HUD_SCALE_Y (LEFT_ENERGY_GAUGE_H); // Draw left energy bar PAGE_IN_GAUGE( GAUGE_ENERGY_LEFT ); @@ -1581,7 +1579,7 @@ void draw_energy_bar(int energy) gr_setcolor(BM_XRGB(0,0,0)); - energy0 = HUD_SCALE_X (Current_display_mode?112:56); + energy0 = HUD_SCALE_X (HiresGFX?112:56); energy0 = energy0 - (energy * energy0) / 100; if (energy < 100) { for (i = 0; i < LEFT_ENERGY_GAUGE_H; i++) { @@ -1832,7 +1830,7 @@ void draw_weapon_info_sub(int info_index,gauge_box *box,int pic_x,int pic_y,char gr_rect(HUD_SCALE_X(box->left),HUD_SCALE_Y(box->top),HUD_SCALE_X(box->right),HUD_SCALE_Y(box->bot)); if (Piggy_hamfile_version >= 3 // !SHAREWARE - && Current_display_mode) + && HiresGFX) { bm=&GameBitmaps[Weapon_info[info_index].hires_picture.index]; PIGGY_PAGE_IN( Weapon_info[info_index].hires_picture ); @@ -1921,11 +1919,11 @@ void draw_weapon_info(int weapon_type,int weapon_num,int laser_level) { if (weapon_box_user[0] == WBU_WEAPON) { hud_show_weapons_mode(0,1,1,(Cockpit_mode==CM_STATUS_BAR?SB_PRIMARY_AMMO_X:PRIMARY_AMMO_X),(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_Y:SECONDARY_AMMO_Y)); - hud_show_weapons_mode(0,1,2,(Cockpit_mode==CM_STATUS_BAR?SB_PRIMARY_AMMO_X:PRIMARY_AMMO_X)+FONTSCALE_X(FontHires?24:12),(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_Y:SECONDARY_AMMO_Y)); + hud_show_weapons_mode(0,1,2,(Cockpit_mode==CM_STATUS_BAR?SB_PRIMARY_AMMO_X:PRIMARY_AMMO_X)+FONTSCALE_X(HiresGFX?24:12),(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_Y:SECONDARY_AMMO_Y)); } if (weapon_box_user[1] == WBU_WEAPON) { hud_show_weapons_mode(1,1,1,(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_X:SECONDARY_AMMO_X),(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_Y:SECONDARY_AMMO_Y)); - hud_show_weapons_mode(1,1,2,(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_X:SECONDARY_AMMO_X)+FONTSCALE_X(FontHires?24:12),(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_Y:SECONDARY_AMMO_Y)); + hud_show_weapons_mode(1,1,2,(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_X:SECONDARY_AMMO_X)+FONTSCALE_X(HiresGFX?24:12),(Cockpit_mode==CM_STATUS_BAR?SB_SECONDARY_AMMO_Y:SECONDARY_AMMO_Y)); } } } @@ -2059,7 +2057,7 @@ void draw_static(int win) for (y=gauge_boxes[boxofs+win].top;ybm_h) gr_bitmap(x,y,bmp); #else - if (!Current_display_mode) + if (!HiresGFX) ogl_ubitmapm_cs(HUD_SCALE_X(gauge_boxes[boxofs+win].left),HUD_SCALE_Y(gauge_boxes[boxofs+win].top),HUD_SCALE_X(bmp->bm_w),HUD_SCALE_Y(bmp->bm_h/1.5),bmp,255,F1_0); else { @@ -2326,7 +2324,7 @@ void show_reticle(int force_big_one) else { #endif - use_hires_reticle = (FontHires != 0); + use_hires_reticle = (HiresGFX != 0); ofs = (use_hires_reticle?0:2); #ifdef OGL // ... scale reticle bitmaps ... if (use_hires_reticle) // ... if we are in 640x480 or higher ... @@ -2382,7 +2380,7 @@ void hud_show_kill_list() int n_left,i,x0,x1,y,save_y,fth; // ugly hack since placement of netgame players and kills is based off of -// menuhires (which is always 1 for mac). This throws off placement of +// HiresGFX (which is always 1 for mac). This throws off placement of // players in pixel double mode. if (Show_kill_list_timer > 0) @@ -2513,7 +2511,7 @@ void hud_show_kill_list() } #ifdef MACINTOSH - MenuHires = 1; + HiresGFX = 1; #endif } #endif @@ -2747,11 +2745,11 @@ void render_gauges() // because they are [now] sub-canvases. - if (old_display_mode != Current_display_mode) + if (old_display_mode != HiresGFX) { close_gauge_canvases(); init_gauge_canvases(); - old_display_mode = Current_display_mode; + old_display_mode = HiresGFX; } if (shields < 0 ) shields = 0; @@ -2781,7 +2779,7 @@ void render_gauges() } draw_afterburner_bar(Afterburner_charge); - hud_bitblt (0, 0, &GameBitmaps[cockpit_bitmap[Cockpit_mode+(Current_display_mode?(Num_cockpits/2):0)].index],F1_0); + hud_bitblt (0, 0, &GameBitmaps[cockpit_bitmap[Cockpit_mode+(HiresGFX?(Num_cockpits/2):0)].index],F1_0); draw_player_ship(cloak, old_cloak, SHIP_GAUGE_X, SHIP_GAUGE_Y); @@ -2823,7 +2821,7 @@ void render_gauges() } sb_draw_afterburner(); #ifdef OGL - hud_bitblt (0, (Current_display_mode?370:147), &GameBitmaps[cockpit_bitmap[Cockpit_mode+(Current_display_mode?(Num_cockpits/2):0)].index],F1_0); + hud_bitblt (0, (HiresGFX?370:147), &GameBitmaps[cockpit_bitmap[Cockpit_mode+(HiresGFX?(Num_cockpits/2):0)].index],F1_0); #endif draw_player_ship(cloak, old_cloak, SB_SHIP_GAUGE_X, SB_SHIP_GAUGE_Y); @@ -2948,7 +2946,7 @@ void do_cockpit_window_view(int win,object *viewer,int rear_view_flag,int user,c dx = (win==0)?-(w+(w/10)):(w/10); window_x = grd_curscreen->sc_w/2+dx; - window_y = grd_curscreen->sc_h-h-FONTSCALE_Y(Current_display_mode?14:7); + window_y = grd_curscreen->sc_h-h-FONTSCALE_Y(HiresGFX?14:7); //copy these vars so stereo code can get at them SW_drawn[win]=1; SW_x[win] = window_x; SW_y[win] = window_y; SW_w[win] = w; SW_h[win] = h; @@ -3090,7 +3088,7 @@ abort:; boxNumber = SB_SECONDARY_BOX; } - //boxNumber = (Current_display_mode * 4) + (Cockpit_mode * 2) + inSubWindowNum; + //boxNumber = (HiresGFX * 4) + (Cockpit_mode * 2) + inSubWindowNum; currentGaugeBox = &gauge_boxes[boxNumber]; Assert(currentGaugeBox); diff --git a/main/hud.c b/main/hud.c index 9cf8b9e87..9c0f33bdc 100755 --- a/main/hud.c +++ b/main/hud.c @@ -71,8 +71,8 @@ int MSG_Noredundancy = 0; int Modex_hud_msg_count; -#define LHX(x) ((x)*(FontHires?2:1)) -#define LHY(y) ((y)*(FontHires?2.4:1)) +#define LHX(x) ((x)*(HiresGFX?2:1)) +#define LHY(y) ((y)*(HiresGFX?2.4:1)) // ---------------------------------------------------------------------------- void clear_background_messages(void) diff --git a/main/inferno.c b/main/inferno.c index 5933227eb..8023a4556 100755 --- a/main/inferno.c +++ b/main/inferno.c @@ -126,17 +126,6 @@ char desc_id_exit_num = 0; int Function_mode=FMODE_MENU; //game or editor? int Screen_mode=-1; //game screen or editor screen? -//--unused-- grs_bitmap Inferno_bitmap_title; - -int WVIDEO_running=0; //debugger can set to 1 if running - -//--unused-- int Cyberman_installed=0; // SWIFT device present -ubyte CybermouseActive=0; - -#ifdef __WATCOMC__ -int __far descent_critical_error_handler( unsigned deverr, unsigned errcode, unsigned __far * devhdr ); -#endif - void show_order_form(void); //-------------------------------------------------------------------------- @@ -145,15 +134,13 @@ int descent_critical_error = 0; unsigned descent_critical_deverror = 0; unsigned descent_critical_errcode = 0; +int HiresGFXAvailable = 1; +int HiresGFX = 1; + extern int Network_allow_socket_changes; extern void vfx_set_palette_sub(ubyte *); -extern int VR_low_res; - -extern int Config_vr_type; -extern int Config_vr_resolution; -extern int Config_vr_tracking; extern int vertigo_present; extern void d_mouse_init(void); @@ -254,23 +241,6 @@ void print_commandline_help() printf( " -hwsurface %s\n", "Use HW Surface"); #endif -/* KEPT FOR FURTHER REFERENCE - printf( "\n Unused / Obsolete:\n\n"); - printf( " -sysram %s\n", "FIXME: Undocumented"); - printf( " -tsengdebug1 %s\n", "FIXME: Undocumented"); - printf( " -tsengdebug2 %s\n", "FIXME: Undocumented"); - printf( " -tsengdebug3 %s\n", "FIXME: Undocumented"); - printf( " -vidram %s\n", "FIXME: Undocumented"); - printf( " -xname %s\n", "FIXME: Undocumented"); - printf( " -xver %s\n", "FIXME: Undocumented"); - - printf( " -gl_test1 %s\n", "FIXME: Undocumented"); - printf( " -gl_test2 %s\n", "FIXME: Undocumented"); - printf( " -gl_vidmem %s\n", "FIXME: Undocumented"); - printf( " -hwsurface %s\n", "FIXME: Undocumented"); - printf( " -gl_library %s\n", "use alternate opengl library"); - -*/ #endif // NDEBUG printf( "\n Help:\n\n"); @@ -308,14 +278,8 @@ void do_register_player(ubyte *title_pal) extern char Language[]; -//can we do highres menus? -extern int MenuHiresAvailable; - int Inferno_verbose = 0; -u_int32_t MENU_HIRES_MODE=SM(640,480); //#define MENU_HIRES_MODE SM(640,480) -int menu_use_game_res=1; - // DESCENT II by Parallax Software // Descent Main @@ -338,8 +302,9 @@ int main(int argc, char *argv[]) con_threshold.value = (float)GameArg.DbgVerbose; - if (! cfile_init("descent2.hog", 1)) + if (! cfile_init("descent2.hog", 1)) { if (! cfile_init("d2demo.hog", 1)) + { Error("Could not find a valid hog file (descent2.hog or d2demo.hog)\nPossible locations are:\n" #ifdef __unix__ "\t$HOME/.d2x-rebirth\n" @@ -348,6 +313,15 @@ int main(int argc, char *argv[]) "\tCurrent directory\n" #endif "Or use the -hogdir option to specify an alternate location."); + } + else // deal with interactive demo + { + HiresGFXAvailable = 0; + GameArg.SysLowMem = 1; + GameArg.SndDigiSampleRate = SAMPLE_RATE_11K; + } + } + load_text(); //print out the banner title @@ -425,50 +399,14 @@ int main(int argc, char *argv[]) } #endif - if (!WVIDEO_running) - con_printf(CON_DEBUG,"WVIDEO_running = %d\n",WVIDEO_running); - con_printf (CON_VERBOSE, "%s", TXT_VERBOSE_1); ReadConfigFile(); - if (!VR_offscreen_buffer) //if hasn't been initialied (by headset init) - set_display_mode(0); //..then set default display mode - - { - int screen_width = 640; - int screen_height = 480; -// int screen_flags = 0; - - // added 3/24/99 by Owen Evans for screen res changing - Game_screen_mode = SM(screen_width, screen_height); - // end added -OE -// game_init_render_buffers(screen_width, screen_height, VR_NONE, screen_flags); - - } - - { - int i, argnum = INT_MAX, w, h; -#define SMODE(V,VV,VG) if ((i=FindResArg(#V, &w, &h)) && (i < argnum)) { argnum = i; VV = SM(w, h); VG = 0; if(w<640||h<480) disable_high_res=1; } -#define SMODE_PRINT(V,VV,VG) if (VG) con_printf(CON_VERBOSE, #V " using game resolution ...\n"); else con_printf(CON_VERBOSE, #V " using %ix%i ...\n",SM_W(VV),SM_H(VV) ); -#define S_MODE(V,VV,VG) argnum = INT_MAX; SMODE(V, VV, VG); SMODE_PRINT(V, VV, VG); - - S_MODE(menu,MENU_HIRES_MODE,menu_use_game_res); - } - con_printf(CON_VERBOSE, "\n%s\n\n", TXT_INITIALIZING_GRAPHICS); - //determine whether we're using high-res menus & movies - if (FindArg("-nohires") || FindArg("-nohighres") || (gr_check_mode(MENU_HIRES_MODE) != 0) || disable_high_res) - GameArg.GfxMovieHires = MenuHires = MenuHiresAvailable = 0; - else - //NOTE LINK TO ABOVE! - GameArg.GfxMovieHires = MenuHires = MenuHiresAvailable = 1; - if ((t=gr_init(0))!=0) //doesn't do much Error(TXT_CANT_INIT_GFX,t); - gr_set_mode(MENU_SCREEN_MODE); - // Load the palette stuff. Returns non-zero if error. con_printf(CON_DEBUG, "Initializing palette system...\n" ); gr_use_palette_table(D2_DEFAULT_PALETTE ); @@ -479,10 +417,8 @@ 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"); - gr_set_mode(MovieHires?SM(640,480):SM(320,200)); -#endif + gr_set_mode(Game_screen_mode); show_titles(); @@ -628,10 +564,5 @@ int main(int argc, char *argv[]) void quit_request() { -#ifdef NETWORK -// void network_abort_game(); -// if(Network_status) -// network_abort_game(); -#endif exit(0); } diff --git a/main/kconfig.c b/main/kconfig.c index 6abd226d3..b1f825003 100755 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -115,8 +115,8 @@ extern int Automap_flag; // macros for drawing lo/hi res kconfig screens (see scores.c as well) -#define LHX(x) ((x)*(MenuHires?FONTSCALE_X(2):FONTSCALE_X(1))) -#define LHY(y) ((y)*(MenuHires?FONTSCALE_Y(2.4):FONTSCALE_Y(1))) +#define LHX(x) ((x)*(HiresGFX?FONTSCALE_X(2):FONTSCALE_X(1))) +#define LHY(y) ((y)*(HiresGFX?FONTSCALE_Y(2.4):FONTSCALE_Y(1))) #define BT_KEY 0 #define BT_MOUSE_BUTTON 1 @@ -671,7 +671,7 @@ void kconfig_sub(kc_item * items,int nitems, char * title) int mouse_state, omouse_state, mx, my, mz, x1, x2, y1, y2; int close_x = 8*(SWIDTH/320); int close_y = 8*(SHEIGHT/200); - int close_size = FONTSCALE_X(MenuHires?10:5); + int close_size = FONTSCALE_X(HiresGFX?10:5); #endif int i,k,ocitem,citem; @@ -689,7 +689,7 @@ void kconfig_sub(kc_item * items,int nitems, char * title) save_canvas = grd_curcanv; - if (MenuHires) + if (HiresGFX) gr_init_sub_canvas(&kconfig_sub_canvas, &grd_curscreen->sc_canvas, (SWIDTH - FONTSCALE_X(640))/2, (SHEIGHT - FONTSCALE_Y(480))/2, FONTSCALE_X(640), FONTSCALE_Y(480)); else gr_init_sub_canvas(&kconfig_sub_canvas, &grd_curscreen->sc_canvas, (SWIDTH - FONTSCALE_X(320))/2, (SHEIGHT - FONTSCALE_Y(200))/2, FONTSCALE_X(320), FONTSCALE_Y(200)); diff --git a/main/kmatrix.c b/main/kmatrix.c index 58eb2ab85..706e77851 100755 --- a/main/kmatrix.c +++ b/main/kmatrix.c @@ -73,8 +73,8 @@ void kmatrix_reactor (char *message); void kmatrix_phallic (); void kmatrix_redraw_coop(); -#define LHX(x) ((x)*(MenuHires?2*((double)SWIDTH/640):((double)SWIDTH/320))) -#define LHY(y) ((y)*(MenuHires?2.4*((double)SHEIGHT/480):((double)SHEIGHT/200))) +#define LHX(x) ((x)*(HiresGFX?2*((double)SWIDTH/640):((double)SWIDTH/320))) +#define LHY(y) ((y)*(HiresGFX?2.4*((double)SHEIGHT/480):((double)SHEIGHT/200))) void kmatrix_draw_item( int i, int *sorted ) { diff --git a/main/menu.c b/main/menu.c index 7465b8f2e..96a0141d2 100755 --- a/main/menu.c +++ b/main/menu.c @@ -639,214 +639,6 @@ void do_detail_level_menu_custom(void) set_custom_detail_vars(); } -#ifndef MACINTOSH -int Default_display_mode=0; -int Current_display_mode=0; -#else -int Default_display_mode=1; -int Current_display_mode=1; -#endif - -extern int MenuHiresAvailable; - -typedef struct { - int VGA_mode; - short w,h; - short render_method; - short flags; -} dmi; - -dmi display_mode_info[8] = { - {SM(320,200), 320, 200, VR_NONE, VRF_ALLOW_COCKPIT+VRF_COMPATIBLE_MENUS}, - {SM(640,480), 640, 480, VR_NONE, VRF_COMPATIBLE_MENUS+VRF_ALLOW_COCKPIT}, - {SM(320,400), 320, 400, VR_NONE, VRF_COMPATIBLE_MENUS/*VRF_USE_PAGING*/}, // ZICO - to get cockpit shown correctly - {SM(640,400), 640, 400, VR_NONE, VRF_COMPATIBLE_MENUS}, - {SM(800,600), 800, 600, VR_NONE, VRF_COMPATIBLE_MENUS}, - {SM(1024,768), 1024, 768, VR_NONE, VRF_COMPATIBLE_MENUS}, - {SM(1280,1024),1280,1024, VR_NONE, VRF_COMPATIBLE_MENUS}, - {SM(1600,1200),1600,1200, VR_NONE, VRF_COMPATIBLE_MENUS}, // ZICO - added res -}; - - -void set_display_mode(int mode) -{ - dmi *dmi; - - if ((Current_display_mode == -1)||(VR_render_mode != VR_NONE)) //special VR mode - return; //...don't change - - if (!MenuHiresAvailable && (mode != 2)) - mode = 0; - - if (gr_check_mode(display_mode_info[mode].VGA_mode) != 0) //can't do mode - #ifndef MACINTOSH - mode = 0; - #else - mode = 1; - #endif - - Current_display_mode = mode; - - dmi = &display_mode_info[mode]; - - if (Current_display_mode != -1) { - -// game_init_render_buffers(dmi->w,dmi->h,dmi->render_method,dmi->flags); - Default_display_mode = Current_display_mode; - } - - Screen_mode = -1; //force screen reset -} - -#ifdef MACINTOSH // use Mac version of do_screen_res_menu - -void do_screen_res_menu() -{ - #define N_SCREENRES_ITEMS 6 - - newmenu_item m[N_SCREENRES_ITEMS]; - int citem, i, n_items, odisplay_mode, result; - - if ((Current_display_mode == -1)||(VR_render_mode != VR_NONE)) //special VR mode - { - nm_messagebox(TXT_SORRY, 1, TXT_OK, - "You may not change screen\n" - "resolution when VR modes enabled."); - return; - } - - m[0].type=NM_TYPE_TEXT; m[0].value=0; m[0].text="Modes w/ Cockpit:"; - m[1].type=NM_TYPE_RADIO; m[1].value=0; m[1].group=0; m[1].text=" 640x480"; - m[2].type=NM_TYPE_TEXT; m[2].value=0; m[2].text="Modes w/o Cockpit:"; - m[3].type=NM_TYPE_RADIO; m[3].value=0; m[3].group=0; m[3].text=" 800x600"; - n_items = 4; - - odisplay_mode = Game_screen_mode; - citem = Current_display_mode; - if (Current_display_mode >= 2) - citem--; - - if (citem >= n_items) - citem = n_items-1; - - m[citem].value = 1; - - newmenu_do1( NULL, "Select screen mode", n_items, m, NULL, citem); - - for (i=0;i= 3) - i++; - -#if 0 //def SHAREWARE - if (i > 1) - nm_messagebox(TXT_SORRY, 1, TXT_OK, - "High resolution modes are\n" - "only available in the\n" - "Commercial version of Descent 2."); - return; -#else - result = vga_check_mode(display_mode_info[i].VGA_mode); - - if (result) { - nm_messagebox(TXT_SORRY, 1, TXT_OK, - "Cannot set requested\n" - "mode on this video card."); - return; - } - - set_display_mode(i); - reset_cockpit(); -#endif - -} - -#else // PC version of do_screen_res_menu is below - -void do_screen_res_menu() -{ -#define N_SCREENRES_ITEMS 11 - int fullscreenc; - newmenu_item m[N_SCREENRES_ITEMS]; - int citem; - int i; - int n_items; - - if ((Current_display_mode == -1)||(VR_render_mode != VR_NONE)) { //special VR mode - nm_messagebox(TXT_SORRY, 1, TXT_OK, - "You may not change screen\n" - "resolution when VR modes enabled."); - return; - } - - m[0].type=NM_TYPE_TEXT; m[0].value=0; m[0].text="Modes w/ Cockpit:"; - - m[1].type=NM_TYPE_RADIO; m[1].value=0; m[1].group=0; m[1].text=" 320x200"; - m[2].type=NM_TYPE_RADIO; m[2].value=0; m[2].group=0; m[2].text=" 640x480"; - m[3].type=NM_TYPE_TEXT; m[3].value=0; m[3].text="Modes w/o Cockpit:"; - m[4].type=NM_TYPE_RADIO; m[4].value=0; m[4].group=0; m[4].text=" 320x400"; - m[5].type=NM_TYPE_RADIO; m[5].value=0; m[5].group=0; m[5].text=" 640x400"; - m[6].type=NM_TYPE_RADIO; m[6].value=0; m[6].group=0; m[6].text=" 800x600"; - m[7].type=NM_TYPE_RADIO; m[7].value=0; m[7].group=0; m[7].text=" 1024x768"; - m[8].type=NM_TYPE_RADIO; m[8].value=0; m[8].group=0; m[8].text=" 1280x1024"; - m[9].type=NM_TYPE_RADIO; m[9].value=0; m[9].group=0; m[9].text=" 1600x1200"; - n_items = 10; - - m[n_items].type = NM_TYPE_CHECK; m[n_items].text = "Fullscreen"; - m[n_items].value = gr_check_fullscreen(); - fullscreenc=n_items++; - - citem = Current_display_mode+1; - - if (Current_display_mode >= 2) - citem++; - - if (citem >= n_items) - citem = n_items-1; - - m[citem].value = 1; - - newmenu_do1( NULL, "Select screen mode", n_items, m, NULL, citem); - - if (m[fullscreenc].value != gr_check_fullscreen()){ - gr_toggle_fullscreen(); - Game_screen_mode = -1; - } - - for (i=0;i= 4) - i--; - - i--; - - if (((i != 0) && (i != 2) && !MenuHiresAvailable) || gr_check_mode(display_mode_info[i].VGA_mode)) { - nm_messagebox(TXT_SORRY, 1, TXT_OK, - "Cannot set requested\n" - "mode on this video card."); - return; - } -#ifdef SHAREWARE - if (i != 0) - nm_messagebox(TXT_SORRY, 1, TXT_OK, - "High resolution modes are\n" - "only available in the\n" - "Commercial version of Descent 2."); - return; -#else - if (i != Current_display_mode) - set_display_mode(i); -#endif - - set_screen_mode(SCREEN_GAME); -} -#endif // end of PC version of do_screen_res_menu() - - - void do_new_game_menu() { int new_level_num,player_highest_level; @@ -992,20 +784,14 @@ void change_res() if (screen_height <= 0 || screen_width <= 0) return; - // added 6/15/1999 by Owen Evans to eliminate unneccesary mode modification if (Game_screen_mode == screen_mode) return; - // end section - OE newmenu_close(); Game_screen_mode = screen_mode; + set_screen_mode(SCREEN_MENU); game_init_render_buffers(screen_width, screen_height, VR_NONE, 0); - - if (menu_use_game_res) { - gr_set_mode(Game_screen_mode); - set_screen_mode(SCREEN_GAME); - } } //End changed section (OE) @@ -1285,12 +1071,6 @@ void do_toggles_menu() Guided_in_big_window = m[4].value; EscortHotKeys = m[5].value; -#if 0 - if (MenuHiresAvailable) - Automap_always_hires = m[6].value; - else if (m[6].value) - nm_messagebox(TXT_SORRY,1,"OK","High Resolution modes are\nnot available on this video card"); -#endif } while( i>-1 ); } diff --git a/main/menu.h b/main/menu.h index d3b5de688..946c03242 100755 --- a/main/menu.h +++ b/main/menu.h @@ -26,12 +26,10 @@ extern int DoMenu(); extern void do_options_menu(); extern void d2x_options_menu(); -extern int MenuHires; - #define MENU_PCX_MAC_SHARE ("menub.pcx") #define MENU_PCX_SHAREWARE ("menud.pcx") -#define MENU_PCX_OEM (MenuHires?"menuob.pcx":"menuo.pcx") -#define MENU_PCX_FULL (MenuHires?"menub.pcx":"menu.pcx") +#define MENU_PCX_OEM (HiresGFX?"menuob.pcx":"menuo.pcx") +#define MENU_PCX_FULL (HiresGFX?"menub.pcx":"menu.pcx") // 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)) diff --git a/main/movie.c b/main/movie.c index c4bb2d28b..95d080762 100644 --- a/main/movie.c +++ b/main/movie.c @@ -63,7 +63,6 @@ static char rcsid[] = "$Id: movie.c,v 1.1.1.1 2006/03/17 19:55:55 zicodxx Exp $" #include "ogl_init.h" #endif -extern int MenuHiresAvailable; extern char CDROM_dir[]; #define VID_PLAY 0 @@ -227,7 +226,7 @@ void MovieSetPalette(unsigned char *p, unsigned start, unsigned count) } -#define BOX_BORDER (MenuHires?40:20) +#define BOX_BORDER (HiresGFX?40:20) void show_pause_message(char *msg) @@ -309,7 +308,7 @@ int RunMovie(char *filename, int hires_flag, int must_have,int dx,int dy) frame_num = 0; - FontHires = FontHiresAvailable && hires_flag; + HiresGFX = HiresGFXAvailable && hires_flag; while((result = MVE_rmStepMovie()) == 0) { @@ -551,7 +550,7 @@ void draw_subtitles(int frame_num) num_active_subtitles = 0; next_subtitle = 0; gr_set_curfont( GAME_FONT ); - line_spacing = grd_curcanv->cv_font->ft_h + (grd_curcanv->cv_font->ft_h >> 2); + line_spacing = FONTSCALE_Y(grd_curcanv->cv_font->ft_h + (grd_curcanv->cv_font->ft_h >> 2)); gr_set_fontcolor(255,-1); } diff --git a/main/network.c b/main/network.c index 552b28d86..e7e18f380 100755 --- a/main/network.c +++ b/main/network.c @@ -82,8 +82,8 @@ static char rcsid[] = "$Id: network.c,v 1.1.1.1 2006/03/17 19:56:24 zicodxx Exp #include "appltalk.h" #endif -#define LHX(x) (FONTSCALE_X((x)*(MenuHires?2:1))) -#define LHY(y) (FONTSCALE_Y((y)*(MenuHires?2.4:1))) +#define LHX(x) (FONTSCALE_X((x)*(HiresGFX?2:1))) +#define LHY(y) (FONTSCALE_Y((y)*(HiresGFX?2.4:1))) /* the following are the possible packet identificators. * they are stored in the "type" field of the packet structs. @@ -6573,7 +6573,7 @@ void show_game_rules(netgame_info game) gr_set_current_canvas(NULL); - if (MenuHires) + if (HiresGFX) gr_init_sub_canvas(&canvas, &grd_curscreen->sc_canvas, (SWIDTH - FONTSCALE_X(640))/2, (SHEIGHT - FONTSCALE_Y(480))/2, FONTSCALE_X(640), FONTSCALE_Y(480)); else gr_init_sub_canvas(&canvas, &grd_curscreen->sc_canvas, (SWIDTH - FONTSCALE_X(320))/2, (SHEIGHT - FONTSCALE_Y(200))/2, FONTSCALE_X(320), FONTSCALE_Y(200)); diff --git a/main/newmenu.c b/main/newmenu.c index b3f59a641..62e58fe19 100644 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -85,10 +85,10 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "gp2x.h" #endif -#define MAXDISPLAYABLEITEMS (MenuHires?15:14) +#define MAXDISPLAYABLEITEMS (HiresGFX?15:14) -#define LHX(x) (FONTSCALE_X((x)*(MenuHires?2:1))) -#define LHY(y) (FONTSCALE_Y((y)*(MenuHires?2.4:1))) +#define LHX(x) (FONTSCALE_X((x)*(HiresGFX?2:1))) +#define LHY(y) (FONTSCALE_Y((y)*(HiresGFX?2.4:1))) #define TITLE_FONT HUGE_FONT #define NORMAL_FONT MEDIUM1_FONT //normal, non-highlighted item @@ -111,10 +111,10 @@ typedef struct bkg { grs_bitmap nm_background,nm_background1,nm_background_save; #define MESSAGEBOX_TEXT_SIZE 2176 // How many characters in messagebox (changed form 300 (fixes crash from show_game_score and friends) - 2000/01/18 Matt Mueller) -#define MAX_TEXT_WIDTH FONTSCALE_X((MenuHires)?240:120) // How many pixels wide a input box can be +#define MAX_TEXT_WIDTH FONTSCALE_X((HiresGFX)?240:120) // How many pixels wide a input box can be -#define MENSCALE_X ((MenuHires)?(SWIDTH/640):(SWIDTH/320)) -#define MENSCALE_Y ((MenuHires)?(SHEIGHT/480):(SHEIGHT/200)) +#define MENSCALE_X ((HiresGFX)?(SWIDTH/640):(SWIDTH/320)) +#define MENSCALE_Y ((HiresGFX)?(SHEIGHT/480):(SHEIGHT/200)) ubyte MenuReordering=0; ubyte SurfingNet=0; @@ -165,7 +165,7 @@ void nm_draw_copyright() //say this is vertigo version if (vertigo_present) { gr_set_curfont(MEDIUM2_FONT); - gr_printf(MenuHires?495*((double)SWIDTH/640):248*((double)SWIDTH/320), MenuHires?88*((double)SHEIGHT/480):37*((double)SHEIGHT/200), "Vertigo"); + gr_printf(HiresGFX?495*((double)SWIDTH/640):248*((double)SWIDTH/320), HiresGFX?88*((double)SHEIGHT/480):37*((double)SHEIGHT/200), "Vertigo"); } } @@ -233,7 +233,7 @@ void nm_draw_background1(char * filename) #define MENU_BACKGROUND_BITMAP_HIRES (cfexist("scoresb.pcx")?"scoresb.pcx":"scores.pcx") #define MENU_BACKGROUND_BITMAP_LORES (cfexist("scores.pcx")?"scores.pcx":"scoresb.pcx") // Mac datafiles only have scoresb.pcx -#define MENU_BACKGROUND_BITMAP (MenuHires?MENU_BACKGROUND_BITMAP_HIRES:MENU_BACKGROUND_BITMAP_LORES) +#define MENU_BACKGROUND_BITMAP (HiresGFX?MENU_BACKGROUND_BITMAP_HIRES:MENU_BACKGROUND_BITMAP_LORES) // Draws the frame background for menus void nm_draw_background(int x1, int y1, int x2, int y2 ) @@ -287,10 +287,10 @@ void nm_draw_background(int x1, int y1, int x2, int y2 ) //scale the bevels to the res. gr_setcolor( BM_XRGB(0,0,0) ); - for (w=5*(SWIDTH/((MenuHires)?640.0:320.0));w>=0;w--) - gr_urect( x2-w, y1+w*((SHEIGHT/((MenuHires)?480.0:200.0))/(SWIDTH/((MenuHires)?640.0:320.0))), x2-w, y2-(SHEIGHT/((MenuHires)?480.0:200.0)) );//right edge - for (h=5*(SHEIGHT/((MenuHires)?480.0:200.0));h>=0;h--) - gr_urect( x1+h*((SWIDTH/((MenuHires)?640.0:320.0))/(SHEIGHT/((MenuHires)?480.0:200.0))), y2-h, x2, y2-h );//bottom edge + for (w=5*(SWIDTH/((HiresGFX)?640.0:320.0));w>=0;w--) + gr_urect( x2-w, y1+w*((SHEIGHT/((HiresGFX)?480.0:200.0))/(SWIDTH/((HiresGFX)?640.0:320.0))), x2-w, y2-(SHEIGHT/((HiresGFX)?480.0:200.0)) );//right edge + for (h=5*(SHEIGHT/((HiresGFX)?480.0:200.0));h>=0;h--) + gr_urect( x1+h*((SWIDTH/((HiresGFX)?640.0:320.0))/(SHEIGHT/((HiresGFX)?480.0:200.0))), y2-h, x2, y2-h );//bottom edge Gr_scanline_darkening_level = GR_FADE_LEVELS; } @@ -665,9 +665,9 @@ extern int network_request_player_names(int); ubyte Hack_DblClick_MenuMode=0; #endif -#define CLOSE_X ((MenuHires?15:7)*MENSCALE_X) -#define CLOSE_Y ((MenuHires?15:7)*MENSCALE_Y) -#define CLOSE_SIZE FONTSCALE_X(MenuHires?10:5) +#define CLOSE_X ((HiresGFX?15:7)*MENSCALE_X) +#define CLOSE_Y ((HiresGFX?15:7)*MENSCALE_Y) +#define CLOSE_SIZE FONTSCALE_X(HiresGFX?10:5) void draw_close_box(int x,int y) { @@ -899,15 +899,15 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, mprintf(( 0, "Right offset = %d\n", right_offset )); // Find min point of menu border - w += (MenuHires?60:30)*MENSCALE_X; - h += (MenuHires?60:30)*MENSCALE_Y; + w += (HiresGFX?60:30)*MENSCALE_X; + h += (HiresGFX?60:30)*MENSCALE_Y; /* If window is as or almost as big as screen define hard size so it fits (with borders and stuff). Also make use of MENSCALE_* so we are sure it does scale correct if font does scale or not */ - if (w >= (MenuHires?640:320)*MENSCALE_X-3) - w=(MenuHires?638:318)*MENSCALE_X; - if (h >= (MenuHires?480:200)*MENSCALE_Y-3) - h=(MenuHires?478:198)*MENSCALE_Y; + if (w >= (HiresGFX?640:320)*MENSCALE_X-3) + w=(HiresGFX?638:318)*MENSCALE_X; + if (h >= (HiresGFX?480:200)*MENSCALE_Y-3) + h=(HiresGFX?478:198)*MENSCALE_Y; x = (grd_curcanv->cv_bitmap.bm_w-w)/2; y = (grd_curcanv->cv_bitmap.bm_h-h)/2; @@ -926,7 +926,7 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, bg.menu_canvas = gr_create_sub_canvas( &grd_curscreen->sc_canvas, x, y, w+MENSCALE_X, h+MENSCALE_Y ); gr_set_current_canvas(bg.menu_canvas); - ty = (MenuHires?30:15)*MENSCALE_Y; + ty = (HiresGFX?30:15)*MENSCALE_Y; #ifndef OGL if ( filename == NULL ) { @@ -989,8 +989,8 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, // Update all item's x & y values. for (i=0; icv_bitmap.bm_x + item[ScrollOffset].x-(MenuHires?24:12); + x2 = grd_curcanv->cv_bitmap.bm_x + item[ScrollOffset].x-(HiresGFX?24:12); y1 = grd_curcanv->cv_bitmap.bm_y + item[ScrollOffset].y-((string_height+1)*ScrollOffset); x1 = x1 - arrow_width; y2 = y1 + arrow_height; @@ -1495,7 +1495,7 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, } if (ScrollOffset+MaxDisplayablecv_bitmap.bm_x + item[ScrollOffset+MaxDisplayable-1].x-(MenuHires?24:12); + x2 = grd_curcanv->cv_bitmap.bm_x + item[ScrollOffset+MaxDisplayable-1].x-(HiresGFX?24:12); y1 = grd_curcanv->cv_bitmap.bm_y + item[ScrollOffset+MaxDisplayable-1].y-((string_height+1)*ScrollOffset); x1 = x1 - arrow_width; y2 = y1 + arrow_height; @@ -1757,21 +1757,21 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, grd_curcanv->cv_font = SELECTED_FONT; sy=item[ScrollOffset].y-((string_height+FONTSCALE_Y(1))*ScrollOffset); - sx=item[ScrollOffset].x-(MenuHires?24:12); + sx=item[ScrollOffset].x-(HiresGFX?24:12); if (ScrollOffset!=0) - nm_rstring( &bg, (MenuHires?20:10), sx, sy, UP_ARROW_MARKER ); + nm_rstring( &bg, (HiresGFX?20:10), sx, sy, UP_ARROW_MARKER ); else - nm_rstring( &bg, (MenuHires?20:10), sx, sy, " " ); + nm_rstring( &bg, (HiresGFX?20:10), sx, sy, " " ); sy=item[ScrollOffset+MaxDisplayable-1].y-((string_height+FONTSCALE_Y(1))*ScrollOffset); - sx=item[ScrollOffset+MaxDisplayable-1].x-(MenuHires?24:12); + sx=item[ScrollOffset+MaxDisplayable-1].x-(HiresGFX?24:12); if (ScrollOffset+MaxDisplayable 25: add d2x keys array #define COMPATIBLE_PLAYER_FILE_VERSION 17 -#define WINDOWSIZE 1 -#define RESOLUTION 2 -#define MOUSE_SENSITIVITY 4 -#define JOY_DEADZONE 8 int Default_leveling_on=1; extern ubyte SecondaryOrder[],PrimaryOrder[]; extern void InitWeaponOrdering(); -static int Player_render_width = 0; -static int Player_render_height = 0; - int new_player_config() { int i,j,control_choice; @@ -171,9 +164,6 @@ int read_player_d2x(char *filename) int rc = 0; char line[20],*word; int Stop=0; - char plxver[6]; - - sprintf(plxver,"v0.00"); f = PHYSFSX_openReadBuffered(filename); @@ -185,46 +175,7 @@ int read_player_d2x(char *filename) cfgets(line,20,f); word=splitword(line,':'); strupr(word); - if (strstr(word,"PLX VERSION")) - { - d_free(word); - cfgets(line,20,f); - word=splitword(line,'='); - strupr(word); - while(!strstr(word,"END") && !PHYSFS_eof(f)) - { - if(!strcmp(word,"PLX VERSION")) - { - int maj=0,min=0; - sscanf(line,"%i.%i",&maj,&min); - sprintf(plxver,"v%i.%d",maj,min); - } - d_free(word); - cfgets(line,20,f); - word=splitword(line,'='); - strupr(word); - } - } - else if (strstr(word,"RESOLUTION")) - { - d_free(word); - cfgets(line,20,f); - word=splitword(line,'='); - strupr(word); - - while(!strstr(word,"END") && !PHYSFS_eof(f)) - { - if(!strcmp(word,"WIDTH")) - sscanf(line,"%i",&Player_render_width); - if(!strcmp(word,"HEIGHT")) - sscanf(line,"%i",&Player_render_height); - d_free(word); - cfgets(line,20,f); - word=splitword(line,'='); - strupr(word); - } - } - else if (strstr(word,"MOUSE")) + if (strstr(word,"MOUSE")) { d_free(word); cfgets(line,20,f); @@ -293,10 +244,8 @@ int read_player_d2x(char *filename) int write_player_d2x(char *filename) { - PHYSFS_file *fin, *fout; + PHYSFS_file *fout; int rc=0; - int Stop=0; - char line[20]; char tempfile[PATH_MAX]; char str[256]; @@ -313,166 +262,28 @@ int write_player_d2x(char *filename) if(fout) { - fin=PHYSFSX_openReadBuffered(filename); - if(!fin) - { - sprintf (str, "[D2X OPTIONS]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "[resolution]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "width=%i\n", SM_W(Game_screen_mode)); - PHYSFSX_puts(fout, str); - sprintf (str, "height=%d\n", SM_H(Game_screen_mode)); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "[mouse]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "sensitivity=%d\n",Config_mouse_sensitivity); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "[joystick]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "deadzone=%d\n", joy_deadzone); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "[plx version]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "plx version=%s\n", VERSION); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - } - else - { - int printed=0; - - while(!Stop && !PHYSFS_eof(fin)) - { - cfgets(line,20,fin); - strupr(line); - if (strstr(line,"PLX VERSION")) - { - while(!strstr(line,"END")&&!PHYSFS_eof(fin)) - { - cfgets(line,20,fin); - strupr(line); - } - } - else if (strstr(line,"RESOLUTION")) - { - sprintf (str, "[resolution]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "width=%i\n", SM_W(Game_screen_mode)); - PHYSFSX_puts(fout, str); - sprintf (str, "height=%d\n", SM_H(Game_screen_mode)); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - while(!strstr(line,"END")&&!PHYSFS_eof(fin)) - { - cfgets(line,20,fin); - strupr(line); - } - printed |= RESOLUTION; - } - else if (strstr(line,"MOUSE")) - { - sprintf (str, "[mouse]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "sensitivity=%d\n",Config_mouse_sensitivity); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - while(!strstr(line,"END")&&!PHYSFS_eof(fin)) - { - cfgets(line,20,fin); - strupr(line); - } - printed |= MOUSE_SENSITIVITY; - } - else if (strstr(line,"JOYSTICK")) - { - sprintf (str, "[joystick]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "deadzone=%d\n", joy_deadzone); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - while(!strstr(line,"END")&&!PHYSFS_eof(fin)) - { - cfgets(line,20,fin); - strupr(line); - } - printed |= JOY_DEADZONE; - } - else if (strstr(line,"END")) - { - Stop=1; - } - else - { - if(line[0]=='['&&!strstr(line,"D2X OPTIONS")) - while(!strstr(line,"END") && !PHYSFS_eof(fin)) - { - sprintf (str, "%s\n", line); - PHYSFSX_puts(fout, str); - cfgets(line,20,fin); - strupr(line); - } - sprintf (str, "%s\n", line); - PHYSFSX_puts(fout, str); - } - - if(!Stop&&PHYSFS_eof(fin)) - Stop=1; - } - - if(!(printed&RESOLUTION)) - { - sprintf (str, "[resolution]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "width=%i\n", SM_W(Game_screen_mode)); - PHYSFSX_puts(fout, str); - sprintf (str, "height=%d\n", SM_H(Game_screen_mode)); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - } - if(!(printed&MOUSE_SENSITIVITY)) - { - sprintf (str, "[mouse]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "sensitivity=%d\n",Config_mouse_sensitivity); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - } - if(!(printed&JOY_DEADZONE)) - { - sprintf (str, "[joystick]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "deadzone=%d\n",joy_deadzone); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - } - - sprintf (str, "[plx version]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "plx version=%s\n", VERSION); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - sprintf (str, "[end]\n"); - PHYSFSX_puts(fout, str); - - PHYSFS_close(fin); - } + sprintf (str, "[D2X OPTIONS]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "[mouse]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "sensitivity=%d\n",Config_mouse_sensitivity); + PHYSFSX_puts(fout, str); + sprintf (str, "[end]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "[joystick]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "deadzone=%d\n", joy_deadzone); + PHYSFSX_puts(fout, str); + sprintf (str, "[end]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "[plx version]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "plx version=%s\n", VERSION); + PHYSFSX_puts(fout, str); + sprintf (str, "[end]\n"); + PHYSFSX_puts(fout, str); + sprintf (str, "[end]\n"); + PHYSFSX_puts(fout, str); PHYSFS_close(fout); if(rc==0) @@ -489,15 +300,11 @@ int write_player_d2x(char *filename) extern int Guided_in_big_window; -int Automap_always_hires=0; // FIXME: unused - remove me - //this length must match the value in escort.c #define GUIDEBOT_NAME_LEN 9 extern char guidebot_name[]; extern char real_guidebot_name[]; -WIN(extern char win95_current_joyname[]); - ubyte control_type_dos,control_type_win; @@ -544,20 +351,17 @@ int read_player_file() return -1; } - //skip Game_window_w,Game_window_h - PHYSFS_seek(file,PHYSFS_tell(file)+2*sizeof(short)); - + PHYSFS_seek(file,PHYSFS_tell(file)+2*sizeof(short)); //skip Game_window_w,Game_window_h Player_default_difficulty = cfile_read_byte(file); Default_leveling_on = cfile_read_byte(file); Reticle_on = cfile_read_byte(file); Cockpit_mode = cfile_read_byte(file); - Default_display_mode = cfile_read_byte(file); + PHYSFS_seek(file,PHYSFS_tell(file)+sizeof(sbyte)); //skip Default_display_mode Missile_view_enabled = cfile_read_byte(file); Headlight_active_default = cfile_read_byte(file); Guided_in_big_window = cfile_read_byte(file); - if (player_file_version >= 19) - Automap_always_hires = cfile_read_byte(file); + PHYSFS_seek(file,PHYSFS_tell(file)+sizeof(sbyte)); //skip Automap_always_hires Auto_leveling_on = Default_leveling_on; @@ -696,14 +500,6 @@ int read_player_file() strlwr(filename); read_player_d2x(filename); - if (Player_render_width && Player_render_height && Game_screen_mode != SM(Player_render_width, Player_render_height)) - { - Game_screen_mode = SM(Player_render_width,Player_render_height); - game_init_render_buffers( - Player_render_width, - Player_render_height, VR_NONE, 0); - } - return EZERO; read_player_file_failed: @@ -800,18 +596,17 @@ int write_player_file() PHYSFS_writeULE32(file, SAVE_FILE_ID); PHYSFS_writeULE16(file, PLAYER_FILE_VERSION); - // skip Game_window_w, Game_window_h - PHYSFS_seek(file,PHYSFS_tell(file)+2*(sizeof(PHYSFS_uint16))); - + + PHYSFS_seek(file,PHYSFS_tell(file)+2*(sizeof(PHYSFS_uint16))); // skip Game_window_w, Game_window_h PHYSFSX_writeU8(file, Player_default_difficulty); PHYSFSX_writeU8(file, Auto_leveling_on); PHYSFSX_writeU8(file, Reticle_on); PHYSFSX_writeU8(file, (Cockpit_mode_save!=-1)?Cockpit_mode_save:Cockpit_mode); //if have saved mode, write it instead of letterbox/rear view - PHYSFSX_writeU8(file, Default_display_mode); + PHYSFS_seek(file,PHYSFS_tell(file)+sizeof(PHYSFS_uint8)); // skip Default_display_mode PHYSFSX_writeU8(file, Missile_view_enabled); PHYSFSX_writeU8(file, Headlight_active_default); PHYSFSX_writeU8(file, Guided_in_big_window); - PHYSFSX_writeU8(file, Automap_always_hires); + PHYSFS_seek(file,PHYSFS_tell(file)+sizeof(PHYSFS_uint8)); // skip Automap_always_hires //write higest level info PHYSFS_writeULE16(file, n_highest_levels); diff --git a/main/scores.c b/main/scores.c index 1185ea98b..69d78c91e 100755 --- a/main/scores.c +++ b/main/scores.c @@ -87,8 +87,8 @@ char scores_filename[128]; #define XX (7) #define YY (-3) -#define LHX(x) ((x)*(MenuHires?FONTSCALE_X(2):FONTSCALE_X(1))) -#define LHY(y) ((y)*(MenuHires?FONTSCALE_Y(2.4):FONTSCALE_Y(1))) +#define LHX(x) ((x)*(HiresGFX?FONTSCALE_X(2):FONTSCALE_X(1))) +#define LHY(y) ((y)*(HiresGFX?FONTSCALE_Y(2.4):FONTSCALE_Y(1))) char * get_scores_filename() @@ -378,7 +378,7 @@ ReshowScores: gr_set_current_canvas(NULL); - if (MenuHires) + if (HiresGFX) gr_init_sub_canvas(&canvas, &grd_curscreen->sc_canvas, (SWIDTH - FONTSCALE_X(640))/2, (SHEIGHT - FONTSCALE_Y(480))/2, FONTSCALE_X(640), FONTSCALE_Y(480)); else gr_init_sub_canvas(&canvas, &grd_curscreen->sc_canvas, (SWIDTH - FONTSCALE_X(320))/2, (SHEIGHT - FONTSCALE_Y(200))/2, FONTSCALE_X(320), FONTSCALE_Y(200)); diff --git a/main/state.c b/main/state.c index 4f9af08da..fa9bb418d 100755 --- a/main/state.c +++ b/main/state.c @@ -181,7 +181,7 @@ void state_callback(int nitems,newmenu_item * items, int * last_key, int citem) if ( citem > 0 ) { if ( sc_bmp[citem-1] ) { - if (MenuHires) { + if (HiresGFX) { grs_canvas *save_canv = grd_curcanv; grs_canvas *temp_canv = gr_create_canvas(THUMBNAIL_W*2,(THUMBNAIL_H*24/10)); grs_point vertbuf[3] = {{0,0}, {0,0}, {i2f(THUMBNAIL_W*2),i2f(THUMBNAIL_H*24/10)} }; diff --git a/main/titles.c b/main/titles.c index a6730dcc3..c6ff7d0de 100755 --- a/main/titles.c +++ b/main/titles.c @@ -239,7 +239,7 @@ void show_titles(void) played = PlayMovie("pre_i.mve",0); if (!played) { - strcpy(filename,MenuHires?"pre_i1b.pcx":"pre_i1.pcx"); + strcpy(filename,HiresGFX?"pre_i1b.pcx":"pre_i1.pcx"); while (PHYSFS_exists(filename)) { @@ -271,7 +271,7 @@ void show_titles(void) song_playing = 1; con_printf( CON_DEBUG, "\nShowing logo screens..." ); - strcpy(filename, MenuHires?"iplogo1b.pcx":"iplogo1.pcx"); // OEM + strcpy(filename, HiresGFX?"iplogo1b.pcx":"iplogo1.pcx"); // OEM if (! cfexist(filename)) strcpy(filename, "iplogo1.pcx"); // SHAREWARE if (! cfexist(filename)) @@ -279,7 +279,7 @@ void show_titles(void) if (cfexist(filename)) show_title_screen(filename, 1, 1); - strcpy(filename, MenuHires?"logob.pcx":"logo.pcx"); // OEM + strcpy(filename, HiresGFX?"logob.pcx":"logo.pcx"); // OEM if (! cfexist(filename)) strcpy(filename, "logo.pcx"); // SHAREWARE if (! cfexist(filename)) @@ -307,7 +307,7 @@ void show_titles(void) if (!played) { - strcpy(filename,MenuHires?"oem1b.pcx":"oem1.pcx"); + strcpy(filename,HiresGFX?"oem1b.pcx":"oem1.pcx"); while (PHYSFS_exists(filename)) { @@ -327,9 +327,9 @@ void show_loading_screen(ubyte *title_pal) int pcx_error; char filename[14]; - strcpy(filename, MenuHires?"descentb.pcx":"descent.pcx"); + strcpy(filename, HiresGFX?"descentb.pcx":"descent.pcx"); if (! cfexist(filename)) - strcpy(filename, MenuHires?"descntob.pcx":"descento.pcx"); // OEM + strcpy(filename, HiresGFX?"descntob.pcx":"descento.pcx"); // OEM if (! cfexist(filename)) strcpy(filename, "descentd.pcx"); // SHAREWARE if (! cfexist(filename)) @@ -339,8 +339,6 @@ void show_loading_screen(ubyte *title_pal) set_screen_mode(SCREEN_MENU); #endif - FontHires = FontHiresAvailable && MenuHires; - if ((pcx_error=pcx_read_fullscr( filename, title_pal ))==PCX_ERROR_NONE) { //vfx_set_palette_sub( title_pal ); gr_palette_clear(); @@ -869,7 +867,7 @@ int show_briefing_message(int screen_num, char *message) init_char_pos(bsp->text_ulx, bsp->text_uly); } else { bsp=&Briefing_screens[0]; - init_char_pos(bsp->text_ulx, bsp->text_uly-(8*(1+MenuHires))); + init_char_pos(bsp->text_ulx, bsp->text_uly-(8*(1+HiresGFX))); } while (!done) { @@ -899,7 +897,7 @@ int show_briefing_message(int screen_num, char *message) ; } else if (ch == 'T') { tab_stop = get_message_num(&message); - tab_stop*=(1+MenuHires); + tab_stop*=(1+HiresGFX); prev_ch = 10; // read to eoln } else if (ch == 'R') { if (Robot_canv != NULL) { @@ -991,7 +989,7 @@ int show_briefing_message(int screen_num, char *message) fname2[i++]='x'; fname2[i++]=0; - if ((MenuHires && cfexist(fname2)) || !cfexist(fname)) + if ((HiresGFX && cfexist(fname2)) || !cfexist(fname)) load_new_briefing_screen (fname2); else load_new_briefing_screen (fname); @@ -1003,7 +1001,6 @@ int show_briefing_message(int screen_num, char *message) } #endif } - //load_new_briefing_screen (MenuHires?"end01b.pcx":"end01.pcx"); } else if (ch == 'B') { char bitmap_name[32]; @@ -1079,7 +1076,7 @@ int show_briefing_message(int screen_num, char *message) if (!GotZ) { Int3(); // Hey ryan!!!! You gotta load a screen before you start // printing to it! You know, $Z !!! - load_new_briefing_screen (MenuHires?"end01b.pcx":"end01.pcx"); + load_new_briefing_screen (HiresGFX?"end01b.pcx":"end01.pcx"); } new_page = 1; @@ -1104,7 +1101,7 @@ int show_briefing_message(int screen_num, char *message) if (prev_ch != '\\') { prev_ch = ch; if (DumbAdjust==0) - Briefing_text_y += FONTSCALE_Y(8*(MenuHires+1)); + Briefing_text_y += FONTSCALE_Y(8*(HiresGFX+1)); else DumbAdjust--; Briefing_text_x = bsp->text_ulx; @@ -1132,7 +1129,7 @@ int show_briefing_message(int screen_num, char *message) if (!GotZ) { Int3(); // Hey ryan!!!! You gotta load a screen before you start // printing to it! You know, $Z !!! - load_new_briefing_screen (MenuHires?"end01b.pcx":"end01.pcx"); + load_new_briefing_screen (HiresGFX?"end01b.pcx":"end01.pcx"); } #ifdef OGL @@ -1277,7 +1274,8 @@ int show_briefing_message(int screen_num, char *message) } #ifdef OGL - gr_free_bitmap_data (&briefing_bm); + if (!init_briefing_bm) + gr_free_bitmap_data (&briefing_bm); init_briefing_bm=1; #endif @@ -1614,13 +1612,13 @@ void show_order_form() key_flush(); - strcpy(exit_screen, MenuHires?"ordrd2ob.pcx":"ordrd2o.pcx"); // OEM + strcpy(exit_screen, HiresGFX?"ordrd2ob.pcx":"ordrd2o.pcx"); // OEM if (! cfexist(exit_screen)) - strcpy(exit_screen, MenuHires?"orderd2b.pcx":"orderd2.pcx"); // SHAREWARE, prefer mac if hires + strcpy(exit_screen, HiresGFX?"orderd2b.pcx":"orderd2.pcx"); // SHAREWARE, prefer mac if hires if (! cfexist(exit_screen)) - strcpy(exit_screen, MenuHires?"orderd2.pcx":"orderd2b.pcx"); // SHAREWARE, have to rescale + strcpy(exit_screen, HiresGFX?"orderd2.pcx":"orderd2b.pcx"); // SHAREWARE, have to rescale if (! cfexist(exit_screen)) - strcpy(exit_screen, MenuHires?"warningb.pcx":"warning.pcx"); // D1 + strcpy(exit_screen, HiresGFX?"warningb.pcx":"warning.pcx"); // D1 if (! cfexist(exit_screen)) return; // D2 registered