Skip to content

Bump ilspycmd to 11.0.0.9375, migrate installer to FluentAvalonia, fix bootstrap SIGPIPE - #99

Merged
Zaldaryon merged 1 commit into
mainfrom
ilspycmd-11-and-installer-fluent
Sep 16, 2026
Merged

Zaldaryon merged 1 commit into
mainfrom
ilspycmd-11-and-installer-fluent

Conversation

@Zaldaryon

Copy link
Copy Markdown
Collaborator

Summary

Three changes to the Optimum client workspace.

ilspycmd 11.0.0.9375. The decompiler pin moves from the 10.1.x range to a single accepted version, 11.0.0.9375, across .config/dotnet-tools.json, .config/ilspycmd-compat.json, the bootstrap and install scripts (PowerShell and shell), the C# compatibility fallback in IlspycmdVersion.cs, and the tests. ILSpy 11 changes its decompiled output, so two things had to follow. First, the base constructor fixup now also rewrites the ILSpy 11 cast form ((BaseType)this)._002Ector(args) into : base(args); ILSpy 11 emits that form for GameWindowNative and eight other files, and without the fixup the tree does not compile. Second, four VintagestoryLib patches whose context lines shifted were regenerated against the new baseline: EventManager, ClientEventManager, InventoryItemRenderer, and ShaderRegistry.

Installer moved to FluentAvalonia. The Avalonia installer now uses FluentAvaloniaTheme for the native WinUI look: the system accent colour, the OS light or dark variant, standard Fluent controls, a numbered step rail, and no custom palette. The completion screen uses a Finish button instead of auto-launch.

Bootstrap SIGPIPE fix. The patch detection probe is now immune to SIGPIPE (see the merge note below).

Verification

On Windows: bootstrap.ps1 -Refresh reports 118 patches applied and 0 failed, dotnet build VintageStory.slnx -c Release finishes with 0 errors, and the installer and bootstrap test suites pass.

…x bootstrap SIGPIPE

Pin ilspycmd to 11.0.0.9375 across the config, bootstrap and install
scripts, the C# compatibility fallback, and the tests. The range is now a
single accepted version. Extend the base constructor fixup to rewrite the
ILSpy 11 cast form ((BaseType)this)._002Ector(args) into : base(args), which
ILSpy 11 emits for GameWindowNative and eight other files. Regenerate the four
VintagestoryLib patches whose context shifted under the new decompiler output
(EventManager, ClientEventManager, InventoryItemRenderer, ShaderRegistry).

Migrate the Avalonia installer from SukiUI to FluentAvalonia for the native
WinUI look: FluentAvaloniaTheme with the system accent and light/dark variant,
standard Fluent controls, a numbered step rail, and no custom palette. Replace
the auto-launch flow with a Finish button.

Make the bootstrap patch detection immune to SIGPIPE by wrapping the
find | head | grep probe in a subshell with pipefail off, so head closing the
pipe does not surface exit 141 to the if condition and all 118 patches are
detected and applied. Portable across Linux and macOS.

Verified on Windows: bootstrap -Refresh reports 118 patches applied and 0
failed, the solution builds with 0 errors, and the installer and bootstrap
test suites pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant