// September 2015 // Levee Patroller / Dijk Patrouille // This source file is (c) by Deltares. This source file is open source but only available to select users. Do not redistribute without written permission of Stichting Deltares, Delft, The Netherlands. // This header has been automatically generated. //============================================================================= // Class for MAIN MENU (without background) // The first menu of the game, where you can choose whether you are going to do a trainingslevel, single exercise etc... // - 2 languages // ------------------------------------------------------------ // // © 2006, Geodelft // // Date Id Modification // 2006-10-09 The Created this header // 2006-10-10 The Added correct init for traininglevel // 2006-10-28 gui Bug with language corrected // 2006-11-17 The Disabled language selection // 2006-11-17 The Disabled gamestory // 2006-11-17 The Set version to 1.0.1.1 // 2006-11-17 The Formatted code // 2006-11-29 The Corrected copyright notice // 2006-12-11 The Set version to 1.0.1.2 // 2006-12-11 gui Complete exercise added again (for testing) // 2006-12-13 The Set version to 1.0.2.0 // 2007-02-02 The Added IsReleaseVersion and set it to true // 2007-03-15 The Added IsSingleLevelDemoVersionEN and set it to true // 2007-04-13 The Added IsSingleLevelDemoVersionNL and set it to true // 2007-04-16 The Disabled Single Level Demo // 2007-05-30 wsl Removed AllowClose-OnCanClose system // 2007-05-30 wsl Added bIgnoreEsc system to swallow the Esc-keyevents from submenus //============================================================================= class MainMenuOptions extends GUIPage config(GeoUser); #exec OBJ LOAD FILE=GUIContent.utx var bool bIgnoreEsc; var bool IsSingleLevelDemoVersionEN; var bool IsSingleLevelDemoVersionNL; var bool IsReleaseVersion; var Tab_InstantActionMain MapTab; var Tab_PlayerSettings pPlayer; var float SavedPitch; var automated GUIButton but_Training, but_Story, but_Single, but_Options, but_About, but_Quit, but_MiniGames, but_Scenario; var automated GUIImage but_Language; var automated GUIImage ima_MainLogo; var automated GUITitleBar lab_Hint; var automated GuiLabel lab_version; // New user entry info: var automated GuiLabel lab_username; var automated GuiLabel lab_password; var automated moEditBox txt_username; var automated moEditBox txt_password; var automated GUIButton btn_login; var automated GuiLabel lbl_error; // Buttons in 2 languages var string EN_but_Training, EN_but_Single, EN_but_Story, EN_but_Options, EN_but_About, EN_but_Quit, EN_but_Language, EN_but_MiniGames, NL_but_Training, NL_but_Single, NL_but_Story, NL_but_Options, NL_but_About, NL_but_Quit, NL_but_Language, NL_but_MiniGames; // Hints in 2 languages var string EN_hint_Training, EN_hint_Single, EN_hint_Story, EN_hint_Options, EN_hint_About, EN_hint_Quit, EN_hint_Language, EN_hint_MiniGames, NL_hint_Training, NL_hint_Single, NL_hint_Story, NL_hint_Options, NL_hint_About, NL_hint_Quit, NL_hint_Language, NL_hint_MiniGames, NL_hint_inloggen, EN_hint_inloggen, NL_hint_password, NL_hint_username, EN_hint_password, EN_hint_username; var string EN_Version, NL_Version; var string NL_but_Scenario, EN_but_Scenario, NL_hint_Scenario, EN_hint_Scenario; var bool AllowSelect; // To make sure that on sub menus appear can't click on options var GeoPlayerController GeoPC; //============================================================================= // Date Id Modification // 2006-11-17 The Created this header // 2007-02-02 The Added IsReleaseVersion and set it to true // 2007-03-15 The Added IsSingleLevelDemoVersionEN and set it to true // 2007-04-13 The Added IsSingleLevelDemoVersionNL // 2007-06-22 gui Added option for Winning loading screen //============================================================================= function InitComponent(GUIController MyController, GUIComponent MyOwner) { // local string playername; // local int matchname; // local int i; // local string file; // local string mapname; Super.InitComponent(MyController, MyOwner); but_Language.SetFocus(but_Language); if (IsSingleLevelDemoVersionEN) { if (GeoPlayerController(PlayerOwner()).Dutch) { GeoPlayerController(PlayerOwner()).ChangeLanguage(); } } if (IsSingleLevelDemoVersionNL) { if (!GeoPlayerController(PlayerOwner()).Dutch) { GeoPlayerController(PlayerOwner()).ChangeLanguage(); } } UpdateLanguage(); if (IsReleaseVersion || IsSingleLevelDemoVersionEN || IsSingleLevelDemoVersionNL) { but_Language.SetVisibility(false); } else { but_Language.SetVisibility(true); } /// jln - 13-10-2008 /// Force button on? if (bool(Localize("System", "ShowLanguageButton", "GeoSimulator")) == true) { but_Language.SetVisibility(true); } else { but_Language.SetVisibility(false); } /// Force language? if (Localize("System", "ForceLang", "GeoSimulator") == "EN") { if (GeoPlayerController(PlayerOwner()).Dutch) { GeoPlayerController(PlayerOwner()).ChangeLanguage(); } } GeoPC = GeoPlayerController(PlayerOwner()); // Try to open scenario list with custom scenarios: /* for (i = 0; i < 999; i++) { file = (Localize("Scenarios", "Scenario" $ i, "ScenarioList")); ======= // Try to open scenario list with custom scenarios: for (i = 0; i < 999; i++) { file = (Localize("Scenarios", "Scenario" $ i, "ScenarioList")); >>>>>>> .r2653 <<<<<<< .mine // We use the "error message" to bail out early. if (InStr(file, "?int?") > 0) { break; } if (Len(file) > 0) { Log("scenario: " $ file); // Remove extension from filename: file = Left(file, Len(file)-4); // Try to load mapname: mapname = (Localize("Scenario", "Name",file)); Log("Title: " $ mapname); } else { // Stop loading scenarios: break; } } */ /* // We use the "error message" to bail out early. if (InStr(file, "?int?") > 0) { break; } if (Len(file) > 0) { Log("scenario: " $ file); // Remove extension from filename: file = Left(file, Len(file)-4); // Try to load mapname: mapname = (Localize("Scenario", "Name",file)); Log("Title: " $ mapname); } else { // Stop loading scenarios: break; } } */ /// Slomo 1 at startup //PlayerOwner().ConsoleCommand("slomo 1"); if (GeoPC.issignedin == true) { // Load scenarios from webserver: LoadScenarios(); } //txt_username.SetText("almadmin"); //txt_password.SetText("almar"); txt_password.MaskText(true); // PlayerOwner().SetName(PName); } function LoadScenarios() { if (GeoPC.scenarionames.Length == 0) { GeoPlayerController(PlayerOwner()).SuccesCall = ScenarioSucces; GeoPlayerController(PlayerOwner()).FailCall = ScenarioFailure; GeoPlayerController(PlayerOwner()).GetScenarios(); } } function ScenarioSucces( string id ) { } function ScenarioFailure( ) { } function bool forced_name() { if (PlayerOwner().PlayerReplicationInfo.PlayerName == "GeneriekeSpeler") { return true; } return false; } // whenever the window is opened it makes a refresh of language //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= event Opened(GUIComponent Sender) { local string playername; local string version; local string Result; local string lc; Super.Opened(Sender); bIgnoreEsc = true; UpdateLanguage(); playername = PlayerOwner().PlayerReplicationInfo.PlayerName; txt_username.SetText(playername); Log("GeoPC.SessionID" @ GeoPC.SessionID); Log(" GeoPC.issignedin" @ GeoPC.issignedin); // There is a sessionid saved from before. Check if we can use it? if (Len(GeoPC.SessionID) > 2 || GeoPC.issignedin == true) { lc = PlayerOwner().Level.ComputerName; Result = class'SHA1Hash'.static.GetStringHashString(playername $"_"$lc); Log(" GetHashFor:" @ playername $"_"$lc); Log(" GetHashFor:" @ Result); Log("Player signed in? " @ (GeoPC.SessionID == Result)); // We have a match, save signed in variable if (GeoPC.SessionID == Result) { // Force login! GeoPC.issignedin = true; // Determin by version: version = GeoPlayerController(PlayerOwner()).version; Log("already signed in, version: " $ version); // Load scenarios from webserver: LoadScenarios(); } else { // Force logout! GeoPC.issignedin = false; } } // Check if we force signin: if ( forced_name() == true) { GeoPC.issignedin = true; // Load scenarios from webserver: LoadScenarios(); } if (GeoPC.issignedin == false) { // Check for user/pass if available. //ShowLoginForm(true); Log("Signed in false"); if ( Len(playername) == 0 || playername ~= "dijkwachter" ) { // ShowLoginForm(true); } else { // Try to login: } } else { //ShowLoginForm(false); // Determin by version: version = GeoPlayerController(PlayerOwner()).version; Log("Succes, version: " $ version); // Load scenarios from webserver: LoadScenarios(); } } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= function ChangeAllow(bool a) { AllowSelect = a; } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= function InternalOnClose(optional Bool bCanceled) { local rotator NewRot; // Reset player NewRot = PlayerOwner().Rotation; NewRot.Pitch = SavedPitch; PlayerOwner().SetRotation(NewRot); // Save config. pPlayer.InternalApply(none); Super.OnClose(bCanceled); } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= function bool MyKeyEvent(out byte Key,out byte State,float delta) { if(Key == 0x1B) // Escape pressed { if(bIgnoreEsc) { bIgnoreEsc = false; return true; } else { ChangeAllow(false); Controller.OpenMenu("GeoInterface.QuitPage"); return true; } } return false; } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= event ChangeHint(string NewHint) { lab_Hint.Caption = NewHint; } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= event NotifyLevelChange() { Controller.CloseMenu(true); } //============================================================================= // Date Id Modification // 2007-03-15 The Created // 2007-10-16 Jln Changed way of adding failures to new method. //============================================================================= function SingleLevelDemoVersion() { local GeoLevelDetails GLD; local array LevelFailureList; local int i; GLD = new class'GeoLevelDetails'; GLD.ResetLevelDetails(); // END OF SECTION // The Failure name is hardcoded; normally the failures should be read from the level itself // GLD.ArrayCriticalActiveFailureNames.Length=0; //GLD.ArrayRelevantActiveFailureNames.Length=0; // GLD.ArrayReportableActiveFailureNames.Length=0; // GLD.ArrayCriticalActiveFailureNames.Insert(0,2); /// 2007-10-05 Jln // GLD.ArrayCriticalActiveFailureNames[0].FailureName='Failure3'; // GLD.ArrayCriticalActiveFailureNames[1].FailureName='Failure7'; LevelFailureList.Insert(0,1); LevelFailureList[0].Mechanism = FM_Macro; LevelFailureList[0].MaxCount = 2; LevelFailureList[0].FailureNames.Insert(0, LevelFailureList[0].MaxCount); LevelFailureList[0].FailureNames[0] = 'LeveeTile0'; LevelFailureList[0].FailureNames[1] = 'LeveeTile1'; LevelFailureList[0].Serious = 2; LevelFailureList[0].VerySerious = 0; LevelFailureList[0].NotSerious = 0; Log("[MainMenuOptions.SingleLevelDemoVersion]"); GLD.IsRaining = true; GLD.TakeMeasures = false; GLD.MakeDiagnoses = false; GLD.IsCompleteExercise = false; /// Store array in GLD variable which will be stored to a file. /// Somehow we are getting a type mismatch when setting the variable directly...? /// I might be overlooking something there, but this works flawless as well. for (i = 0; i < LevelFailureList.length ; i++ ) { GLD.LeveeTilesToActivate.Insert(0,1); GLD.LeveeTilesToActivate[0].Mechanism = LevelFailureList[i].Mechanism; GLD.LeveeTilesToActivate[0].FailureNames = LevelFailureList[i].FailureNames; GLD.LeveeTilesToActivate[0].VerySerious = LevelFailureList[i].VerySerious; GLD.LeveeTilesToActivate[0].Serious = LevelFailureList[i].Serious; GLD.LeveeTilesToActivate[0].Mechanism = LevelFailureList[i].Mechanism; GLD.LeveeTilesToActivate[0].MaxCount = LevelFailureList[i].MaxCount; } GLD.SaveConfig(); Console(Controller.Master.Console).ConsoleCommand("start ..\\Maps\\Scenario1DG.urt"); Controller.CloseAll(false); } function LoginSucces(string id ) { local string version; // Hide buttons: ShowLoginForm(false); lbl_error.SetVisibility(false); GeoPC.issignedin = true; GeoPC.SessionID = id; Log("Login Success " @ id); // Determin by version: version = GeoPlayerController(PlayerOwner()).version; Log("Succes, version: " $ version); // Load scenarios from webserver: LoadScenarios(); } function LoginFailure( ) { Log("Login Failure"); // Inform of failure. ShowLoginForm(true); lbl_error.SetVisibility(true); } function ShowLoginForm(bool newstate) { // Removed for OS version. Never show. } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header // 2006-11-17 The Disabled gamestory // 2007-02-02 The Added IsReleaseVersion and set it to true // 2007-03-15 The Added IsSingleLevelDemoVersionEN and set it to true // 2007-04-13 The Added IsSingleLevelDemoVersionNL //============================================================================= function bool ButtonClick(GUIComponent Sender) { // local string FullMapURL; // local GeoCompleteExercise GCE; // local GeoLevelDetails GLD; if (Sender != None && AllowSelect) switch(Sender) { case but_Training: LoadTrainingMap(); break; case but_Minigames: Controller.ReplaceMenu("GeoInterface.MiniGames"); break; case but_Single: if (IsSingleLevelDemoVersionEN || IsSingleLevelDemoVersionNL) { SingleLevelDemoVersion(); } else { Controller.ReplaceMenu("GeoInterface.SingleExercise"); } break; case but_Story: if (IsSingleLevelDemoVersionEN || IsSingleLevelDemoVersionNL) { Controller.OpenMenu("GeoInterface.NotAvailable"); } else { //The next if is commented because otherwise you could not play the game story when not in a release version... //if (IsReleaseVersion) //{ Controller.ReplaceMenu("GeoInterface.GameStory"); //} } break; case but_Options: Controller.OpenMenu("GeoInterface.OptionsMenu"); break; case but_About: Controller.ReplaceMenu("GeoInterface.MenuAbout"); break; case but_Scenario: // Load scenarios from webserver: LoadScenarios(); Controller.ReplaceMenu("GeoInterface.MenuScenarios"); break; case but_Quit: ChangeAllow(false); Controller.OpenMenu("GeoInterface.QuitPage"); break; case btn_login: GeoPlayerController(PlayerOwner()).SuccesCall = LoginSucces; GeoPlayerController(PlayerOwner()).FailCall = LoginFailure; GeoPlayerController(PlayerOwner()).LoginUser(txt_username.GetText(), txt_password.GetText(), GeoPC); break; case but_Language: GeoPlayerController(PlayerOwner()).ChangeLanguage(); UpdateLanguage(); break; default: break; } return true; } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= function UpdateLanguage() { if(GeoPlayerController(PlayerOwner()).Dutch || GeoPlayerController(PlayerOwner()) == None) // the "== none" is not needed, but it stays just in case something unexpected happens { but_MiniGames.Caption=NL_but_MiniGames; but_Training.Caption=NL_but_Training; but_Single.Caption=NL_but_Single; but_Story.Caption=NL_but_Story; // but_Options.Caption=NL_but_Options; // but_About.Caption=NL_but_About; but_Quit.Caption=NL_but_Quit; but_Language.Image=Material'GeoDelft.EN'; ima_MainLogo.Image=Material'GeoDelft.Logo_NL'; but_Training.Hint=NL_hint_Training; but_Single.Hint=NL_hint_Single; but_Story.Hint=NL_hint_Story; but_Options.Hint=NL_hint_Options; but_About.Hint=NL_hint_About; but_Quit.Hint=NL_hint_Quit; but_Language.Hint=NL_hint_Language; but_Minigames.Hint=NL_hint_MiniGames; lab_version.Caption=NL_Version @ "[" $GeoPlayerController(PlayerOwner()).buildid $ "]"; but_Scenario.Hint = NL_hint_Scenario; but_Scenario.Caption = NL_but_Scenario; btn_login.Hint = NL_hint_inloggen; txt_username.Caption = NL_hint_username; txt_password.Caption = NL_hint_password; } else { txt_username.Caption = EN_hint_username; txt_password.Caption = EN_hint_password; but_MiniGames.Caption=EN_but_MiniGames; but_Training.Caption=EN_but_Training; but_Single.Caption=EN_but_Single; but_Story.Caption=EN_but_Story; // but_Options.Caption=EN_but_Options; // but_About.Caption=EN_but_About; but_Quit.Caption=EN_but_Quit; but_Language.Image=Material'GeoDelft.NL'; ima_MainLogo.Image=Material'GeoDelft.Logo_EN'; but_Training.Hint=EN_hint_Training; but_Single.Hint=EN_hint_Single; but_Story.Hint=EN_hint_Story; but_Options.Hint=EN_hint_Options; but_About.Hint=EN_hint_About; but_Quit.Hint=EN_hint_Quit; but_Language.Hint=EN_hint_Language; but_Minigames.Hint=EN_hint_MiniGames; but_Scenario.Hint = EN_hint_Scenario; but_Scenario.Caption = EN_but_Scenario; btn_login.Hint = EN_hint_inloggen; lab_version.Caption=EN_Version @ "[" $GeoPlayerController(PlayerOwner()).buildid $ "]"; } } //============================================================================= // TRAINING LEVEL LOAD AND SETTINGS // Date Id Modification // 2006-11-17 The Created this header //============================================================================= function bool LoadTrainingMap() { local string FullMapURL; local GeoCompleteExercise GCE; if(SaveLevelInfo()) { GCE = new class'GeoCompleteExercise'; GCE.IsCompleteExercise=false; GCE.SaveConfig(); FullMapURL="TrainingLevel"; // NOT DONE YET, SHOULD CALL MAP THAT IS SELECTED SaveConfig(); log("UT2InstantActionMain::PlayButtonClick - Sending [open"@FullMapURL$"] to the console"); Console(Controller.Master.Console).ConsoleCommand("start"@FullMapURL); Controller.CloseAll(false); } return true; } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header //============================================================================= function bool SaveLevelInfo() { local GeoLevelDetails GLD; GLD = new class'GeoLevelDetails'; GLD.ResetLevelDetails(); // END OF SECTION // This is kind of a hack // The Failure name is hardcoded; normally the failures should be read from the level itself GLD.ArrayCriticalActiveFailureNames.Length=0; GLD.ArrayCriticalActiveFailureNames.Insert(0,1); GLD.ArrayCriticalActiveFailureNames[0].FailureName='Failure0'; Log("[MainMenuOptions.SaveLevelInfo]"); GLD.ArrayRelevantActiveFailureNames.Length=0; GLD.ArrayReportableActiveFailureNames.Length=0; GLD.IsRaining = false; GLD.TakeMeasures = false; GLD.MakeDiagnoses = true; GLD.IsCompleteExercise = false; GLD.SaveConfig(); return true; } //============================================================================= // Date Id Modification // 2006-11-17 The Created this header // 2007-03-15 The Added IsSingleLevelDemoVersionEN and set it to true // 2007-04-13 The Added IsSingleLevelDemoVersionNL //============================================================================= defaultproperties { Begin Object Class=GUIImage Name=GeoMainLogo WinWidth=0.9 WinHeight=0.25 WinLeft=0 WinTop=0.08 Image=Material'GeoDelft.Logo_EN' ImageColor=(R=255,G=255,B=255,A=240); ImageStyle=ISTY_Justified ImageRenderStyle=MSTY_Alpha ImageAlign=IMGA_Center End Object Begin Object class=GUITitleBar name=SettingFooter WinWidth=1.0 WinHeight=0.055 WinLeft=0.0 WinTop=0.93 bUseTextHeight=false StyleName="Footer" Justification=TXTA_Center End Object //BUTTONS FOR THE OPTIONS Begin Object Class=GUIButton Name=TrainingButton Caption="***" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.33 WinHeight=0.05 WinLeft=0.33 WinTop=0.35 End Object Begin Object Class=GUIButton Name=MiniGamesButton Caption="***" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.33 WinHeight=0.05 WinLeft=0.33 WinTop=0.42 End Object Begin Object Class=GUIButton Name=StoryButton Caption="***" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.33 WinHeight=0.05 WinLeft=0.33 WinTop=0.49 End Object Begin Object Class=GUIButton Name=SingleButton Caption="***" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.33 WinHeight=0.05 WinLeft=0.33 WinTop=0.63 End Object Begin Object Class=GUIButton Name=ScenarioButton Caption="" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.33 WinHeight=0.05 WinLeft=0.33 WinTop=0.71 End Object Begin Object Class=GUIGFxButton Name=OptionsButton Caption="" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.1 WinHeight=0.1 WinLeft=0.89 WinTop=0.18 Graphic=Material'InGameMenuImagesT.ImageButtons.instellingen_icoon' Position=ICP_Scaled End Object Begin Object Class=GUIGFxButton Name=AboutButton Caption="" Hint="***" Graphic=Material'InGameMenuImagesT.NoBackgroundButtons.Questionmark' Position=ICP_Scaled OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.1 WinHeight=0.1 WinLeft=0.89 WinTop=0.04 End Object Begin Object Class=GUIButton Name=QuitButton Caption="***" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.33 WinHeight=0.05 WinLeft=0.33 WinTop=0.84 End Object Begin Object Class=GUIImage Name=LanguageButton WinWidth=0.05 WinHeight=0.05 WinLeft=0.9 WinTop=0.05 Image=Material'GeoDelft.EN' ImageColor=(R=255,G=255,B=255,A=255); ImageStyle=ISTY_Scaled ImageRenderStyle=MSTY_Normal bAcceptsInput=true bCaptureMouse=True OnClick=ButtonClick Hint="***" End Object Begin Object class=GUILabel Name=VersionLabel Caption="***" TextALign=TXTA_Right TextColor=(R=255,G=255,B=255,A=255) TextFont="SmallFont" WinWidth=0.95 WinHeight=0.2 WinLeft=0.023 WinTop=0.8 bMultiLine=false End Object // New stuff to enter user/password combination: Begin Object class=GUILabel Name=UserLabel Caption="Voordat Dijk Patrouille te spelen is, moet er eerst ingelogd worden:" TextALign=TXTA_Left TextColor=(R=255,G=255,B=255,A=255) TextFont="SmallFont" WinWidth=0.6 WinHeight=0.2 WinLeft=0.2 WinTop=0.3 bMultiLine=false bVisible=false End Object Begin Object class=moEditBox Name=PlayerName WinWidth=0.4 WinHeight=0.060000 WinLeft=0.33 WinTop=0.42 Caption="Gebruikersnaam" INIOption="@INTERNAL" INIDefault="User" Hint="" CaptionWidth=0.4 bVisible=false TabOrder=0 End Object Begin Object class=GUILabel Name=PassLabel Caption="Wachtwoord" TextALign=TXTA_Left TextColor=(R=255,G=255,B=255,A=255) TextFont="SmallFont" WinWidth=0.3 WinHeight=0.2 WinLeft=0.33 WinTop=0.49 bMultiLine=false bVisible=false End Object Begin Object class=moEditBox Name=Password WinWidth=0.4 WinHeight=0.060000 WinLeft=0.33 WinTop=0.49 Caption="Password" INIOption="@INTERNAL" INIDefault="User" Hint="" CaptionWidth=0.4 TabOrder=0 bVisible=false End Object Begin Object Class=GUIButton Name=LoginButton Caption="Inloggen" Hint="***" OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.2 WinHeight=0.05 WinLeft=0.33 WinTop=0.58 bVisible=false End Object Begin Object class=GUILabel Name=LoginErrorLabel Caption="Deze gebruiker/wachtwoord combinatie is niet bekend." TextALign=TXTA_Left TextColor=(R=255,G=255,B=255,A=255) TextFont="SmallFont" WinWidth=0.6 WinHeight=0.2 WinLeft=0.2 WinTop=0.59 bMultiLine=false bVisible=false End Object //OnClose=InternalOnClose OnKeyEvent=MyKeyEvent bAllowedAsLast=true bDisconnectOnOpen=false bIgnoreEsc=true AllowSelect = true lbl_error = LoginErrorLabel lab_username = UserLabel txt_username = PlayerName txt_password = Password btn_login = LoginButton lab_Hint=SettingFooter lab_version=VersionLabel but_Minigames=MiniGamesButton but_Training=TrainingButton but_Single=SingleButton but_Story=StoryButton but_Options=OptionsButton but_About=AboutButton but_Quit=QuitButton but_Language=LanguageButton ima_MainLogo=GeoMainLogo but_Scenario=ScenarioButton bPersistent=true EN_but_Training="Training" EN_but_Single="Single Exercise" EN_but_Story="Complete Exercise" EN_but_Options="Options" EN_but_About="About" EN_but_Quit="Quit" EN_but_Language="NL" NL_but_Training="Training" NL_but_Single="Enkele Oefening" NL_but_Story="Volledige Oefening" NL_but_Options="Opties" NL_but_About="Colofon" NL_but_Quit="Einde" NL_but_Language="EN" NL_but_Scenario="Scenarios" EN_but_Scenario="Scenarios" NL_hint_Scenario="Speel scenarios" EN_hint_Scenario="Play scenarios" EN_hint_Training="Take the training to become a levee patroller" EN_hint_Single="Play a self-customized scenario" EN_hint_Story="Play a sequence of scenarios in a storyline" EN_hint_Options="Change your video and control settings" // removed , audio EN_hint_About="Information about Levee Patroller" EN_hint_Quit="Exit Levee Patroller" EN_hint_Language="Nederlands" NL_hint_Training="Volg de training om dijkwachter te worden" NL_hint_Single="Speel een scenario onder zelfgekozen omstandigheden" NL_hint_Story="Speel een serie oefeningen in een verhaallijn" NL_hint_Options="Pas de instellingen voor video en besturing aan" // removed , audio NL_hint_About="Informatie over Dijk Patrouille" NL_hint_Quit="Sluit Dijk Patrouille af" NL_hint_Language="English" NL_hint_MiniGames="Speel een level met een enkel faalmechanisme" EN_hint_MiniGames="Play a level with just one failure mechanism" NL_but_MiniGames="Enkel faalmechanisme" EN_but_MiniGames="Single failuremechanism" NL_hint_inloggen="Inloggen" EN_hint_inloggen="Login" NL_hint_password="Uw wachtwoord" NL_hint_username="Uw gebruikersnaam" EN_hint_password="Your password" EN_hint_username="Your username" EN_Version="Open Source version - 2015" NL_Version="Open Source version - 2015" IsReleaseVersion=true; IsSingleLevelDemoVersionEN=false; IsSingleLevelDemoVersionNL=false; }