diff --git a/Torch.Mod/TorchModCore.cs b/Torch.Mod/TorchModCore.cs index a064fe6..83f3a33 100644 --- a/Torch.Mod/TorchModCore.cs +++ b/Torch.Mod/TorchModCore.cs @@ -10,7 +10,7 @@ namespace Torch.Mod [MySessionComponentDescriptor(MyUpdateOrder.AfterSimulation)] public class TorchModCore : MySessionComponentBase { - public const long MOD_ID = 1406994352; + public const ulong MOD_ID = 1406994352; private static bool _init; public override void UpdateAfterSimulation() diff --git a/Torch.Server/ViewModels/SessionSettingsViewModel.cs b/Torch.Server/ViewModels/SessionSettingsViewModel.cs index f6bc486..6d2270a 100644 --- a/Torch.Server/ViewModels/SessionSettingsViewModel.cs +++ b/Torch.Server/ViewModels/SessionSettingsViewModel.cs @@ -143,8 +143,8 @@ namespace Torch.Server.ViewModels [Torch.Views.Display(Description = "Enables in game scripts.", Name = "Enable Ingame Scripts", GroupName = "Others")] public bool EnableIngameScripts { get => _settings.EnableIngameScripts; set => SetValue(ref _settings.EnableIngameScripts, value); } - [Torch.Views.Display(Description = "", Name = "Flora Density", GroupName = "Environment")] - public int FloraDensity { get => _settings.FloraDensity; set => SetValue(ref _settings.FloraDensity, value); } + [Torch.Views.Display(Description = "", Name = "Flora Density Multiplier", GroupName = "Environment")] + public float FloraDensityMultiplier { get => _settings.FloraDensityMultiplier; set => SetValue(ref _settings.FloraDensityMultiplier, value); } [Torch.Views.Display(Description = "Enables tool shake feature.", Name = "Enable Tool Shake", GroupName = "Players")] [DefaultValue(false)] @@ -164,10 +164,7 @@ namespace Torch.Server.ViewModels [Torch.Views.Display(Description = "Enables random encounters in the world.", Name = "Enable Encounters", GroupName = "NPCs")] public bool EnableEncounters { get => _settings.EnableEncounters; set => SetValue(ref _settings.EnableEncounters, value); } - - [Torch.Views.Display(Description = "", Name = "Enable Flora", GroupName = "Environment")] - public bool EnableFlora { get => _settings.EnableFlora; set => SetValue(ref _settings.EnableFlora, value); } - + [Torch.Views.Display(Description = "Enables possibility of converting grid to station.", Name = "Enable Convert to Station", GroupName = "Others")] public bool EnableConvertToStation { get => _settings.EnableConvertToStation; set => SetValue(ref _settings.EnableConvertToStation, value); } diff --git a/Torch/Collections/MtObservableCollectionBase.cs b/Torch/Collections/MtObservableCollectionBase.cs index 84bc488..580e682 100644 --- a/Torch/Collections/MtObservableCollectionBase.cs +++ b/Torch/Collections/MtObservableCollectionBase.cs @@ -343,5 +343,8 @@ namespace Torch.Collections /// bool ICollection.IsSynchronized => true; + + /// + int ICollection.Count => Count; } } \ No newline at end of file diff --git a/Torch/Managers/NetworkManager/NetworkManager.cs b/Torch/Managers/NetworkManager/NetworkManager.cs index bbe0d15..0fd8d69 100644 --- a/Torch/Managers/NetworkManager/NetworkManager.cs +++ b/Torch/Managers/NetworkManager/NetworkManager.cs @@ -13,6 +13,7 @@ using Torch.Utils; using VRage; using VRage.Library.Collections; using VRage.Network; +using VRageMath; namespace Torch.Managers { @@ -116,7 +117,7 @@ namespace Torch.Managers } #region Network Intercept - + //TODO: Change this to a method patch so I don't have to try to keep up with Keen. /// /// This is the main body of the network intercept system. When messages come in from clients, they are processed here @@ -150,7 +151,10 @@ namespace Torch.Managers //this value is unused, but removing this line corrupts the rest of the stream var blockedNetworkId = stream.ReadNetworkId(); var eventId = (uint)stream.ReadUInt16(); - + bool flag = stream.ReadBool(); + Vector3D? position = new Vector3D?(); + if (flag) + position = new Vector3D?(stream.ReadVector3D()); CallSite site; object obj; diff --git a/Torch/VRageGame.cs b/Torch/VRageGame.cs index eafe74a..e470878 100644 --- a/Torch/VRageGame.cs +++ b/Torch/VRageGame.cs @@ -277,7 +277,7 @@ namespace Torch MyObjectBuilder_Checkpoint checkpoint = MyLocalCache.LoadCheckpoint(sessionPath, out checkpointSize); if (MySession.IsCompatibleVersion(checkpoint)) { - if (MyWorkshop.DownloadWorldModsBlocking(checkpoint.Mods).Success) + if (MyWorkshop.DownloadWorldModsBlocking(checkpoint.Mods, null).Success) { // MySpaceAnalytics.Instance.SetEntry(MyGameEntryEnum.Load); MySession.Load(sessionPath, checkpoint, checkpointSize);