From a176140b1aee419b27389c2035b22368f1df3c29 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Thu, 13 Mar 2003 22:34:58 +0000 Subject: [PATCH] added "d2x options" menu, with maxfps option --- ChangeLog | 5 ++ main/gamecntl.c | 6 +- main/menu.c | 174 +++++++++++++++++++++++++++++++++++++++++++++++- main/menu.h | 3 +- 4 files changed, 181 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6bda424f..218da223 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-03-13 Bradley Bell + + * main/gamecntl.c, main/menu.c, main/menu.h: added "d2x options" + menu, with maxfps option + 2003-03-12 Bradley Bell * main/game.c, main/game.h, main/inferno.c: added -maxfps option diff --git a/main/gamecntl.c b/main/gamecntl.c index 70824e1b..e658cb13 100644 --- a/main/gamecntl.c +++ b/main/gamecntl.c @@ -1,4 +1,4 @@ -/* $Id: gamecntl.c,v 1.14 2003-01-15 02:42:41 btb Exp $ */ +/* $Id: gamecntl.c,v 1.15 2003-03-13 22:34:58 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -1389,12 +1389,12 @@ int HandleSystemKey(int key) #endif //added 8/23/99 by Matt Mueller for hot key res/fullscreen changing, and menu access -#if 0 case KEY_CTRLED+KEY_SHIFTED+KEY_PADDIVIDE: case KEY_ALTED+KEY_CTRLED+KEY_PADDIVIDE: case KEY_ALTED+KEY_SHIFTED+KEY_PADDIVIDE: - d1x_options_menu(); + d2x_options_menu(); break; +#if 0 case KEY_CTRLED+KEY_SHIFTED+KEY_PADMULTIPLY: case KEY_ALTED+KEY_CTRLED+KEY_PADMULTIPLY: case KEY_ALTED+KEY_SHIFTED+KEY_PADMULTIPLY: diff --git a/main/menu.c b/main/menu.c index 643f2c15..26add9ab 100644 --- a/main/menu.c +++ b/main/menu.c @@ -1,4 +1,4 @@ -/* $Id: menu.c,v 1.19 2003-03-12 03:52:41 btb Exp $ */ +/* $Id: menu.c,v 1.20 2003-03-13 22:34:58 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -1142,9 +1142,174 @@ void options_menuset(int nitems, newmenu_item * items, int *last_key, int citem last_key++; //kill warning } + +//added on 8/18/98 by Victor Rachels to add d1x options menu, maxfps setting +//added/edited on 8/18/98 by Victor Rachels to set maxfps always on, max=80 +//added/edited on 9/7/98 by Victor Rachels to attempt dir browsing. failed. + +void d2x_options_menu_poll(int nitems, newmenu_item * menus, int * key, int citem) +{ +} + + +void d2x_options_menu() +{ + newmenu_item m[14]; + int i=0; + int opt = 0; + int inputs; +#if 0 + int checks, commands; +#endif + + char smaxfps[4]; +#if 0 + char shudmaxnumdisp[4]; + char thogdir[64]; + extern int gr_message_color_level; + + sprintf(thogdir,AltHogDir); +#endif + sprintf(smaxfps,"%d",maxfps); +#if 0 + sprintf(shudmaxnumdisp,"%d",HUD_max_num_disp); + + m[opt].type = NM_TYPE_MENU; m[opt].text = "Primary autoselect ordering..."; opt++; + m[opt].type = NM_TYPE_MENU; m[opt].text = "Secondary autoselect ordering..."; opt++; + + //added on 2/4/99 by Victor Rachels for new key menu + m[opt].type = NM_TYPE_MENU; m[opt].text = "D1X Keys"; opt++; + //end this section addition - VR + + //enabled 3/24/99 - Owen Evans + m[opt].type = NM_TYPE_MENU; m[opt].text = "Change Screen Resolution"; opt++; + //end enabled stuff - OE + + commands=opt; + //added on 2/2/99 by Victor Rachels for bans +#ifdef NETWORK + m[opt].type = NM_TYPE_MENU; m[opt].text = "Save bans now"; opt++; +#endif + //end this section addition - VR +#endif // 0 + + m[opt].type = NM_TYPE_TEXT; m[opt].text = "Maximum Framerate (1-80):"; opt++; + + + inputs=opt; + m[opt].type = NM_TYPE_INPUT; m[opt].text = smaxfps; m[opt].text_len=3; opt++; +#if 0 + m[opt].type = NM_TYPE_TEXT; m[opt].text = "Mission Directory"; opt++; + m[opt].type = NM_TYPE_INPUT; m[opt].text = thogdir; m[opt].text_len=64; opt++; + m[opt].type = NM_TYPE_TEXT; m[opt].text = "Hud Messages lines (1-80):"; opt++; + m[opt].type = NM_TYPE_INPUT; m[opt].text = shudmaxnumdisp; m[opt].text_len=3; opt++; + m[opt].type = NM_TYPE_SLIDER; m[opt].text = "Message colorization level"; m[opt].value=gr_message_color_level;m[opt].min_value=0;m[opt].max_value=3; opt++; + checks=opt; +#ifdef __MSDOS__ + m[opt].type = NM_TYPE_CHECK; m[opt].text = "Joy is sidewinder"; m[opt].value=Joy_is_Sidewinder; opt++; +#endif +#ifdef SUPPORTS_NICEFPS + m[opt].type = NM_TYPE_CHECK; m[opt].text = "Nice FPS (free cpu cycles)"; m[opt].value = use_nice_fps; opt++; +#endif +#endif // 0 + + for(;;) + { + i=newmenu_do1( NULL, "D2X options", opt, m, &d2x_options_menu_poll, i); + + if(i>-1) + { +#if 0 + if(i80) + { + nm_messagebox(TXT_ERROR, 1, TXT_OK, "Invalid value for maximum framerate"); + maxfps = 80; + i = (inputs+0); + } + else break; // FIXME: temporary hack to exit menu right away + } +#if 0 + else if(i==inputs+2) + cfile_use_alternate_hogdir(thogdir); + else if(i==inputs+4) + { + HUD_max_num_disp = atoi(shudmaxnumdisp); + if(HUD_max_num_disp < 1||HUD_max_num_disp>HUD_MAX_NUM) + { + nm_messagebox(TXT_ERROR, 1, TXT_OK, "Invalid value for hud lines"); + HUD_max_num_disp=4; + // i=(inputs+4);//??? + } + } + gr_message_color_level=m[inputs+5].value; + + sprintf(shudmaxnumdisp,"%d",HUD_max_num_disp); +#endif // 0 + sprintf(smaxfps,"%d",maxfps); + // m[inputs+0].text=smaxfps;//redundant.. its not going anywhere +#if 0 + sprintf(thogdir,AltHogDir); + // m[inputs+2].text=thogdir;//redundant +#endif + } + else + break; + } + +#if 0 + write_player_file(); + +#ifdef __MSDOS__ + Joy_is_Sidewinder=m[(checks+0)].value; +#endif +#ifdef __LINUX__ + Joy_is_Sidewinder=0; +#endif +#ifdef SUPPORTS_NICEFPS + use_nice_fps=m[(checks+0)].value; +#else + use_nice_fps=0; +#endif +#endif // 0 +} + +//end edit - Victor Rachels +//end addition - Victor Rachels + + void do_options_menu() { - newmenu_item m[12]; + newmenu_item m[13]; int i = 0; do { @@ -1218,7 +1383,9 @@ void do_options_menu() m[ 9].type = NM_TYPE_MENU; m[ 9].text="Primary autoselect ordering..."; m[10].type = NM_TYPE_MENU; m[10].text="Secondary autoselect ordering..."; m[11].type = NM_TYPE_MENU; m[11].text="Toggles..."; - + + m[12].type = NM_TYPE_MENU; m[12].text="D2X options..."; + i = newmenu_do1( NULL, TXT_OPTIONS, sizeof(m)/sizeof(*m), m, options_menuset, i ); switch(i) { @@ -1230,6 +1397,7 @@ void do_options_menu() case 9: ReorderPrimary(); break; case 10: ReorderSecondary(); break; case 11: do_toggles_menu(); break; + case 12: d2x_options_menu(); break; } } while( i>-1 ); diff --git a/main/menu.h b/main/menu.h index 08cbb840..7593d20e 100644 --- a/main/menu.h +++ b/main/menu.h @@ -1,4 +1,4 @@ -/* $Id: menu.h,v 1.5 2002-09-07 07:24:29 btb Exp $ */ +/* $Id: menu.h,v 1.6 2003-03-13 22:34:58 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -19,6 +19,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. //returns number of item chosen extern int DoMenu(); extern void do_options_menu(); +extern void d2x_options_menu(); extern int MenuHires; -- 2.39.2