From c5486873db0d6826122eb1f30007e392fc101082 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 3 Mar 2024 18:39:19 +1100 Subject: [PATCH] Shuttle console + FTL rework (#24430) * Add shuttle interior drawing back Just do it per-tile she'll be right, at least it's done with 1 draw call. * Revamp shuttle console * Bunch of cleanup work * Lables sortito * dok * Pixel alignment and colours * Fix a bunch of drawing bugs * Shuttle map drawing * Drawing fixes * Map parallax working finally * weh * Commit all my stuff * mic * deez * Update everything * Xamlify everything * uh * Rudimentary blocker range * My enemies have succeeded * Bunch of changes to FTL * Heaps of cleanup * Fix FTL bugs * FTL * weewoo * FTL fallback * wew * weh * Basic FTL working * FTL working * FTL destination fixes * a * Exclusion zones * Fix drawing / FTL * Beacons working * Coordinates drawing * Fix unknown map names * Dorks beginning * State + docking cleanup start * Basic dock drawing * Bunch of drawing fixes * Batching / color fixes * Cleanup and beacons support * weh * weh * Begin pings * First draft at map objects * Map fixup * Faster drawing * Fix perf + FTL * Cached drawing * Fix drawing * Best I got * strips * Back to lists but with caching * Final optimisation * Fix dock bounds * Docking work * stinker * kobolds * Btns * Docking vis working * Fix docking pre-vis * canasses * Helldivers 2 * a * Array life * Fix * Fix TODOs * liltenhead feature club * dorking * Merge artifacts * Last-minute touchup --- .../ManageSolutions/EditSolutionsWindow.xaml | 4 +- .../Atmos/Monitor/UI/Widgets/PumpControl.xaml | 2 +- .../Monitor/UI/Widgets/ScrubberControl.xaml | 4 +- .../Atmos/Monitor/UI/Widgets/SensorInfo.xaml | 4 +- .../Monitor/UI/Widgets/ThresholdControl.xaml | 2 +- .../Cryostorage/CryostorageEntryControl.xaml | 2 +- .../Guidebook/Controls/GuideReagentEmbed.xaml | 6 +- .../HumanoidMarkingModifierWindow.xaml | 2 +- .../CrewMonitoringNavMapControl.cs | 9 +- .../CrewMonitoringWindow.xaml.cs | 7 - Content.Client/Pinpointer/UI/NavMapControl.cs | 121 +-- .../PowerMonitoringConsoleNavMapControl.cs | 14 +- .../BUI/RadarConsoleBoundUserInterface.cs | 7 +- .../BUI/ShuttleConsoleBoundUserInterface.cs | 64 +- .../Shuttles/ShuttleConsoleComponent.cs | 9 +- .../Shuttles/Systems/DockingSystem.cs | 6 +- .../Shuttles/Systems/ShuttleSystem.Console.cs | 48 ++ .../Shuttles/UI/BaseShuttleControl.xaml | 2 + .../Shuttles/UI/BaseShuttleControl.xaml.cs | 324 +++++++++ Content.Client/Shuttles/UI/DockObject.xaml | 11 + Content.Client/Shuttles/UI/DockObject.xaml.cs | 61 ++ Content.Client/Shuttles/UI/DockingControl.cs | 272 ------- Content.Client/Shuttles/UI/DockingScreen.xaml | 28 + .../Shuttles/UI/DockingScreen.xaml.cs | 183 +++++ Content.Client/Shuttles/UI/MapScreen.xaml | 66 ++ Content.Client/Shuttles/UI/MapScreen.xaml.cs | 531 ++++++++++++++ Content.Client/Shuttles/UI/NavScreen.xaml | 69 ++ Content.Client/Shuttles/UI/NavScreen.xaml.cs | 85 +++ .../Shuttles/UI/RadarConsoleWindow.xaml | 2 +- .../Shuttles/UI/RadarConsoleWindow.xaml.cs | 9 +- Content.Client/Shuttles/UI/RadarControl.cs | 433 ----------- .../Shuttles/UI/ShuttleConsoleWindow.xaml | 139 +--- .../Shuttles/UI/ShuttleConsoleWindow.xaml.cs | 362 +++------ .../Shuttles/UI/ShuttleDockControl.xaml | 1 + .../Shuttles/UI/ShuttleDockControl.xaml.cs | 458 ++++++++++++ .../Shuttles/UI/ShuttleMapControl.xaml | 1 + .../Shuttles/UI/ShuttleMapControl.xaml.cs | 609 ++++++++++++++++ .../Shuttles/UI/ShuttleNavControl.xaml | 1 + .../Shuttles/UI/ShuttleNavControl.xaml.cs | 288 ++++++++ .../UserInterface/Controls/MapGridControl.cs | 84 --- .../Controls/MapGridControl.xaml | 1 + .../Controls/MapGridControl.xaml.cs | 243 +++++++ .../Salvage/SalvageSystem.Runner.cs | 3 +- .../Shuttles/Commands/DockCommand.cs | 2 +- .../Shuttles/Components/AutoDockComponent.cs | 14 - .../Shuttles/Components/FTLBeaconComponent.cs | 10 + .../Shuttles/Components/FTLComponent.cs | 20 +- .../Components/FTLDestinationComponent.cs | 19 - .../Components/FTLExclusionComponent.cs | 16 + .../Components/RecentlyDockedComponent.cs | 15 - .../Shuttles/Systems/ArrivalsSystem.cs | 6 +- .../Systems/DockingSystem.AutoDock.cs | 122 ---- .../Shuttles/Systems/DockingSystem.Shuttle.cs | 88 ++- .../Shuttles/Systems/DockingSystem.cs | 367 +++++----- .../Systems/EmergencyShuttleSystem.Console.cs | 17 +- .../Systems/EmergencyShuttleSystem.cs | 2 +- .../Shuttles/Systems/RadarConsoleSystem.cs | 22 +- .../Systems/ShuttleConsoleSystem.Drone.cs | 14 + .../Systems/ShuttleConsoleSystem.FTL.cs | 160 ++++ .../Shuttles/Systems/ShuttleConsoleSystem.cs | 303 ++++---- .../Systems/ShuttleSystem.FasterThanLight.cs | 686 ++++++++++-------- .../Systems/ShuttleSystem.GridFill.cs | 6 +- .../Shuttles/Systems/ShuttleSystem.cs | 8 - Content.Shared/Parallax/ParallaxComponent.cs | 2 +- .../BUIStates/DockingInterfaceState.cs | 14 + .../Shuttles/BUIStates/DockingPortState.cs | 20 + .../BUIStates/NavBoundUserInterfaceState.cs | 17 + ...InterfaceState.cs => NavInterfaceState.cs} | 25 +- .../ShuttleBoundUserInterfaceState.cs | 19 + .../ShuttleConsoleBoundInterfaceState.cs | 36 - .../BUIStates/ShuttleMapInterfaceState.cs | 38 + .../Components/FTLDestinationComponent.cs | 26 + .../Shuttles/Components/FTLMapComponent.cs | 28 + .../Shuttles/Components/IFFComponent.cs | 4 +- .../Shuttles/Components/PilotComponent.cs | 2 - .../Components/ShuttleMapParallaxComponent.cs | 17 + ...equestMessage.cs => DockRequestMessage.cs} | 6 +- .../Events/ShuttleConsoleFTLBeaconMessage.cs | 13 + ...cs => ShuttleConsoleFTLPositionMessage.cs} | 6 +- .../Events/StopAutodockRequestMessage.cs | 12 - .../Shuttles/Systems/SharedDockingSystem.cs | 78 ++ .../Systems/SharedRadarConsoleSystem.cs | 1 - .../Systems/SharedShuttleConsoleSystem.cs | 1 + .../Systems/SharedShuttleSystem.IFF.cs | 37 + .../Shuttles/Systems/SharedShuttleSystem.cs | 191 +++++ .../Shuttles/UI/MapObjects/GridMapObject.cs | 7 + .../Shuttles/UI/MapObjects/IMapObject.cs | 9 + .../UI/MapObjects/ShuttleBeaconObject.cs | 7 + .../UI/MapObjects/ShuttleExclusionObject.cs | 7 + .../Audio/Effects/Shuttle/attributions.yml | 6 + .../Audio/Effects/Shuttle/radar_ping.ogg | Bin 0 -> 24816 bytes Resources/Locale/en-US/shuttles/console.ftl | 59 +- Resources/Maps/Nonstations/nukieplanet.yml | 8 +- Resources/Maps/Shuttles/infiltrator.yml | 3 + .../Prototypes/Entities/Markers/shuttle.yml | 12 +- .../Machines/Computers/computers.yml | 2 +- .../Prototypes/Procedural/salvage_mods.yml | 1 + Resources/Textures/Parallaxes/space_map2.png | Bin 0 -> 6150065 bytes Resources/Textures/Parallaxes/weh.txt | 1 + 99 files changed, 4857 insertions(+), 2332 deletions(-) create mode 100644 Content.Client/Shuttles/Systems/ShuttleSystem.Console.cs create mode 100644 Content.Client/Shuttles/UI/BaseShuttleControl.xaml create mode 100644 Content.Client/Shuttles/UI/BaseShuttleControl.xaml.cs create mode 100644 Content.Client/Shuttles/UI/DockObject.xaml create mode 100644 Content.Client/Shuttles/UI/DockObject.xaml.cs delete mode 100644 Content.Client/Shuttles/UI/DockingControl.cs create mode 100644 Content.Client/Shuttles/UI/DockingScreen.xaml create mode 100644 Content.Client/Shuttles/UI/DockingScreen.xaml.cs create mode 100644 Content.Client/Shuttles/UI/MapScreen.xaml create mode 100644 Content.Client/Shuttles/UI/MapScreen.xaml.cs create mode 100644 Content.Client/Shuttles/UI/NavScreen.xaml create mode 100644 Content.Client/Shuttles/UI/NavScreen.xaml.cs delete mode 100644 Content.Client/Shuttles/UI/RadarControl.cs create mode 100644 Content.Client/Shuttles/UI/ShuttleDockControl.xaml create mode 100644 Content.Client/Shuttles/UI/ShuttleDockControl.xaml.cs create mode 100644 Content.Client/Shuttles/UI/ShuttleMapControl.xaml create mode 100644 Content.Client/Shuttles/UI/ShuttleMapControl.xaml.cs create mode 100644 Content.Client/Shuttles/UI/ShuttleNavControl.xaml create mode 100644 Content.Client/Shuttles/UI/ShuttleNavControl.xaml.cs delete mode 100644 Content.Client/UserInterface/Controls/MapGridControl.cs create mode 100644 Content.Client/UserInterface/Controls/MapGridControl.xaml create mode 100644 Content.Client/UserInterface/Controls/MapGridControl.xaml.cs delete mode 100644 Content.Server/Shuttles/Components/AutoDockComponent.cs create mode 100644 Content.Server/Shuttles/Components/FTLBeaconComponent.cs delete mode 100644 Content.Server/Shuttles/Components/FTLDestinationComponent.cs create mode 100644 Content.Server/Shuttles/Components/FTLExclusionComponent.cs delete mode 100644 Content.Server/Shuttles/Components/RecentlyDockedComponent.cs delete mode 100644 Content.Server/Shuttles/Systems/DockingSystem.AutoDock.cs create mode 100644 Content.Server/Shuttles/Systems/ShuttleConsoleSystem.FTL.cs create mode 100644 Content.Shared/Shuttles/BUIStates/DockingInterfaceState.cs create mode 100644 Content.Shared/Shuttles/BUIStates/DockingPortState.cs create mode 100644 Content.Shared/Shuttles/BUIStates/NavBoundUserInterfaceState.cs rename Content.Shared/Shuttles/BUIStates/{RadarConsoleBoundInterfaceState.cs => NavInterfaceState.cs} (53%) create mode 100644 Content.Shared/Shuttles/BUIStates/ShuttleBoundUserInterfaceState.cs delete mode 100644 Content.Shared/Shuttles/BUIStates/ShuttleConsoleBoundInterfaceState.cs create mode 100644 Content.Shared/Shuttles/BUIStates/ShuttleMapInterfaceState.cs create mode 100644 Content.Shared/Shuttles/Components/FTLDestinationComponent.cs create mode 100644 Content.Shared/Shuttles/Components/FTLMapComponent.cs create mode 100644 Content.Shared/Shuttles/Components/ShuttleMapParallaxComponent.cs rename Content.Shared/Shuttles/Events/{AutodockRequestMessage.cs => DockRequestMessage.cs} (64%) create mode 100644 Content.Shared/Shuttles/Events/ShuttleConsoleFTLBeaconMessage.cs rename Content.Shared/Shuttles/Events/{ShuttleConsoleFTLRequestMessage.cs => ShuttleConsoleFTLPositionMessage.cs} (54%) delete mode 100644 Content.Shared/Shuttles/Events/StopAutodockRequestMessage.cs create mode 100644 Content.Shared/Shuttles/Systems/SharedDockingSystem.cs create mode 100644 Content.Shared/Shuttles/UI/MapObjects/GridMapObject.cs create mode 100644 Content.Shared/Shuttles/UI/MapObjects/IMapObject.cs create mode 100644 Content.Shared/Shuttles/UI/MapObjects/ShuttleBeaconObject.cs create mode 100644 Content.Shared/Shuttles/UI/MapObjects/ShuttleExclusionObject.cs create mode 100644 Resources/Audio/Effects/Shuttle/radar_ping.ogg create mode 100644 Resources/Textures/Parallaxes/space_map2.png create mode 100644 Resources/Textures/Parallaxes/weh.txt diff --git a/Content.Client/Administration/UI/ManageSolutions/EditSolutionsWindow.xaml b/Content.Client/Administration/UI/ManageSolutions/EditSolutionsWindow.xaml index 9e0f9d182e..01259b60f7 100644 --- a/Content.Client/Administration/UI/ManageSolutions/EditSolutionsWindow.xaml +++ b/Content.Client/Administration/UI/ManageSolutions/EditSolutionsWindow.xaml @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - +