Commit Graph

4056 Commits

Author SHA1 Message Date
Pedro Montes Alcalde 5b040dc4a6 app: Implement linux portable (#4020) 2026-06-12 20:51:01 -03:00
Pedro Montes Alcalde 985ac699c6 emuenv/app: Remove base_path (#4018) 2026-06-12 15:15:47 -03:00
Pedro Montes Alcalde 4b891b8394 config: Only allow native buffer mapping on android (#3997) 2026-06-11 21:09:41 -03:00
Dicot0721 0bc2c732bf util: Optimize string utils 2026-06-11 19:43:40 -04:00
Pedro Montes Alcalde 16cfb52ba8 Rename pref_path to vita_fs_path (#4012) 2026-06-11 20:04:57 -03:00
bookmist 2162e160dd external/tracy: don't stop tracing on first AV or signal
Disable tracy crash handler. AV can be part of normal work of Vita3k
2026-06-12 01:25:55 +03:00
bookmist d8db20a3d3 vita3k: ignore errors on module preload.
It allow to run programs without installed firmware (it's still not recommended, but now possible)
2026-06-11 23:24:54 +03:00
Pedro Montes Alcalde 7c567c1804 cmake: Dynamic link libc and stdc++ (#4008) 2026-06-09 17:47:17 -03:00
pep g. c431738b07 gui-qt: size key binding buttons to fit the capturing countdown text (#4005)
the bind buttons used a fixed 100px width which clipped the
"capturing...(5)" label shown while waiting for input. compute the
width from the font metrics of that label plus the qss padding so the
text is never truncated
2026-06-08 12:21:54 -03:00
KorewaWatchful c95558cc16 io: stop reporting regular files as executable 2026-06-05 22:07:26 -04:00
Pedro Montes Alcalde 22d56c6022 Add linuxdeploy plugins to gitignore (#4000) 2026-06-05 22:18:48 -03:00
Pedro Montes Alcalde 51a84da81a overlay: Move break keyword to all platforms (#3999) 2026-06-04 22:40:33 -03:00
Pedro Montes Alcalde e1b2bcee4e overlay: Add missing break statement in font loading logic (#3998) 2026-06-04 20:22:16 -03:00
Pedro Montes Alcalde 5bcef8e0d9 util: Remove obfuscate.h (#3995) 2026-06-04 12:53:52 -03:00
Dicot0721 94d2a330e6 ci: Optimize format check workflow
- Use 'sparse-checkout' to fetch only the root files and 'vita3k' and 'tools' folder.
2026-06-02 20:08:57 -04:00
Pedro Montes Alcalde bbbd584e4b gui: Add an option to open elfdumps path (#3987) 2026-06-02 21:08:56 -03:00
EXtremeExploit c8252f4959 kernel: Fix compile error on GNU compiler 2026-06-01 05:47:27 +02:00
EXtremeExploit 74a37906da qt: Implement tracy UI 2026-05-31 13:59:03 -03:00
EXtremeExploit 15ed771095 external: Update tracy to 0.13.1 2026-05-31 13:59:03 -03:00
bookmist f531d80330 kernel: fix elf dumps (#3984) 2026-05-29 22:12:49 -03:00
bookmist 40ce476b2e io: remove unused files and dependencies 2026-05-28 13:22:59 -04:00
Pedro Montes Alcalde 699c00fe96 app: Make linux also check for lowercase paths (#3979) 2026-05-28 14:21:33 -03:00
Pedro Montes Alcalde 5178faedce cmake: Include README and COPYING.txt (#3976) 2026-05-27 20:03:49 -03:00
bookmist 11dc3b8b2a modules: lle kernel module sysmodule
* Loading modules from bootimage.skprx
* ELF loading with automatic format detection based on the magic value
* New NIDs and modules for kernel-level functions (added manually).
* Implementation of several kernel-level functions. Most of them delegate to user-level counterparts.

Other changes, which are difficult to split:

* Whenever possible, do not relocate modules.
* Patches are now read for eboot.bin only
* ELF dumps are now organized into subfolders named by application/game ID
* Correct implementation of LLE libfiber, even without an LLE sysmodule
2026-05-27 20:02:07 +03:00
nishinji 97039b55b6 util: Use contains instead of find for strings (#3961)
* Update BUILDING.md

* util: Use contains instead of find for strings

also removed custom 'bit_cast'

Co-authored-by: 双子叶植物 <149964080+Dicot0721@users.noreply.github.com>

---------

Co-authored-by: nishinji <nishinji@users.noreply.github.com>
Co-authored-by: 双子叶植物 <149964080+Dicot0721@users.noreply.github.com>
2026-05-27 10:30:25 -03:00
Pedro Montes Alcalde a929a2bded fonts: Remove bundled fonts (#3974) 2026-05-26 16:10:17 -03:00
KorewaWatchful 88f459c64d ngs: fix patch handle storage regression 2026-05-26 10:39:17 -04:00
KorewaWatchful b718baa002 ngs: refactor ngs/audio state ownership & some cleanup 2026-05-25 23:33:51 -04:00
Pedro Montes Alcalde 8b363cd37a i18n: Make static_assets a const reference (#3970) 2026-05-26 00:06:44 -03:00
KorewaWatchful 9dddc4e784 ci: update andorid build/ci 2026-05-25 22:54:28 -04:00
Pedro Montes Alcalde c93dcb7ee1 i18n: Make use of static assets instead of hardcoded base (#3968) 2026-05-25 20:56:35 -03:00
Pedro Montes Alcalde d7c48ec07c vita3k: Rework linux default paths (#3967) 2026-05-25 20:24:17 -03:00
asdf560 1fd6f4ee13 gui-qt: New theme (#3963)
* gui-qt: move external themes to static assets

* gui:qt: new classic imgui theme

---------

Co-authored-by: debopopo <debo@popo.com>
Co-authored-by: KorewaWatchful <dagestanec5550@gmail.com>
2026-05-25 15:41:06 -04:00
troglodyte b7f2c50dad gui-qt: add copy test environment summary to compatibility menu (#3962)
when a game already has a compatibility report, the context menu only
lets you copy the vita3k build summary. this adds a second action to
also copy the test environment summary (os, cpu, gpu, ram) so users
can paste it into existing issue comments without having to manually
type it out.

closes #3586
2026-05-25 15:39:59 -04:00
Pedro Montes Alcalde 7d8365521c ci: Add AppImage zsync update (#3965) 2026-05-25 00:23:28 -03:00
KorewaWatchful 62cefc69ef gxm: clear stale gxm sync object tracking 2026-05-24 19:07:06 -04:00
KorewaWatchful 905ac6a5a6 renderer: refactor frame host and fix macos vulkan issues 2026-05-24 19:07:06 -04:00
troglodyte f3a0d0abc4 gui-qt: don't crash when deleting an archive locked by another process (#3956)
* gui-qt: don't crash on install file delete failures

when you install a .zip, .vpk, .pkg, or firmware .pup and tick the matching "delete after install" option, vita3k tries to remove the installer file from disk. the archive and pkg dialogs use the throwing fs::remove overload, which raises a filesystem_error when the file is locked by another process. since the call runs inside a qt slot, the exception escapes into the qt event loop and the whole emulator goes down with it.

the firmware dialog uses QFile::remove instead, which returns a bool that the code was ignoring, so a locked firmware file silently stuck around with no feedback to the user.

leaving the installer open in something like 7-zip while installing is enough to trigger either case.

this swaps fs::remove for the non-throwing error_code overload in the archive and pkg dialogs, and checks the bool from QFile::remove in the firmware dialog. anything that could not be removed gets shown in a warning so the user knows what stuck around, and the install itself still finishes normally.

* gui-qt: route firmware drops through the install dialog

dropping a .pup onto the main window used to run install_pup inline with a bare QProgressDialog and its own success/failure handling, bypassing FirmwareInstallDialog entirely. that path duplicated the progress UI and never offered the "delete firmware file after install?" option that the menu-triggered flow exposes.

route the drop through FirmwareInstallDialog instead, matching the existing .pkg and .vpk drop routing right next to it. this adds a constructor that takes a pre-supplied firmware path so the dialog skips its file picker when invoked from a drop.

dropped firmware installs now share the threaded progress UI, the warning when the file is locked, and the optional cleanup checkbox with the menu trigger.
2026-05-23 13:06:55 -04:00
KorewaWatchful 85cb48046f gui: themes and qss refactor
# Conflicts:
#	.github/workflows/c-cpp.yml
#	.github/workflows/codeql-analysis.yml
#	vita3k/gui-qt/src/controls_dialog.cpp
2026-05-22 20:43:59 -04:00
KorewaWatchful cf37c74444 ci: overhaul ci 2026-05-21 10:50:42 -04:00
KorewaWatchful 9def9989b7 ci: use clang-format action for format checks 2026-05-20 22:31:29 -04:00
nishinji 53cbaa4c8b vita3k: Switch to C++23 2026-05-20 20:06:57 -04:00
Gamid 16afc7b89d gxm/app: fix shutdown deadlocks caused by scegxm/clean up session controller (#3950)
* gxm: track sync objects and invalidate on shutdown

* app/gxm: shutdown cleanup
2026-05-20 19:20:51 -04:00
KorewaWatchful b52c735f39 overlay: fix input related bugs 2026-05-20 19:05:54 -04:00
Sergi (セルジ) 0517f5f5fb kernel/thread: rework run_loop lifecycle (drop ThreadToDo + something_to_do)
Replace ThreadToDo and the something_to_do condvar with four boolean
flags: exit_requested, delete_requested, suspend_requested,
single_stepping. run_loop() returns void.

call_level brackets each frame: incremented on entry, decremented just
before return.

All call-level exits (normal exit, guest return, delete) converge on a
single block at the top of the loop that fires the end callback and parks
dormant. This wakes wait_thread_end waiters on every exit path.
If deleted, return completely from all run_loop() nested levels.
2026-05-19 21:46:51 -04:00
bookmist 713143f16e mem: alloc_at returns 0 on failure
Previously, alloc_at would unconditionally return the requested address, only logging a critical error if the address was already in use.
2026-05-19 20:51:07 -04:00
nishinji dcfebeada8 Update labeler.yml 2026-05-19 20:47:23 -04:00
shinra-electric ceefd1b192 CI: Resolve actions build warnings (#3904)
* Bump ccache-action to v1.2.23

* Change msvc-dev-cmd to use TheMrMilchmann fork
2026-05-18 15:36:29 -04:00
KorewaWatchful 7b9b4f6976 android: fix adrenotools macro 2026-05-18 12:39:42 -04:00
Dicot0721 d9b605854b android: Add x86_64 ABI
- Disable adrenotools in Android x86_64 build to compile.
- Fix incorrect type for parameter of JNI function.
2026-05-18 11:38:20 -03:00