From e2848b4f97ed3f0cc03c0f65cf6c92f9972c244b Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Mon, 16 Mar 2026 20:46:51 +0800 Subject: [PATCH] UXAssist v1.5.6 and CheatEnabler v2.4.3, with package target fix --- AGENTS.md | 14 +++-- CheatEnabler/CHANGELOG.md | 20 ++++++ CheatEnabler/CheatEnabler.csproj | 2 +- CheatEnabler/package/manifest.json | 2 +- Directory.Build.targets | 98 ++++++++++-------------------- UXAssist/CHANGELOG.md | 8 +++ UXAssist/UXAssist.csproj | 2 +- UXAssist/package/manifest.json | 2 +- 8 files changed, 73 insertions(+), 75 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 0c25d10..fc315c3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,7 +17,7 @@ This repository is a collection of **BepInEx mods** for the game **Dyson Sphere - **Patching Library:** HarmonyLib (runtime IL patching via `[HarmonyPatch]` attributes) - **Build System:** Visual Studio solution (`DSP_Mods.sln`), SDK-style `.csproj` per mod - **Package Manager:** NuGet (standard feed + BepInEx dev feed) -- **Packaging:** PowerShell `Compress-Archive` in post-build produces Thunderstore-ready `.zip` files +- **Packaging:** `ZipMod` MSBuild target (explicit, not post-build) produces Thunderstore-ready `.zip` files via `powershell.exe Compress-Archive` - **Game DLL references:** `AssemblyFromGame/Assembly-CSharp.dll` and `UnityEngine.UI.dll` - **Notable dependencies:** DSPModSave, NebulaMultiplayer API, CommonAPI, NLua, obs-websocket-dotnet, Mono.Cecil @@ -71,7 +71,7 @@ DSP_Mods/ Common properties and references are factored into two root-level files that MSBuild automatically imports for every project: - **`Directory.Build.props`** — shared `PropertyGroup` defaults (`TargetFramework`, `AllowUnsafeBlocks`, `LangVersion`, `RestoreAdditionalProjectSources`) and shared `ItemGroup`s (BepInEx packages, game DLL references, `Microsoft.NETFramework.ReferenceAssemblies`). -- **`Directory.Build.targets`** — defines the `UpdateGameDlls`, `Pack`, and `CopyToParentPackage` targets (see below). +- **`Directory.Build.targets`** — defines the `UpdateGameDlls`, `ZipMod`, and `CopyToParentPackage` targets (see below). - **`UpdateGameDlls.ps1`** — PowerShell script invoked by the `UpdateGameDlls` target; locates the DSP installation via Steam registry and `libraryfolders.vdf`, compares DLL timestamps, and re-publicizes stale DLLs using `assembly-publicizer`. Individual `.csproj` files only declare what is unique to that project (GUID, version, extra packages, embedded resources). @@ -103,10 +103,12 @@ Packaging is a **separate, explicit build target** — it does not run on every To produce a Thunderstore-ready zip: ``` -dotnet build -t:Pack -c Release +dotnet build -t:ZipMod -c Release ``` -The `Pack` target (defined in `Directory.Build.targets`) uses pure MSBuild tasks (`MakeDir`, `Copy`, `Delete`) plus `powershell.exe -NoProfile -Command` for `Compress-Archive`. Calling `powershell.exe` as an explicit executable path works correctly from any shell environment (cmd, PowerShell, bash/WSL). +The `ZipMod` target (defined in `Directory.Build.targets`) uses pure MSBuild tasks (`MakeDir`, `Copy`, `Delete`) plus `powershell.exe -NoProfile -Command` for `Compress-Archive`. Calling `powershell.exe` as an explicit executable path works correctly from any shell environment (cmd, PowerShell, bash/WSL). + +> Note: the target is named `ZipMod` rather than `Pack` because `Pack` is a reserved target name in the .NET SDK (used for NuGet packaging) and would be silently intercepted. **Per-project packaging properties** (set in the project's `PropertyGroup`): @@ -116,11 +118,11 @@ The `Pack` target (defined in `Directory.Build.targets`) uses pure MSBuild tasks | `PackUsePluginsLayout` | `false` | Use `plugins/` + `patchers/` folder layout (Dustbin, LabOpt) | | `PackPreloaderTargetDir` | *(empty)* | Preloader projects: destination folder for `CopyToParentPackage` | -**Preloader projects** (DustbinPreloader, LabOptPreloader) use `CopyToParentPackage` instead of `Pack`: +**Preloader projects** (DustbinPreloader, LabOptPreloader) use `CopyToParentPackage` instead of `ZipMod`: ``` dotnet build -t:CopyToParentPackage -c Release ``` -This copies the preloader DLL into the sibling main mod's `package/patchers/` directory, ready to be zipped by the main mod's `Pack` target. +This copies the preloader DLL into the sibling main mod's `package/patchers/` directory, ready to be zipped by the main mod's `ZipMod` target. ## Key Architectural Patterns diff --git a/CheatEnabler/CHANGELOG.md b/CheatEnabler/CHANGELOG.md index 6c02a01..87d9390 100644 --- a/CheatEnabler/CHANGELOG.md +++ b/CheatEnabler/CHANGELOG.md @@ -3,6 +3,16 @@ ## Changlog +* 2.4.3 + * `Duplicate shells from that with highest production`: Fix crash on using with frameless shells. + * `Keep max production shells and remove others`: Fix wrong behaviour when left count > 1. + * `Quick absorb`: Fix ant issue that it is not working while `Skip absorption period` is enabled. + * `Finish build immediately`: Fixed an issue where prebuilt buildings were not constructed immediately when the building quantity became sufficient. + * New option for `Belt signal item generation`: `Use proliferators for raws/intermediates and finished products` + * Following items use extra products: `Titanium Alloy`, `Prism`, `Frame Material`, `Proliferator Mk.II`, `Proliferator Mk.III`, `Magnetic Coil`, `Electric Motor`, `Electromagnetic Turbine`, `Super-magnetic Ring`, `Circuit Board`, `Thruster`, `Reinforced Thruster`, `Plasma Exciter`, `Particle Broadband`, `Graviton Lens`, `Quantum Chip`, `Annihilation Constraint Sphere`, `Deuteron Fuel Rod`, `Space Warper`, `Dyson Sphere Component`, `Small Carrier Rocket`, `Electromagnetic Matrix`, `Structure Matrix`, `Information Matrix`, `Gravity Matrix`, `Universe Matrix` + * Following items does not use proliferators: `Casimir Crystal`, `Energy Matrix` + * Other items use speed up production. + * Fix some other minor bugs found by LLM AI. * 2.4.2 * Fix critical bugs: * Dyson Power is not updated actively when `Skip bullet period` or `Skip absorption period` is enabled and no rocket is in fire. @@ -175,6 +185,16 @@ ## 更新日志 +* 2.4.3 + * `从发电量最高的壳复制戴森壳`:修复在无框壳体时可能崩溃的问题。 + * `保留发电量最高的戴森壳并移除其他戴森壳`:修复当剩余壳体数量大于1时的异常行为。 + * `快速吸收`:修复开启`跳过吸收阶段`时不生效的问题。 + * `立即完成建造`:修复建筑数量补足时,之前预建造状态的建筑未能立即完成的问题。 + * `传送带信号物品生成`新增选项:`原料/中间品和成品使用增产剂` + * 以下物品会使用额外产出:`钛合金`、`棱镜`、`框架材料`、`增产剂 Mk.II`、`增产剂 Mk.III`、`磁线圈`、`电动机`、`电磁涡轮`、`超级磁场环`、`电路板`、`推进器`、`加力推进器`、`电浆激发器`、`粒子宽带`、`引力透镜`、`量子芯片`、`湮灭约束球`、`氘燃料棒`、`空间翘曲器`、`戴森球组件`、`小型运载火箭`、`电磁矩阵`、`结构矩阵`、`信息矩阵`、`引力矩阵`、`宇宙矩阵` + * 以下物品不使用增产剂:`卡西米尔晶体`、`能量矩阵` + * 其他物品使用加速生产 + * 修复一些由 LLM AI 发现的其他小问题。 * 2.4.2 * 修复了严重的系列BUG: * 在启用`跳过子弹阶段`或`跳过吸收阶段`并且没有火箭发射时,戴森球的发电量未实时更新 diff --git a/CheatEnabler/CheatEnabler.csproj b/CheatEnabler/CheatEnabler.csproj index 712b85c..879fca6 100644 --- a/CheatEnabler/CheatEnabler.csproj +++ b/CheatEnabler/CheatEnabler.csproj @@ -3,7 +3,7 @@ org.soardev.cheatenabler DSP MOD - CheatEnabler - 2.4.2 + 2.4.3 CheatEnabler CheatEnabler true diff --git a/CheatEnabler/package/manifest.json b/CheatEnabler/package/manifest.json index eb566e0..f427973 100644 --- a/CheatEnabler/package/manifest.json +++ b/CheatEnabler/package/manifest.json @@ -1,6 +1,6 @@ { "name": "CheatEnabler", - "version_number": "2.4.2", + "version_number": "2.4.3", "website_url": "https://github.com/soarqin/DSP_Mods/tree/master/CheatEnabler", "description": "Add various cheat functions while disabling abnormal determinants / 添加一些作弊功能,同时屏蔽异常检测", "dependencies": [ diff --git a/Directory.Build.targets b/Directory.Build.targets index efe678a..4e217a3 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -21,98 +21,66 @@ - - - + <_PackageDir>$(MSBuildProjectDirectory)\package <_StagingDir>$(MSBuildProjectDirectory)\obj\pack-staging <_ZipPath>$(_PackageDir)\$(ProjectName)-$(Version).zip - - - <_PackFiles Include="$(TargetPath)" /> - <_PackFiles Include="$(_PackageDir)\icon.png" /> - <_PackFiles Include="$(_PackageDir)\manifest.json" /> - <_PackFiles Include="$(MSBuildProjectDirectory)\README.md" /> - <_PackFiles Include="$(MSBuildProjectDirectory)\CHANGELOG.md" Condition="'$(PackHasChangelog)' == 'true'" /> - + + + - - - - - - - - - - - - - - - - - - - - - <_PackageDir>$(MSBuildProjectDirectory)\package - <_StagingDir>$(MSBuildProjectDirectory)\obj\pack-staging - <_ZipPath>$(_PackageDir)\$(ProjectName)-$(Version).zip - - - - - - - + <_PackRootFiles Include="$(_PackageDir)\icon.png" /> <_PackRootFiles Include="$(_PackageDir)\manifest.json" /> <_PackRootFiles Include="$(MSBuildProjectDirectory)\README.md" /> - <_PackRootFiles Include="$(MSBuildProjectDirectory)\CHANGELOG.md" Condition="'$(PackHasChangelog)' == 'true'" /> + <_PackRootFiles Include="$(MSBuildProjectDirectory)\CHANGELOG.md" + Condition="'$(PackHasChangelog)' == 'true'" /> + + <_PackRootFiles Include="$(TargetPath)" + Condition="'$(PackUsePluginsLayout)' != 'true'" /> - + - - + + <_PluginFiles Include="$(_PackageDir)\plugins\**\*" /> <_PatcherFiles Include="$(_PackageDir)\patchers\**\*" /> + DestinationFiles="@(_PluginFiles->'$(_StagingDir)\plugins\%(RecursiveDir)%(Filename)%(Extension)')" + Condition="'$(PackUsePluginsLayout)' == 'true'" /> + DestinationFiles="@(_PatcherFiles->'$(_StagingDir)\patchers\%(RecursiveDir)%(Filename)%(Extension)')" + Condition="'$(PackUsePluginsLayout)' == 'true'" /> @@ -123,7 +91,7 @@ - + - + diff --git a/UXAssist/CHANGELOG.md b/UXAssist/CHANGELOG.md index 7a9d16d..ca28db2 100644 --- a/UXAssist/CHANGELOG.md +++ b/UXAssist/CHANGELOG.md @@ -3,6 +3,10 @@ ## Changlog +* 1.5.6 + * `Initialize This Planet`: Fix known crashes and infinite loop. + * `Show recent milkyway upload results`: Fix an issue that it only shows earliest results but latest ones. + * Fix some other minor bugs found by LLM AI. * 1.5.5 * `Initialize This Planet`: * Fix crash issue. @@ -391,6 +395,10 @@ ## 更新日志 +* 1.5.6 + * `初始化本行星`:修复已知的崩溃和无限循环问题。 + * `显示最近银河系上传结果`:修复仅显示最早上传结果而非最新结果的问题。 + * 修复一些由 LLM AI 发现的其他小问题。 * 1.5.5 * `初始化本行星`: * 修复崩溃问题。 diff --git a/UXAssist/UXAssist.csproj b/UXAssist/UXAssist.csproj index 308375e..ce3ab13 100644 --- a/UXAssist/UXAssist.csproj +++ b/UXAssist/UXAssist.csproj @@ -3,7 +3,7 @@ org.soardev.uxassist DSP MOD - UXAssist - 1.5.5 + 1.5.6 UXAssist UXAssist true diff --git a/UXAssist/package/manifest.json b/UXAssist/package/manifest.json index 4c6604a..7ebdc06 100644 --- a/UXAssist/package/manifest.json +++ b/UXAssist/package/manifest.json @@ -1,6 +1,6 @@ { "name": "UXAssist", - "version_number": "1.5.5", + "version_number": "1.5.6", "website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UXAssist", "description": "Some functions and patches for better user experience / 一些提升用户体验的功能和补丁", "dependencies": [