@@ -311,7 +311,7 @@ void GameStrings::Compile()
311
311
}
312
312
313
313
/* * The currently loaded game strings. */
314
- std::shared_ptr<GameStrings> _current_data = nullptr ;
314
+ /* static */ std::shared_ptr<GameStrings> GameStrings::data = nullptr ;
315
315
316
316
/* *
317
317
* Get the string pointer of a particular game string.
@@ -320,8 +320,8 @@ std::shared_ptr<GameStrings> _current_data = nullptr;
320
320
*/
321
321
std::string_view GetGameStringPtr (StringIndexInTab id)
322
322
{
323
- if (_current_data == nullptr || _current_data ->cur_language == nullptr || id.base () >= _current_data ->cur_language ->lines .size ()) return GetStringPtr (STR_UNDEFINED);
324
- return _current_data ->cur_language ->lines [id];
323
+ if (GameStrings::data == nullptr || GameStrings::data ->cur_language == nullptr || id.base () >= GameStrings::data ->cur_language ->lines .size ()) return GetStringPtr (STR_UNDEFINED);
324
+ return GameStrings::data ->cur_language ->lines [id];
325
325
}
326
326
327
327
/* *
@@ -334,8 +334,8 @@ const StringParams &GetGameStringParams(StringIndexInTab id)
334
334
/* An empty result for STR_UNDEFINED. */
335
335
static StringParams empty;
336
336
337
- if (id.base () >= _current_data ->string_params .size ()) return empty;
338
- return _current_data ->string_params [id];
337
+ if (id.base () >= GameStrings::data ->string_params .size ()) return empty;
338
+ return GameStrings::data ->string_params [id];
339
339
}
340
340
341
341
/* *
@@ -348,8 +348,8 @@ const std::string &GetGameStringName(StringIndexInTab id)
348
348
/* The name for STR_UNDEFINED. */
349
349
static const std::string undefined = " STR_UNDEFINED" ;
350
350
351
- if (id.base () >= _current_data ->string_names .size ()) return undefined;
352
- return _current_data ->string_names [id];
351
+ if (id.base () >= GameStrings::data ->string_names .size ()) return undefined;
352
+ return GameStrings::data ->string_names [id];
353
353
}
354
354
355
355
/* *
@@ -358,16 +358,16 @@ const std::string &GetGameStringName(StringIndexInTab id)
358
358
*/
359
359
void RegisterGameTranslation (Squirrel *engine)
360
360
{
361
- _current_data = LoadTranslations ();
362
- if (_current_data == nullptr ) return ;
361
+ GameStrings::data = LoadTranslations ();
362
+ if (GameStrings::data == nullptr ) return ;
363
363
364
364
HSQUIRRELVM vm = engine->GetVM ();
365
365
sq_pushroottable (vm);
366
366
sq_pushstring (vm, " GSText" , -1 );
367
367
if (SQ_FAILED (sq_get (vm, -2 ))) return ;
368
368
369
369
int idx = 0 ;
370
- for (const auto &p : _current_data ->string_names ) {
370
+ for (const auto &p : GameStrings::data ->string_names ) {
371
371
sq_pushstring (vm, p, -1 );
372
372
sq_pushinteger (vm, idx);
373
373
sq_rawset (vm, -3 );
@@ -384,15 +384,15 @@ void RegisterGameTranslation(Squirrel *engine)
384
384
*/
385
385
void ReconsiderGameScriptLanguage ()
386
386
{
387
- if (_current_data == nullptr ) return ;
387
+ if (GameStrings::data == nullptr ) return ;
388
388
389
389
std::string language = FS2OTTD (_current_language->file .stem ());
390
- for (auto &p : _current_data ->compiled_strings ) {
390
+ for (auto &p : GameStrings::data ->compiled_strings ) {
391
391
if (p.language == language) {
392
- _current_data ->cur_language = &p;
392
+ GameStrings::data ->cur_language = &p;
393
393
return ;
394
394
}
395
395
}
396
396
397
- _current_data ->cur_language = &_current_data ->compiled_strings [0 ];
397
+ GameStrings::data ->cur_language = &GameStrings::data ->compiled_strings [0 ];
398
398
}
0 commit comments