InitModsSystem() runs before the game world is set up. Its bail-out paths (no
O2R + user declines generation, missing mods.toml, cyclic/outdated mod deps,
and GenAssetFile's no-ROM / unsupported-ROM cases) call exit(), which runs the
global `static World sWorldInstance` destructor -> World::CleanWorld() ->
dereferences Sky::Instance and other singletons that are still null this early,
segfaulting. The most visible case: declining the first-run "Generate one now?"
prompt pops a crash report instead of quitting cleanly.
Use _Exit() on these pre-initialization bail-outs so no static destructors run.
Co-authored-by: quarrel07 <paeans-toggle-2e@icloud.com>
Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
The bundle version strings were left at 0.1.0 while the project is at 1.0.0
(project(Spaghettify VERSION 1.0.0)), so the macOS .app and cpack bundle report
the wrong version in Finder/Get Info. Match them to the project version.
Co-authored-by: quarrel07 <paeans-toggle-2e@icloud.com>
* Remove duplicate Switch::Init(PostInit) call.
It was called multiple times, causing multiple applet hooks (that all point to the same callback address) to be registered. For some reason, the OS started spamming us with FocusUpdate events via that hook because of that.
* Hide fullscreen and app data directory button on Switch
* merge upstream commit to fix some bug
* fix merge
* add a local user for the merge
* Update main.yml
* revert main.yml
* fix windows CI
* fix switch build
* fix windows and try a fix for switch
* fix windows build
* Force type correctness when calculating collision hashes
* Fix more incorrect hash calculations.
* fix an error
---------
Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
* Enable MK64 build option for torch
* Fix HMAS type error (present on arm64)
* Align memory pool and fix empty macro
* Experimental: Add 4096 memory alignment
* Add alignment for ALIGNED8 macro
* Use memset over deprecated bzero
* Ensure OPENGLES flag can be used in CMakeLists.txt
* Diagnostic: align ship2_window_i8 to rule out odd-alignment crash
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
macOS uses COREAUDIO as the default audio backend, but the
combobox display map in MenuTypes.h only contained SDL and
WASAPI. This causes an unordered_map::at crash on first
frame draw when the Audio API dropdown tries to render.
Fixes the menu crash portion of #681.
Kenix3/libultraship#972 changed the OpenGL backend to load a single
combined default.shader.glsl instead of separate .fs and .vs files.
The assets were never updated to match, breaking the OpenGL renderer.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>