//=============================================================================
-int m_save_demonum;
+//int m_save_demonum;
/*
================
m_state = m_none;
return;
}
- if (key_dest == key_console)
- {
- Con_ToggleConsole_f ();
- }
- else
- {
+ //if (key_dest == key_console)
+ // Con_ToggleConsole_f ();
+ //else
M_Menu_Main_f ();
- }
}
else
MAIN_ITEMS = 5;
+ /*
if (key_dest != key_menu)
{
m_save_demonum = cls.demonum;
cls.demonum = -1;
}
+ */
key_dest = key_menu;
m_state = m_main;
m_entersound = true;
case K_ESCAPE:
key_dest = key_game;
m_state = m_none;
- cls.demonum = m_save_demonum;
- if (cls.demonum != -1 && !cls.demoplayback && cls.state != ca_connected)
- CL_NextDemo ();
+ //cls.demonum = m_save_demonum;
+ //if (cls.demonum != -1 && !cls.demoplayback && cls.state != ca_connected)
+ // CL_NextDemo ();
break;
case K_DOWNARROW:
}
-#define OPTIONS_ITEMS 27
+#define OPTIONS_ITEMS 28
int options_cursor;
case 18:
Cvar_SetValueQuick (&crosshair_size, bound(1, crosshair_size.value + dir, 5));
break;
- case 19: // show framerate
+ case 19: // static crosshair
+ Cvar_SetValueQuick (&crosshair_static, !crosshair_static.integer);
+ break;
+ case 20: // show framerate
Cvar_SetValueQuick (&showfps, !showfps.integer);
break;
- case 20: // always run
+ case 21: // always run
if (cl_forwardspeed.value > 200)
{
Cvar_SetValueQuick (&cl_forwardspeed, 200);
Cvar_SetValueQuick (&cl_backspeed, 400);
}
break;
- case 21: // lookspring
+ case 22: // lookspring
Cvar_SetValueQuick (&lookspring, !lookspring.integer);
break;
- case 22: // lookstrafe
+ case 23: // lookstrafe
Cvar_SetValueQuick (&lookstrafe, !lookstrafe.integer);
break;
- case 23: // mouse speed
+ case 24: // mouse speed
Cvar_SetValueQuick (&sensitivity, bound(1, sensitivity.value + dir * 0.5, 50));
break;
- case 24: // mouse look
+ case 25: // mouse look
Cvar_SetValueQuick (&freelook, !freelook.integer);
break;
- case 25: // invert mouse
+ case 26: // invert mouse
Cvar_SetValueQuick (&m_pitch, -m_pitch.value);
break;
- case 26: // windowed mouse
+ case 27: // windowed mouse
Cvar_SetValueQuick (&vid_mouse, !vid_mouse.integer);
break;
}
M_ItemPrint(16, y, " Sound Volume", snd_initialized);M_DrawSlider(220, y, volume.value);y += 8;
M_Print(16, y, " Crosshair");M_DrawSlider(220, y, crosshair.value / 5);y += 8;
M_Print(16, y, " Crosshair Size");M_DrawSlider(220, y, (crosshair_size.value - 1) / 4);y += 8;
+ M_Print(16, y, " Static Crosshair");M_DrawCheckbox(220, y, crosshair_static.integer);y += 8;
M_Print(16, y, " Show Framerate");M_DrawCheckbox(220, y, showfps.integer);y += 8;
M_Print(16, y, " Always Run");M_DrawCheckbox(220, y, cl_forwardspeed.value > 200);y += 8;
M_Print(16, y, " Lookspring");M_DrawCheckbox(220, y, lookspring.integer);y += 8;
}
}
-#define OPTIONS_EFFECTS_ITEMS 11
+#define OPTIONS_EFFECTS_ITEMS 16
int options_effects_cursor;
}
+extern cvar_t r_detailtextures;
extern cvar_t cl_particles;
extern cvar_t cl_explosions;
extern cvar_t cl_stainmaps;
+extern cvar_t r_explosionclip;
+extern cvar_t r_dlightmap;
extern cvar_t r_modellights;
+extern cvar_t r_coronas;
+extern cvar_t gl_flashblend;
extern cvar_t cl_particles_bulletimpacts;
extern cvar_t cl_particles_smoke;
extern cvar_t cl_particles_sparks;
Cvar_SetValueQuick (&r_modellights, bound(0, r_modellights.value + dir, 8));
break;
case 1:
- Cvar_SetValueQuick (&cl_particles, !cl_particles.integer);
+ Cvar_SetValueQuick (&r_dlightmap, !r_dlightmap.integer);
break;
case 2:
- Cvar_SetValueQuick (&cl_explosions, !cl_explosions.integer);
+ Cvar_SetValueQuick (&r_coronas, !r_coronas.integer);
break;
case 3:
- Cvar_SetValueQuick (&cl_stainmaps, !cl_stainmaps.integer);
+ Cvar_SetValueQuick (&gl_flashblend, !gl_flashblend.integer);
break;
case 4:
- Cvar_SetValueQuick (&cl_particles_bulletimpacts, !cl_particles_bulletimpacts.integer);
+ Cvar_SetValueQuick (&cl_particles, !cl_particles.integer);
break;
case 5:
- Cvar_SetValueQuick (&cl_particles_smoke, !cl_particles_smoke.integer);
+ Cvar_SetValueQuick (&cl_explosions, !cl_explosions.integer);
break;
case 6:
- Cvar_SetValueQuick (&cl_particles_sparks, !cl_particles_sparks.integer);
+ Cvar_SetValueQuick (&r_explosionclip, !r_explosionclip.integer);
break;
case 7:
- Cvar_SetValueQuick (&cl_particles_bubbles, !cl_particles_bubbles.integer);
+ Cvar_SetValueQuick (&cl_stainmaps, !cl_stainmaps.integer);
break;
case 8:
- Cvar_SetValueQuick (&cl_particles_blood, !cl_particles_blood.integer);
+ Cvar_SetValueQuick (&r_detailtextures, !r_detailtextures.integer);
break;
case 9:
- Cvar_SetValueQuick (&cl_particles_blood_size, bound(2, cl_particles_blood_size.value + dir * 1, 20));
+ Cvar_SetValueQuick (&cl_particles_bulletimpacts, !cl_particles_bulletimpacts.integer);
break;
case 10:
+ Cvar_SetValueQuick (&cl_particles_smoke, !cl_particles_smoke.integer);
+ break;
+ case 11:
+ Cvar_SetValueQuick (&cl_particles_sparks, !cl_particles_sparks.integer);
+ break;
+ case 12:
+ Cvar_SetValueQuick (&cl_particles_bubbles, !cl_particles_bubbles.integer);
+ break;
+ case 13:
+ Cvar_SetValueQuick (&cl_particles_blood, !cl_particles_blood.integer);
+ break;
+ case 14:
+ Cvar_SetValueQuick (&cl_particles_blood_size, bound(2, cl_particles_blood_size.value + dir * 1, 20));
+ break;
+ case 15:
Cvar_SetValueQuick (&cl_particles_blood_alpha, bound(0.2, cl_particles_blood_alpha.value + dir * 0.1, 1));
break;
}
y = 32;
M_Print(16, y, " Lights Per Model");M_DrawSlider(220, y, r_modellights.value / 8);y += 8;
+ M_Print(16, y, " Fast Dynamic Lighting");M_DrawCheckbox(220, y, !r_dlightmap.integer);y += 8;
+ M_Print(16, y, " Coronas");M_DrawCheckbox(220, y, r_coronas.integer);y += 8;
+ M_Print(16, y, " Use Only Coronas");M_DrawCheckbox(220, y, gl_flashblend.integer);y += 8;
M_Print(16, y, " Particles");M_DrawCheckbox(220, y, cl_particles.integer);y += 8;
M_Print(16, y, " Explosions");M_DrawCheckbox(220, y, cl_explosions.integer);y += 8;
+ M_Print(16, y, " Explosion Clipping");M_DrawCheckbox(220, y, r_explosionclip.integer);y += 8;
M_Print(16, y, " Stainmaps");M_DrawCheckbox(220, y, cl_stainmaps.integer);y += 8;
+ M_Print(16, y, " Detail Texturing");M_DrawCheckbox(220, y, r_detailtextures.integer);y += 8;
M_Print(16, y, " Bullet Impacts");M_DrawCheckbox(220, y, cl_particles_bulletimpacts.integer);y += 8;
M_Print(16, y, " Smoke");M_DrawCheckbox(220, y, cl_particles_smoke.integer);y += 8;
M_Print(16, y, " Sparks");M_DrawCheckbox(220, y, cl_particles_sparks.integer);y += 8;
//=============================================================================
/* KEYS MENU */
-char *bindnames[][2] =
+char *quakebindnames[][2] =
+{
+{"+attack", "attack"},
+{"impulse 10", "next weapon"},
+{"impulse 12", "previous weapon"},
+{"+jump", "jump / swim up"},
+{"+forward", "walk forward"},
+{"+back", "backpedal"},
+{"+left", "turn left"},
+{"+right", "turn right"},
+{"+speed", "run"},
+{"+moveleft", "step left"},
+{"+moveright", "step right"},
+{"+strafe", "sidestep"},
+{"+lookup", "look up"},
+{"+lookdown", "look down"},
+{"centerview", "center view"},
+{"+mlook", "mouse look"},
+{"+klook", "keyboard look"},
+{"+moveup", "swim up"},
+{"+movedown", "swim down"}
+};
+
+char *transfusionbindnames[][2] =
{
-#ifdef TRANSFUSION
{"+forward", "walk forward"},
{"+back", "backpedal"},
{"+moveleft", "step left"},
{"impulse 141", "identify player"},
{"impulse 16", "next armor type"},
{"impulse 20", "observer mode"}
-#else // not TRANSFUSION
-{"+attack", "attack"},
-{"impulse 10", "next weapon"},
-{"impulse 12", "previous weapon"},
-{"+jump", "jump / swim up"},
-{"+forward", "walk forward"},
-{"+back", "backpedal"},
-{"+left", "turn left"},
-{"+right", "turn right"},
-{"+speed", "run"},
-{"+moveleft", "step left"},
-{"+moveright", "step right"},
-{"+strafe", "sidestep"},
-{"+lookup", "look up"},
-{"+lookdown", "look down"},
-{"centerview", "center view"},
-{"+mlook", "mouse look"},
-{"+klook", "keyboard look"},
-{"+moveup", "swim up"},
-{"+movedown", "swim down"}
-#endif // not TRANSFUSION
};
-#define NUMCOMMANDS (sizeof(bindnames)/sizeof(bindnames[0]))
+int numcommands;
+char *(*bindnames)[2];
/*
typedef struct binditem_s
M_Print (18, 32, "Enter to change, backspace to clear");
// search for known bindings
- for (i=0 ; i<NUMCOMMANDS ; i++)
+ for (i=0 ; i<numcommands ; i++)
{
y = 48 + 8*i;
S_LocalSound ("misc/menu1.wav");
keys_cursor--;
if (keys_cursor < 0)
- keys_cursor = NUMCOMMANDS-1;
+ keys_cursor = numcommands-1;
break;
case K_DOWNARROW:
case K_RIGHTARROW:
S_LocalSound ("misc/menu1.wav");
keys_cursor++;
- if (keys_cursor >= NUMCOMMANDS)
+ if (keys_cursor >= numcommands)
keys_cursor = 0;
break;
case 'Y':
case 'y':
- key_dest = key_console;
Host_Quit_f ();
break;
{"e6m8", "Beauty and the Beast"},
{"cpbb01", "Crypt of Despair"},
- {"cpbb02", "Pits of Blood"},
{"cpbb03", "Unholy Cathedral"},
- {"cpbb04", "Deadly Inspirations"},
{"b2a15", "Area 15 (B2)"},
{"barena", "Blood Arena"},
{"crypt", "The Crypt"},
{"bb3_2k1", "Bodies Infusion"},
+ {"dranzbb6", "Black Coffee"},
{"qbb1", "The Confluence"},
{"qbb2", "KathartiK"},
{"qbb3", "Caleb's Woodland Retreat"},
- {"ded_simp", "Dead Simple"},
- {"dranzbb6", "Black Coffee"},
- {"qe1m7", "The House of Chthon"}
+ {"qe1m7", "The House of Chthon"},
+ {"simple", "Dead Simple"}
};
episode_t transfusionepisodes[] =
{
{"Blood", 0, 10},
{"Plasma Pack", 10, 4},
- {"Cryptic Passage", 14, 4},
- {"Blood 2", 18, 5},
- {"Custom", 23, 7}
+ {"Cryptic Passage", 14, 2},
+ {"Blood 2", 16, 5},
+ {"Custom", 21, 7}
};
gamelevels_t sharewarequakegame = {"Shareware Quake", quakelevels, quakeepisodes, 2};
{GAME_HIPNOTIC, &hipnoticgame, &hipnoticgame},
{GAME_ROGUE, &roguegame, &roguegame},
{GAME_NEHAHRA, &nehahragame, &nehahragame},
- {GAME_FIENDARENA, &sharewarequakegame, ®isteredquakegame},
- {GAME_ZYMOTIC, &sharewarequakegame, ®isteredquakegame},
{GAME_TRANSFUSION, &transfusiongame, &transfusiongame},
{-1, &sharewarequakegame, ®isteredquakegame} // final fallback
};
if (maxplayers == 0)
maxplayers = svs.maxclients;
if (maxplayers < 2)
- maxplayers = svs.maxclientslimit;
+ maxplayers = MAX_SCOREBOARD;
}
{
case 1:
maxplayers += dir;
- if (maxplayers > svs.maxclientslimit)
+ if (maxplayers > MAX_SCOREBOARD)
{
- maxplayers = svs.maxclientslimit;
+ maxplayers = MAX_SCOREBOARD;
m_serverInfoMessage = true;
m_serverInfoMessageTime = realtime;
}
Cmd_AddCommand ("help", M_Menu_Help_f);
Cmd_AddCommand ("menu_quit", M_Menu_Quit_f);
+ if (gamemode == GAME_TRANSFUSION)
+ {
+ numcommands = sizeof(transfusionbindnames) / sizeof(transfusionbindnames[0]);
+ bindnames = transfusionbindnames;
+ }
+ else
+ {
+ numcommands = sizeof(quakebindnames) / sizeof(quakebindnames[0]);
+ bindnames = quakebindnames;
+ }
+
if (gamemode == GAME_NEHAHRA)
{
if (COM_FileExists("maps/neh1m4.bsp"))