Skip to content

Commit

Permalink
Nuke language list data source
Browse files Browse the repository at this point in the history
Now we use a manually curated list, inside of including every language
with a translation file. That list is written in the RML files.
  • Loading branch information
slipher committed Oct 1, 2024
1 parent 529ab3b commit ae0b43d
Showing 1 changed file with 0 additions and 133 deletions.
133 changes: 0 additions & 133 deletions src/cgame/cg_rocket_datasource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 )
Expand Down Expand Up @@ -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 },
Expand Down

0 comments on commit ae0b43d

Please sign in to comment.