Commit graph

1712 commits

Author SHA1 Message Date
Megamouse 28b9f4238a pad settings: disable more stuff during key input 2021-08-28 11:15:43 +02:00
Megamouse a09c2dbdd7 Qt: fix newlines. someone™️ changed to richtext 2021-08-28 11:15:43 +02:00
Megamouse e1a5a24a93 Qt: remove obsolete lambda 2021-08-28 11:15:43 +02:00
kd-11 4953e79588 Add workaround for wayland session 2021-08-21 21:40:19 +03:00
Megamouse aa48bd91f4 input: fix pad defaults when config file was empty 2021-08-15 21:02:38 +02:00
Megamouse cad96cef72 input: redesign pad profiles 2021-08-15 08:24:35 +02:00
Eladash 41cfa6349a GUI: Display PKG information & installation confirmation from main menu 2021-08-14 23:26:11 +02:00
Eladash 62beaf299f
Remove old RSX instructions viewer (#10710) 2021-08-14 21:20:11 +03:00
Megamouse adece0b73e Qt: fix updater menu button
It kept auto accepting
2021-08-13 20:45:18 +02:00
Megamouse 5816505e61 input: fix player id if handler has 2 or more pads 2021-08-10 21:31:29 +02:00
dio-gh 6e1c7a2c16 Change the FSR tooltip to not Bri'ish English
Apparently artefacts is not a typo, but the en-gb spelling?
2021-08-10 20:36:20 +02:00
Eladash 0556837e3b
kernel_explorer: Fix VM object formatting (#10666)
* kernel_explorer: Fix VM object formatting
* kernel-explorer: Fix type of tree_item_names
unordered_map is completely unordered.. while with array-alike type (such as initializer_list) you can control the order of elements.
* kernel_explorer: Add control data ptr info (lwcond/lwmutex)
* kernel_explorer: Restrict lwmutex data reading furthher
2021-08-07 21:38:03 +02:00
Megamouse d4802cc766 input: Add pressure sensitivity button 2021-08-07 21:03:34 +02:00
Matias Moran 4035dcf8e3 ui: fix spacing on gpu tab
just changed back what didn't seem important from kd's changes lol
2021-08-06 19:43:03 +03:00
kd-11 d0a824996b vk: Add basic support for FSR 1.0
- Only implemented for image upscaling.
- Disabled by default. Emulators cannot ensure upscalers are injected at the right rendering step.
- GUI integration not implemented.
2021-08-06 17:18:48 +03:00
Megamouse b7e4de6ea5 Qt: purge gui settings 2021-08-05 22:56:38 +02:00
Eladash f39a0a5fbe Debugger: Add some error pop-ups for invalid operations
* Show error window when setting breakpoints on these conditions:
- SPU/RSX are selected. (not supported)
- When using non-interpreters decoders.
- Non-executable memory is specified.
* Do not allow instruction stepping for non-interpreters decoders.
* Clear breakpoints when the game is stopped.
* Fix setting breakpoints on HLE functions.
2021-07-31 15:27:30 +02:00
ibancel 77c191df42 Qt: add fullscreen mouse lock setting 2021-07-29 22:55:55 +02:00
Megamouse 0262076bfe Qt: move java mode setting to advanced tab 2021-07-29 12:42:04 +02:00
Megamouse 7aca2785b6 Qt: abort batch PPU compilation on dialog cancel 2021-07-29 10:18:20 +02:00
Megamouse 6dc35a3772 Qt: add nullptr checks in msg_dialog_frame 2021-07-29 10:18:20 +02:00
Megamouse 2efc4812d7 Qt/System: reset boot path after directory scan
This should fix the "Play" Button after batch compiling PPU caches.
Previously you would start the last compiled game, which was kinda weird.
2021-07-29 10:18:20 +02:00
Megamouse f0e01ceb8f Qt: compile vsh/module instead of vsh.self 2021-07-29 10:18:20 +02:00
Megamouse c2c74982c4 Qt: fix vsh ppu compilation and add compile stage
It was aborted immediately (hilarious).
2021-07-29 10:18:20 +02:00
Megamouse c390c02acb Qt: Compile entire sys folder for firmware 2021-07-29 10:18:20 +02:00
Megamouse 56d46b5a49 Qt: disable VSH boot if not installed 2021-07-29 10:18:20 +02:00
Megamouse 202aed560b Qt: add option to auto install updates 2021-07-23 00:09:46 +02:00
Megamouse 737b0dfd42 Qt: use last window state when leaving fullscreen 2021-07-21 02:39:26 +02:00
Megamouse 66371457fd Qt: fix game window positions if the window is bigger than the screen
If the screen was smaller than the game window, then the window would pop up top right offscreen.
The fix itself was really simple and obvious from the beginning, just some missing clamping.
But I figured it might be less confusing if I add some prosa.
Especially because it took me a couple of hours to figure out why I made it so complex in the first place.
Btw, there might still be some offset to the left occasionally, but that seems to be an upstream issue
2021-07-21 01:15:01 +02:00
Megamouse 954d83b6a0 Qt: fix BatchCreatePPUCaches cancel 2021-07-20 09:46:51 +02:00
Megamouse f83a877331 Qt: Add VSH to BatchCreatePPUCaches 2021-07-20 09:46:51 +02:00
Megamouse 2a8d740d63 Qt: Add Boot VSH option 2021-07-20 09:46:51 +02:00
Matias aa08df0455
Include different case files on file selection filters (#10587)
* Include upper-case .PUP files on firmware selection window filter
* Include uppercase files on a few more filters
2021-07-19 21:47:21 +02:00
Eladash 904ec44a8c PPU debugger: Add instruction disasm for PPU calling history 2021-07-18 13:23:18 +02:00
Eladash 8e2c34a003 PPU debugger: Implement PPU calling history 2021-07-17 17:28:23 +02:00
Eladash 6a7324ab3e kernel_explorer: Atomic PPU state updates 2021-07-10 22:20:37 +03:00
Megamouse f4d0261387 Qt: add more Qt blockingMapped workarounds
This probably won't fix anything, but better be safe than sorry
2021-07-10 13:29:39 +02:00
Megamouse 7f7bd961e2 Qt: kernel_explorer optimizations
- roughly 10 times faster update from scratch on average
- removed some unused function
- added fatals for unexpected node failure
2021-07-10 08:18:38 +02:00
Megamouse 544a458f20 Qt: show patch version for disc games regardless of the patch category
Patches for disc games can also appear as "TV App" etc.
2021-07-08 22:06:48 +02:00
Megamouse 770a607ba5 Qt: add PPU LLVM Java Mode Handling to debug tab 2021-07-02 19:34:06 +02:00
Eladash a2d4bd4fff kernel-explorer: Add logging ability 2021-07-02 12:29:59 +02:00
Eladash fe8d524352 Improve kernel-explorer's user experience
* Default width of dialog has been increased to fit PPU, SPURS and filesystem objects' description length.
* Height has been increased as well to allow viwing more objects at once.
* Added title of the game to the kernel explorer's windows' title.
2021-07-02 12:29:59 +02:00
Eladash 3cbdc3a198 VFS: Fix paths override 2021-06-27 17:49:33 +03:00
Megamouse bba5285740 Qt: apply gui settings on regular apply and save
This fixes the annoying issue of accidentally clicking the dialogs save or apply buttons after changing stylesheets.
2021-06-25 20:27:26 +02:00
Megamouse e7234fd4b2 Qt: replace old grey config icons in gamegrid mode 2021-06-25 19:58:20 +02:00
Kilowog01 d59707bc4b
Trophy notification improvements (#10482)
* Makes the text more similar to the original PS3 trophy notification.
2021-06-25 16:25:44 +03:00
Megamouse f4bcf9ad1d Qt: fix warning 2021-06-25 09:41:32 +03:00
Eladash 50be3bd2e5
kernel-explorer: devirtualize lv2_fs_object and print more information (#10487)
* Make lv2_fs_object an "abstract" structure with protected constructor.
* Improve kernel-explorer information for filesystem objects.
2021-06-24 16:47:14 +03:00
Eladash 40493c564f GUI: Add PPU threads to debug tab 2021-06-20 19:27:33 +03:00
Megamouse 35a380676e Qt: add missing key auto repeat checks 2021-06-14 19:02:59 +02:00
Megamouse 9cbcce671d Qt: Fix Play/Pause/Resume Shortcuts 2021-06-11 08:28:42 +02:00
Megamouse 766cc2d42f Qt: fix empty game list phenomenon 2021-06-10 17:45:09 +02:00
Megamouse 2dc6adc038 Qt: fix possible race in RepaintIcons
This might also improve performance while scrubbing the icon size slider
2021-06-10 00:24:04 +02:00
Megamouse 27cc5c8a63 Qt: invalidate invisible game item pointers 2021-06-10 00:24:04 +02:00
Megamouse 2eebecfb17 Qt: Fix concurrency bug in trophy manager
The missing mutex frequently caused a crash after I improved the individual trophy folder parsing by deferring icon loading to when it is actually needed.
2021-06-06 19:26:21 +02:00
Megamouse 70c24a9466 Qt: Only load trophy icons on a need to know basis
Also cache existing trophy icons
2021-06-06 19:26:21 +02:00
Megamouse 4ab2e40d8a Qt: simplify zero padding in trophy icon path 2021-06-06 19:26:21 +02:00
Megamouse f5366c91a7 Qt: kind of lazy loading icons 2021-06-06 09:38:13 +02:00
JoãoPaulo 8405314399 Update FW 4.87 Latest Version
Updates the latest FW version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
List of changes:
2021-06-01 20:20:52 +03:00
Megamouse 20e25cd928 Qt: fix game list custom config icon refresh
I accidentally forgot to update the custom config icon after custom config creation/removal.
This happened during some refactoring back in mid-april.
2021-06-01 09:31:23 +02:00
Nekotekina a1608b636f span: implement as_span workarounds as utils::bless
Minor cleanup.
2021-05-31 15:46:34 +03:00
Ani a49446c9e9
Replace gsl::span for std::span (c++20) (#7531)
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte

Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Megamouse 3cbe42df0a pads: Remove outdated DualSense battery note 2021-05-29 12:46:21 +02:00
Megamouse f18e80e899 fix some warning spam 2021-05-29 08:17:30 +02:00
Megamouse 98b668b3a8 perf_overlays: add avg and 1p high/low 2021-05-26 23:26:12 +02:00
Megamouse 83d3658ef0 scale debug overlay based on current dpi settings
Depending on the dpi settings, the debug overlay was almost unreadable.
I also took the liberty to refactor some redundant client size calls and to add some margin to the left of the debug text.
2021-05-26 20:31:29 +02:00
Eladash 44f0ca08e2 Simplify PPU exit 2021-05-25 22:47:23 +03:00
Megamouse ac59073071 perf_overlay: update interval config update 2021-05-25 11:04:45 +03:00
Nekotekina 2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Eladash 309759b725 kernel-explorer: Save self mem-container ID and use it 2021-05-23 05:37:37 +03:00
Nekotekina 160b131de3 types.hpp: implement smin, smax, amin, amax
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.

Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Eladash dcfd29c2d9 kernel-explorer: Implement PPU scheduler state information 2021-05-21 18:12:36 +02:00
Eladash a7d0c4fb1e kernel-explorer: Fix horrible performance 2021-05-21 16:37:29 +02:00
Eladash 48870f3e8b TROPUSR: Loader Improvements
* Replace invalid TROPUSR.DAT with empty new ones. (+report an error)
* Fix return code of Load whenever TROPUSR.DAT hadn't existed before.
* Add header magic test.
* sceNpTrophyRegisterContext will abort if TROPUSR.DAT generation failed.
2021-05-21 16:43:34 +03:00
Nekotekina 04cac6cd33 logs.hpp: refactoring (logs::message)
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
Nekotekina 4b11a4256e Add supporters 2021-05-19 22:41:16 +03:00
Megamouse 7832acbceb Minor change in msg_dialog_frame
This shouldn't have any impact
2021-05-19 20:24:06 +02:00
kd-11 c5a06dab0a rsx: Refactor program texture state handling to be persistent across shader swaps 2021-05-15 23:51:12 +03:00
Eladash 7a9a46e093 kernel-explorer: Implement SPU ports/interrupt tags information 2021-05-15 09:00:12 +03:00
Eladash 8bd58b1ad4 Remove lv2_event_queue::check(weak_ptr) 2021-05-15 00:31:14 +03:00
Eladash c681395fb2 sys_interrupt: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash acded1e08a
rsx: Move sys_rsx info to rsx::thread (#10258) 2021-05-09 19:16:14 +01:00
Eladash 7a4918e4a4 kernel explorer: Implement interrupt handler/service information 2021-05-09 10:58:14 +03:00
Eladash 363cc60c82 sys_event: Save ID of self event queue 2021-05-09 10:58:14 +03:00
Megamouse 96fa531566 Qt: allow renaming of the current user
Since the dialog cannot be opened ingame, there should be no reason to disable the rename user option.
2021-05-07 22:51:08 +02:00
Eladash 64997662d2 LV2: Fixup for IPC
* Fix typo in lv2_obj::create.
* Always save ipc_key as 0 for non-shared object creations, regardless of thbe value set by creation attribute.
* Show IPC key of shared memory (sys_mmapper) memory objects in kernel explorer.
2021-05-07 14:58:22 +03:00
Eladash 7b6482c01d
LV2: Improve IPC support (#10206)
* Remove custom event queue's IPC management of favour of universal LV2 approach.
* Move ipc_manager to FXO.
* Fix ipc_manager internal storage memory leak: deallocate entry when IPC object destroyed.
* Rewrite lv2_obj::create to be simpler (remove many duplicated code).
* Always execute lv2_obj::create under both IPC and IDM mutexes at once (not in non-atomic single-steps). Fixing potential case where concurrency can cause IDM to contain 2 or more different objects with the same IPC key with SYS_SYNC_NOT_CARE (instead of the same object).
* Do not rely on smart ptr reference count to tell if the object exists. Use similar approach as event queues as it makes error checkings accurate.
* Optimize lv2_event_port by using std::shared_ptr for queue which wasn't allowed before.
2021-05-07 09:58:30 +03:00
p01arst0rm 35ee550171 changed discord-rpc to discordRPC 2021-05-04 01:27:41 +02:00
Eladash daa53b77cf Simplify named_thread construction 2021-05-01 18:08:03 +03:00
Megamouse 14b6d6291b save-overlays: add localization 2021-04-30 00:30:26 +02:00
kd-11 8b0e1d6c03 rsx: Make renderdoc compatibility mode a general option 2021-04-28 16:53:02 +03:00
Megamouse f1a9f6263e Rename Rockband to Rock Band 2021-04-27 23:33:46 +02:00
Megamouse 486ba6121d Qt: fix window position of update dialog 2021-04-24 11:46:51 +02:00
Megamouse 1caf81811a Move unspecific Emulator code out of System.cpp 2021-04-24 11:21:22 +03:00
Megamouse 4a88ffe250 Fix typo causing unreachable code 2021-04-23 22:02:52 +02:00
Eladash 72c85744b9 kernel-explorer: Show bound queue to port information
Show its IPC key or ID, depends on the queue's type.
2021-04-23 21:34:05 +03:00
p01arst0rm bcfae17219 unified missmatched indentation in CMake files 2021-04-20 21:38:47 +03:00
dio-gh ddea45160b GUI: take out some unwise shortcuts
Removes the ability to stop or restart emulation via keyboard shortcuts
while the game is running. Prevents loss of work that can happen due to
the current bindings conflicting with very-widely established shortcuts.

Ctrl+C and Ctrl+E will now be unbound, and Ctrl+R will now mean Resume.
Strings that mention these keybinds were adjusted accordingly.
2021-04-20 19:46:47 +03:00
Megamouse 3c4c830e20 Qt: Speed up Log Viewer 2021-04-19 21:25:19 +02:00
Megamouse b2317543c8 Qt: Fix initial gs_frame position on multi-monitor 2021-04-19 10:44:48 +02:00
David Carlier 7618e7f3fb FreeBSD/clang update proposal.
silence few build warnings, VKDMA: disable Intel chipset for host buffer as it requires root privilege.
2021-04-18 19:56:21 +03:00
clienthax 68fa377d13 Add dev_flash2+3 2021-04-18 14:49:29 +03:00
Megamouse bdac1d9bfd Qt: fix type mismatch crash of game grid items 2021-04-18 09:58:54 +02:00
Megamouse 330dea181a Qt: unify some movie hover code and fix cellLeave 2021-04-16 23:18:13 +02:00
Megamouse ae8d1a3a60 Qt: smoother scrolling in savedata manager 2021-04-16 21:26:24 +02:00
Megamouse 27975e9dfd Qt: remove uncritical deprecated notes and titles
This also fixes a savedata notes bug.
The detail section notes were always taken from the deprecated settings.
2021-04-16 21:26:24 +02:00
Megamouse bff938ccf5 Qt: optimize game list repaint with new logic
We now pass a shared pointer to the icon items, so there is no need to trigger a full refresh of the list anymore.
Sadly this doesn't apply to the game grid.
2021-04-16 11:21:04 +02:00
Megamouse 53f317e076 Qt: use gifs as icons on hover if available. 2021-04-16 11:21:04 +02:00
Malcolm Jestadt 0a7df9d02e SPU LLVM: add AVX-512 SPU verification
- This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions
2021-04-16 09:35:26 +03:00
TotalCaesar659 ba1699a831 Fix typo 2021-04-14 20:01:18 +02:00
Megamouse bdc5ed094b overlays: implement OSK password mode 2021-04-13 20:57:05 +02:00
Megamouse 20076ed57e Qt: Properly disable perfoverlay datapoint sliders 2021-04-13 19:13:56 +02:00
p01arst0rm 4048b1e515 added inline suggestion to settings_location to prevent duplicate includes 2021-04-11 18:38:02 +03:00
Eladash 5ca6381624 Implement "PPU LLVM Precompilation" control setting 2021-04-10 18:06:46 +03:00
Megamouse 7a105333dc Qt: fix vfs dir remove button enabled state 2021-04-10 15:18:16 +02:00
Megamouse 5b0dac797c Remove deprecated user management code 2021-04-10 15:18:16 +02:00
Eladash 86ddc00bb1 Suggest adding RPCS3 to anti-virus whitelist on firmware/PKG installation failure 2021-04-10 10:37:20 +02:00
Megamouse 03b76b4606 Emu: some cleanup 2021-04-09 21:03:49 +02:00
Eladash a8d5a8734a Loader/cellGame: Do not crash on invalid PSF files 2021-04-09 20:58:30 +03:00
Eladash 49c5ce30cc Emulation: Fix boot path resolving
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina 1ddeef71c6 Fix some typos 2021-04-03 21:54:15 +03:00
Eladash a1d31f640a Set userland firmware SPRX directory as the default PS3 decryption tool path 2021-04-02 20:54:33 +02:00
Megamouse 9c7230e79f cli: set user-id per command line 2021-04-02 11:50:28 +02:00
Eladash 7b57b8f2ca debugger: Implement ability to pause entire emulation on breakpoint 2021-04-01 19:11:55 +03:00
Megamouse e557c962fb Qt: gs_frame position updates 2021-03-30 19:09:01 +02:00
Eladash aad5283786 Fix Emulator::IsPaused() 2021-03-30 10:21:54 +03:00
Megamouse 66df38957b add AppIcon to fatal_error_dialog 2021-03-29 23:32:15 +02:00
Megamouse 90ac24e524 Qt: set find_dialog "next" button to default 2021-03-29 19:19:24 +02:00
Megamouse 0b2ba98238 Qt: add option to hide the log prefix 2021-03-29 19:19:24 +02:00
xddxd b978aa6dca Wording changes and tooltip fix for unsupported CPUs 2021-03-26 18:56:16 +01:00
Megamouse 6565855005 Qt: clean global cfg before adding custom cfgs 2021-03-26 09:08:30 +01:00
Megamouse 9f80a55652 Qt: don't show updater if booted with cli arg 2021-03-25 23:39:42 +01:00
xddxd 9d895e6b15 Scheduler overhaul 2021-03-26 00:29:44 +03:00
Megamouse a7acb84b8b Qt: Remove unused GUI entries when saving a config 2021-03-25 20:34:00 +01:00
Megamouse 8d54453981 Qt: Fix debugger breakpoint deletion 2021-03-24 20:47:51 +01:00
Megamouse 452fb59c74 Qt: select target item in debugger list
This should make it easier to spot the item
2021-03-24 20:47:51 +01:00
Megamouse ba45daff35 Qt: some cleanup in debugger 2021-03-24 20:47:51 +01:00
Eladash a67b347966
debugger: Fix SPU memory viewing (#10007)
* debugger: Fix SPU memory viewing

* Fix terminal recovery from page faults (hack allocation)
2021-03-23 13:33:07 +03:00
Megamouse 6892cb1c7e Qt: prepare for removal of deprecated GUI settings
If you remove a custom name and already had a deprecated name before, you'll never get rid of it.
This applies to all of the deprecated settings.
2021-03-22 23:47:11 +01:00
Eladash b0a0533a4f Memory string searcher improvements
* Search the entire PS3 4GB address space instead of a small area of memory which is meant mostly for PRX/SELF memory aka vm::main segment. This limitation rendered string searcher nearly useless.
* Implement hexadecimal byte-string, hexadecimal integer, float and double value search formats.
* Multi-thread searching.
* Optimize searching algorithm vastly.
* Fix crash on empty string, report an error.
* Implement case-insensitive string search.
2021-03-22 18:37:26 +03:00
Megamouse 399f20ae54 Qt: Fix debugger step shortcuts 2021-03-22 10:44:30 +01:00
Megamouse 554ba9d6a6 Qt: Allow package installation through cli
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Megamouse 2c05e9719d cfg: simplify get_nodes 2021-03-20 20:54:26 +03:00
Megamouse cb9e7358d2 cfg: log unused config entries 2021-03-20 20:54:26 +03:00
Megamouse 70c98fff19 Make cli fw installation more foolproof 2021-03-20 11:57:04 +01:00
Romain TISSERAND b5698ee101 Add command-line option to install firmware 2021-03-20 11:57:04 +01:00
Eladash a9ddb1d3b3 GUI: Implement full extraction of PUP
* Implement full extraction of PS3UPDAT.PUP.
* Implement TAR extraction via GUI.
* Use VFS to implement missing PS3 filesystem characters escaping.
* Use VFS to error on illegal paths. (illegal paths such as malware pointing to "/../../..and so on../C:/Windows")
2021-03-19 17:51:09 +01:00
Eladash 314670a347 Improve firmware installation error handling
* Add new error types and descriptions.
* Do not crash on missing 0x100 and 0x300 PUP file entries.
* Report an error on missing PUP package inner files.
* Fix overflow in file-size against header check.
* Move all header errors to pup_object class.
* Move verbose error descriptions to pup_object class.
* Minor optimizations.
2021-03-19 17:51:09 +01:00
Eladash ad49c54531
Fix race in render_creator (#9939) 2021-03-18 12:09:42 +03:00
Megamouse 43ac33c2b4 cellSaveDataEnableOverlay 2021-03-18 11:11:34 +03:00
Nekotekina ee4009e123 Add supporters 2021-03-17 23:53:10 +03:00
Megamouse f93dbb8f49 Qt: dont scale small icons, deal with size instead 2021-03-14 19:56:11 +01:00
Megamouse f83b19cecf Qt: Fix wide game icons (weird copy pasta error) 2021-03-14 19:56:11 +01:00
Megamouse 1e09be19f5 Qt: Fix PaintedPixmap crash if icon is null 2021-03-14 19:56:11 +01:00
Megamouse c1de0bc28c workaround for clang compilation 2021-03-14 16:46:16 +01:00
Megamouse 8b0cd60be9 Qt: Fix game icon canvas size 2021-03-14 16:46:16 +01:00
Megamouse 2239a52e9b Qt: Import Custom Shader Loading Icons
and refactor icon import
2021-03-14 16:46:16 +01:00
kd-11 c9214ce6c0 vk: Disable async streaming by default 2021-03-14 16:39:55 +03:00
Nekotekina c22e1e71f0 Continue fixing strict aliasing warnings 2021-03-13 18:02:37 +03:00
Eladash aff63028d4 SCE Decryption: Detect illegal RAP files 2021-03-13 11:51:40 +01:00
Eladash 7a7b168af3 GUI: Atomic RAP file installation 2021-03-13 11:51:40 +01:00
Eladash bdf6a1c70e GUI: Handle all PUP files in drag-and-drop 2021-03-13 11:51:40 +01:00
Eladash d1e07434a1 GUI: Handle uppercase RAP file extension 2021-03-13 11:51:40 +01:00
Megamouse c0d823f1d8 Qt: Fix square custom icons 2021-03-13 10:19:39 +01:00
Megamouse 8d0947f07f Qt: Option for Custom Icons 2021-03-13 10:19:39 +01:00
Megamouse 161d8ef47a Qt: Center Custom Icons 2021-03-13 10:19:39 +01:00
Megamouse 8c139206d7 Qt: Import Custom Icons 2021-03-13 10:19:39 +01:00
jtscott e3a7fddddf Resolve minor typo 'verion' 2021-03-13 01:16:01 +01:00
Eladash 923ba6f3bb Fix sysutil_send_system_cmd at Emu.Stop() 2021-03-12 21:01:48 +03:00
kd-11 140c5bfc3e Add asynchronous streaming to the GUI and auto-enable it
- Hopefully not many users are on very weak GPUs
2021-03-12 02:27:05 +03:00
Eladash cd6ef2958b Add information about unnamed/main threads in logs and fatal dialog
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.

Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Eladash 52a0b38379
Workaround segfaults in Vulkan enumeration thread (#9935)
* Workaround segfaults in Vulkan enumeration thread
2021-03-09 13:50:58 +01:00
Megamouse 935e398930 patch_manager: expand first search results 2021-03-08 12:05:00 +01:00
Eladash 2afc7cbaaa
GUI: Implement MSELF extraction tool (#9909)
* MSELF: fix overflow

* GUI: Implement MSELF extraction tool

* VS: fix mself files in vcxproj

* fix

* Update mself.cpp

* fixed
2021-03-07 17:59:37 +01:00
Megamouse 3ae7debc17 Qt: Do not allow updates during emulation 2021-03-07 01:56:25 +03:00
Megamouse dab53f4e41 Cleanup Emu before the update reboot 2021-03-07 01:56:25 +03:00
Megamouse 9da7910fc9 Fix auto updates. Don't pass exe as arg0 to execl 2021-03-07 01:56:25 +03:00
Nekotekina 87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
Megamouse 7205a93751 add some log messages for debugging 2021-03-06 18:06:21 +03:00
Eladash a5d74c5e96 GUI: Improve missing firmware handling
* Install PS3UPDAT.PUP at the spot when booting games whenever firmware is missing. The option to boot games without firmware is still supported when all firmware SPRX are HLEd in firmware settings.
* Pop-up a confirmation dialog in firmware installation if firmware is already installed.
2021-03-06 10:34:49 +01:00
Megamouse bdd94f053c Qt: reset battery progress bar when not supported. 2021-03-06 02:07:02 +01:00
Megamouse f88c3ae417 Qt: fix settings_dialog layout. Add stretches. 2021-03-05 14:46:52 +03:00
Megamouse b09ac19e61 VS 16.9.0 compilation workaround 2021-03-05 14:46:52 +03:00
Megamouse 73ca2119ed perf overlay: add datapoint settings to GUI 2021-03-03 00:33:46 +01:00
Megamouse 038c708a0a perf overlays: add detail level none (hides FPS) 2021-03-03 00:33:46 +01:00
Nekotekina 52fe86b56c fixed_typemap.hpp: make it a bit fool-proof
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Eladash 004ebfdaee SPU debugger: Implement MFC journal
* Allow to dump up to 1820 commands with up 128 bytes of data each, using key D with the debugger.
2021-03-02 21:57:51 +03:00
Nekotekina ea5e837bd6 fixed_typemap.hpp: return reference 2021-03-02 16:08:14 +03:00
Nekotekina d788b12a8e fixed_typemap.hpp: reduce indirection
Backported some changes from auto_typemap.hpp
Implemented methods init(), reset(), clear()
Disabled recreation support.
2021-03-02 16:08:14 +03:00
Megamouse 805d52987f Qt/Input: set player LED in pad settings 2021-03-01 14:37:49 +01:00
Megamouse c2467b7b38 ds3: add led battery indicators (Linux only atm)
needs testing. maybe doesn't work
2021-03-01 14:37:49 +01:00
Megamouse 0b5c6350ae
cellScreenshot: fix overlay scaling (#9867)
* cellScreenshot: fix overlay scaling
2021-02-28 23:00:49 +00:00
Nekotekina b7c579adf9 Tentative fix for -Wattributes
These warnings enabled conditionally for GCC 10.1+.
2021-03-01 00:22:32 +03:00
Eladash 461fa6a88a
Firmware installation bugfixes (#9855)
* Fix race condition in PUP installation abortion.
* Fix freezes of emulator in case the PUP installation failed due to filesystem errors.
* Use fs::create_path as opposed to fs::create_dir as it is can create upper directories in case they are missing and is better in error handling.
* Report TAR errors on failure to create directories.
* Fix pup_object constructor to not crash on invalid PUP file header. (report an error)
* Fix pup_object::validate_hashes to not crash on invalid PUP file entries. (report an error)
* Do not call Qt functions inside a named_thread because it is wrong.
2021-02-28 22:59:27 +03:00
Florin9doi dfee46604a Buzz settings 2021-02-28 22:36:47 +03:00
Megamouse a7c9827ad4
Improve cellScreenshot (#9851)
* Fix screenshot logging

* Update libpng to 1.6.37

* cellScreenshot: Write text chunks
* cellScreenshot: add overlay image
* screenshot_manager: add /dev_hdd0/photo/

* read_png_file: use deleter instead of manual close

* cellScreenshot: use Qt for overlays
* cellScreenshot: don't apply overlay to regular img
* screenshot_manager: add mount hack for VFS
* cellScreenshot: escape the whole path
2021-02-28 22:05:04 +03:00
Megamouse 7cb32a3680 Qt: set parent for QThread
This may or may not have caused a leak
2021-02-28 18:48:34 +03:00
Eladash 0012f39384 Fix TTY handling of control characters 2021-02-24 16:42:39 +03:00
Megamouse b83cb2dbf5
product_info: add Harmonix Pro-Drum Kit (#9822)
Co-authored-by: DrGeelfood <79338929+DrGeelfood@users.noreply.github.com>
2021-02-23 18:23:53 +03:00
Eladash 112b7f6571 Fix Emulation::CallAfter
Most CallAfter usages were extremely wrong when ordered after Emu.Stop(). could result in anywhere from emulation stopping hangs to even segfaults.
track_emu_state = true is now the default, I haven't found cases which need need it disabled.
2021-02-23 17:55:36 +03:00
Eladash 932f31e37b Atomic PARAM.SFO writes 2021-02-23 11:29:23 +03:00
Megamouse 037586d7bb fix no-gui crash if no firmware was installed
It's a bit mysterious, but the confirmation box doesn't like being called in this mode.
So let's just return false.
2021-02-23 05:03:38 +01:00
Nekotekina 4b858648e5 Add supporters 2021-02-22 19:37:42 +03:00
Megamouse d0cc5c0fc7 DS4: enumerate devices periodically 2021-02-22 10:45:40 +01:00
RipleyTom 5129d0da45 check alcGetString return pointers 2021-02-20 07:39:56 +01:00
Eladash 20eb4352fb
debugger: Fix single stepping (#9793) 2021-02-19 14:53:09 +03:00
Nekotekina 038148bf06 Fix almost all GCC warnings 2021-02-17 22:59:04 +03:00
Nekotekina 1446254a03 Add error on missing 'override'
For consistency.
2021-02-15 20:21:30 +03:00
Nekotekina 8e6e57de86 Enable -Wunused-function warning 2021-02-15 14:39:53 +03:00
Eladash f43260bd58
Atomic waiting refactoring (#9208)
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117)
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Eladash 5401cb7392 kernel explorer: Display all PRX/OVL segments 2021-02-12 15:27:59 +03:00
Megamouse 8d6504d6e3 GUI: initial log viewer 2021-02-09 22:56:28 +01:00
Ivan 04c187deb5 Revert "Replace GetEmuDir() with GetExeDir() in handle_rpcs3"
This reverts commit f9eb6a31bd.
2021-02-09 22:24:09 +03:00
Megamouse bc938ce630 dualsense: implement player LEDs 2021-02-09 19:21:37 +01:00
Megamouse e5f95a450d dualsense: update description 2021-02-09 19:21:37 +01:00
Megamouse b31d38eef7 LED settings: set modal and add has_battery check 2021-02-09 19:21:37 +01:00
Jordy Vieira f9eb6a31bd Replace GetEmuDir() with GetExeDir() in handle_rpcs3 2021-02-09 20:06:26 +03:00
Eladash 78811b8816 GUI: Always remove manually added fonts in OnChangeStyleSheetRequest() 2021-02-08 21:38:53 +01:00
Eladash e38cd5149a Fix firmware updating/reinstallation 2021-02-08 21:38:53 +01:00
Megamouse dc2a1e270a Qt: Repaint log on stylesheet change 2021-02-08 13:24:07 +03:00
Megamouse 44ab50553d Qt: Replace relative paths in stylesheets instead of changing the working directory 2021-02-07 20:07:58 +03:00
Megamouse 7c683c368d Qt: Fix weird naming issue on linux 2021-02-07 20:07:58 +03:00
Megamouse 62ca7a9b60 Qt: Simplify stylesheet logic 2021-02-07 20:07:58 +03:00
Nekotekina 632e36ab44 Qt: fix stylesheets on various platforms
Replace relative paths to resources.
Paths should start from GuiConfigs.
2021-02-07 14:09:50 +03:00
Nekotekina 5063eefa96 Fixup for downloader 2021-02-06 15:21:00 +03:00
Nekotekina 25827c12a3 Make out of source builds get copy of /GuiConfigs/, /git/, etc.
Reduce quality of kot-bg.jpg.
2021-02-06 12:55:14 +03:00
Nekotekina cb32fd15ee Add supporters 2021-02-06 00:37:53 +03:00
Nekotekina d6dcab443d Updater: add minor sanity check 2021-02-06 00:37:53 +03:00
Nekotekina c32fec774f Create mini-cache for commits
Located in bin/git/commits.lst;
Created with GitHub API with --get-commit-db key.
Can be lazily appended with the same key.
2021-02-06 00:37:53 +03:00
Megamouse 2865865382 Don't use std::exit during Qt initialization 2021-02-05 17:32:48 +01:00
Megamouse fd1f2ca1c6 Rename some variables to snake_case 2021-02-04 23:11:05 +01:00
Megamouse 714eb6dcc5 Disable LimitCacheSize option in custom configs
It doesn't make sense on a per game basis and is used before loading them anyway
2021-02-02 18:37:18 +01:00
Megamouse 6ed9251f44 Remove tooltip event filter from gamelist
Fixes a weird issue where tooltips for the wrong game would popup.
I don't know why the event filter was needed.
Maybe the tooltips didn't work otherwise back then or it was just some copy paste from google.
2021-02-02 15:46:42 +01:00
Eladash 2005c89baa memory viewer: Implement RSX mode
* Set the ground for RSX modes of register editor and insttruction editor, do not use shared ptrs directly.
* Make register editor and instruction editor modeless to allow to copypaste values from thread context etc in the background.
2021-02-02 01:05:36 +03:00
Eladash e71c2df39d Debugger: Add some more shortcut descriptions in F1 helper 2021-02-01 00:21:50 +03:00
Eladash cfc7865f82 Debugger: Allow to unpause a thread which has been paused by global pause 2021-02-01 00:21:50 +03:00
Megamouse be26810cd7 RSX: Implement set_value for progress dialogs 2021-01-31 15:02:26 +01:00
Megamouse 1078626eea Fix ppu compilation progress dialog
We could only increase the value because we completely based the dialog on cellMsgDialog.
This led to an issue where the dialog would increase its maximum and thus decrease the current percentage.
It then couldn't decrease and was stuck on the old percentage.
2021-01-30 21:34:16 +01:00
Eladash d3bc96a201 Fix minor issue with usage of STL thread::hardware_concurrency() 2021-01-29 18:23:29 +03:00
Eladash a742501a4f Do not account RSX for TSX pauses 2021-01-29 10:31:15 +03:00
Megamouse 3359458175 Handle missing cases of Emu.BootGame failure 2021-01-28 20:54:27 +01:00
Eladash 0652870204 New RSX Debugger 2021-01-28 17:40:26 +03:00
Nekotekina 15ed963a29 UI: Add supporters 2021-01-27 14:23:26 +03:00
Nekotekina ee288340b0 Implement thread_ctrl::scoped_priority
RAII priority control (+1, or -1)
2021-01-25 21:49:16 +03:00
Eladash b96864c7e6 rsx: Improve gs frame exit workaround
Move to close(), hide before potential hanging at Emu.Stop()
2021-01-23 12:45:53 +03:00
Eladash 79513f06a4 rsx/gui: Delay game window pop-up until first frame 2021-01-23 12:45:53 +03:00
Eladash 142b44d4be debugger: Implement F1 helper 2021-01-22 00:39:41 +01:00
Nekotekina 241989c5fa Fix new warnings
Added CELL_GCM_CONTEXT_DMA_NOTIFY_MAIN_0+ enums.
Added CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_NOTIFY0+ enums.

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-20 12:27:37 +03:00
RipleyTom 5662867730 Change the way skylander ID is generated 2021-01-20 08:46:39 +03:00
Eladash dbecf0fa50 Introducing RSX debugger entry (main debugger) 2021-01-19 22:55:12 +03:00