diff --git a/Templates/BaseGame/game/core/utility/scripts/helperFunctions.tscript b/Templates/BaseGame/game/core/utility/scripts/helperFunctions.tscript index 7807f1238..770413aab 100644 --- a/Templates/BaseGame/game/core/utility/scripts/helperFunctions.tscript +++ b/Templates/BaseGame/game/core/utility/scripts/helperFunctions.tscript @@ -641,13 +641,32 @@ function switchControlObject(%client, %newControlEntity) %control.setConnectionControlObject(%client); } -function populateAllFonts(%font) +function populateAllFonts() { - populateFontCacheRange(%font,14,0,65535); - populateFontCacheRange(%font,18,0,65535); - populateFontCacheRange(%font,24,0,65535); - populateFontCacheRange(%font,32,0,65535); - populateFontCacheRange(%font,36,0,65535); + %fontarray = new ArrayObject(); + foreach( %obj in GuiDataGroup ) + { + if( !%obj.isMemberOfClass( "GuiControlProfile" ) ) + continue; + %fontarray.push_back(%obj.fontType,%obj.fontSize); + } + %fontarray.uniqueKey(); + + %fontarrayCount = %fontarray.count(); + + echo("Generating "@ %fontarrayCount @" fonts"); + for (%i=0;%i<%fontarrayCount;%i++) + { + %font = %fontarray.getKey(%i); + %hieght = %fontarray.getValue(%i); + schedule(1000*%i,0,"delayedFontsPopulation",%font, %hieght, %i+1); + } + %fontarray.delete(); +} +function delayedFontsPopulation(%font, %hieght, %fontNum) +{ + echo("Font ["@ %fontNum @"] Generating "@ %font SPC %hieght); + populateFontCacheRange(%font,%hieght,1,65535); } //------------------------------------------------------------------------------