mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-13 08:27:17 +00:00
688 lines
24 KiB
C
688 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 );
|
||
|
}
|
||
|
|