1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2025-12-08 22:13:30 +08:00

UXAssist & CheatEnabler update

This commit is contained in:
2025-03-31 23:30:47 +08:00
parent 69ab11c392
commit 69702d4f09
6 changed files with 47 additions and 23 deletions

View File

@@ -4,6 +4,9 @@
+ New feature: `Cut conveyor belt`
- Press shortcut key to cut conveyor belt under cursor.
- The default shortcut key is Alt+X, you can set it in system options panel.
+ New feature: `Profile based option`
- Option file is stored as `Options\<ProfileName>.xml`.
+ Fix compatibility with game update 0.10.32.25779
* 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)
@@ -247,6 +250,9 @@
+ 新功能:`切割传送带`
- 按快捷键切割光标位置的传送带
- 默认快捷键是Alt+X可以在系统选项面板中设置
+ 新功能:`基于mod管理器配置档案名`
- 选项文件存储在`Options\<ProfileName>.xml`
+ 修复了与游戏更新0.10.32.25779的兼容性
* 1.2.15
+ `脱离网格建造和小角度旋转`修复了与0.10.32.25682的兼容性 (#57)
+ `物流塔存储数量限制控制改进`:修复了可能导致崩溃的问题 (#54)

View File

@@ -1041,36 +1041,35 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
{
var usedCount = 0;
var maxAllowed = amount - KeepVeinAmount;
if (miningRate < 0.99999f)
var add = miningRate * (double)times;
__instance.costFrac += add;
var estimateUses = (int)__instance.costFrac;
if (estimateUses < maxAllowed)
{
for (var i = 0; i < times; i++)
{
__instance.seed = (uint)((__instance.seed % 2147483646U + 1U) * 48271UL % 2147483647UL) - 1U;
usedCount += __instance.seed / 2147483646.0 < miningRate ? 1 : 0;
outputCount++;
if (usedCount == maxAllowed)
{
break;
}
}
outputCount = times;
usedCount = estimateUses;
__instance.costFrac -= estimateUses;
}
else
{
outputCount = times > maxAllowed ? maxAllowed : times;
usedCount = outputCount;
usedCount = maxAllowed;
var oldFrac = __instance.costFrac - add;
var ratio = (usedCount - oldFrac) / add;
var realCost = times * ratio;
outputCount = (int)(Math.Ceiling(realCost) + 0.01);
__instance.costFrac = miningRate * (outputCount - realCost);
}
if (usedCount > 0)
{
var groupIndex = (int)veinPool[veinId].groupIndex;
amount = veinPool[veinId].amount -= usedCount;
amount -= usedCount;
if (amount < __instance.minimumVeinAmount)
{
__instance.minimumVeinAmount = amount;
}
var veinGroups = factory.veinGroups;
veinGroups[groupIndex].amount -= usedCount;
veinGroups[groupIndex].amount = amount;
factory.veinAnimPool[veinId].time = amount >= 20000 ? 0f : 1f - 0.00005f;
if (amount <= 0)
{
@@ -1149,13 +1148,24 @@ public class FactoryPatch : PatchImpl<FactoryPatch>
{
var usedCount = 0;
var maxAllowed = amount - _keepOilAmount;
for (var j = 0; j < times; j++)
var add = miningRate * (double)times;
__instance.costFrac += add;
var estimateUses = (int)__instance.costFrac;
if (estimateUses < maxAllowed)
{
__instance.seed = (uint)((__instance.seed % 2147483646U + 1U) * 48271UL % 2147483647UL) - 1U;
usedCount += __instance.seed / 2147483646.0 < miningRate ? 1 : 0;
outputCount++;
outputCount = times;
usedCount = estimateUses;
__instance.costFrac -= estimateUses;
}
else
{
usedCount = maxAllowed;
var oldFrac = __instance.costFrac - add;
var ratio = (usedCount - oldFrac) / add;
var realCost = times * ratio;
outputCount = (int)(Math.Ceiling(realCost) + 0.01);
__instance.costFrac = miningRate * (outputCount - realCost);
}
if (usedCount > 0)
{
if (usedCount > maxAllowed)

View File

@@ -26,6 +26,8 @@
- Mod manager profile based save folder
- Save files are stored in `Save\<ProfileName>` folder.
- Will use original save location if matching default profile name.
- Mod manager profile based option
- Option file is stored as `Options\<ProfileName>.xml`.
- Logical Frame Rate
- This will change game running speed, down to 0.1x slower and up to 10x faster.
- A pair of shortcut keys (`-` and `+`) to change the logical frame rate by -0.5x and +0.5x.
@@ -147,6 +149,8 @@
- 基于mod管理器配置档案名的存档文件夹
- 存档文件会存储在`Save\<ProfileName>`文件夹中
- 如果匹配默认配置档案名则使用原始存档位置
- 基于mod管理器配置档案名的选项文件
- 选项文件存储为`Options\<ProfileName>.xml`
- 逻辑帧倍率
- 这将改变游戏运行速度最慢0.1倍最快10倍
- 设置了一对快捷键(`-``+`),可以-/+0.5倍改变逻辑帧倍率