diff --git a/CastleEngineManifest.xml b/CastleEngineManifest.xml index cee819b..1fb8fa0 100644 --- a/CastleEngineManifest.xml +++ b/CastleEngineManifest.xml @@ -57,4 +57,6 @@ See https://castle-engine.io/project_manifest for documentation of this file. + + diff --git a/code/gameviewcredits.pas b/code/gameviewcredits.pas index 3b40d7f..ff69de7 100644 --- a/code/gameviewcredits.pas +++ b/code/gameviewcredits.pas @@ -1,5 +1,7 @@ unit GameViewCredits; +{$mode delphi} + interface uses @@ -11,15 +13,21 @@ interface type TViewCredits = class(TCastleView) published - ButtonMenu, ButtonCastle, ButtonAuthor: TCastleButton; + ButtonMenu, ButtonCredits, ButtonRules, ButtonKeys, ButtonWeapon, + ButtonCastle, ButtonAuthor, ButtonItch, ButtonDiscord, ButtonWeb: TCastleButton; + GroupCredits, GroupRules, GroupKeys, GroupWeapon: TCastleUserInterface; public constructor Create(AOwner: TComponent); override; procedure Start; override; function Press(const Event: TInputPressRelease): Boolean; override; private procedure ButtonMenuClick(Sender: TObject); + procedure ButtonPanelClick(Sender: TObject); procedure ButtonCastleClick(Sender: TObject); procedure ButtonAuthorClick(Sender: TObject); + procedure ButtonItchClick(Sender: TObject); + procedure ButtonDiscordClick(Sender: TObject); + procedure ButtonWebClick(Sender: TObject); end; var @@ -31,7 +39,7 @@ implementation // System SysUtils, // Castle - castlewindow, CastleOpenDocument, + castlewindow, CastleOpenDocument, CastleApplicationProperties, // Own gameviewmain; @@ -44,9 +52,18 @@ constructor TViewCredits.Create(AOwner: TComponent); procedure TViewCredits.Start; begin inherited; - ButtonMenu.OnClick := @ButtonMenuClick; - ButtonCastle.OnClick := @ButtonCastleClick; - ButtonAuthor.OnClick := @ButtonAuthorClick; + ButtonMenu.OnClick := ButtonMenuClick; + ButtonCredits.OnClick := ButtonPanelClick; + ButtonRules.OnClick := ButtonPanelClick; + ButtonKeys.OnClick := ButtonPanelClick; + ButtonWeapon.OnClick := ButtonPanelClick; + ButtonCastle.OnClick := ButtonCastleClick; + ButtonAuthor.OnClick := ButtonAuthorClick; + ButtonItch.OnClick := ButtonItchClick; + ButtonDiscord.OnClick := ButtonDiscordClick; + ButtonWeb.OnClick := ButtonWebClick; + + ButtonKeys.Exists := ApplicationProperties.ShowUserInterfaceToQuit {$IFDEF WASI} or True {$ENDIF}; end; function TViewCredits.Press(const Event: TInputPressRelease): Boolean; @@ -74,6 +91,33 @@ procedure TViewCredits.ButtonCastleClick(Sender: TObject); procedure TViewCredits.ButtonAuthorClick(Sender: TObject); begin OpenURL('https://github.com/phomm/Towerfight'); -end; +end; + +procedure TViewCredits.ButtonItchClick(Sender: TObject); +begin + OpenURL('https://phomm.itch.io/tower-fight'); +end; + +procedure TViewCredits.ButtonDiscordClick(Sender: TObject); +begin + OpenURL('https://discord.gg/fz7bbM3dr3'); +end; + +procedure TViewCredits.ButtonWebClick(Sender: TObject); +begin + OpenURL('https://ephyre.ru'); +end; + +procedure TViewCredits.ButtonPanelClick(Sender: TObject); +begin + GroupCredits.Exists := Sender = ButtonCredits; + GroupRules.Exists := Sender = ButtonRules; + GroupKeys.Exists := Sender = ButtonKeys; + GroupWeapon.Exists := Sender = ButtonWeapon; + ButtonCredits.Pressed := Sender = ButtonCredits; + ButtonRules.Pressed := Sender = ButtonRules; + ButtonKeys.Pressed := Sender = ButtonKeys; + ButtonWeapon.Pressed := Sender = ButtonWeapon; +end; end. diff --git a/code/gameviewformula.pas b/code/gameviewformula.pas index 3e1ec4f..d6692d1 100644 --- a/code/gameviewformula.pas +++ b/code/gameviewformula.pas @@ -21,6 +21,8 @@ TViewFormula = class(TCastleView) These fields will be automatically initialized at Start. } ButtonGo: TCastleButton; GroupElements: TCastleHorizontalGroup; + ImageEnemy: TCastleImageControl; + LabelHeroLevel: TCastleLabel; public RoomComponent: TRoomComponent; constructor Create(AOwner: TComponent); override; @@ -83,7 +85,7 @@ procedure TViewFormula.Resume; if AMarked then begin LButton.ImageScale := 0.2; - LButton.Image.Url := 'castle-data:/resources/' + WeaponFileNames[Weapon]; + LButton.Image.Url := 'castle-data:/resources/' + WeaponFileNames[Weapon]; end else begin @@ -102,6 +104,8 @@ procedure TViewFormula.Resume; inherited; Weapon := TMap.Map.Hero.Weapon; LActor := TMap.Map.GetRoomByIndex(RoomComponent.Tag).Actors[0]; + ImageEnemy.Url := LActor.AssetId; + LabelHeroLevel.Caption := TMap.Map.Hero.Visual; Formula := LActor.Visual; GroupElements.ClearControls(); SetLength(FPositions, Length(Formula) + 1); diff --git a/code/gameviewgame.pas b/code/gameviewgame.pas index 5957dd9..2ad475c 100644 --- a/code/gameviewgame.pas +++ b/code/gameviewgame.pas @@ -24,7 +24,7 @@ TViewGame = class(TCastleView) BloodSplash0, BloodSplash1, BloodSplash2: TCastleScene; Viewport1: TCastleViewport; ImageWeapon: TCastleImageControl; - TimerGame, TimerHint: TCastleTimer; + TimerBlood, TimerGame, TimerHint: TCastleTimer; function GetMap(): TMap; property Map: TMap read GetMap; protected @@ -46,7 +46,6 @@ TViewGame = class(TCastleView) FPosFrom, FPosTo: TVector2; FAnimateWeaponTicks, FGameTicks: Integer; FRoomFight: TRoomComponent; - FBloodTime: Single; procedure ButtonDefeatClick(Sender: TObject); procedure ButtonRoomClick(Sender: TObject); procedure ButtonWeaponClick(Sender: TObject); @@ -54,7 +53,7 @@ TViewGame = class(TCastleView) procedure AnimationStopped(const AScene: TCastleSceneCore; const ATimeSensorNode: TTimeSensorNode); function RandomBloodSplash(): TCastleScene; procedure DefeatQuestionYes(Sender: TObject); - procedure TimerBloodTrigger(); + procedure TimerBloodTick(ASender: TObject); procedure TimerGameTick(ASender: TObject); procedure TimerHintTick(ASender: TObject); procedure WeaponHint(ADoShow: Boolean; AWeapon: NHeroWeapon = hwNo); @@ -148,7 +147,9 @@ procedure TViewGame.Start(); FWeapons[1] := WeaponPlus; FWeapons[2] := WeaponMinus; FWeapons[3] := WeaponMultiply; - WeaponNo.DoClick(); + WeaponNo.DoClick(); + TimerBlood.Exists := False; + TimerBlood.OnTimer := TimerBloodTick; TimerHint.OnTimer := TimerHintTick; TimerGame.OnTimer := TimerGameTick; TimerGame.IntervalSeconds := 1; @@ -208,7 +209,7 @@ procedure TViewGame.ButtonWeaponClick(Sender: TObject); LWeaponButton := Sender as TCastleButton; for i := 0 to High(FWeapons) do begin - LIsWeapon := FWeapons[i] = LWeaponButton; + LIsWeapon := FWeapons[i] = LWeaponButton; if LIsWeapon then begin if not FInternalWeaponSwitch then @@ -237,7 +238,8 @@ procedure TViewGame.Stop(); begin inherited; TMap.Die(); - FPreviousRoom := nil; + FPreviousRoom := nil; + FPause := True; end; procedure TViewGame.ButtonDefeatClick(Sender: TObject); @@ -268,20 +270,11 @@ procedure TViewGame.Update(const SecondsPassed: Single; var HandleInput: boolean begin ImageWeapon.Url := ''; WeaponClick(hwNo); - end; + end; end; if not FPause and (Map.Hero.Weapon <> hwNo) then with FPreviousRoom.ImageHeroWeapon do Rotation := Rotation + 4 * SecondsPassed; - if not FPause and (FBloodTime > 0) then - begin - FBloodTime := FBloodTime - SecondsPassed; - if FBloodTime <= 0 then - begin - TimerBloodTrigger(); - FBloodTime := 0; - end; - end; end; function TViewGame.Press(const Event: TInputPressRelease): Boolean; @@ -306,7 +299,7 @@ function TViewGame.Press(const Event: TInputPressRelease): Boolean; if Result then Exit; // allow the ancestor to handle keys if FPause then Exit; - if Event.IsKey(keyEscape) or Event.IsKey(keyBackSpace) then + if Event.IsKey(keyEscape) or Event.IsKey(keyBackSpace) or Event.IsKey(keyEnter) then begin ButtonDefeat.DoClick(); Exit(True); // key was handled @@ -317,20 +310,20 @@ function TViewGame.Press(const Event: TInputPressRelease): Boolean; W := Ord(Map.Hero.Weapon); repeat W := (W + 1) mod Length(FWeapons); - until FWeapons[W].Enabled; - WeaponClick(NHeroWeapon(W), True); + until FWeapons[W].Enabled; + WeaponClick(NHeroWeapon(W), True); Exit(True); // key was handled end; if Event.Key in [key1, key2, key3, key4] then begin - WeaponClick(NHeroWeapon(Ord(Event.Key) - Ord(key1)), True); + WeaponClick(NHeroWeapon(Ord(Event.Key) - Ord(key1)), True); Exit(True); // key was handled end; if Event.Key in [keyNumpad1, keyNumpad2, keyNumpad3, keyNumpad4] then begin - WeaponClick(NHeroWeapon(Ord(Event.Key) - Ord(keyNumpad1)), True); + WeaponClick(NHeroWeapon(Ord(Event.Key) - Ord(keyNumpad1)), True); Exit(True); // key was handled end; @@ -366,11 +359,11 @@ procedure TViewGame.ButtonRoomClick(Sender: TObject); begin FPreviousRoom.LabelLeft.Caption := ''; FPreviousRoom.ImageLeft.Url := ''; - FPreviousRoom.ImageHeroWeapon.Url := ''; + FPreviousRoom.ImageHeroWeapon.Url := ''; end; // Show image on currently clicked button - FPreviousRoom := LRoom; + FPreviousRoom := LRoom; LRoom.ImageLeft.Url := Map.Hero.AssetId; LRoom.LabelLeft.Caption := Map.Hero.Visual; SwitchHeroWeaponImage(); @@ -411,7 +404,7 @@ procedure TViewGame.RoomFight(ARoom: TRoomComponent); SwitchHeroWeaponImage(True); FSkip := True; - FBloodTime := 1; + TimerBlood.Exists := True; FRoomFight := ARoom; end; @@ -422,7 +415,7 @@ function TViewGame.RandomBloodSplash(): TCastleScene; 1: Result := BloodSplash1; 2: Result := BloodSplash2; end; -end; +end; procedure TViewGame.RunAnimation(AScene: TCastleScene; ARoom: TCastleUserInterface); var @@ -446,10 +439,12 @@ procedure TViewGame.AnimationStopped(const AScene: TCastleSceneCore; const ATime AScene.Exists := False; end; -procedure TViewGame.TimerBloodTrigger(); +procedure TViewGame.TimerBloodTick(ASender: TObject); var LWeapon: NHeroWeapon; begin + TimerBlood.Exists := False; + if Map.Hero.Dead then Container.View := ViewDefeat else @@ -479,7 +474,7 @@ procedure TViewGame.TimerBloodTrigger(); Container.View := ViewWin; end; end; - FSkip := False; + FSkip := False; end; procedure TViewGame.TimerHintTick(ASender: TObject); diff --git a/code/gameviewmain.pas b/code/gameviewmain.pas index 6ea763f..ba90669 100644 --- a/code/gameviewmain.pas +++ b/code/gameviewmain.pas @@ -23,7 +23,7 @@ TViewMain = class(TCastleView) GroupOptions: TCastleUserInterface; SliderMusic, SliderFullscreen, SliderUseTimer: TCastleIntegerSlider; FactoryButton: TCastleComponentFactory; - ImageRoomRoof3: TCastleImageControl; + ImageRoomRoof2, ImageRoomRoof3: TCastleImageControl; public constructor Create(AOwner: TComponent); override; procedure Start(); override; @@ -92,6 +92,7 @@ procedure TViewMain.Start(); ButtonExit.Exists := ApplicationProperties.ShowUserInterfaceToQuit; ImageRoomRoof3.Exists := ApplicationProperties.ShowUserInterfaceToQuit; SliderFullScreen.Exists := ApplicationProperties.ShowUserInterfaceToQuit; + for LButton in Buttons do LButton.OnMotion := ButtonMotion; diff --git a/code/gameviewwin.pas b/code/gameviewwin.pas index e692f0b..cf1bd43 100644 --- a/code/gameviewwin.pas +++ b/code/gameviewwin.pas @@ -17,6 +17,7 @@ TViewWin = class(TCastleView) LabelScore: TCastleLabel; EditName: TCastleEdit; PanelNotifications: TCastleNotifications; + ImageControl1: TCastleImageControl; public Score: Integer; constructor Create(AOwner: TComponent); override; diff --git a/code/models.pas b/code/models.pas index 234a2c6..d86a54d 100644 --- a/code/models.pas +++ b/code/models.pas @@ -92,6 +92,7 @@ procedure TSubmitLeader.CalcHash(); begin FHash := Format(HashTemplate, [Difficulty, IIF(Guid = '', '', ':Guid='+ Guid), Name, Salt, Score]); //WriteLnLog('ForHash ' + FHash); + // TODO : remove this when WEB platform supports http requests FHash := TSHA2_256.Create().ComputeString(FHash, TEncoding.UTF8).ToString(); end; diff --git a/data/gameviewcredits.castle-user-interface b/data/gameviewcredits.castle-user-interface index 13b9415..fdad52b 100644 --- a/data/gameviewcredits.castle-user-interface +++ b/data/gameviewcredits.castle-user-interface @@ -25,139 +25,6 @@ "VerticalAnchorParent" : "vpTop", "VerticalAnchorSelf" : "vpTop" }, - { - "$$ClassName" : "TCastleLabel", - "Alignment" : "hpMiddle", - "ColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Blue" : 1.0000000000000000E+000, - "Green" : 9.0196079015731812E-001 - }, - "FontSize" : 5.5000000000000000E+001, - "HorizontalAnchorParent" : "hpMiddle", - "HorizontalAnchorSelf" : "hpMiddle", - "Name" : "LabelRules", - "Outline" : 1, - "Text" : [ - "Japan is captured by Dragon and Demons", - "Fight them in the Towers, Brave Samurai!", - "WASD/Arrows/Mouse: move into Room ", - "Leave: Esc/Backspace, Enter(menu): start", - "", - "Calculate enemy Level to Fight in Room", - "You Win if your Level >= Enemy Level ", - "and gain more Levels, otherwise Lose", - "In First tower Fight gives you +Level ", - "same as Enemy Level, each next gives ", - "you 1/(2N - 2) fraction of enemy Level", - "", - "1234/E/Mouse before Fight: select weapon", - "Shuriken(+) Kunai(-) Star(*), E/Mouse in ", - "Formula dialog to re-math enemy formula", - "Weapons less-to-none effective on bosses" - ] - }, - { - "$$ClassName" : "TCastleButton", - "Border" : { - "$$ClassName" : "TBorder", - "Bottom" : 4.0000000000000000E+000 - }, - "BorderColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Alpha" : 1.0000000000000000E+000, - "Blue" : 7.0196080207824707E-001 - }, - "Caption" : "author : phomm", - "Cursor" : "mcHand", - "CustomBackground" : true, - "CustomBackgroundDisabled" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomBackgroundFocused" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomBackgroundNormal" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomBackgroundPressed" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomTextColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Blue" : 7.0196080207824707E-001 - }, - "CustomTextColorUse" : true, - "FontSize" : 1.0000000000000000E+002, - "HorizontalAnchorParent" : "hpMiddle", - "HorizontalAnchorSelf" : "hpMiddle", - "Html" : true, - "Image" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "Name" : "ButtonAuthor", - "Outline" : 1, - "OutlineColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Blue" : 1.0000000000000000E+000, - "Green" : 4.3921568989753723E-001 - }, - "VerticalAnchorParent" : "vpTop", - "VerticalAnchorSelf" : "vpTop" - }, - { - "$$ClassName" : "TCastleButton", - "Border" : { - "$$ClassName" : "TBorder", - "Bottom" : 4.0000000000000000E+000 - }, - "BorderColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Alpha" : 1.0000000000000000E+000, - "Blue" : 7.0196080207824707E-001 - }, - "Caption" : "made with castle-engine", - "Cursor" : "mcHand", - "CustomBackground" : true, - "CustomBackgroundDisabled" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomBackgroundFocused" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomBackgroundNormal" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomBackgroundPressed" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "CustomTextColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Blue" : 1.0000000000000000E+000, - "Green" : 4.9019607901573181E-001 - }, - "CustomTextColorUse" : true, - "FontSize" : 1.0000000000000000E+002, - "HorizontalAnchorParent" : "hpMiddle", - "HorizontalAnchorSelf" : "hpMiddle", - "Html" : true, - "Image" : { - "$$ClassName" : "TCastleImagePersistent" - }, - "Name" : "ButtonCastle", - "Outline" : 1, - "OutlineColorPersistent" : { - "$$ClassName" : "TCastleColorPersistent", - "Blue" : 1.0000000000000000E+000, - "Green" : 8.4313726425170898E-001 - }, - "TranslationPersistent" : { - "$$ClassName" : "TCastleVector2Persistent", - "Y" : -1.0000000000000000E+002 - }, - "VerticalAnchorParent" : "vpTop", - "VerticalAnchorSelf" : "vpTop" - }, { "$$ClassName" : "TCastleButton", "Caption" : "Menu", @@ -184,6 +51,726 @@ "PaddingVertical" : 2.0000000000000000E+001, "VerticalAnchorParent" : "vpTop", "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/formulaback.png" + }, + "HeightFraction" : 8.5000002384185791E-001, + "HorizontalAnchorParent" : "hpRight", + "HorizontalAnchorSelf" : "hpRight", + "Name" : "ImageControl1", + "Stretch" : true, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "WidthFraction" : 8.3999997377395630E-001, + "$Children" : [ + { + "$$ClassName" : "TCastleVerticalGroup", + "Alignment" : "hpMiddle", + "Exists" : false, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "GroupCredits", + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleButton", + "Border" : { + "$$ClassName" : "TBorder", + "Bottom" : 4.0000000000000000E+000 + }, + "BorderColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Alpha" : 1.0000000000000000E+000, + "Blue" : 7.0196080207824707E-001 + }, + "Caption" : "github: towerfight", + "Cursor" : "mcHand", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomTextColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 7.0196080207824707E-001 + }, + "CustomTextColorUse" : true, + "FontSize" : 6.0000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Html" : true, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonAuthor", + "Outline" : 1, + "OutlineColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 4.3921568989753723E-001 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Border" : { + "$$ClassName" : "TBorder", + "Bottom" : 4.0000000000000000E+000 + }, + "BorderColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Alpha" : 1.0000000000000000E+000, + "Blue" : 7.0196080207824707E-001 + }, + "Caption" : "Itch: ephyre-towerfight", + "Cursor" : "mcHand", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomTextColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 7.0196080207824707E-001 + }, + "CustomTextColorUse" : true, + "FontSize" : 6.0000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Html" : true, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonItch", + "Outline" : 1, + "OutlineColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 4.3921568989753723E-001 + }, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -7.3948730468750000E+001 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Border" : { + "$$ClassName" : "TBorder", + "Bottom" : 4.0000000000000000E+000 + }, + "BorderColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Alpha" : 1.0000000000000000E+000, + "Blue" : 7.0196080207824707E-001 + }, + "Caption" : "www: ephyre team", + "Cursor" : "mcHand", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomTextColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 7.0196080207824707E-001 + }, + "CustomTextColorUse" : true, + "FontSize" : 6.0000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Html" : true, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonWeb", + "Outline" : 1, + "OutlineColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 4.3921568989753723E-001 + }, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -1.4789746093750000E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Border" : { + "$$ClassName" : "TBorder", + "Bottom" : 4.0000000000000000E+000 + }, + "BorderColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Alpha" : 1.0000000000000000E+000, + "Blue" : 7.0196080207824707E-001 + }, + "Caption" : "discord: ephyre", + "Cursor" : "mcHand", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomTextColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 7.0196080207824707E-001 + }, + "CustomTextColorUse" : true, + "FontSize" : 6.0000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Html" : true, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonDiscord", + "Outline" : 1, + "OutlineColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 4.3921568989753723E-001 + }, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -2.2184619140625000E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Border" : { + "$$ClassName" : "TBorder", + "Bottom" : 4.0000000000000000E+000 + }, + "BorderColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Alpha" : 1.0000000000000000E+000, + "Blue" : 7.0196080207824707E-001 + }, + "Caption" : "made with castle", + "Cursor" : "mcHand", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomTextColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 4.9019607901573181E-001 + }, + "CustomTextColorUse" : true, + "FontSize" : 6.0000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Html" : true, + "Image" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cge_logo.png" + }, + "ImageLayout" : "ilTop", + "ImageScale" : 5.0000000000000000E-001, + "Name" : "ButtonCastle", + "Outline" : 1, + "OutlineColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 8.4313726425170898E-001 + }, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -2.9579492187500000E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + } + ] + }, + { + "$$ClassName" : "TCastleHorizontalGroup", + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "GroupRules", + "Padding" : 1.0000000000000000E+002, + "Spacing" : 1.0000000000000000E+001, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleLabel", + "Alignment" : "hpMiddle", + "ColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 9.0196079015731812E-001 + }, + "FontSize" : 5.5000000000000000E+001, + "Html" : true, + "Name" : "LabelRules", + "Outline" : 1, + "Text" : [ + "Edo is captured by Evil forces", + "Fight them, Brave Samurai !", + "Tap open Rooms to attack them", + "Each win opens new ways to you", + "Kill the Dragon and regain peace", + "", + "Enemy Level (EL) is a formula,", + "Solve and Win if Your Level >= EL ", + "and gain Levelups, otherwise Lose", + "In First tower you gain +Level ", + "same as EL, with every next tower", + "you get 1/(2T - 2) fraction of EL" + ], + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 1.0000000000000000E+002 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + }, + { + "$$ClassName" : "TCastleVerticalGroup", + "Name" : "VerticalGroup2", + "Spacing" : 7.0000000000000000E+001, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 1.0422080078125000E+003 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleHorizontalGroup", + "Name" : "HorizontalGroup1", + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop", + "$Children" : [ + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/hero-samurai.png" + }, + "Name" : "ImageControl2", + "Stretch" : true, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/dragon.png" + }, + "Name" : "ImageControl4", + "Stretch" : true, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 1.0000000000000000E+002 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + } + ] + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/tf-levels.png" + }, + "Name" : "ImageControl3", + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -1.7000000000000000E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + } + ] + } + ] + }, + { + "$$ClassName" : "TCastleVerticalGroup", + "Alignment" : "hpMiddle", + "Exists" : false, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "GroupWeapon", + "Spacing" : 1.0000000000000000E+001, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleUserInterface", + "AutoSizeToChildren" : true, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "Group2", + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop", + "$Children" : [ + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/tf-weapons.png" + }, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "ImageControl8", + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + } + ] + }, + { + "$$ClassName" : "TCastleLabel", + "Alignment" : "hpMiddle", + "ColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 9.0196079015731812E-001 + }, + "FontSize" : 5.5000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Html" : true, + "Name" : "LabelWeapon", + "Outline" : 1, + "Text" : [ + "You're weak? pick a weapon before Fight", + "Shuriken(+) Kunai(-) Star(*), Enter Room,", + "You'll see Enemy formula and your weapon", + "Select underlined Sign or Digit to override", + "Press go - New Formula makes Enemy level ", + "weaker or stronger, and your levelup also", + "Bosses on Towertops - only sign can be hit", + "Dragon can't be hit by weapon at all" + ], + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -1.3000000000000000E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleUserInterface", + "AutoSizeToChildren" : true, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "Group1", + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -5.0806481933593750E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop", + "$Children" : [ + { + "$$ClassName" : "TCastleHorizontalGroup", + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "HorizontalGroup2", + "Spacing" : 2.0000000000000000E+001, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/tf-levels.png" + }, + "Height" : 1.5000000000000000E+002, + "Name" : "ImageControl5", + "Stretch" : true, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "Width" : 1.5000000000000000E+002 + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/tf-enter-room.png" + }, + "Name" : "ImageControl9", + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 1.7000000000000000E+002 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/tf-battle.png" + }, + "Name" : "ImageControl7", + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 3.3900000000000000E+002 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/tf-after-battle.png" + }, + "Name" : "ImageControl6", + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 5.7100000000000000E+002 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + } + ] + } + ] + } + ] + }, + { + "$$ClassName" : "TCastleUserInterface", + "AutoSizeToChildren" : true, + "Exists" : false, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "Name" : "GroupKeys", + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleLabel", + "Alignment" : "hpMiddle", + "ColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Blue" : 1.0000000000000000E+000, + "Green" : 9.0196079015731812E-001 + }, + "FontSize" : 5.5000000000000000E+001, + "HorizontalAnchorParent" : "hpMiddle", + "HorizontalAnchorSelf" : "hpMiddle", + "LineSpacing" : 6.0000000000000000E+000, + "Name" : "LabelKeys", + "Outline" : 1, + "Text" : [ + "Keyboard controls available:", + "Enter (in menu) - start fight", + "Esc/Backspace - close any menu or scene", + "Enter or Esc/Backspace - answer dialog", + "Arrow keys or WASD - move in game", + "1-4 or E (before fight) - select weapon", + "E (in Formula dialog) - pick weapon slot", + "Press Enter 4 times - fast battle restart" + ], + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + } + ] + } + ] + }, + { + "$$ClassName" : "TCastleVerticalGroup", + "Name" : "VerticalGroup1", + "Spacing" : 1.0000000000000000E+001, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "$Children" : [ + { + "$$ClassName" : "TCastleButton", + "Caption" : "Rules", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old-disabled.png" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old.png" + }, + "FontSize" : 7.0000000000000000E+001, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonRules", + "PaddingHorizontal" : 2.0000000000000000E+001, + "PaddingVertical" : 2.0000000000000000E+001, + "Pressed" : true, + "Toggle" : true, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Caption" : "Weapon", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old-disabled.png" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old.png" + }, + "FontSize" : 7.0000000000000000E+001, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonWeapon", + "PaddingHorizontal" : 2.0000000000000000E+001, + "PaddingVertical" : 2.0000000000000000E+001, + "Toggle" : true, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -1.0214999389648438E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Caption" : "Keys", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old-disabled.png" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old.png" + }, + "FontSize" : 7.0000000000000000E+001, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonKeys", + "PaddingHorizontal" : 2.0000000000000000E+001, + "PaddingVertical" : 2.0000000000000000E+001, + "Toggle" : true, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -2.0429998779296875E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + }, + { + "$$ClassName" : "TCastleButton", + "Caption" : "Credits", + "CustomBackground" : true, + "CustomBackgroundDisabled" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundFocused" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "CustomBackgroundNormal" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old-disabled.png" + }, + "CustomBackgroundPressed" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/cell-old.png" + }, + "FontSize" : 7.0000000000000000E+001, + "Image" : { + "$$ClassName" : "TCastleImagePersistent" + }, + "Name" : "ButtonCredits", + "PaddingHorizontal" : 2.0000000000000000E+001, + "PaddingVertical" : 2.0000000000000000E+001, + "Toggle" : true, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "Y" : -3.0644998168945312E+002 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop" + } + ] } ] } \ No newline at end of file diff --git a/data/gameviewformula.castle-user-interface b/data/gameviewformula.castle-user-interface index 3a78f22..005ca56 100644 --- a/data/gameviewformula.castle-user-interface +++ b/data/gameviewformula.castle-user-interface @@ -62,6 +62,66 @@ }, "VerticalAnchorParent" : "vpMiddle", "VerticalAnchorSelf" : "vpMiddle" + }, + { + "$$ClassName" : "TCastleHorizontalGroup", + "Name" : "GroupHero", + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 1.2000000000000000E+002, + "Y" : -5.0000000000000000E+001 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop", + "$Children" : [ + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/hero-samurai.png" + }, + "Height" : 8.0000000000000000E+001, + "Name" : "ImageHero", + "Stretch" : true, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle", + "Width" : 8.0000000000000000E+001 + }, + { + "$$ClassName" : "TCastleLabel", + "FontSize" : 6.0000000000000000E+001, + "Name" : "LabelHeroLevel", + "Text" : [ + "Level" + ], + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : 8.0000000000000000E+001 + }, + "VerticalAnchorParent" : "vpMiddle", + "VerticalAnchorSelf" : "vpMiddle" + } + ] + }, + { + "$$ClassName" : "TCastleImageControl", + "Content" : { + "$$ClassName" : "TCastleImagePersistent", + "Url" : "castle-data:/resources/dragon.png" + }, + "Height" : 8.0000000000000000E+001, + "HorizontalAnchorParent" : "hpRight", + "HorizontalAnchorSelf" : "hpRight", + "Name" : "ImageEnemy", + "Stretch" : true, + "TranslationPersistent" : { + "$$ClassName" : "TCastleVector2Persistent", + "X" : -1.2000000000000000E+002, + "Y" : -5.0000000000000000E+001 + }, + "VerticalAnchorParent" : "vpTop", + "VerticalAnchorSelf" : "vpTop", + "Width" : 8.0000000000000000E+001 } ] } diff --git a/data/gameviewgame.castle-user-interface b/data/gameviewgame.castle-user-interface index df232e0..be909f5 100644 --- a/data/gameviewgame.castle-user-interface +++ b/data/gameviewgame.castle-user-interface @@ -261,7 +261,7 @@ "Name" : "ImageWeaponsBack", "TranslationPersistent" : { "$$ClassName" : "TCastleVector2Persistent", - "Y" : -1.2200000000000000E+002 + "Y" : -1.2200000762939453E+002 }, "VerticalAnchorParent" : "vpTop", "VerticalAnchorSelf" : "vpTop", @@ -336,7 +336,7 @@ "Name" : "Group2", "TranslationPersistent" : { "$$ClassName" : "TCastleVector2Persistent", - "X" : 1.5800000000000000E+002 + "X" : 1.5799998474121094E+002 }, "VerticalAnchorParent" : "vpMiddle", "VerticalAnchorSelf" : "vpMiddle", @@ -399,7 +399,7 @@ "Name" : "Group3", "TranslationPersistent" : { "$$ClassName" : "TCastleVector2Persistent", - "X" : 3.0472000122070312E+002 + "X" : 3.0471997070312500E+002 }, "VerticalAnchorParent" : "vpMiddle", "VerticalAnchorSelf" : "vpMiddle", @@ -463,7 +463,7 @@ "Name" : "Group4", "TranslationPersistent" : { "$$ClassName" : "TCastleVector2Persistent", - "X" : 4.7444000244140625E+002 + "X" : 4.7443997192382812E+002 }, "VerticalAnchorParent" : "vpMiddle", "VerticalAnchorSelf" : "vpMiddle", @@ -536,6 +536,11 @@ "Stretch" : true, "Width" : 6.4000000000000000E+001 }, + { + "$$ClassName" : "TCastleTimer", + "IntervalSeconds" : 1.0000000000000000E+000, + "Name" : "TimerBlood" + }, { "$$ClassName" : "TCastleTimer", "IntervalSeconds" : 1.0000000000000000E+000, diff --git a/data/gameviewmain.castle-user-interface b/data/gameviewmain.castle-user-interface index e7c6f03..4ab3750 100644 --- a/data/gameviewmain.castle-user-interface +++ b/data/gameviewmain.castle-user-interface @@ -112,7 +112,7 @@ { "$$ClassName" : "TCastleButton", "AutoSize" : false, - "Caption" : "Options", + "Caption" : "What a?", "CustomBackground" : true, "CustomBackgroundDisabled" : { "$$ClassName" : "TCastleImagePersistent" @@ -136,7 +136,7 @@ "Url" : "castle-data:/resources/samurai-mask.png" }, "ImageScale" : 0.0000000000000000E+000, - "Name" : "ButtonOptions", + "Name" : "ButtonCredits", "TextAlignment" : "hpRight", "TranslationPersistent" : { "$$ClassName" : "TCastleVector2Persistent", @@ -224,7 +224,7 @@ { "$$ClassName" : "TCastleButton", "AutoSize" : false, - "Caption" : "About", + "Caption" : "Options", "CustomBackground" : true, "CustomBackgroundDisabled" : { "$$ClassName" : "TCastleImagePersistent" @@ -248,7 +248,7 @@ "Url" : "castle-data:/resources/samurai-mask.png" }, "ImageScale" : 0.0000000000000000E+000, - "Name" : "ButtonCredits", + "Name" : "ButtonOptions", "TextAlignment" : "hpRight", "TranslationPersistent" : { "$$ClassName" : "TCastleVector2Persistent", diff --git a/data/gameviewwin.castle-user-interface b/data/gameviewwin.castle-user-interface index 2f68530..dd23b2a 100644 --- a/data/gameviewwin.castle-user-interface +++ b/data/gameviewwin.castle-user-interface @@ -65,10 +65,14 @@ "AutoSizeToChildren" : true, "Content" : { "$$ClassName" : "TCastleImagePersistent", + "ColorPersistent" : { + "$$ClassName" : "TCastleColorPersistent", + "Alpha" : 6.2745100259780884E-001 + }, "Url" : "castle-data:/resources/formulaback.png" }, - "HorizontalAnchorParent" : "hpMiddle", - "HorizontalAnchorSelf" : "hpMiddle", + "HorizontalAnchorParent" : "hpRight", + "HorizontalAnchorSelf" : "hpRight", "Name" : "ImageControl1", "Stretch" : true, "VerticalAnchorParent" : "vpMiddle", diff --git a/data/resources/tf-after-battle.png b/data/resources/tf-after-battle.png new file mode 100644 index 0000000..55e8b62 Binary files /dev/null and b/data/resources/tf-after-battle.png differ diff --git a/data/resources/tf-battle.png b/data/resources/tf-battle.png new file mode 100644 index 0000000..462214d Binary files /dev/null and b/data/resources/tf-battle.png differ diff --git a/data/resources/tf-enter-room.png b/data/resources/tf-enter-room.png new file mode 100644 index 0000000..0b03e5b Binary files /dev/null and b/data/resources/tf-enter-room.png differ diff --git a/data/resources/tf-levels.png b/data/resources/tf-levels.png new file mode 100644 index 0000000..9cba529 Binary files /dev/null and b/data/resources/tf-levels.png differ diff --git a/data/resources/tf-weapons.png b/data/resources/tf-weapons.png new file mode 100644 index 0000000..41012a6 Binary files /dev/null and b/data/resources/tf-weapons.png differ