Commit Graph
100 Commits
Author SHA1 Message Date
soarqin c2016909ff refactor: phase 5 transpiler docs, mod-compat helpers, and build quality gates 2026-06-23 23:03:13 +08:00
soarqin cca8b8594d fix: avoid NRE in BeltSignal reset and remove no-op GalaxySelectUI reset 2026-06-23 22:27:27 +08:00
soarqin 647b130993 refactor: register static-state resets on game end 2026-06-23 22:20:04 +08:00
soarqin b74005282e docs: inventory static mutable state 2026-06-23 22:04:25 +08:00
soarqin 76d9d9fa21 refactor: use localization constants for last remaining literals 2026-06-23 21:44:35 +08:00
soarqin 8d70ce8862 refactor: use localization constants at remaining call sites 2026-06-23 21:41:24 +08:00
soarqin 51fc080ff2 fix: address localization review issues 2026-06-23 21:35:09 +08:00
soarqin 036243fd4a refactor: centralize localization keys and remove runtime Chinese literals 2026-06-23 21:19:42 +08:00
soarqin 34c99701ca refactor: localize hard-coded strings and translate comments 2026-06-23 20:58:05 +08:00
soarqin 6e2b21a0a0 refactor(UniverseGen): replace remaining step slider literals 2026-06-23 20:51:23 +08:00
soarqin 1939a9cf22 refactor(CheatEnabler/UniverseGen): consume more centralized constants 2026-06-23 20:48:35 +08:00
soarqin 25b33144b8 refactor(CheatEnabler/UniverseGen): consume centralized constants 2026-06-23 20:41:20 +08:00
soarqin a133fd9e14 refactor(UXAssist): replace magic numbers with constants 2026-06-23 20:25:13 +08:00
soarqin 7973cbe358 refactor: centralize game constants 2026-06-23 20:11:39 +08:00
soarqin 36426d034d docs: update public API surface with Phase 2 additions 2026-06-23 08:36:15 +08:00
soarqin 4fb43c73b5 refactor(UXAssist): split tab management out of MyConfigWindow 2026-06-23 08:33:40 +08:00
soarqin 06c3532acc refactor(UXAssist): extract UI layout helpers from MyWindow 2026-06-23 08:28:46 +08:00
soarqin 54c1700fcd fix(UXAssist): restore I18N public API compatibility 2026-06-23 08:25:48 +08:00
soarqin 6c7f9867d0 refactor(UXAssist): clean up I18N internals without changing public API 2026-06-23 08:22:25 +08:00
soarqin d843090622 refactor(UXAssist): safe GameEvent wrapper and XML docs 2026-06-23 08:17:08 +08:00
soarqin 439d74c817 fix(UXAssist): preserve calling assembly semantics in Util facade 2026-06-23 08:09:53 +08:00
soarqin ed916ebe7f refactor(UXAssist): split Util into focused helpers with forwarding facade 2026-06-23 08:04:58 +08:00
soarqin f4b163fae9 docs: update public API surface with Phase 1 additions 2026-06-23 07:43:07 +08:00
soarqin 8bfcee2a81 refactor(UniverseGenTweaks): split MoreSettings into focused classes 2026-06-23 07:19:25 +08:00
soarqin b5b2fee14e refactor(UniverseGenTweaks): adopt ModFeatureRegistry from UXAssist 2026-06-23 04:23:03 +08:00
soarqin b6657c96c0 refactor(CheatEnabler): reduce duplication in DysonSphere helpers 2026-06-23 04:20:52 +08:00
soarqin 2dce3a7b93 refactor(CheatEnabler): split DysonSphereFunctions into focused helpers 2026-06-23 04:10:09 +08:00
soarqin eae4ba0376 refactor(CheatEnabler): split FactoryPatch into focused classes 2026-06-23 03:47:18 +08:00
soarqin 06015d51d0 docs(UXAssist): update ModFeature docs for non-static feature classes 2026-06-23 03:38:04 +08:00
soarqin 099f3ee35a refactor(CheatEnabler): adopt ModFeatureRegistry from UXAssist 2026-06-23 03:33:19 +08:00
soarqin 39bdf06e88 refactor(UXAssist): introduce config providers between UI and patches 2026-06-23 03:27:01 +08:00
soarqin 87f08f3f8d fix(UXAssist): guard non-UI input updates in menu demo 2026-06-23 03:22:41 +08:00
soarqin f822c1a5c6 refactor(UXAssist): drive lifecycle and save dispatch via ModFeatureRegistry 2026-06-23 03:18:36 +08:00
soarqin ce199374b4 refactor(UXAssist): split UIFunctions into UI sub-features 2026-06-23 03:13:23 +08:00
soarqin dace35a691 refactor(UXAssist): split LogisticsPatch into focused classes 2026-06-23 02:56:19 +08:00
soarqin f2abb7cc2c refactor(UXAssist): split FactoryPatch into focused classes 2026-06-23 02:42:21 +08:00
soarqin 91259bbd17 refactor(UXAssist): harden ModFeatureRegistry 2026-06-23 02:23:20 +08:00
soarqin cb7a965d12 feat(UXAssist): public ModFeature lifecycle registry 2026-06-23 02:18:32 +08:00
soarqin bfe0787923 docs: inventory UXAssist.UI/Common public API surface 2026-06-23 02:17:07 +08:00
soarqin 4ed33b2638 chore: ignore agent worktrees 2026-06-23 01:42:19 +08:00
soarqin ee7ea6ec35 fix: config ui 2026-06-22 23:01:31 +08:00
soarqin 64f9aee06b fix: logistic storage overflow reset when switching stations in panel 2026-06-20 15:22:05 +08:00
soarqin cc783937e6 chore: move Increase maximum power usage in Logistic Stations and Advanced Mining Machines from CheatEnabler to UXAssist 2026-06-16 22:56:01 +08:00
soarqin f1cfc5619f chore: update .gitignore 2026-06-16 03:39:49 +08:00
soarqin ffd8b91930 UXAssist: add buttons to apply logistics auto-config to current planet's facilities 2026-06-16 03:37:55 +08:00
soarqin 79dea142de chore: disable rendering when only player is hidden now 2026-06-16 01:46:07 +08:00
soarqin c3f3c2e96e AGENTS.md: add rules for decompiling game DLL and looking up in-game terminology 2026-06-16 01:45:20 +08:00
soarqin 63aaceda6f chore: remove some use of WinApi to avoid possible security check from thunderstore 2026-06-16 00:59:20 +08:00
soarqin 33921e7177 docs: update Changelog for CheatEnabler 2026-06-15 23:13:01 +08:00
soarqin 7a8f4af31d Update game dll 2026-05-31 12:59:27 +08:00
soarqin 44efbdbb4f UXAssist 1.5.8 and CheatEnabler 2.4.4 2026-05-30 18:49:16 +08:00
soarqin b7180afff2 fix ghost station tips persisting after planet transition
Object.Destroy(stationTip) where stationTip is a MonoBehaviour destroys
only the component, leaving the cloned UI GameObject (icons, sliders, text)
orphaned and potentially visible under _stationTipsRoot. When the recycle
pool (128 slots) fills up during a planet with many stations, excess tips
were disposed this way; those orphaned GameObjects would reappear as frozen
'ghost' tips on every subsequent planet.

- Add ReleaseStationTip() helper: calls Object.Destroy(go) on the whole
  GameObject after SetActive(false), replacing the broken Destroy(component)
- Simplify RecycleStationTips() and RecycleStationTip(int) to delegate to
  ReleaseStationTip()
- Add HideAndRecycleStationTips() single cleanup entry point used by
  Enable(false), OnGameBegin(), and new OnGameEnd()
- Add LocalPlanetWatcher (PatchImpl) hooking GameData.localPlanet setter:
  triggers HideAndRecycleStationTips() on any planet id change, covering
  frames where Update() is skipped by VFInput.inputing
- Subscribe OnGameEnd to clear tips when exiting a save/returning to menu
2026-04-30 14:47:01 +08:00
soarqin e5cb52c3f4 updated dll 2026-04-27 23:09:26 +08:00
soarqin ca4244384c crash fix 2026-04-27 23:09:16 +08:00
soarqin 19629eae97 CheatEnabler: Add a new button and fix a crash 2026-04-08 00:48:35 +08:00
soarqin 93e60cd4f0 remove subclass code, as this bug is fixed in Unity 2022 2026-04-07 17:58:30 +08:00
soarqin be86aebf7c fix possible crash 2026-03-27 16:51:33 +08:00
soarqin 69b028d706 build: add no-op ZipMod/CopyToParentPackage stubs to UpdateGameDlls helper project 2026-03-22 16:01:38 +08:00
soarqinandSisyphus 93c39e2133 build: remove legacy UpdateGameDlls target and simplify PS1 script
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-22 15:44:34 +08:00
soarqin a894c34987 build: add UpdateGameDlls helper project for parallel-safe DLL update 2026-03-22 15:37:19 +08:00
soarqin d7f8dc55d4 build: auto-sync manifest.json version_number from csproj Version during ZipMod 2026-03-22 14:59:28 +08:00
soarqin 2e6950afb3 fix possible crash 2026-03-22 14:23:52 +08:00
soarqin a5b2bdedd4 UXAssist 1.5.7 2026-03-20 15:38:33 +08:00
soarqin a346778db9 fix possible crash 2026-03-20 15:08:02 +08:00
soarqin 109c6afd90 minor fixes 2026-03-20 14:57:25 +08:00
soarqin e2848b4f97 UXAssist v1.5.6 and CheatEnabler v2.4.3, with package target fix 2026-03-16 20:46:51 +08:00
soarqin 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
soarqin e91271e137 Add UpdateGameDlls target to auto-refresh publicized game DLLs 2026-03-16 18:23:52 +08:00
soarqin f7fc9aaab0 UXAssist: fix recent upload result 2026-03-12 00:30:03 +08:00
soarqin c823e72c67 UXAssist: Fix crash 2026-03-11 22:18:06 +08:00
soarqin 669ce9f88c minor fixes 2026-03-11 19:26:40 +08:00
soarqin a9ad961bd3 CheatEnabler: Use proliferators for belt signal 2026-03-11 19:25:57 +08:00
soarqin d6b00b1b78 UXAssist 1.5.5 2026-03-07 20:46:30 +08:00
soarqin ad99b49bad UXAssist: some fixes 2026-03-07 19:42:29 +08:00
soarqin 5e501ea649 UXAssist: add 3 options to Initialize Planet 2026-03-07 19:42:14 +08:00
soarqin d98d87af48 UXAssist: hide all universe simulators and messages while hide UIs in space 2026-03-05 21:16:36 +08:00
soarqin 6ab286bb0b Fix crash in NeutronStarHandler.OnEnable() 2026-03-05 18:28:34 +08:00
soarqin 6f33669163 UXAssist: crash fix 2026-03-02 22:47:05 +08:00
soarqin 91184ccc3a UXAssist 1.5.4 2026-02-15 22:34:24 +08:00
soarqin 2e13206346 UXAssist: bug fix 2026-02-13 23:29:22 +08:00
soarqin 3e24461ef0 work in progress 2026-02-12 19:48:45 +08:00
soarqin 097a5c8e8a work in progress 2026-02-11 20:38:24 +08:00
soarqin 63fb13bf92 minor fix 2026-02-10 15:55:11 +08:00
soarqin e758209d99 UXAssist 1.5.3 2026-02-10 15:40:39 +08:00
soarqin a5009496d5 UXAssist: fix re-initialize planet 2026-02-10 15:39:59 +08:00
soarqin 29b30996e6 bugfix 2026-02-10 01:11:12 +08:00
soarqin 60d14c9401 fix distance 2026-02-09 22:24:44 +08:00
soarqin f0ee1aaea9 code format 2026-02-09 21:12:32 +08:00
soarqin 358fd4cf23 UXAssist: fix tech patch 2026-02-09 03:05:15 +08:00
soarqin 80aa2f9b70 UXAssist: fix belt signal overlap issue 2026-02-07 20:26:12 +08:00
soarqin 5914f02d09 minor changes to prevent mecha from flying 2026-02-06 18:04:28 +08:00
soarqin d9d1e0108f UXAssist: fix auto cruise 2026-02-05 18:33:40 +08:00
soarqin 2456280151 UXAssist: finished auto construct 2026-02-05 02:58:27 +08:00
soarqin 0d090ddfb0 work in progress 2026-02-04 22:55:38 +08:00
soarqin 39578559aa UXAssist: Auto construct 2026-02-04 22:04:02 +08:00
soarqin 157c86112b optimized batch building 2026-02-04 14:54:06 +08:00
soarqin d0c20693e3 updated dlls 2026-02-04 14:49:48 +08:00
soarqin 8ae88f4b41 CheatEnabler: Immediate Build fix optimization 2026-02-04 13:22:29 +08:00
soarqin c1428f6aee CheatEnabler: Immediate Build fix 2026-02-04 03:07:25 +08:00
soarqin 260e419855 UXAssist 1.5.2 2026-02-04 03:07:05 +08:00