1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2026-03-22 10:03:27 +08:00
Soar Qin f69a90d452 Fix potential bugs in UXAssist and CheatEnabler
UXAssist:
- PlanetFunctions: fix infinite loop in constructStats cleanup (i++ -> i--)
- PlanetFunctions: skip entityPool slot 0 (sentinel) in DismantleAll foreach
- PlanetFunctions: fix belt buffer walk infinite loop when buffer[j]==250,
  add cargoPool bounds check
- FactoryPatch: fix UnfixProto guard condition (< 3 -> < PowerPoleIds.Length)
- FactoryPatch: fix Array.Resize(index*2) -> (index+1)*2 to handle index==0
- LogisticsPatch: fix UpdateStorageMax early-exit to check both local and remote
- LogisticsPatch: fix storage max scan to use Math.Max instead of last-write
- LogisticsPatch: add divide-by-zero guard in station storage ratio calculation
- LogisticsPatch: fix station entry right-click delegates using per-instance
  dictionary instead of shared static array to prevent unsubscribe mismatch
- LogisticsPatch: add null checks for GameObject.Find results in InitGUI
- GamePatch: log exception in previously empty catch block
- GameLogic: invoke event handlers individually with try/catch so one failing
  subscriber does not abort subsequent ones
- DysonSpherePatch/LogisticsPatch/PersistPatch/PlayerPatch: replace
  matcher.Labels = null with matcher.Labels = [] (5 sites)
- UIConfigWindow: remove duplicate I18N.Add for 'Outgoing integration count'
- UIConfigWindow: remove two orphaned y += 36f spacing increments

CheatEnabler:
- GamePatch: add null check for GameMain.gameScenario in AbnormalDisabler.OnEnable
- FactoryPatch: add null check for GameMain.mainPlayer in TakeTailItemsPatch
  and GetItemCountPatch
- FactoryPatch: add null check for GameMain.mainPlayer in
  ConstructionSystem_GameTick_Prefix
- FactoryPatch: fix _portalFrom.Remove(beltId) -> Remove(v) (wrong key)
- FactoryPatch: add null guard for GameMain.data before iterating factories
  in WindTurbinesPowerGlobalCoverage
- DysonSphereFunctions: fix shell pool rebuild loop writing all shells to
  slot 1 (id=1); now uses j+1 per iteration
- DysonSphereFunctions: replace GameMain.gameScenario.NotifyOnPlanDysonShell()
  with null-conditional call (?.) at 4 sites
- DysonSpherePatch: fix SkipAbsorbPatch/QuickAbsorbPatch sharing _instantAbsorb:
  OnDisable now recalculates the flag instead of unconditionally clearing it
- PlayerFunctions: add null check for GameMain.galaxy in TeleportToOuterSpace
- UIConfigWindow: add null guard in UpdateButtons before accessing button fields
- PlanetFunctions: add colliderId bounds check in BuryAllVeins
2026-03-16 19:52:14 +08:00
2026-02-11 20:38:24 +08:00
2026-01-07 16:45:09 +08:00
2026-01-07 16:45:09 +08:00

DSP Mods by Soar Qin

CheatEnabler

Add various cheat functions while disabling abnormal determinants 添加一些作弊功能,同时屏蔽异常检测

CompressSave

Moved to another repo

Dustbin

Can turn Storages and Tanks into Dustbin(Destroy incoming items) 储物仓和储液罐可以转变为垃圾桶(销毁送进的物品)

HideTips

Hide/Disable various tutorial tips/messages 隐藏/屏蔽各种引导提示/消息

LabOpt

Performance optimizations for Matrix Labs Marked as obsoleted temporarily, needs more investigation about LabComponent's mechanism 优化研究站性能 暂时标识为过期需要更多关于LabComponent机制的研究

LogisticMiner

Logistic Storages can mine all ores/water on current planet 物流塔可以采集当前星球的全部矿产(以及水)

LuaScriptEngine

Write mod functions in lua scripts
用lua脚本编写mod功能

MechaDronesTweaks

Some tweaks for mecha drones and build functions(Successor to FastDrones MOD) 机甲建设机和建设功能调整(FastDrones MOD的后继者)

OverclockEverything

Boost nearly all structures 加速几乎所有建筑功能

PoolOpt

Optimize memory pools on loading gamesaves 加载游戏存档时优化内存池的使用

UniverseGenTweaks

Universe Generator Tweak 宇宙生成参数调节

UserCloak

Cloak(Fake) user account info 隐匿(伪装)用户账号信息

UXAssist

Some functions and patches for better user experience 一些提升用户体验的功能和补丁

Description
My mods for Dyson Sphere Program
Readme MIT 15 MiB
Languages
C# 100%