From 733a64893a259de3f31e5a9e3cdb3a9141a7df43 Mon Sep 17 00:00:00 2001 From: Andrei Drexler Date: Fri, 30 Aug 2002 15:09:43 +0000 Subject: [PATCH] MM UI --- reaction/ta_ui/menudef.h | 5 + reaction/ta_ui/ta_ui.plg | 30 +- reaction/ta_ui/ui_local.h | 10 + reaction/ta_ui/ui_main.c | 62 ++- .../uifiles/ingame_matchmode_captain.menu | 362 +++++++++++++ .../uifiles/ingame_matchmode_referee.menu | 487 ++++++++++++++++++ .../uifiles/ingame_matchmode_settings.menu | 245 +++++++++ 7 files changed, 1172 insertions(+), 29 deletions(-) create mode 100644 reaction/uifiles/ingame_matchmode_captain.menu create mode 100644 reaction/uifiles/ingame_matchmode_referee.menu create mode 100644 reaction/uifiles/ingame_matchmode_settings.menu diff --git a/reaction/ta_ui/menudef.h b/reaction/ta_ui/menudef.h index 42f159ad..433a655c 100644 --- a/reaction/ta_ui/menudef.h +++ b/reaction/ta_ui/menudef.h @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.8 2002/08/30 15:09:43 makro +// MM UI +// // Revision 1.7 2002/08/26 00:41:52 makro // Presets menu + editor // @@ -92,6 +95,8 @@ #define FEEDER_CINEMATICS 0x0f // cinematics //Makro - improved in-game server info screen #define FEEDER_INGAME_SERVERINFO 0x10 +//Makro - for the captains' ingame menu +#define FEEDER_MMHEADS 0x11 // display flags #define CG_SHOW_BLUE_TEAM_HAS_REDFLAG 0x00000001 diff --git a/reaction/ta_ui/ta_ui.plg b/reaction/ta_ui/ta_ui.plg index c6ef0ded..18543079 100644 --- a/reaction/ta_ui/ta_ui.plg +++ b/reaction/ta_ui/ta_ui.plg @@ -3,34 +3,16 @@
 

Build Log

---------------------Configuration: cgame - Win32 Release-------------------- -

-

Command Lines

- - - -

Results

-cgamex86.dll - 0 error(s), 0 warning(s) -

---------------------Configuration: game - Win32 Release-------------------- -

-

Command Lines

- - - -

Results

-qagamex86.dll - 0 error(s), 0 warning(s) -

--------------------Configuration: ui - Win32 Release TA--------------------

Command Lines

-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP841.tmp" with contents +Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2AC.tmp" with contents [ /nologo /G6 /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "UI_EXPORTS" /Fp"Release_TA/ta_ui.pch" /YX /Fo"Release_TA/" /Fd"Release_TA/" /FD /c -"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_shared.c" +"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_main.c" ] -Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP841.tmp" -Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP842.tmp" with contents +Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2AC.tmp" +Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2AD.tmp" with contents [ /nologo /base:"0x40000000" /dll /incremental:no /pdb:"Release_TA/uix86.pdb" /map:"Release_TA/uix86.map" /machine:I386 /def:".\ui.def" /out:"../Release/uix86.dll" /implib:"Release_TA/uix86.lib" .\Release_TA\bg_misc.obj @@ -44,10 +26,10 @@ Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP842.tmp" with conte .\Release_TA\ui_syscalls.obj .\Release_TA\ui_util.obj ] -Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP842.tmp" +Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2AD.tmp"

Output Window

Compiling... -ui_shared.c +ui_main.c Linking... Creating library Release_TA/uix86.lib and object Release_TA/uix86.exp diff --git a/reaction/ta_ui/ui_local.h b/reaction/ta_ui/ui_local.h index aee8c84c..e529fc77 100644 --- a/reaction/ta_ui/ui_local.h +++ b/reaction/ta_ui/ui_local.h @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.19 2002/08/30 15:09:43 makro +// MM UI +// // Revision 1.18 2002/08/26 00:41:52 makro // Presets menu + editor // @@ -229,6 +232,13 @@ extern vmCvar_t ui_RQ3_demoName; //Makro - in-game server info extern vmCvar_t ui_RQ3_ingameDetails; +//Makro - ref pass +extern vmCvar_t ui_RQ3_refPassword; + +//Makro - captain cvars +extern vmCvar_t ui_RQ3_teamName; +extern vmCvar_t ui_RQ3_teamModel; + // // ui_qmenu.c // diff --git a/reaction/ta_ui/ui_main.c b/reaction/ta_ui/ui_main.c index ec23b613..c70c7885 100644 --- a/reaction/ta_ui/ui_main.c +++ b/reaction/ta_ui/ui_main.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.47 2002/08/30 15:09:43 makro +// MM UI +// // Revision 1.46 2002/08/26 00:41:52 makro // Presets menu + editor // @@ -4078,6 +4081,31 @@ static void UI_RunMenuScript(char **args) } else { trap_Cvar_Set("ui_cdkeyvalid", "CD Key does not appear to be valid."); } + //Makro - ref command - map + } else if (Q_stricmp(name, "refMap") == 0) { + if (ui_currentNetMap.integer >= 0 && ui_currentNetMap.integer < uiInfo.mapCount) { + trap_Cmd_ExecuteText(EXEC_APPEND, + va("ref map %s\n", + uiInfo.mapList[ui_currentNetMap.integer].mapLoadName)); + } + //Makro - ref command - kick + } else if (Q_stricmp(name, "refKick") == 0) { + if (uiInfo.playerIndex >= 0 && uiInfo.playerIndex < uiInfo.playerCount) { + trap_Cmd_ExecuteText(EXEC_APPEND, + va("ref kick %s\n", uiInfo.playerNames[uiInfo.playerIndex])); + } + //Makro - captain command - referee + } else if (Q_stricmp(name, "captainRef") == 0) { + if (uiInfo.playerIndex >= 0 && uiInfo.playerIndex < uiInfo.playerCount) { + trap_Cmd_ExecuteText(EXEC_APPEND, + va("referee %s\n", uiInfo.playerNames[uiInfo.playerIndex])); + } + //Makro - ref login + } else if (Q_stricmp(name, "refLogin") == 0) { + trap_Cmd_ExecuteText(EXEC_APPEND, va("reflogin %s\n", ui_RQ3_refPassword.string)); + //Makro - read MM captain team settings + } else if (Q_stricmp(name, "readMMcaptainSettings") == 0) { + trap_Cvar_Set("ui_RQ3_teamName", ""); //Makro - send the matchmode settings to the server } else if (Q_stricmp(name, "sendMMsettings") == 0) { trap_Cmd_ExecuteText(EXEC_APPEND, va("settings %i %i %i %i %i %i %i %i %i\n", @@ -4090,6 +4118,12 @@ static void UI_RunMenuScript(char **args) ui_RQ3_limchasecam.integer, ui_RQ3_tgren.integer, ui_RQ3_friendlyFire.integer)); + //Makro - captain command - teamname + } else if (Q_stricmp(name, "captainSetTeamName") == 0) { + trap_Cmd_ExecuteText(EXEC_APPEND, va("teamname \"%s\"\n", ui_RQ3_teamName.string)); + //Makro - captain command - teammodel + } else if (Q_stricmp(name, "captainSetTeamModel") == 0) { + trap_Cmd_ExecuteText(EXEC_APPEND, va("teammodel \"%s\"\n", ui_RQ3_teamModel.string)); //Makro - sync ui MM cvars with the real ones } else if (Q_stricmp(name, "readMMsettings") == 0) { trap_Cvar_SetValue("ui_RQ3_timelimit", trap_Cvar_VariableValue("cg_RQ3_timelimit")); @@ -4338,13 +4372,13 @@ static void UI_RunMenuScript(char **args) trap_Cmd_ExecuteText(EXEC_APPEND, va("callvote kick %s\n", uiInfo.playerNames[uiInfo.playerIndex])); } - //Makro - ignore command + //Makro - ignore command } else if (Q_stricmp(name, "ignore") == 0) { if (uiInfo.playerIndex >= 0 && uiInfo.playerIndex < uiInfo.playerCount) { trap_Cmd_ExecuteText(EXEC_APPEND, va("ignore %s\n", uiInfo.playerNames[uiInfo.playerIndex])); } - //...and unignore + //...and unignore } else if (Q_stricmp(name, "unignore") == 0) { if (uiInfo.playerIndex >= 0 && uiInfo.playerIndex < uiInfo.playerCount) { trap_Cmd_ExecuteText(EXEC_APPEND, @@ -5222,7 +5256,8 @@ static int UI_FeederCount(float feederID) { if (feederID == FEEDER_HEADS) { return UI_HeadCountByTeam(); - } else if (feederID == FEEDER_Q3HEADS) { + //Makro - added FEEDER_MMHEADS + } else if (feederID == FEEDER_Q3HEADS || feederID == FEEDER_MMHEADS) { return uiInfo.q3HeadCount; } else if (feederID == FEEDER_CINEMATICS) { return uiInfo.movieCount; @@ -5351,7 +5386,8 @@ static const char *UI_FeederItemText(float feederID, int index, int column, qhan int actual; return UI_SelectedHead(index, &actual); - } else if (feederID == FEEDER_Q3HEADS) { + //Makro - added FEEDER_MMHEADS + } else if (feederID == FEEDER_Q3HEADS || feederID == FEEDER_MMHEADS) { if (index >= 0 && index < uiInfo.q3HeadCount) { return uiInfo.q3HeadNames[index]; } @@ -5476,7 +5512,8 @@ static qhandle_t UI_FeederItemImage(float feederID, int index) } return uiInfo.characterList[index].headImage; } - } else if (feederID == FEEDER_Q3HEADS) { + //Makro - added FEEDER_MMHEADS + } else if (feederID == FEEDER_Q3HEADS || feederID == FEEDER_MMHEADS) { if (index >= 0 && index < uiInfo.q3HeadCount) { return uiInfo.q3HeadIcons[index]; } @@ -5510,6 +5547,11 @@ static void UI_FeederSelection(float feederID, int index) trap_Cvar_Set("headmodel", va("*%s", uiInfo.characterList[index].name)); updateModel = qtrue; } + //Makro - added FEEDER_MMHEADS + } else if (feederID == FEEDER_MMHEADS) { + if (index >= 0 && index < uiInfo.q3HeadCount) { + trap_Cvar_Set("ui_RQ3_teamModel", uiInfo.q3HeadNames[index]); + } } else if (feederID == FEEDER_Q3HEADS) { if (index >= 0 && index < uiInfo.q3HeadCount) { trap_Cvar_Set("model", uiInfo.q3HeadNames[index]); @@ -6903,6 +6945,11 @@ vmCvar_t ui_RQ3_tgren; vmCvar_t ui_RQ3_friendlyFire; //Makro - in-game server info vmCvar_t ui_RQ3_ingameDetails; +//Makro - ref pass +vmCvar_t ui_RQ3_refPassword; +//Makro - captain cvars +vmCvar_t ui_RQ3_teamName; +vmCvar_t ui_RQ3_teamModel; //Makro - radio presets menu cvars //1 vmCvar_t ui_RQ3_radioPreset1Desc; @@ -7085,6 +7132,11 @@ static cvarTable_t cvarTable[] = { {&ui_RQ3_friendlyFire, "ui_RQ3_friendlyFire", "0", 0}, //Makro - in-game server info {&ui_RQ3_ingameDetails, "ui_RQ3_ingameDetails", "0", CVAR_ARCHIVE}, + //Makro - ref pass + {&ui_RQ3_refPassword, "ui_RQ3_refPassword", "", 0}, + //Makro - captain cvars + {&ui_RQ3_teamName, "ui_RQ3_teamName", "", CVAR_ARCHIVE}, + {&ui_RQ3_teamModel, "ui_RQ3_teamModel", "", CVAR_ARCHIVE}, //Makro - radio presets menu cvars //1 {&ui_RQ3_radioPreset1Desc, "ui_RQ3_radioPreset1Desc", "Enemy spotted", CVAR_ARCHIVE}, diff --git a/reaction/uifiles/ingame_matchmode_captain.menu b/reaction/uifiles/ingame_matchmode_captain.menu new file mode 100644 index 00000000..15e56f7c --- /dev/null +++ b/reaction/uifiles/ingame_matchmode_captain.menu @@ -0,0 +1,362 @@ +#include "ui/menudef.h" + +{ + + menuDef { + name "ingame_matchmode_captain" + visible 0 + fullscreen 0 + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect 296 64 288 212 + focusColor 1 .75 0 1 // Menu focus color for text and items + style WINDOW_STYLE_EMPTY + shadowStyle 1 + border 0 + onOpen { uiScript readMMcaptainSettings ; hide grpCaptain ; show status } + +//Window + + itemDef { + rect 0 0 80 212 + style WINDOW_STYLE_FILLED + backcolor Ig_Window_Color + visible 1 + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + decoration + } + + itemDef { + rect 79 0 207 212 + style WINDOW_STYLE_FILLED + backcolor Ig_Window_Color + visible 1 + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + decoration + } + + itemDef { + rect 169 1 120 24 + style WINDOW_STYLE_SHADER + background "ui/assets/rq3-ingame-title" + visible 1 + decoration + } + + itemDef { + rect 169 1 120 24 + style WINDOW_STYLE_EMPTY + forecolor Ig_Window_TitleColor + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .225 + textalign ITEM_ALIGN_LEFT + textalignx 24 + textaligny 16 + text "Captain" + visible 1 + decoration + } + +//Sub-sections + + itemDef { + name sectionStatus + group grpSections + text "1. Status" + shortcutKey "1" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 44 80 16 + textalign ITEM_ALIGN_RIGHT + textalignx 72 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpCaptain ; show status } + } + + itemDef { + name sectionSettings + group grpSections + text "2. Settings" + shortcutKey "2" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 68 80 16 + textalign ITEM_ALIGN_RIGHT + textalignx 72 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpCaptain ; show settings } + } + + itemDef { + name sectionRef + group grpSections + text "3. Referee" + shortcutKey "3" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 92 80 16 + textalign ITEM_ALIGN_RIGHT + textalignx 72 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpCaptain ; show ref } + } + +//======================= + + // STATUS // + + itemDef { + name status + group grpCaptain + text "Become a captain" + shortcutKey "B" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 100 76 160 20 + textalign ITEM_ALIGN_CENTER + textalignx 80 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "captain"; uiScript closeingame } + } + + itemDef { + name status + group grpCaptain + text "Ready / Unready team" + shortcutKey "R" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 100 96 160 20 + textalign ITEM_ALIGN_CENTER + textalignx 80 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ready"; uiScript closeingame } + } + + // REF // + + itemDef { + name ref + group grpCaptain + text "Referee:" + textscale .225 + rect 92 32 80 20 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemDef { + name ref + group grpCaptain + rect 92 52 180 124 + style WINDOW_STYLE_FILLED + type ITEM_TYPE_LISTBOX + elementwidth 120 + elementheight 15 + textscale .225 + elementtype LISTBOX_TEXT + feeder FEEDER_PLAYER_LIST + border 1 + bordercolor .25 .25 .25 1 + forecolor 1 1 1 1 + backcolor 0 0 0 .25 + outlinecolor .75 .75 1 .25 + visible 0 + } + + // Scrollbar separator // + + itemDef { + name ref + group grpCaptain + rect 254 52 18 124 + style WINDOW_STYLE_EMPTY + border 1 + borderSize 1 + bordercolor .25 .25 .25 1 + visible 0 + decoration + } + + itemDef { + name ref + text "OK" + shortcutKey "O" + type 1 + textscale .225 + group grpCaptain + style WINDOW_STYLE_FILLED + rect 224 180 48 20 + textalign 1 + textalignx 24 + textaligny 14 + border 1 + bordersize 1 + backcolor Ig_Sub_Color1 + forecolor Ig_Sub_TextColor + bordercolor Ig_Sub_BorderColor1 + visible 0 + action { play "sound/misc/menu1.wav" ; uiScript captainRef ; uiScript closeingame } + onFocus { setcolor backcolor Ig_Sub_Color2 ; setcolor bordercolor Ig_Sub_BorderColor2 } + leaveFocus { setcolor backcolor Ig_Sub_Color1 ; setcolor bordercolor Ig_Sub_BorderColor1 } + } + + // SETTINGS // + + itemDef { + name settings + group grpCaptain + text "Match Settings..." + shortcutKey "M" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 88 44 188 20 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; close ingame_matchmode_captain ; open ingame_matchmode_settings } + } + + itemDef { + name settings + group grpCaptain + text "Team Name:" + textscale .225 + rect 88 72 80 20 + type ITEM_TYPE_TEXT + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemdef { + name settings + group grpCaptain + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_FILLED + text "" + cvar "ui_RQ3_teamName" + rect 88 92 148 16 + maxPaintChars 8 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 12 + textscale .225 + outlinecolor 1 .5 .5 .5 + forecolor 1 1 1 1 + border 1 + bordercolor .25 .25 .25 1 + backcolor 1 1 1 .05 + visible 0 + onfocus { setcolor backcolor 1 1 1 .15 } + leavefocus { setcolor backcolor 1 1 1 .05 } + } + + itemDef { + name settings + group grpCaptain + text "Set" + shortcutKey "S" + textscale .225 + rect 240 92 40 20 + type 1 + textalign ITEM_ALIGN_LEFT + textalignx 8 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; uiScript "captainSetTeamName" ; uiScript closeingame } + } + + itemDef { + name settings + group grpCaptain + text "Model:" + cvar "ui_RQ3_teamModel" + textscale .225 + rect 88 128 80 20 + type ITEM_TYPE_EDITFIELD + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemDef { + name settings + group grpCaptain + text "Set" + shortcutKey "S" + textscale .225 + rect 240 128 40 20 + type 1 + textalign ITEM_ALIGN_LEFT + textalignx 8 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; uiScript "captainSetTeamModel" ; uiScript closeingame } + } + + itemdef { + name settings + group grpCaptain + rect 88 148 188 52 + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 26 + elementheight 26 + elementtype LISTBOX_IMAGE + feeder FEEDER_MMHEADS + horizontalscroll + backcolor 0 0 0 1 + border 0 + bordercolor Ig_Window_BorderColor + forecolor 1 1 1 1 + visible 1 + } + +} +} diff --git a/reaction/uifiles/ingame_matchmode_referee.menu b/reaction/uifiles/ingame_matchmode_referee.menu new file mode 100644 index 00000000..7767314f --- /dev/null +++ b/reaction/uifiles/ingame_matchmode_referee.menu @@ -0,0 +1,487 @@ +#include "ui/menudef.h" + +{ + + menuDef { + name "ingame_matchmode_referee" + visible 0 + fullscreen 0 + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect 296 64 288 212 + focusColor 1 .75 0 1 // Menu focus color for text and items + style WINDOW_STYLE_EMPTY + shadowStyle 1 + border 0 + onOpen { uiScript loadArenas ; hide grpReferee ; show login } + +//Window + + itemDef { + rect 0 0 72 212 + style WINDOW_STYLE_FILLED + backcolor Ig_Window_Color + visible 1 + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + decoration + } + + itemDef { + rect 71 0 215 212 + style WINDOW_STYLE_FILLED + backcolor Ig_Window_Color + visible 1 + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + decoration + } + + itemDef { + rect 169 1 120 24 + style WINDOW_STYLE_SHADER + background "ui/assets/rq3-ingame-title" + visible 1 + decoration + } + + itemDef { + rect 169 1 120 24 + style WINDOW_STYLE_EMPTY + forecolor Ig_Window_TitleColor + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .225 + textalign ITEM_ALIGN_LEFT + textalignx 24 + textaligny 16 + text "Referee" + visible 1 + decoration + } + +//Sub-sections + + itemDef { + name sectionLogin + group grpSections + text "1. Login" + shortcutKey "1" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 40 72 16 + textalign ITEM_ALIGN_RIGHT + textalignx 64 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpReferee ; show login } + } + + itemDef { + name sectionMap + group grpSections + text "2. Map" + shortcutKey "2" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 64 72 16 + textalign ITEM_ALIGN_RIGHT + textalignx 64 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpReferee ; show map } + } + + itemDef { + name sectionKick + group grpSections + text "3. Kick" + shortcutKey "3" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 88 72 16 + textalign ITEM_ALIGN_RIGHT + textalignx 64 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpReferee ; show kick } + } + + itemDef { + name sectionMatch + group grpSections + text "4. Match" + shortcutKey "4" + type ITEM_TYPE_BUTTON + textscale .225 + style WINDOW_STYLE_EMPTY + rect 0 112 72 16 + textalign ITEM_ALIGN_RIGHT + textalignx 64 + textaligny 12 + textstyle ITEM_TEXTSTYLE_SHADOWED + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + forecolor Ig_Sub_TextColor + visible 1 + action { play "sound/misc/menu1.wav" ; hide grpReferee ; show match } + } + +//======================= + + // LOGIN // + + itemDef { + name login + group grpReferee + text "Password" + textscale .225 + rect 88 56 80 20 + type ITEM_TYPE_TEXT + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemdef { + name login + group grpReferee + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_FILLED + text "" + cvar "ui_RQ3_refPassword" + rect 88 76 180 16 + maxPaintChars 8 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 12 + textscale .225 + outlinecolor 1 .5 .5 .5 + forecolor 1 1 1 1 + border 1 + bordercolor .25 .25 .25 1 + backcolor 1 1 1 .05 + visible 0 + onfocus { setcolor backcolor 1 1 1 .15 } + leavefocus { setcolor backcolor 1 1 1 .05 } + } + + itemDef { + name login + group grpReferee + text "Resign" + shortcutKey "R" + textscale .225 + rect 88 160 80 20 + type 1 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "refresign" ; uiScript closeingame } + } + + itemDef { + name login + group grpReferee + text "Login" + shortcutKey "L" + textscale .225 + rect 188 160 80 20 + type 1 + textalign ITEM_ALIGN_RIGHT + textalignx 76 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; uiScript refLogin ; uiScript closeingame } + } + + // NEW MAP // + + itemDef { + name map + group grpReferee + text "New Map:" + ownerdraw UI_ALLMAPS_SELECTION + textscale .225 + rect 84 32 80 20 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + decoration + visible 0 + } + + itemDef { + name map + group grpReferee + rect 84 52 188 124 + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_FILLED + elementwidth 120 + elementheight 15 + textscale .225 + elementtype LISTBOX_TEXT + feeder FEEDER_ALLMAPS + border 1 + bordercolor .25 .25 .25 1 + forecolor 1 1 1 1 + backcolor 0 0 0 .25 + outlinecolor .75 .75 1 .25 + visible 0 + } + + // Scrollbar separator // + + itemDef { + name map + group grpReferee + rect 254 52 18 124 + style WINDOW_STYLE_EMPTY + border 1 + borderSize 1 + bordercolor .25 .25 .25 1 + visible 0 + decoration + } + + itemDef { + name map + group grpReferee + text "Next Map" + shortcutKey "N" + textscale .225 + rect 84 184 60 20 + type 1 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ref cyclemap" ; uiScript closeingame } + } + + itemDef { + name map + group grpReferee + text "Restart" + shortcutKey "R" + textscale .225 + rect 158 184 60 20 + type 1 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ref map_restart" ; uiScript closeingame } + } + + itemDef { + name map + text "OK" + shortcutKey "O" + type 1 + textscale .225 + group grpReferee + style WINDOW_STYLE_FILLED + rect 224 184 48 20 + textalign 1 + textalignx 24 + textaligny 14 + border 1 + bordersize 1 + backcolor Ig_Sub_Color1 + forecolor Ig_Sub_TextColor + bordercolor Ig_Sub_BorderColor1 + visible 0 + action { play "sound/misc/menu1.wav" ; uiScript refMap ; uiScript closeingame } + onFocus { setcolor backcolor Ig_Sub_Color2 ; setcolor bordercolor Ig_Sub_BorderColor2 } + leaveFocus { setcolor backcolor Ig_Sub_Color1 ; setcolor bordercolor Ig_Sub_BorderColor1 } + } + // KICK PLAYER // + + itemDef { + name kick + group grpReferee + text "Kick Player:" + textscale .225 + rect 84 32 80 20 + textalign ITEM_ALIGN_LEFT + textalignx 4 + textaligny 14 + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemDef { + name kick + group grpReferee + rect 84 52 188 124 + style WINDOW_STYLE_FILLED + type ITEM_TYPE_LISTBOX + elementwidth 120 + elementheight 15 + textscale .225 + elementtype LISTBOX_TEXT + feeder FEEDER_PLAYER_LIST + border 1 + bordercolor .25 .25 .25 1 + forecolor 1 1 1 1 + backcolor 0 0 0 .25 + outlinecolor .75 .75 1 .25 + visible 0 + } + + // Scrollbar separator // + + itemDef { + name kick + group grpReferee + rect 254 52 18 124 + style WINDOW_STYLE_EMPTY + border 1 + borderSize 1 + bordercolor .25 .25 .25 1 + visible 0 + decoration + } + + itemDef { + name kick + text "OK" + shortcutKey "O" + type 1 + textscale .225 + group grpReferee + style WINDOW_STYLE_FILLED + rect 224 184 48 20 + textalign 1 + textalignx 24 + textaligny 14 + border 1 + bordersize 1 + backcolor Ig_Sub_Color1 + forecolor Ig_Sub_TextColor + bordercolor Ig_Sub_BorderColor1 + visible 0 + action { play "sound/misc/menu1.wav" ; uiScript refKick ; uiScript closeingame } + onFocus { setcolor backcolor Ig_Sub_Color2 ; setcolor bordercolor Ig_Sub_BorderColor2 } + leaveFocus { setcolor backcolor Ig_Sub_Color1 ; setcolor bordercolor Ig_Sub_BorderColor1 } + } + + // Match // + + itemDef { + name match + group grpReferee + text "Pause / Resume" + shortcutKey "P" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 84 56 188 20 + textalign ITEM_ALIGN_CENTER + textalignx 88 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ref pause"; uiScript closeingame } + } + + itemDef { + name match + group grpReferee + text "Clear Scores" + shortcutKey "C" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 84 76 188 20 + textalign ITEM_ALIGN_CENTER + textalignx 88 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ref clearscores"; uiScript closeingame } + } + + itemDef { + name match + group grpReferee + text "Lock Settings" + shortcutKey "L" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 84 96 188 20 + textalign ITEM_ALIGN_CENTER + textalignx 88 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ref locksettings"; uiScript closeingame } + } + + itemDef { + name match + group grpReferee + text "Reset Match" + shortcutKey "R" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 84 116 188 20 + textalign ITEM_ALIGN_CENTER + textalignx 88 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; exec "ref resetmatch"; uiScript closeingame } + } + + itemDef { + name match + group grpReferee + text "Settings..." + shortcutKey "S" + type ITEM_TYPE_BUTTON + style 0 + textscale .225 + rect 84 156 188 20 + textalign ITEM_ALIGN_CENTER + textalignx 88 + textaligny 12 + forecolor 1 1 1 1 + visible 0 + action { play "sound/misc/menu1.wav" ; close ingame_matchmode_referee ; open ingame_matchmode_settings } + } + +} +} diff --git a/reaction/uifiles/ingame_matchmode_settings.menu b/reaction/uifiles/ingame_matchmode_settings.menu new file mode 100644 index 00000000..7acc70a3 --- /dev/null +++ b/reaction/uifiles/ingame_matchmode_settings.menu @@ -0,0 +1,245 @@ +#include "ui/menudef.h" + +{ + + menuDef { + name "ingame_matchmode_settings" + visible 0 + fullscreen 0 + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect 296 64 216 264 + disableColor .5 .5 .5 1 + focusColor 1 .75 0 1 // Menu focus color for text and items + style 1 + shadowStyle 1 + onOpen { play "sound/misc/menu1.wav" ; uiScript "readMMsettings" } + +//Window + + itemdef { + rect 0 0 216 264 + style WINDOW_STYLE_FILLED + backcolor Ig_Window_Color + visible 1 + border 1 + bordersize 1 + bordercolor Ig_Window_BorderColor + decoration + } + + itemdef { + rect 97 1 120 24 + style WINDOW_STYLE_SHADER + background "ui/assets/rq3-ingame-title" + visible 1 + decoration + } + + itemdef { + rect 97 1 120 24 + style WINDOW_STYLE_EMPTY + forecolor Ig_Window_TitleColor + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .225 + textalign ITEM_ALIGN_LEFT + textalignx 24 + textaligny 16 + text "MM settings" + visible 1 + decoration + } + +//Objects + + // SETTINGS // + + // Time limit + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_NUMERICFIELD + text "Time Limit:" + cvar "ui_RQ3_timelimit" + maxchars 4 + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 48 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Round limit + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_NUMERICFIELD + text "Round Limit:" + cvar "ui_RQ3_roundlimit" + maxchars 4 + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 68 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Round time limit + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_NUMERICFIELD + text "Round Time Limit:" + cvar "ui_RQ3_roundtimelimit" + maxchars 4 + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 88 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Frag limit + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_NUMERICFIELD + text "Frag Limit:" + cvar "ui_RQ3_fraglimit" + maxchars 4 + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 108 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Max players + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_NUMERICFIELD + text "Max Players:" + cvar "ui_RQ3_maxplayers" + maxchars 4 + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 128 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Force team talk + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_MULTI + text "Force Team Talk:" + cvar "ui_RQ3_forceteamtalk" + cvarFloatList { "Off" 0 "Match only" 1 "Always" 2 } + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 148 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Limit chase cam + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_MULTI + text "Limit Chase Cam:" + cvar "ui_RQ3_limchasecam" + cvarFloatList { "No" 0 "Team only" 1 "Eyes only" 2 } + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 168 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Tgren + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_NUMERICFIELD + text "Bandolier Grenades:" + cvar "ui_RQ3_tgren" + maxchars 4 + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 188 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + // Friendly fire + itemdef { + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_MULTI + text "Friendly Fire:" + cvar "ui_RQ3_friendlyFire" + cvarFloatList { "On" 1 "Knockback" 2 "Off" 0 } + textstyle ITEM_TEXTSTYLE_SHADOWED + rect 20 208 192 20 + textalign ITEM_ALIGN_RIGHT + textalignx 112 + textaligny 14 + textscale .225 + forecolor 1 1 1 1 + visible 1 + action { play "sound/misc/menu1.wav" } + } + + + // OK // + + itemdef { + name ok + rect 136 232 64 20 + style WINDOW_STYLE_FILLED + type ITEM_TYPE_BUTTON + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .225 + textalign ITEM_ALIGN_CENTER + textalignx 32 + textaligny 14 + text "Ok" + shortcutKey "O" + border 1 + bordersize 1 + backcolor Ig_Sub_Color1 + forecolor Ig_Sub_TextColor + bordercolor Ig_Sub_BorderColor1 + visible 1 + action { play "sound/misc/menu1.wav" ; uiScript "sendMMsettings" ; uiScript closeingame } + //action { exec "screenshotJPEG" } + onFocus { setcolor backcolor Ig_Sub_Color2 ; setcolor bordercolor Ig_Sub_BorderColor2 } + leaveFocus { setcolor backcolor Ig_Sub_Color1 ; setcolor bordercolor Ig_Sub_BorderColor1 } + } +} +} \ No newline at end of file