diff --git a/src/cgame/cg_rocket_datasource.cpp b/src/cgame/cg_rocket_datasource.cpp index 6b80524f251..99907e449e0 100644 --- a/src/cgame/cg_rocket_datasource.cpp +++ b/src/cgame/cg_rocket_datasource.cpp @@ -592,138 +592,6 @@ static void CG_Rocket_CleanUpResolutionList( const char* ) rocketInfo.data.resolutions.clear(); } -static void AddToLanguageList( char *name, char *lang ) -{ - language_t *node; - - if ( rocketInfo.data.languageCount == MAX_LANGUAGES ) - { - return; - } - - node = &rocketInfo.data.languages[ rocketInfo.data.languageCount ]; - - node->name = name; - node->lang = lang; - rocketInfo.data.languageCount++; -} - -static void CG_Rocket_SetLanguageListLanguage( const char*, int index ) -{ - if ( index > 0 && index < rocketInfo.data.languageCount ) - { - rocketInfo.data.languageIndex = index; - trap_Cvar_Set( "language", rocketInfo.data.languages[ index ].lang ); - } -} - -// FIXME: use COM_Parse or something instead of this way -static void CG_Rocket_BuildLanguageList( const char* ) -{ - char buf[ MAX_STRING_CHARS ], temp[ MAX_TOKEN_CHARS ], language[ 32 ]; - int index = 0, lang = 0; - bool quoted = false; - char *p; - - trap_Cvar_VariableStringBuffer( "trans_languages", buf, sizeof( buf ) ); - trap_Cvar_VariableStringBuffer( "language", language, sizeof( language ) ); - - p = buf; - memset( &temp, 0, sizeof( temp ) ); - - while ( p && *p ) - { - if ( *p == '"' && quoted ) - { - temp[ index ] = '\0'; - AddToLanguageList( BG_strdup( temp ), nullptr ); - quoted = false; - index = 0; - } - - else if ( *p == '"' || quoted ) - { - if ( !quoted ) - { - p++; - } - - quoted = true; - temp[ index++ ] = *p; - } - - p++; - } - - trap_Cvar_VariableStringBuffer( "trans_encodings", buf, sizeof( buf ) ); - p = buf; - memset( &temp, 0, sizeof( temp ) ); - - while ( p && *p ) - { - if ( *p == '"' && quoted ) - { - temp[ index ] = '\0'; - - // Set the current language index - if( !Q_stricmp( temp, language ) ) - { - rocketInfo.data.languageIndex = lang; - } - - rocketInfo.data.languages[ lang++ ].lang = BG_strdup( temp ); - quoted = false; - index = 0; - } - - else if ( *p == '"' || quoted ) - { - if ( !quoted ) - { - p++; - } - - quoted = true; - temp[ index++ ] = *p; - } - - p++; - } - - buf[ 0 ] = '\0'; - - for ( index = 0; index < rocketInfo.data.languageCount; ++index ) - { - Info_SetValueForKey( buf, "name", rocketInfo.data.languages[ index ].name, false ); - Info_SetValueForKey( buf, "lang", rocketInfo.data.languages[ index ].lang, false ); - - Rocket_DSAddRow( "languages", "default", buf ); - } -} - -static int CG_Rocket_GetLanguageListIndex( const char* ) -{ - if ( !rocketInfo.data.languageCount ) - { - CG_Rocket_BuildLanguageList( nullptr ); - } - - return rocketInfo.data.languageIndex; -} - -static void CG_Rocket_CleanUpLanguageList( const char* ) -{ - int i; - - for ( i = 0; i < rocketInfo.data.languageCount; ++i ) - { - BG_Free( rocketInfo.data.languages[ i ].lang ); - BG_Free( rocketInfo.data.languages[ i ].name ); - } - - rocketInfo.data.languageCount = 0; -} - static void AddToAlOutputs( char *name ) { if ( rocketInfo.data.alOutputsCount == MAX_OUTPUTS ) @@ -1622,7 +1490,6 @@ static const dataSourceCmd_t dataSourceCmdList[] = { "beaconList", &CG_Rocket_BuildBeaconList, &nullSortFunc, &nullCleanFunc, &nullSetFunc, &nullFilterFunc, &nullExecFunc, &nullGetFunc }, { "demoList", &CG_Rocket_BuildDemoList, &nullSortFunc, &CG_Rocket_CleanUpDemoList, &CG_Rocket_SetDemoListDemo, &nullFilterFunc, &CG_Rocket_ExecDemoList, &nullGetFunc }, { "humanBuildList", &CG_Rocket_BuildHumanBuildList, &nullSortFunc, &nullCleanFunc, &nullSetFunc, &nullFilterFunc, &nullExecFunc, &nullGetFunc }, - { "languages", &CG_Rocket_BuildLanguageList, &nullSortFunc, &CG_Rocket_CleanUpLanguageList, &CG_Rocket_SetLanguageListLanguage, &nullFilterFunc, &nullExecFunc, &CG_Rocket_GetLanguageListIndex }, { "mapList", &CG_Rocket_BuildMapList, &nullSortFunc, &CG_Rocket_CleanUpMapList, &CG_Rocket_SetMapListIndex, &nullFilterFunc, &nullExecFunc, &nullGetFunc }, { "modList", &CG_Rocket_BuildModList, &nullSortFunc, &CG_Rocket_CleanUpModList, &CG_Rocket_SetModListMod, &nullFilterFunc, &nullExecFunc, &nullGetFunc }, { "playerList", &CG_Rocket_BuildPlayerList, &CG_Rocket_SortPlayerList, &CG_Rocket_CleanUpPlayerList, &CG_Rocket_SetPlayerListPlayer, &nullFilterFunc, &nullExecFunc, &nullGetFunc },