mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-09 06:13:36 +08:00
@@ -1,5 +1,8 @@
|
|||||||
## Changlog
|
## Changlog
|
||||||
|
|
||||||
|
* 1.2.15
|
||||||
|
+ `Off-grid building and stepped rotation`: Fix compatibility with DSP 0.10.32.25682. (#57)
|
||||||
|
+ `Enhanced control for logistic storage limits`: Try to fix possible crash. (#54)
|
||||||
* 1.2.14
|
* 1.2.14
|
||||||
+ Fix an issue that an unexpected menu icon is shown in the top-right corner of the config panel.
|
+ Fix an issue that an unexpected menu icon is shown in the top-right corner of the config panel.
|
||||||
+ `Stop ejectors when available nodes are all filled up`: Fix compatibility with `Dyson Sphere Program v0.10.32.25496`.
|
+ `Stop ejectors when available nodes are all filled up`: Fix compatibility with `Dyson Sphere Program v0.10.32.25496`.
|
||||||
@@ -236,6 +239,9 @@
|
|||||||
|
|
||||||
## 更新日志
|
## 更新日志
|
||||||
|
|
||||||
|
* 1.2.15
|
||||||
|
+ `脱离网格建造和小角度旋转`:修复了与0.10.32.25682的兼容性 (#57)
|
||||||
|
+ `物流塔存储数量限制控制改进`:修复了可能导致崩溃的问题 (#54)
|
||||||
* 1.2.14
|
* 1.2.14
|
||||||
+ 修正设置窗口右上角多出一个菜单图标的问题
|
+ 修正设置窗口右上角多出一个菜单图标的问题
|
||||||
+ `当可用节点全部造完时停止弹射`:修复了与`戴森球计划 v0.10.32.25496`的兼容性
|
+ `当可用节点全部造完时停止弹射`:修复了与`戴森球计划 v0.10.32.25496`的兼容性
|
||||||
|
|||||||
@@ -614,7 +614,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
|
|||||||
Label? thisElseBlockEntryLabel = null;
|
Label? thisElseBlockEntryLabel = null;
|
||||||
|
|
||||||
matcher.MatchForward(false,
|
matcher.MatchForward(false,
|
||||||
new CodeMatch(ci => ci.Calls(AccessTools.PropertyGetter(typeof(VFInput), nameof(VFInput._ignoreGrid)))),
|
new CodeMatch(ci => ci.Calls(AccessTools.PropertyGetter(typeof(VFInput), nameof(VFInput._switchGridSnap)))),
|
||||||
new CodeMatch(ci => ci.Branches(out thisElseBlockEntryLabel)),
|
new CodeMatch(ci => ci.Branches(out thisElseBlockEntryLabel)),
|
||||||
new CodeMatch(ci => ci.IsLdarg()),
|
new CodeMatch(ci => ci.IsLdarg()),
|
||||||
new CodeMatch(OpCodes.Ldfld),
|
new CodeMatch(OpCodes.Ldfld),
|
||||||
@@ -668,7 +668,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
|
|||||||
|
|
||||||
matcher.Advance(1);
|
matcher.Advance(1);
|
||||||
matcher.Insert(
|
matcher.Insert(
|
||||||
new CodeInstruction(OpCodes.Call, AccessTools.PropertyGetter(typeof(VFInput), nameof(VFInput._ignoreGrid))),
|
new CodeInstruction(OpCodes.Call, AccessTools.PropertyGetter(typeof(VFInput), nameof(VFInput._switchGridSnap))),
|
||||||
new CodeInstruction(OpCodes.Brtrue, exitLabel)
|
new CodeInstruction(OpCodes.Brtrue, exitLabel)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -696,7 +696,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
|
|||||||
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(BuildTool_Path), nameof(BuildTool_Path.castGroundPos))),
|
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(BuildTool_Path), nameof(BuildTool_Path.castGroundPos))),
|
||||||
new CodeMatch(OpCodes.Ldarg_0),
|
new CodeMatch(OpCodes.Ldarg_0),
|
||||||
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(BuildTool_Path), nameof(BuildTool_Path.castTerrain))),
|
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(BuildTool_Path), nameof(BuildTool_Path.castTerrain))),
|
||||||
new CodeMatch(OpCodes.Callvirt, AccessTools.Method(typeof(PlanetAuxData), nameof(PlanetAuxData.Snap))),
|
new CodeMatch(OpCodes.Callvirt, AccessTools.Method(typeof(PlanetAuxData), nameof(PlanetAuxData.Snap), [typeof(Vector3), typeof(bool)])),
|
||||||
new CodeMatch(OpCodes.Stfld, AccessTools.Field(typeof(BuildTool_Path), nameof(BuildTool_Path.castGroundPosSnapped)))
|
new CodeMatch(OpCodes.Stfld, AccessTools.Field(typeof(BuildTool_Path), nameof(BuildTool_Path.castGroundPosSnapped)))
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1385,7 +1385,7 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
|
|||||||
begin = begin.normalized;
|
begin = begin.normalized;
|
||||||
end = end.normalized;
|
end = end.normalized;
|
||||||
var finalCount = 1;
|
var finalCount = 1;
|
||||||
var ignoreGrid = VFInput._ignoreGrid;
|
var ignoreGrid = VFInput._switchGridSnap;
|
||||||
if (ignoreGrid)
|
if (ignoreGrid)
|
||||||
snaps[0] = begin;
|
snaps[0] = begin;
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -143,8 +143,8 @@ public static class LogisticsPatch
|
|||||||
foreach (var target in targets)
|
foreach (var target in targets)
|
||||||
{
|
{
|
||||||
var stationStorage = target.gameObject.GetComponentInParent<UIStationStorage>();
|
var stationStorage = target.gameObject.GetComponentInParent<UIStationStorage>();
|
||||||
if (stationStorage is null) continue;
|
var station = stationStorage?.station;
|
||||||
var station = stationStorage.station;
|
if (station?.storage is null) continue;
|
||||||
ref var storage = ref station.storage[stationStorage.index];
|
ref var storage = ref station.storage[stationStorage.index];
|
||||||
var oldMax = storage.max;
|
var oldMax = storage.max;
|
||||||
var newMax = oldMax + delta;
|
var newMax = oldMax + delta;
|
||||||
@@ -161,13 +161,10 @@ public static class LogisticsPatch
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var modelProto = LDB.models.Select(stationStorage.stationWindow.factory.entityPool[station.entityId].modelIndex);
|
var factory = stationStorage.stationWindow?.factory;
|
||||||
itemCountMax = 0;
|
if (factory == null || station.entityId <= 0 || station.entityId >= factory.entityCursor) continue;
|
||||||
if (modelProto != null)
|
var modelProto = LDB.models.Select(factory.entityPool[station.entityId].modelIndex);
|
||||||
{
|
itemCountMax = modelProto == null ? 0 : modelProto.prefabDesc.stationMaxItemCount;
|
||||||
itemCountMax = modelProto.prefabDesc.stationMaxItemCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
itemCountMax += station.isStellar ? GameMain.history.remoteStationExtraStorage : GameMain.history.localStationExtraStorage;
|
itemCountMax += station.isStellar ? GameMain.history.remoteStationExtraStorage : GameMain.history.localStationExtraStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<TargetFramework>net472</TargetFramework>
|
<TargetFramework>net472</TargetFramework>
|
||||||
<BepInExPluginGuid>org.soardev.uxassist</BepInExPluginGuid>
|
<BepInExPluginGuid>org.soardev.uxassist</BepInExPluginGuid>
|
||||||
<Description>DSP MOD - UXAssist</Description>
|
<Description>DSP MOD - UXAssist</Description>
|
||||||
<Version>1.2.14</Version>
|
<Version>1.2.15</Version>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<PackageId>UXAssist</PackageId>
|
<PackageId>UXAssist</PackageId>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "UXAssist",
|
"name": "UXAssist",
|
||||||
"version_number": "1.2.14",
|
"version_number": "1.2.15",
|
||||||
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UXAssist",
|
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UXAssist",
|
||||||
"description": "Some functions and patches for better user experience / 一些提升用户体验的功能和补丁",
|
"description": "Some functions and patches for better user experience / 一些提升用户体验的功能和补丁",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
|||||||
Reference in New Issue
Block a user