mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-14 17:01:21 +00:00
a39565b783
... not quite content with where the project files lie but it is ok for now. ... compiling works fine so far (only tested mingw32 right now)
687 lines
24 KiB
C
687 lines
24 KiB
C
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
/*
|
|
=======================================================================
|
|
|
|
GAME OPTIONS MENU
|
|
|
|
=======================================================================
|
|
*/
|
|
|
|
|
|
#include "ui_local.h"
|
|
|
|
|
|
#define NUM_CROSSHAIRS 12
|
|
#define PIC_BUTTON2 "menu/common/full_button2.tga"
|
|
|
|
extern void BG_LoadItemNames(void);
|
|
|
|
// Precache stuff for Game Options Menu
|
|
static struct
|
|
{
|
|
menuframework_s menu;
|
|
|
|
qhandle_t slant1;
|
|
qhandle_t slant2;
|
|
qhandle_t swooptop;
|
|
qhandle_t swoopbottom;
|
|
qhandle_t singraph;
|
|
qhandle_t graphbox;
|
|
qhandle_t lswoop;
|
|
qhandle_t lswoop2;
|
|
qhandle_t tallswoop;
|
|
qhandle_t tallswoop2;
|
|
|
|
} s_gameoptions;
|
|
|
|
|
|
extern int s_OffOnNone_Names[];
|
|
|
|
#define ID_LIGHTFLARES 129
|
|
#define ID_LIGHTFLARES_VALUE 130
|
|
#define ID_WALLMARKS_VALUE 133
|
|
#define ID_DYNAMICLIGHTS_VALUE 135
|
|
#define ID_IDENTIFYTARGET_VALUE 137
|
|
#define ID_SYNCEVERYFRAME_VALUE 139
|
|
|
|
|
|
#define PREFERENCES_X_POS 360
|
|
|
|
#define ID_TEXTLANGUAGE 126
|
|
#define ID_CROSSHAIR 127
|
|
#define ID_SIMPLEITEMS 128
|
|
#define ID_HIGHQUALITYSKY 129
|
|
#define ID_EJECTINGBRASS 130
|
|
#define ID_WALLMARKS 131
|
|
#define ID_DYNAMICLIGHTS 132
|
|
#define ID_IDENTIFYTARGET 133
|
|
#define ID_SYNCEVERYFRAME 134
|
|
#define ID_FORCEMODEL 135
|
|
#define ID_DRAWTEAMOVERLAY 136
|
|
#define ID_ALLOWDOWNLOAD 137
|
|
#define ID_BACK 138
|
|
#define ID_VOICELANGUAGE 139
|
|
|
|
|
|
|
|
typedef struct {
|
|
menuframework_s menu;
|
|
|
|
//menubitmap_s crosshair;
|
|
menulist_s crosshair;
|
|
menulist_s textlanguage;
|
|
menulist_s voicelanguage;
|
|
menulist_s simpleitems;
|
|
menulist_s wallmarks;
|
|
menulist_s dynamiclights;
|
|
menulist_s identifytarget;
|
|
menulist_s synceveryframe;
|
|
menulist_s forcemodel;
|
|
menulist_s drawteamoverlay;
|
|
menulist_s allowdownload;
|
|
menulist_s flares;
|
|
|
|
int currentcrosshair;
|
|
//qhandle_t crosshairShader[NUM_CROSSHAIRS];
|
|
} preferences_t;
|
|
|
|
static preferences_t s_preferences;
|
|
|
|
int s_textlanguage_Names[] =
|
|
{
|
|
MNT_ENGLISH,
|
|
MNT_GERMAN,
|
|
MNT_DUTCH,
|
|
MNT_NONE
|
|
};
|
|
|
|
int s_voicelanguage_Names[] =
|
|
{
|
|
MNT_ENGLISH,
|
|
MNT_GERMAN,
|
|
MNT_NONE
|
|
};
|
|
|
|
/*static int teamoverlay_names[] =
|
|
{
|
|
MNT_TO_OFF,
|
|
MNT_TO_UPPER_RIGHT,
|
|
MNT_TO_LOWER_RIGHT,
|
|
MNT_TO_LOWER_LEFT,
|
|
0
|
|
};*/
|
|
|
|
static void Preferences_SetMenuItems( void )
|
|
{
|
|
char buffer[32];
|
|
int *language;
|
|
|
|
s_preferences.currentcrosshair = trap_Cvar_VariableValue( "cg_drawCrosshair" ) != 0 /*% NUM_CROSSHAIRS*/;
|
|
s_preferences.simpleitems.curvalue = trap_Cvar_VariableValue( "cg_simpleItems" ) != 0;
|
|
s_preferences.wallmarks.curvalue = trap_Cvar_VariableValue( "cg_marks" ) != 0;
|
|
s_preferences.identifytarget.curvalue = trap_Cvar_VariableValue( "cg_drawCrosshairNames" ) != 0;
|
|
s_preferences.dynamiclights.curvalue = trap_Cvar_VariableValue( "r_dynamiclight" ) != 0;
|
|
// s_preferences.highqualitysky.curvalue = trap_Cvar_VariableValue ( "r_fastsky" ) == 0;
|
|
s_preferences.synceveryframe.curvalue = trap_Cvar_VariableValue( "r_finish" ) != 0;
|
|
s_preferences.forcemodel.curvalue = trap_Cvar_VariableValue( "cg_forcemodel" ) != 0;
|
|
s_preferences.drawteamoverlay.curvalue = Com_Clamp( 0, 3, trap_Cvar_VariableValue( "cg_drawTeamOverlay" ) );
|
|
s_preferences.allowdownload.curvalue = trap_Cvar_VariableValue( "cl_allowDownload" ) != 0;
|
|
|
|
s_preferences.flares.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "r_flares" ));
|
|
|
|
trap_Cvar_VariableStringBuffer( "g_language", buffer, 32 );
|
|
language = s_textlanguage_Names;
|
|
|
|
s_preferences.textlanguage.curvalue = 0;
|
|
if (buffer[0]) {
|
|
while (*language) //scan for a match
|
|
{
|
|
if (Q_stricmp(menu_normal_text[*language],buffer)==0)
|
|
{
|
|
break;
|
|
}
|
|
language++;
|
|
s_preferences.textlanguage.curvalue++;
|
|
}
|
|
|
|
if (!*language)
|
|
{
|
|
s_preferences.textlanguage.curvalue = 0;
|
|
}
|
|
}
|
|
|
|
trap_Cvar_VariableStringBuffer( "s_language", buffer, 32 );
|
|
language = s_voicelanguage_Names;
|
|
|
|
s_preferences.voicelanguage.curvalue = 0;
|
|
if (buffer[0]) {
|
|
while (*language) //scan for a match
|
|
{
|
|
if (Q_stricmp(menu_normal_text[*language],buffer)==0)
|
|
{
|
|
break;
|
|
}
|
|
language++;
|
|
s_preferences.voicelanguage.curvalue++;
|
|
}
|
|
|
|
if (!*language)
|
|
{
|
|
s_preferences.voicelanguage.curvalue = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
static void Preferences_Event( void* ptr, int notification )
|
|
{
|
|
if( notification != QM_ACTIVATED )
|
|
{
|
|
return;
|
|
}
|
|
|
|
switch( ((menucommon_s*)ptr)->id )
|
|
{
|
|
case ID_CROSSHAIR:
|
|
/*s_preferences.currentcrosshair++;
|
|
if( s_preferences.currentcrosshair == NUM_CROSSHAIRS )
|
|
{
|
|
s_preferences.currentcrosshair = 0;
|
|
}*/
|
|
//trap_Cvar_SetValue( "cg_drawCrosshair", s_preferences.currentcrosshair );
|
|
trap_Cvar_SetValue( "cg_drawCrosshair", s_preferences.crosshair.curvalue );
|
|
break;
|
|
|
|
case ID_SIMPLEITEMS:
|
|
trap_Cvar_SetValue( "cg_simpleItems", s_preferences.simpleitems.curvalue );
|
|
break;
|
|
|
|
case ID_LIGHTFLARES:
|
|
trap_Cvar_SetValue( "r_flares", s_preferences.flares.curvalue );
|
|
break;
|
|
|
|
case ID_WALLMARKS:
|
|
trap_Cvar_SetValue( "cg_marks", s_preferences.wallmarks.curvalue );
|
|
break;
|
|
|
|
case ID_DYNAMICLIGHTS:
|
|
trap_Cvar_SetValue( "r_dynamiclight", s_preferences.dynamiclights.curvalue );
|
|
break;
|
|
|
|
case ID_IDENTIFYTARGET:
|
|
trap_Cvar_SetValue( "cg_drawCrosshairNames", s_preferences.identifytarget.curvalue );
|
|
break;
|
|
|
|
case ID_SYNCEVERYFRAME:
|
|
trap_Cvar_SetValue( "r_finish", s_preferences.synceveryframe.curvalue );
|
|
break;
|
|
|
|
case ID_FORCEMODEL:
|
|
trap_Cvar_SetValue( "cg_forcemodel", s_preferences.forcemodel.curvalue );
|
|
break;
|
|
|
|
case ID_DRAWTEAMOVERLAY:
|
|
trap_Cvar_SetValue( "cg_drawTeamOverlay", s_preferences.drawteamoverlay.curvalue );
|
|
break;
|
|
|
|
case ID_ALLOWDOWNLOAD:
|
|
trap_Cvar_SetValue( "cl_allowDownload", s_preferences.allowdownload.curvalue );
|
|
break;
|
|
|
|
case ID_TEXTLANGUAGE:
|
|
trap_Cvar_Set( "g_language", menu_normal_text[s_textlanguage_Names[s_preferences.textlanguage.curvalue]] );
|
|
UI_LoadButtonText(); //reload the menus
|
|
UI_LoadMenuText();
|
|
BG_LoadItemNames();
|
|
break;
|
|
|
|
case ID_VOICELANGUAGE:
|
|
trap_Cvar_Set( "s_language", menu_normal_text[s_voicelanguage_Names[s_preferences.voicelanguage.curvalue]] );
|
|
trap_Cmd_ExecuteText( EXEC_APPEND, "snd_restart\n" );
|
|
break;
|
|
|
|
case ID_BACK:
|
|
UI_PopMenu();
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
Crosshair_Draw
|
|
=================
|
|
*/
|
|
/*
|
|
static void Crosshair_Draw( void *self ) {
|
|
menulist_s *s;
|
|
float *color;
|
|
int x, y;
|
|
int style;
|
|
qboolean focus;
|
|
|
|
s = (menulist_s *)self;
|
|
x = s->generic.x;
|
|
y = s->generic.y;
|
|
|
|
style = UI_SMALLFONT;
|
|
focus = (s->generic.parent->cursor == s->generic.menuPosition);
|
|
|
|
if ( s->generic.flags & QMF_GRAYED )
|
|
color = text_color_disabled;
|
|
else if ( focus )
|
|
{
|
|
color = text_color_highlight;
|
|
style |= UI_PULSE;
|
|
}
|
|
else if ( s->generic.flags & QMF_BLINK )
|
|
{
|
|
color = text_color_highlight;
|
|
style |= UI_BLINK;
|
|
}
|
|
else
|
|
color = text_color_normal;
|
|
|
|
if ( focus )
|
|
{
|
|
// draw cursor
|
|
UI_FillRect( s->generic.left, s->generic.top, s->generic.right-s->generic.left+1, s->generic.bottom-s->generic.top+1, listbar_color );
|
|
UI_DrawChar( x, y, 13, UI_CENTER|UI_BLINK|UI_SMALLFONT, color);
|
|
}
|
|
|
|
UI_DrawString( x - SMALLCHAR_WIDTH, y, s->generic.name, style|UI_RIGHT, color );
|
|
if( !s->curvalue ) {
|
|
return;
|
|
}
|
|
UI_DrawHandlePic( x + SMALLCHAR_WIDTH, y - 4, 24, 24, s_preferences.crosshairShader[s->curvalue] );
|
|
}
|
|
*/
|
|
|
|
/*
|
|
=================
|
|
GameOptions_MenuDraw
|
|
=================
|
|
*/
|
|
static void GameOptions_MenuDraw( void )
|
|
{
|
|
//int x;
|
|
|
|
UI_MenuFrame(&s_gameoptions.menu);
|
|
|
|
UI_Setup_MenuButtons();
|
|
|
|
trap_R_SetColor( colorTable[CT_DKPURPLE2]);
|
|
UI_DrawHandlePic(30,203, 47, 186, uis.whiteShader); // Long left hand column square
|
|
/*
|
|
UI_DrawHandlePic( 543, 171, 128, 32, s_gameoptions.swooptop);
|
|
UI_DrawHandlePic( 543, 396, 128, 32, s_gameoptions.swoopbottom);
|
|
|
|
UI_DrawHandlePic(548, 195, 64, 8, uis.whiteShader); // Top of right hand column
|
|
UI_DrawHandlePic(548, 389, 64, 7, uis.whiteShader); // Bottom of right hand column
|
|
UI_DrawHandlePic( 548, 206, 64, 180, uis.whiteShader); //
|
|
|
|
UI_DrawHandlePic( 104, 171, 436, 12, uis.whiteShader); // Top
|
|
UI_DrawHandlePic( 104, 182, 16, 227, uis.whiteShader); // Side
|
|
UI_DrawHandlePic( 104, 408, 436, 12, uis.whiteShader); // Bottom
|
|
*/
|
|
//RPG-X TiM : We can't customize our crosshairs no more. :'(
|
|
|
|
// trap_R_SetColor( colorTable[CT_DKBLUE1]);
|
|
// UI_DrawHandlePic(387, 245, 8, 87, uis.whiteShader); // Lefthand side of CROSSHAIR box
|
|
// UI_DrawHandlePic(513, 245, 8, 87, uis.whiteShader); // Righthand side of CROSSHAIR box
|
|
// UI_DrawHandlePic(395, 335, 116, 3, uis.whiteShader); // Bottom of CROSSHAIR box
|
|
// UI_DrawHandlePic( 387, 332, 16, 16,s_gameoptions.lswoop); // lower left hand swoop
|
|
// UI_DrawHandlePic( 510, 332, 16, 16,s_gameoptions.lswoop2); // lower right hand swoop
|
|
//
|
|
// UI_DrawHandlePic( 387, 224, 16, 32, s_gameoptions.tallswoop); // upper left hand swoop
|
|
// UI_DrawHandlePic( 507, 224, 16, 32, s_gameoptions.tallswoop2); // upper right hand swoop
|
|
//
|
|
// trap_R_SetColor( colorTable[CT_YELLOW]);
|
|
// x = 438;
|
|
// if (s_preferences.currentcrosshair)
|
|
// {
|
|
// UI_DrawHandlePic(x,270, 32, 32, s_preferences.crosshairShader[s_preferences.currentcrosshair]); // Draw crosshair
|
|
// }
|
|
// else
|
|
// {
|
|
// UI_DrawProportionalString( 454, 275, menu_normal_text[MNT_CROSSHAIR_NONE],UI_CENTER|UI_SMALLFONT, colorTable[CT_LTGOLD1]); // No crosshair
|
|
// }
|
|
|
|
// Menu frame numbers
|
|
UI_DrawProportionalString( 74, 66, "1776",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 74, 84, "9214",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 74, 188, "2510-81",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 74, 206, "644",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString( 74, 395, "1001001",UI_RIGHT|UI_TINYFONT, colorTable[CT_BLACK]);
|
|
|
|
Menu_Draw( &s_gameoptions.menu );
|
|
}
|
|
|
|
/*
|
|
=================
|
|
GameOptions_MenuKey
|
|
=================
|
|
*/
|
|
static sfxHandle_t GameOptions_MenuKey( int key )
|
|
{
|
|
return Menu_DefaultKey( &s_gameoptions.menu, key );
|
|
}
|
|
/*
|
|
===============
|
|
UI_GameOptionsMenu_Cache
|
|
===============
|
|
*/
|
|
void UI_GameOptionsMenu_Cache( void )
|
|
{
|
|
//int i;
|
|
|
|
s_gameoptions.slant1 = trap_R_RegisterShaderNoMip("menu/lcarscontrols/slant1.tga");
|
|
s_gameoptions.slant2 = trap_R_RegisterShaderNoMip("menu/lcarscontrols/slant2.tga");
|
|
|
|
s_gameoptions.swooptop = trap_R_RegisterShaderNoMip("menu/lcarscontrols/bigswooptop.tga");
|
|
s_gameoptions.swoopbottom = trap_R_RegisterShaderNoMip("menu/lcarscontrols/bigswoopbottom.tga");
|
|
|
|
s_gameoptions.singraph = trap_R_RegisterShaderNoMip("menu/lcarscontrols/singraph.tga");
|
|
s_gameoptions.graphbox = trap_R_RegisterShaderNoMip("menu/lcarscontrols/graphbox.tga");
|
|
|
|
s_gameoptions.lswoop = trap_R_RegisterShaderNoMip("menu/lcarscontrols/lswoop.tga");
|
|
s_gameoptions.lswoop2 = trap_R_RegisterShaderNoMip("menu/lcarscontrols/lswoop2.tga");
|
|
s_gameoptions.tallswoop = trap_R_RegisterShaderNoMip("menu/lcarscontrols/tallswoop.tga");
|
|
s_gameoptions.tallswoop2 = trap_R_RegisterShaderNoMip("menu/lcarscontrols/tallswoop2.tga");
|
|
|
|
trap_R_RegisterShaderNoMip(PIC_BUTTON2);
|
|
|
|
// Precache crosshairs
|
|
/*for( i = 0; i < NUM_CROSSHAIRS; i++ )
|
|
{
|
|
s_preferences.crosshairShader[i] = trap_R_RegisterShaderNoMip( va("gfx/2d/crosshair%c", 'a' + i ) );
|
|
}*/
|
|
|
|
}
|
|
|
|
/*
|
|
=================
|
|
GameOptions_MenuInit
|
|
=================
|
|
*/
|
|
static void GameOptions_MenuInit( void )
|
|
{
|
|
int x,y,inc,width;
|
|
|
|
UI_GameOptionsMenu_Cache();
|
|
|
|
s_gameoptions.menu.nitems = 0;
|
|
s_gameoptions.menu.wrapAround = qtrue;
|
|
s_gameoptions.menu.draw = GameOptions_MenuDraw;
|
|
s_gameoptions.menu.key = GameOptions_MenuKey;
|
|
s_gameoptions.menu.fullscreen = qtrue;
|
|
s_gameoptions.menu.descX = MENU_DESC_X;
|
|
s_gameoptions.menu.descY = MENU_DESC_Y;
|
|
s_gameoptions.menu.titleX = MENU_TITLE_X;
|
|
s_gameoptions.menu.titleY = MENU_TITLE_Y;
|
|
s_gameoptions.menu.titleI = MNT_CONTROLSMENU_TITLE;
|
|
s_gameoptions.menu.footNoteEnum = MNT_GAMEOPTION_LABEL;
|
|
|
|
SetupMenu_TopButtons(&s_gameoptions.menu,MENU_GAME,NULL);
|
|
|
|
inc = 24;
|
|
x = 100;
|
|
y = 170;
|
|
width = 160; //170
|
|
|
|
s_preferences.flares.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.flares.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.flares.generic.x = x;
|
|
s_preferences.flares.generic.y = y;
|
|
s_preferences.flares.generic.callback = Preferences_Event;
|
|
s_preferences.flares.generic.id = ID_LIGHTFLARES;
|
|
s_preferences.flares.textEnum = MBT_LIGHTFLARES;
|
|
s_preferences.flares.textcolor = CT_BLACK;
|
|
s_preferences.flares.textcolor2 = CT_WHITE;
|
|
s_preferences.flares.color = CT_DKPURPLE1;
|
|
s_preferences.flares.color2 = CT_LTPURPLE1;
|
|
s_preferences.flares.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.flares.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.flares.listnames = s_OffOnNone_Names;
|
|
s_preferences.flares.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.wallmarks.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.wallmarks.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.wallmarks.generic.x = x;
|
|
s_preferences.wallmarks.generic.y = y;
|
|
s_preferences.wallmarks.generic.callback = Preferences_Event;
|
|
s_preferences.wallmarks.generic.id = ID_WALLMARKS;
|
|
s_preferences.wallmarks.textEnum = MBT_WALLMARKS1;
|
|
s_preferences.wallmarks.textcolor = CT_BLACK;
|
|
s_preferences.wallmarks.textcolor2 = CT_WHITE;
|
|
s_preferences.wallmarks.color = CT_DKPURPLE1;
|
|
s_preferences.wallmarks.color2 = CT_LTPURPLE1;
|
|
s_preferences.wallmarks.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.wallmarks.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.wallmarks.listnames = s_OffOnNone_Names;
|
|
s_preferences.wallmarks.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.dynamiclights.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.dynamiclights.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.dynamiclights.generic.x = x;
|
|
s_preferences.dynamiclights.generic.y = y;
|
|
s_preferences.dynamiclights.generic.callback = Preferences_Event;
|
|
s_preferences.dynamiclights.generic.id = ID_DYNAMICLIGHTS;
|
|
s_preferences.dynamiclights.textEnum = MBT_DYNAMICLIGHTS1;
|
|
s_preferences.dynamiclights.textcolor = CT_BLACK;
|
|
s_preferences.dynamiclights.textcolor2 = CT_WHITE;
|
|
s_preferences.dynamiclights.color = CT_DKPURPLE1;
|
|
s_preferences.dynamiclights.color2 = CT_LTPURPLE1;
|
|
s_preferences.dynamiclights.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.dynamiclights.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.dynamiclights.listnames = s_OffOnNone_Names;
|
|
s_preferences.dynamiclights.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.identifytarget.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.identifytarget.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.identifytarget.generic.x = x;
|
|
s_preferences.identifytarget.generic.y = y;
|
|
s_preferences.identifytarget.generic.callback = Preferences_Event;
|
|
s_preferences.identifytarget.generic.id = ID_IDENTIFYTARGET;
|
|
s_preferences.identifytarget.textEnum = MBT_IDENTIFYTARGET1;
|
|
s_preferences.identifytarget.textcolor = CT_BLACK;
|
|
s_preferences.identifytarget.textcolor2 = CT_WHITE;
|
|
s_preferences.identifytarget.color = CT_DKPURPLE1;
|
|
s_preferences.identifytarget.color2 = CT_LTPURPLE1;
|
|
s_preferences.identifytarget.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.identifytarget.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.identifytarget.listnames = s_OffOnNone_Names;
|
|
s_preferences.identifytarget.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.synceveryframe.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.synceveryframe.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.synceveryframe.generic.x = x;
|
|
s_preferences.synceveryframe.generic.y = y;
|
|
s_preferences.synceveryframe.generic.callback = Preferences_Event;
|
|
s_preferences.synceveryframe.generic.id = ID_SYNCEVERYFRAME;
|
|
s_preferences.synceveryframe.textEnum = MBT_SYNCEVERYFRAME1;
|
|
s_preferences.synceveryframe.textcolor = CT_BLACK;
|
|
s_preferences.synceveryframe.textcolor2 = CT_WHITE;
|
|
s_preferences.synceveryframe.color = CT_DKPURPLE1;
|
|
s_preferences.synceveryframe.color2 = CT_LTPURPLE1;
|
|
s_preferences.synceveryframe.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.synceveryframe.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.synceveryframe.listnames = s_OffOnNone_Names;
|
|
s_preferences.synceveryframe.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.forcemodel.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.forcemodel.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.forcemodel.generic.x = x;
|
|
s_preferences.forcemodel.generic.y = y;
|
|
s_preferences.forcemodel.generic.callback = Preferences_Event;
|
|
s_preferences.forcemodel.generic.id = ID_FORCEMODEL;
|
|
s_preferences.forcemodel.textEnum = MBT_FORCEMODEL;
|
|
s_preferences.forcemodel.textcolor = CT_BLACK;
|
|
s_preferences.forcemodel.textcolor2 = CT_WHITE;
|
|
s_preferences.forcemodel.color = CT_DKPURPLE1;
|
|
s_preferences.forcemodel.color2 = CT_LTPURPLE1;
|
|
s_preferences.forcemodel.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.forcemodel.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.forcemodel.listnames = s_OffOnNone_Names;
|
|
s_preferences.forcemodel.width = width;
|
|
|
|
//TiM - Replace overlay with crosshairs
|
|
y += inc;
|
|
s_preferences.crosshair.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.crosshair.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.crosshair.generic.x = x;
|
|
s_preferences.crosshair.generic.y = y;
|
|
//s_preferences.crosshair.generic.name = PIC_BUTTON2;
|
|
s_preferences.crosshair.generic.id = ID_CROSSHAIR;
|
|
s_preferences.crosshair.generic.callback = Preferences_Event;
|
|
s_preferences.crosshair.width = width;
|
|
//s_preferences.crosshair.height = 32;
|
|
s_preferences.crosshair.color = CT_DKPURPLE1;
|
|
s_preferences.crosshair.color2 = CT_LTPURPLE1;
|
|
s_preferences.crosshair.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.crosshair.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.crosshair.textEnum = MBT_CROSSHAIR;
|
|
s_preferences.crosshair.textcolor = CT_BLACK;
|
|
s_preferences.crosshair.textcolor2 = CT_WHITE;
|
|
s_preferences.crosshair.listnames = s_OffOnNone_Names;;
|
|
|
|
/*s_preferences.drawteamoverlay.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.drawteamoverlay.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.drawteamoverlay.generic.x = x;
|
|
s_preferences.drawteamoverlay.generic.y = y;
|
|
s_preferences.drawteamoverlay.generic.callback = Preferences_Event;
|
|
s_preferences.drawteamoverlay.generic.id = ID_DRAWTEAMOVERLAY;
|
|
s_preferences.drawteamoverlay.textEnum = MBT_DRAWTEAMOVERLAY;
|
|
s_preferences.drawteamoverlay.textcolor = CT_BLACK;
|
|
s_preferences.drawteamoverlay.textcolor2 = CT_WHITE;
|
|
s_preferences.drawteamoverlay.color = CT_DKPURPLE1;
|
|
s_preferences.drawteamoverlay.color2 = CT_LTPURPLE1;
|
|
s_preferences.drawteamoverlay.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.drawteamoverlay.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.drawteamoverlay.listnames = teamoverlay_names;
|
|
s_preferences.drawteamoverlay.width = width;*/
|
|
|
|
y += inc;
|
|
s_preferences.allowdownload.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.allowdownload.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.allowdownload.generic.x = x;
|
|
s_preferences.allowdownload.generic.y = y;
|
|
s_preferences.allowdownload.generic.callback = Preferences_Event;
|
|
s_preferences.allowdownload.generic.id = ID_ALLOWDOWNLOAD;
|
|
s_preferences.allowdownload.textEnum = MBT_ALLOWDOWNLOAD;
|
|
s_preferences.allowdownload.textcolor = CT_BLACK;
|
|
s_preferences.allowdownload.textcolor2 = CT_WHITE;
|
|
s_preferences.allowdownload.color = CT_DKPURPLE1;
|
|
s_preferences.allowdownload.color2 = CT_LTPURPLE1;
|
|
s_preferences.allowdownload.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.allowdownload.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.allowdownload.listnames = s_OffOnNone_Names;
|
|
s_preferences.allowdownload.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.simpleitems.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.simpleitems.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.simpleitems.generic.x = x;
|
|
s_preferences.simpleitems.generic.y = y;
|
|
s_preferences.simpleitems.generic.callback = Preferences_Event;
|
|
s_preferences.simpleitems.generic.id = ID_SIMPLEITEMS;
|
|
s_preferences.simpleitems.textEnum = MBT_SIMPLEITEMS;
|
|
s_preferences.simpleitems.textcolor = CT_BLACK;
|
|
s_preferences.simpleitems.textcolor2 = CT_WHITE;
|
|
s_preferences.simpleitems.color = CT_DKPURPLE1;
|
|
s_preferences.simpleitems.color2 = CT_LTPURPLE1;
|
|
s_preferences.simpleitems.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.simpleitems.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.simpleitems.listnames = s_OffOnNone_Names;
|
|
s_preferences.simpleitems.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.textlanguage.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.textlanguage.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.textlanguage.generic.x = x;
|
|
s_preferences.textlanguage.generic.y = y;
|
|
s_preferences.textlanguage.generic.name = "menu/common/bar1.tga";
|
|
s_preferences.textlanguage.generic.callback = Preferences_Event;
|
|
s_preferences.textlanguage.generic.id = ID_TEXTLANGUAGE;
|
|
s_preferences.textlanguage.color = CT_DKPURPLE1;
|
|
s_preferences.textlanguage.color2 = CT_LTPURPLE1;
|
|
s_preferences.textlanguage.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.textlanguage.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.textlanguage.textEnum = MBT_TEXTLANGUAGE;
|
|
s_preferences.textlanguage.textcolor = CT_BLACK;
|
|
s_preferences.textlanguage.textcolor2 = CT_WHITE;
|
|
s_preferences.textlanguage.listnames = s_textlanguage_Names;
|
|
s_preferences.textlanguage.width = width;
|
|
|
|
y += inc;
|
|
s_preferences.voicelanguage.generic.type = MTYPE_SPINCONTROL;
|
|
s_preferences.voicelanguage.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.voicelanguage.generic.x = x;
|
|
s_preferences.voicelanguage.generic.y = y;
|
|
s_preferences.voicelanguage.generic.name = "menu/common/bar1.tga";
|
|
s_preferences.voicelanguage.generic.callback = Preferences_Event;
|
|
s_preferences.voicelanguage.generic.id = ID_VOICELANGUAGE;
|
|
s_preferences.voicelanguage.color = CT_DKPURPLE1;
|
|
s_preferences.voicelanguage.color2 = CT_LTPURPLE1;
|
|
s_preferences.voicelanguage.textX = MENU_BUTTON_TEXT_X;
|
|
s_preferences.voicelanguage.textY = MENU_BUTTON_TEXT_Y;
|
|
s_preferences.voicelanguage.textEnum = MBT_VOICELANGUAGE;
|
|
s_preferences.voicelanguage.textcolor = CT_BLACK;
|
|
s_preferences.voicelanguage.textcolor2 = CT_WHITE;
|
|
s_preferences.voicelanguage.listnames = s_voicelanguage_Names;
|
|
s_preferences.voicelanguage.width = width;
|
|
|
|
/* s_preferences.crosshair.generic.type = MTYPE_BITMAP;
|
|
s_preferences.crosshair.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
s_preferences.crosshair.generic.x = 404;
|
|
s_preferences.crosshair.generic.y = 224;
|
|
s_preferences.crosshair.generic.name = PIC_BUTTON2;
|
|
s_preferences.crosshair.generic.id = ID_CROSSHAIR;
|
|
s_preferences.crosshair.generic.callback = Preferences_Event;
|
|
s_preferences.crosshair.width = 100;
|
|
s_preferences.crosshair.height = 32;
|
|
s_preferences.crosshair.color = CT_DKBLUE1;
|
|
s_preferences.crosshair.color2 = CT_LTBLUE1;
|
|
s_preferences.crosshair.textX = 20;
|
|
s_preferences.crosshair.textY = 1;
|
|
s_preferences.crosshair.textEnum = MBT_CROSSHAIR;
|
|
s_preferences.crosshair.textcolor = CT_BLACK;
|
|
s_preferences.crosshair.textcolor2 = CT_WHITE;*/
|
|
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.flares );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.wallmarks );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.dynamiclights );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.identifytarget );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.synceveryframe );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.forcemodel );
|
|
//Menu_AddItem( &s_gameoptions.menu, &s_preferences.drawteamoverlay );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.allowdownload );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.simpleitems );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.textlanguage );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.voicelanguage );
|
|
Menu_AddItem( &s_gameoptions.menu, &s_preferences.crosshair);
|
|
|
|
s_gameoptions.menu.initialized = qtrue; // Show we've been here
|
|
|
|
Preferences_SetMenuItems();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
UI_GameOptionsMenu
|
|
=================
|
|
*/
|
|
void UI_GameOptionsMenu( void )
|
|
{
|
|
|
|
GameOptions_MenuInit();
|
|
|
|
UI_PushMenu( &s_gameoptions.menu );
|
|
}
|
|
|