class TestVignette extends Vignette; #exec OBJ LOAD FILE= // if _RO_ // else //#exec OBJ LOAD FILE=InterfaceContent.utx // end if _RO_InterfaceContent.utx var() config array Backgrounds; var() transient texture Background; var() Texture Logo; var() float LogoPosX, LogoPosY; var() float LogoScaleX, LogoScaleY; var() localized String LoadingFontName; var() font LoadingFontFont; var() localized String LoadingString; var() float LoadingPosX, LoadingPosY, MapPosY; var() EDrawPivot LoadingPivot; var() Color LoadingColor; simulated event Init() { local int i; Super.PreBeginPlay(); i = Rand( Backgrounds.Length ); Background = Texture( DynamicLoadObject( Backgrounds[i], class'Texture') ); if( Background == none ) log( Backgrounds[i] $" not found for Vignette", 'Error' ); } simulated function ScreenText(Canvas C, String Text, float posX, float posY, float ScaleX,float ScaleY) { C.Style = ERenderStyle.STY_Alpha; C.Font = LoadLoadingFont(); C.DrawColor = LoadingColor; C.FontScaleX = ScaleX; C.FontScaleY = ScaleY; C.DrawScreenText( Text, posX, posY, LoadingPivot ); } simulated function font LoadLoadingFont() { if( LoadingFontFont == None ) { LoadingFontFont = Font(DynamicLoadObject(LoadingFontName, class'Font')); if( LoadingFontFont == None ) Log("Warning: "$Self$" Couldn't dynamically load font "$LoadingFontName); } return LoadingFontFont; } simulated event DrawVignette( Canvas C, float Progress ) { local float ResScaleX, ResScaleY; local float PosX, PosY, DX, DY; C.Reset(); ResScaleX = C.SizeX / 640.0; ResScaleY = C.SizeY / 480.0; C.Style = ERenderStyle.STY_Alpha; C.DrawColor = C.MakeColor( 255, 255, 255 ); C.SetPos( 0, 0 ); C.DrawTile( Background, C.SizeX, C.SizeY, 0, 0, Background.USize, Background.VSize ); DX = Logo.USize * ResScaleX * LogoScaleX; DY = Logo.VSize * ResScaleY * LogoScaleY; PosX = (LogoPosX * C.SizeX) - (DX * 0.5); PosY = (LogoPosY * C.SizeY) - (DY * 0.5); C.SetPos( PosX, PosY ); C.Style = ERenderStyle.STY_Alpha; C.DrawTile( Logo, DX, DY, 0, 0, Logo.USize, Logo.VSize ); ScreenText( C, LoadingString, LoadingPosX, LoadingPosY, ResScaleX*0.5, ResScaleY*0.5 ); if (MapName~="endgame.ut2" || MapName~="ut2-intro.ut2" || caps(Left(MapName,3))=="TUT") return; ScreenText( C, MapName, LoadingPosX, MapPosY, ResScaleX, ResScaleY ); } defaultproperties { // ifndef _RO_ //Logo=Texture'InterfaceContent.Logos.Logo' LogoScaleX=0.5 LogoScaleY=0.5 LogoPosX=0.49 LogoPosY=0.25 LoadingFontName="ROFonts.ROMain36"//"ROFonts_old.Arial28"//"UT2003Fonts.FontLarge" LoadingString=". . . L O A D I N G . . ." LoadingPosX=0.5 LoadingPosY=0.65 MapPosY=0.725 LoadingColor=(R=255,G=255,B=255,A=255) LoadingPivot=DP_MiddleMiddle }