summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTim Angus <tim@ngus.net>2001-12-21 03:20:26 +0000
committerTim Angus <tim@ngus.net>2001-12-21 03:20:26 +0000
commita7a3acb74b2a6ade77e8aac1aa779b1563dea47f (patch)
treeba9dec5482aaf97c963291dddd27ca8bcc6bc3b5 /src
parent4ea86bf171392a3731425efa8630429d1711c9c6 (diff)
New menus (including dynamic ones)
Diffstat (limited to 'src')
-rw-r--r--src/cgame/cg_event.c27
-rw-r--r--src/cgame/cg_local.h4
-rw-r--r--src/cgame/cg_main.c7
-rw-r--r--src/ui/ui_local.h41
-rw-r--r--src/ui/ui_main.c368
5 files changed, 444 insertions, 3 deletions
diff --git a/src/cgame/cg_event.c b/src/cgame/cg_event.c
index 1896f013..24a9e988 100644
--- a/src/cgame/cg_event.c
+++ b/src/cgame/cg_event.c
@@ -410,6 +410,11 @@ CG_Menu
*/
void CG_Menu( int eventParm )
{
+ int i;
+ char carriageCvar[ MAX_TOKEN_CHARS ];
+
+ *carriageCvar = 0;
+
switch( eventParm )
{
case MN_TEAM: trap_SendConsoleCommand( "menu tremulous_teamselect\n" ); break;
@@ -417,7 +422,22 @@ void CG_Menu( int eventParm )
case MN_H_SPAWN: trap_SendConsoleCommand( "menu tremulous_humanitem\n" ); break;
case MN_D_BUILD: trap_SendConsoleCommand( "menu tremulous_alienbuild\n" ); break;
case MN_H_BUILD: trap_SendConsoleCommand( "menu tremulous_humanbuild\n" ); break;
- case MN_H_MCU: trap_SendConsoleCommand( "menu tremulous_humanmcu\n" ); break;
+ case MN_H_MCU:
+ for( i = WP_NONE +1; i < WP_NUM_WEAPONS; i++ )
+ {
+ if( BG_gotWeapon( i, cg.snap->ps.stats ) )
+ strcat( carriageCvar, va( "W%d ", i ) );
+ }
+ for( i = UP_NONE +1; i < UP_NUM_UPGRADES; i++ )
+ {
+ if( BG_gotItem( i, cg.snap->ps.stats ) )
+ strcat( carriageCvar, va( "U%d ", i ) );
+ }
+ strcat( carriageCvar, "$" );
+
+ trap_Cvar_Set( "ui_carriage", carriageCvar );
+ trap_SendConsoleCommand( "menu tremulous_humanmcu\n" );
+ break;
case MN_H_BANK: trap_SendConsoleCommand( "menu tremulous_humanbank\n" ); break;
case MN_H_NOROOM: trap_SendConsoleCommand( "menu tremulous_human_no_room\n" ); break;
case MN_H_NOPOWER: trap_SendConsoleCommand( "menu tremulous_human_no_power\n" ); break;
@@ -435,7 +455,10 @@ void CG_Menu( int eventParm )
case MN_H_NOSLOTS: trap_SendConsoleCommand( "menu tremulous_human_no_slots\n" ); break;
case MN_H_NOFUNDS: trap_SendConsoleCommand( "menu tremulous_human_no_funds\n" ); break;
case MN_H_ITEMHELD: trap_SendConsoleCommand( "menu tremulous_human_item_held\n" ); break;
- case MN_D_INFEST: trap_SendConsoleCommand( "menu dinfest\n" ); break;
+ case MN_D_INFEST:
+ trap_Cvar_Set( "ui_currentClass", va( "%d", cg.snap->ps.stats[ STAT_PCLASS ] ) );
+ trap_SendConsoleCommand( "menu tremulous_alienupgrade\n" );
+ break;
default:
Com_Printf( "cgame: debug: no such menu %d\n", eventParm );
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index 726622c2..44b4f9d4 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -1224,6 +1224,10 @@ extern vmCvar_t cg_drawSurfNormal;
extern vmCvar_t cg_debugAlloc;
extern vmCvar_t cg_smoothTime;
+//TA: hack to get class an carriage through to UI module
+extern vmCvar_t ui_currentClass;
+extern vmCvar_t ui_carriage;
+
//
// cg_main.c
//
diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c
index 32cc9bf5..3a384845 100644
--- a/src/cgame/cg_main.c
+++ b/src/cgame/cg_main.c
@@ -179,6 +179,10 @@ vmCvar_t cg_drawSurfNormal;
vmCvar_t cg_debugAlloc;
vmCvar_t cg_smoothTime;
+//TA: hack to get class an carriage through to UI module
+vmCvar_t ui_currentClass;
+vmCvar_t ui_carriage;
+
typedef struct {
vmCvar_t *vmCvar;
@@ -260,6 +264,9 @@ static cvarTable_t cvarTable[] = {
{ &cg_drawSurfNormal, "cg_drawSurfNormal", "0", CVAR_CHEAT },
{ &cg_debugAlloc, "cg_debugAlloc", "0", 0 },
{ &cg_smoothTime, "cg_smoothTime", "300", 0 },
+
+ { &ui_currentClass, "ui_currentClass", "0", 0 },
+ { &ui_carriage, "ui_carriage", "", 0 },
// the following variables are created in other parts of the system,
// but we also reference them here
diff --git a/src/ui/ui_local.h b/src/ui/ui_local.h
index c146ddb2..ee8c2b54 100644
--- a/src/ui/ui_local.h
+++ b/src/ui/ui_local.h
@@ -748,6 +748,13 @@ typedef struct {
const char *modDescr;
} modInfo_t;
+//TA: tremulous menus
+typedef struct
+{
+ const char *text;
+ const char *cmd;
+} tremMenuItem_t;
+//TA: tremulous menus
typedef struct {
displayContextDef_t uiDC;
@@ -808,6 +815,40 @@ typedef struct {
int movieIndex;
int previewMovie;
+//TA: tremulous menus
+ tremMenuItem_t tremTeamList[ 3 ];
+ int tremTeamCount;
+ int tremTeamIndex;
+
+ tremMenuItem_t tremAlienClassList[ 3 ];
+ int tremAlienClassCount;
+ int tremAlienClassIndex;
+
+ tremMenuItem_t tremHumanItemList[ 2 ];
+ int tremHumanItemCount;
+ int tremHumanItemIndex;
+
+ tremMenuItem_t tremHumanMCUBuyList[ 11 ];
+ int tremHumanMCUBuyCount;
+ int tremHumanMCUBuyIndex;
+
+ tremMenuItem_t tremHumanMCUSellList[ 11 ];
+ int tremHumanMCUSellCount;
+ int tremHumanMCUSellIndex;
+
+ tremMenuItem_t tremAlienUpgradeList[ 2 ];
+ int tremAlienUpgradeCount;
+ int tremAlienUpgradeIndex;
+
+ tremMenuItem_t tremAlienBuildList[ 6 ];
+ int tremAlienBuildCount;
+ int tremAlienBuildIndex;
+
+ tremMenuItem_t tremHumanBuildList[ 11 ];
+ int tremHumanBuildCount;
+ int tremHumanBuildIndex;
+//TA: tremulous menus
+
serverStatus_t serverStatus;
// for the showing the status of a server
diff --git a/src/ui/ui_main.c b/src/ui/ui_main.c
index f2ee5ea0..cab77c78 100644
--- a/src/ui/ui_main.c
+++ b/src/ui/ui_main.c
@@ -2813,6 +2813,252 @@ static void UI_StartSinglePlayer() {
/*
===============
+UI_LoadTremTeams
+===============
+*/
+static void UI_LoadTremTeams( )
+{
+ uiInfo.tremTeamCount = 3;
+ uiInfo.tremTeamList[ 0 ].text = String_Alloc( "Aliens" );
+ uiInfo.tremTeamList[ 0 ].cmd = String_Alloc( "cmd team aliens" );
+
+ uiInfo.tremTeamList[ 1 ].text = String_Alloc( "Humans" );
+ uiInfo.tremTeamList[ 1 ].cmd = String_Alloc( "cmd team humans" );
+
+ uiInfo.tremTeamList[ 2 ].text = String_Alloc( "Spectate" );
+ uiInfo.tremTeamList[ 2 ].cmd = String_Alloc( "cmd team spectate" );
+}
+
+/*
+===============
+UI_LoadTremAlienClasses
+===============
+*/
+static void UI_LoadTremAlienClasses( )
+{
+ uiInfo.tremAlienClassCount = 3;
+ uiInfo.tremAlienClassList[ 0 ].text = String_Alloc( "Builder" );
+ uiInfo.tremAlienClassList[ 0 ].cmd = String_Alloc( "cmd class builder" );
+
+ uiInfo.tremAlienClassList[ 1 ].text = String_Alloc( "Advanced Builder" );
+ uiInfo.tremAlienClassList[ 1 ].cmd = String_Alloc( "cmd class builderlevel1" );
+
+ uiInfo.tremAlienClassList[ 2 ].text = String_Alloc( "Offensive" );
+ uiInfo.tremAlienClassList[ 2 ].cmd = String_Alloc( "cmd class offensive" );
+}
+
+/*
+===============
+UI_LoadTremHumanItems
+===============
+*/
+static void UI_LoadTremHumanItems( )
+{
+ uiInfo.tremHumanItemCount = 2;
+ uiInfo.tremHumanItemList[ 0 ].text = String_Alloc( "Rifle" );
+ uiInfo.tremHumanItemList[ 0 ].cmd = String_Alloc( "cmd class rifle" );
+
+ uiInfo.tremHumanItemList[ 1 ].text = String_Alloc( "Construction Kit" );
+ uiInfo.tremHumanItemList[ 1 ].cmd = String_Alloc( "cmd class ckit" );
+}
+
+/*
+===============
+UI_LoadTremHumanMCUBuys
+===============
+*/
+static void UI_LoadTremHumanMCUBuys( )
+{
+ uiInfo.tremHumanMCUBuyCount = 11;
+ uiInfo.tremHumanMCUBuyList[ 0 ].text = String_Alloc( "Rifle" );
+ uiInfo.tremHumanMCUBuyList[ 0 ].cmd = String_Alloc( "cmd buy rifle" );
+
+ uiInfo.tremHumanMCUBuyList[ 1 ].text = String_Alloc( "Chaingun" );
+ uiInfo.tremHumanMCUBuyList[ 1 ].cmd = String_Alloc( "cmd buy chaingun" );
+
+ uiInfo.tremHumanMCUBuyList[ 2 ].text = String_Alloc( "Flamer" );
+ uiInfo.tremHumanMCUBuyList[ 2 ].cmd = String_Alloc( "cmd buy flamer" );
+
+ uiInfo.tremHumanMCUBuyList[ 3 ].text = String_Alloc( "Mass Driver" );
+ uiInfo.tremHumanMCUBuyList[ 3 ].cmd = String_Alloc( "cmd buy mdriver" );
+
+ uiInfo.tremHumanMCUBuyList[ 4 ].text = String_Alloc( "Pulse Rifle" );
+ uiInfo.tremHumanMCUBuyList[ 4 ].cmd = String_Alloc( "cmd buy prifle" );
+
+ uiInfo.tremHumanMCUBuyList[ 5 ].text = String_Alloc( "NVG" );
+ uiInfo.tremHumanMCUBuyList[ 5 ].cmd = String_Alloc( "cmd buy nvg" );
+
+ uiInfo.tremHumanMCUBuyList[ 6 ].text = String_Alloc( "Torch" );
+ uiInfo.tremHumanMCUBuyList[ 6 ].cmd = String_Alloc( "cmd buy torch" );
+
+ uiInfo.tremHumanMCUBuyList[ 7 ].text = String_Alloc( "Chest Armour" );
+ uiInfo.tremHumanMCUBuyList[ 7 ].cmd = String_Alloc( "cmd buy carmour" );
+
+ uiInfo.tremHumanMCUBuyList[ 8 ].text = String_Alloc( "Limb Armour" );
+ uiInfo.tremHumanMCUBuyList[ 8 ].cmd = String_Alloc( "cmd buy larmour" );
+
+ uiInfo.tremHumanMCUBuyList[ 9 ].text = String_Alloc( "Helmet" );
+ uiInfo.tremHumanMCUBuyList[ 9 ].cmd = String_Alloc( "cmd buy helmet" );
+
+ uiInfo.tremHumanMCUBuyList[ 10 ].text = String_Alloc( "Battlesuit" );
+ uiInfo.tremHumanMCUBuyList[ 10 ].cmd = String_Alloc( "cmd buy bsuit" );
+}
+
+/*
+===============
+UI_LoadTremHumanMCUSells
+===============
+*/
+static void UI_LoadTremHumanMCUSells( )
+{
+ int i, j = 0;
+ char carriageCvar[ MAX_TOKEN_CHARS ];
+ char *iterator;
+ char buffer[ MAX_TOKEN_CHARS ];
+ char *bufPointer;
+
+ uiInfo.tremHumanMCUSellCount = 0;
+ trap_Cvar_VariableStringBuffer( "ui_carriage", carriageCvar, sizeof( carriageCvar ) );
+ iterator = carriageCvar;
+
+ //simple parser to give rise to weapon/upgrade list
+ while( iterator && iterator[ 0 ] != '$' )
+ {
+ bufPointer = buffer;
+
+ if( iterator[ 0 ] == 'W' )
+ {
+ iterator++;
+
+ while( iterator[ 0 ] != ' ' )
+ *bufPointer++ = *iterator++;
+
+ *bufPointer++ = '\n';
+
+ i = atoi( buffer );
+ uiInfo.tremHumanMCUSellList[ j ].text = String_Alloc( BG_FindHumanNameForWeapon( i ) );
+ uiInfo.tremHumanMCUSellList[ j++ ].cmd =
+ String_Alloc( va( "cmd sell %s", BG_FindNameForWeapon( i ) ) );
+
+ uiInfo.tremHumanMCUSellCount++;
+ }
+ else if( iterator[ 0 ] == 'U' )
+ {
+ iterator++;
+
+ while( iterator[ 0 ] != ' ' )
+ *bufPointer++ = *iterator++;
+
+ *bufPointer++ = '\n';
+
+ i = atoi( buffer );
+ uiInfo.tremHumanMCUSellList[ j ].text = String_Alloc( BG_FindHumanNameForUpgrade( i ) );
+ uiInfo.tremHumanMCUSellList[ j++ ].cmd =
+ String_Alloc( va( "cmd sell %s", BG_FindNameForUpgrade( i ) ) );
+
+ uiInfo.tremHumanMCUSellCount++;
+ }
+
+ iterator++;
+ }
+}
+
+/*
+===============
+UI_LoadTremAlienUpgrades( )
+===============
+*/
+static void UI_LoadTremAlienUpgrades( )
+{
+ int i, j = 0;
+ int class = trap_Cvar_VariableValue( "ui_currentClass" );
+
+ uiInfo.tremAlienUpgradeCount = 0;
+
+ for( i = PCL_NONE + 1; i < PCL_NUM_CLASSES; i++ )
+ {
+ if( BG_ClassCanEvolveFromTo( class, i ) )
+ {
+ uiInfo.tremAlienUpgradeList[ j ].text = String_Alloc( BG_FindNameForClassNum( i ) );
+ uiInfo.tremAlienUpgradeList[ j++ ].cmd =
+ String_Alloc( va( "cmd class %s", BG_FindNameForClassNum( i ) ) );
+
+ uiInfo.tremAlienUpgradeCount++;
+ }
+ }
+}
+
+/*
+===============
+UI_LoadTremAlienBuilds
+===============
+*/
+static void UI_LoadTremAlienBuilds( )
+{
+ uiInfo.tremAlienBuildCount = 6;
+ uiInfo.tremAlienBuildList[ 0 ].text = String_Alloc( "Egg" );
+ uiInfo.tremAlienBuildList[ 0 ].cmd = String_Alloc( "cmd build bioegg" );
+
+ uiInfo.tremAlienBuildList[ 1 ].text = String_Alloc( "Barricade" );
+ uiInfo.tremAlienBuildList[ 1 ].cmd = String_Alloc( "cmd build barricade" );
+
+ uiInfo.tremAlienBuildList[ 2 ].text = String_Alloc( "Acid Tube" );
+ uiInfo.tremAlienBuildList[ 2 ].cmd = String_Alloc( "cmd build acid_tube" );
+
+ uiInfo.tremAlienBuildList[ 3 ].text = String_Alloc( "Trapper" );
+ uiInfo.tremAlienBuildList[ 3 ].cmd = String_Alloc( "cmd build trapper" );
+
+ uiInfo.tremAlienBuildList[ 4 ].text = String_Alloc( "Hivemind" );
+ uiInfo.tremAlienBuildList[ 4 ].cmd = String_Alloc( "cmd build hivemind" );
+
+ uiInfo.tremAlienBuildList[ 5 ].text = String_Alloc( "Booster" );
+ uiInfo.tremAlienBuildList[ 5 ].cmd = String_Alloc( "cmd build booster" );
+}
+
+/*
+===============
+UI_LoadTremHumanBuilds
+===============
+*/
+static void UI_LoadTremHumanBuilds( )
+{
+ uiInfo.tremHumanBuildCount = 11;
+ uiInfo.tremHumanBuildList[ 0 ].text = String_Alloc( "Replicator" );
+ uiInfo.tremHumanBuildList[ 0 ].cmd = String_Alloc( "cmd build replicator" );
+
+ uiInfo.tremHumanBuildList[ 1 ].text = String_Alloc( "M.C.U." );
+ uiInfo.tremHumanBuildList[ 1 ].cmd = String_Alloc( "cmd build mcu" );
+
+ uiInfo.tremHumanBuildList[ 2 ].text = String_Alloc( "Computer" );
+ uiInfo.tremHumanBuildList[ 2 ].cmd = String_Alloc( "cmd build computer" );
+
+ uiInfo.tremHumanBuildList[ 3 ].text = String_Alloc( "Medistation" );
+ uiInfo.tremHumanBuildList[ 3 ].cmd = String_Alloc( "cmd build medistat" );
+
+ uiInfo.tremHumanBuildList[ 4 ].text = String_Alloc( "Bank" );
+ uiInfo.tremHumanBuildList[ 4 ].cmd = String_Alloc( "cmd build bank" );
+
+ uiInfo.tremHumanBuildList[ 5 ].text = String_Alloc( "Machinegun Turret" );
+ uiInfo.tremHumanBuildList[ 5 ].cmd = String_Alloc( "cmd build mgturret" );
+
+ uiInfo.tremHumanBuildList[ 6 ].text = String_Alloc( "Plasma Turret" );
+ uiInfo.tremHumanBuildList[ 6 ].cmd = String_Alloc( "cmd build plasmaturret" );
+
+ uiInfo.tremHumanBuildList[ 7 ].text = String_Alloc( "Tesla Generator" );
+ uiInfo.tremHumanBuildList[ 7 ].cmd = String_Alloc( "cmd build tesla" );
+
+ uiInfo.tremHumanBuildList[ 8 ].text = String_Alloc( "Floatmine" );
+ uiInfo.tremHumanBuildList[ 8 ].cmd = String_Alloc( "cmd build floatmine" );
+
+ uiInfo.tremHumanBuildList[ 9 ].text = String_Alloc( "Reactor" );
+ uiInfo.tremHumanBuildList[ 9 ].cmd = String_Alloc( "cmd build reactor" );
+
+ uiInfo.tremHumanBuildList[ 10 ].text = String_Alloc( "Repeater" );
+ uiInfo.tremHumanBuildList[ 10 ].cmd = String_Alloc( "cmd build repeater" );
+}
+
+/*
+===============
UI_LoadMods
===============
*/
@@ -3297,7 +3543,44 @@ static void UI_RunMenuScript(char **args) {
UI_LoadMovies();
} else if (Q_stricmp(name, "LoadMods") == 0) {
UI_LoadMods();
- } else if (Q_stricmp(name, "playMovie") == 0) {
+ }
+
+//TA: tremulous menus
+ else if( Q_stricmp( name, "LoadTeams" ) == 0 )
+ UI_LoadTremTeams( );
+ else if( Q_stricmp( name, "JoinTeam" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremTeamList[ uiInfo.tremTeamIndex ].cmd );
+ else if( Q_stricmp( name, "LoadHumanItems" ) == 0 )
+ UI_LoadTremHumanItems( );
+ else if( Q_stricmp( name, "SpawnWithHumanItem" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremHumanItemList[ uiInfo.tremHumanItemIndex ].cmd );
+ else if( Q_stricmp( name, "LoadAlienClasses" ) == 0 )
+ UI_LoadTremAlienClasses( );
+ else if( Q_stricmp( name, "SpawnAsAlienClass" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremAlienClassList[ uiInfo.tremAlienClassIndex ].cmd );
+ else if( Q_stricmp( name, "LoadHumanMCUBuys" ) == 0 )
+ UI_LoadTremHumanMCUBuys( );
+ else if( Q_stricmp( name, "BuyFromMCU" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremHumanMCUBuyList[ uiInfo.tremHumanMCUBuyIndex ].cmd );
+ else if( Q_stricmp( name, "LoadHumanMCUSells" ) == 0 )
+ UI_LoadTremHumanMCUSells( );
+ else if( Q_stricmp( name, "SellToMCU" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremHumanMCUSellList[ uiInfo.tremHumanMCUSellIndex ].cmd );
+ else if( Q_stricmp( name, "LoadAlienUpgrades" ) == 0 )
+ UI_LoadTremAlienUpgrades( );
+ else if( Q_stricmp( name, "UpgradeToNewClass" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremAlienUpgradeList[ uiInfo.tremAlienUpgradeIndex ].cmd );
+ else if( Q_stricmp( name, "LoadAlienBuilds" ) == 0 )
+ UI_LoadTremAlienBuilds( );
+ else if( Q_stricmp( name, "BuildAlienBuildable" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremAlienBuildList[ uiInfo.tremAlienBuildIndex ].cmd );
+ else if( Q_stricmp( name, "LoadHumanBuilds" ) == 0 )
+ UI_LoadTremHumanBuilds( );
+ else if( Q_stricmp( name, "BuildHumanBuildable" ) == 0 )
+ trap_Cmd_ExecuteText( EXEC_APPEND, uiInfo.tremHumanBuildList[ uiInfo.tremHumanBuildIndex ].cmd );
+//TA: tremulous menus
+
+ else if (Q_stricmp(name, "playMovie") == 0) {
if (uiInfo.previewMovie >= 0) {
trap_CIN_StopCinematic(uiInfo.previewMovie);
}
@@ -4218,6 +4501,26 @@ static int UI_FeederCount(float feederID) {
} else if (feederID == FEEDER_DEMOS) {
return uiInfo.demoCount;
}
+
+//TA: tremulous menus
+ else if( feederID == FEEDER_TREMTEAMS )
+ return uiInfo.tremTeamCount;
+ else if( feederID == FEEDER_TREMHUMANITEMS )
+ return uiInfo.tremHumanItemCount;
+ else if( feederID == FEEDER_TREMALIENCLASSES )
+ return uiInfo.tremAlienClassCount;
+ else if( feederID == FEEDER_TREMHUMANMCUBUY )
+ return uiInfo.tremHumanMCUBuyCount;
+ else if( feederID == FEEDER_TREMHUMANMCUSELL )
+ return uiInfo.tremHumanMCUSellCount;
+ else if( feederID == FEEDER_TREMALIENUPGRADE )
+ return uiInfo.tremAlienUpgradeCount;
+ else if( feederID == FEEDER_TREMALIENBUILD )
+ return uiInfo.tremAlienBuildCount;
+ else if( feederID == FEEDER_TREMHUMANBUILD )
+ return uiInfo.tremHumanBuildCount;
+//TA: tremulous menus
+
return 0;
}
@@ -4383,6 +4686,50 @@ static const char *UI_FeederItemText(float feederID, int index, int column, qhan
return uiInfo.demoList[index];
}
}
+
+//TA: tremulous menus
+ else if( feederID == FEEDER_TREMTEAMS )
+ {
+ if( index >= 0 && index < uiInfo.tremTeamCount )
+ return uiInfo.tremTeamList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMHUMANITEMS )
+ {
+ if( index >= 0 && index < uiInfo.tremHumanItemCount )
+ return uiInfo.tremHumanItemList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMALIENCLASSES )
+ {
+ if( index >= 0 && index < uiInfo.tremAlienClassCount )
+ return uiInfo.tremAlienClassList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMHUMANMCUBUY )
+ {
+ if( index >= 0 && index < uiInfo.tremHumanMCUBuyCount )
+ return uiInfo.tremHumanMCUBuyList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMHUMANMCUSELL )
+ {
+ if( index >= 0 && index < uiInfo.tremHumanMCUSellCount )
+ return uiInfo.tremHumanMCUSellList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMALIENUPGRADE )
+ {
+ if( index >= 0 && index < uiInfo.tremAlienUpgradeCount )
+ return uiInfo.tremAlienUpgradeList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMALIENBUILD )
+ {
+ if( index >= 0 && index < uiInfo.tremAlienBuildCount )
+ return uiInfo.tremAlienBuildList[ index ].text;
+ }
+ else if( feederID == FEEDER_TREMHUMANBUILD )
+ {
+ if( index >= 0 && index < uiInfo.tremHumanBuildCount )
+ return uiInfo.tremHumanBuildList[ index ].text;
+ }
+//TA: tremulous menus
+
return "";
}
@@ -4496,6 +4843,25 @@ static void UI_FeederSelection(float feederID, int index) {
} else if (feederID == FEEDER_DEMOS) {
uiInfo.demoIndex = index;
}
+
+//TA: tremulous menus
+ else if( feederID == FEEDER_TREMTEAMS )
+ uiInfo.tremTeamIndex = index;
+ else if( feederID == FEEDER_TREMHUMANITEMS )
+ uiInfo.tremHumanItemIndex = index;
+ else if( feederID == FEEDER_TREMALIENCLASSES )
+ uiInfo.tremAlienClassIndex = index;
+ else if( feederID == FEEDER_TREMHUMANMCUBUY )
+ uiInfo.tremHumanMCUBuyIndex = index;
+ else if( feederID == FEEDER_TREMHUMANMCUSELL )
+ uiInfo.tremHumanMCUSellIndex = index;
+ else if( feederID == FEEDER_TREMALIENUPGRADE )
+ uiInfo.tremAlienUpgradeIndex = index;
+ else if( feederID == FEEDER_TREMALIENBUILD )
+ uiInfo.tremAlienBuildIndex = index;
+ else if( feederID == FEEDER_TREMHUMANBUILD )
+ uiInfo.tremHumanBuildIndex = index;
+//TA: tremulous menus
}
static qboolean Team_Parse(char **p) {