Commit Graph

4587 Commits

Author SHA1 Message Date
German Semenov
c498a42e92 Core, UI, Windows: Removed excess converting C-string in params 2023-09-15 13:54:11 +03:00
German Semenov
c27481d637 GPU, VFS, UI: Fixed minor memleaks 2023-09-15 12:23:54 +03:00
Henrik Rydgård
8784ece623 Fix the chat window closing on pressing the X key.
It's better to handle the chat window on the queued event path.
2023-09-12 10:25:04 +02:00
Henrik Rydgård
e5a0788952 RetroAchievements audio customization: Fix checks for WAV file format 2023-09-11 22:55:59 +02:00
Henrik Rydgård
4df4adb936 Fix closing the chat window with ESC, see #18134 2023-09-11 17:37:50 +02:00
Henrik Rydgård
859a31b221 Attempt to address a weird crash, or at least make it happen in the right spot. 2023-09-11 15:37:35 +02:00
Henrik Rydgård
72be2f5459 Restore the D-Pad behavior (see #18028) 2023-09-11 11:41:29 +02:00
Henrik Rydgård
43e792fb71 Move RetroAchievements to the Tools tab. 2023-09-11 10:47:34 +02:00
Henrik Rydgård
e0c5857927 Tilt analog settings: Fix failure to reinitialize tilt_ when creating views.
This caused crashes due to tilt_ ending up pointing to a deleted object
after recreate instead of null (in which case we would have avoided the
writes).

Fixes #18105
2023-09-08 15:50:57 +02:00
Henrik Rydgård
6c6fffed73 Add fp64 to credits list 2023-09-08 12:51:57 +02:00
Henrik Rydgård
d8f4f50ecb
Merge pull request #18100 from unknownbrackets/savedata-search
UI: Fix search within savedata screen
2023-09-08 08:35:08 +02:00
Henrik Rydgård
ce4ee78157
Merge pull request #18099 from unknownbrackets/include-guards
Build: Add some missing include guards.
2023-09-08 08:33:53 +02:00
Unknown W. Brackets
23b05b9037 UI: Fix search within savedata screen. 2023-09-07 17:34:23 -07:00
Unknown W. Brackets
cec9dbbdf7 Build: Add some missing include guards. 2023-09-07 17:14:58 -07:00
Henrik Rydgård
9993df5e77 Remove some redundant strings in sys info (GL precision).
As montioned in #18045
2023-09-06 17:40:42 +02:00
Henrik Rydgård
fca80f2a9d Move Encore Mode to Achievements developer tools tab 2023-09-06 10:36:42 +02:00
Henrik Rydgård
cd79d120d8 Don't log warnings on missing RA login secret. Also don't even check unless a username has been set. 2023-09-06 10:34:32 +02:00
Henrik Rydgård
12460d1b8c Avoid double-processing of input event caused by the overlay screen.
Fixes #18070
2023-09-05 16:43:45 +02:00
Henrik Rydgård
95e86c73b8 SasAudio: Some cleanup and debug overlay improvements
Shows "BAD" in the overlay if address out of range.

Which does happen in Afterburner, see issue #14010.
2023-09-05 12:15:13 +02:00
Henrik Rydgård
67cb466ee1 Allow using a file browser to choose UMDs during disc change. 2023-09-04 21:43:10 +02:00
Henrik Rydgård
412c3a0cd9
Merge pull request #18065 from hrydgard/dismiss-notifications
Add ability to dismiss notifications
2023-09-04 12:46:50 +02:00
Henrik Rydgård
78c064cc96 Bypass normal UI messages to avoid slowing down unsynchrononized touch messages. 2023-09-04 11:09:54 +02:00
Henrik Rydgård
109205a56a Add return value to UnsyncTouch 2023-09-04 11:00:06 +02:00
Henrik Rydgård
005b072fdc Flip the problem on its head 2023-09-04 10:54:17 +02:00
Henrik Rydgård
cd78097e74 Allow dismissing notifications by touching/clicking them.
Fixes #18040

Might do something more elegant in the future.
2023-09-04 10:01:07 +02:00
Henrik Rydgård
42741430bc
Merge pull request #18056 from fp64/sdl-ctrl-w
Implement Ctrl-W and Ctrl-B on SDL
2023-09-03 12:01:29 +02:00
fp64
77baa4e89b Implement Ctrl-W and Ctrl-B on SDL
Closes #18052.
2023-09-02 18:47:37 -04:00
Henrik Rydgård
980b2158ba Hide the "System Information / Internals" tab in release builds 2023-09-02 15:42:47 +02:00
iota97
01083c87ea Analog stick gesture 2023-09-01 09:32:21 +02:00
Henrik Rydgård
3fa9240e76 Fix some untranslatable / missing strings 2023-08-31 23:28:29 +02:00
Henrik Rydgård
ce47055860 Touch controls: Add an option for "Sticky D-Pad".
Will make it a lot easier to pull off certain moves in fighting games.

Should help #17950
2023-08-31 22:37:11 +02:00
Henrik Rydgård
0fb1ea3a21
Merge pull request #18029 from hrydgard/input-batch-axis-update
Control: Change internal interfaces to batch-process input axis updates
2023-08-31 13:19:09 +02:00
Henrik Rydgård
80a99a67d9 Control: Change internal interfaces to batch-process input axis updates
These naturally come in bunches on many platforms like Android, so lay
some groundwork to also handle them in bunches to minimize locking in
the future.

Linux buildfix
2023-08-31 11:55:53 +02:00
Henrik Rydgård
6a61a58b9f Simplify the touch d-pad code.
Due to #17950 I had a look at this code and found some room to simplify,
but I don't think this is likely to fix anything.
2023-08-31 11:03:14 +02:00
Henrik Rydgård
3e6788defe
Merge pull request #18022 from hrydgard/screen-scaler-ingame-fix
Android: Fix changing display resolution scale in-game
2023-08-31 08:45:39 +02:00
Henrik Rydgård
4b89fab91c NativeInitGraphics: Update core parameter pixel width/height (since we lose resized flag) 2023-08-30 23:42:13 +02:00
Henrik Rydgård
e40fbba02b Log global messages processed 2023-08-30 23:30:49 +02:00
Henrik Rydgård
ab58827ed6 Callback -> lambda (cleanup) 2023-08-30 23:30:23 +02:00
Henrik Rydgård
b501abf576 Add more display information to system info. 2023-08-30 17:38:22 +02:00
Unknown W. Brackets
cffdd9933f
Merge pull request #17996 from hrydgard/address-some-feedback
Address some feedback
2023-08-28 06:30:40 -07:00
Henrik Rydgård
77f3804a8c Remove unnecessary ResolvePath 2023-08-28 14:03:20 +02:00
Henrik Rydgård
26af6eb569 RetroAchievements: More connection notifications
Trying to make it harder for a user to accidentally run without achievements enabled.
2023-08-28 12:15:24 +02:00
Bashar Astifan
19d79b0a6c
Merge branch 'master' into configs-loading 2023-08-26 12:19:44 +04:00
Henrik Rydgård
6ba08fbcb9 Allow using atlas icons other than the presets in OSD messages. 2023-08-25 16:32:39 +02:00
Henrik Rydgård
1025bbcf89 Log level/type: Use enum class instead of the awkward namespace trick.
Just a small cleanup I've wanted to do for a long time.
2023-08-25 11:48:59 +02:00
Henrik Rydgård
d2d8688e47 Add "Create frame dump" to the in-game developer menu (that can be enabled in dev settings)
Makes it possible to create one without connecting the websocket
debugger, even on non-Windows platforms.
2023-08-24 14:41:35 +02:00
Henrik Rydgård
58dc13eea2
Merge pull request #17970 from hrydgard/show-in-folder-request
Make System_ShowFileInFolder a "request"
2023-08-24 14:41:03 +02:00
Henrik Rydgård
60492ae579 Make System_ShowFileInFolder a "request"
Also makes support queryable.

Lets us remove the dummy implementations.
2023-08-24 14:22:35 +02:00
Henrik Rydgård
2b7fe0d729 Cleanup: callbacks->lambdas 2023-08-24 11:08:43 +02:00
Henrik Rydgård
ca40de852a
Merge pull request #17960 from hrydgard/control-mapping-fixes
Controls: Make the analog/digital mapping clash resolution more gentle.
2023-08-24 09:52:40 +02:00
Henrik Rydgård
30016bc0d6
Merge pull request #17962 from hrydgard/toggle-wlan-switch
Add mappable key to toggle networking
2023-08-24 09:52:29 +02:00
Bashar Astifan
4e2652bd4b OSK support final update
- Renamed few functions to avoid confusion
- Now UI will report text (gotfocus, lostfocus), popup_closed to the frontend
- Both cases (DPad, Keyboard) covered
2023-08-24 06:33:36 +04:00
Bashar Astifan
17f1ab306b OSK behavior correction 2023-08-24 03:30:09 +04:00
Henrik Rydgård
feb0ea245e Add mappable key to toggle networking
Fixes #17352

Requested in #17343
2023-08-23 22:14:51 +02:00
Henrik Rydgård
797f88bf31 Fix ordering problem with screenshots that was causing crashes.
Fixes #17781
2023-08-23 19:03:33 +02:00
Bashar Astifan
c6e7760283 Complete OSK function support 2023-08-23 21:01:00 +04:00
Henrik Rydgård
be2f81c3eb Controls: Make the analog/digital mapping clash resolution more gentle.
Now takes the time into account, so clashing digital input will only shrink
analog inputs once it's a few seconds old.

Also fixes a bug where if there are both inputs, it was hard to reach
the limits because the digital input itself ended up getting shrunk.

This might help #17860
2023-08-23 18:51:27 +02:00
Bashar Astifan
04d72ebe54 UWP improvements 2 2023-08-23 02:25:57 +04:00
Unknown W. Brackets
622c69dbb9 x86jit: Expose option to select new IR based jit. 2023-08-20 22:28:54 -07:00
Henrik Rydgård
6a0c8a8380 Fix creating the directories after choosing a folder on Android. 2023-08-18 15:51:16 +02:00
Henrik Rydgård
f3b2cb6fca Remove outdated hack for vsync parameter on Android. 2023-08-18 15:07:10 +02:00
Henrik Rydgård
5b76615463 Cleanup and more sensible defaults for current directory 2023-08-18 15:04:20 +02:00
Henrik Rydgård
e3b243f9d2 Simplify current directory initialization, fix defaulting to home 2023-08-18 14:03:38 +02:00
Henrik Rydgård
7a4efb1a0a Call CreateSysDirectories on all platforms. 2023-08-18 14:03:38 +02:00
Henrik Rydgård
a8cbe060dc
Merge pull request #17926 from hrydgard/create-shortcut-windows
Windows: Fix "Create desktop shortcut" functionality
2023-08-18 13:20:22 +02:00
Henrik Rydgård
01f07c9f9c Windows: Fix "Create desktop icon" functionality
All it needed was to suffix the filename with .lnk correctly.
2023-08-18 10:49:00 +02:00
Henrik Rydgård
d08d8f764b Remove redundant function 2023-08-18 10:21:13 +02:00
Henrik Rydgård
30346e29c3
Merge pull request #17920 from hrydgard/minor-text-optimizations
Minor debug text optimizations
2023-08-18 00:58:15 +02:00
Henrik Rydgård
8a6e288fcc Add checkboxes in developer tools to allow disabling ubershaders.
Might be helpful to diagnose performance problems on user devices.

Additionally, moves the texture replacement controls to the top. They
should probably be moved somewhere else entirely...

See #17918
2023-08-17 20:16:04 +02:00
Henrik Rydgård
3be0ebce6d Debug overlay: Move Sas data to the audio debug screen. Disable text wrapping. 2023-08-17 15:18:50 +02:00
Henrik Rydgård
572595cc7b Refactor: Lift the frame time history data up one level into thin3d 2023-08-16 11:45:26 +02:00
Henrik Rydgård
b9b7342ffd
Merge pull request #17350 from basharast/master
UWP Improvements
2023-08-14 15:54:04 +02:00
Henrik Rydgård
ff6e118fff Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically. 2023-08-14 11:02:29 +02:00
Henrik Rydgård
870c45edd7 Fix flipped check for debug overlays 2023-08-14 11:02:29 +02:00
Bashar Astifan
dc32ab134d Exclude root choice from memStickScreen (UWP)
This was wrapped before with `#if PPSSPP_PLATFORM(ANDROID)` after it got removed now start to appear in UWP, this should fix it.
2023-08-14 09:27:51 +04:00
Bashar Astifan
07c119a80c Merge branch 'master' of https://github.com/hrydgard/ppsspp 2023-08-14 02:45:28 +04:00
Henrik Rydgård
dc4de340b3 Some debug overlays don't make sense when not in-game, disable them. Minor feedback fixes. 2023-08-13 21:54:24 +02:00
Unknown W. Brackets
f03cd0b2ad
Merge pull request #17899 from unknownbrackets/riscv-minor
Minor RISC-V cleanups, frame profiler fix
2023-08-13 11:19:42 -07:00
Unknown W. Brackets
e51eca9eee UI: Fix frame profiler. 2023-08-13 10:21:08 -07:00
Henrik Rydgård
7bb1914fd3 Add FrameTiming.cpp/h (with no real contents) 2023-08-13 17:57:43 +02:00
Henrik Rydgård
d82ecf1d3e IniFile: Store sections in unique_ptrs, instead of directly.
This fixes an issue when you create two sections consecutively and
retain pointers to them, and then modify them, such as happens in the
postshader ini initialization. Previously, one of the section pointers
could get invalidated since the section vector got resized. Now, the
pointed-to sections don't move around in memory, only the list of them
does.
2023-08-13 13:41:43 +02:00
Henrik Rydgård
2a74a0b98a
Merge pull request #17893 from unknownbrackets/riscv-blocklink
riscv: Enable block linking
2023-08-13 12:40:39 +02:00
Unknown W. Brackets
8f155dba32 Debugger: Fix random FPU/VFPU selection. 2023-08-12 09:50:46 -07:00
Henrik Rydgård
ed9b033f7d D3D9/11: Move away from using context->SwapBuffers(), instead move present to draw_->Present(). 2023-08-11 01:57:02 +02:00
Henrik Rydgård
0deefb82a9 thin3d: Merge BeginFrame and SetDebugFlags (set them every frame anyway) 2023-08-10 17:15:54 +02:00
Henrik Rydgård
dec320de2d Reorder some stuff to make more sense. 2023-08-10 16:12:50 +02:00
Henrik Rydgård
be708e3e02 Move KeepScreenAwake to platform specific code. 2023-08-10 16:12:12 +02:00
Henrik Rydgård
0fdb0e47a8 Revert "Move Present to the end of NativeFrame()"
This didn't work out too well, will look into it as it's a necessary
step.

This reverts commit 4e77c63b97.
2023-08-10 13:51:35 +02:00
Henrik Rydgård
4e77c63b97 Move Present to the end of NativeFrame() 2023-08-10 10:00:12 +02:00
Henrik Rydgård
1b6d4df3a4 Move the EndFrame/Present split one level out, to NativeApp.cpp 2023-08-10 09:59:29 +02:00
Henrik Rydgård
0d4a2a7594 Call draw->Begin/EndFrame from outside the screen manager.
Just a very small refactoring that I want in a separate commit.
2023-08-09 23:24:28 +02:00
Henrik Rydgård
8fec4fb02f wip 2023-08-08 13:26:27 +02:00
Henrik Rydgård
bcae36d8cb Merge NativeUpdate and NativeRender, we always call them together. 2023-08-07 22:50:57 +02:00
Henrik Rydgård
096c168dd7
Add yield() function to tell the CPU that we're busy-waiting (rare) (#17862)
* Add yield() function to tell the CPU that we're busy-waiting (rare)

Use it only for the busy-wait in lag sync, which only happens in
Windows.

* Buildfix attempt
2023-08-07 21:38:03 +02:00
Henrik Rydgård
c6c79a98c7
Merge pull request #17855 from hrydgard/more-achievement-ui-fixes
Achievement list: Support the more detailed categorization.
2023-08-07 01:26:09 +02:00
Henrik Rydgård
ab685be566 Windows UWP: Enable color emoji rendering through DirectWrite 2023-08-06 17:25:20 +02:00
Henrik Rydgård
cd0f2eb401 Achievement list: Support the more detailed categorization, RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_PROGRESS 2023-08-06 15:43:33 +02:00
Henrik Rydgård
83dbc60d86
Merge pull request #17854 from hrydgard/color-emoji-android
Implement color emoji support for Android
2023-08-06 15:36:44 +02:00
Henrik Rydgård
63cfe28f61 Implement color emoji support on Android 2023-08-06 15:14:29 +02:00
Henrik Rydgård
a477ca3f05 Add a couple of emoji to UI in debug mode 2023-08-06 15:10:49 +02:00
Nemoumbra
c2f9ae2e16 Buildfix for VS2017 2023-08-06 15:06:54 +03:00
Henrik Rydgård
dc48acc9b9 MainScreen on Android TV: Add a button to enter a path by text.
See issue #16865 for why this is important on some crippled Android
devices.
2023-08-04 22:32:25 +02:00
Henrik Rydgård
39d25ce91f D3D11: Allow setting the max frame latency 2023-08-04 11:53:51 +02:00
Henrik Rydgård
8e1dc35dd1 Vulkan: Show instance extensions, both enabled and available, in sysinfo 2023-08-03 18:56:47 +02:00
Henrik Rydgård
a32249a3cf Move DebugOverlay rendering to the overlay screen, allowing drawing it on top of the menu 2023-08-03 16:19:18 +02:00
Henrik Rydgård
0530dc57a8 Implement frame time measurement on Android using VK_GOOGLE_display_timing 2023-08-03 12:59:25 +02:00
Henrik Rydgård
9b038d6574 Vulkan: Show enabled extensions separately in sysinfo 2023-08-03 11:11:35 +02:00
Henrik Rydgård
e16cac6548 Initial work on supporting VK_GOOGLE_display_timing. Not working yet. 2023-08-03 11:11:16 +02:00
Henrik Rydgård
14377259b5 Use VK_KHR_present_wait to get numbers on how much latency we have to screen
This extension is not available on Android, there they have
VK_GOOGLE_display_timing, which they also have an abstraction library
for, so will look at that later.

Early part of work on #17685
2023-08-02 20:34:22 +02:00
Henrik Rydgård
cda59e8510 Vulkan: Keep track of some timestamps in a frame 2023-08-02 16:25:17 +02:00
Henrik Rydgård
9f6e67b17a Move the debug overlay rendering out from EmuScreen into DebugOverlay.cpp 2023-08-02 14:58:22 +02:00
Henrik Rydgård
0636893d1e Remove "Toggle" from a couple of the overlay names 2023-08-02 13:13:41 +02:00
Henrik Rydgård
fc6879674e Refactor overlays into an enum 2023-08-02 13:03:04 +02:00
Henrik Rydgård
29c606f5d8 Allow choosing to see leaderboard entries "Near me". Highlight current user. 2023-08-01 13:52:20 +02:00
Henrik Rydgård
9a8919810b Translation cleanups 2023-08-01 13:04:52 +02:00
Henrik Rydgård
f45176fd25 Allow configuring in which corner achievement notifications can show up. 2023-08-01 12:52:09 +02:00
Bashar Astifan
401377818c
Merge branch 'master' into master 2023-08-01 05:29:56 +04:00
Henrik Rydgård
a28ae79ef7 Safer handling of NONE 2023-08-01 00:28:54 +02:00
Henrik Rydgård
3563d625b9 Allow configuring the location on-screen of leaderboard trackers. 2023-08-01 00:28:54 +02:00
Henrik Rydgård
48d577014a Refactor the on-screen display to be more customizable 2023-08-01 00:28:54 +02:00
Henrik Rydgård
f39b9640b7 Rename the ChatPosition enum to a ScreenEdgePosition enum class (for future use) 2023-08-01 00:28:54 +02:00
Henrik Rydgård
b1751f8b41 Move the corner position strings from Networking (for Chat) to Dialog (general)
These strings will be used to configure positions for notifications.
2023-07-31 23:18:23 +02:00
Henrik Rydgård
3861e97a94 Experiment with the collapsible header thingy. Slightly increase the font size of headers. 2023-07-31 11:48:50 +02:00
Henrik Rydgård
1c05f71b50 Update to the latest version of rcheevos. 2023-07-30 11:58:55 +02:00
Unknown W. Brackets
3383d5b93a
Merge pull request #17751 from unknownbrackets/riscv-jit
Initial RISC-V jit based on IR
2023-07-25 00:42:22 -07:00
Henrik Rydgård
fecd0b8cd7 Use the new play button icon in the retroachievement sound customizer 2023-07-24 14:56:35 +02:00
Henrik Rydgård
2baba83f1a Add a bunch of new icon images to the atlas. 2023-07-24 14:52:32 +02:00
Henrik Rydgård
3c2f67a097
Merge pull request #17777 from hrydgard/fix-achievements-from-frontend
RetroAchievements: Fix another race condition, improve logging.
2023-07-24 12:37:40 +02:00
Henrik Rydgård
a72c4aa383 Actually fix the race condition. Can't do any initialization step while waiting. 2023-07-24 12:08:15 +02:00
Henrik Rydgård
3ae520c35d RetroAchievements: Fix another race condition, improve logging.
Seems to help the frontend problem.
2023-07-24 12:00:16 +02:00
Unknown W. Brackets
3468423bb4 Debugger: Handle missing crash/block ptrs better. 2023-07-23 18:01:00 -07:00
Henrik Rydgård
95fd2eb7d3
Merge pull request #17767 from hrydgard/translation-consolidation
Translation: Consolidate a few strings
2023-07-24 00:04:07 +02:00
Henrik Rydgård
942df0198a
Merge pull request #17766 from hrydgard/single-threaded-rendering
Vulkan: Make multi-threaded rendering a developer option (previously always on)
2023-07-23 23:05:28 +02:00
Henrik Rydgård
0dcc1ae5f0 Simplify using lambdas 2023-07-23 23:02:06 +02:00
Henrik Rydgård
5cf4619c36 Combine a couple of translation strings. Fix up using Google Translate (ugh) 2023-07-23 22:56:44 +02:00
Henrik Rydgård
b118e25b6a Vulkan: Make multithreaded rendering an option.
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.

So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård
68c124d779
Merge pull request #17756 from hrydgard/alert-on-retroachievement-server-error
Improve handling of RetroAchievements login errors
2023-07-23 12:41:06 +02:00
Henrik Rydgård
95c5550071
Merge pull request #17765 from hrydgard/rapid-fire-interval
Make the rapid-fire interval configurable
2023-07-23 12:24:05 +02:00
Henrik Rydgård
d924b742c0 Make the rapid-fire interval configurable
Rapid-fire works by holding down the button mapped for Rapid-Fire. Once
that's held, the PSP face buttons, L, R and Start will be repeated while
held.

With this new setting, you can change the repeat interval from the
default of 5 frames.

The interval is specified as frames rather than as milliseconds or
something because that often maps better to game logic.
2023-07-23 11:49:25 +02:00
Henrik Rydgård
eb14c87a71 Allow configuring the game language separately from the PPSSPP UI language, with a new setting. 2023-07-23 11:30:04 +02:00
Henrik Rydgård
0ab4c58343 Improve handling of server/token errors 2023-07-22 12:36:26 +02:00
Henrik Rydgård
fbf10e132b Allow entering an exact Mac address, while keeping the randomization ability
Fixes #16546
2023-07-21 23:50:30 +02:00
Henrik Rydgård
93bb113009 Common: Rename Download to Request, and the old Request to ServerRequest. 2023-07-21 22:12:00 +02:00
Henrik Rydgård
ae354a7639 Store: Use HTTPS based on availability 2023-07-21 10:28:32 +02:00
Henrik Rydgård
fbd980bee6 Get basic Naett requests to work (the store works in https mode) 2023-07-21 10:28:17 +02:00
Henrik Rydgård
4a416174b1 Avoid an assert for empty icon files in the store (should look into this more) 2023-07-21 10:27:40 +02:00
Henrik Rydgård
b54d5ab8e6 Cleanup the g_PortManager shutdown process
Following up comment by @ANR2ME in #17744, to be merged before that one.
2023-07-20 23:55:35 +02:00
Henrik Rydgård
c5e3d3117f Put the PPSSPP version on PromptScreen in the bottom left corner 2023-07-20 10:57:55 +02:00
Henrik Rydgård
ecea3844b0 Improved progress bar popups for downloads
Now shows the filename, and also there's a delay mode where they'll only
be visible if the download takes more than a second, plus they can be
named.
2023-07-18 15:13:44 +02:00
Bashar Astifan
a35c8425e6
Merge branch 'master' into master 2023-07-17 23:20:52 +04:00
Henrik Rydgård
3c87b3fb8d Use the new TextSqueeze function to render achievement/leaderboard descriptions 2023-07-17 12:46:21 +02:00
Henrik Rydgård
ee634e0d32 Add Encore Mode warning on Achievements screen 2023-07-16 22:12:06 +02:00
Henrik Rydgård
7ef03b2328 Make the achievements listing navigable by keyboard by using focus styles 2023-07-16 22:07:26 +02:00
Henrik Rydgård
6b75bbf64a Add support for line breaks in TextDrawerWin32::MeasureString. Sometimes useful.
And actually consistent with the other backends.
2023-07-16 21:58:47 +02:00
Henrik Rydgård
43d780b552 Fix issue where achievement sounds didn't play if UI Sounds were off.
These are meant to be unrelated.
2023-07-16 21:43:49 +02:00
Henrik Rydgård
7eb1bfe1aa Spacing default 0.0 in collapsible sections, set spacing for achievements a little higher 2023-07-16 18:23:43 +02:00
Henrik Rydgård
f8b7346b8d Make the achievement lists collapsible on the main achievements screen 2023-07-16 18:13:36 +02:00
Henrik Rydgård
ec8b041f73 Remove unused strings, copy new ones 2023-07-16 16:45:54 +02:00
Henrik Rydgård
8a59ed0062 Add function ApplySafeSubstitution for translation strings with parameters 2023-07-16 16:26:49 +02:00
Henrik Rydgård
0ae2f5ccbf Fix file filters in Mac file-open dialogs 2023-07-16 15:22:04 +02:00
Henrik Rydgård
de20a5692f Add support for 8-bit and mono WAV files. More fixes. 2023-07-16 15:04:21 +02:00
Henrik Rydgård
18fbe7afe8 Log if we fail to load default samples 2023-07-16 14:25:46 +02:00
Henrik Rydgård
bd4f3f8953 Start work on making sound effects customizable 2023-07-16 12:56:46 +02:00
Henrik Rydgård
ceb6085707 Move back to directory-specific .nomedia files. 2023-07-16 10:46:48 +02:00
Henrik Rydgård
5245a691ca Move Achievements::Shutdown to PSP_Shutdown 2023-07-16 09:10:39 +02:00
Henrik Rydgård
36d26613d3 EmuScreen: Move checkPowerdown outside of blockedExecution check. 2023-07-16 09:09:05 +02:00
Henrik Rydgård
3fe0b5a4f9 Best-practice-clear the password string. 2023-07-16 08:57:08 +02:00
Henrik Rydgård
6bb97b3d46 Better mechanism to fade out the side bar when not on EmuScreen 2023-07-16 08:55:48 +02:00
Henrik Rydgård
04351a18f6 Address feedback 2023-07-16 00:20:09 +02:00
Henrik Rydgård
306be6e33e Android: Simplify handling of dialog requests even more.
To protect against disappearing activities or whatever is causing the
lost value, I could make it static, but instead I just pack the two
values together into the requestCode.

Will hopefully help the main issue from #17683
2023-07-15 19:02:12 +02:00
Henrik Rydgård
7144e01472 Minor UI upgrades on MemStickScreen and system settings 2023-07-15 12:24:00 +02:00
Henrik Rydgård
a975cf5ea7
Merge pull request #17714 from hrydgard/android-nomedia-improvements
Android: Create .nomedia file in the PSP directory directly
2023-07-14 11:38:10 +02:00
Henrik Rydgård
1c83c4a1fe Vulkan: Enable the present-id/present-wait/display-timing extensions
Doesn't actually use any of them yet, just making sure enabling them
doesn't cause any weird issues. They will be used for the future display
timing rewrite.
2023-07-14 10:43:47 +02:00
Henrik Rydgård
7e2323d5e6 Android: Create .nomedia file in the PSP directory directly
This avoids media scanners better. Should fix issue #17711
2023-07-14 10:19:42 +02:00
Henrik Rydgård
5aeccca85b Move Achievements::FrameUpdate call to hleEnterVblank for consistency 2023-07-13 16:47:16 +02:00
Henrik Rydgård
86ee2253ee Save/Load the icon cache to disk if RetroAchievements are enabled.
Should reduce the server load a bit.
2023-07-13 12:44:20 +02:00
Henrik Rydgård
aa4264a192 RetroAchievements: Better handling of not being online when trying to log in 2023-07-13 11:26:43 +02:00
Henrik Rydgård
b133cd4f71
Merge pull request #17704 from lvonasek/feature_openxr_canvas3d
OpenXR - Enhancements of cinema-style screen
2023-07-12 20:57:22 +02:00
Henrik Rydgård
614def8f5f Thread safety fix in sfx mixer 2023-07-12 20:09:52 +02:00
Henrik Rydgård
943bfb7329 Show a warning message on login failure 2023-07-12 19:55:53 +02:00
Henrik Rydgård
af92430b18 Achievement Unlocked and Leaderboard Submitted sound effects 2023-07-12 19:55:53 +02:00
Lubos
dd00dfefab OpenXR - Enhancements of cinema-style screen 2023-07-12 19:33:29 +02:00
Henrik Rydgård
f1ff12784a Allow flexible sample rate for UI sound effects 2023-07-12 17:55:49 +02:00
Henrik Rydgård
19f4eadeb1 Call the sound effect mixer directly from Mix instead of pushing the samples from background audio. 2023-07-12 17:55:46 +02:00
Henrik Rydgård
63144340f5 First-boot memstick screen: Attempt to fix some logic holes
This handles some cases better that I don't really see how they can
happen, but who knows. Intended to help #17683
2023-07-12 11:29:24 +02:00
Henrik Rydgård
ce802664ea Minor SettingInfo cleanup 2023-07-12 10:24:06 +02:00
Henrik Rydgård
431a0551b2
RetroAchievements CSO support, delay until identified (#17699)
* Support CSO (and any future block based formats) for RetroAchievements identification

* Avoid auto-loading savestates in challenge mode
2023-07-12 01:11:09 +02:00
Henrik Rydgård
95807a4791 In challenge mode, allow faster alternate speeds (but not slower).
Fixes issue reported in #17631
2023-07-11 11:29:26 +02:00
Henrik Rydgård
78e99f1d93
Merge pull request #17692 from hrydgard/achievement-ui-fixes
RetroAchievements UI updates: Merge Account and Settings tabs
2023-07-11 11:13:57 +02:00
Henrik Rydgård
c5acb32aca
Merge pull request #17693 from hrydgard/combo-map-bug-fix
Bugfix: Also check the allow-combo setting for analog inputs.
2023-07-11 11:12:30 +02:00
Henrik Rydgård
bed06f46d7 Bugfix: Also check the allow-combo setting for analog inputs. 2023-07-11 11:00:57 +02:00
Henrik Rydgård
98cb26b8d0 RetroAchievements UI updates: Merge Account and Settings tabs
Move rare settings to a Developer Tools tab instead.

Minor translation updates.
2023-07-11 10:36:32 +02:00
Henrik Rydgård
3f924d1494 Smoothly remove any left-over overlays on emuscreen exit. 2023-07-10 21:04:22 +02:00
Henrik Rydgård
4ae3c519e2 Add assorted null checks for safety
More probably needed. Should at least hopefully fix the leaderboard crash reported in #17631

Will try to do something more systematic later.
2023-07-10 19:27:07 +02:00
Henrik Rydgård
cd45125085 RetroAchievements: Show active challenge achievements on pause screen. 2023-07-10 10:39:44 +02:00
Henrik Rydgård
c83abbf585 Show unlocked achievement icons in progress/challenge indicators, design tweaks 2023-07-08 21:55:37 +02:00
Henrik Rydgård
c17b84b3d4 Implement RetroAchievements challenge mode restrictions, and fix related bugs 2023-07-08 21:55:32 +02:00
Henrik Rydgård
9e4387c529 Implement more OSD types (challenge, progress indicators). Not really tested. 2023-07-08 21:48:23 +02:00
Henrik Rydgård
0889e7cf3e Add setting to enable unofficial achievements 2023-07-08 21:47:19 +02:00
Henrik Rydgård
bebc3feee1 Safety: Make sure we're not executing game code while waiting for RetroAchievements identification. 2023-07-08 21:47:19 +02:00
Henrik Rydgård
cff13d56d1 Implement Encore Mode. Clean some stuff up. 2023-07-08 21:47:19 +02:00
Henrik Rydgård
bf0d074688 Add game achievement summary view directly on pause screen, code cleanup 2023-07-08 21:47:19 +02:00
Henrik Rydgård
fcdcf2f95d Proper rendering including icons of leaderboard view 2023-07-08 21:47:19 +02:00
Henrik Rydgård
9bd67df5b2 Achievement savestate fixes 2023-07-08 21:47:16 +02:00
Henrik Rydgård
d0b42705a0 Switch over to rc-client 2023-07-08 18:59:37 +02:00
Henrik Rydgård
0bf0a4a1ef UIContext: Add an easy way to draw drop shadows under rectangular things 2023-07-08 18:25:00 +02:00
Henrik Rydgård
952e125c7e Break out rendering of "notices" from OnScreenDisplay. They can now also be used as views.
Use it for the new message in ControlMappingScreen, when you try to map
a combo when that's disabled. It'll have more uses.
2023-07-07 15:23:19 +02:00
Henrik Rydgård
b9327073bb Add checkbox controlling if new mappings can be combo mappings.
These can be problematic with certain controllers that send double
signals. Like PS4 controllers on Android, the analog triggers send dual
axis events, and additionally digital events.
2023-07-07 10:42:08 +02:00
Henrik Rydgård
16efa1d877
Merge pull request #17672 from hrydgard/android-show-exceptions
Android: Show some Java exceptions as they happen
2023-07-06 20:24:06 +02:00
Henrik Rydgård
bc35c3341f Allow putting a user string in reported java exceptions 2023-07-06 19:21:19 +02:00
Henrik Rydgård
9d877106d7 Android: Report various exceptions that we catch to the user if they happen
This can let users help debug some obscure cases.
2023-07-06 19:06:27 +02:00
Henrik Rydgård
e1060c80ff
Merge pull request #17671 from hrydgard/android-message-cleanup
Android string message cleanup
2023-07-06 19:06:14 +02:00
Henrik Rydgård
b15b283600 Buildfixes 2023-07-06 18:40:06 +02:00
Henrik Rydgård
30f470a696
Merge pull request #17670 from hrydgard/input-fixes
Control and menu navigation fixes
2023-07-06 17:44:06 +02:00
Henrik Rydgård
84fffec4f3 Switch all NativeMessageReceived to System_PostUIMessage 2023-07-06 17:26:02 +02:00
Henrik Rydgård
ac4506e389 Stop "messages from java" to leak out to NativeMessageReceived except where explicitly allowed 2023-07-06 17:13:04 +02:00
Henrik Rydgård
c3d7074e30 Fix . button in the hostname/ip address editor 2023-07-06 16:49:36 +02:00
Henrik Rydgård
f27850ec1d Minor cleanup in MoveFocus, set tags on screen roots for debugging 2023-07-06 16:34:54 +02:00
Henrik Rydgård
356cc64eb5 Logging improvements, cleanup 2023-07-06 14:56:52 +02:00
Henrik Rydgård
fc3f7da3af TouchTestScreen: Have 8 entries logged instead of 2. 2023-07-06 11:48:25 +02:00
Henrik Rydgård
667abd0a48 GameInfoCache: Some fixes for the icon loaded flag.
Not really important but why not. Extracted from #17646
2023-07-02 17:18:13 +02:00
Henrik Rydgård
a7c21b582e Move UI/RetroAchievements.{cpp,h} to Core.
Necessary to avoid some dependency inversion.

Gotta figure out how this will interact with the libretro stuff..
2023-07-02 12:02:20 +02:00
Henrik Rydgård
769aa9f0da Remove incomplete sound code from RetroAchievements code (will redo) 2023-07-02 11:52:24 +02:00
Henrik Rydgård
eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård
f7c09ba488 Remove the RAIntegration stuff for now (wasn't actually enabled)
This is just the untested achievement editor integration code from DuckStation.

Removing this code will make the conversion to ra_client_t easier.
Might eventually add this capability back properly in one way or another.

Part of #17631
2023-06-28 00:56:02 +02:00
Henrik Rydgård
27847abac4 Fix two OSD rendering bugs (messages with text2 didn't render it, text alignment with icon) 2023-06-27 23:39:13 +02:00
Henrik Rydgård
5f38883973 Translate achievement stuff to Swedish 2023-06-27 18:04:27 +02:00
Henrik Rydgård
23d4f7abe8 Implement viewing of leaderboards 2023-06-27 11:12:25 +02:00
Henrik Rydgård
df8a745350 RetroAchievements: Add a tab for debug stats 2023-06-27 10:33:40 +02:00
Henrik Rydgård
b991e9d8fd Minor cleanups, add most translation strings to en_US.ini 2023-06-27 09:53:03 +02:00
Henrik Rydgård
81e1293693 Token name and path fix 2023-06-26 17:21:39 +02:00
Henrik Rydgård
d4239e7c98 Keeping it simple - putting the token in memstick/PSP/SYSTEM for now 2023-06-26 17:09:35 +02:00
Henrik Rydgård
23e37b7ca7 Achivement list rendering fix (wrong alpha) 2023-06-26 10:13:18 +02:00
Henrik Rydgård
4134acc492 Use the new "secret storage" to store the retroachievements token 2023-06-26 10:01:42 +02:00
Henrik Rydgård
87846c5fcb Add simple facility for storing secret in app-private storage on Android (other platforms not so good) 2023-06-26 10:01:42 +02:00
Henrik Rydgård
37fb3be4d5 Visual improvements, notify if game unknown to RetroAchievements 2023-06-26 10:01:42 +02:00
Henrik Rydgård
b0dc1dbbf0 Login: Support desktop platforms other than Windows. 2023-06-26 10:01:42 +02:00
Henrik Rydgård
d63415dfc4 Set up a custom rc_hash_filereader to make things work on Android (login left to do) 2023-06-26 10:01:42 +02:00
Henrik Rydgård
9502d55260 Fix 2023-06-26 10:01:42 +02:00
Henrik Rydgård
69a5ca0e1d A bunch of visual updates and fixes. Lots left to polish. 2023-06-26 10:01:42 +02:00
Henrik Rydgård
c442d1de86 Implement rendering of unlocked achievements. Not final design. 2023-06-26 10:01:42 +02:00
Henrik Rydgård
078002d867 Show progress when downloading achievement data 2023-06-26 10:01:41 +02:00
Henrik Rydgård
3218422a69 Attempt to add memory access validation through rc_runtime_invalidate_address 2023-06-26 10:01:41 +02:00
Henrik Rydgård
da36d78d4f De-spam the logs 2023-06-26 10:01:41 +02:00
Henrik Rydgård
3b6989bff7 Hook up progress bar, minor fixes 2023-06-26 10:01:41 +02:00
Henrik Rydgård
eaa1975ac9 Improve logging on bad memory access from RA 2023-06-26 10:01:41 +02:00
Henrik Rydgård
54a378f145 Fix bug in Achievements::SafeHasAchievementsOrLeaderboards() 2023-06-26 10:01:41 +02:00
Henrik Rydgård
4e8c29d58d Minor drawing issue 2023-06-26 10:01:41 +02:00
Henrik Rydgård
80ff3f89bf Improve the pause screen achievement list, show a game banner at the top 2023-06-26 10:01:41 +02:00
Henrik Rydgård
c379f6f486 Implement retroachievements login (on platforms that support the login dialog) 2023-06-26 10:01:41 +02:00
Henrik Rydgård
1d0badae56 Achievements: Show achievement icons in list 2023-06-26 10:01:41 +02:00
Henrik Rydgård
603dc7493a Image caching work 2023-06-26 10:01:41 +02:00
Henrik Rydgård
6326880070 Properly include stenzek's DuckStation copyright notices in the retro files 2023-06-26 10:01:41 +02:00
Henrik Rydgård
93de74144e Add basic achievement rendering 2023-06-26 10:01:41 +02:00
Henrik Rydgård
e054d66d6c Add an extremely basic achievement listing to the pause screen 2023-06-26 10:01:41 +02:00
Henrik Rydgård
8beca03e7e MacOSX buildfixes 2023-06-26 10:01:41 +02:00
Henrik Rydgård
f6fdaa4f56 Get it to recognize the hash by using the rcheevos hash implementation 2023-06-26 10:01:41 +02:00
Henrik Rydgård
a3b7e99259 Attempt to implement the specified PSP game hashing method 2023-06-26 10:01:40 +02:00
Henrik Rydgård
b84a6f83e1 You can now log into RetroAchievements with hardcoded user/pass 2023-06-26 10:01:40 +02:00
Henrik Rydgård
66d9c24f72 More integration 2023-06-26 10:01:40 +02:00
Henrik Rydgård
84e9a85e0f Things link now. Let's see if it works.. 2023-06-26 10:01:40 +02:00
Henrik Rydgård
c9c1796dff Second batch of fixes. Doesn't link yet and much work remains. 2023-06-26 10:01:40 +02:00
Henrik Rydgård
029b887491 Initial batch of fixes. Not compiling yet, http will be the tricky one. 2023-06-26 10:01:40 +02:00
Henrik Rydgård
4745999665 Copy-paste retroachievement support from DuckStation. No fixes yet! 2023-06-26 10:01:40 +02:00
Henrik Rydgård
da1691e4f9 Start sketching on a wrapper 2023-06-26 10:01:40 +02:00
Henrik Rydgård
c0f0c05417 rcheevos initial build setup and basic scaffolding 2023-06-26 10:01:40 +02:00
Henrik Rydgård
a17710a914 Remove additional ifdef checks for inputbox 2023-06-22 09:06:19 +02:00
Henrik Rydgård
cf587d2ccc More cleanup after making PopupTextInputChoice choose method automatically 2023-06-22 09:01:14 +02:00
Henrik Rydgård
337668af3e Make PopupTextInputChoice smarter (use native dialog if possible) 2023-06-22 08:58:30 +02:00
M4xw
71639acd16 [Switch] Enable all System_InputBoxGetString usages 2023-06-22 00:47:00 +02:00
Henrik Rydgård
266b85d22d Support for extra text in OSD messages (drawn smaller, on darker background) 2023-06-21 01:16:25 +02:00
Henrik Rydgård
c76b6a48ab Prepare for detailed overlay messages 2023-06-21 01:08:25 +02:00
Henrik Rydgård
ff75eced70 Progress bar: Fix the indeterminate state 2023-06-21 01:08:24 +02:00
Henrik Rydgård
d2c3a7c978 Add support for displaying progress bars 2023-06-20 22:44:31 +02:00
Henrik Rydgård
d36e701622 Smoothly animate OSD messages 2023-06-20 18:39:30 +02:00
Henrik Rydgård
6ba0479edc OSD: Add colored backgrounds to OSD messages, according to type.
This also reorganizes a little to make rendering achievement popups more
natural later.

Adds info.png to the atlasscript, but doesn't yet rebuild it - more
images are coming.
2023-06-20 17:32:45 +02:00
Henrik Rydgård
9df01a5bf3
Merge pull request #17605 from hrydgard/osd-refactoring
On-screen messages refactoring
2023-06-20 16:34:02 +02:00
Henrik Rydgård
ed0c4b7a9e Rename OSD "Message" to "Entry" since it can soon be multiple other things (progress bar, etc). 2023-06-20 15:07:34 +02:00
Henrik Rydgård
7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00
Henrik Rydgård
d6552a7673 Implement an "OverlayScreen" concept. OSD can now render on top of other screens than EmuScreen. 2023-06-20 10:44:47 +02:00
Henrik Rydgård
48fab112b9 Collapse the "Custom 1", "Custom 2" etc translation strings 2023-06-20 10:42:56 +02:00
Henrik Rydgård
73836e7bcb Custom buttons: Store them in an array, remove as many count restrictions as possible. 2023-06-20 10:42:53 +02:00
Henrik Rydgård
2bf2f745e2 IconCache: Add pending state to avoid duplicate downloads in some cases 2023-06-18 14:54:11 +02:00
Henrik Rydgård
cb5926761b Add a way to monitor the icon cache from the system info screen. 2023-06-18 14:18:45 +02:00
Henrik Rydgård
8a27627a9f Use the new icon cache for the icons in the homebrew store. 2023-06-18 14:11:12 +02:00
Henrik Rydgård
90085522ef System information screen: Re-use the TabbedDialogScreen logic
Want to do this before adding any more tabs here.
2023-06-18 12:22:36 +02:00
Henrik Rydgård
93fbb5cdda
Merge pull request #17591 from lvonasek/feature_openxr_passthrough
OpenXR - Add passthrough option (Quest only)
2023-06-17 22:12:53 +02:00
Lubos
cef7c5a1a1 OpenXR - Forgotten changes added 2023-06-17 21:55:47 +02:00
Henrik Rydgård
fffaa41091 Extract the class TabbedUIDialogScreen from GameSettingsScreen. 2023-06-16 13:56:26 +02:00
Unknown W. Brackets
f5f3afbeef
Android: Correct pad name tracking.
This is split up in two messages, a bit ugly...
2023-06-11 15:43:21 -07:00
Henrik Rydgård
3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Henrik Rydgård
2675d6ea43
Input event and device enums (#17514)
* Switch deviceID from int to enum InputDeviceID, globally

* Switch axisId to enum InputAxis

* Change int keycodes to InputKeyCode where it makes sense.

* SDL input buildfix

* SDL keycode buildfix

* Switch on enum warning fixes

* Qt keycode buildfix

* iOS keycode buildfix

* UWP keycode buildfix

* More iOS buildfix

* More iOS buildfix

* Update DinputDevice.cpp
2023-05-26 18:40:13 +02:00
Henrik Rydgård
ca75e20155 Fix minor config backwards compatibility issue, see #17502, iota97's comment 2023-05-26 15:47:58 +02:00
Nicolas Adenis-Lamarre
f32b0dc9c3 previous slot shortcut
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-05-25 11:32:49 +00:00
Henrik Rydgård
dfb446f89d Allow other backends than Vulkan to have GPU memory stats. Implement for GL. 2023-05-24 14:33:01 +02:00
Henrik Rydgård
a4baed4c0c Minor GLPushBuffer cleanup (now same API as the VK one) 2023-05-23 08:41:09 +02:00
Henrik Rydgård
736ba3dd90
Merge pull request #17357 from unknownbrackets/game-search
Add half of game list search
2023-05-23 08:31:04 +02:00
Henrik Rydgård
67a35d3476
Merge pull request #17356 from unknownbrackets/minor-cleanup
Cleanup some more string formats, mostly in debugger
2023-05-23 08:29:23 +02:00
Henrik Rydgård
2ceb9942f3 Tilt: Add back inverse deadzone (low end radius). Allow choosing circular or per-axis. 2023-05-22 10:13:57 +02:00
Henrik Rydgård
5d7a0516cc
Merge pull request #17475 from hrydgard/opengl-basic-profiler
Add a trivial profiling tool to the OpenGL backend
2023-05-17 15:01:16 +02:00