diff --git a/Configs/Default.focfg b/Configs/Default.focfg index 2b3587b5e..ef2de2e5a 100644 --- a/Configs/Default.focfg +++ b/Configs/Default.focfg @@ -23,7 +23,7 @@ RtApCostReloadWeapon = 2 RtApCostPickCritter = 1 RtApCostUseItem = 3 RtApCostUseSkill = 2 -RtAlwaysRun = False +RtAlwaysRun = False ApCostAimEyes = 1 ApCostAimHead = 1 ApCostAimGroin = 1 @@ -158,8 +158,8 @@ Fullscreen = False FullscreenMouseScroll = True WindowedMouseScroll = False AlwaysOnTop = False -FixedFPS = 100 -VSync = False +FixedFPS = 0 +VSync = True Brightness = 0 MapHexagonal = True MapHexWidth = 32 @@ -179,3 +179,6 @@ UpdaterInfoDelay = 5000 UpdaterInfoPos = 1 DefaultSplash = art/splash/vault_boy.png DefaultSplashPack = FOnline +WindowCentered = True +WindowResizable = False +CollapseLogOnStart = False diff --git a/Configs/Mapper.focfg b/Configs/Mapper.focfg index 1f22af45d..8be931059 100644 --- a/Configs/Mapper.focfg +++ b/Configs/Mapper.focfg @@ -9,3 +9,4 @@ Anim2CombatEnd = Anim2Actions::EndCombat SplitTilesCollection = True ConsoleHistorySize = 100 ClientResourceEntries = Mapper CommonData FOnline FOArt BlackCombatArmor Lieutenant LongHairDude Music Video +MapsDir = ../Maps diff --git a/Configs/PublicGame.focfg b/Configs/PublicGame.focfg index ebe21b17b..a0f67355b 100644 --- a/Configs/PublicGame.focfg +++ b/Configs/PublicGame.focfg @@ -3,3 +3,4 @@ $Parent = Default ServerSleep = -1 ServerHost = 111.222.111.222 ServerPort = 9999 +CollapseLogOnStart = True diff --git a/Engine b/Engine index 65a67aa54..552d00829 160000 --- a/Engine +++ b/Engine @@ -1 +1 @@ -Subproject commit 65a67aa54925e5b034f24b917a3d65d21d53d3d0 +Subproject commit 552d008294de0ce6c26074c6198124baf42a1541 diff --git a/Gui/Cursor.fogui b/Gui/Cursor.fogui index 8e992a4ea..2f8496469 100644 --- a/Gui/Cursor.fogui +++ b/Gui/Cursor.fogui @@ -80,7 +80,7 @@ "OnHide": null, "OnAppear": null, "OnDisappear": null, - "OnDraw": "if( Settings.HideCursor )\r\n return;\r\n\r\nint cursor = Settings.Cursor;\r\n// Move cursor\r\nSettings.ShowMoveCursor = ( cursor == CursorType::Move );\r\n// Game scroll\r\nbool hasMouseScroll = true;\r\nif( Settings.ScrollMouseLeft && Settings.ScrollMouseUp )\r\n CursorMoveScreen[ 7 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\nelse if( Settings.ScrollMouseRight && Settings.ScrollMouseUp )\r\n CursorMoveScreen[ 1 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 1, -1 );\r\nelse if( Settings.ScrollMouseLeft && Settings.ScrollMouseDown )\r\n CursorMoveScreen[ 5 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, 1 );\r\nelse if( Settings.ScrollMouseRight && Settings.ScrollMouseDown )\r\n CursorMoveScreen[ 3 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 1, 1 );\r\nelse if( Settings.ScrollMouseLeft )\r\n CursorMoveScreen[ 6 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, 0 );\r\nelse if( Settings.ScrollMouseRight )\r\n CursorMoveScreen[ 2 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 1, 0 );\r\nelse if( Settings.ScrollMouseUp )\r\n CursorMoveScreen[ 0 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, -1 );\r\nelse if( Settings.ScrollMouseDown )\r\n CursorMoveScreen[ 4 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 1 );\r\nelse\r\n hasMouseScroll = false;\r\nif( hasMouseScroll )\r\n return;\r\n// Attack contours\r\nint contour = ( cursor == CursorType::UseWeapon ? 3 : 0 );\r\nif( contour != CurCrittersCountour )\r\n{\r\n CurCrittersCountour = contour;\r\n Game.CustomCall( \"SetCrittersContour \" + CurCrittersCountour );\r\n}\r\n\r\n// Other cursors\r\nif( cursor == CursorType::UseWeapon )\r\n{\r\n CursorAttack.Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 0 );\r\n\r\n Critter@ chosen = Game.GetChosen();\r\n if( chosen is null )\r\n return;\r\n\r\n Critter@ cr = Game.GetCritterAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n if( cr is null || cr is chosen )\r\n return;\r\n\r\n uint attackDist = Parameters::GetActiveItemAttackDistantion( chosen );\r\n if( attackDist == 0 )\r\n return;\r\n\r\n bool trace = false;\r\n Critter@[] critters = {};\r\n critters = Game.GetCrittersInPath( chosen.HexX, chosen.HexY, cr.HexX, cr.HexY, 0.0f, attackDist, CritterFindType::Any );\r\n for( uint i = 0; i < critters.length(); i++ )\r\n {\r\n if( critters[ i ].Id == cr.Id )\r\n {\r\n trace = true;\r\n break;\r\n }\r\n }\r\n if( !trace )\r\n return;\r\n\r\n Item@ item = chosen.GetItem( ItemProperty::CritterSlot, SLOT_HAND1 );\r\n int hit = ClientMain::to_hit( chosen, cr, item, item.Mode );\r\n if( hit == 0 )\r\n return;\r\n \r\n Game.DrawText( hit + \"%\", Settings.MouseX + 6, Settings.MouseY + 6, 100, 100, COLOR_RED, Fonts::Default, 0 );\r\n}\r\nelse if( cursor == CursorType::UseItem )\r\n{\r\n CursorUseItem.Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 0 );\r\n}\r\nelse if( cursor == CursorType::UseSkill )\r\n{\r\n CursorUseSkill.Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 0 );\r\n}\r\nelse if( cursor == CursorType::Move )\r\n{\r\n uint16 hx, hy;\r\n if( !Game.GetHexAtScreenPos( Settings.MouseX, Settings.MouseY, hx, hy ) )\r\n CursorDefault.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}\r\nelse if( cursor == CursorType::Default )\r\n{\r\n CursorDefault.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}\r\nelse if( cursor == CursorType::Hand )\r\n{\r\n //Game.CustomCall( \"CurDrawHand\" );\r\n CursorHand.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}\r\nelse\r\n{\r\n CursorDefault.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}", + "OnDraw": "if( Settings.HideCursor )\r\n return;\r\n\r\nint cursor = Settings.Cursor;\r\n// Move cursor\r\nSettings.ShowMoveCursor = ( cursor == CursorType::Move );\r\n// Game scroll\r\nbool hasMouseScroll = true;\r\nif( Settings.ScrollMouseLeft && Settings.ScrollMouseUp )\r\n CursorMoveScreen[ 7 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\nelse if( Settings.ScrollMouseRight && Settings.ScrollMouseUp )\r\n CursorMoveScreen[ 1 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 1, -1 );\r\nelse if( Settings.ScrollMouseLeft && Settings.ScrollMouseDown )\r\n CursorMoveScreen[ 5 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, 1 );\r\nelse if( Settings.ScrollMouseRight && Settings.ScrollMouseDown )\r\n CursorMoveScreen[ 3 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 1, 1 );\r\nelse if( Settings.ScrollMouseLeft )\r\n CursorMoveScreen[ 6 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, 0 );\r\nelse if( Settings.ScrollMouseRight )\r\n CursorMoveScreen[ 2 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 1, 0 );\r\nelse if( Settings.ScrollMouseUp )\r\n CursorMoveScreen[ 0 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, -1 );\r\nelse if( Settings.ScrollMouseDown )\r\n CursorMoveScreen[ 4 ].Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 1 );\r\nelse\r\n hasMouseScroll = false;\r\nif( hasMouseScroll )\r\n return;\r\n// Attack contours\r\nint contour = ( cursor == CursorType::UseWeapon ? 3 : 0 );\r\nif( contour != CurCrittersCountour )\r\n{\r\n CurCrittersCountour = contour;\r\n Game.CustomCall( \"SetCrittersContour \" + CurCrittersCountour );\r\n}\r\n\r\n// Other cursors\r\nif( cursor == CursorType::UseWeapon )\r\n{\r\n CursorAttack.Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 0 );\r\n\r\n Critter@ chosen = Game.GetChosen();\r\n if( chosen is null )\r\n return;\r\n\r\n Critter@ cr = CurMap.GetCritterAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n if( cr is null || cr is chosen )\r\n return;\r\n\r\n uint attackDist = Parameters::GetActiveItemAttackDistantion( chosen );\r\n if( attackDist == 0 )\r\n return;\r\n\r\n bool trace = false;\r\n Critter@[] critters = {};\r\n critters = Game.GetCrittersInPath( chosen.HexX, chosen.HexY, cr.HexX, cr.HexY, 0.0f, attackDist, CritterFindType::Any );\r\n for( uint i = 0; i < critters.length(); i++ )\r\n {\r\n if( critters[ i ].Id == cr.Id )\r\n {\r\n trace = true;\r\n break;\r\n }\r\n }\r\n if( !trace )\r\n return;\r\n\r\n Item@ item = chosen.GetItem( ItemProperty::CritterSlot, SLOT_HAND1 );\r\n int hit = ClientMain::to_hit( chosen, cr, item, item.Mode );\r\n if( hit == 0 )\r\n return;\r\n \r\n Game.DrawText( hit + \"%\", Settings.MouseX + 6, Settings.MouseY + 6, 100, 100, COLOR_RED, Fonts::Default, 0 );\r\n}\r\nelse if( cursor == CursorType::UseItem )\r\n{\r\n CursorUseItem.Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 0 );\r\n}\r\nelse if( cursor == CursorType::UseSkill )\r\n{\r\n CursorUseSkill.Draw( Settings.MouseX, Settings.MouseY, 0, 0, 0, 0 );\r\n}\r\nelse if( cursor == CursorType::Move )\r\n{\r\n uint16 hx, hy;\r\n if( !CurMap.GetHexAtScreenPos( Settings.MouseX, Settings.MouseY, hx, hy ) )\r\n CursorDefault.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}\r\nelse if( cursor == CursorType::Default )\r\n{\r\n CursorDefault.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}\r\nelse if( cursor == CursorType::Hand )\r\n{\r\n //Game.CustomCall( \"CurDrawHand\" );\r\n CursorHand.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}\r\nelse\r\n{\r\n CursorDefault.Draw( Settings.MouseX, Settings.MouseY, 0, 0, -1, -1 );\r\n}", "OnPostDraw": null, "OnMove": null, "OnMouseDown": null, diff --git a/Gui/Game.fogui b/Gui/Game.fogui index 24f08a685..320ce409d 100644 --- a/Gui/Game.fogui +++ b/Gui/Game.fogui @@ -22,7 +22,7 @@ "IsDraggable": false, "IsNotHittable": true, "CheckTransparentOnHit": false, - "GlobalScope": "string FormatXXX( int value )\r\n{\r\n string result = \"\";\r\n int offs = 0;\r\n if( value >= 0 )\r\n {\r\n result += Game.EncodeUTF8( '9' + 4 );\r\n }\r\n else\r\n {\r\n offs = 0x20;\r\n result += Game.EncodeUTF8( '9' + offs + 3 );\r\n value = -value;\r\n }\r\n\r\n value = CLAMP( value, 0, 999 );\r\n\r\n result += Game.EncodeUTF8( '0' + offs + value / 100 );\r\n result += Game.EncodeUTF8( '0' + offs + value / 10 % 10 );\r\n result += Game.EncodeUTF8( '0' + offs + value % 10 );\r\n\r\n return result;\r\n}\r\n\r\n\r\n void GameLMouseDown()\r\n{\r\n Critter@ chosen = Game.GetChosen();\r\n if( chosen is null )\r\n return;\r\n\r\n int cursor = Settings.Cursor;\r\n if( cursor == CursorType::Move )\r\n {\r\n uint[] actions = {};\r\n ChosenActions::GetChosenActions( actions );\r\n bool isMoveAction = ( actions.length() > 0 && actions[ 0 ] == Tla::ChosenMove );\r\n if( isMoveAction && Game.GetTick() - actions[ 6 ] < Settings.DoubleClickTime )\r\n {\r\n actions[ 3 ] = ( Settings.AlwaysRun ? 0 : 1 );\r\n actions[ 5 ] = 0;\r\n ChosenActions::SetChosenActions( actions );\r\n }\r\n else\r\n {\r\n uint16 hx = 0, hy = 0;\r\n if( Game.GetHexAtScreenPos( Settings.MouseX, Settings.MouseY, hx, hy ) )\r\n {\r\n uint dist = Game.GetDistance( chosen.HexX, chosen.HexY, hx, hy );\r\n bool isRun = ( Input::IsShiftDown() ? !Settings.AlwaysRun : Settings.AlwaysRun && dist >= Settings.AlwaysRunMoveDist );\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenMove, hx, hy, isRun ? 1 : 0, 0, isMoveAction ? 0 : 1, Game.GetTick() } );\r\n }\r\n }\r\n }\r\n else if( cursor == CursorType::UseSkill && Settings.CursorData > 0)\r\n {\r\n Critter@ cr = Game.GetCritterAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n Entity@ entity = Game.GetEntityAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n Item@ item = cast< Item >( entity );\r\n CritterProperty skill = CritterProperty( Settings.CursorData );\r\n if( cr != null )\r\n {\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseSklOnCritter, uint( skill ), cr.Id, 0, 0, 0, 0 } ); \r\n GuiScreensExt::NextCursor();\r\n Settings.CursorData = 0;\r\n }\r\n else\r\n {\r\n if( item !is null )\r\n {\r\n if( item.Type != ItemType::Generic && item.Type != ItemType::Grid )\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseSklOnItem, uint( skill ), item.Id, 0,0, 0, 0 } );\r\n else \r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseSklOnScen, uint( skill ), item.ProtoId.hash, item.HexX, item.HexY, 0, 0 } );\r\n GuiScreensExt::NextCursor();\r\n Settings.CursorData = 0;\r\n }\r\n }\r\n }\r\n else if( cursor == CursorType::UseItem || cursor == CursorType::UseWeapon )\r\n {\r\n bool isAttack = ( cursor == CursorType::UseWeapon );\r\n Item@ useItem = ( !isAttack && Settings.CursorData != 0 ? chosen.GetItem( Settings.CursorData ) : chosen.GetItem( ItemProperty::CritterSlot, SLOT_HAND1 ) );\r\n if( useItem !is null )\r\n {\r\n Entity@ entity = null;\r\n if( isAttack )\r\n @entity = Game.GetEntityAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n else\r\n @entity = Game.GetEntityAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n\r\n Critter@ cr = cast< Critter >( entity );\r\n Item@ item = cast< Item >( entity );\r\n Item realWeapon = chosen.GetItem( ItemProperty::CritterSlot, SLOT_HAND1 );\r\n uint8 mode = ( valid( realWeapon ) ? useItem.Mode : chosen.HandsItemMode);\r\n if( cr !is null )\r\n {\r\n if( isAttack && _WeaponModeAim( mode ) != 0 )\r\n {\r\n //IsCritterCanAim( chosen.ModelName ) && \r\n if( !chosen.IsNoAim )\r\n {\r\n dict dict = {};\r\n dict[ \"TargetCritterId\" ] = \"\" + cr.Id;\r\n Game.ShowScreen( CLIENT_SCREEN_AIM, dict );\r\n }\r\n }\r\n else\r\n {\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseItem, useItem.Id, 0, TARGET_CRITTER, cr.Id, isAttack ? mode : USE_USE, 0 } );\r\n }\r\n }\r\n else if( item !is null )\r\n {\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseItem, useItem.Id, 0, TARGET_ITEM, item.Id, USE_USE, 0 } );\r\n }\r\n }\r\n }\r\n}\r\n \r\n \r\n void GameLMouseUp()\r\n {\r\n \r\n }", + "GlobalScope": "string FormatXXX( int value )\r\n{\r\n string result = \"\";\r\n int offs = 0;\r\n if( value >= 0 )\r\n {\r\n result += Game.EncodeUTF8( '9' + 4 );\r\n }\r\n else\r\n {\r\n offs = 0x20;\r\n result += Game.EncodeUTF8( '9' + offs + 3 );\r\n value = -value;\r\n }\r\n\r\n value = CLAMP( value, 0, 999 );\r\n\r\n result += Game.EncodeUTF8( '0' + offs + value / 100 );\r\n result += Game.EncodeUTF8( '0' + offs + value / 10 % 10 );\r\n result += Game.EncodeUTF8( '0' + offs + value % 10 );\r\n\r\n return result;\r\n}\r\n\r\n\r\n void GameLMouseDown()\r\n{\r\n Critter@ chosen = Game.GetChosen();\r\n if( chosen is null )\r\n return;\r\n\r\n int cursor = Settings.Cursor;\r\n if( cursor == CursorType::Move )\r\n {\r\n uint[] actions = {};\r\n ChosenActions::GetChosenActions( actions );\r\n bool isMoveAction = ( actions.length() > 0 && actions[ 0 ] == Tla::ChosenMove );\r\n if( isMoveAction && Game.GetTick() - actions[ 6 ] < Settings.DoubleClickTime )\r\n {\r\n actions[ 3 ] = ( Settings.AlwaysRun ? 0 : 1 );\r\n actions[ 5 ] = 0;\r\n ChosenActions::SetChosenActions( actions );\r\n }\r\n else\r\n {\r\n uint16 hx = 0, hy = 0;\r\n if( CurMap.GetHexAtScreenPos( Settings.MouseX, Settings.MouseY, hx, hy ) )\r\n {\r\n uint dist = Game.GetDistance( chosen.HexX, chosen.HexY, hx, hy );\r\n bool isRun = ( Input::IsShiftDown() ? !Settings.AlwaysRun : Settings.AlwaysRun && dist >= Settings.AlwaysRunMoveDist );\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenMove, hx, hy, isRun ? 1 : 0, 0, isMoveAction ? 0 : 1, Game.GetTick() } );\r\n }\r\n }\r\n }\r\n else if( cursor == CursorType::UseSkill && Settings.CursorData > 0)\r\n {\r\n Critter@ cr = CurMap.GetCritterAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n Entity@ entity = CurMap.GetEntityAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n Item@ item = cast< Item >( entity );\r\n CritterProperty skill = CritterProperty( Settings.CursorData );\r\n if( cr != null )\r\n {\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseSklOnCritter, uint( skill ), cr.Id, 0, 0, 0, 0 } ); \r\n GuiScreensExt::NextCursor();\r\n Settings.CursorData = 0;\r\n }\r\n else\r\n {\r\n if( item !is null )\r\n {\r\n if( item.Type != ItemType::Generic && item.Type != ItemType::Grid )\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseSklOnItem, uint( skill ), item.Id, 0,0, 0, 0 } );\r\n else \r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseSklOnScen, uint( skill ), item.ProtoId.hash, item.HexX, item.HexY, 0, 0 } );\r\n GuiScreensExt::NextCursor();\r\n Settings.CursorData = 0;\r\n }\r\n }\r\n }\r\n else if( cursor == CursorType::UseItem || cursor == CursorType::UseWeapon )\r\n {\r\n bool isAttack = ( cursor == CursorType::UseWeapon );\r\n Item@ useItem = ( !isAttack && Settings.CursorData != 0 ? chosen.GetItem( Settings.CursorData ) : chosen.GetItem( ItemProperty::CritterSlot, SLOT_HAND1 ) );\r\n if( useItem !is null )\r\n {\r\n Entity@ entity = null;\r\n if( isAttack )\r\n @entity = CurMap.GetEntityAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n else\r\n @entity = CurMap.GetEntityAtScreenPos( Settings.MouseX, Settings.MouseY );\r\n\r\n Critter@ cr = cast< Critter >( entity );\r\n Item@ item = cast< Item >( entity );\r\n Item realWeapon = chosen.GetItem( ItemProperty::CritterSlot, SLOT_HAND1 );\r\n uint8 mode = ( valid( realWeapon ) ? useItem.Mode : chosen.HandsItemMode);\r\n if( cr !is null )\r\n {\r\n if( isAttack && _WeaponModeAim( mode ) != 0 )\r\n {\r\n //IsCritterCanAim( chosen.ModelName ) && \r\n if( !chosen.IsNoAim )\r\n {\r\n dict dict = {};\r\n dict[ \"TargetCritterId\" ] = \"\" + cr.Id;\r\n Game.ShowScreen( CLIENT_SCREEN_AIM, dict );\r\n }\r\n }\r\n else\r\n {\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseItem, useItem.Id, 0, TARGET_CRITTER, cr.Id, isAttack ? mode : USE_USE, 0 } );\r\n }\r\n }\r\n else if( item !is null )\r\n {\r\n ChosenActions::SetChosenActions( array< uint > = { Tla::ChosenUseItem, useItem.Id, 0, TARGET_ITEM, item.Id, USE_USE, 0 } );\r\n }\r\n }\r\n }\r\n}\r\n \r\n \r\n void GameLMouseUp()\r\n {\r\n \r\n }", "ClassFields": "bool isHitIfaceOnMouseDown;", "OnInit": null, "OnShow": null, @@ -41,7 +41,7 @@ "OnLMouseClick": null, "OnRMouseClick": null, "OnMouseMove": null, - "OnGlobalMouseDown": "if( Settings.MapZooming && Settings.SpritesZoomMin != Settings.SpritesZoomMax )\r\n{\r\n if( button == MouseButton::WheelUp )\r\n Game.ChangeZoom( Settings.SpritesZoom - 0.01 );\r\n else if( button == MouseButton::WheelDown )\r\n Game.ChangeZoom( Settings.SpritesZoom + 0.01 );\r\n else if( button == MouseButton::Middle )\r\n Game.ChangeZoom( 1.0 );\r\n}\r\n\r\nif( GetChild( 0 ).FindMouseHit() is null )\r\n{\r\n if( button == MouseButton::Left )\r\n GameLMouseDown();\r\n else if( button == MouseButton::Right )\r\n isHitIfaceOnMouseDown = ( FindMouseHit() !is null );\r\n}", + "OnGlobalMouseDown": "if( Settings.MapZooming && Settings.SpritesZoomMin != Settings.SpritesZoomMax )\r\n{\r\n if( button == MouseButton::WheelUp )\r\n CurMap.ChangeZoom( CurMap.SpritesZoom - 0.01 );\r\n else if( button == MouseButton::WheelDown )\r\n CurMap.ChangeZoom( CurMap.SpritesZoom + 0.01 );\r\n else if( button == MouseButton::Middle )\r\n CurMap.ChangeZoom( 1.0 );\r\n}\r\n\r\nif( GetChild( 0 ).FindMouseHit() is null )\r\n{\r\n if( button == MouseButton::Left )\r\n GameLMouseDown();\r\n else if( button == MouseButton::Right )\r\n isHitIfaceOnMouseDown = ( FindMouseHit() !is null );\r\n}", "OnGlobalMouseUp": "if( GetChild( 0 ).FindMouseHit() is null )\r\n{\r\n if( button == MouseButton::Left )\r\n GameLMouseUp();\r\n else if( button == MouseButton::Right && !isHitIfaceOnMouseDown )\r\n GuiScreensExt::NextCursor();\r\n}", "OnGlobalMousePressed": null, "OnGlobalMouseClick": "", diff --git a/Gui/Options.fogui b/Gui/Options.fogui index 017022a7e..d7aa9261e 100644 --- a/Gui/Options.fogui +++ b/Gui/Options.fogui @@ -607,7 +607,7 @@ "OnLMousePressed": null, "OnRMousePressed": null, "OnMouseClick": null, - "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 0 ] + \" \" + ScreenHeightOpt[ 0 ] );\r\nGui::Callback_OnResolutionChanged();\r\nSaveOptions();", + "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 0 ] + \" \" + ScreenHeightOpt[ 0 ] );\r\n\r\nSaveOptions();", "OnRMouseClick": null, "OnMouseMove": null, "OnGlobalMouseDown": null, @@ -727,7 +727,7 @@ "OnLMousePressed": null, "OnRMousePressed": null, "OnMouseClick": null, - "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 1 ] + \" \" + ScreenHeightOpt[ 1 ] );\r\nGui::Callback_OnResolutionChanged();\r\nSaveOptions();", + "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 1 ] + \" \" + ScreenHeightOpt[ 1 ] );\r\n\r\nSaveOptions();", "OnRMouseClick": null, "OnMouseMove": null, "OnGlobalMouseDown": null, @@ -847,7 +847,7 @@ "OnLMousePressed": null, "OnRMousePressed": null, "OnMouseClick": null, - "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 2 ] + \" \" + ScreenHeightOpt[ 2 ] );\r\nGui::Callback_OnResolutionChanged();\r\nSaveOptions();", + "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 2 ] + \" \" + ScreenHeightOpt[ 2 ] );\r\n\r\nSaveOptions();", "OnRMouseClick": null, "OnMouseMove": null, "OnGlobalMouseDown": null, @@ -967,7 +967,7 @@ "OnLMousePressed": null, "OnRMousePressed": null, "OnMouseClick": null, - "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 3 ] + \" \" + ScreenHeightOpt[ 3 ] );\r\nGui::Callback_OnResolutionChanged();\r\nSaveOptions();", + "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 3 ] + \" \" + ScreenHeightOpt[ 3 ] );\r\n\r\nSaveOptions();", "OnRMouseClick": null, "OnMouseMove": null, "OnGlobalMouseDown": null, @@ -1087,7 +1087,7 @@ "OnLMousePressed": null, "OnRMousePressed": null, "OnMouseClick": null, - "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 4 ] + \" \" + ScreenHeightOpt[ 4 ] );\r\nGui::Callback_OnResolutionChanged();\r\nSaveOptions();", + "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 4 ] + \" \" + ScreenHeightOpt[ 4 ] );\r\n\r\nSaveOptions();", "OnRMouseClick": null, "OnMouseMove": null, "OnGlobalMouseDown": null, @@ -1207,7 +1207,7 @@ "OnLMousePressed": null, "OnRMousePressed": null, "OnMouseClick": null, - "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 5 ] + \" \" + ScreenHeightOpt[ 5 ] );\r\nGui::Callback_OnResolutionChanged();\r\nSaveOptions();", + "OnLMouseClick": "Game.CustomCall( \"SetResolution \" + ScreenWidthOpt[ 5 ] + \" \" + ScreenHeightOpt[ 5 ] );\r\n\r\nSaveOptions();", "OnRMouseClick": null, "OnMouseMove": null, "OnGlobalMouseDown": null, diff --git a/Scripts/ChosenActions.fos b/Scripts/ChosenActions.fos index 527bdd709..01ee74a20 100644 --- a/Scripts/ChosenActions.fos +++ b/Scripts/ChosenActions.fos @@ -78,7 +78,7 @@ void ChosenProcess() Game.CustomCall("ChosenAlpha " + (chosen.IsHide ? 130 : 255)); // Shoot borders - Game.SetShootBorders(Settings.Cursor == CursorType::UseWeapon); + CurMap.SetShootBorders(Settings.Cursor == CursorType::UseWeapon); if (chosen.IsMoving()) { return; @@ -174,16 +174,16 @@ void ChosenProcess() } // Find path - uint8[] path = Game.GetPath(chosen.HexX, chosen.HexY, hx, hy, cut); + uint8[] path = CurMap.GetPath(chosen.HexX, chosen.HexY, hx, hy, cut); if (path.isEmpty() && Game.GetDistance(chosen.HexX, chosen.HexY, hx, hy) > cut + 1) - path = Game.GetPath(chosen.HexX, chosen.HexY, hx, hy, ++cut); + path = CurMap.GetPath(chosen.HexX, chosen.HexY, hx, hy, ++cut); // Move to if (!path.isEmpty()) { uint16 hexX = chosen.HexX; uint16 hexY = chosen.HexY; for (uint i = 0; i < path.length(); i++) - Game.MoveHexByDir(hexX, hexY, path[i], 1); + CurMap.MoveHexByDir(hexX, hexY, path[i], 1); chosen.MoveToHex(hexX, hexY, 0, 0, isRun ? chosen.WalkSpeed * 2 : chosen.WalkSpeed); @@ -408,7 +408,8 @@ void ChosenProcess() SetAction(array = {Tla::ChosenMoveToCrit, targetCr.Id, 0, isRun ? 1 : 0, maxDist, 0, 0}, false, false); else SetAction(array = {Tla::ChosenMove, hx, hy, isRun ? 1 : 0, maxDist, 0, 1}, false, false); - if (Game.GetPathLength(chosen, hx, hy, maxDist) > 0) + + if (CurMap.GetPathLength(chosen, hx, hy, maxDist) > 0) SetAction(curAction, true, false); return; @@ -647,7 +648,7 @@ void ChosenProcess() if (dist > useDist) { bool isRun = false; // 814 ( Settings.AlwaysRun && dist >= Settings.AlwaysRunUseDist ); SetAction(array = {Tla::ChosenMove, hx, hy, isRun ? 1 : 0, useDist, 0, 1}, false, false); - if (Game.GetPathLength(chosen, hx, hy, useDist) > 0) + if (CurMap.GetPathLength(chosen, hx, hy, useDist) > 0) SetAction(array = {Tla::ChosenUseSklOnItem, uint(skill), itemId, ChosenActions[3], 0, 0, 0}, true, false); return; @@ -674,7 +675,7 @@ void ChosenProcess() bool isRun = false; // 814 ( Settings.AlwaysRun && dist >= Settings.AlwaysRunUseDist ); SetAction(array = {Tla::ChosenMoveToCrit, cr.Id, 0, isRun ? 1 : 0, useDist, 0, 0}, false, false); // Возможна ситуация, когда до цели нельзя дойти. - if (Game.GetPathLength(chosen, cr.HexX, cr.HexY, useDist) > 0) + if (CurMap.GetPathLength(chosen, cr.HexX, cr.HexY, useDist) > 0) SetAction(array = {Tla::ChosenUseSklOnCritter, uint(skill), cr.Id, 0, 0, 0, 0}, true, false); return; @@ -710,7 +711,7 @@ void ChosenProcess() SetAction(array = {Tla::ChosenMoveToCrit, cr.Id, 0, isRun ? 1 : 0, talkDistance, 0, 0}, false, false); uint16 hx = cr.HexX; uint16 hy = cr.HexY; - if (Game.GetPathLength(chosen, hx, hy, talkDistance) > 0) + if (CurMap.GetPathLength(chosen, hx, hy, talkDistance) > 0) SetAction(array = {Tla::ChosenTalkNpc, cr.Id, 0, 0, 0, 0, 0}, true, false); return; @@ -745,7 +746,7 @@ void ChosenProcess() bool isRun = false; // 814 ( Settings.AlwaysRun && dist >= Settings.AlwaysRunUseDist ); SetAction(array = {Tla::ChosenMove, hx, hy, isRun ? 1 : 0, useDist, 0, 1}, false, false); - if (Game.GetPathLength(chosen, hx, hy, useDist) > 0) + if (CurMap.GetPathLength(chosen, hx, hy, useDist) > 0) SetAction(array = {Tla::ChosenPickItem, pid.hash, hx, hy, 0, 0, 0}, true, false); return; } @@ -788,7 +789,7 @@ void ChosenProcess() if (dist > pickDist) { bool isRun = false; // 814 ( Settings.AlwaysRun && dist >= Settings.AlwaysRunUseDist ); SetAction(array = {Tla::ChosenMoveToCrit, cr.Id, 0, isRun ? 1 : 0, pickDist, 0, 0}, false, false); - if (Game.GetPathLength(chosen, cr.HexX, cr.HexY, pickDist) > 0) + if (CurMap.GetPathLength(chosen, cr.HexX, cr.HexY, pickDist) > 0) SetAction(curAction, true, false); return; } diff --git a/Scripts/ClientMain.fos b/Scripts/ClientMain.fos index bec05d234..7a80bcb47 100644 --- a/Scripts/ClientMain.fos +++ b/Scripts/ClientMain.fos @@ -30,6 +30,7 @@ void ModuleInit() Game.OnCritterActionEx.Subscribe(critter_action); Game.OnCritterAnimationProcess.Subscribe(critter_animation_process); Game.OnItemsCollection.Subscribe(items_collection); + Game.OnScreenSizeChanged.Subscribe(on_screen_size_changed); } // ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -94,13 +95,15 @@ void loop() // (uint& wait) if (hoveredObj.Grid != null && cast(hoveredObj.Grid) != null) item = cast(hoveredObj.Grid).GetItem(hoveredObj.CellIndex); } - else if (!screen.IsModal) { - Entity entity = Game.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); + else if (CurMap != null && !screen.IsModal) { + Entity entity = CurMap.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); item = cast(entity); cr = cast(entity); } - if (item != null) + + if (item != null) { Game.Message(item_description(item, ItemLookTypes::OnlyName)); + } else if (cr != null) { Game.Log("CritterLookTypes::LookShort"); Game.Message(critter_description(cr, CritterLookTypes::LookShort)); @@ -173,7 +176,7 @@ void render_iface() // Zoom text if (Settings.MapZooming && Settings.SpritesZoomMin != Settings.SpritesZoomMax) { string zoomText = MSG_GAME(MsgStr::StrZoom); - zoomText = Game.ReplaceText(zoomText, "%d", "" + int(1.0 / Settings.SpritesZoom * 100.0)); + zoomText = Game.ReplaceText(zoomText, "%d", "" + int(1.0 / CurMap.SpritesZoom * 100.0)); zoomText = Game.ReplaceText(zoomText, "%%", "%"); Game.DrawText(zoomText, 0, 0, Settings.ScreenWidth, Settings.ScreenHeight, COLOR_SAND, Fonts::Big, FT_CENTERX | FT_CENTERY); } @@ -433,7 +436,7 @@ int to_hit(Critter chosen, Critter target, Item weapon, uint8 weaponMode) toHit += acc; - blockers = Game.GetCrittersInPath(chosen.HexX, chosen.HexY, target.HexX, target.HexY, 0.0f, dist, CritterFindType::Alive).length(); + blockers = CurMap.GetCrittersInPath(chosen.HexX, chosen.HexY, target.HexX, target.HexY, 0.0f, dist, CritterFindType::Alive).length(); if (!target.IsKnockout()) blockers--; toHit -= 10 * blockers; @@ -758,7 +761,7 @@ void CombatResult(uint[] data) // On head indication if (Settings.DamageHitDelay > 0 && damage > 0) - Game.MapMessage("-" + damage, cr.HexX, cr.HexY, Settings.DamageHitDelay, 0xFFC80000, true, Game.Random(-5, 5), -20); + CurMap.Message("-" + damage, cr.HexX, cr.HexY, Settings.DamageHitDelay, 0xFFC80000, true, Game.Random(-5, 5), -20); } } @@ -1586,3 +1589,8 @@ bool lmenu_node_select(int nodeType, Critter cr, Item item) // Pass to engine handler return false; } + +void on_screen_size_changed() +{ + Gui::Callback_OnResolutionChanged(); +} diff --git a/Scripts/GuiScreens.fos b/Scripts/GuiScreens.fos index cbfd98653..3746296e5 100644 --- a/Scripts/GuiScreens.fos +++ b/Scripts/GuiScreens.fos @@ -2247,7 +2247,7 @@ namespace Game } else { uint16 hx = 0, hy = 0; - if (Game.GetHexAtScreenPos(Settings.MouseX, Settings.MouseY, hx, hy)) { + if (CurMap.GetHexAtScreenPos(Settings.MouseX, Settings.MouseY, hx, hy)) { uint dist = Game.GetDistance(chosen.HexX, chosen.HexY, hx, hy); bool isRun = (Input::IsShiftDown() ? !Settings.AlwaysRun : Settings.AlwaysRun && dist >= Settings.AlwaysRunMoveDist); ChosenActions::SetChosenActions(array = {Tla::ChosenMove, hx, hy, isRun ? 1 : 0, 0, isMoveAction ? 0 : 1, Game.GetTick()}); @@ -2255,8 +2255,8 @@ namespace Game } } else if (cursor == CursorType::UseSkill && Settings.CursorData > 0) { - Critter @cr = Game.GetCritterAtScreenPos(Settings.MouseX, Settings.MouseY); - Entity @entity = Game.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); + Critter @cr = CurMap.GetCritterAtScreenPos(Settings.MouseX, Settings.MouseY); + Entity @entity = CurMap.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); Item @item = cast(entity); CritterProperty skill = CritterProperty(Settings.CursorData); if (cr != null) { @@ -2282,9 +2282,9 @@ namespace Game if (useItem !is null) { Entity @entity = null; if (isAttack) - @entity = Game.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); + @entity = CurMap.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); else - @entity = Game.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); + @entity = CurMap.GetEntityAtScreenPos(Settings.MouseX, Settings.MouseY); Critter @cr = cast(entity); Item @item = cast(entity); @@ -2331,11 +2331,11 @@ namespace Game { if (Settings.MapZooming && Settings.SpritesZoomMin != Settings.SpritesZoomMax) { if (button == MouseButton::WheelUp) - Game.ChangeZoom(Settings.SpritesZoom - 0.01); + CurMap.ChangeZoom(CurMap.SpritesZoom - 0.01); else if (button == MouseButton::WheelDown) - Game.ChangeZoom(Settings.SpritesZoom + 0.01); + CurMap.ChangeZoom(CurMap.SpritesZoom + 0.01); else if (button == MouseButton::Middle) - Game.ChangeZoom(1.0); + CurMap.ChangeZoom(1.0); } if (GetChild(0).FindMouseHit() is null) { @@ -5031,7 +5031,7 @@ namespace Options void OnLMouseClick() override { Game.CustomCall("SetResolution " + ScreenWidthOpt[0] + " " + ScreenHeightOpt[0]); - Gui::Callback_OnResolutionChanged(); + SaveOptions(); } }; @@ -5059,7 +5059,7 @@ namespace Options void OnLMouseClick() override { Game.CustomCall("SetResolution " + ScreenWidthOpt[1] + " " + ScreenHeightOpt[1]); - Gui::Callback_OnResolutionChanged(); + SaveOptions(); } }; @@ -5087,7 +5087,7 @@ namespace Options void OnLMouseClick() override { Game.CustomCall("SetResolution " + ScreenWidthOpt[2] + " " + ScreenHeightOpt[2]); - Gui::Callback_OnResolutionChanged(); + SaveOptions(); } }; @@ -5115,7 +5115,7 @@ namespace Options void OnLMouseClick() override { Game.CustomCall("SetResolution " + ScreenWidthOpt[3] + " " + ScreenHeightOpt[3]); - Gui::Callback_OnResolutionChanged(); + SaveOptions(); } }; @@ -5143,7 +5143,7 @@ namespace Options void OnLMouseClick() override { Game.CustomCall("SetResolution " + ScreenWidthOpt[4] + " " + ScreenHeightOpt[4]); - Gui::Callback_OnResolutionChanged(); + SaveOptions(); } }; @@ -5171,7 +5171,7 @@ namespace Options void OnLMouseClick() override { Game.CustomCall("SetResolution " + ScreenWidthOpt[5] + " " + ScreenHeightOpt[5]); - Gui::Callback_OnResolutionChanged(); + SaveOptions(); } }; @@ -14854,7 +14854,7 @@ namespace Cursor if (chosen is null) return; - Critter @cr = Game.GetCritterAtScreenPos(Settings.MouseX, Settings.MouseY); + Critter @cr = CurMap.GetCritterAtScreenPos(Settings.MouseX, Settings.MouseY); if (cr is null || cr is chosen) return; @@ -14864,7 +14864,7 @@ namespace Cursor bool trace = false; Critter @[] critters = {}; - critters = Game.GetCrittersInPath(chosen.HexX, chosen.HexY, cr.HexX, cr.HexY, 0.0f, attackDist, CritterFindType::Any); + critters = CurMap.GetCrittersInPath(chosen.HexX, chosen.HexY, cr.HexX, cr.HexY, 0.0f, attackDist, CritterFindType::Any); for (uint i = 0; i < critters.length(); i++) { if (critters[i].Id == cr.Id) { trace = true; @@ -14889,7 +14889,7 @@ namespace Cursor } else if (cursor == CursorType::Move) { uint16 hx, hy; - if (!Game.GetHexAtScreenPos(Settings.MouseX, Settings.MouseY, hx, hy)) + if (!CurMap.GetHexAtScreenPos(Settings.MouseX, Settings.MouseY, hx, hy)) CursorDefault.Draw(Settings.MouseX, Settings.MouseY, 0, 0, -1, -1); } else if (cursor == CursorType::Default) { diff --git a/Scripts/InputHandler.fos b/Scripts/InputHandler.fos index 82dc38ff0..efe3f722f 100644 --- a/Scripts/InputHandler.fos +++ b/Scripts/InputHandler.fos @@ -204,14 +204,18 @@ bool HandleHotkeys(KeyCode key) break; case KeyCode::Home: { - Critter chosen = Game.GetChosen(); - if (chosen !is null) - Game.MoveScreenToHex(chosen.HexX, chosen.HexY, 100, true); + if (CurMap != null) { + Critter chosen = Game.GetChosen(); + if (chosen !is null) + CurMap.MoveScreenToHex(chosen.HexX, chosen.HexY, 100, true); + } } break; case KeyCode::Scroll: { - Critter chosen = Game.GetChosen(); - if (chosen !is null) - Game.LockScreenScroll(chosen, true, true); + if (CurMap != null) { + Critter chosen = Game.GetChosen(); + if (chosen !is null) + CurMap.LockScreenScroll(chosen, true, true); + } } break; case KeyCode::H: diff --git a/Scripts/Main.fos b/Scripts/Main.fos index c7556b2f7..5da0b2d26 100644 --- a/Scripts/Main.fos +++ b/Scripts/Main.fos @@ -106,7 +106,7 @@ bool generate_world() uint16 hour = 1; uint16 minute = 0; Game.SetTime(multiplier, year, month, day, hour, minute, 0); - Game.Log("Generate world..."); + if (!valid(Game.CreateLocation(Content::Location::replication_1, 383, 230, null)) || /*!valid ( Game.CreateLocation( Content::Location::den, 475, 275, null )) ||*/ !valid(Game.CreateLocation(Content::Location::klamath, 375, 125, null)) /*|| @@ -137,7 +137,7 @@ bool generate_world() Game.Log("Generate world fail!"); return false; } - Game.Log("Generate world complete."); + return true; } diff --git a/Scripts/MapperMain.fos b/Scripts/MapperMain.fos index 628d02e66..4ff2b33c7 100644 --- a/Scripts/MapperMain.fos +++ b/Scripts/MapperMain.fos @@ -1432,7 +1432,7 @@ void inspector_properties(Entity entity, int[] & properties) CritterProperty::HexX, CritterProperty::HexY, CritterProperty::Dir, - 0, + -1, CritterProperty::InitScript, CritterProperty::DialogId, CritterProperty::AiId, @@ -1447,7 +1447,7 @@ void inspector_properties(Entity entity, int[] & properties) ItemProperty::HexX, ItemProperty::HexY, ItemProperty::Type, - 0, + -1, ItemProperty::PicMap, ItemProperty::OffsetX, ItemProperty::OffsetY, @@ -1455,7 +1455,7 @@ void inspector_properties(Entity entity, int[] & properties) }); if (item.IsLight) { - properties.insertLast(0); + properties.insertLast(-1); properties.insertLast(ItemProperty::LightIntensity); properties.insertLast(ItemProperty::LightDistance); properties.insertLast(ItemProperty::LightFlags); @@ -1463,21 +1463,17 @@ void inspector_properties(Entity entity, int[] & properties) } if (item.Type == ItemType::Container || item.Type == ItemType::Door) { - properties.insertLast(0); + properties.insertLast(-1); properties.insertLast(ItemProperty::Locker_Locked); properties.insertLast(ItemProperty::LockerId); properties.insertLast(ItemProperty::LockerComplexity); } if (item.Type == ItemType::Grid) { - properties.insertLast(0); + properties.insertLast(-1); properties.insertLast(ItemProperty::Grid_ToMapEntry); } } - else { - Game.Log("error"); - Game.Message("error"); - } } // ////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/TLA.cmake b/TLA.cmake index aaa12c4a4..9c1dd2577 100644 --- a/TLA.cmake +++ b/TLA.cmake @@ -2,12 +2,13 @@ SetupGame( DEV_NAME "TLA" NICE_NAME "FOnlineTLA" AUTHOR_NAME "FODev" - GAME_VERSION "0.0.5" + GAME_VERSION "0.0.6" SINGLEPLAYER NO ENABLE_3D NO ANGELSCRIPT_SCRIPTING YES NATIVE_SCRIPTING NO MONO_SCRIPTING NO + DEFAULT_CONFIG LocalTest DEBUGGING_CONFIG Debugging MAPPER_CONFIG Mapper GENERATE_ANGELSCRIPT_CONTENT Scripts @@ -45,7 +46,7 @@ AddResources( Mapper Resources/Mapper ) # Test builds CreatePackage( Dev LocalTest ) -AddToPackage( Dev Client Windows win64 Raw ) +AddToPackage( Dev Client Windows win64 OGL+Raw ) AddToPackage( Dev Server Windows win64 Raw ) AddToPackage( Dev Editor Windows win64 Raw ) AddToPackage( Dev Mapper Windows win64 Raw Mapper )