- The BGM player was creating cubeb_stream_params without initializing the prefs field.
- This caused random loopback flags depending on stack garbage.
Co-authored-by: bookmist <roshst@yandex.ru>
- Implement Vita-style gate animation (zoom-in/zoom-out) when opening apps or returning to the LiveArea.
- Replace Selectable gate with InvisibleButton and draw a custom pulsing highlight rectangle (Vita gate effect).
- Add a circular mask to the notice icon to match the PS Vita system UI.
- Improve AddCircleFilled/AddImage alignment by refining size, offsets, and scaling for pixel-perfect accuracy.
- Revert the macOS update link to x64 build because the ARM64 build is unstable.
- Fix using `.zip` suffix for macOS download.
- Use bash to fix error `read: arg count` in `update-linux.sh`.
- Fix the zip name in `update-linux.sh` differing from that in GUI.
- Rework storage permission handling during initial setup.
- Block setup progression until storage access is granted.
- Avoid invalid states and SAF-related issues on some Android devices.
Add Windows ARM64 build.
- Simplify vcpkg installation with `--triplet=<triplet>`.
- Remove useless `if` in the job `Compute git short SHA`.
- Rename macOS/Windows x86_64 artifacts.
- Disable Discord Rich Presence on Windows ARM64.
- Add flags to disable inclusion of timestamps in PCH files with clang-cl.
- Enable Visual Studio for ARM64 in CMake presets.
- Fix the Windows update script still using '0.2.0' when parsing version.
- external: Update ffmpeg-core
- Some small improvement and comment added.
config & gui/settings dialog: Add control of bgm volume.
- Change start screen delay min to 30 sec and max to 5 min.
codec: Set default value to 0 for send of atrac 9.
gui/main_menubar & app_context_menu: Added open & delete patch folder path.
gui/trophy_collection: Added delete all trophies dialog.
data/fonts & gui: Added Korean fonts and included the license files.
lang: Clean up and update.
Co-authored-by: Zangetsu38 <Zangetsu38@users.noreply.github.com>
SDL3 tracks threads and reports them as leaked if you don't call
`SDL_WaitThread()` or `SDL_DetachThread()` on them. With
`SDL_DetachThread()` we can tell SDL to clean up automatically after a
thread exits.
This prevents "Leaked thread" log spam on quit.
When closing Vita3k via a window manager while a game is running, there
was a shutdown deadlock instead of clean exit.
Two fixed issues:
- CPU: `sceGxmNotificationWait` could block indefinitely; make it aware
of abort and notify on quit
- GPU (Vulkan): `gpu_request_wait_thread` could block indefinitely;
abort `request_queue` and join the thread in `preclose_action`.
- Restore/Update Linux runner to the latest version.
- Remove the commands for Linux ARM64 that are no longer needed now.
- Simplify steps to get commit information.
- Avoid passing secrets within the command line.
- Change URLs to allow steps be used in forks without many changes.
- Add buffered HEVAG ADPCM frame alignment so only full 16/32 byte frames are decoded.
This prevents partial frame processing, keeps the stream aligned, and stabilizes playback.
- Add a minimal default preset stub for PlayerModule.
When a voice is initialized with an empty preset, it now resets its internal state.
- Resolve real filesystem paths directly from the Android file picker.
- Remove all SAF fallback logic, temporary file copies, and FD-based handling.
- Drop file-descriptor mapping entirely.
- Unify file opening with desktop by using FOPEN().
- Simplify JNI: filedialogReturn now returns only a UTF-8 path.
- Add permission request on Android 11+ to ensure picker paths remain accessible.
- Merge Linux zip/appimage builds into single job (8 → 5 jobs)
- Replace matrix.config with global env.BUILD_CONFIG
- Simplify matrix to include-only (remove version/exclude)
- Consolidate create-release job (2 → 1 job)
- Download ghr once instead of twice
- Process artifacts for master/store in single loop
- Reorder steps for logical flow
- Add job names for cleaner UI display
Use SystemConfiguration to get the primary network interface,
then retrieve its MAC address via getifaddrs().
Falls back to first active physical interface (en*) if primary
is a virtual interface (VPN, tunnel, etc.).
- Update build_updater.sh for multi-arch compatibility
- Update vita3k_update.cpp for Linux ARM64 support
- Add CI workflows for ARM64 zip and AppImage builds