mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-24 21:11:05 +00:00
Merge branch 'master' into feature_openxr
This commit is contained in:
commit
e7a2229edc
23 changed files with 1664 additions and 530 deletions
5
Makefile
5
Makefile
|
@ -443,8 +443,11 @@ ifeq ($(PLATFORM),android)
|
|||
-fno-builtin-cos -fno-builtin-sin -fPIC -DARCH_STRING=\\\"$(ARCH)\\\"
|
||||
CLIENT_CFLAGS += $(SDL_CFLAGS) -DSDL_DISABLE_IMMINTRIN_H -fno-builtin-cos -fno-builtin-sin
|
||||
|
||||
# Flag -ffast-math replacement: https://pspdfkit.com/blog/2021/understanding-fast-math/
|
||||
# Flags -ffp-contract=fast -fno-trapping-math are unused because they are causing lightmap issues
|
||||
OPTIMIZEFASTMATH = -ffinite-math-only -fno-math-errno -fassociative-math -freciprocal-math -fno-signed-zeros
|
||||
OPTIMIZEVM = -O3 -funroll-loops -fomit-frame-pointer
|
||||
OPTIMIZE = $(OPTIMIZEVM)
|
||||
OPTIMIZE = $(OPTIMIZEVM) $(OPTIMIZEFASTMATH)
|
||||
|
||||
HAVE_VM_COMPILED = false
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.drbeef.ioq3quest"
|
||||
android:installLocation="preferExternal"
|
||||
android:versionCode="39"
|
||||
android:versionName="0.26.2">
|
||||
android:versionCode="40"
|
||||
android:versionName="0.28.0">
|
||||
<uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
|
||||
<uses-feature android:glEsVersion="0x00030001" />
|
||||
<!-- <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false"/>-->
|
||||
|
|
Binary file not shown.
|
@ -933,9 +933,6 @@ void UI_MouseEvent( int dx, int dy )
|
|||
else if (uis.cursory > SCREEN_HEIGHT+16)
|
||||
uis.cursory = SCREEN_HEIGHT+16;
|
||||
|
||||
vr->menuCursorX = &uis.cursorx;
|
||||
vr->menuCursorY = &uis.cursory;
|
||||
|
||||
// region test the active menu items
|
||||
for (i=0; i<uis.activemenu->nitems; i++)
|
||||
{
|
||||
|
|
|
@ -50,13 +50,17 @@ Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, i
|
|||
case UI_INIT: {
|
||||
int ptr[2] = {arg1, arg2};
|
||||
vr = (vr_clientinfo_t *) (*(long *) (ptr));
|
||||
|
||||
UI_Init();
|
||||
vr->menuCursorX = &uis.cursorx;
|
||||
vr->menuCursorY = &uis.cursory;
|
||||
}
|
||||
return 0;
|
||||
|
||||
case UI_SHUTDOWN:
|
||||
UI_Shutdown();
|
||||
case UI_SHUTDOWN: {
|
||||
vr->menuCursorX = NULL;
|
||||
vr->menuCursorY = NULL;
|
||||
UI_Shutdown();
|
||||
}
|
||||
return 0;
|
||||
|
||||
case UI_KEY_EVENT:
|
||||
|
|
|
@ -378,6 +378,8 @@ static void PlayerModel_DrawPlayer( void *self )
|
|||
}
|
||||
|
||||
UI_DrawPlayer( b->generic.x, b->generic.y, b->width, b->height, &s_playermodel.playerinfo, uis.realtime/2 );
|
||||
|
||||
UI_DrawString( 320, 460, "To change player name use the companion app.", UI_CENTER|UI_SMALLFONT, text_color_normal );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -606,7 +608,7 @@ static void PlayerModel_MenuInit( void )
|
|||
s_playermodel.playername.generic.type = MTYPE_PTEXT;
|
||||
s_playermodel.playername.generic.flags = QMF_CENTER_JUSTIFY|QMF_INACTIVE;
|
||||
s_playermodel.playername.generic.x = 320;
|
||||
s_playermodel.playername.generic.y = 440;
|
||||
s_playermodel.playername.generic.y = 430;
|
||||
s_playermodel.playername.string = playername;
|
||||
s_playermodel.playername.style = UI_CENTER;
|
||||
s_playermodel.playername.color = text_color_normal;
|
||||
|
|
|
@ -108,7 +108,7 @@ PlayerSettings_DrawName
|
|||
*/
|
||||
static void PlayerSettings_DrawName( void *self ) {
|
||||
menufield_s *f;
|
||||
qboolean focus;
|
||||
//qboolean focus;
|
||||
int style;
|
||||
char *txt;
|
||||
char c;
|
||||
|
@ -120,14 +120,14 @@ static void PlayerSettings_DrawName( void *self ) {
|
|||
f = (menufield_s*)self;
|
||||
basex = f->generic.x;
|
||||
y = f->generic.y;
|
||||
focus = (f->generic.parent->cursor == f->generic.menuPosition);
|
||||
//focus = (f->generic.parent->cursor == f->generic.menuPosition);
|
||||
|
||||
style = UI_LEFT|UI_SMALLFONT;
|
||||
color = text_color_normal;
|
||||
if( focus ) {
|
||||
style |= UI_PULSE;
|
||||
color = text_color_highlight;
|
||||
}
|
||||
//if( focus ) {
|
||||
// style |= UI_PULSE;
|
||||
// color = text_color_highlight;
|
||||
//}
|
||||
|
||||
UI_DrawProportionalString( basex, y, "Name", style, color );
|
||||
|
||||
|
@ -138,7 +138,8 @@ static void PlayerSettings_DrawName( void *self ) {
|
|||
color = g_color_table[ColorIndex(COLOR_WHITE)];
|
||||
x = basex;
|
||||
while ( (c = *txt) != 0 ) {
|
||||
if ( !focus && Q_IsColorString( txt ) ) {
|
||||
//if ( !focus && Q_IsColorString( txt ) ) {
|
||||
if ( Q_IsColorString( txt ) ) {
|
||||
n = ColorIndex( *(txt+1) );
|
||||
if( n == 0 ) {
|
||||
n = 7;
|
||||
|
@ -153,23 +154,24 @@ static void PlayerSettings_DrawName( void *self ) {
|
|||
}
|
||||
|
||||
// draw cursor if we have focus
|
||||
if( focus ) {
|
||||
if ( trap_Key_GetOverstrikeMode() ) {
|
||||
c = 11;
|
||||
} else {
|
||||
c = 10;
|
||||
}
|
||||
|
||||
style &= ~UI_PULSE;
|
||||
style |= UI_BLINK;
|
||||
|
||||
UI_DrawChar( basex + f->field.cursor * SMALLCHAR_WIDTH, y, c, style, color_white );
|
||||
}
|
||||
//if( focus ) {
|
||||
// if ( trap_Key_GetOverstrikeMode() ) {
|
||||
// c = 11;
|
||||
// } else {
|
||||
// c = 10;
|
||||
// }
|
||||
//
|
||||
// style &= ~UI_PULSE;
|
||||
// style |= UI_BLINK;
|
||||
//
|
||||
// UI_DrawChar( basex + f->field.cursor * SMALLCHAR_WIDTH, y, c, style, color_white );
|
||||
//}
|
||||
|
||||
// draw at bottom also using proportional font
|
||||
Q_strncpyz( name, f->field.buffer, sizeof(name) );
|
||||
Q_CleanStr( name );
|
||||
UI_DrawProportionalString( 320, 440, name, UI_CENTER|UI_BIGFONT, text_color_normal );
|
||||
UI_DrawProportionalString( 320, 430, name, UI_CENTER|UI_BIGFONT, text_color_normal );
|
||||
UI_DrawString( 320, 460, "To change player name use the companion app.", UI_CENTER|UI_SMALLFONT, text_color_normal );
|
||||
}
|
||||
|
||||
|
||||
|
@ -397,8 +399,10 @@ static void PlayerSettings_MenuInit( void ) {
|
|||
s_playersettings.framer.height = 334;
|
||||
|
||||
y = 112;
|
||||
s_playersettings.name.generic.type = MTYPE_FIELD;
|
||||
s_playersettings.name.generic.flags = QMF_NODEFAULTINIT;
|
||||
//s_playersettings.name.generic.type = MTYPE_FIELD;
|
||||
//s_playersettings.name.generic.flags = QMF_NODEFAULTINIT;
|
||||
s_playersettings.name.generic.type = MTYPE_BTEXT;
|
||||
s_playersettings.name.generic.flags = QMF_INACTIVE;
|
||||
s_playersettings.name.generic.ownerdraw = PlayerSettings_DrawName;
|
||||
s_playersettings.name.field.widthInChars = MAX_NAMELENGTH;
|
||||
s_playersettings.name.field.maxchars = MAX_NAMELENGTH;
|
||||
|
|
|
@ -126,14 +126,7 @@ static void Preferences_SetMenuItems( void ) {
|
|||
s_preferences.drawhud.curvalue = trap_Cvar_VariableValue( "cg_drawStatus" ) != 0;
|
||||
// s_preferences.allowdownload.curvalue = trap_Cvar_VariableValue( "cl_allowDownload" ) != 0;
|
||||
s_preferences.holster2d.curvalue = trap_Cvar_VariableValue( "cg_weaponSelectorSimple2DIcons" ) != 0;
|
||||
//GORE
|
||||
{
|
||||
int level = trap_Cvar_VariableValue( "com_blood" ) +
|
||||
trap_Cvar_VariableValue( "cg_gibs" ) +
|
||||
trap_Cvar_VariableValue( "cg_megagibs" );
|
||||
|
||||
s_preferences.gore.curvalue = level % NUM_GORE;
|
||||
}
|
||||
s_preferences.gore.curvalue = trap_Cvar_VariableValue( "vr_goreLevel" );
|
||||
s_preferences.showinhand.curvalue = trap_Cvar_VariableValue( "vr_showItemInHand" ) != 0;
|
||||
s_preferences.selectorwithhud.curvalue = trap_Cvar_VariableValue( "vr_weaponSelectorWithHud" ) != 0;
|
||||
}
|
||||
|
|
|
@ -251,8 +251,10 @@ GRAPHICS OPTIONS MENU
|
|||
#define ID_REFRESHRATE 111
|
||||
#define ID_DYNAMICLIGHTS 112
|
||||
#define ID_SYNCEVERYFRAME 113
|
||||
#define ID_SHADOWS 114
|
||||
|
||||
#define NUM_REFRESHRATE 4
|
||||
#define NUM_SHADOWS 2
|
||||
|
||||
typedef struct {
|
||||
menuframework_s menu;
|
||||
|
@ -282,6 +284,7 @@ typedef struct {
|
|||
menulist_s refreshrate;
|
||||
menuradiobutton_s dynamiclights;
|
||||
menuradiobutton_s synceveryframe;
|
||||
menulist_s shadows;
|
||||
|
||||
menubitmap_s apply;
|
||||
menubitmap_s back;
|
||||
|
@ -302,6 +305,7 @@ typedef struct
|
|||
int refreshrate;
|
||||
qboolean dynamiclights;
|
||||
qboolean synceveryframe;
|
||||
int shadows;
|
||||
} InitialVideoOptions_s;
|
||||
|
||||
static InitialVideoOptions_s s_ivo;
|
||||
|
@ -379,99 +383,99 @@ static qboolean resolutionsDetected = qfalse;
|
|||
GraphicsOptions_FindBuiltinResolution
|
||||
=================
|
||||
*/
|
||||
static int GraphicsOptions_FindBuiltinResolution( int mode )
|
||||
{
|
||||
int i;
|
||||
|
||||
if( !resolutionsDetected )
|
||||
return mode;
|
||||
|
||||
if( mode < 0 )
|
||||
return -1;
|
||||
|
||||
for( i = 0; builtinResolutions[ i ]; i++ )
|
||||
{
|
||||
if( !Q_stricmp( builtinResolutions[ i ], detectedResolutions[ mode ] ) )
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
// static int GraphicsOptions_FindBuiltinResolution( int mode )
|
||||
// {
|
||||
// int i;
|
||||
//
|
||||
// if( !resolutionsDetected )
|
||||
// return mode;
|
||||
//
|
||||
// if( mode < 0 )
|
||||
// return -1;
|
||||
//
|
||||
// for( i = 0; builtinResolutions[ i ]; i++ )
|
||||
// {
|
||||
// if( !Q_stricmp( builtinResolutions[ i ], detectedResolutions[ mode ] ) )
|
||||
// return i;
|
||||
// }
|
||||
//
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
/*
|
||||
=================
|
||||
GraphicsOptions_FindDetectedResolution
|
||||
=================
|
||||
*/
|
||||
static int GraphicsOptions_FindDetectedResolution( int mode )
|
||||
{
|
||||
int i;
|
||||
|
||||
if( !resolutionsDetected )
|
||||
return mode;
|
||||
|
||||
if( mode < 0 )
|
||||
return -1;
|
||||
|
||||
for( i = 0; detectedResolutions[ i ]; i++ )
|
||||
{
|
||||
if( !Q_stricmp( builtinResolutions[ mode ], detectedResolutions[ i ] ) )
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
// static int GraphicsOptions_FindDetectedResolution( int mode )
|
||||
// {
|
||||
// int i;
|
||||
//
|
||||
// if( !resolutionsDetected )
|
||||
// return mode;
|
||||
//
|
||||
// if( mode < 0 )
|
||||
// return -1;
|
||||
//
|
||||
// for( i = 0; detectedResolutions[ i ]; i++ )
|
||||
// {
|
||||
// if( !Q_stricmp( builtinResolutions[ mode ], detectedResolutions[ i ] ) )
|
||||
// return i;
|
||||
// }
|
||||
//
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
/*
|
||||
=================
|
||||
GraphicsOptions_GetAspectRatios
|
||||
=================
|
||||
*/
|
||||
static void GraphicsOptions_GetAspectRatios( void )
|
||||
{
|
||||
int i, r;
|
||||
|
||||
// build ratio list from resolutions
|
||||
for( r = 0; resolutions[r]; r++ )
|
||||
{
|
||||
int w, h;
|
||||
char *x;
|
||||
char str[ sizeof(ratioBuf[0]) ];
|
||||
|
||||
// calculate resolution's aspect ratio
|
||||
x = strchr( resolutions[r], 'x' ) + 1;
|
||||
Q_strncpyz( str, resolutions[r], x-resolutions[r] );
|
||||
w = atoi( str );
|
||||
h = atoi( x );
|
||||
Com_sprintf( str, sizeof(str), "%.2f:1", (float)w / (float)h );
|
||||
|
||||
// rename common ratios ("1.33:1" -> "4:3")
|
||||
for( i = 0; knownRatios[i][0]; i++ ) {
|
||||
if( !Q_stricmp( str, knownRatios[i][0] ) ) {
|
||||
Q_strncpyz( str, knownRatios[i][1], sizeof( str ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// add ratio to list if it is new
|
||||
// establish res/ratio relationship
|
||||
for( i = 0; ratioBuf[i][0]; i++ )
|
||||
{
|
||||
if( !Q_stricmp( str, ratioBuf[i] ) )
|
||||
break;
|
||||
}
|
||||
if( !ratioBuf[i][0] )
|
||||
{
|
||||
Q_strncpyz( ratioBuf[i], str, sizeof(ratioBuf[i]) );
|
||||
ratioToRes[i] = r;
|
||||
}
|
||||
|
||||
ratios[r] = ratioBuf[r];
|
||||
resToRatio[r] = i;
|
||||
}
|
||||
|
||||
ratios[r] = NULL;
|
||||
}
|
||||
// static void GraphicsOptions_GetAspectRatios( void )
|
||||
// {
|
||||
// int i, r;
|
||||
//
|
||||
// // build ratio list from resolutions
|
||||
// for( r = 0; resolutions[r]; r++ )
|
||||
// {
|
||||
// int w, h;
|
||||
// char *x;
|
||||
// char str[ sizeof(ratioBuf[0]) ];
|
||||
//
|
||||
// // calculate resolution's aspect ratio
|
||||
// x = strchr( resolutions[r], 'x' ) + 1;
|
||||
// Q_strncpyz( str, resolutions[r], x-resolutions[r] );
|
||||
// w = atoi( str );
|
||||
// h = atoi( x );
|
||||
// Com_sprintf( str, sizeof(str), "%.2f:1", (float)w / (float)h );
|
||||
//
|
||||
// // rename common ratios ("1.33:1" -> "4:3")
|
||||
// for( i = 0; knownRatios[i][0]; i++ ) {
|
||||
// if( !Q_stricmp( str, knownRatios[i][0] ) ) {
|
||||
// Q_strncpyz( str, knownRatios[i][1], sizeof( str ) );
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // add ratio to list if it is new
|
||||
// // establish res/ratio relationship
|
||||
// for( i = 0; ratioBuf[i][0]; i++ )
|
||||
// {
|
||||
// if( !Q_stricmp( str, ratioBuf[i] ) )
|
||||
// break;
|
||||
// }
|
||||
// if( !ratioBuf[i][0] )
|
||||
// {
|
||||
// Q_strncpyz( ratioBuf[i], str, sizeof(ratioBuf[i]) );
|
||||
// ratioToRes[i] = r;
|
||||
// }
|
||||
//
|
||||
// ratios[r] = ratioBuf[r];
|
||||
// resToRatio[r] = i;
|
||||
// }
|
||||
//
|
||||
// ratios[r] = NULL;
|
||||
// }
|
||||
|
||||
/*
|
||||
=================
|
||||
|
@ -481,10 +485,10 @@ GraphicsOptions_GetInitialVideo
|
|||
static void GraphicsOptions_GetInitialVideo( void )
|
||||
{
|
||||
s_ivo.colordepth = s_graphicsoptions.colordepth.curvalue;
|
||||
s_ivo.driver = s_graphicsoptions.driver.curvalue;
|
||||
s_ivo.mode = s_graphicsoptions.mode.curvalue;
|
||||
s_ivo.fullscreen = s_graphicsoptions.fs.curvalue;
|
||||
s_ivo.extensions = s_graphicsoptions.allow_extensions.curvalue;
|
||||
// s_ivo.driver = s_graphicsoptions.driver.curvalue;
|
||||
// s_ivo.mode = s_graphicsoptions.mode.curvalue;
|
||||
// s_ivo.fullscreen = s_graphicsoptions.fs.curvalue;
|
||||
// s_ivo.extensions = s_graphicsoptions.allow_extensions.curvalue;
|
||||
s_ivo.tq = s_graphicsoptions.tq.curvalue;
|
||||
s_ivo.lighting = s_graphicsoptions.lighting.curvalue;
|
||||
s_ivo.geometry = s_graphicsoptions.geometry.curvalue;
|
||||
|
@ -493,6 +497,7 @@ static void GraphicsOptions_GetInitialVideo( void )
|
|||
s_ivo.refreshrate = s_graphicsoptions.refreshrate.curvalue;
|
||||
s_ivo.dynamiclights = s_graphicsoptions.dynamiclights.curvalue;
|
||||
s_ivo.synceveryframe = s_graphicsoptions.synceveryframe.curvalue;
|
||||
s_ivo.shadows = s_graphicsoptions.refreshrate.curvalue;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -500,81 +505,81 @@ static void GraphicsOptions_GetInitialVideo( void )
|
|||
GraphicsOptions_GetResolutions
|
||||
=================
|
||||
*/
|
||||
static void GraphicsOptions_GetResolutions( void )
|
||||
{
|
||||
trap_Cvar_VariableStringBuffer("r_availableModes", resbuf, sizeof(resbuf));
|
||||
if(*resbuf)
|
||||
{
|
||||
char* s = resbuf;
|
||||
unsigned int i = 0;
|
||||
while( s && i < ARRAY_LEN(detectedResolutions)-1 )
|
||||
{
|
||||
detectedResolutions[i++] = s;
|
||||
s = strchr(s, ' ');
|
||||
if( s )
|
||||
*s++ = '\0';
|
||||
}
|
||||
detectedResolutions[ i ] = NULL;
|
||||
|
||||
// add custom resolution if not in mode list
|
||||
if ( i < ARRAY_LEN(detectedResolutions)-1 )
|
||||
{
|
||||
Com_sprintf( currentResolution, sizeof ( currentResolution ), "%dx%d", uis.glconfig.vidWidth, uis.glconfig.vidHeight );
|
||||
|
||||
for( i = 0; detectedResolutions[ i ]; i++ )
|
||||
{
|
||||
if ( strcmp( detectedResolutions[ i ], currentResolution ) == 0 )
|
||||
break;
|
||||
}
|
||||
|
||||
if ( detectedResolutions[ i ] == NULL )
|
||||
{
|
||||
detectedResolutions[ i++ ] = currentResolution;
|
||||
detectedResolutions[ i ] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
resolutions = detectedResolutions;
|
||||
resolutionsDetected = qtrue;
|
||||
}
|
||||
}
|
||||
// static void GraphicsOptions_GetResolutions( void )
|
||||
// {
|
||||
// trap_Cvar_VariableStringBuffer("r_availableModes", resbuf, sizeof(resbuf));
|
||||
// if(*resbuf)
|
||||
// {
|
||||
// char* s = resbuf;
|
||||
// unsigned int i = 0;
|
||||
// while( s && i < ARRAY_LEN(detectedResolutions)-1 )
|
||||
// {
|
||||
// detectedResolutions[i++] = s;
|
||||
// s = strchr(s, ' ');
|
||||
// if( s )
|
||||
// *s++ = '\0';
|
||||
// }
|
||||
// detectedResolutions[ i ] = NULL;
|
||||
//
|
||||
// // add custom resolution if not in mode list
|
||||
// if ( i < ARRAY_LEN(detectedResolutions)-1 )
|
||||
// {
|
||||
// Com_sprintf( currentResolution, sizeof ( currentResolution ), "%dx%d", uis.glconfig.vidWidth, uis.glconfig.vidHeight );
|
||||
//
|
||||
// for( i = 0; detectedResolutions[ i ]; i++ )
|
||||
// {
|
||||
// if ( strcmp( detectedResolutions[ i ], currentResolution ) == 0 )
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// if ( detectedResolutions[ i ] == NULL )
|
||||
// {
|
||||
// detectedResolutions[ i++ ] = currentResolution;
|
||||
// detectedResolutions[ i ] = NULL;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// resolutions = detectedResolutions;
|
||||
// resolutionsDetected = qtrue;
|
||||
// }
|
||||
// }
|
||||
|
||||
/*
|
||||
=================
|
||||
GraphicsOptions_CheckConfig
|
||||
=================
|
||||
*/
|
||||
static void GraphicsOptions_CheckConfig( void )
|
||||
{
|
||||
int i;
|
||||
|
||||
for ( i = 0; i < NUM_IVO_TEMPLATES-1; i++ )
|
||||
{
|
||||
if ( s_ivo_templates[i].colordepth != s_graphicsoptions.colordepth.curvalue )
|
||||
continue;
|
||||
if ( s_ivo_templates[i].driver != s_graphicsoptions.driver.curvalue )
|
||||
continue;
|
||||
if ( GraphicsOptions_FindDetectedResolution(s_ivo_templates[i].mode) != s_graphicsoptions.mode.curvalue )
|
||||
continue;
|
||||
if ( s_ivo_templates[i].fullscreen != s_graphicsoptions.fs.curvalue )
|
||||
continue;
|
||||
if ( s_ivo_templates[i].tq != s_graphicsoptions.tq.curvalue )
|
||||
continue;
|
||||
if ( s_ivo_templates[i].lighting != s_graphicsoptions.lighting.curvalue )
|
||||
continue;
|
||||
if ( s_ivo_templates[i].geometry != s_graphicsoptions.geometry.curvalue )
|
||||
continue;
|
||||
if ( s_ivo_templates[i].filter != s_graphicsoptions.filter.curvalue )
|
||||
continue;
|
||||
// static void GraphicsOptions_CheckConfig( void )
|
||||
// {
|
||||
// int i;
|
||||
//
|
||||
// for ( i = 0; i < NUM_IVO_TEMPLATES-1; i++ )
|
||||
// {
|
||||
// if ( s_ivo_templates[i].colordepth != s_graphicsoptions.colordepth.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].driver != s_graphicsoptions.driver.curvalue )
|
||||
// continue;
|
||||
// if ( GraphicsOptions_FindDetectedResolution(s_ivo_templates[i].mode) != s_graphicsoptions.mode.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].fullscreen != s_graphicsoptions.fs.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].tq != s_graphicsoptions.tq.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].lighting != s_graphicsoptions.lighting.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].geometry != s_graphicsoptions.geometry.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].filter != s_graphicsoptions.filter.curvalue )
|
||||
// continue;
|
||||
// if ( s_ivo_templates[i].texturebits != s_graphicsoptions.texturebits.curvalue )
|
||||
// continue;
|
||||
s_graphicsoptions.list.curvalue = i;
|
||||
return;
|
||||
}
|
||||
|
||||
// return 'Custom' ivo template
|
||||
s_graphicsoptions.list.curvalue = NUM_IVO_TEMPLATES - 1;
|
||||
}
|
||||
// s_graphicsoptions.list.curvalue = i;
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// // return 'Custom' ivo template
|
||||
// s_graphicsoptions.list.curvalue = NUM_IVO_TEMPLATES - 1;
|
||||
// }
|
||||
|
||||
/*
|
||||
=================
|
||||
|
@ -583,49 +588,49 @@ GraphicsOptions_UpdateMenuItems
|
|||
*/
|
||||
static void GraphicsOptions_UpdateMenuItems( void )
|
||||
{
|
||||
if ( s_graphicsoptions.driver.curvalue == 1 )
|
||||
{
|
||||
s_graphicsoptions.fs.curvalue = 1;
|
||||
s_graphicsoptions.fs.generic.flags |= QMF_GRAYED;
|
||||
s_graphicsoptions.colordepth.curvalue = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_graphicsoptions.fs.generic.flags &= ~QMF_GRAYED;
|
||||
}
|
||||
// if ( s_graphicsoptions.driver.curvalue == 1 )
|
||||
// {
|
||||
// s_graphicsoptions.fs.curvalue = 1;
|
||||
// s_graphicsoptions.fs.generic.flags |= QMF_GRAYED;
|
||||
// s_graphicsoptions.colordepth.curvalue = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// s_graphicsoptions.fs.generic.flags &= ~QMF_GRAYED;
|
||||
// }
|
||||
|
||||
if ( s_graphicsoptions.fs.curvalue == 0 || s_graphicsoptions.driver.curvalue == 1 )
|
||||
{
|
||||
s_graphicsoptions.colordepth.curvalue = 0;
|
||||
s_graphicsoptions.colordepth.generic.flags |= QMF_GRAYED;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_graphicsoptions.colordepth.generic.flags &= ~QMF_GRAYED;
|
||||
}
|
||||
// if ( s_graphicsoptions.fs.curvalue == 0 || s_graphicsoptions.driver.curvalue == 1 )
|
||||
// {
|
||||
// s_graphicsoptions.colordepth.curvalue = 0;
|
||||
// s_graphicsoptions.colordepth.generic.flags |= QMF_GRAYED;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// s_graphicsoptions.colordepth.generic.flags &= ~QMF_GRAYED;
|
||||
// }
|
||||
|
||||
if ( s_graphicsoptions.allow_extensions.curvalue == 0 )
|
||||
{
|
||||
if ( s_graphicsoptions.texturebits.curvalue == 0 )
|
||||
{
|
||||
s_graphicsoptions.texturebits.curvalue = 1;
|
||||
}
|
||||
}
|
||||
// if ( s_graphicsoptions.allow_extensions.curvalue == 0 )
|
||||
// {
|
||||
// if ( s_graphicsoptions.texturebits.curvalue == 0 )
|
||||
// {
|
||||
// s_graphicsoptions.texturebits.curvalue = 1;
|
||||
// }
|
||||
// }
|
||||
|
||||
s_graphicsoptions.apply.generic.flags |= QMF_HIDDEN|QMF_INACTIVE;
|
||||
|
||||
if ( s_ivo.mode != s_graphicsoptions.mode.curvalue )
|
||||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
}
|
||||
if ( s_ivo.fullscreen != s_graphicsoptions.fs.curvalue )
|
||||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
}
|
||||
if ( s_ivo.extensions != s_graphicsoptions.allow_extensions.curvalue )
|
||||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
}
|
||||
// if ( s_ivo.mode != s_graphicsoptions.mode.curvalue )
|
||||
// {
|
||||
// s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
// }
|
||||
// if ( s_ivo.fullscreen != s_graphicsoptions.fs.curvalue )
|
||||
// {
|
||||
// s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
// }
|
||||
// if ( s_ivo.extensions != s_graphicsoptions.allow_extensions.curvalue )
|
||||
// {
|
||||
// s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
// }
|
||||
if ( s_ivo.tq != s_graphicsoptions.tq.curvalue )
|
||||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
|
@ -638,10 +643,10 @@ static void GraphicsOptions_UpdateMenuItems( void )
|
|||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
}
|
||||
if ( s_ivo.driver != s_graphicsoptions.driver.curvalue )
|
||||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
}
|
||||
// if ( s_ivo.driver != s_graphicsoptions.driver.curvalue )
|
||||
// {
|
||||
// s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
// }
|
||||
if ( s_ivo.texturebits != s_graphicsoptions.texturebits.curvalue )
|
||||
{
|
||||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
|
@ -655,8 +660,8 @@ static void GraphicsOptions_UpdateMenuItems( void )
|
|||
s_graphicsoptions.apply.generic.flags &= ~(QMF_HIDDEN|QMF_INACTIVE);
|
||||
}
|
||||
|
||||
GraphicsOptions_CheckConfig();
|
||||
}
|
||||
// GraphicsOptions_CheckConfig();
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
|
@ -681,34 +686,36 @@ static void GraphicsOptions_ApplyChanges( void *unused, int notification )
|
|||
break;
|
||||
}
|
||||
trap_Cvar_SetValue( "r_picmip", 3 - s_graphicsoptions.tq.curvalue );
|
||||
trap_Cvar_SetValue( "r_allowExtensions", s_graphicsoptions.allow_extensions.curvalue );
|
||||
|
||||
if( resolutionsDetected )
|
||||
{
|
||||
// search for builtin mode that matches the detected mode
|
||||
int mode;
|
||||
if ( s_graphicsoptions.mode.curvalue == -1
|
||||
|| s_graphicsoptions.mode.curvalue >= ARRAY_LEN( detectedResolutions ) )
|
||||
s_graphicsoptions.mode.curvalue = 0;
|
||||
// trap_Cvar_SetValue( "r_allowExtensions", s_graphicsoptions.allow_extensions.curvalue );
|
||||
|
||||
mode = GraphicsOptions_FindBuiltinResolution( s_graphicsoptions.mode.curvalue );
|
||||
if( mode == -1 )
|
||||
{
|
||||
char w[ 16 ], h[ 16 ];
|
||||
Q_strncpyz( w, detectedResolutions[ s_graphicsoptions.mode.curvalue ], sizeof( w ) );
|
||||
*strchr( w, 'x' ) = 0;
|
||||
Q_strncpyz( h,
|
||||
strchr( detectedResolutions[ s_graphicsoptions.mode.curvalue ], 'x' ) + 1, sizeof( h ) );
|
||||
trap_Cvar_Set( "r_customwidth", w );
|
||||
trap_Cvar_Set( "r_customheight", h );
|
||||
}
|
||||
// if( resolutionsDetected )
|
||||
// {
|
||||
// // search for builtin mode that matches the detected mode
|
||||
// int mode;
|
||||
// if ( s_graphicsoptions.mode.curvalue == -1
|
||||
// || s_graphicsoptions.mode.curvalue >= ARRAY_LEN( detectedResolutions ) )
|
||||
// s_graphicsoptions.mode.curvalue = 0;
|
||||
//
|
||||
// mode = GraphicsOptions_FindBuiltinResolution( s_graphicsoptions.mode.curvalue );
|
||||
// if( mode == -1 )
|
||||
// {
|
||||
// char w[ 16 ], h[ 16 ];
|
||||
// Q_strncpyz( w, detectedResolutions[ s_graphicsoptions.mode.curvalue ], sizeof( w ) );
|
||||
// *strchr( w, 'x' ) = 0;
|
||||
// Q_strncpyz( h,
|
||||
// strchr( detectedResolutions[ s_graphicsoptions.mode.curvalue ], 'x' ) + 1, sizeof( h ) );
|
||||
// trap_Cvar_Set( "r_customwidth", w );
|
||||
// trap_Cvar_Set( "r_customheight", h );
|
||||
// }
|
||||
//
|
||||
// trap_Cvar_SetValue( "r_mode", mode );
|
||||
// }
|
||||
// else
|
||||
// trap_Cvar_SetValue( "r_mode", s_graphicsoptions.mode.curvalue );
|
||||
|
||||
trap_Cvar_SetValue( "r_mode", mode );
|
||||
}
|
||||
else
|
||||
trap_Cvar_SetValue( "r_mode", s_graphicsoptions.mode.curvalue );
|
||||
// trap_Cvar_SetValue( "r_fullscreen", s_graphicsoptions.fs.curvalue );
|
||||
|
||||
trap_Cvar_SetValue( "r_fullscreen", s_graphicsoptions.fs.curvalue );
|
||||
switch ( s_graphicsoptions.colordepth.curvalue )
|
||||
{
|
||||
case 0:
|
||||
|
@ -727,11 +734,12 @@ static void GraphicsOptions_ApplyChanges( void *unused, int notification )
|
|||
trap_Cvar_SetValue( "r_stencilbits", 8 );
|
||||
break;
|
||||
}
|
||||
|
||||
trap_Cvar_SetValue( "r_vertexLight", s_graphicsoptions.lighting.curvalue );
|
||||
|
||||
if ( s_graphicsoptions.geometry.curvalue == 2 )
|
||||
{
|
||||
trap_Cvar_SetValue( "r_lodBias", 0 );
|
||||
trap_Cvar_SetValue( "r_lodBias", -1 );
|
||||
trap_Cvar_SetValue( "r_subdivisions", 4 );
|
||||
}
|
||||
else if ( s_graphicsoptions.geometry.curvalue == 1 )
|
||||
|
@ -741,8 +749,8 @@ static void GraphicsOptions_ApplyChanges( void *unused, int notification )
|
|||
}
|
||||
else
|
||||
{
|
||||
trap_Cvar_SetValue( "r_lodBias", 1 );
|
||||
trap_Cvar_SetValue( "r_subdivisions", 20 );
|
||||
trap_Cvar_SetValue( "r_lodBias", 2 );
|
||||
trap_Cvar_SetValue( "r_subdivisions", 80 );
|
||||
}
|
||||
|
||||
if ( s_graphicsoptions.filter.curvalue )
|
||||
|
@ -816,22 +824,36 @@ static void GraphicsOptions_Event( void* ptr, int event ) {
|
|||
trap_Cvar_SetValue( "r_finish", s_graphicsoptions.synceveryframe.curvalue );
|
||||
break;
|
||||
|
||||
case ID_LIST:
|
||||
ivo = &s_ivo_templates[s_graphicsoptions.list.curvalue];
|
||||
|
||||
s_graphicsoptions.mode.curvalue = GraphicsOptions_FindDetectedResolution(ivo->mode);
|
||||
s_graphicsoptions.ratio.curvalue =
|
||||
resToRatio[ s_graphicsoptions.mode.curvalue ];
|
||||
s_graphicsoptions.tq.curvalue = ivo->tq;
|
||||
s_graphicsoptions.lighting.curvalue = ivo->lighting;
|
||||
s_graphicsoptions.colordepth.curvalue = ivo->colordepth;
|
||||
s_graphicsoptions.texturebits.curvalue = ivo->texturebits;
|
||||
s_graphicsoptions.geometry.curvalue = ivo->geometry;
|
||||
s_graphicsoptions.filter.curvalue = ivo->filter;
|
||||
s_graphicsoptions.fs.curvalue = ivo->fullscreen;
|
||||
s_graphicsoptions.refreshrate.curvalue = ivo->refreshrate;
|
||||
case ID_SHADOWS: {
|
||||
int shadows;
|
||||
switch (s_graphicsoptions.shadows.curvalue) {
|
||||
case 0:
|
||||
shadows = 1;
|
||||
break;
|
||||
default:
|
||||
shadows = 3;
|
||||
break;
|
||||
}
|
||||
trap_Cvar_SetValue("cg_shadows", shadows);
|
||||
}
|
||||
break;
|
||||
|
||||
// case ID_LIST:
|
||||
// ivo = &s_ivo_templates[s_graphicsoptions.list.curvalue];
|
||||
//
|
||||
// s_graphicsoptions.mode.curvalue = GraphicsOptions_FindDetectedResolution(ivo->mode);
|
||||
// s_graphicsoptions.ratio.curvalue =
|
||||
// resToRatio[ s_graphicsoptions.mode.curvalue ];
|
||||
// s_graphicsoptions.tq.curvalue = ivo->tq;
|
||||
// s_graphicsoptions.lighting.curvalue = ivo->lighting;
|
||||
// s_graphicsoptions.colordepth.curvalue = ivo->colordepth;
|
||||
// s_graphicsoptions.texturebits.curvalue = ivo->texturebits;
|
||||
// s_graphicsoptions.geometry.curvalue = ivo->geometry;
|
||||
// s_graphicsoptions.filter.curvalue = ivo->filter;
|
||||
// s_graphicsoptions.fs.curvalue = ivo->fullscreen;
|
||||
// s_graphicsoptions.refreshrate.curvalue = ivo->refreshrate;
|
||||
// break;
|
||||
|
||||
case ID_DRIVERINFO:
|
||||
UI_DriverInfo_Menu();
|
||||
break;
|
||||
|
@ -894,40 +916,40 @@ GraphicsOptions_SetMenuItems
|
|||
*/
|
||||
static void GraphicsOptions_SetMenuItems( void )
|
||||
{
|
||||
s_graphicsoptions.mode.curvalue =
|
||||
GraphicsOptions_FindDetectedResolution( trap_Cvar_VariableValue( "r_mode" ) );
|
||||
|
||||
if ( s_graphicsoptions.mode.curvalue < 0 )
|
||||
{
|
||||
if( resolutionsDetected )
|
||||
{
|
||||
int i;
|
||||
char buf[MAX_STRING_CHARS];
|
||||
trap_Cvar_VariableStringBuffer("r_customwidth", buf, sizeof(buf)-2);
|
||||
buf[strlen(buf)+1] = 0;
|
||||
buf[strlen(buf)] = 'x';
|
||||
trap_Cvar_VariableStringBuffer("r_customheight", buf+strlen(buf), sizeof(buf)-strlen(buf));
|
||||
|
||||
for(i = 0; detectedResolutions[i]; ++i)
|
||||
{
|
||||
if(!Q_stricmp(buf, detectedResolutions[i]))
|
||||
{
|
||||
s_graphicsoptions.mode.curvalue = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( s_graphicsoptions.mode.curvalue < 0 )
|
||||
s_graphicsoptions.mode.curvalue = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_graphicsoptions.mode.curvalue = 3;
|
||||
}
|
||||
}
|
||||
s_graphicsoptions.ratio.curvalue =
|
||||
resToRatio[ s_graphicsoptions.mode.curvalue ];
|
||||
s_graphicsoptions.fs.curvalue = trap_Cvar_VariableValue("r_fullscreen");
|
||||
s_graphicsoptions.allow_extensions.curvalue = trap_Cvar_VariableValue("r_allowExtensions");
|
||||
// s_graphicsoptions.mode.curvalue =
|
||||
// GraphicsOptions_FindDetectedResolution( trap_Cvar_VariableValue( "r_mode" ) );
|
||||
//
|
||||
// if ( s_graphicsoptions.mode.curvalue < 0 )
|
||||
// {
|
||||
// if( resolutionsDetected )
|
||||
// {
|
||||
// int i;
|
||||
// char buf[MAX_STRING_CHARS];
|
||||
// trap_Cvar_VariableStringBuffer("r_customwidth", buf, sizeof(buf)-2);
|
||||
// buf[strlen(buf)+1] = 0;
|
||||
// buf[strlen(buf)] = 'x';
|
||||
// trap_Cvar_VariableStringBuffer("r_customheight", buf+strlen(buf), sizeof(buf)-strlen(buf));
|
||||
//
|
||||
// for(i = 0; detectedResolutions[i]; ++i)
|
||||
// {
|
||||
// if(!Q_stricmp(buf, detectedResolutions[i]))
|
||||
// {
|
||||
// s_graphicsoptions.mode.curvalue = i;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if ( s_graphicsoptions.mode.curvalue < 0 )
|
||||
// s_graphicsoptions.mode.curvalue = 0;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// s_graphicsoptions.mode.curvalue = 3;
|
||||
// }
|
||||
// }
|
||||
// s_graphicsoptions.ratio.curvalue =
|
||||
// resToRatio[ s_graphicsoptions.mode.curvalue ];
|
||||
// s_graphicsoptions.fs.curvalue = trap_Cvar_VariableValue("r_fullscreen");
|
||||
// s_graphicsoptions.allow_extensions.curvalue = trap_Cvar_VariableValue("r_allowExtensions");
|
||||
s_graphicsoptions.tq.curvalue = 3-trap_Cvar_VariableValue( "r_picmip");
|
||||
if ( s_graphicsoptions.tq.curvalue < 0 )
|
||||
{
|
||||
|
@ -962,20 +984,13 @@ static void GraphicsOptions_SetMenuItems( void )
|
|||
s_graphicsoptions.filter.curvalue = 1;
|
||||
}
|
||||
|
||||
if ( trap_Cvar_VariableValue( "r_lodBias" ) > 0 )
|
||||
{
|
||||
if ( trap_Cvar_VariableValue( "r_subdivisions" ) >= 20 )
|
||||
{
|
||||
s_graphicsoptions.geometry.curvalue = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_graphicsoptions.geometry.curvalue = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int lodbias = trap_Cvar_VariableValue( "r_lodBias" );
|
||||
if (lodbias == -1) {
|
||||
s_graphicsoptions.geometry.curvalue = 2;
|
||||
} else if (lodbias == 1) {
|
||||
s_graphicsoptions.geometry.curvalue = 1;
|
||||
} else {
|
||||
s_graphicsoptions.geometry.curvalue = 0;
|
||||
}
|
||||
|
||||
switch ( ( int ) trap_Cvar_VariableValue( "r_colorbits" ) )
|
||||
|
@ -992,14 +1007,14 @@ static void GraphicsOptions_SetMenuItems( void )
|
|||
break;
|
||||
}
|
||||
|
||||
if ( s_graphicsoptions.fs.curvalue == 0 )
|
||||
{
|
||||
s_graphicsoptions.colordepth.curvalue = 0;
|
||||
}
|
||||
if ( s_graphicsoptions.driver.curvalue == 1 )
|
||||
{
|
||||
s_graphicsoptions.colordepth.curvalue = 1;
|
||||
}
|
||||
// if ( s_graphicsoptions.fs.curvalue == 0 )
|
||||
// {
|
||||
// s_graphicsoptions.colordepth.curvalue = 0;
|
||||
//}
|
||||
//if ( s_graphicsoptions.driver.curvalue == 1 )
|
||||
//{
|
||||
// s_graphicsoptions.colordepth.curvalue = 1;
|
||||
// }
|
||||
|
||||
switch ( (int) trap_Cvar_VariableValue( "vr_refreshrate" ) )
|
||||
{
|
||||
|
@ -1016,6 +1031,17 @@ static void GraphicsOptions_SetMenuItems( void )
|
|||
s_graphicsoptions.refreshrate.curvalue = 3;
|
||||
break;
|
||||
}
|
||||
|
||||
switch ( (int) trap_Cvar_VariableValue( "cg_shadows" ) )
|
||||
{
|
||||
case 1:
|
||||
s_graphicsoptions.shadows.curvalue = 0;
|
||||
break;
|
||||
default:
|
||||
s_graphicsoptions.shadows.curvalue = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
s_graphicsoptions.dynamiclights.curvalue = trap_Cvar_VariableValue( "r_dynamiclight" ) != 0;
|
||||
s_graphicsoptions.synceveryframe.curvalue = trap_Cvar_VariableValue( "r_finish" ) != 0;
|
||||
}
|
||||
|
@ -1087,7 +1113,8 @@ void GraphicsOptions_MenuInit( void )
|
|||
"On",
|
||||
NULL
|
||||
};
|
||||
*/ static const char *s_refreshrate[] =
|
||||
*/
|
||||
static const char *s_refreshrate[] =
|
||||
{
|
||||
"60",
|
||||
"72 (Recommended)",
|
||||
|
@ -1095,14 +1122,20 @@ void GraphicsOptions_MenuInit( void )
|
|||
"90",
|
||||
NULL
|
||||
};
|
||||
static const char *s_shadows[] =
|
||||
{
|
||||
"Low",
|
||||
"High",
|
||||
NULL
|
||||
};
|
||||
|
||||
int y;
|
||||
|
||||
// zero set all our globals
|
||||
memset( &s_graphicsoptions, 0 ,sizeof(graphicsoptions_t) );
|
||||
|
||||
GraphicsOptions_GetResolutions();
|
||||
GraphicsOptions_GetAspectRatios();
|
||||
//GraphicsOptions_GetResolutions();
|
||||
//GraphicsOptions_GetAspectRatios();
|
||||
|
||||
GraphicsOptions_Cache();
|
||||
|
||||
|
@ -1173,16 +1206,16 @@ void GraphicsOptions_MenuInit( void )
|
|||
s_graphicsoptions.network.style = UI_RIGHT;
|
||||
s_graphicsoptions.network.color = color_red;
|
||||
|
||||
y = 272 - 7 * (BIGCHAR_HEIGHT + 2);
|
||||
s_graphicsoptions.list.generic.type = MTYPE_SPINCONTROL;
|
||||
s_graphicsoptions.list.generic.name = "Graphics Settings:";
|
||||
s_graphicsoptions.list.generic.flags = QMF_PULSEIFFOCUS|QMF_SMALLFONT;
|
||||
s_graphicsoptions.list.generic.x = 400;
|
||||
s_graphicsoptions.list.generic.y = y;
|
||||
s_graphicsoptions.list.generic.callback = GraphicsOptions_Event;
|
||||
s_graphicsoptions.list.generic.id = ID_LIST;
|
||||
s_graphicsoptions.list.itemnames = s_graphics_options_names;
|
||||
y += 2 * ( BIGCHAR_HEIGHT + 2 );
|
||||
y = 254 - 6 * (BIGCHAR_HEIGHT + 2);
|
||||
// s_graphicsoptions.list.generic.type = MTYPE_SPINCONTROL;
|
||||
// s_graphicsoptions.list.generic.name = "Graphics Settings:";
|
||||
// s_graphicsoptions.list.generic.flags = QMF_PULSEIFFOCUS|QMF_SMALLFONT;
|
||||
// s_graphicsoptions.list.generic.x = 400;
|
||||
// s_graphicsoptions.list.generic.y = y;
|
||||
// s_graphicsoptions.list.generic.callback = GraphicsOptions_Event;
|
||||
// s_graphicsoptions.list.generic.id = ID_LIST;
|
||||
// s_graphicsoptions.list.itemnames = s_graphics_options_names;
|
||||
// y += 2 * ( BIGCHAR_HEIGHT + 2 );
|
||||
|
||||
// s_graphicsoptions.driver.generic.type = MTYPE_SPINCONTROL;
|
||||
// s_graphicsoptions.driver.generic.name = "GL Driver:";
|
||||
|
@ -1282,6 +1315,18 @@ void GraphicsOptions_MenuInit( void )
|
|||
s_graphicsoptions.dynamiclights.generic.id = ID_DYNAMICLIGHTS;
|
||||
y += BIGCHAR_HEIGHT+2;
|
||||
|
||||
// references "cg_shadows"
|
||||
s_graphicsoptions.shadows.generic.type = MTYPE_SPINCONTROL;
|
||||
s_graphicsoptions.shadows.generic.name = "Shadow Detail:";
|
||||
s_graphicsoptions.shadows.generic.flags = QMF_PULSEIFFOCUS|QMF_SMALLFONT;
|
||||
s_graphicsoptions.shadows.generic.x = 400;
|
||||
s_graphicsoptions.shadows.generic.y = y;
|
||||
s_graphicsoptions.shadows.itemnames = s_shadows;
|
||||
s_graphicsoptions.shadows.generic.callback = GraphicsOptions_Event;
|
||||
s_graphicsoptions.shadows.generic.id = ID_SHADOWS;
|
||||
s_graphicsoptions.shadows.numitems = NUM_SHADOWS;
|
||||
y += BIGCHAR_HEIGHT+2;
|
||||
|
||||
// references/modifies "r_lodBias" & "subdivisions"
|
||||
s_graphicsoptions.geometry.generic.type = MTYPE_SPINCONTROL;
|
||||
s_graphicsoptions.geometry.generic.name = "Geometric Detail:";
|
||||
|
@ -1360,7 +1405,7 @@ void GraphicsOptions_MenuInit( void )
|
|||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.sound );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.network );
|
||||
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.list );
|
||||
// Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.list );
|
||||
// Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.driver );
|
||||
// Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.allow_extensions );
|
||||
// Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.ratio );
|
||||
|
@ -1371,6 +1416,7 @@ void GraphicsOptions_MenuInit( void )
|
|||
// Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.fs );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.lighting );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.dynamiclights );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.shadows );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.geometry );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.tq );
|
||||
Menu_AddItem( &s_graphicsoptions.menu, ( void * ) &s_graphicsoptions.texturebits );
|
||||
|
|
|
@ -164,6 +164,19 @@ R_ComputeLOD
|
|||
=================
|
||||
*/
|
||||
int R_ComputeLOD( trRefEntity_t *ent ) {
|
||||
|
||||
//HACK: force specific LOD (for VR it fits better)
|
||||
if (1)
|
||||
{
|
||||
//high -> 0, medium -> 2, low -> 4
|
||||
int lod = r_lodbias->integer + r_lodbias->integer;
|
||||
if (lod >= tr.currentModel->numLods)
|
||||
lod = tr.currentModel->numLods - 1;
|
||||
if (lod < 0)
|
||||
lod = 0;
|
||||
return lod;
|
||||
}
|
||||
|
||||
float radius;
|
||||
float flod, lodscale;
|
||||
float projectedRadius;
|
||||
|
|
|
@ -22,8 +22,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
// tr_vbo.c
|
||||
#include "tr_local.h"
|
||||
|
||||
//#define GL_BUFFER_RECYCLING
|
||||
|
||||
|
||||
void R_VaoPackTangent(int16_t *out, vec4_t v)
|
||||
{
|
||||
|
@ -393,17 +391,18 @@ void R_BindNullVao(void)
|
|||
|
||||
if(glState.currentVao)
|
||||
{
|
||||
#ifdef GL_BUFFER_RECYCLING
|
||||
if (glRefConfig.vertexArrayObject)
|
||||
{
|
||||
qglBindVertexArray(0);
|
||||
|
||||
// why you no save GL_ELEMENT_ARRAY_BUFFER binding, Intel?
|
||||
if (1) qglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
qglBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||
qglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
|
||||
}
|
||||
#endif
|
||||
glState.currentVao = NULL;
|
||||
}
|
||||
|
||||
|
@ -606,6 +605,9 @@ void RB_UpdateTessVao(unsigned int attribBits)
|
|||
|
||||
R_BindVao(tess.vao);
|
||||
|
||||
// orphan old vertex buffer so we don't stall on it
|
||||
qglBufferData(GL_ARRAY_BUFFER, tess.vao->vertexesSize, NULL, GL_DYNAMIC_DRAW);
|
||||
|
||||
// if nothing to set, set everything
|
||||
if(!(attribBits & ATTR_BITS))
|
||||
attribBits = ATTR_BITS;
|
||||
|
@ -651,8 +653,10 @@ void RB_UpdateTessVao(unsigned int attribBits)
|
|||
}
|
||||
}
|
||||
|
||||
#define VAOCACHE_QUEUE_MAX_SURFACES MAX_POLYS
|
||||
#define VAOCACHE_QUEUE_MAX_VERTEXES MAX_POLYVERTS
|
||||
// FIXME: This sets a limit of 65536 verts/262144 indexes per static surface
|
||||
// This is higher than the old vq3 limits but is worth noting
|
||||
#define VAOCACHE_QUEUE_MAX_SURFACES (1 << 10)
|
||||
#define VAOCACHE_QUEUE_MAX_VERTEXES (1 << 16)
|
||||
#define VAOCACHE_QUEUE_MAX_INDEXES (VAOCACHE_QUEUE_MAX_VERTEXES * 4)
|
||||
|
||||
typedef struct queuedSurface_s
|
||||
|
@ -929,19 +933,15 @@ void VaoCache_CheckAdd(qboolean *endSurface, qboolean *recycleVertexBuffer, qboo
|
|||
|
||||
void VaoCache_RecycleVertexBuffer(void)
|
||||
{
|
||||
#ifdef GL_BUFFER_RECYCLING
|
||||
qglBindBuffer(GL_ARRAY_BUFFER, vc.vao->vertexesVBO);
|
||||
qglBufferData(GL_ARRAY_BUFFER, vc.vao->vertexesSize, NULL, GL_DYNAMIC_DRAW);
|
||||
#endif
|
||||
vc.vertexOffset = 0;
|
||||
}
|
||||
|
||||
void VaoCache_RecycleIndexBuffer(void)
|
||||
{
|
||||
#ifdef GL_BUFFER_RECYCLING
|
||||
qglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vc.vao->indexesIBO);
|
||||
qglBufferData(GL_ELEMENT_ARRAY_BUFFER, vc.vao->indexesSize, NULL, GL_DYNAMIC_DRAW);
|
||||
#endif
|
||||
vc.indexOffset = 0;
|
||||
vc.numSurfaces = 0;
|
||||
vc.numBatches = 0;
|
||||
|
|
|
@ -1105,10 +1105,10 @@ Responsible for doing a swapbuffers
|
|||
*/
|
||||
void GLimp_EndFrame( void )
|
||||
{
|
||||
// don't flip if drawing to front buffer
|
||||
//swap window is implemented in VR API, no need to do it here
|
||||
if ( Q_stricmp( r_drawBuffer->string, "GL_FRONT" ) != 0 )
|
||||
{
|
||||
SDL_GL_SwapWindow( SDL_window );
|
||||
//SDL_GL_SwapWindow( SDL_window );
|
||||
}
|
||||
|
||||
if( r_fullscreen->modified )
|
||||
|
|
|
@ -163,15 +163,20 @@ Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, i
|
|||
return UI_API_VERSION;
|
||||
|
||||
case UI_INIT: {
|
||||
int ptr[2] = {arg1, arg2};
|
||||
vr = (vr_clientinfo_t *) (*(long *) (ptr));
|
||||
_UI_Init(arg0);
|
||||
}
|
||||
return 0;
|
||||
int ptr[2] = {arg1, arg2};
|
||||
vr = (vr_clientinfo_t *) (*(long *) (ptr));
|
||||
_UI_Init(arg0);
|
||||
vr->menuCursorX = &uiInfo.uiDC.cursorx;
|
||||
vr->menuCursorY = &uiInfo.uiDC.cursory;
|
||||
}
|
||||
return 0;
|
||||
|
||||
case UI_SHUTDOWN:
|
||||
_UI_Shutdown();
|
||||
return 0;
|
||||
case UI_SHUTDOWN: {
|
||||
vr->menuCursorX = NULL;
|
||||
vr->menuCursorY = NULL;
|
||||
_UI_Shutdown();
|
||||
}
|
||||
return 0;
|
||||
|
||||
case UI_KEY_EVENT:
|
||||
_UI_KeyEvent( arg0, arg1 );
|
||||
|
@ -3070,14 +3075,14 @@ static void UI_Update(const char *name) {
|
|||
}
|
||||
} else if (Q_stricmp(name, "r_lodbias") == 0) {
|
||||
switch (val) {
|
||||
case 0:
|
||||
case -1:
|
||||
trap_Cvar_SetValue( "r_subdivisions", 4 );
|
||||
break;
|
||||
case 1:
|
||||
trap_Cvar_SetValue( "r_subdivisions", 12 );
|
||||
break;
|
||||
case 2:
|
||||
trap_Cvar_SetValue( "r_subdivisions", 20 );
|
||||
trap_Cvar_SetValue( "r_subdivisions", 80 );
|
||||
break;
|
||||
}
|
||||
} else if (Q_stricmp(name, "ui_glCustom") == 0) {
|
||||
|
@ -3161,6 +3166,98 @@ static void UI_Update(const char *name) {
|
|||
} else {
|
||||
trap_Cvar_SetValue( "m_pitch", -0.022f );
|
||||
}
|
||||
} else if (Q_stricmp(name, "vr_controlSchema") == 0) {
|
||||
qboolean uturn = trap_Cvar_VariableValue( "vr_uturn" ) != 0;
|
||||
switch (val)
|
||||
{
|
||||
case 0: // Default schema
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBLEFT", "turnleft"); // turn left
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBRIGHT", "turnright"); // turn right
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARD", "weapnext"); // next weapon
|
||||
if (uturn) {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK", "uturn"); // u-turn
|
||||
} else {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK", "weapprev"); // previous weapon
|
||||
}
|
||||
trap_Cvar_Set("vr_button_map_PRIMARYGRIP", "+weapon_select"); // weapon selector
|
||||
trap_Cvar_Set("vr_button_map_PRIMARYTHUMBSTICK", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARD_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDRIGHT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDRIGHT_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBRIGHT_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKRIGHT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKRIGHT_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKLEFT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKLEFT_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBLEFT_ALT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDLEFT", ""); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDLEFT_ALT", ""); // unmapped
|
||||
break;
|
||||
default: // Now we have only two schemas
|
||||
// All directions as weapon select (useful for HMD wheel)
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARD", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDRIGHT", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBRIGHT", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKRIGHT", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKLEFT", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBLEFT", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDLEFT", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_PRIMARYTHUMBSTICK", "+weapon_select");
|
||||
trap_Cvar_Set("vr_button_map_PRIMARYGRIP", "+alt"); // switch to alt layout
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBLEFT_ALT", "turnleft"); // turn left
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBRIGHT_ALT", "turnright"); // turn right
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARD_ALT", "weapnext");
|
||||
if (uturn) {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK_ALT", "uturn");
|
||||
} else {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK_ALT", "weapprev");
|
||||
}
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDRIGHT_ALT", "blank"); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKRIGHT_ALT", "blank"); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACKLEFT_ALT", "blank"); // unmapped
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBFORWARDLEFT_ALT", "blank"); // unmapped
|
||||
break;
|
||||
}
|
||||
} else if (Q_stricmp(name, "vr_uturn") == 0) {
|
||||
int controlSchema = (int)trap_Cvar_VariableValue( "vr_controlSchema" ) % 2;
|
||||
if (val) {
|
||||
if (controlSchema == 0) {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK", "uturn");
|
||||
} else {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK_ALT", "uturn");
|
||||
}
|
||||
} else {
|
||||
if (controlSchema == 0) {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK", "");
|
||||
} else {
|
||||
trap_Cvar_Set("vr_button_map_RTHUMBBACK_ALT", "");
|
||||
}
|
||||
}
|
||||
} else if (Q_stricmp(name, "vr_goreLevel") == 0) {
|
||||
switch (val) {
|
||||
case 0:
|
||||
trap_Cvar_SetValue( "com_blood", 0);
|
||||
trap_Cvar_SetValue( "cg_gibs", 0);
|
||||
trap_Cvar_SetValue( "cg_megagibs", 0);
|
||||
break;
|
||||
case 1:
|
||||
trap_Cvar_SetValue( "com_blood", 1);
|
||||
trap_Cvar_SetValue( "cg_gibs", 0);
|
||||
trap_Cvar_SetValue( "cg_megagibs", 0);
|
||||
break;
|
||||
case 2:
|
||||
trap_Cvar_SetValue( "com_blood", 1);
|
||||
trap_Cvar_SetValue( "cg_gibs", 1);
|
||||
trap_Cvar_SetValue( "cg_megagibs", 0);
|
||||
break;
|
||||
case 3:
|
||||
trap_Cvar_SetValue( "com_blood", 1);
|
||||
trap_Cvar_SetValue( "cg_gibs", 1);
|
||||
trap_Cvar_SetValue( "cg_megagibs", 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5272,9 +5369,6 @@ void _UI_MouseEvent( int dx, int dy )
|
|||
else if (uiInfo.uiDC.cursory > SCREEN_HEIGHT+16)
|
||||
uiInfo.uiDC.cursory = SCREEN_HEIGHT+16;
|
||||
|
||||
vr->menuCursorX = &uiInfo.uiDC.cursorx;
|
||||
vr->menuCursorY = &uiInfo.uiDC.cursory;
|
||||
|
||||
if (Menu_Count() > 0) {
|
||||
//menuDef_t *menu = Menu_GetFocused();
|
||||
//Menu_HandleMouseMove(menu, uiInfo.uiDC.cursorx, uiInfo.uiDC.cursory);
|
||||
|
|
|
@ -46,6 +46,7 @@ cvar_t *vr_hapticIntensity = NULL;
|
|||
cvar_t *vr_comfortVignette = NULL;
|
||||
cvar_t *vr_weaponSelectorMode = NULL;
|
||||
cvar_t *vr_weaponSelectorWithHud = NULL;
|
||||
cvar_t *vr_goreLevel = NULL;
|
||||
|
||||
engine_t* VR_Init( ovrJava java )
|
||||
{
|
||||
|
@ -126,6 +127,7 @@ void VR_InitCvars( void )
|
|||
vr_comfortVignette = Cvar_Get ("vr_comfortVignette", "0.0", CVAR_ARCHIVE);
|
||||
vr_weaponSelectorMode = Cvar_Get ("vr_weaponSelectorMode", "0", CVAR_ARCHIVE);
|
||||
vr_weaponSelectorWithHud = Cvar_Get ("vr_weaponSelectorWithHud", "0", CVAR_ARCHIVE);
|
||||
vr_goreLevel = Cvar_Get ("vr_goreLevel", "2", CVAR_ARCHIVE);
|
||||
|
||||
// Values are: scale,right,up,forward,pitch,yaw,roll
|
||||
// VALUES PROVIDED BY SkillFur - Thank-you!
|
||||
|
|
|
@ -42,7 +42,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Autoswitch Weapons:"
|
||||
cvar "cg_autoswitch"
|
||||
rect 99 125 256 20
|
||||
rect 99 75 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -57,7 +57,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Railgun Scope:"
|
||||
cvar "vr_weaponScope"
|
||||
rect 99 150 256 20
|
||||
rect 99 100 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -72,7 +72,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Two-Handed Weapons:"
|
||||
cvar "vr_twoHandedWeapons"
|
||||
rect 99 175 256 20
|
||||
rect 99 125 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -88,13 +88,29 @@ itemDef {
|
|||
text "Direction Mode:"
|
||||
cvar "vr_directionMode"
|
||||
cvarFloatList { "HMD (Default)" 0 "Off-hand Controller" 1 }
|
||||
rect 99 200 256 20
|
||||
rect 99 150 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
textscale .333
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name controls3
|
||||
group grpControls3
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Quick U-Turn:"
|
||||
cvar "vr_uturn"
|
||||
rect 99 175 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
textscale .333
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
action { uiScript update "vr_uturn" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
|
@ -104,7 +120,7 @@ itemDef {
|
|||
text "Turning Mode:"
|
||||
cvar "vr_snapturn"
|
||||
cvarFloatList { "Smooth Turning" 0 "45 Degrees" 45 "90 Degrees" 90 }
|
||||
rect 99 225 256 20
|
||||
rect 99 200 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -119,7 +135,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Right-Handed:"
|
||||
cvar "vr_righthanded"
|
||||
rect 99 250 256 20
|
||||
rect 99 225 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -134,7 +150,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Switch Thumbsticks:"
|
||||
cvar "vr_switchThumbsticks"
|
||||
rect 99 275 256 20
|
||||
rect 99 250 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -149,7 +165,7 @@ itemDef {
|
|||
type ITEM_TYPE_SLIDER
|
||||
text "Weapon Pitch:"
|
||||
cvarfloat "vr_weaponPitch" 5 -25 5
|
||||
rect 99 300 256 20
|
||||
rect 99 275 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -165,7 +181,7 @@ itemDef {
|
|||
text "Weapon Wheel Mode:"
|
||||
cvar "vr_weaponSelectorMode"
|
||||
cvarFloatList { "Controller Based" 0 "HMD/Thumbstick Based" 1 }
|
||||
rect 99 325 256 20
|
||||
rect 99 300 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -174,6 +190,22 @@ itemDef {
|
|||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name controls3
|
||||
group grpControls3
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Control Schema:"
|
||||
cvar "vr_controlSchema"
|
||||
cvarFloatList { "Weapon Wheel on Grip" 0 "Weapon Wheel on Thumbstick" 1 }
|
||||
rect 99 325 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 100
|
||||
textaligny 20
|
||||
textscale .333
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
action { uiScript update "vr_controlSchema" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name fadebox
|
||||
|
|
|
@ -180,7 +180,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Railgun Scope:"
|
||||
cvar "vr_weaponScope"
|
||||
rect 30 40 200 20
|
||||
rect 30 38 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -194,7 +194,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Two-Handed Weapons:"
|
||||
cvar "vr_twoHandedWeapons"
|
||||
rect 30 60 200 20
|
||||
rect 30 56 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -210,7 +210,7 @@ itemDef {
|
|||
text "Direction Mode:"
|
||||
cvar "vr_directionMode"
|
||||
cvarFloatList { "HMD (Default)" 0 "Off-hand Controller" 1 }
|
||||
rect 30 80 200 20
|
||||
rect 30 74 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -222,16 +222,33 @@ itemDef {
|
|||
itemDef {
|
||||
name controls
|
||||
group grpControls
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Turning Mode:"
|
||||
cvar "vr_snapturn"
|
||||
cvarFloatList { "Smooth Turning" 0 "45 Degrees" 45 "90 Degrees" 90 }
|
||||
rect 30 100 200 20
|
||||
rect 30 92 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name controls
|
||||
group grpControls
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Quick U-Turn:"
|
||||
cvar "vr_uturn"
|
||||
rect 30 110 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
visible 1
|
||||
action { uiScript update "vr_uturn" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
|
@ -240,7 +257,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Right-Handed:"
|
||||
cvar "vr_righthanded"
|
||||
rect 30 120 200 20
|
||||
rect 30 128 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -255,7 +272,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Switch Thumbsticks:"
|
||||
cvar "vr_switchThumbsticks"
|
||||
rect 30 140 200 20
|
||||
rect 30 146 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -270,7 +287,7 @@ itemDef {
|
|||
type ITEM_TYPE_SLIDER
|
||||
text "Weapon Pitch:"
|
||||
cvarfloat "vr_weaponPitch" 5 -25 5
|
||||
rect 30 160 200 20
|
||||
rect 30 164 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -286,21 +303,38 @@ itemDef {
|
|||
text "Weapon Wheel Mode:"
|
||||
cvar "vr_weaponSelectorMode"
|
||||
cvarFloatList { "Controller Based" 0 "HMD/Thumbstick Based" 1 }
|
||||
rect 30 180 200 20
|
||||
rect 30 182 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name controls
|
||||
group grpControls
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Control Schema:"
|
||||
cvar "vr_controlSchema"
|
||||
cvarFloatList { "Weapon Wheel on Grip" 0 "Weapon Wheel on Thumbstick" 1 }
|
||||
rect 30 200 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
visible 1
|
||||
action { uiScript update "vr_controlSchema" }
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name controls
|
||||
group grpControls
|
||||
style 1
|
||||
text "Comfort Options"
|
||||
rect 100 215 100 20
|
||||
rect 100 231 100 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -315,7 +349,7 @@ itemDef {
|
|||
type ITEM_TYPE_SLIDER
|
||||
text "Comfort Vignette:"
|
||||
cvarfloat "vr_comfortVignette" 0.2 0 1
|
||||
rect 30 240 200 20
|
||||
rect 30 251 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -329,7 +363,7 @@ itemDef {
|
|||
type ITEM_TYPE_SLIDER
|
||||
text "Height Adjust:"
|
||||
cvarfloat "vr_heightAdjust" 0.2 0 1
|
||||
rect 30 260 200 20
|
||||
rect 30 271 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -343,7 +377,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Roll When Hit:"
|
||||
cvar "vr_rollWhenHit"
|
||||
rect 30 280 200 20
|
||||
rect 30 291 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -357,7 +391,7 @@ itemDef {
|
|||
type ITEM_TYPE_SLIDER
|
||||
text "Haptic Intensity:"
|
||||
cvarfloat "vr_hapticIntensity" 0.2 0 1
|
||||
rect 30 300 200 20
|
||||
rect 30 311 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -372,7 +406,7 @@ itemDef {
|
|||
text "HUD Depth:"
|
||||
cvar "vr_hudDepth"
|
||||
cvarFloatList { "Very Close" 0 "Close" 1 "Middle" 2 "Further" 3 "Far" 4 "Distant" 5 }
|
||||
rect 30 320 200 20
|
||||
rect 30 331 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
@ -386,7 +420,7 @@ itemDef {
|
|||
type ITEM_TYPE_SLIDER
|
||||
text "HUD Y Offset:"
|
||||
cvarfloat "vr_hudYOffset" 20 -200 200
|
||||
rect 30 340 200 20
|
||||
rect 30 351 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
|
|
|
@ -409,54 +409,23 @@ itemDef {
|
|||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name options
|
||||
itemDef {
|
||||
name options
|
||||
group grpOptions
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Blood:"
|
||||
cvar "com_blood"
|
||||
rect 50 309 200 20
|
||||
text "Gore:"
|
||||
type ITEM_TYPE_MULTI
|
||||
cvar "vr_goreLevel"
|
||||
cvarFloatList { "None" 0 "Blood Only" 1 "Blood & Gibs (Default)" 2 "Extra Gore (Performance Hit)" 3 }
|
||||
rect 50 329 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textalignx 80
|
||||
textaligny 17
|
||||
textscale .25
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
visible 1
|
||||
action { uiScript update "vr_goreLevel" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name options
|
||||
group grpOptions
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Gibs:"
|
||||
cvar "cg_gibs"
|
||||
rect 50 326 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
action { exec "loadhud" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name options
|
||||
group grpOptions
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Extra Gibs (Performance Hit):"
|
||||
cvar "cg_megagibs"
|
||||
rect 50 343 200 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 143
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
295
android/app/src/main/pakQ3Q/ui/ingame_player.menu
Normal file
295
android/app/src/main/pakQ3Q/ui/ingame_player.menu
Normal file
|
@ -0,0 +1,295 @@
|
|||
#include "ui/menudef.h"
|
||||
|
||||
{
|
||||
\\ SETUP MENU \\
|
||||
|
||||
menuDef {
|
||||
name "ingame_player"
|
||||
visible 0
|
||||
fullscreen 0
|
||||
outOfBoundsClick // this closes the window if it gets a click out of the rectangle
|
||||
rect 125 30 290 170
|
||||
focusColor 1 .75 0 1
|
||||
style 1
|
||||
border 1
|
||||
onOpen { uiScript update "ui_GetName" }
|
||||
onClose { uiScript update "ui_SetName" }
|
||||
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 10 15 270 155
|
||||
style 1
|
||||
backcolor 0 .1 0 1
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
// FRAME //
|
||||
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 0 10 64 64
|
||||
style 3
|
||||
background "ui/assets/ingameleftcorner.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 64 10 64 8
|
||||
style 3
|
||||
background "ui/assets/ingametop.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 168 10 64 8
|
||||
style 3
|
||||
background "ui/assets/ingametop.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 226 10 64 64
|
||||
style 3
|
||||
background "ui/assets/ingamerightcorner.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 104 0 64 16
|
||||
style 3
|
||||
background "ui/assets/ingameconnection.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 0 108 64 64
|
||||
style 3
|
||||
background "ui/assets/ingameleftcornerb.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 226 108 64 64
|
||||
style 3
|
||||
background "ui/assets/ingamerightcornerb.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 0 64 16 64
|
||||
style 3
|
||||
background "ui/assets/ingameleft.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 274 64 16 64
|
||||
style 3
|
||||
background "ui/assets/ingameright.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 64 164 64 8
|
||||
style 3
|
||||
background "ui/assets/ingamebottom.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 128 164 98 8
|
||||
style 3
|
||||
background "ui/assets/ingamebottom.tga"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
|
||||
itemDef {
|
||||
name namefield
|
||||
group "playersettinggroup"
|
||||
type ITEM_TYPE_EDITFIELD
|
||||
style 0
|
||||
text "Name:"
|
||||
cvar "ui_Name"
|
||||
maxchars 26
|
||||
rect 20 10 256 20
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 10
|
||||
textaligny 18
|
||||
textscale .23
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name other
|
||||
group "playersettinggroup"
|
||||
style 1
|
||||
text "To change player name use the companion app."
|
||||
rect 20 20 215 32
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 10
|
||||
textaligny 21
|
||||
textscale .2
|
||||
forecolor .4 .4 .65 1
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name handicapfield
|
||||
group "playersettinggroup"
|
||||
style 0
|
||||
text "Handicap:"
|
||||
ownerdraw UI_HANDICAP
|
||||
rect 20 40 256 20
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 10
|
||||
textaligny 18
|
||||
textscale .23
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name effectentry
|
||||
group "playersettinggroup"
|
||||
text "Effect:"
|
||||
type 1
|
||||
style 0
|
||||
rect 20 58 256 20
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 10
|
||||
textaligny 18
|
||||
textscale .23
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
decoration
|
||||
mouseEnterText { setitemcolor effectentry forecolor 1 .75 0 1 ; setfocus effectfield ; show message_effect }
|
||||
mouseExitText { setitemcolor playersettinggroup forecolor 1 1 1 1 ; hide message_effect }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name effectfield
|
||||
group "playersettinggroup"
|
||||
style 0
|
||||
ownerdraw UI_EFFECTS
|
||||
rect 20 58 256 20
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 50
|
||||
textaligny 25
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name effectfield
|
||||
group "playersettinggroup"
|
||||
type ITEM_TYPE_SLIDER
|
||||
text "1st-Person Body Scale:"
|
||||
cvarfloat "cg_firstPersonBodyScale" 0.2 0 1
|
||||
rect 20 80 256 20
|
||||
textstyle 6
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 10
|
||||
textaligny 16
|
||||
textscale .23
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name headlist
|
||||
rect 15 100 260 50
|
||||
type ITEM_TYPE_LISTBOX
|
||||
style WINDOW_STYLE_FILLED
|
||||
elementwidth 32
|
||||
elementheight 32
|
||||
elementtype LISTBOX_IMAGE
|
||||
feeder FEEDER_HEADS
|
||||
horizontalscroll
|
||||
backcolor 0 0 0 1
|
||||
border 1
|
||||
bordercolor .5 .5 .5 1
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
cvarTest "g_gametype"
|
||||
showCvar { "3" ; "4" ; "5" ; "6" ; "7" ; "8" }
|
||||
mouseenter { setitemcolor headlist bordercolor 1 0 0 1 }
|
||||
mouseexit { setitemcolor headlist bordercolor .5 .5 .5 1 }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name headlist
|
||||
rect 15 100 260 50
|
||||
type ITEM_TYPE_LISTBOX
|
||||
style WINDOW_STYLE_FILLED
|
||||
elementwidth 32
|
||||
elementheight 32
|
||||
elementtype LISTBOX_IMAGE
|
||||
feeder FEEDER_Q3HEADS
|
||||
horizontalscroll
|
||||
backcolor 0 0 0 1
|
||||
border 1
|
||||
bordercolor .5 .5 .5 1
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
cvarTest "g_gametype"
|
||||
showCvar { "0" ; "1" }
|
||||
mouseenter { setitemcolor headlist bordercolor 1 0 0 1 }
|
||||
mouseexit { setitemcolor headlist bordercolor .5 .5 .5 1 }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -178,22 +178,22 @@ itemDef {
|
|||
mouseExit { setitemcolor ctr_graphics backcolor .37 .1 .1 1 }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
group grpSystem
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Quality:"
|
||||
cvar "ui_glCustom"
|
||||
cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
|
||||
rect 0 50 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 0
|
||||
action { uiScript update "ui_glCustom" }
|
||||
}
|
||||
// itemDef {
|
||||
// name graphics
|
||||
// group grpSystem
|
||||
// type ITEM_TYPE_MULTI
|
||||
// text "Quality:"
|
||||
// cvar "ui_glCustom"
|
||||
// cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
|
||||
// rect 0 50 256 20
|
||||
// textalign ITEM_ALIGN_RIGHT
|
||||
// textalignx 133
|
||||
// textaligny 17
|
||||
// textscale .25
|
||||
// forecolor 1 1 1 1
|
||||
// visible 0
|
||||
// action { uiScript update "ui_glCustom" }
|
||||
// }
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
|
@ -202,14 +202,13 @@ itemDef {
|
|||
text "Refresh Rate:"
|
||||
cvar "vr_refreshrate"
|
||||
cvarFloatList { "60" 60 "72 (Recommended)" 72 "80" 80 "90" 90 }
|
||||
rect 0 70 306 20
|
||||
rect 0 50 306 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 0
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
|
@ -218,7 +217,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Sync Every Frame:"
|
||||
cvar "r_finish"
|
||||
rect 0 90 256 20
|
||||
rect 0 70 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
|
@ -235,7 +234,7 @@ itemDef {
|
|||
text "Color Depth:"
|
||||
cvar "r_colorbits"
|
||||
cvarFloatList { "Desktop Default" 0 "16-bit" 16 "32-bit" 32 }
|
||||
rect 0 110 256 20
|
||||
rect 0 90 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
|
@ -252,7 +251,7 @@ itemDef {
|
|||
text "Lighting:"
|
||||
cvar "r_vertexlight"
|
||||
cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 }
|
||||
rect 0 130 256 20
|
||||
rect 0 110 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
|
@ -268,7 +267,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Dynamic Lights:"
|
||||
cvar "r_dynamiclight"
|
||||
rect 0 150 256 20
|
||||
rect 0 130 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
|
@ -277,13 +276,29 @@ itemDef {
|
|||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
group grpSystem
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Shadow Detail:"
|
||||
cvar "cg_shadows"
|
||||
cvarFloatList { "Low" 1 "High" 3 }
|
||||
rect 0 150 306 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
textaligny 17
|
||||
textscale .25
|
||||
forecolor 1 1 1 1
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
group grpSystem
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Geometric Detail:"
|
||||
cvar "r_lodbias"
|
||||
cvarFloatList { "High" 0 "Medium" 1 "Low" 2 }
|
||||
cvarFloatList { "High" -1 "Medium" 1 "Low" 2 }
|
||||
rect 0 170 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 133
|
||||
|
|
|
@ -290,52 +290,23 @@ itemDef {
|
|||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
itemDef {
|
||||
name options
|
||||
group grpOptions
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Blood:"
|
||||
cvar "com_blood"
|
||||
rect 99 365 256 20
|
||||
text "Gore:"
|
||||
type ITEM_TYPE_MULTI
|
||||
cvar "vr_goreLevel"
|
||||
cvarFloatList { "None" 0 "Blood Only" 1 "Blood & Gibs (Default)" 2 "Extra Gore (Performance Hit)" 3 }
|
||||
rect 99 375 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textalignx 70
|
||||
textaligny 20
|
||||
textscale .3
|
||||
textscale .3
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
visible 1
|
||||
action { uiScript update "vr_goreLevel" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name options
|
||||
group grpOptions
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Gibs:"
|
||||
cvar "cg_gibs"
|
||||
rect 99 385 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
textscale .3
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name options
|
||||
group grpOptions
|
||||
type ITEM_TYPE_YESNO
|
||||
text "Extra Gibs (Performance Hit):"
|
||||
cvar "cg_megagibs"
|
||||
rect 99 405 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
textscale .3
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name fadebox
|
||||
style WINDOW_STYLE_FILLED
|
||||
|
|
644
android/app/src/main/pakQ3Q/ui/player.menu
Normal file
644
android/app/src/main/pakQ3Q/ui/player.menu
Normal file
|
@ -0,0 +1,644 @@
|
|||
#include "ui/menudef.h"
|
||||
|
||||
{
|
||||
\\ PLATER SELECTION MENU \\
|
||||
|
||||
menuDef {
|
||||
name "player_menu"
|
||||
visible 0
|
||||
fullscreen 1
|
||||
rect 0 0 640 480
|
||||
background "menuback_a"
|
||||
style 1
|
||||
focusColor 1 .75 0 1
|
||||
|
||||
onOpen { play "sound/misc/kcswish.wav" ;
|
||||
playlooped "music/fla_mp03.wav" ;
|
||||
setitemcolor fadebox backcolor 0 0 0 1 ;
|
||||
fadeout fadebox ;
|
||||
uiScript update "ui_GetName" ;
|
||||
transition menuback_g 0 0 640 480 195 120 255 202 20 10 ;
|
||||
transition clancinematic 107 82 426 316 238 153 170 133 20 10 ;
|
||||
hide back_alt ;
|
||||
show back ;
|
||||
hide grpmessage }
|
||||
onClose { uiScript update "ui_SetName" }
|
||||
onEsc { close player_menu ; open main }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
itemDef {
|
||||
name gametypebar
|
||||
style 2
|
||||
rect 0 5 640 40
|
||||
textscale 0.4
|
||||
textalign 0 // center
|
||||
textalignx 60 // x alignment point for text
|
||||
// use it to offset left/right text from the edge
|
||||
// or to center the text on a different point
|
||||
textaligny 21
|
||||
style 2
|
||||
border 4
|
||||
bordercolor 0.5 0.5 0.5 0.5
|
||||
bordersize 2
|
||||
backcolor 0 0 .75 .5
|
||||
visible 1
|
||||
decoration
|
||||
mouseEnter { setcolor backcolor .75 0 0 .5 }
|
||||
mouseExit { setcolor backcolor 0 0 .75 .5 }
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name arenatype
|
||||
type ITEM_TYPE_MULTI
|
||||
cvar "ui_q3model"
|
||||
cvarFloatList { "Team Arena" 0 "Quake III" 1 }
|
||||
text "Model Type:"
|
||||
textstyle 6
|
||||
rect 0 10 320 31
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 20
|
||||
textaligny 26
|
||||
textscale .35
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
mouseEnter { show message_type }
|
||||
mouseExit { hide message_type }
|
||||
action { play "sound/misc/kcaction.wav" }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name quakeimage
|
||||
style WINDOW_STYLE_SHADER
|
||||
group grpquaketype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "1" }
|
||||
background "ui/assets/playerpatriot.tga"
|
||||
rect 60 24 128 256
|
||||
forecolor .25 .25 .25 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name quakeimage
|
||||
group grpquaketype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "1" }
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/playerpi.tga"
|
||||
rect 100 24 128 256
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name quakeimage
|
||||
group grpquaketype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "1" }
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/playerklesk.tga"
|
||||
rect 440 24 128 256
|
||||
forecolor .5 .5 .5 1
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name quakeimage
|
||||
group grpquaketype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "1" }
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/playerbiker.tga"
|
||||
rect 384 24 128 256
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
|
||||
itemDef {
|
||||
name clanlogo1
|
||||
style WINDOW_STYLE_SHADER
|
||||
group grparenatype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "0" }
|
||||
background "ui/assets/pagans.tga"
|
||||
rect 0 150 128 128
|
||||
forecolor .5 .5 .5 .25
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name clanlogo1
|
||||
group grparenatype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "0" }
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/crusaders.tga"
|
||||
rect 128 150 128 128
|
||||
forecolor .5 .5 .5 .25
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name clanlogo1
|
||||
group grparenatype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "0" }
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/stroggs.tga"
|
||||
rect 384 150 128 128
|
||||
forecolor .5 .5 .5 .25
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name clanlogo1
|
||||
group grparenatype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "0" }
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/intruders.tga"
|
||||
rect 512 150 128 128
|
||||
forecolor .5 .5 .5 .25
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
style WINDOW_STYLE_FILLED
|
||||
rect 238 153 170 133
|
||||
forecolor 0 0 0 1
|
||||
backcolor 0 0 0 1
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
|
||||
itemDef {
|
||||
name playerbar
|
||||
style 2
|
||||
rect 0 130 640 170
|
||||
backcolor 0 0 .75 0
|
||||
forecolor 1 1 1 1
|
||||
border 4
|
||||
bordercolor 0.5 0.5 0.5 .75
|
||||
bordersize 2
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 10 50 620 60
|
||||
style WINDOW_STYLE_EMPTY
|
||||
border 1
|
||||
bordercolor .5 .5 .5 .5
|
||||
forecolor 1 1 1 1
|
||||
backcolor 0 0 0 0
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 10 112 205 216
|
||||
style WINDOW_STYLE_EMPTY
|
||||
border 1
|
||||
bordercolor .5 .5 .5 .5
|
||||
forecolor 1 1 1 1
|
||||
backcolor 0 0 0 0
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name window
|
||||
rect 217 112 205 216
|
||||
style WINDOW_STYLE_EMPTY
|
||||
border 1
|
||||
bordercolor .5 .5 .5 .5
|
||||
forecolor 1 1 1 1
|
||||
backcolor 0 0 0 0
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name window
|
||||
rect 424 112 206 216
|
||||
style WINDOW_STYLE_EMPTY
|
||||
border 1
|
||||
bordercolor .5 .5 .5 .5
|
||||
forecolor 1 1 1 1
|
||||
backcolor 0 0 0 0
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name modelselection
|
||||
ownerdraw UI_PLAYERMODEL
|
||||
rect 424 80 260 260
|
||||
style 1
|
||||
decoration
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name namefield
|
||||
group "playersettinggroup"
|
||||
type ITEM_TYPE_EDITFIELD
|
||||
style 0
|
||||
text "Name:"
|
||||
cvar "ui_Name"
|
||||
textstyle 6
|
||||
maxChars 32
|
||||
rect 0 60 215 32
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 20
|
||||
textaligny 21
|
||||
textscale .333
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
// mouseEnter { show message_name }
|
||||
// mouseExit { hide message_name }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name other
|
||||
group grpSystem
|
||||
style 1
|
||||
text "To change player name use the companion app."
|
||||
rect 0 80 215 32
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 20
|
||||
textaligny 21
|
||||
textscale .25
|
||||
forecolor .4 .4 .65 1
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name handicapfield
|
||||
group "playersettinggroup"
|
||||
style 0
|
||||
text "Handicap:"
|
||||
ownerdraw UI_HANDICAP
|
||||
textstyle 6
|
||||
rect 0 175 215 32
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 20
|
||||
textaligny 21
|
||||
textscale .333
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
mouseEnter { show message_handicap }
|
||||
mouseExit { hide message_handicap }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name effectfield
|
||||
group "playersettinggroup"
|
||||
style 0
|
||||
text "Effect:"
|
||||
ownerdraw UI_EFFECTS
|
||||
rect 0 205 215 32
|
||||
textstyle 6
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 20
|
||||
textaligny 21
|
||||
textscale .333
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
mouseEnter { show message_effect }
|
||||
mouseExit { hide message_effect }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name clanfield
|
||||
group grparenatype
|
||||
ownerdraw UI_CLANNAME
|
||||
text "Clan:"
|
||||
textstyle 6
|
||||
rect 20 235 215 31
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 0
|
||||
textaligny 21
|
||||
textscale .333
|
||||
forecolor 1 1 1 1
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "0" }
|
||||
visible 1
|
||||
action { play "sound/misc/nomenu.wav" }
|
||||
mouseEnter { show message_clan }
|
||||
mouseExit { hide message_clan }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name effectfield
|
||||
group "playersettinggroup"
|
||||
type ITEM_TYPE_SLIDER
|
||||
text "1st-Person Body Scale:"
|
||||
cvarfloat "cg_firstPersonBodyScale" 0.2 0 1
|
||||
rect 0 310 250 20
|
||||
textstyle 6
|
||||
textalign ITEM_ALIGN_LEFT
|
||||
textalignx 20
|
||||
textaligny 16
|
||||
textscale .333
|
||||
outlinecolor 1 .5 .5 .5
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
border 0
|
||||
bordercolor 0 0 0 0
|
||||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name headlist
|
||||
rect 10 340 620 80
|
||||
group grparenatype
|
||||
cvarTest "ui_q3model"
|
||||
hideCvar { "1" }
|
||||
type ITEM_TYPE_LISTBOX
|
||||
style WINDOW_STYLE_FILLED
|
||||
elementwidth 61.75
|
||||
elementheight 61.75
|
||||
elementtype LISTBOX_IMAGE
|
||||
feeder FEEDER_HEADS
|
||||
horizontalscroll
|
||||
border 1
|
||||
bordersize 1
|
||||
backcolor 0 0 0 .25
|
||||
bordercolor .5 .5 .5 .5
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
mouseenter { setitemcolor headlist bordercolor .7 0 0 1 ; show message_model }
|
||||
mouseexit { setitemcolor headlist bordercolor .5 .5 .5 .5 ; hide message_model }
|
||||
}
|
||||
itemDef {
|
||||
name headlist
|
||||
rect 10 330 620 80
|
||||
group grpquaketype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "1" }
|
||||
type ITEM_TYPE_LISTBOX
|
||||
style WINDOW_STYLE_FILLED
|
||||
elementwidth 61.75
|
||||
elementheight 61.75
|
||||
elementtype LISTBOX_IMAGE
|
||||
feeder FEEDER_Q3HEADS
|
||||
horizontalscroll
|
||||
border 1
|
||||
bordersize 1
|
||||
backcolor 0 0 0 .25
|
||||
bordercolor .5 .5 .5 .5
|
||||
forecolor 1 1 1 1
|
||||
visible 1
|
||||
mouseenter { setitemcolor headlist bordercolor .7 0 0 1 ; show message_model }
|
||||
mouseexit { setitemcolor headlist bordercolor .5 .5 .5 .5 ; hide message_model}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// BACK BAR //
|
||||
|
||||
itemDef {
|
||||
name gotobar
|
||||
style 2
|
||||
rect 0 430 640 30
|
||||
textscale 0.4
|
||||
textalign 0 // center
|
||||
textalignx 60 // x alignment point for text
|
||||
// use it to offset left/right text from the edge
|
||||
// or to center the text on a different point
|
||||
textaligny 21
|
||||
style 2
|
||||
border 4
|
||||
bordercolor 0.5 0.5 0.5 0.5
|
||||
bordersize 2
|
||||
backcolor 0 0 .75 0.5
|
||||
visible 1
|
||||
mouseEnter { setcolor backcolor .75 0 0 .5 }
|
||||
mouseExit { setcolor backcolor 0 0 .75 .5 }
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name back
|
||||
style 3
|
||||
background "ui/assets/backarrow.tga"
|
||||
rect 16 424 50 50
|
||||
visible 1
|
||||
action { close player_menu ; open main }
|
||||
mouseEnter { hide back ; show back_alt ; show message_back }
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name back_alt
|
||||
style WINDOW_STYLE_SHADER
|
||||
background "ui/assets/backarrow_alt.tga"
|
||||
rect 14 422 54 54
|
||||
backcolor 0 0 0 0
|
||||
forecolor 1 1 1 1
|
||||
visible 0
|
||||
type ITEM_TYPE_BUTTON
|
||||
mouseExit { hide back_alt ; show back ; hide message_back }
|
||||
action { close player_menu ; open main }
|
||||
}
|
||||
|
||||
// MESSAGES //
|
||||
itemDef {
|
||||
name message_back
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textstyle 1
|
||||
textalign 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Return to Main Menu"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name message_name
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textalign 1
|
||||
textstyle 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Enter Player Name"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name message_handicap
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textalign 1
|
||||
textstyle 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Click to Change Handicap"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name message_effect
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textalign 1
|
||||
textstyle 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Select Bar to Change Effect Color"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name message_clan
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textalign 1
|
||||
textstyle 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Click to Cycle Clan Selection"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
itemDef {
|
||||
name message_type
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textalign 1
|
||||
textstyle 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Click to View Team Arena or Quake III Models"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name message_model
|
||||
group grpmessage
|
||||
style 0
|
||||
rect 320 430 128 30
|
||||
textalign 1
|
||||
textstyle 1
|
||||
textalignx 0
|
||||
textaligny 25
|
||||
textscale .416
|
||||
text "Click to Change Player Model"
|
||||
forecolor 1 1 1 1
|
||||
decoration
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name clancinematic
|
||||
rect 238 157 170 133
|
||||
group grparenatype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "0" }
|
||||
ownerdraw UI_CLANCINEMATIC
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
itemDef {
|
||||
name clancinematic
|
||||
group grpquaketype
|
||||
cvarTest "ui_q3model"
|
||||
showCVar { "1" }
|
||||
style 3
|
||||
background "ui/assets/q3imagepage.tga"
|
||||
rect 238 157 170 133
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name clancinematic
|
||||
style 3
|
||||
background "menuscreen"
|
||||
rect 238 153 170 133
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name menuback_g
|
||||
style WINDOW_STYLE_SHADER
|
||||
rect 195 120 255 202
|
||||
background "menuback_g"
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name fadebox
|
||||
style WINDOW_STYLE_FILLED
|
||||
background "ui/assets/fadebox.tga"
|
||||
forecolor 0 0 0 1
|
||||
backcolor 0 0 0 1
|
||||
rect 0 0 640 480
|
||||
visible 1
|
||||
decoration
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -82,22 +82,22 @@ itemDef {
|
|||
}
|
||||
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
group grpSystem
|
||||
text "Quality:"
|
||||
type ITEM_TYPE_MULTI
|
||||
cvar "ui_glCustom"
|
||||
cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
|
||||
rect 99 42 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
textscale .333
|
||||
forecolor 1 1 1 1
|
||||
visible 0
|
||||
action { uiScript update "ui_glCustom" }
|
||||
}
|
||||
// itemDef {
|
||||
// name graphics
|
||||
// group grpSystem
|
||||
// text "Quality:"
|
||||
// type ITEM_TYPE_MULTI
|
||||
// cvar "ui_glCustom"
|
||||
// cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
|
||||
// rect 99 42 256 20
|
||||
// textalign ITEM_ALIGN_RIGHT
|
||||
// textalignx 128
|
||||
// textaligny 20
|
||||
// textscale .333
|
||||
// forecolor 1 1 1 1
|
||||
// visible 0
|
||||
// action { uiScript update "ui_glCustom" }
|
||||
// }
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
|
@ -106,7 +106,7 @@ itemDef {
|
|||
text "Refresh Rate:"
|
||||
cvar "vr_refreshrate"
|
||||
cvarFloatList { "60" 60 "72 (Recommended)" 72 "80" 80 "90" 90 }
|
||||
rect 99 67 256 20
|
||||
rect 99 42 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -121,7 +121,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Sync Every Frame:"
|
||||
cvar "r_finish"
|
||||
rect 99 92 256 20
|
||||
rect 99 67 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -137,7 +137,7 @@ itemDef {
|
|||
text "Color Depth:"
|
||||
cvar "r_colorbits"
|
||||
cvarFloatList { "Desktop Default" 0 "16-bit" 16 "32-bit" 32 }
|
||||
rect 99 117 256 20
|
||||
rect 99 92 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -154,7 +154,7 @@ itemDef {
|
|||
text "Lighting:"
|
||||
cvar "r_vertexlight"
|
||||
cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 }
|
||||
rect 99 142 256 20
|
||||
rect 99 117 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -170,7 +170,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Dynamic Lights:"
|
||||
cvar "r_dynamiclight"
|
||||
rect 99 167 256 20
|
||||
rect 99 142 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -179,13 +179,29 @@ itemDef {
|
|||
visible 1
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
group grpSystem
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Shadow Detail:"
|
||||
cvar "cg_shadows"
|
||||
cvarFloatList { "Low" 1 "High" 3 }
|
||||
rect 99 167 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
textscale .333
|
||||
forecolor 1 1 1 1
|
||||
visible 0
|
||||
}
|
||||
|
||||
itemDef {
|
||||
name graphics
|
||||
group grpSystem
|
||||
type ITEM_TYPE_MULTI
|
||||
text "Geometric Detail:"
|
||||
cvar "r_lodbias"
|
||||
cvarFloatList { "High" 0 "Medium" 1 "Low" 2 }
|
||||
cvarFloatList { "High" -1 "Medium" 1 "Low" 2 }
|
||||
rect 99 192 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
|
@ -220,7 +236,7 @@ itemDef {
|
|||
text "Texture Quality:"
|
||||
cvar "r_texturebits"
|
||||
cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 }
|
||||
rect 99 244 256 20
|
||||
rect 99 242 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -236,7 +252,7 @@ itemDef {
|
|||
text "Texture Filter:"
|
||||
cvar "r_texturemode"
|
||||
cvarStrList { "Bilinear", "GL_LINEAR_MIPMAP_NEAREST", "Trilinear", "GL_LINEAR_MIPMAP_LINEAR" }
|
||||
rect 99 269 256 20
|
||||
rect 99 267 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
@ -251,7 +267,7 @@ itemDef {
|
|||
type ITEM_TYPE_YESNO
|
||||
text "Compress Textures:"
|
||||
cvar "r_ext_compressed_textures"
|
||||
rect 99 294 256 20
|
||||
rect 99 292 256 20
|
||||
textalign ITEM_ALIGN_RIGHT
|
||||
textalignx 128
|
||||
textaligny 20
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
setlocal
|
||||
|
||||
set BUILD_TYPE=release
|
||||
set VERSION=0.27.1
|
||||
set VERSION=0.28.0
|
||||
|
||||
@REM Define the following environment variables to sign a release build
|
||||
@REM set KEYSTORE=
|
||||
|
|
Loading…
Reference in a new issue