From 2232bcafcc64ba077edaf8646a5704a85c060765 Mon Sep 17 00:00:00 2001 From: Aristeas <94058548+ari-steas@users.noreply.github.com> Date: Wed, 25 Dec 2024 22:04:52 -0600 Subject: [PATCH] getting silly with it --- .../Data/ActiveRadiatorParticle.sbc | 449 ++++++++++++++++++ .../Data/CubeBlocks/ActiveRadiator.sbc | 28 ++ .../Data/CubeBlocks/Caster_FocusLens.sbc | 2 +- .../CubeBlocks/ExtendableRadiatorBase.sbc | 31 ++ .../Data/CubeBlocks/Heat_FlatRadiator.sbc | 2 +- .../Data/CubeBlocks/RadiatorPanel.sbc | 34 ++ .../Communication/DefinitionAPI.cs | 3 +- .../Communication/DefinitionCollector.cs | 8 +- .../Communication/ModularDefinitionSender.cs | 13 +- .../Scripts/ModularAssemblies/FusionParts.cs | 260 ++-------- .../FusionParts/FusionConveyor/ConveyorCap.cs | 9 +- .../FusionParts/FusionPart.cs | 25 +- .../FusionReactor/FusionReactorLogic.cs | 4 +- .../FusionThruster/FusionThrusterLogic.cs | 76 ++- .../FusionParts/S_FusionArm.cs | 9 +- .../FusionParts/S_FusionManager.cs | 6 +- .../FusionParts/S_FusionSystem.cs | 27 +- .../Scripts/ModularAssemblies/HeatParts.cs | 41 +- .../Definitions/HeatPartDefinition.cs | 28 ++ .../Definitions/HeatPartDefinitions.cs | 153 ++++++ .../ActiveRadiatorAnimation.cs | 62 +++ .../ExtendableRadiators/ExtendableRadiator.cs | 282 +++++++++++ .../ExtendableRadiators/RadiatorAnimation.cs | 207 ++++++++ .../ExtendableRadiators/RadiatorControls.cs | 80 ++++ .../HeatParts/GridHeatManager.cs | 11 +- .../HeatParts/HeatManager.cs | 2 +- .../ModularAssemblies/HeatParts/HeatSystem.cs | 128 ++--- .../HudHelpers/ConsumptionBar.cs | 32 +- .../DebugDrawManager.cs | 4 +- .../HudHelpers/RichHud/LICENSE | 42 +- .../HudHelpers/RichHud/README.md | 34 +- .../ModularAssemblies/MasterDefinition.cs | 2 +- .../ModularAssemblies/S_FusionPlayerHud.cs | 15 +- .../ModularAssemblies/SyncMultipliers.cs | 8 +- .../Data/Scripts/ModularAssemblies/Utils.cs | 19 + .../Models/ActiveRadiator.mwm | Bin 0 -> 131500 bytes .../Models/ActiveRadiatorBlades.mwm | Bin 0 -> 262572 bytes .../Models/Caster_Reactor.mwm | Bin 262572 -> 262572 bytes .../Models/ExtendableRadiatorBase.mwm | Bin 0 -> 262572 bytes .../Models/RadiatorPanel.mwm | Bin 0 -> 131500 bytes .../Icons/Cubes/ExtendableRadiatorBase.dds | Bin 0 -> 22020 bytes .../GUI/Icons/Cubes/RadiatorPanel.dds | Bin 0 -> 22020 bytes 42 files changed, 1683 insertions(+), 453 deletions(-) create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/ActiveRadiatorParticle.sbc create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ExtendableRadiatorBase.sbc create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/RadiatorPanel.sbc create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinition.cs create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinitions.cs create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ExtendableRadiator.cs create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorAnimation.cs create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorControls.cs rename Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/{DebugDraw => HudHelpers}/DebugDrawManager.cs (99%) create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Utils.cs create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ActiveRadiator.mwm create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ActiveRadiatorBlades.mwm create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ExtendableRadiatorBase.mwm create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/RadiatorPanel.mwm create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/ExtendableRadiatorBase.dds create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/RadiatorPanel.dds diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/ActiveRadiatorParticle.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/ActiveRadiatorParticle.sbc new file mode 100644 index 000000000..7f6031369 --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/ActiveRadiatorParticle.sbc @@ -0,0 +1,449 @@ + + + + + + -1279450868 + 90 + 0 + false + true + 0 + 0 + 0 + + + GPU + + + + 16 + 16 + 0 + + + + 0 + + + 32 + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + 1 + 1 + 1 + 1 + + + + + + + 1 + 1 + 1 + 1 + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + + + + 1 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + + + + + 0.5 + + + + + + + 5 + 0.5 + 5 + + + + + + + + + + 0 + + + + + + + 0 + 0 + -1 + + + + + + + 5 + + + + + + + + + 2 + + + + + + + + + 0 + + + + + + + + + 360 + + + + + + + 0 + 10 + 0 + + + + + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + + + + + 0 + + + + + + + + + + 0.8 + + + + + 0.8 + + + + + 0.8 + + + + + 0.8 + + + + + + + + + 0.5 + + + 1 + + + 1 + + + 0.015625 + + + true + + + + + + 10000 + + + + + + Atlas_D_01 + + + 1 + + + false + + + false + + + false + + + false + + + 1 + + + 0 + + + + 0 + 0.75 + 0 + + + + 0 + + + 0 + + + true + + + 0 + + + 0 + + + false + + + 0 + + + + 0 + 0 + 0 + + + + + 0 + 0 + 0 + + + + + + + + + + + 1 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + 1000 + + + + + 1000 + + + + + 1000 + + + + + 1000 + + + + + + + + + 5 + + + false + + + false + + + 1 + + + 0.4 + + + 1 + + + 0 + + + 0 + + + true + + + 0 + + + + + + 3000 + 1 + + + \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc new file mode 100644 index 000000000..cce13f0ba --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc @@ -0,0 +1,28 @@ + + + + + + TerminalBlock + ActiveRadiator + + + Rotary Active Radiator + + + Provides massive heat dissipation at the cost of a high surface area. + + Textures\GUI\Icons\AstronautBackpack.dds + Large + TriangleMesh + + + Models\ActiveRadiator.mwm + + + + + ActiveRadiator + + + \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Caster_FocusLens.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Caster_FocusLens.sbc index 9fa8cdabb..a3e9a7f41 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Caster_FocusLens.sbc +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Caster_FocusLens.sbc @@ -35,7 +35,7 @@ Caster_FocusLens Thrust - 100 + 34560000 0.200 0.000002 1 diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ExtendableRadiatorBase.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ExtendableRadiatorBase.sbc new file mode 100644 index 000000000..7425abeef --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ExtendableRadiatorBase.sbc @@ -0,0 +1,31 @@ + + + + + + TerminalBlock + ExtendableRadiatorBase + + Retractable Radiator Base + + Allows attached radiator panels to be retracted and extended. + + Textures\GUI\Icons\Cubes\ExtendableRadiatorBase.dds + Large + TriangleMesh + + + Models\ExtendableRadiatorBase.mwm + + + + + + + + + + ExtendableRadiatorBase + + + \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Heat_FlatRadiator.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Heat_FlatRadiator.sbc index b73ed2f80..f332111a8 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Heat_FlatRadiator.sbc +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/Heat_FlatRadiator.sbc @@ -17,7 +17,7 @@ Models\Heat_FlatRadiator.mwm - + diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/RadiatorPanel.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/RadiatorPanel.sbc new file mode 100644 index 000000000..886baf42e --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/RadiatorPanel.sbc @@ -0,0 +1,34 @@ + + + + + + CubeBlock + RadiatorPanel + + Retractable Radiator Panel + + A simple radiator panel. Can be retracted when attached to a base, but still functions as a radiator when standalone. + + Textures\GUI\Icons\Cubes\RadiatorPanel.dds + Large + TriangleMesh + + + Models\RadiatorPanel.mwm + + + + + RadiatorPanel + + + + + + + Y + X + + + \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionAPI.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionAPI.cs index 5461f5e36..543c9d0e7 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionAPI.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionAPI.cs @@ -7,8 +7,7 @@ using VRage.Utils; using VRageMath; -namespace StarCore.FusionSystems. - Communication +namespace Epstein_Fusion_DS.Communication { /// /// Class used to communicate with the Modular Assemblies Framework mod.

diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionCollector.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionCollector.cs index a298ea1e7..9490077e1 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionCollector.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/DefinitionCollector.cs @@ -1,8 +1,8 @@ -using StarCore.FusionSystems.Communication; -using static StarCore.FusionSystems.Communication.DefinitionDefs; +using Epstein_Fusion_DS.Communication; +using static Epstein_Fusion_DS.Communication.DefinitionDefs; // ReSharper disable once CheckNamespace -namespace StarCore.FusionSystems +namespace Epstein_Fusion_DS { internal partial class ModularDefinition { @@ -20,7 +20,7 @@ internal void LoadDefinitions(params ModularPhysicalDefinition[] defs) /// internal static ModularDefinitionContainer GetBaseDefinitions() { - return new StarCore.FusionSystems.ModularDefinition().Container; + return new Epstein_Fusion_DS.ModularDefinition().Container; } } } \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/ModularDefinitionSender.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/ModularDefinitionSender.cs index 550a9cdab..2cf873fc8 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/ModularDefinitionSender.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Communication/ModularDefinitionSender.cs @@ -1,9 +1,8 @@ using VRage.Game.Components; using VRage.Utils; -using static StarCore.FusionSystems.Communication.DefinitionDefs; +using static Epstein_Fusion_DS.Communication.DefinitionDefs; -namespace StarCore.FusionSystems. - Communication +namespace Epstein_Fusion_DS.Communication { [MySessionComponentDescriptor(MyUpdateOrder.Simulation, int.MinValue)] internal class ModularDefinitionSender : MySessionComponentBase @@ -16,20 +15,20 @@ public override void LoadData() $"{ModContext.ModName}.ModularDefinition: Init new ModularAssembliesDefinition"); // Init - StoredDef = ModularDefinition.GetBaseDefinitions(); + StoredDef = Epstein_Fusion_DS.ModularDefinition.GetBaseDefinitions(); // Send definitions over as soon as the API loads, and create the API before anything else can init. - ModularDefinition.ModularApi.Init(ModContext, SendDefinitions); + Epstein_Fusion_DS.ModularDefinition.ModularApi.Init(ModContext, SendDefinitions); } protected override void UnloadData() { - ModularDefinition.ModularApi.UnloadData(); + Epstein_Fusion_DS.ModularDefinition.ModularApi.UnloadData(); } private void SendDefinitions() { - ModularDefinition.ModularApi.RegisterDefinitions(StoredDef); + Epstein_Fusion_DS.ModularDefinition.ModularApi.RegisterDefinitions(StoredDef); } } } \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts.cs index 54a231c3f..137f07be5 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; -using StarCore.FusionSystems.FusionParts; +using Epstein_Fusion_DS.FusionParts; using VRageMath; -using static StarCore.FusionSystems.Communication.DefinitionDefs; +using static Epstein_Fusion_DS.Communication.DefinitionDefs; -namespace StarCore.FusionSystems +namespace Epstein_Fusion_DS { internal partial class ModularDefinition { @@ -36,6 +36,7 @@ internal partial class ModularDefinition AllowedBlockSubtypes = new[] { "Caster_FocusLens", + "Caster_Accelerator_0", "Caster_Accelerator_90", "Caster_CentralPipe_0", @@ -52,94 +53,27 @@ internal partial class ModularDefinition // If the connection type whitelist is empty, all allowed subtypes may connect on that side. AllowedConnections = new Dictionary> { + // Note - Offsets line up with BuildInfo block orientation. + // Note - Offsets are measured from the center of the block; in this case, the Caster_FocusLens is a 3x3 that has connections on the back in a plus shape. + #region Drives + { - // Note - Offsets line up with BuildInfo block orientation. - // Note - Offsets are measured from the center of the block; in this case, the Caster_FocusLens is a 3x3 that has connections on the back in a plus shape. "Caster_FocusLens", new Dictionary { - { - new Vector3I(1, 0, 2), new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_Reactor", - "Caster_Controller", - "Caster_FocusLens", - "Caster_ConveyorCap" - } - }, - { - new Vector3I(-1, 0, 2), new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_Reactor", - "Caster_Controller", - "Caster_FocusLens", - "Caster_ConveyorCap" - } - }, - { - new Vector3I(0, 1, 2), new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_Reactor", - "Caster_Controller", - "Caster_FocusLens", - "Caster_ConveyorCap" - } - }, - { - new Vector3I(0, -1, 2), new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_Reactor", - "Caster_Controller", - "Caster_FocusLens", - "Caster_ConveyorCap" - } - } + [new Vector3I(1, 0, 2)] = AllowedPipeConnections, + [new Vector3I(-1, 0, 2)] = AllowedPipeConnections, + [new Vector3I(0, 1, 2)] = AllowedPipeConnections, + [new Vector3I(0, -1, 2)] = AllowedPipeConnections, } }, + + #endregion + { "Caster_Reactor", new Dictionary { - { - new Vector3I(0, 2, 0), new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_FocusLens", - //"Caster_Controller", - "Caster_Reactor", - "Caster_ConveyorCap" - } - }, - { - new Vector3I(0, -2, 0), new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_FocusLens", - //"Caster_Controller", - "Caster_Reactor", - "Caster_ConveyorCap" - } - } + [new Vector3I(0, 2, 0)] = AllowedPipeConnections, + [new Vector3I(0, -2, 0)] = AllowedPipeConnections, } }, { @@ -187,137 +121,33 @@ internal partial class ModularDefinition { "Caster_CentralPipe_0", new Dictionary { - { - Vector3I.Forward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - }, - { - Vector3I.Backward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - } + [Vector3I.Forward] = AllowedPipeConnections, + [Vector3I.Backward] = AllowedPipeConnections, } }, { "Caster_CentralPipe_90", new Dictionary { - { - Vector3I.Forward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - }, - { - Vector3I.Right, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - } + [Vector3I.Forward] = AllowedPipeConnections, + [Vector3I.Right] = AllowedPipeConnections, } }, { "Caster_CentralPipe_T", new Dictionary { - { - Vector3I.Forward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - }, - { - Vector3I.Right, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - }, - { - Vector3I.Backward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } - } + [Vector3I.Forward] = AllowedPipeConnections, + [Vector3I.Right] = AllowedPipeConnections, + [Vector3I.Backward] = AllowedPipeConnections, } }, { "Caster_Feeder", new Dictionary { { - Vector3I.Forward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } + Vector3I.Forward, AllowedPipeConnections }, { - Vector3I.Backward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - //"Caster_Controller", - "Caster_FocusLens", - "Caster_Reactor", - "Caster_ConveyorCap" - } + Vector3I.Backward, AllowedPipeConnections }, { @@ -338,38 +168,28 @@ internal partial class ModularDefinition } } }, - //{ - // "Caster_Controller", new Dictionary - // { - // { - // Vector3I.Backward, new[] - // { - // "Caster_CentralPipe_0", - // "Caster_CentralPipe_90", - // "Caster_CentralPipe_T", - // "Caster_Feeder", - // "Caster_Reactor" - // } - // } - // } - //} { "Caster_ConveyorCap", new Dictionary { { - Vector3I.Backward, new[] - { - "Caster_CentralPipe_0", - "Caster_CentralPipe_90", - "Caster_CentralPipe_T", - "Caster_Feeder", - "Caster_Reactor", - "Caster_FocusLens", - } + Vector3I.Backward, AllowedPipeConnections } } } } }; + + private static readonly string[] AllowedPipeConnections = + { + "Caster_FocusLens", + + "Caster_CentralPipe_0", + "Caster_CentralPipe_90", + "Caster_CentralPipe_T", + "Caster_Feeder", + //"Caster_Controller", + "Caster_Reactor", + "Caster_ConveyorCap" + }; } } \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionConveyor/ConveyorCap.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionConveyor/ConveyorCap.cs index 7eb8763e3..32f504114 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionConveyor/ConveyorCap.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionConveyor/ConveyorCap.cs @@ -1,14 +1,13 @@ using System; -using Sandbox.ModAPI.Interfaces.Terminal; -using Sandbox.ModAPI; using System.Collections.Generic; using Sandbox.Common.ObjectBuilders; +using Sandbox.ModAPI; +using Sandbox.ModAPI.Interfaces.Terminal; +using VRage.Game.Components; using VRage.ModAPI; using VRage.ObjectBuilders; -using VRageMath; -using VRage.Game.Components; -namespace StarCore.FusionSystems.FusionParts.FusionConveyor +namespace Epstein_Fusion_DS.FusionParts.FusionConveyor { /// /// Forces stockpile on and prevents players from disabling it on caster conveyor tanks. diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionPart.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionPart.cs index bf67064a9..209b879a1 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionPart.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionPart.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; using System.Text; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.HeatParts; using ProtoBuf; using Sandbox.Game.EntityComponents; using Sandbox.ModAPI; using Sandbox.ModAPI.Interfaces.Terminal; -using StarCore.FusionSystems.Communication; -using StarCore.FusionSystems.HeatParts; using VRage.Game; using VRage.Game.Components; using VRage.Game.ModAPI; @@ -17,7 +17,7 @@ using VRage.Sync; using VRage.Utils; -namespace StarCore.FusionSystems.FusionParts +namespace Epstein_Fusion_DS.FusionParts { public abstract class FusionPart : MyGameLogicComponent, IMyEventProxy where T : IMyCubeBlock @@ -46,18 +46,21 @@ public abstract class FusionPart : MyGameLogicComponent, IMyEventProxy public MySync PowerUsageSync; internal FusionPartSettings Settings; - internal static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + internal static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; /// /// Block subtypes allowed. /// - internal abstract string BlockSubtype { get; } + internal abstract string[] BlockSubtypes { get; } /// /// Human-readable name for this part type. /// internal abstract string ReadableName { get; } + internal virtual Func MinOverrideLimit { get; } = b => 0.01f; + internal virtual Func MaxOverrideLimit { get; } = b => 4; + #region Controls private void CreateControls() @@ -83,7 +86,7 @@ private void CreateControls() boostPowerToggle.OnText = MyStringId.GetOrCompute("On"); boostPowerToggle.OffText = MyStringId.GetOrCompute("Off"); - boostPowerToggle.Visible = block => block.BlockDefinition.SubtypeName == BlockSubtype; + boostPowerToggle.Visible = block => BlockSubtypes.Contains(block.BlockDefinition.SubtypeName); boostPowerToggle.SupportsMultipleBlocks = true; boostPowerToggle.Enabled = block => true; @@ -106,7 +109,7 @@ private void CreateControls() builder?.Append(Math.Round(block.GameLogic.GetAs>()?.PowerUsageSync.Value * 100 ?? 0)) .Append('%'); - powerUsageSlider.Visible = block => block.BlockDefinition.SubtypeName == BlockSubtype; + powerUsageSlider.Visible = block => BlockSubtypes.Contains(block.BlockDefinition.SubtypeName); powerUsageSlider.SupportsMultipleBlocks = true; powerUsageSlider.Enabled = block => true; @@ -120,7 +123,7 @@ private void CreateControls() boostPowerUsageSlider.Tooltip = MyStringId.GetOrCompute( $"Fusion Power generation this {ReadableName} should use when Override is enabled."); - boostPowerUsageSlider.SetLimits(0.01f, 4.0f); + boostPowerUsageSlider.SetLimits(MinOverrideLimit, MaxOverrideLimit); boostPowerUsageSlider.Getter = block => block.GameLogic.GetAs>()?.OverridePowerUsageSync.Value ?? 0; boostPowerUsageSlider.Setter = (block, value) => @@ -131,7 +134,7 @@ private void CreateControls() Math.Round(block.GameLogic.GetAs>()?.OverridePowerUsageSync.Value * 100 ?? 0)) .Append('%'); - boostPowerUsageSlider.Visible = block => block.BlockDefinition.SubtypeName == BlockSubtype; + boostPowerUsageSlider.Visible = block => BlockSubtypes.Contains(block.BlockDefinition.SubtypeName); boostPowerUsageSlider.SupportsMultipleBlocks = true; boostPowerUsageSlider.Enabled = block => true; @@ -157,7 +160,7 @@ private void CreateControls() if (logic != null) sb.Append(logic.OverrideEnabled.Value ? "OVR On" : "OVR Off"); }; boostPowerAction.Icon = @"Textures\GUI\Icons\Actions\Toggle.dds"; - boostPowerAction.Enabled = block => block.BlockDefinition.SubtypeName == BlockSubtype; + boostPowerAction.Enabled = block => BlockSubtypes.Contains(block.BlockDefinition.SubtypeName); MyAPIGateway.TerminalControls.AddAction(boostPowerAction); } @@ -168,7 +171,7 @@ private void CreateControls() private void AssignDetailedInfoGetter(IMyTerminalBlock block, List controls) { - if (block?.BlockDefinition.SubtypeName != BlockSubtype) + if (!BlockSubtypes.Contains(block.BlockDefinition.SubtypeName)) return; block.RefreshCustomInfo(); block.SetDetailedInfoDirty(); diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs index f95a2d4d0..3af302316 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs @@ -5,7 +5,7 @@ using VRage.ModAPI; using VRage.ObjectBuilders; -namespace StarCore.FusionSystems.FusionParts.FusionReactor +namespace Epstein_Fusion_DS.FusionParts.FusionReactor { [MyEntityComponentDescriptor(typeof(MyObjectBuilder_Reactor), false, "Caster_Reactor")] public class FusionReactorLogic : FusionPart @@ -14,7 +14,7 @@ public class FusionReactorLogic : FusionPart private float _bufferReactorOutput; - internal override string BlockSubtype => "Caster_Reactor"; + internal override string[] BlockSubtypes => new[] { "Caster_Reactor" }; internal override string ReadableName => "Reactor"; diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs index 74ca353c7..cf061490c 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs @@ -1,49 +1,66 @@ using System; +using System.Collections.Generic; using Sandbox.Common.ObjectBuilders; using Sandbox.ModAPI; using VRage.Game.Components; using VRage.ModAPI; using VRage.ObjectBuilders; -using VRageMath; -namespace StarCore.FusionSystems.FusionParts.FusionThruster +namespace Epstein_Fusion_DS.FusionParts.FusionThruster { - [MyEntityComponentDescriptor(typeof(MyObjectBuilder_Thrust), false, "Caster_FocusLens")] + [MyEntityComponentDescriptor(typeof(MyObjectBuilder_Thrust), false, + "Caster_FocusLens" + )] public class FusionThrusterLogic : FusionPart { private int _bufferBlockCount = 1; private float _bufferThrustOutput; - internal override string BlockSubtype => "Caster_FocusLens"; + internal override string[] BlockSubtypes => new[] + { + "Caster_FocusLens", + }; + internal override string ReadableName => "Thruster"; + internal override Func MinOverrideLimit => + b => 1; + internal override Func MaxOverrideLimit => + b => DriveSettings[b.BlockDefinition.SubtypeId].MaxOverclock; + + internal static readonly Dictionary DriveSettings = new Dictionary + { + ["Caster_FocusLens"] = new DriveSetting(4.00f, 1.5f, 34.56f*2*1000000), + }; + public override void UpdatePower(float powerGeneration, float newtonsPerFusionPower, int numberThrusters) { BufferPowerGeneration = powerGeneration; _bufferBlockCount = numberThrusters; - var consumptionMultiplier = - OverrideEnabled.Value - ? OverridePowerUsageSync - : PowerUsageSync.Value; // This is ugly, let's make it better. - consumptionMultiplier /= numberThrusters; + var overrideModifier = (OverrideEnabled ? OverridePowerUsageSync : PowerUsageSync).Value; - // Power generation consumed (per second) - var powerConsumption = powerGeneration * 60 * consumptionMultiplier; + var thrustOutput = Block.CurrentThrust; + var maxThrustOutput = DriveSettings[Block.BlockDefinition.SubtypeId].BaseThrust * overrideModifier; + // This formula is very dumb but it just about does the trick. Approaches 200% efficiency at zero usage, and 0% at 2x usage. + var efficiencyMultiplier = DriveSettings[Block.BlockDefinition.SubtypeId].EfficiencyModifier + * + (2 - 1/(DriveSettings[Block.BlockDefinition.SubtypeId].BaseThrust/maxThrustOutput)); - var efficiencyMultiplier = 1 / (0.489f + consumptionMultiplier); + // Power generation consumed (per second) + var powerConsumption = thrustOutput / newtonsPerFusionPower / efficiencyMultiplier; // Power generated (per second) - var thrustOutput = efficiencyMultiplier * powerConsumption * newtonsPerFusionPower; - _bufferThrustOutput = thrustOutput; + //var thrustOutput = efficiencyMultiplier * powerConsumption * newtonsPerFusionPower; + _bufferThrustOutput = maxThrustOutput; MaxPowerConsumption = powerConsumption / 60; InfoText.Clear(); InfoText.AppendLine( - $"\nOutput: {Math.Round(thrustOutput, 1)}/{Math.Round(powerGeneration * 60 * newtonsPerFusionPower, 1)}"); - InfoText.AppendLine($"Input: {Math.Round(powerConsumption, 1)}/{Math.Round(powerGeneration * 60, 1)}"); - InfoText.AppendLine($"Efficiency: {Math.Round(efficiencyMultiplier * 100)}%"); + $"\nOutput: {thrustOutput/1000000:F1}/{maxThrustOutput/1000000:F1} MN"); + InfoText.AppendLine($"Input: {powerConsumption:F1}/{powerGeneration * 60:F1}"); + InfoText.AppendLine($"Efficiency: {efficiencyMultiplier * 100:F1}%"); // Convert back into power per tick if (!IsShutdown) @@ -120,5 +137,30 @@ public override void UpdateAfterSimulation() } #endregion + + public struct DriveSetting + { + /// + /// Efficiency modifier for converting fusing rate into power. + /// + public float EfficiencyModifier; + + /// + /// Maximum overclock, in percent. + /// + public float MaxOverclock; + + /// + /// Default thrust output. + /// + public float BaseThrust; + + public DriveSetting(float efficiencyModifier, float maxOverclock, float baseThrust) + { + EfficiencyModifier = efficiencyModifier; + MaxOverclock = maxOverclock; + BaseThrust = baseThrust; + } + } } } \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionArm.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionArm.cs index 2e3a13a68..db4b5e5c1 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionArm.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionArm.cs @@ -1,11 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using StarCore.FusionSystems.Communication; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.HudHelpers; using VRage.Game.ModAPI; using VRageMath; -namespace StarCore.FusionSystems. +namespace Epstein_Fusion_DS. FusionParts { /// @@ -18,7 +19,7 @@ internal struct SFusionArm private const float BlockPowerStorage = 32f; private const float SharedPropertyModifier = 0.05f; - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; public readonly bool IsValid; @@ -75,7 +76,7 @@ public SFusionArm(IMyCubeBlock newPart, string rootSubtype) private static bool PerformScan(IMyCubeBlock blockEntity, ref HashSet parts, string stopAtSubtype) { if (ModularApi.IsDebug()) - DebugDraw.DebugDraw.AddGridPoint(blockEntity.Position, + DebugDraw.AddGridPoint(blockEntity.Position, blockEntity.CubeGrid, Color.Blue, 2); var connectedBlocks = ModularApi.GetConnectedBlocks(blockEntity, "Modular_Fusion", false); diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionManager.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionManager.cs index f8b55cfaf..dc44c7d6c 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionManager.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionManager.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using System.Linq; -using StarCore.FusionSystems.Communication; +using Epstein_Fusion_DS.Communication; using VRage.Game.ModAPI; -namespace StarCore.FusionSystems.FusionParts +namespace Epstein_Fusion_DS.FusionParts { internal class SFusionManager { @@ -15,7 +15,7 @@ internal class SFusionManager public ModularDefinition FusionDefinition; public Dictionary FusionSystems = new Dictionary(); public ModularDefinition HeatDefinition; - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; public void Load() { diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionSystem.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionSystem.cs index 7d52791b5..fccb63910 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionSystem.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/S_FusionSystem.cs @@ -1,21 +1,20 @@ using System; using System.Collections.Generic; using System.Linq; -using Sandbox.Game.EntityComponents; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.FusionParts.FusionReactor; +using Epstein_Fusion_DS.FusionParts.FusionThruster; using Sandbox.ModAPI; -using StarCore.FusionSystems.Communication; -using StarCore.FusionSystems.FusionParts.FusionReactor; -using StarCore.FusionSystems.FusionParts.FusionThruster; -using StarCore.FusionSystems.HeatParts; using VRage.Game.ModAPI; -namespace StarCore.FusionSystems. +namespace Epstein_Fusion_DS. FusionParts { internal class SFusionSystem { - public const float MegawattsPerFusionPower = 32; - public const float NewtonsPerFusionPower = 12800000; + public const float MegawattsPerFusionPower = 16; + public const float NewtonsPerFusionPower = 1500000; + public const float HydrogenPerFusionPower = 42; public readonly IMyCubeGrid Grid; public readonly List Arms = new List(); @@ -38,6 +37,8 @@ internal class SFusionSystem /// public float PowerGeneration; + public float MaxPowerGeneration; + public readonly List Reactors = new List(); public readonly List Thrusters = new List(); public readonly List Tanks = new List(); @@ -57,7 +58,7 @@ public float PowerStored set { ModularApi.SetAssemblyProperty(PhysicalAssemblyId, "PowerStored", value); } } - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; public void AddPart(IMyCubeBlock newPart) { @@ -156,6 +157,7 @@ public void RemovePart(IMyCubeBlock part) var logic = part.GameLogic.GetAs(); logic.MemberSystem = null; Thrusters.Remove(logic); + logic.UpdatePower(PowerGeneration, NewtonsPerFusionPower, Thrusters.Count); } if (part is IMyReactor) @@ -163,6 +165,7 @@ public void RemovePart(IMyCubeBlock part) var logic = part.GameLogic.GetAs(); logic.MemberSystem = null; Reactors.Remove(logic); + logic.UpdatePower(PowerGeneration, NewtonsPerFusionPower, Thrusters.Count); } if (part is IMyGasTank) @@ -185,7 +188,6 @@ public void RemovePart(IMyCubeBlock part) private void UpdatePower(bool updateReactors = false) { - //var generationModifier = 1 / (HeatManager.I.GetGridHeatLevel(Grid) + 0.5f); var generationModifier = 1; var powerGeneration = float.Epsilon; var powerCapacity = float.Epsilon; @@ -216,6 +218,7 @@ private void UpdatePower(bool updateReactors = false) // Subtract power usage afterwards so that all reactors have the same stats. PowerGeneration = powerGeneration; + MaxPowerGeneration = PowerGeneration; MaxPowerStored = powerCapacity; PowerConsumption = totalPowerUsage; @@ -226,7 +229,7 @@ private void UpdatePower(bool updateReactors = false) if (!MyAPIGateway.Session.CreativeMode) { double availableGas = Tanks.Sum(t => t.FilledRatio * t.Capacity); - double gasNeeded = PowerGeneration * 25; + double gasNeeded = PowerGeneration * HydrogenPerFusionPower; if (Tanks.Count == 0 || availableGas <= gasNeeded) { @@ -251,7 +254,7 @@ private void UpdatePower(bool updateReactors = false) PowerStored += PowerGeneration; if (PowerStored > MaxPowerStored) PowerStored = MaxPowerStored; ModularApi.SetAssemblyProperty(PhysicalAssemblyId, "HeatGeneration", - PowerConsumption * MegawattsPerFusionPower); + PowerConsumption * MegawattsPerFusionPower * 3); } public void UpdateTick() diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts.cs index cb50d9cfc..0aece114e 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; -using StarCore.FusionSystems.FusionParts; -using StarCore.FusionSystems.HeatParts; +using Epstein_Fusion_DS.FusionParts; +using Epstein_Fusion_DS.HeatParts; using VRageMath; -using static StarCore.FusionSystems.Communication.DefinitionDefs; +using static Epstein_Fusion_DS.Communication.DefinitionDefs; -namespace StarCore.FusionSystems +namespace Epstein_Fusion_DS { internal partial class ModularDefinition { @@ -35,7 +35,10 @@ internal partial class ModularDefinition AllowedBlockSubtypes = new[] { "Heat_Heatsink", - "Heat_FlatRadiator" + "Heat_FlatRadiator", + "RadiatorPanel", + "ExtendableRadiatorBase", + "ActiveRadiator", }, // Allowed connection directions & whitelists, measured in blocks. @@ -53,23 +56,23 @@ internal partial class ModularDefinition ["Heat_FlatRadiator"] = new Dictionary { [Vector3I.Forward] = Array.Empty(), + [Vector3I.Up] = Array.Empty(), + [Vector3I.Down] = Array.Empty(), + [Vector3I.Left] = Array.Empty(), + [Vector3I.Right] = Array.Empty(), + }, + ["RadiatorPanel"] = new Dictionary + { + [Vector3I.Down] = Array.Empty(), + [Vector3I.Up] = Array.Empty(), + }, + ["ExtendableRadiatorBase"] = new Dictionary + { [Vector3I.Up] = new[] { - "Heat_FlatRadiator" - }, - [Vector3I.Down] = new[] - { - "Heat_FlatRadiator" + "RadiatorPanel" }, - [Vector3I.Left] = new[] - { - "Heat_FlatRadiator" - }, - [Vector3I.Right] = new[] - { - "Heat_FlatRadiator" - } - } + }, } }; } diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinition.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinition.cs new file mode 100644 index 000000000..16eca682c --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinition.cs @@ -0,0 +1,28 @@ +using System; +using VRage.Game.ModAPI; + +namespace Epstein_Fusion_DS.HeatParts.Definitions +{ + internal class HeatPartDefinition + { + /// + /// The subtype of the heat part block. + /// + public string SubtypeId; + + /// + /// Amount of heat removed per second by one block. + /// + public float HeatDissipation; + + /// + /// Amount of heat that can be stored by one block. + /// + public float HeatCapacity; + + /// + /// Optional line of sight check. Returns the occlusion percentage (dissipation efficiency modifier) of the input radiator. Set to null if unneeded. + /// + public Func LoSCheck; + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinitions.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinitions.cs new file mode 100644 index 000000000..18dd35caf --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/Definitions/HeatPartDefinitions.cs @@ -0,0 +1,153 @@ +using Epstein_Fusion_DS.Communication; +using System.Collections.Generic; +using System.Linq; +using Epstein_Fusion_DS.HudHelpers; +using Sandbox.ModAPI; +using VRage.Game.ModAPI; +using VRageMath; + +namespace Epstein_Fusion_DS.HeatParts.Definitions +{ + internal static class HeatPartDefinitions + { + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; + + public static HeatPartDefinition GetDefinition(string subtypeId) => + Definitions.FirstOrDefault(d => d.SubtypeId == subtypeId); + + public static bool HasDefinition(string subtypeId) => + Definitions.Any(d => d.SubtypeId == subtypeId); + + /// + /// Internal buffer list for cell casting + /// + private static readonly List _cellPositions = new List(); + + /// + /// Array of all heat part definitions + /// + public static readonly HeatPartDefinition[] Definitions = + { + new HeatPartDefinition + { + SubtypeId = "Heat_Heatsink", + HeatCapacity = 60, + HeatDissipation = 0, + LoSCheck = null + }, + new HeatPartDefinition + { + SubtypeId = "Heat_FlatRadiator", + HeatCapacity = 0, + HeatDissipation = 2, + LoSCheck = radiatorBlock => CheckGridIntersect(radiatorBlock, Vector3I.Zero, Vector3I.Backward) ? 0 : 1 + }, + new HeatPartDefinition + { + SubtypeId = "MDA_Radiator_1x2", + HeatCapacity = 0, + HeatDissipation = 4, + LoSCheck = radiatorBlock => + { + float occlusionModifier = 0; + + if (!CheckGridIntersect(radiatorBlock, Vector3I.Up, Vector3I.Forward)) + occlusionModifier += 1 / 6f; + if (!CheckGridIntersect(radiatorBlock, Vector3I.Up, Vector3I.Backward)) + occlusionModifier += 1 / 6f; + + if (!CheckGridIntersect(radiatorBlock, Vector3I.Zero, Vector3I.Forward)) + occlusionModifier += 1 / 6f; + if (!CheckGridIntersect(radiatorBlock, Vector3I.Zero, Vector3I.Backward)) + occlusionModifier += 1 / 6f; + + if (!CheckGridIntersect(radiatorBlock, Vector3I.Down, Vector3I.Forward)) + occlusionModifier += 1 / 6f; + if (!CheckGridIntersect(radiatorBlock, Vector3I.Down, Vector3I.Backward)) + occlusionModifier += 1 / 6f; + + return occlusionModifier; + } + }, + new HeatPartDefinition + { + SubtypeId = "RadiatorPanel", + HeatCapacity = 0, + HeatDissipation = 2, + LoSCheck = radiatorBlock => + { + float occlusionModifier = 0; + + if (!CheckGridIntersect(radiatorBlock, Vector3I.Zero, Vector3I.Right)) + occlusionModifier += 1 / 2f; + if (!CheckGridIntersect(radiatorBlock, Vector3I.Zero, Vector3I.Left)) + occlusionModifier += 1 / 2f; + + return occlusionModifier; + } + }, + new HeatPartDefinition + { + SubtypeId = "ActiveRadiator", + HeatCapacity = 60, + HeatDissipation = 50, + LoSCheck = radiatorBlock => + { + float occlusionModifier = 0; + + Vector3I[] checkPositions = + { + new Vector3I(1, 0, -1), + new Vector3I(0, 0, -1), + new Vector3I(-1, 0, -1), + + new Vector3I(1, 0, 0), + Vector3I.Zero, + new Vector3I(-1, 0, 0), + + new Vector3I(1, 0, 1), + new Vector3I(0, 0, 1), + new Vector3I(-1, 0, 1), + }; + + foreach (var pos in checkPositions) + if (!CheckGridIntersect(radiatorBlock, pos, Vector3I.Up)) + occlusionModifier += 1f / checkPositions.Length; + + if (!CheckGridIntersect(radiatorBlock, Vector3I.Zero, Vector3I.Up)) + occlusionModifier += 1 / 2f; + if (!CheckGridIntersect(radiatorBlock, Vector3I.Right, Vector3I.Up)) + occlusionModifier += 1 / 2f; + + return occlusionModifier; + } + } + }; + + private static bool CheckGridIntersect(IMyCubeBlock block, Vector3I checkOffset, Vector3I checkDirection) + { + _cellPositions.Clear(); + + var grid = block.CubeGrid; + var blockMatrix = block.WorldMatrix; + var gridMaxExtents = Vector3.Distance(grid.Max, grid.Min) * grid.GridSize; + var checkStartPosition = Vector3D.Transform(checkOffset * block.CubeGrid.GridSize, ref blockMatrix); + + if (ModularApi.IsDebug()) + DebugDraw.AddLine(checkStartPosition, + checkStartPosition + Vector3D.TransformNormal(checkDirection, ref blockMatrix) * gridMaxExtents, Color.Bisque, 2); + + block.CubeGrid.RayCastCells(checkStartPosition, + checkStartPosition + Vector3D.TransformNormal(checkDirection, ref blockMatrix) * gridMaxExtents, _cellPositions); + + foreach (var cellPosition in _cellPositions) + { + var testBlock = grid.GetCubeBlock(cellPosition); + if (testBlock != null && testBlock != block.SlimBlock) + return true; + } + + return false; + } + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs new file mode 100644 index 000000000..b21d9f7df --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ActiveRadiatorAnimation.cs @@ -0,0 +1,62 @@ +using Sandbox.ModAPI; +using VRage.Game; +using VRage.Game.Components; +using VRage.Game.Entity; +using VRage.Game.ModAPI; +using VRage.ModAPI; +using VRage.ObjectBuilders; +using VRageMath; + +namespace Epstein_Fusion_DS.HeatParts.ExtendableRadiators +{ + [MyEntityComponentDescriptor(typeof(MyObjectBuilder_TerminalBlock), false, "ActiveRadiator")] + internal class ActiveRadiatorAnimation : MyGameLogicComponent + { + private IMyCubeBlock Block; + private MyEntitySubpart FanPart; + private MyParticleEffect Particle; + + public override void Init(MyObjectBuilder_EntityBase objectBuilder) + { + base.Init(objectBuilder); + + Block = (IMyCubeBlock)Entity; + + NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; + } + + public override void UpdateOnceBeforeFrame() + { + base.UpdateOnceBeforeFrame(); + + if (Block?.CubeGrid?.Physics == null || MyAPIGateway.Utilities.IsDedicated) + return; + + FanPart = Block.GetSubpart("blades"); + + MyParticlesManager.TryCreateParticleEffect("ActiveRadiatorParticle", ref MatrixD.Identity, ref Vector3D.Zero, Block.Render.GetRenderObjectID(), out Particle); + + NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME; + } + + public override void UpdateAfterSimulation() + { + float heatLevel = HeatManager.I.GetGridHeatLevel(Block.CubeGrid); + + Matrix refMatrix = MatrixD.CreateFromAxisAngle(Vector3D.Up, -0.1 * heatLevel) * FanPart.PositionComp.LocalMatrixRef; + refMatrix.Translation = FanPart.PositionComp.LocalMatrixRef.Translation; + FanPart.PositionComp.SetLocalMatrix(ref refMatrix); + + if (heatLevel < 0.15) + heatLevel = 0; + + Particle.UserBirthMultiplier = heatLevel * heatLevel; + Particle.UserVelocityMultiplier = heatLevel * heatLevel; + } + + public override void Close() + { + Particle?.Close(); + } + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ExtendableRadiator.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ExtendableRadiator.cs new file mode 100644 index 000000000..8e8c80e10 --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/ExtendableRadiator.cs @@ -0,0 +1,282 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.HudHelpers; +using ProtoBuf; +using Sandbox.Game.Entities; +using Sandbox.Game.EntityComponents; +using Sandbox.ModAPI; +using VRage.Game; +using VRage.Game.Components; +using VRage.Game.ModAPI; +using VRage.ModAPI; +using VRage.ObjectBuilders; +using VRageMath; + +namespace Epstein_Fusion_DS.HeatParts.ExtendableRadiators +{ + [MyEntityComponentDescriptor(typeof(MyObjectBuilder_TerminalBlock), false, "ExtendableRadiatorBase")] + internal class ExtendableRadiator : MyGameLogicComponent + { + public static readonly Guid RadiatorGuid = new Guid("e6b87818-5fd8-47a6-a480-3365e20214e1"); + public static readonly string[] ValidPanelSubtypes = + { + "RadiatorPanel", + }; + + + public IMyCubeBlock Block; + internal StoredRadiator[] StoredRadiators = Array.Empty(); + internal RadiatorAnimation Animation; + + private bool _isExtended = true; + public bool IsExtended + { + get + { + return _isExtended; + } + set + { + if (Animation.IsActive) + return; + + if (value) + ExtendPanels(); + else + RetractPanels(); + _isExtended = value; + } + } + + public override void Init(MyObjectBuilder_EntityBase objectBuilder) + { + base.Init(objectBuilder); + + Block = (IMyCubeBlock)Entity; + + NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; + } + + public override void UpdateOnceBeforeFrame() + { + RadiatorControls.DoOnce(); + base.UpdateOnceBeforeFrame(); + + if (Block?.CubeGrid?.Physics == null) + return; + + LoadSettings(); + + try + { + SaveSettings(); + } + catch (Exception ex) + { + ModularDefinition.ModularApi.Log(ex.ToString()); + } + + Animation = new RadiatorAnimation(this); + NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME; + //NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME; + } + + public override void UpdateAfterSimulation() + { + base.UpdateAfterSimulation(); + + // This is stupid, but prevents the mod profiler cost from being incurred every tick per block when inactive + if (Animation.IsActive) + Animation.UpdateTick(); + } + + public override bool IsSerialized() + { + try + { + SaveSettings(); + } + catch (Exception ex) + { + ModularDefinition.ModularApi.Log(ex.ToString()); + } + + return base.IsSerialized(); + } + + internal void SaveSettings() + { + if (Block == null) + return; // called too soon or after it was already closed, ignore + + if (StoredRadiators == null) + throw new NullReferenceException($"Settings == null on entId={Entity?.EntityId}; Test log 1"); + + if (MyAPIGateway.Utilities == null) + throw new NullReferenceException($"MyAPIGateway.Utilities == null; entId={Entity?.EntityId}; Test log 2"); + + if (Block.Storage == null) + Block.Storage = new MyModStorageComponent(); + + Block.Storage.SetValue(RadiatorGuid, Convert.ToBase64String(MyAPIGateway.Utilities.SerializeToBinary(StoredRadiators))); + } + + internal void LoadSettings() + { + if (Block.Storage == null) + return; + + string rawData; + if (!Block.Storage.TryGetValue(RadiatorGuid, out rawData)) + return; + + try + { + var loadedSettings = MyAPIGateway.Utilities.SerializeFromBinary(Convert.FromBase64String(rawData)) ?? Array.Empty(); + + StoredRadiators = loadedSettings; + _isExtended = StoredRadiators.Length == 0; + + for (int i = 0; i < StoredRadiators.Length; i++) + { + if (Block.LocalMatrix == StoredRadiators[i].BaseLocalMatrix) + break; + + var matrix = Matrix.Invert(StoredRadiators[i].BaseLocalMatrix) * Block.LocalMatrix; + + StoredRadiators[i].ObjectBuilder.Min = Block.Position + (Vector3I)Block.LocalMatrix.Up * (i+1); + StoredRadiators[i].LocalMatrix *= matrix; + StoredRadiators[i].ObjectBuilder.Orientation = Quaternion.CreateFromRotationMatrix(StoredRadiators[i].LocalMatrix); + + var matrix2 = StoredRadiators[i].LocalMatrix; + StoredRadiators[i].ObjectBuilder.BlockOrientation = new MyBlockOrientation(ref matrix2); + + StoredRadiators[i].BaseLocalMatrix = Block.LocalMatrix; + } + } + catch (Exception e) + { + ModularDefinition.ModularApi.Log(e.ToString()); + } + } + + public void ExtendPanels() + { + if (_isExtended || Animation.IsActive) + return; + + Vector3I nextPosition = Block.Position; + + try + { + // TODO move this to clientside + for (int i = 0; i < StoredRadiators.Length; i++) + { + nextPosition += (Vector3I)(Block.LocalMatrix.Up * (i + 1)); + + if (Block.CubeGrid.CubeExists(nextPosition)) + { + MyAPIGateway.Utilities.ShowNotification("Block already exists at position!"); + DebugDraw.AddGridPoint(nextPosition, Block.CubeGrid, Color.Red, 4); + _isExtended = false; + return; + } + } + + for (int i = 0; i < StoredRadiators.Length; i++) + { + StoredRadiators[i].ObjectBuilder.Name = null; + + var newBlock = Block.CubeGrid.AddBlock(StoredRadiators[i].ObjectBuilder, true); + if (newBlock?.FatBlock != null) + newBlock.FatBlock.Visible = false; + else + ModularDefinition.ModularApi.Log($"Stored radiator panel is null!\n Builder: {StoredRadiators[i].ObjectBuilder == null}\n Slimblock: {newBlock == null}\n Fatblock: {newBlock?.FatBlock == null}"); + } + + Animation.StartExtension(); + } + catch (Exception ex) + { + ModularDefinition.ModularApi.Log(ex.ToString()); + } + } + + /// + /// Panels start invisible for the animation to play. This makes them visible again. + /// + public void MakePanelsVisible() + { + IMyCubeBlock nextBlock; + int idx = 1; + + while (GetNextPanel(idx, out nextBlock)) + { + nextBlock.Visible = true; + idx++; + } + + StoredRadiators = Array.Empty(); + } + + public void RetractPanels() + { + if (!_isExtended) + return; + + IMyCubeBlock nextBlock; + List builders = new List(); + int idx = 1; + + while (GetNextPanel(idx, out nextBlock)) + { + var builder = nextBlock.GetObjectBuilderCubeBlock(true); + + builder.BlockOrientation = nextBlock.Orientation; + + Matrix matrix; + builders.Add(new StoredRadiator(builder, nextBlock.LocalMatrix, nextBlock.CalculateCurrentModel(out matrix), Block.LocalMatrix)); + + nextBlock.CubeGrid.RemoveBlock(nextBlock.SlimBlock, true); + idx++; + } + + StoredRadiators = builders.ToArray(); + + Animation.StartRetraction(); + } + + internal bool GetNextPanel(int idx, out IMyCubeBlock next) + { + IMySlimBlock block = Block.CubeGrid.GetCubeBlock((Vector3I)(Block.Position + Block.LocalMatrix.Up * idx)); + if (block == null || !ValidPanelSubtypes.Contains(block.BlockDefinition.Id.SubtypeName)) + { + next = null; + return false; + } + + next = block.FatBlock; + return true; + } + + [ProtoContract] + internal struct StoredRadiator + { + [ProtoMember(1)] public MyObjectBuilder_CubeBlock ObjectBuilder; + [ProtoMember(2)] public Matrix LocalMatrix; + [ProtoMember(4)] public Matrix BaseLocalMatrix; + [ProtoMember(3)] public string Model; + + + public StoredRadiator(MyObjectBuilder_CubeBlock objectBuilder, Matrix localMatrix, string model, Matrix baseLocalMatrix) + { + ObjectBuilder = objectBuilder; + LocalMatrix = localMatrix; + Model = model; + BaseLocalMatrix = baseLocalMatrix; + } + } + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorAnimation.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorAnimation.cs new file mode 100644 index 000000000..f152477a5 --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorAnimation.cs @@ -0,0 +1,207 @@ +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Epstein_Fusion_DS.HudHelpers; +using Sandbox.Engine.Physics; +using Sandbox.Game.Entities; +using Sandbox.ModAPI; +using VRage.Game.Components; +using VRage.Game.Entity; +using VRage.Game.ModAPI; +using VRage.ModAPI; +using VRage.ObjectBuilders; +using VRageMath; +using CollisionLayers = Sandbox.Engine.Physics.MyPhysics.CollisionLayers; +using Color = VRageMath.Color; + +namespace Epstein_Fusion_DS.HeatParts.ExtendableRadiators +{ + internal class RadiatorAnimation + { + public readonly ExtendableRadiator Radiator; + public bool IsActive = false; + public bool IsExtending = false; + + private HashSet _animationEntities = new HashSet(); + + public RadiatorAnimation(ExtendableRadiator radiator) + { + Radiator = radiator; + } + + public void StartExtension() + { + IsActive = true; + IsExtending = true; + } + + public void StartRetraction() + { + IsActive = true; + IsExtending = false; + } + + private int _animationTick = 0; + public void UpdateTick() + { + if (!IsActive) + return; + + _animationTick++; + + if (IsExtending) + { + // Extension animation + + if (_animationTick == 1) + { + MyEntity parentEntity = (MyEntity) Radiator.Block; + Matrix localMatrixOffset = Matrix.Invert(Radiator.Block.LocalMatrix); + + for (int i = 0; i < Radiator.StoredRadiators.Length; i++) + { + _animationEntities.Add(new AnimationPanel(Radiator.StoredRadiators[i].Model, Radiator.StoredRadiators[i].LocalMatrix * localMatrixOffset, parentEntity)); + parentEntity = _animationEntities.Last(); + localMatrixOffset = Matrix.Invert(Radiator.StoredRadiators[i].LocalMatrix); + } + + int idx = 0; + foreach (var entity in _animationEntities) + { + if (idx == 0) + { + entity.RotateAroundLocalAxis(1.1781); + entity.MoveLocalSpace(entity.RightVector * -0.75f); + } + else + { + entity.RotateAroundLocalAxis(1.1781*2); + } + + idx++; + } + } + + if (_animationTick <= 120) + { + int idx = 0; + foreach (var entity in _animationEntities) + { + if (idx == 0) + { + entity.RotateAroundLocalAxis(-1.1781/120); + entity.MoveLocalSpace(entity.RightVector * 0.75f/120); + } + else + { + entity.RotateAroundLocalAxis(-1.1781/120*2); + } + + idx++; + } + + return; + } + + Reset(); + Radiator.MakePanelsVisible(); + } + else + { + // Retraction animation + + if (_animationTick == 1) + { + MyEntity parentEntity = (MyEntity) Radiator.Block; + Matrix localMatrixOffset = Matrix.Invert(Radiator.Block.LocalMatrix); + + for (int i = 0; i < Radiator.StoredRadiators.Length; i++) + { + _animationEntities.Add(new AnimationPanel(Radiator.StoredRadiators[i].Model, Radiator.StoredRadiators[i].LocalMatrix * localMatrixOffset, parentEntity)); + parentEntity = _animationEntities.Last(); + localMatrixOffset = Matrix.Invert(Radiator.StoredRadiators[i].LocalMatrix); + } + } + + if (_animationTick <= 120) + { + int idx = 0; + foreach (var entity in _animationEntities) + { + if (idx == 0) + { + entity.RotateAroundLocalAxis(1.1781/120); + entity.MoveLocalSpace(entity.RightVector * -0.75f/120); + } + else + { + entity.RotateAroundLocalAxis(1.1781/120*2); + } + + idx++; + } + + return; + } + + Reset(); + return; + } + } + + private void Reset() + { + _animationTick = 0; + IsActive = false; + + foreach (var entity in _animationEntities) + entity.Close(); + _animationEntities.Clear(); + } + + private sealed class AnimationPanel : MyEntity + { + /// + /// As the block rotates, its orientation changes. RightVector is used to translate the block relative to itself after rotation. + /// + public readonly Vector3D RightVector; + private Vector3D _rotationPoint = new Vector3D(-0.5, 1.25, 0); + private readonly bool _isUpsideDown; + + public AnimationPanel(string model, Matrix localMatrix, MyEntity parent) + { + Init(null, model, parent, 1); + if (string.IsNullOrEmpty(model)) + Flags &= ~EntityFlags.Visible; + Save = false; + NeedsWorldMatrix = true; + + PositionComp.SetLocalMatrix(ref localMatrix); + MyEntities.Add(this); + + RightVector = PositionComp.LocalMatrixRef.Right; + + _isUpsideDown = PositionComp.LocalMatrixRef.Up.Y * PositionComp.LocalMatrixRef.Translation.Y > 0; + if (_isUpsideDown) + _rotationPoint *= -1; + } + + public void RotateAroundLocalAxis(double amount) + { + Matrix newMatrix = Utils.RotateMatrixAroundPoint(PositionComp.LocalMatrixRef, + Vector3D.Transform(_rotationPoint, PositionComp.LocalMatrixRef), PositionComp.LocalMatrixRef.Backward, amount); + PositionComp.SetLocalMatrix(ref newMatrix); + } + + public void MoveLocalSpace(Vector3 amount) + { + if (_isUpsideDown) + amount *= -1; + + Matrix newMatrix = PositionComp.LocalMatrixRef; + newMatrix.Translation += amount; + PositionComp.SetLocalMatrix(ref newMatrix); + } + } + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorControls.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorControls.cs new file mode 100644 index 000000000..ea8e7739e --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/ExtendableRadiators/RadiatorControls.cs @@ -0,0 +1,80 @@ +using System.Text; +using Sandbox.ModAPI; +using Sandbox.ModAPI.Interfaces.Terminal; +using VRage.Utils; + +namespace Epstein_Fusion_DS.HeatParts.ExtendableRadiators +{ + internal static class RadiatorControls + { + private static bool _done = false; + + static bool CustomVisibleCondition(IMyTerminalBlock b) + { + // only visible for the blocks having this gamelogic comp + return b?.GameLogic?.GetAs() != null; + } + + public static void DoOnce() // called by GyroLogic.cs + { + if (_done) + return; + _done = true; + + // these are all the options and they're not all required so use only what you need. + CreateControls(); + } + + private static void CreateControls() + { + { + var c = MyAPIGateway.TerminalControls.CreateControl("Radiator_ToggleExtended"); + c.Title = MyStringId.GetOrCompute("Toggle Extension"); + c.Tooltip = MyStringId.GetOrCompute("Extends or retracts radiator panels attached to this block."); + c.SupportsMultipleBlocks = true; + + c.Visible = CustomVisibleCondition; + + c.OnText = MyStringId.GetOrCompute("Extended"); + c.OffText = MyStringId.GetOrCompute("Retracted"); + + c.Getter = (b) => b?.GameLogic?.GetAs()?.IsExtended ?? false; + c.Setter = (b, v) => + { + var logic = b?.GameLogic?.GetAs(); + if (logic != null) + logic.IsExtended = v; + c.UpdateVisual(); + }; + + MyAPIGateway.TerminalControls.AddControl(c); + } + + { + var a = MyAPIGateway.TerminalControls.CreateAction("Radiator_ToggleExtended"); + a.Name = new StringBuilder("Toggle Extension"); + a.ValidForGroups = true; + + a.Enabled = CustomVisibleCondition; + + a.Writer = (block, builder) => + { + builder.Clear(); + if (block?.GameLogic?.GetAs()?.IsExtended ?? false) + builder.Append("Extended"); + else + builder.Append("Retracted"); + }; + + a.Action = (block) => + { + var logic = block?.GameLogic?.GetAs(); + if (logic != null) + logic.IsExtended = !logic.IsExtended; + }; + + MyAPIGateway.TerminalControls.AddAction(a); + } + } + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/GridHeatManager.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/GridHeatManager.cs index 229748faf..e2384241e 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/GridHeatManager.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/GridHeatManager.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; +using Epstein_Fusion_DS.Communication; using Sandbox.Game.Entities; -using StarCore.FusionSystems.Communication; using VRage.Game.ModAPI; using VRageMath; -namespace StarCore.FusionSystems.HeatParts +namespace Epstein_Fusion_DS.HeatParts { internal class GridHeatManager { @@ -30,7 +30,7 @@ public GridHeatManager(IMyCubeGrid grid) Grid = (MyCubeGrid)grid; } - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; public MyCubeGrid Grid { get; } @@ -88,7 +88,10 @@ public void OnPartAdd(int assemblyId, IMyCubeBlock block, bool isBaseBlock) public void OnPartRemove(int assemblyId, IMyCubeBlock block, bool isBaseBlock) { - var system = _heatSystems[assemblyId]; + var system = _heatSystems.GetValueOrDefault(assemblyId, null); + if (system == null) + return; + system.OnPartRemove(block); if (system.BlockCount <= 0) diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatManager.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatManager.cs index 6558142f9..8749312f5 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatManager.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatManager.cs @@ -3,7 +3,7 @@ using VRage.Game.ModAPI; using VRage.ModAPI; -namespace StarCore.FusionSystems.HeatParts +namespace Epstein_Fusion_DS.HeatParts { internal class HeatManager { diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatSystem.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatSystem.cs index deac41872..50ac777fa 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatSystem.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HeatParts/HeatSystem.cs @@ -1,20 +1,18 @@ using System.Collections.Generic; -using StarCore.FusionSystems.Communication; +using System.Linq; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.HeatParts.Definitions; using VRage.Game.ModAPI; using VRageMath; -namespace StarCore.FusionSystems.HeatParts +namespace Epstein_Fusion_DS.HeatParts { internal class HeatSystem { - private const float HeatCapacityPerSink = 60; - private const float HeatDissipationPerRadiator = 5f; - - private readonly List _cellPositions = new List(); - - private readonly HashSet _occludedRadiators = new HashSet(); - private readonly List _radiatorBlocks = new List(); - private readonly HashSet _visibleRadiators = new HashSet(); + /// + /// Maps radiator blocks to their heat dissipation. + /// + private readonly Dictionary _radiatorBlocks = new Dictionary(); public int AssemblyId; @@ -33,7 +31,7 @@ public HeatSystem(int assemblyId, GridHeatManager parent) Parent.Grid.OnBlockRemoved += UpdateLoS; } - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; public int BlockCount { get; private set; } /// @@ -56,19 +54,20 @@ public float HeatCapacity public void OnPartAdd(IMyCubeBlock block) { - switch (block.BlockDefinition.SubtypeName) + var definition = HeatPartDefinitions.GetDefinition(block.BlockDefinition.SubtypeId); + if (definition == null) + return; + + if (definition.HeatCapacity != 0) + { + HeatCapacity += definition.HeatCapacity; + Parent.HeatCapacity += definition.HeatCapacity; + } + + if (definition.HeatDissipation != 0) { - case "Heat_Heatsink": - HeatCapacity += HeatCapacityPerSink; - Parent.HeatCapacity += HeatCapacityPerSink; - break; - case "Heat_FlatRadiator": - _radiatorBlocks.Add(block); - _visibleRadiators.Add(block); - HeatDissipation += HeatDissipationPerRadiator; - Parent.HeatDissipation += HeatDissipationPerRadiator; - DoLoSCheck(block); - break; + _radiatorBlocks.Add(block, 0); + DoLoSCheck(block); } BlockCount++; @@ -76,22 +75,21 @@ public void OnPartAdd(IMyCubeBlock block) public void OnPartRemove(IMyCubeBlock block) { - switch (block.BlockDefinition.SubtypeName) + var definition = HeatPartDefinitions.GetDefinition(block.BlockDefinition.SubtypeId); + if (definition == null) + return; + + if (definition.HeatCapacity != 0) + { + HeatCapacity -= definition.HeatCapacity; + Parent.HeatCapacity -= definition.HeatCapacity; + } + + if (definition.HeatDissipation != 0) { - case "Heat_Heatsink": - HeatCapacity -= HeatCapacityPerSink; - Parent.HeatCapacity -= HeatCapacityPerSink; - break; - case "Heat_FlatRadiator": - _radiatorBlocks.Remove(block); - _occludedRadiators.Remove(block); - if (_visibleRadiators.Remove(block)) - { - HeatDissipation -= HeatDissipationPerRadiator; - Parent.HeatDissipation -= HeatDissipationPerRadiator; - } - - break; + HeatDissipation -= _radiatorBlocks[block]; + Parent.HeatDissipation -= _radiatorBlocks[block]; + _radiatorBlocks.Remove(block); } BlockCount--; @@ -106,60 +104,38 @@ public void OnClose() private void UpdateLoS(IMySlimBlock newBlock) { Quaternion radQuaternion; - foreach (var radiator in _radiatorBlocks) + + foreach (var radiator in _radiatorBlocks.Keys.ToArray()) { radiator.Orientation.GetQuaternion(out radQuaternion); var offset = (Vector3I)(radQuaternion * (newBlock.Position - radiator.Position)); + var radiatorSize = (radiator.Max - radiator.Min + Vector3I.One).AbsMax(); // If block is in front of radiator panel - if (offset.X == 0 && offset.Y == 0 && offset.Z > 0) DoLoSCheck(radiator); + if (offset.X < radiatorSize && offset.Y < radiatorSize && offset.Z < radiatorSize) DoLoSCheck(radiator); } } private void DoLoSCheck(IMyCubeBlock radiatorBlock) { - var blockMatrix = radiatorBlock.WorldMatrix; - var gridMaxExtents = Vector3.Distance(Parent.Grid.Max, Parent.Grid.Min) * Parent.Grid.GridSize; - - var doesIntersect = false; + var definition = HeatPartDefinitions.GetDefinition(radiatorBlock.BlockDefinition.SubtypeId); + if (definition == null) + return; - if (ModularApi.IsDebug()) - DebugDraw.DebugDraw.AddLine(blockMatrix.Translation, - blockMatrix.Translation + blockMatrix.Backward * gridMaxExtents, Color.Bisque, 2); + float currentDissipation = (definition.LoSCheck?.Invoke(radiatorBlock) ?? 1) * definition.HeatDissipation; + float prevDissipation = _radiatorBlocks[radiatorBlock]; - Parent.Grid.RayCastCells(blockMatrix.Translation, - blockMatrix.Translation + blockMatrix.Backward * gridMaxExtents, _cellPositions); - - foreach (var cellPosition in _cellPositions) - { - if (cellPosition == radiatorBlock.Position || !Parent.Grid.CubeExists(cellPosition)) - continue; + if (currentDissipation == prevDissipation) + return; - doesIntersect = true; - break; - } + HeatDissipation -= prevDissipation; + Parent.HeatDissipation -= prevDissipation; - _cellPositions.Clear(); + HeatDissipation += currentDissipation; + Parent.HeatDissipation += currentDissipation; - if (doesIntersect) - { - _visibleRadiators.Remove(radiatorBlock); - if (_occludedRadiators.Add(radiatorBlock)) - { - HeatDissipation -= HeatDissipationPerRadiator; - Parent.HeatDissipation -= HeatDissipationPerRadiator; - } - } - else - { - _occludedRadiators.Remove(radiatorBlock); - if (_visibleRadiators.Add(radiatorBlock)) - { - HeatDissipation += HeatDissipationPerRadiator; - Parent.HeatDissipation += HeatDissipationPerRadiator; - } - } + _radiatorBlocks[radiatorBlock] = currentDissipation; } } } \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/ConsumptionBar.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/ConsumptionBar.cs index 07b46f65a..a67d508dc 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/ConsumptionBar.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/ConsumptionBar.cs @@ -1,21 +1,16 @@ using System; -using RichHudFramework; -using RichHudFramework.Internal; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.FusionParts; +using Epstein_Fusion_DS.HeatParts; using RichHudFramework.UI; using RichHudFramework.UI.Client; using RichHudFramework.UI.Rendering; -using Sandbox.Game; using Sandbox.Game.Entities; using Sandbox.ModAPI; -using StarCore.FusionSystems.Communication; -using StarCore.FusionSystems.FusionParts; -using StarCore.FusionSystems.HeatParts; -using VRage.Audio; using VRage.Game.Entity; -using VRage.Input; using VRageMath; -namespace StarCore.FusionSystems.HudHelpers +namespace Epstein_Fusion_DS.HudHelpers { internal class ConsumptionBar : WindowBase { @@ -73,7 +68,7 @@ public ConsumptionBar(HudParentBase parent) : base(parent) 0); // Relative to 1920x1080 } - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; protected override void Layout() { @@ -126,7 +121,11 @@ public void Update() reactorIntegrity += reactor.Block.SlimBlock.Integrity/reactor.Block.SlimBlock.MaxIntegrity; reactorCount++; } - + foreach (var thruster in system.Value.Thrusters) + { + reactorIntegrity += thruster.Block.SlimBlock.Integrity/thruster.Block.SlimBlock.MaxIntegrity; + reactorCount++; + } } reactorIntegrity /= reactorCount; @@ -150,16 +149,21 @@ public void Update() else timeToCharge = 0; - HeaderText = $"Fusion | {(totalFusionGeneration > 0 ? "+" : "-")}{Math.Round(timeToCharge)}s"; + //if (timeToCharge > 0) + // HeaderText = $"Fusion | {(totalFusionGeneration > 0 ? "+" : "-")}{Math.Round(timeToCharge)}s"; + //else + // HeaderText = $"Fusion | {totalFusionGeneration:N0}/s"; + HeaderText = $"Fusion | {totalFusionStored/totalFusionCapacity * 100:N0}%"; + _noticeLabel.Text = new RichText { - {"Reactor Integrity: ", GlyphFormat.White}, + {"Integrity: ", GlyphFormat.White}, {(reactorIntegrity*100).ToString("N0") + "%", GlyphFormat.White.WithColor(reactorIntegrity > 0.52 ? Color.White : Color.Red)} }; if (HeatManager.I.GetGridHeatLevel(playerGrid) > 0.8f) { - _noticeLabel.TextBoard.Append("\nTAKING THERMAL DAMAGE", GlyphFormat.White.WithColor(Color.Red)); + _noticeLabel.TextBoard.Append("\nTHERMAL DAMAGE", GlyphFormat.White.WithColor(Color.Red)); if (_soundEmitter == null) { diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/DebugDraw/DebugDrawManager.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/DebugDrawManager.cs similarity index 99% rename from Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/DebugDraw/DebugDrawManager.cs rename to Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/DebugDrawManager.cs index 2a36d77f2..2a38074db 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/DebugDraw/DebugDrawManager.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/DebugDrawManager.cs @@ -8,11 +8,9 @@ using VRage.Game.ModAPI; using VRage.Utils; using VRageMath; -using VRageRender; using static VRageRender.MyBillboard; -namespace StarCore.FusionSystems. - DebugDraw +namespace Epstein_Fusion_DS.HudHelpers { [MySessionComponentDescriptor(MyUpdateOrder.NoUpdate)] public class DebugDraw : MySessionComponentBase diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/LICENSE b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/LICENSE index dd4b98af1..42871ca51 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/LICENSE +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2020 Zachary Hembree - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +MIT License + +Copyright (c) 2020 Zachary Hembree + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/README.md b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/README.md index aad2e9588..a0490c337 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/README.md +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/HudHelpers/RichHud/README.md @@ -1,17 +1,17 @@ -## Rich HUD Framework -This is a framework for creating custom retained-mode GUI in Space Engineers workshop mods using the billboards supplied by the mod API. It's nothing fancy, but it has most of the basic functionality you'd expect from a UI framework: text rendering, custom fonts, UI layering, key binds, mouse input, everything you might need to get started creating custom GUI in Space Engineers, sans markup lanugage. Everything is done in C#. If you want an idea of what that looks like, exactly, then have a look at some of the elements in the UI [library](https://github.com/ZachHembree/RichHudFramework.Client/blob/master/Shared/UI/HUD/HudElements/ClickableHudElements/Buttons/BorderedButton.cs); most of it's pretty straightforward. - -## Getting Started -Space Engineer's mods are all compiled to independent assemblies with no references between them, for reasons I trust are apparent, but this has the obvious drawback of preventing any two mods from directly sharing code. Fortunately, the game does provide utilities for sharing data at runtime using types exposed by the game's mod API, like generic delegates and tuples. For this reason, this framework is split into three modules: Master, Client and Shared. The master module contains the implementation for things like the text renderer, bind manager, and manages the UI tree, among other things and the Client module provides wrappers and utilities that provide easy access to those systems. - -To get started using this framework, you'll need to download a copy of the [client](https://github.com/ZachHembree/RichHudFramework.Client/releases) module from releases and include it in your mod. Usage details can be found in the [wiki](https://github.com/ZachHembree/RichHudFramework.Client/wiki), in addition to a detailed overview of the framework's functions. - -## Demo -If you want to get a better idea of what you can do with this framework, [Rich HUD Master](https://steamcommunity.com/workshop/filedetails/?id=1965654081) has a demo built into the terminal that can be enabled using the chat command "/rhd toggledebug". This demo allows you to spawn most of the UI elements in the library in their default state while also allowing you to maniplate their [HUD Space](https://github.com/ZachHembree/RichHudFramework.Client/wiki/HUD-Spaces) in real time. - -![Demo menu screenshot](https://steamuserimages-a.akamaihd.net/ugc/1722038154210428899/17BC5D4D245402D3E642B36672DC840D1B7207D3/) - -## Example Mod -You can find a well-documented example Text Editor Mod [here](https://github.com/ZachHembree/TextEditorExample). Fair warning, the corresponding walkthrough in the wiki is currently outdated, and I probably won't get around to finishing it for a while. - -![Text editor screenshot](https://user-images.githubusercontent.com/6527038/117976888-3ffe4d80-b2fe-11eb-82f2-17c690fec3c5.png) +## Rich HUD Framework +This is a framework for creating custom retained-mode GUI in Space Engineers workshop mods using the billboards supplied by the mod API. It's nothing fancy, but it has most of the basic functionality you'd expect from a UI framework: text rendering, custom fonts, UI layering, key binds, mouse input, everything you might need to get started creating custom GUI in Space Engineers, sans markup lanugage. Everything is done in C#. If you want an idea of what that looks like, exactly, then have a look at some of the elements in the UI [library](https://github.com/ZachHembree/RichHudFramework.Client/blob/master/Shared/UI/HUD/HudElements/ClickableHudElements/Buttons/BorderedButton.cs); most of it's pretty straightforward. + +## Getting Started +Space Engineer's mods are all compiled to independent assemblies with no references between them, for reasons I trust are apparent, but this has the obvious drawback of preventing any two mods from directly sharing code. Fortunately, the game does provide utilities for sharing data at runtime using types exposed by the game's mod API, like generic delegates and tuples. For this reason, this framework is split into three modules: Master, Client and Shared. The master module contains the implementation for things like the text renderer, bind manager, and manages the UI tree, among other things and the Client module provides wrappers and utilities that provide easy access to those systems. + +To get started using this framework, you'll need to download a copy of the [client](https://github.com/ZachHembree/RichHudFramework.Client/releases) module from releases and include it in your mod. Usage details can be found in the [wiki](https://github.com/ZachHembree/RichHudFramework.Client/wiki), in addition to a detailed overview of the framework's functions. + +## Demo +If you want to get a better idea of what you can do with this framework, [Rich HUD Master](https://steamcommunity.com/workshop/filedetails/?id=1965654081) has a demo built into the terminal that can be enabled using the chat command "/rhd toggledebug". This demo allows you to spawn most of the UI elements in the library in their default state while also allowing you to maniplate their [HUD Space](https://github.com/ZachHembree/RichHudFramework.Client/wiki/HUD-Spaces) in real time. + +![Demo menu screenshot](https://steamuserimages-a.akamaihd.net/ugc/1722038154210428899/17BC5D4D245402D3E642B36672DC840D1B7207D3/) + +## Example Mod +You can find a well-documented example Text Editor Mod [here](https://github.com/ZachHembree/TextEditorExample). Fair warning, the corresponding walkthrough in the wiki is currently outdated, and I probably won't get around to finishing it for a while. + +![Text editor screenshot](https://user-images.githubusercontent.com/6527038/117976888-3ffe4d80-b2fe-11eb-82f2-17c690fec3c5.png) diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/MasterDefinition.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/MasterDefinition.cs index 55fe677ab..0c261dcf3 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/MasterDefinition.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/MasterDefinition.cs @@ -1,4 +1,4 @@ -namespace StarCore.FusionSystems +namespace Epstein_Fusion_DS { // turns out whoever wrote the CoreSystems definition handler is REALLY SMART. hats off to you internal partial class ModularDefinition diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/S_FusionPlayerHud.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/S_FusionPlayerHud.cs index c1dad10fe..e21fca76b 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/S_FusionPlayerHud.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/S_FusionPlayerHud.cs @@ -1,16 +1,16 @@ using System; using System.Linq; +using Epstein_Fusion_DS.Communication; +using Epstein_Fusion_DS.FusionParts; +using Epstein_Fusion_DS.HeatParts; +using Epstein_Fusion_DS.HudHelpers; using RichHudFramework.Client; using RichHudFramework.UI.Client; using Sandbox.Game; -using StarCore.FusionSystems.Communication; -using StarCore.FusionSystems.FusionParts; -using StarCore.FusionSystems.HeatParts; -using StarCore.FusionSystems.HudHelpers; using VRage.Game.Components; using VRage.Utils; -namespace StarCore.FusionSystems +namespace Epstein_Fusion_DS { /// /// Semi-independent script for managing the player HUD. @@ -22,7 +22,7 @@ public class SFusionPlayerHud : MySessionComponentBase private int _ticks; private ConsumptionBar _consumptionBar; - private static ModularDefinitionApi ModularApi => ModularDefinition.ModularApi; + private static ModularDefinitionApi ModularApi => Epstein_Fusion_DS.ModularDefinition.ModularApi; private static SFusionManager FusionManager => SFusionManager.I; private static HeatManager HeatManager => HeatManager.I; @@ -76,7 +76,8 @@ public override void UpdateAfterSimulation() continue; MyVisualScriptLogicProvider.AddQuestlogDetailLocal( - $"[{system.PhysicalAssemblyId}] Power: {Math.Round(system.PowerStored / system.MaxPowerStored * 100f)}% ({Math.Round(system.MaxPowerStored)} @ {Math.Round(system.PowerGeneration * 60, 1)}/s) | Loops: {system.Arms.Count} | Heat: -{HeatManager.I.GetGridHeatDissipation(system.Grid):N0} +{HeatManager.I.GetGridHeatGeneration(system.Grid):N0} ({HeatManager.I.GetGridHeatLevel(system.Grid)*100:F1}%)", + $"[({system.PhysicalAssemblyId})] Thrusters: {system.Thrusters.Count} | Reactors: {system.Reactors.Count} | Loops: {system.Arms.Count} | Heat: -{HeatManager.I.GetGridHeatDissipation(system.Grid):N0} +{HeatManager.I.GetGridHeatGeneration(system.Grid):N0} ({HeatManager.I.GetGridHeatLevel(system.Grid)*100:F1}%)\n" + + $" Stored: {system.PowerStored:N0}/{system.MaxPowerStored:N0} | Generation: {system.PowerGeneration:N1}/{system.MaxPowerGeneration:N1}", false, false); displayedCount++; } diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/SyncMultipliers.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/SyncMultipliers.cs index da216e96a..8cebec229 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/SyncMultipliers.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/SyncMultipliers.cs @@ -5,7 +5,7 @@ using VRage.Game.Components; using VRage.Game.ModAPI; -namespace StarCore.FusionSystems +namespace Epstein_Fusion_DS { [MySessionComponentDescriptor(MyUpdateOrder.AfterSimulation)] public class SyncMultipliers : MySessionComponentBase @@ -92,6 +92,9 @@ protected override void UnloadData() public static void ReactorOutput(IMyReactor reactor, float output) { + if (reactor == null || _i == null) + return; + if (Math.Abs(reactor.MaxOutput - output) < 0.1f || !_i._updateLimiter.Add(reactor)) return; @@ -115,6 +118,9 @@ public static void ReactorOutput(IMyReactor reactor, float output) public static void ThrusterOutput(IMyThrust thrust, float output) { + if (thrust == null || _i == null) + return; + if (Math.Abs(thrust.MaxThrust - output) < 1.0f || !_i._updateLimiter.Add(thrust)) return; diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Utils.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Utils.cs new file mode 100644 index 000000000..50d5541e1 --- /dev/null +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/Utils.cs @@ -0,0 +1,19 @@ +using VRageMath; + +namespace Epstein_Fusion_DS +{ + public static class Utils + { + // TODO make this less inefficient. + public static Matrix RotateMatrixAroundPoint(Matrix matrix, Vector3D point, Vector3D axis, double angleRadians) + { + matrix.Translation -= point; + Matrix rotation = MatrixD.CreateFromAxisAngle(axis, angleRadians); + + Matrix transformedMatrix = matrix * rotation; + transformedMatrix.Translation += point; + + return transformedMatrix; + } + } +} diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ActiveRadiator.mwm b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ActiveRadiator.mwm new file mode 100644 index 0000000000000000000000000000000000000000..660e1572bb92644aed17778bbcde600efe22aedf GIT binary patch literal 131500 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Ξ(Wu^X&W0``T5mIxZzLTjD%`SVbNVFe{(h8pt02$ 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 z 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

    gmce{?<1xXFl`8_NK?pyOrjC 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 literal 0 HcmV?d00001 diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/ExtendableRadiatorBase.dds b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/ExtendableRadiatorBase.dds new file mode 100644 index 0000000000000000000000000000000000000000..fd0575a65b41b301e788163ea58d7c9c88b50530 GIT binary patch literal 22020 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 literal 0 HcmV?d00001 diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/RadiatorPanel.dds b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/RadiatorPanel.dds new file mode 100644 index 0000000000000000000000000000000000000000..433c6d8623bde0f3aaf39e16916e0821c9e132ba GIT binary patch literal 22020 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