Previously once a title image was set on a custom edition there was no way to fall back to the default MenuTitle.png short of deleting the instance. Add a round-trip remove path:
- Rust: remove_instance_title_image command deletes title_image.png from the instance stub dir if present, registered in the invoke_handler.
- TauriService.removeInstanceTitleImage wraps the command.
- useGameManager.removeTitleImage calls the command and resets the edition's titleImage back to /images/MenuTitle.png.
- The Versions-view title-image button now detects a custom image (titleImage starts with data:) and swaps the icon, tooltip, and click handler between set/remove, for both keyboard and mouse paths.
Tall custom title images previously pushed the rest of the UI off-screen because the element rendered unbounded by height.
Two-layer cap:
- Rust: decode picked file with the image crate, resize to max 622px height via Lanczos3 when taller (aspect preserved), re-encode as PNG. Also fixes the pre-existing mismatch where non-PNG bytes were saved under title_image.png and served with a data:image/png prefix.
- Frontend: inline maxHeight:140/maxHeight:60vh on the main and intro logo motion.img so layout animation styles don't override the cap.
- Ignore blur events for 3s after launch to prevent Wayland spurious
blur from immediately pausing music during window initialization
- Log audio playback errors instead of silently swallowing them
- Add explicit media-src to CSP for WebKitGTK compatibility
- Fall back to xdg-open on Linux when Tauri opener plugin fails
Preload the host system's libwayland-client.so.0 in the stage-2
fallback to prevent AppImage-bundled Wayland library mismatch on
Wayland compositors. Searches common distro paths (Fedora, Arch,
Debian/Ubuntu x86_64, ARM64) and only sets LD_PRELOAD if found.
Co-authored-by: neoapps-dev <158327205+neoapps-dev@users.noreply.github.com>
Add bump script (pnpm bump <version>) that updates package.json,
tauri.conf.json, Cargo.toml, and README in one command. CI workflows
now read the version from package.json dynamically. App.tsx reads
the version via Vite define instead of hardcoding it.
Add EGL error detection to check_line so the stage-0 supervisor catches
EGL_BAD_PARAMETER crashes. Force software rendering via LIBGL_ALWAYS_SOFTWARE
in the stage-2 fallback to bypass EGL entirely on systems without GPU support.
- Added info file "0" (type=4) with PACKID to match official DLC structure
- Changed skin filename to dlcskin99990000.png to avoid ID collisions
- Skins now visible to other players in multiplayer
- Bumped version to 1.1.1
- Import Instance: link external game folders without copying files
- Custom title images per instance (stored as base64 in stub dir)
- Alex/slim skin support via BOX params and ARM_DISABLED ANIM flags
- Steve/Alex toggle in skin library, persisted per skin
- Generic update check: parses GitHub release URL from any edition
- Randomize music option, random track on startup
- Panorama stays visible on blur (animation pauses instead)
- Music pauses on window blur, resumes on focus
- Delete active instance falls back to default profile
- Dynamic versions list height with scroll on overflow
- Removed debug console.log statements and unused files
- Fixed undefined model variable in skin import
- Fixed SetupView indentation from prior cleanup