From 3650ab0855e04388e399da19a38cdf24d1a4bb03 Mon Sep 17 00:00:00 2001 From: mulderf0x <200639147+mulderf0x@users.noreply.github.com> Date: Wed, 6 May 2026 22:37:04 +0200 Subject: [PATCH 1/6] Minor change to pre release version numbers --- .github/workflows/nsis.yaml | 46 +++++++++++++------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/.github/workflows/nsis.yaml b/.github/workflows/nsis.yaml index 41652e1..3f8d0cc 100644 --- a/.github/workflows/nsis.yaml +++ b/.github/workflows/nsis.yaml @@ -77,43 +77,33 @@ jobs: } working-directory: build - - name: Generate version number (stable) - if: github.event_name == 'push' && github.ref == 'refs/heads/main' && steps.detect.outputs.detectSummary != 'none' - id: version_number_stable + - name: Generate version number + if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/pre/')) && steps.detect.outputs.detectSummary != 'none' + id: version_number shell: pwsh run: | - $base = Get-Date -Format "yy.MM" - $tags = git tag -l "$base.*" - Write-Host "Stable tags: $($tags -join ', ')" - if ($tags) { - $last = $tags | ForEach-Object { - if ($_ -match '^\d+\.\d+\.(\d+)$') { [int]$Matches[1] } else { 0 } - } | Sort-Object -Descending | Select-Object -First 1 - $next = [int]$last + 1 + $isPre = "${{ github.ref_name }}" -ne "main" + if ($isPre) { + $base = Get-Date -Format "yy.00" } else { - $next = 1 + $base = Get-Date -Format "yy.MM" } - $versionNumber = "$base.$next" - Write-Host "Generated version number: $versionNumber" - echo versionNumber=$versionNumber >> $env:GITHUB_OUTPUT - - name: Generate version number (pre) - if: github.event_name == 'push' && startsWith(github.ref, 'refs/heads/pre/') && steps.detect.outputs.detectSummary != 'none' - id: version_number_pre - shell: pwsh - run: | - $base = Get-Date -Format "yy.MM" - $tags = git tag -l "$base.pre.*" - Write-Host "Pre tags: $($tags -join ', ')" + $tagPattern = "$base.*" + $tagRegex = '^\d+\.\d+\.(\d+)$' + $tags = git tag -l "$tagPattern" + Write-Host "Matching tags: $($tags -join ', ')" + if ($tags) { $last = $tags | ForEach-Object { - if ($_ -match '^\d+\.\d+\.pre\.(\d+)$') { [int]$Matches[1] } else { 0 } + if ($_ -match $tagRegex) { [int]$Matches[1] } else { 0 } } | Sort-Object -Descending | Select-Object -First 1 $next = [int]$last + 1 } else { $next = 1 } - $versionNumber = "$base.pre.$next" + + $versionNumber = "$base.$next" Write-Host "Generated version number: $versionNumber" echo versionNumber=$versionNumber >> $env:GITHUB_OUTPUT @@ -123,11 +113,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - $versionNumber = if ("${{ github.ref_name }}" -eq "main") { - "${{ steps.version_number_stable.outputs.versionNumber }}" - } else { - "${{ steps.version_number_pre.outputs.versionNumber }}" - } + $versionNumber = "${{ steps.version_number.outputs.versionNumber }}" $detectSummary = "${{ steps.detect.outputs.detectSummary }}" $isPre = "${{ github.ref_name }}" -ne "main" From b9cde06b4b5744bbc09655c9302413dc76cba81f Mon Sep 17 00:00:00 2001 From: mulderf0x <200639147+mulderf0x@users.noreply.github.com> Date: Wed, 6 May 2026 22:38:01 +0200 Subject: [PATCH 2/6] Target latest MulderConfig + remove Dotnet install --- games/colin-mcrae-dirt-2/byof-installer.nsi | 1 - games/colin-mcrae-dirt-2/enhancement-pack.nsi | 1 - .../dino-crisis-2/steam-enhancement-pack.nsi | 1 - games/dino-crisis/steam-enhancement-pack.nsi | 1 - games/dirt-3/enhancement-pack.nsi | 1 - games/doom-3/enhancement-pack.nsi | 1 - .../enhancement-pack.nsi | 1 - games/fallout-new-vegas/enhancement-pack.nsi | 1 - .../enhancement-pack.nsi | 1 - games/hitman-blood-money/enhancement-pack.nsi | 1 - games/hitman-codename-47/enhancement-pack.nsi | 1 - games/hitman-contracts/enhancement-pack.nsi | 1 - .../enhancement-pack.nsi | 1 - .../steam-enhancement-pack.nsi | 1 - .../steam-enhancement-pack.nsi | 1 - .../resident-evil/steam-enhancement-pack.nsi | 1 - games/silent-hill-f/enhancement-pack.nsi | 1 - includes/misc/CommonMacros.nsh | 26 +------------------ 18 files changed, 1 insertion(+), 42 deletions(-) diff --git a/games/colin-mcrae-dirt-2/byof-installer.nsi b/games/colin-mcrae-dirt-2/byof-installer.nsi index f991868..1184f85 100644 --- a/games/colin-mcrae-dirt-2/byof-installer.nsi +++ b/games/colin-mcrae-dirt-2/byof-installer.nsi @@ -92,7 +92,6 @@ SectionEnd Function .onInit StrCpy $9 ${lang_eng} ; Radio Button - !insertmacro MULDERCONFIG_ONINIT FunctionEnd Function .onSelChange diff --git a/games/colin-mcrae-dirt-2/enhancement-pack.nsi b/games/colin-mcrae-dirt-2/enhancement-pack.nsi index 238ebc4..d041277 100644 --- a/games/colin-mcrae-dirt-2/enhancement-pack.nsi +++ b/games/colin-mcrae-dirt-2/enhancement-pack.nsi @@ -121,6 +121,5 @@ SectionEnd StrCpy $SELECT_FILENAME "dirt2_game.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Dirt 2" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd !endif diff --git a/games/dino-crisis-2/steam-enhancement-pack.nsi b/games/dino-crisis-2/steam-enhancement-pack.nsi index 47088b1..13937a5 100644 --- a/games/dino-crisis-2/steam-enhancement-pack.nsi +++ b/games/dino-crisis-2/steam-enhancement-pack.nsi @@ -166,7 +166,6 @@ SectionEnd StrCpy $SELECT_FILENAME "4249140_Launcher.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\4249140_DinoCrisis2" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd Function .onSelChange diff --git a/games/dino-crisis/steam-enhancement-pack.nsi b/games/dino-crisis/steam-enhancement-pack.nsi index b729221..0125cb1 100644 --- a/games/dino-crisis/steam-enhancement-pack.nsi +++ b/games/dino-crisis/steam-enhancement-pack.nsi @@ -160,6 +160,5 @@ SectionGroupEnd StrCpy $SELECT_FILENAME "4249130_Launcher.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\4249130_DinoCrisis" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd !endif diff --git a/games/dirt-3/enhancement-pack.nsi b/games/dirt-3/enhancement-pack.nsi index f4b4a87..8ad0241 100644 --- a/games/dirt-3/enhancement-pack.nsi +++ b/games/dirt-3/enhancement-pack.nsi @@ -136,5 +136,4 @@ Function .onInit StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\DiRT 3 Complete Edition" StrCpy $SELECT_RELATIVE_INSTDIR "" !endif - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/doom-3/enhancement-pack.nsi b/games/doom-3/enhancement-pack.nsi index ea498c8..7981ed4 100644 --- a/games/doom-3/enhancement-pack.nsi +++ b/games/doom-3/enhancement-pack.nsi @@ -114,7 +114,6 @@ Function .onInit StrCpy $SELECT_FILENAME "Doom3.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Doom 3" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd Function OnSelectedFile diff --git a/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi b/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi index 17a4e7b..bba6ebe 100644 --- a/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi +++ b/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi @@ -82,5 +82,4 @@ Function .onInit StrCpy $SELECT_FILENAME "duke3d.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Duke Nukem 3D\bin" StrCpy $SELECT_RELATIVE_INSTDIR ".." - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/fallout-new-vegas/enhancement-pack.nsi b/games/fallout-new-vegas/enhancement-pack.nsi index 67f3ff5..d62b224 100644 --- a/games/fallout-new-vegas/enhancement-pack.nsi +++ b/games/fallout-new-vegas/enhancement-pack.nsi @@ -211,5 +211,4 @@ Function .onInit StrCpy $SELECT_FILENAME "FalloutNV.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Fallout New Vegas" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/hitman-2-silent-assassin/enhancement-pack.nsi b/games/hitman-2-silent-assassin/enhancement-pack.nsi index f456439..3fcc022 100644 --- a/games/hitman-2-silent-assassin/enhancement-pack.nsi +++ b/games/hitman-2-silent-assassin/enhancement-pack.nsi @@ -153,7 +153,6 @@ Function .onInit StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Hitman 2 Silent Assassin" StrCpy $SELECT_RELATIVE_INSTDIR "" StrCpy $1 ${lang_fr} ; Radio Button - !insertmacro MULDERCONFIG_ONINIT FunctionEnd Function .onSelChange diff --git a/games/hitman-blood-money/enhancement-pack.nsi b/games/hitman-blood-money/enhancement-pack.nsi index 5ac8d6d..c20ef35 100644 --- a/games/hitman-blood-money/enhancement-pack.nsi +++ b/games/hitman-blood-money/enhancement-pack.nsi @@ -150,5 +150,4 @@ Function .onInit StrCpy $SELECT_FILENAME "HitmanBloodMoney.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Hitman Blood Money" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/hitman-codename-47/enhancement-pack.nsi b/games/hitman-codename-47/enhancement-pack.nsi index aa8059a..747e141 100644 --- a/games/hitman-codename-47/enhancement-pack.nsi +++ b/games/hitman-codename-47/enhancement-pack.nsi @@ -91,5 +91,4 @@ Function .onInit StrCpy $SELECT_FILENAME "Hitman.Exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Hitman Codename 47" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/hitman-contracts/enhancement-pack.nsi b/games/hitman-contracts/enhancement-pack.nsi index 5890507..a8083ca 100644 --- a/games/hitman-contracts/enhancement-pack.nsi +++ b/games/hitman-contracts/enhancement-pack.nsi @@ -98,5 +98,4 @@ Function .onInit StrCpy $SELECT_FILENAME "HitmanContracts.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Hitman Contracts" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/resident-evil-0-hd-remaster/enhancement-pack.nsi b/games/resident-evil-0-hd-remaster/enhancement-pack.nsi index dc7f3cf..3611f6a 100644 --- a/games/resident-evil-0-hd-remaster/enhancement-pack.nsi +++ b/games/resident-evil-0-hd-remaster/enhancement-pack.nsi @@ -144,5 +144,4 @@ Function .onInit StrCpy $SELECT_FILENAME "re0hd.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\Resident Evil 0" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/games/resident-evil-2/steam-enhancement-pack.nsi b/games/resident-evil-2/steam-enhancement-pack.nsi index cfbcc0b..b469e53 100644 --- a/games/resident-evil-2/steam-enhancement-pack.nsi +++ b/games/resident-evil-2/steam-enhancement-pack.nsi @@ -405,7 +405,6 @@ SectionEnd StrCpy $SELECT_FILENAME "4249110_Launcher.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\4249110_Biohazard2" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd !endif diff --git a/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi b/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi index 7829b3a..8a4cb0e 100644 --- a/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi +++ b/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi @@ -352,7 +352,6 @@ SectionGroupEnd StrCpy $SELECT_FILENAME "4249120_Launcher.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\4249120_Biohazard3" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd !endif diff --git a/games/resident-evil/steam-enhancement-pack.nsi b/games/resident-evil/steam-enhancement-pack.nsi index eac4150..d61f40a 100644 --- a/games/resident-evil/steam-enhancement-pack.nsi +++ b/games/resident-evil/steam-enhancement-pack.nsi @@ -310,7 +310,6 @@ SectionEnd StrCpy $SELECT_FILENAME "4249100_Launcher.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\4249100_Biohazard" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd !endif diff --git a/games/silent-hill-f/enhancement-pack.nsi b/games/silent-hill-f/enhancement-pack.nsi index 55ad337..5a80a86 100644 --- a/games/silent-hill-f/enhancement-pack.nsi +++ b/games/silent-hill-f/enhancement-pack.nsi @@ -45,5 +45,4 @@ Function .onInit StrCpy $SELECT_FILENAME "SHf.exe" StrCpy $SELECT_DEFAULT_FOLDER "C:\Program Files (x86)\Steam\steamapps\common\SILENT HILL f" StrCpy $SELECT_RELATIVE_INSTDIR "" - !insertmacro MULDERCONFIG_ONINIT FunctionEnd diff --git a/includes/misc/CommonMacros.nsh b/includes/misc/CommonMacros.nsh index fbe8770..3374bd8 100644 --- a/includes/misc/CommonMacros.nsh +++ b/includes/misc/CommonMacros.nsh @@ -105,34 +105,10 @@ SectionIn RO AddSize 1024 SetOutPath "${OUT_PATH}" - !insertmacro DOWNLOAD_1 "https://github.com/Mulderland/MulderConfig/releases/download/26.04.1/MulderConfig.exe" "MulderConfig.exe" "" + !insertmacro DOWNLOAD_1 "https://github.com/Mulderland/MulderConfig/releases/latest/download/MulderConfig.exe" "MulderConfig.exe" "" File ${CONFIG_FOLDER}\MulderConfig.json File ${CONFIG_FOLDER}\MulderConfig.save.json SectionEnd - - Section ".NET Desktop Runtime 8.0.26 (x64)" SEC_MULDERCONFIG_DOTNET - SetOutPath "${OUT_PATH}" - AddSize 100000 - - !insertmacro DOWNLOAD_2 "https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/8.0.26/windowsdesktop-runtime-8.0.26-win-x64.exe" \ - "https://cdn1.mulderload.eu/games/_redist/windowsdesktop-runtime-8.0.26-win-x64.exe" \ - "windowsdesktop-runtime-win-x64.exe" "0a25dfd2bef2646551dcaceb8322fb3f136ff186" - ExecWait '"windowsdesktop-runtime-win-x64.exe" /Q' $0 - Delete "windowsdesktop-runtime-win-x64.exe" - SectionEnd - !macroend -!endif - -!ifmacrondef MULDERCONFIG_ONINIT - !macro MULDERCONFIG_ONINIT - Push $0 - - !insertmacro HAS_DOTNET_DESKTOP_RUNTIME 8 $0 - ${If} $0 == 1 - SectionSetFlags ${SEC_MULDERCONFIG_DOTNET} 0 - ${EndIf} - - Pop $0 !macroend !endif From cd2fe049ea6f222e3a6f7fb68f7d2bcc0aaef3cf Mon Sep 17 00:00:00 2001 From: mulderf0x <200639147+mulderf0x@users.noreply.github.com> Date: Thu, 7 May 2026 11:41:13 +0200 Subject: [PATCH 3/6] Change MulderConfig SectionGroup to Section when possible --- games/colin-mcrae-dirt-2/enhancement-pack.nsi | 6 ++++-- .../dino-crisis-2/steam-enhancement-pack.nsi | 11 +++-------- games/dino-crisis/steam-enhancement-pack.nsi | 11 +++-------- games/dirt-3/enhancement-pack.nsi | 8 +++++--- games/doom-3/enhancement-pack.nsi | 6 +++--- .../enhancement-pack.nsi | 9 +++------ games/fallout-new-vegas/enhancement-pack.nsi | 9 +++------ .../enhancement-pack.nsi | 6 +++--- games/hitman-blood-money/enhancement-pack.nsi | 6 +++--- games/hitman-codename-47/enhancement-pack.nsi | 19 +++++++++---------- games/hitman-contracts/enhancement-pack.nsi | 6 +++--- .../enhancement-pack.nsi | 6 +++--- .../steam-enhancement-pack.nsi | 11 +++-------- .../steam-enhancement-pack.nsi | 11 +++-------- .../resident-evil/steam-enhancement-pack.nsi | 11 +++-------- games/silent-hill-f/enhancement-pack.nsi | 9 +++------ includes/misc/CommonMacros.nsh | 19 +++++++++---------- 17 files changed, 66 insertions(+), 98 deletions(-) diff --git a/games/colin-mcrae-dirt-2/enhancement-pack.nsi b/games/colin-mcrae-dirt-2/enhancement-pack.nsi index d041277..96398c2 100644 --- a/games/colin-mcrae-dirt-2/enhancement-pack.nsi +++ b/games/colin-mcrae-dirt-2/enhancement-pack.nsi @@ -77,8 +77,10 @@ Section "GFWL Fix (Xliveless by ThirteenAG)" !insertmacro NSISUNZ_EXTRACT_ONE "xlive-Win32.zip" ".\" "xlive.dll" "AUTO_DELETE" SectionEnd -SectionGroup /e "MulderConfig" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" +SectionGroup /e "MulderConfig (latest)" + Section + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" + SectionEnd Section "Intro Skip (by Garrett)" AddSize 4 diff --git a/games/dino-crisis-2/steam-enhancement-pack.nsi b/games/dino-crisis-2/steam-enhancement-pack.nsi index 13937a5..71730ef 100644 --- a/games/dino-crisis-2/steam-enhancement-pack.nsi +++ b/games/dino-crisis-2/steam-enhancement-pack.nsi @@ -135,14 +135,9 @@ Section "High Quality Textures (Rex-HD Project Preview)" rexhd SectionEnd !ifndef GOG_ENHANCEMENT_PACK_NSI ; If Steam - SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\steam" - Section - #ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - Rename "$INSTDIR\4249140_Launcher.exe" "$INSTDIR\4249140_Launcher_o.exe" - CopyFiles "$INSTDIR\MulderConfig.exe" "$INSTDIR\4249140_Launcher.exe" - SectionEnd - SectionGroupEnd + Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\steam" + SectionEnd SectionGroup /e "Remove Non-REbirth files (preserve saves)" Section /o "Remove english files" remove_original_english diff --git a/games/dino-crisis/steam-enhancement-pack.nsi b/games/dino-crisis/steam-enhancement-pack.nsi index 0125cb1..657e630 100644 --- a/games/dino-crisis/steam-enhancement-pack.nsi +++ b/games/dino-crisis/steam-enhancement-pack.nsi @@ -103,14 +103,9 @@ SectionGroup /e "Dino Crisis Classic REbirth" SectionGroupEnd !ifndef GOG_ENHANCEMENT_PACK_NSI ; If Steam - SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\steam" - Section - #ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - Rename "$INSTDIR\4249130_Launcher.exe" "$INSTDIR\4249130_Launcher_o.exe" - CopyFiles "$INSTDIR\MulderConfig.exe" "$INSTDIR\4249130_Launcher.exe" - SectionEnd - SectionGroupEnd + Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\steam" + SectionEnd SectionGroup /e "Remove Non-REbirth files (preserve saves)" Section /o "Remove english files" diff --git a/games/dirt-3/enhancement-pack.nsi b/games/dirt-3/enhancement-pack.nsi index 8ad0241..f4ae7ee 100644 --- a/games/dirt-3/enhancement-pack.nsi +++ b/games/dirt-3/enhancement-pack.nsi @@ -75,12 +75,14 @@ Section /o "Upscaled Cars Textures (by Talal26)" !insertmacro DELETE_RANGE "DiRT 3 Upscaled Liveries Mod 1.0 [Repack-MLD].001" 15 SectionEnd -SectionGroup /e "MulderConfig" +SectionGroup /e "MulderConfig (latest)" + Section !ifdef BYOF_INSTALLER_NSI - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\byof-installer" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\byof-installer" !else - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\enhancement-pack" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\enhancement-pack" !endif + SectionEnd Section "Super Fast Menus Mod (by Martan)" AddSize 42 diff --git a/games/doom-3/enhancement-pack.nsi b/games/doom-3/enhancement-pack.nsi index 7981ed4..f74100f 100644 --- a/games/doom-3/enhancement-pack.nsi +++ b/games/doom-3/enhancement-pack.nsi @@ -106,9 +106,9 @@ Section "Textures Pack x4 v1.1 (by GrowlingGuy41)" File "/oname=$DOCUMENTS\My Games\dhewm3\d3xp\autoexec.cfg" resources\autoexec.cfg SectionEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Function .onInit StrCpy $SELECT_FILENAME "Doom3.exe" diff --git a/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi b/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi index bba6ebe..e7c8cac 100644 --- a/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi +++ b/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi @@ -71,12 +71,9 @@ SectionGroup /e "HD Textures" fov SectionEnd SectionGroupEnd -SectionGroup /e "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR""resources" - Section - ExecWait '"$INSTDIR\bin\MulderConfig.exe" -apply' $0 - SectionEnd -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Function .onInit StrCpy $SELECT_FILENAME "duke3d.exe" diff --git a/games/fallout-new-vegas/enhancement-pack.nsi b/games/fallout-new-vegas/enhancement-pack.nsi index d62b224..953e88b 100644 --- a/games/fallout-new-vegas/enhancement-pack.nsi +++ b/games/fallout-new-vegas/enhancement-pack.nsi @@ -200,12 +200,9 @@ Section /o "NVTUP (FNV Texture Upscale Project) v2.0" !insertmacro DELETE_RANGE "NVTUP.7z.001" 16 SectionEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" - Section - ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - SectionEnd -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Function .onInit StrCpy $SELECT_FILENAME "FalloutNV.exe" diff --git a/games/hitman-2-silent-assassin/enhancement-pack.nsi b/games/hitman-2-silent-assassin/enhancement-pack.nsi index 3fcc022..bba01ef 100644 --- a/games/hitman-2-silent-assassin/enhancement-pack.nsi +++ b/games/hitman-2-silent-assassin/enhancement-pack.nsi @@ -93,9 +93,9 @@ Section "Add Xinput Controller support (by mutantx20)" Delete "alec 360.txt" SectionEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd SectionGroup /e "Language Patch" lang Section /o "French Patch" lang_fr diff --git a/games/hitman-blood-money/enhancement-pack.nsi b/games/hitman-blood-money/enhancement-pack.nsi index c20ef35..6820f34 100644 --- a/games/hitman-blood-money/enhancement-pack.nsi +++ b/games/hitman-blood-money/enhancement-pack.nsi @@ -104,9 +104,9 @@ Section "Add controller support (by JerichoRex)" Rename "HitmanBloodMoney.exe" "$INSTDIR\_HitmanBloodMoney_gamepad.exe.bak" SectionEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Section /o "Upscaled Textures (BM Premastered by V01DXIX)" AddSize 5274337 diff --git a/games/hitman-codename-47/enhancement-pack.nsi b/games/hitman-codename-47/enhancement-pack.nsi index 747e141..b898d6a 100644 --- a/games/hitman-codename-47/enhancement-pack.nsi +++ b/games/hitman-codename-47/enhancement-pack.nsi @@ -64,17 +64,16 @@ Section "Widescreen fix (by alphayellow) + dgVoodoo2" Delete "$INSTDIR\nGlideEULA.txt" SectionEnd -SectionGroup "MulderConfig (latest)" - Section - AddSize 1945 - # Copy Intro.zip to allow toggling the intro video in MulderConfig UI - ${IfNot} ${FileExists} "$INSTDIR\@mulderload\backup\Intro.zip" - CopyFiles "$INSTDIR\Cutscenes\Intro\Intro.zip" "$INSTDIR\@mulderload\backup\Intro.zip" - ${EndIf} - SectionEnd +Section "MulderConfig (latest)" + # Copy Intro.zip to allow toggling the intro video in MulderConfig UI + AddSize 1945 + ${IfNot} ${FileExists} "$INSTDIR\@mulderload\backup\Intro.zip" + CopyFiles "$INSTDIR\Cutscenes\Intro\Intro.zip" "$INSTDIR\@mulderload\backup\Intro.zip" + ${EndIf} - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" -SectionGroupEnd + # MulderConfig + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Section "Modern keyboard mapping" SetOutPath "$INSTDIR" diff --git a/games/hitman-contracts/enhancement-pack.nsi b/games/hitman-contracts/enhancement-pack.nsi index a8083ca..0aa809d 100644 --- a/games/hitman-contracts/enhancement-pack.nsi +++ b/games/hitman-contracts/enhancement-pack.nsi @@ -84,9 +84,9 @@ Section "Add Xinput Controller support (by mutantx20)" Delete "alec 360.txt" SectionEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Section # Copy readme diff --git a/games/resident-evil-0-hd-remaster/enhancement-pack.nsi b/games/resident-evil-0-hd-remaster/enhancement-pack.nsi index 3611f6a..63547a7 100644 --- a/games/resident-evil-0-hd-remaster/enhancement-pack.nsi +++ b/games/resident-evil-0-hd-remaster/enhancement-pack.nsi @@ -136,9 +136,9 @@ Section !insertmacro 7Z_REMOVE SectionEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Function .onInit StrCpy $SELECT_FILENAME "re0hd.exe" diff --git a/games/resident-evil-2/steam-enhancement-pack.nsi b/games/resident-evil-2/steam-enhancement-pack.nsi index b469e53..10f18d9 100644 --- a/games/resident-evil-2/steam-enhancement-pack.nsi +++ b/games/resident-evil-2/steam-enhancement-pack.nsi @@ -335,14 +335,9 @@ SectionEnd File "resources\steam\README.txt" SectionEnd - SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\steam" - Section - #ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - Rename "$INSTDIR\4249110_Launcher.exe" "$INSTDIR\4249110_Launcher_o.exe" - CopyFiles "$INSTDIR\MulderConfig.exe" "$INSTDIR\4249110_Launcher.exe" - SectionEnd - SectionGroupEnd + Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\steam" + SectionEnd SectionGroup "Free space by removing Non-REbirth files" Section /o "Remove english files (keep saves)" diff --git a/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi b/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi index 8a4cb0e..153c66c 100644 --- a/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi +++ b/games/resident-evil-3-nemesis/steam-enhancement-pack.nsi @@ -305,14 +305,9 @@ SectionGroupEnd File "resources\steam\README.txt" SectionEnd - SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\steam" - Section - #ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - Rename "$INSTDIR\4249120_Launcher.exe" "$INSTDIR\4249120_Launcher_o.exe" - CopyFiles "$INSTDIR\MulderConfig.exe" "$INSTDIR\4249120_Launcher.exe" - SectionEnd - SectionGroupEnd + Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\steam" + SectionEnd SectionGroup "Free space by removing Non-REbirth files" Section /o "Remove english files (keep saves)" diff --git a/games/resident-evil/steam-enhancement-pack.nsi b/games/resident-evil/steam-enhancement-pack.nsi index d61f40a..2af96dd 100644 --- a/games/resident-evil/steam-enhancement-pack.nsi +++ b/games/resident-evil/steam-enhancement-pack.nsi @@ -274,14 +274,9 @@ SectionEnd File "resources\steam\README.txt" SectionEnd - SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources\steam" - Section - #ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - Rename "$INSTDIR\4249100_Launcher.exe" "$INSTDIR\4249100_Launcher_o.exe" - CopyFiles "$INSTDIR\MulderConfig.exe" "$INSTDIR\4249100_Launcher.exe" - SectionEnd - SectionGroupEnd + Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources\steam" + SectionEnd SectionGroup "Free space by removing Non-REbirth files" Section /o "Remove english files (keep saves)" diff --git a/games/silent-hill-f/enhancement-pack.nsi b/games/silent-hill-f/enhancement-pack.nsi index 5a80a86..fb47335 100644 --- a/games/silent-hill-f/enhancement-pack.nsi +++ b/games/silent-hill-f/enhancement-pack.nsi @@ -34,12 +34,9 @@ SectionGroup /e "ThirteenAG's Ultimate ASI Loader" SectionEnd SectionGroupEnd -SectionGroup "MulderConfig (latest)" - !insertmacro MULDERCONFIG_SECTIONS "$INSTDIR" "resources" - Section - ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 - SectionEnd -SectionGroupEnd +Section "MulderConfig (latest)" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" +SectionEnd Function .onInit StrCpy $SELECT_FILENAME "SHf.exe" diff --git a/includes/misc/CommonMacros.nsh b/includes/misc/CommonMacros.nsh index 3374bd8..722b4c4 100644 --- a/includes/misc/CommonMacros.nsh +++ b/includes/misc/CommonMacros.nsh @@ -99,16 +99,15 @@ !macroend !endif -!ifmacrondef MULDERCONFIG_SECTIONS - !macro MULDERCONFIG_SECTIONS OUT_PATH CONFIG_FOLDER - Section - SectionIn RO - AddSize 1024 - SetOutPath "${OUT_PATH}" - !insertmacro DOWNLOAD_1 "https://github.com/Mulderland/MulderConfig/releases/latest/download/MulderConfig.exe" "MulderConfig.exe" "" - File ${CONFIG_FOLDER}\MulderConfig.json - File ${CONFIG_FOLDER}\MulderConfig.save.json - SectionEnd +!ifmacrondef INSTALL_MULDERCONFIG + !macro INSTALL_MULDERCONFIG OUT_PATH CONFIG_FOLDER + SectionIn RO + AddSize 1024 + SetOutPath "${OUT_PATH}" + !insertmacro DOWNLOAD_1 "https://github.com/Mulderland/MulderConfig/releases/latest/download/MulderConfig.exe" "MulderConfig.exe" "" + File ${CONFIG_FOLDER}\MulderConfig.json + File ${CONFIG_FOLDER}\MulderConfig.save.json + ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 !macroend !endif From a028036631844fab7ab05f39cb2a7edf3dd32414 Mon Sep 17 00:00:00 2001 From: mulderf0x <200639147+mulderf0x@users.noreply.github.com> Date: Thu, 7 May 2026 11:41:45 +0200 Subject: [PATCH 4/6] Add pre-release cleanup --- .github/workflows/nsis.yaml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/nsis.yaml b/.github/workflows/nsis.yaml index 3f8d0cc..6ac8583 100644 --- a/.github/workflows/nsis.yaml +++ b/.github/workflows/nsis.yaml @@ -106,6 +106,7 @@ jobs: $versionNumber = "$base.$next" Write-Host "Generated version number: $versionNumber" echo versionNumber=$versionNumber >> $env:GITHUB_OUTPUT + echo isPre=$($isPre.ToString().ToLower()) >> $env:GITHUB_OUTPUT - name: Create GitHub Release if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/pre/')) && steps.detect.outputs.detectSummary != 'none' @@ -115,7 +116,7 @@ jobs: run: | $versionNumber = "${{ steps.version_number.outputs.versionNumber }}" $detectSummary = "${{ steps.detect.outputs.detectSummary }}" - $isPre = "${{ github.ref_name }}" -ne "main" + $isPre = "${{ steps.version_number.outputs.isPre }}" -eq "true" if ($isPre) { gh release create $versionNumber ../dist/*.exe --generate-notes --prerelease @@ -125,3 +126,19 @@ jobs: gh release create $versionNumber ../dist/*.exe --generate-notes --latest=false } working-directory: build + + - name: Cleanup old pre-releases + if: steps.version_number.outputs.isPre == 'true' + shell: pwsh + run: | + $old = gh release list --limit 100 --json tagName,isPrerelease,createdAt | + ConvertFrom-Json | + Where-Object { $_.isPrerelease } | + Sort-Object createdAt | + Select-Object -SkipLast 10 + foreach ($r in $old) { + Write-Host "Deleting old pre-release: $($r.tagName)" + gh release delete $r.tagName --cleanup-tag --yes + } + env: + GH_TOKEN: ${{ github.token }} From a8e1b523f356db19dc4bf6baf60b02bf840428b6 Mon Sep 17 00:00:00 2001 From: mulderf0x <200639147+mulderf0x@users.noreply.github.com> Date: Thu, 7 May 2026 12:06:19 +0200 Subject: [PATCH 5/6] Fix Duke 3D --- games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi | 2 +- includes/misc/CommonMacros.nsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi b/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi index e7c8cac..724e4b4 100644 --- a/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi +++ b/games/duke-nukem-3d-megaton-edition/enhancement-pack.nsi @@ -72,7 +72,7 @@ SectionGroup /e "HD Textures" fov SectionGroupEnd Section "MulderConfig (latest)" - !insertmacro INSTALL_MULDERCONFIG "$INSTDIR" "resources" + !insertmacro INSTALL_MULDERCONFIG "$INSTDIR\bin" "resources" SectionEnd Function .onInit diff --git a/includes/misc/CommonMacros.nsh b/includes/misc/CommonMacros.nsh index 722b4c4..2b23b4a 100644 --- a/includes/misc/CommonMacros.nsh +++ b/includes/misc/CommonMacros.nsh @@ -107,7 +107,7 @@ !insertmacro DOWNLOAD_1 "https://github.com/Mulderland/MulderConfig/releases/latest/download/MulderConfig.exe" "MulderConfig.exe" "" File ${CONFIG_FOLDER}\MulderConfig.json File ${CONFIG_FOLDER}\MulderConfig.save.json - ExecWait '"$INSTDIR\MulderConfig.exe" -apply' $0 + ExecWait '"${OUT_PATH}\MulderConfig.exe" -apply' $0 !macroend !endif From d226bd6f67178ae2f73e198fc23157bb43aa74fe Mon Sep 17 00:00:00 2001 From: mulderf0x <200639147+mulderf0x@users.noreply.github.com> Date: Thu, 7 May 2026 12:45:47 +0200 Subject: [PATCH 6/6] Delete MulderConfig before download --- includes/misc/CommonMacros.nsh | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/misc/CommonMacros.nsh b/includes/misc/CommonMacros.nsh index 2b23b4a..194bd87 100644 --- a/includes/misc/CommonMacros.nsh +++ b/includes/misc/CommonMacros.nsh @@ -104,6 +104,7 @@ SectionIn RO AddSize 1024 SetOutPath "${OUT_PATH}" + Delete "MulderConfig.exe" !insertmacro DOWNLOAD_1 "https://github.com/Mulderland/MulderConfig/releases/latest/download/MulderConfig.exe" "MulderConfig.exe" "" File ${CONFIG_FOLDER}\MulderConfig.json File ${CONFIG_FOLDER}\MulderConfig.save.json