// // CPT operator / SondeerGame // This source file is (c) by Deltares. // - October 2014 // //============================================================================= // GeoHUDMenu // Started using MyFirstHUD (FROM UDN) // // IMPORTANT: FOR LOADING SCREEN WHEN STARTING FROM THE MENU HANDLE HERE // FOR LOADING SCREEN WHEN SWITCHING LEVELS HANDLE GeoHUD.UC // //============================================================================= // Date Id Modification // 2006-09-18 gui New Menu HUD // 2006-10-26 The Shortened Dutch startup tip // 2006-12-04 bas Changed dutch loading message // 2006-12-12 gui Informations in Complete exercise // 2007-02-07 gui Image for single exercise // 2007-06-07 wsl Images are square and centred on screen // 2007-06-08 wsl Images accompanying tip 0 are centred // 2007-07-25 mcb Modified the level loading tips // 2008-02-12 wsl Corrected English texts /// jln - 04-08-2008 SondeerMeester version //============================================================================= class GeoHUDMenu extends HUD; #exec OBJ LOAD FILE=GeoDelft.utx var GeoPlayerController PlayerOwner; var() Material TitleMaterial, BackPicture; var() Material KeysImage; var() Material Mouse; var Material LevelPreview; var string NL_LoadingMessage, EN_LoadingMessage, EN_Exercise, NL_Exercise; var array NL_Tip, EN_Tip; var int ColorNumber; var bool IsColorUp; //============================================================================= // Date Id Modification // 2006-10-26 The Created this header //============================================================================= simulated function PostBeginPlay() { Super.PostBeginPlay(); PlayerOwner = GeoPlayerController(Owner); SaveConfig(); } // ************************************** // Date Id Modification // 2006-10-06 gui Redo Draw the Level Action for both languages // 2006-12-12 gui New information for loading in complete exercise // ************************************** function bool DrawLevelAction( canvas C ) { local string BigMessage; local color WhiteColor, RedColor, PurpleColor; local float ImageX, ImageY; local Material matImage; local float CX,CY, LeveLImageScale; local string TipMsg; local int irand; local string tex; local GeoPlayerController GeoPC; GeoPC = GeoPlayerController(Owner); WhiteColor = class'Canvas'.static.MakeColor(255,255,255); RedColor = class'Canvas'.static.MakeColor(110,66,66); PurpleColor = class'Canvas'.static.MakeColor(160,32,240); if (Level.LevelAction == LEVACT_None ) { if ( (Level.Pauser != None) && (Level.TimeSeconds > Level.PauseDelay + 0.2) ) BigMessage = IL8N("PausedMessage", "GeoSimulator.GeoHud"); // Add pauser name? else { BigMessage = ""; return false; } } // BACKGROUND ON LOADING SCREEN C.DrawColor = WhiteColor; C.SetPos(0.0, 0.0); ImageX=C.ClipX / 1024.0; ImageY=C.ClipY / 1024.0; C.DrawTileScaled( BackPicture, ImageX, ImageY); if ( Level.LevelAction == LEVACT_Loading ) { /// Draw background image: irand = (Rand(6) + 1); tex = "sondeermeester.Screenshots.screenshot0" $ irand; if (irand == 5) { if (GeoPC.GetCompany() ~= "geomil") { /// If 5, and geomil, show different image: tex = "sondeermeester.Screenshots.screenshot_geomil"; } } matImage = Material(DynamicLoadObject(tex, class'Material')); LevelImageScale = C.ClipY / 1024.0 / 2.5; CX = (C.ClipX / 2) - (LevelImageScale * 1024.0 / 2); CY = 0.3 * C.ClipY; C.SetPos(CX, CY); C.DrawTileScaled( matImage, LevelImageScale, LevelImageScale); /// Loading tip: // TIPS TipMsg = IL8N("text" $ ((Rand(6)) + 1), "loading"); C.SetPos(0.0, 0.0); if (C.ClipX < 1024) UseSmallFont(C); else UseMediumFont(C); C.DrawTextJustified(TipMsg, 1, 0, 0.45 * C.ClipY, C.ClipX, C.ClipY); BigMessage = IL8N("LoadingMessage", "GeoSimulator.GeoHud"); } if ( Level.LevelAction == LEVACT_Saving ) BigMessage = IL8N("SavingMessage", "GeoSimulator.GeoHud"); else if ( Level.LevelAction == LEVACT_Connecting ) BigMessage = IL8N("ConnectingMessage", "GeoSimulator.GeoHud"); else if ( Level.LevelAction == LEVACT_Precaching ) BigMessage = IL8N("PrecachingMessage", "GeoSimulator.GeoHud"); if ( BigMessage != "" ) { C.DrawColor = PurpleColor; C.Style = ERenderStyle.STY_Normal; UseLargeFont(C); PrintActionMessage(C, BigMessage); return true; } return false; } /// jln - 08-08-2008 Internationalize an item (IL8N); function string IL8N(string item, optional string section) { local string Language; local GeoPlayercontroller GeoPC; GeoPC = GeoPlayerController(Owner); Language = "Language_" $ GeoPC.PlayerLanguage; if (Len(section) > 0) { return Localize( section, item , Language); } else { return Localize(String(self.Class), item , Language); } } //============================================================================= // Print a centered level action message with a drop shadow. // Date Id Modification // 2006-10-26 The Created this header //============================================================================= function PrintActionMessage( Canvas C, string BigMessage ) { local float XL, YL; local color RedColor, PurpleColor, GreenColor; RedColor = class'Canvas'.static.MakeColor(110,66,66); PurpleColor = class'Canvas'.static.MakeColor(50,10,70); GreenColor = class'Canvas'.static.MakeColor(80,120,50); if ( Len(BigMessage) > 10 ) UseLargeFont(C); else UseHugeFont(C); C.bCenter = false; C.StrLen( BigMessage, XL, YL ); C.SetPos(0.5 * (C.ClipX - XL) + 1, 0.96 * C.ClipY - YL * 0.95 + 1); C.SetDrawColor(0,0,0); C.DrawText( BigMessage, false ); C.SetPos(0.5 * (C.ClipX - XL), 0.96 * C.ClipY - YL * 0.95); C.DrawColor = GreenColor; C.DrawText( BigMessage, false ); } //============================================================================= // Date Id Modification // 2006-10-26 The Created this header // 2006-10-26 The Shortened Dutch startup tip //============================================================================= defaultproperties { TitleMaterial=Material'GUIContent.SquareBoxA' BackPicture=Material'GeoDelft.Backgrounds.BackGround_cabine4' KeysImage=Material'InGameMenuImagesT.ImageButtons.ArrowKeys' Mouse=Material'InGameMenuImagesT.ImageButtons.Mouse' LevelPreview=Material'GeoDelft.MapPreview.LevelPreview' SmallFont=Font'GeoFonts.SmallFontTex2' MedFont=Font'GeoFonts.NormalFontTex2' BigFont=Font'GeoFonts.LargeFontTex2' LargeFont=Font'GeoFonts.HeaderFontTex1' FontArrayNames(0)="GeoFonts.LargeFontTex3" FontArrayNames(1)="GeoFonts.LargeFontTex2" FontArrayNames(2)="GeoFonts.LargeFontTex2" FontArrayNames(3)="GeoFonts.LargeFontTex1" FontArrayNames(4)="GeoFonts.NormalFontTex2" FontArrayNames(5)="GeoFonts.NormalFontTex1" FontArrayNames(6)="GeoFonts.SmallFontTex3" FontArrayNames(7)="GeoFonts.SmallFontTex2" FontArrayNames(8)="GeoFonts.SmallFontTex1" FontScreenWidthMedium(0)=1600 FontScreenWidthMedium(1)=1600 FontScreenWidthMedium(2)=1600 FontScreenWidthMedium(3)=1600 FontScreenWidthMedium(4)=1280 FontScreenWidthMedium(5)=1024 FontScreenWidthMedium(6)=800 FontScreenWidthMedium(7)=640 FontScreenWidthMedium(8)=0 ConsoleMessageCount=4 ConsoleFontSize=5 MessageFontOffset=0 }