Commit Graph

2709 Commits

Author SHA1 Message Date
Nemoumbra
a4fe83ea20 Stop some UI elements from opening when the game's not loaded 2023-12-14 01:40:46 +03:00
Henrik Rydgård
15c0bb1bd0 Fix crash in debugger after unloading the game. 2023-12-13 22:00:55 +01:00
Herman Semenov
6360cec554 Fixed set 0xFFFFFFFF for pixel Y coordinate 2023-12-12 15:35:23 +03:00
oltolm
96a30ffb49 CtrlDisplayListView: fix ASAN eror 2023-12-10 16:32:18 +01:00
Henrik Rydgård
db4993bfdc Implement full support for mouse input on Android
The smoothing algorithm changed a bit now that I centralized that logic
in a way that can work with all backends.
2023-12-10 09:52:19 +01:00
Henrik Rydgård
566d9f67f6 SDL input filtering 2023-12-08 16:17:38 +01:00
Henrik Rydgård
676a4de4d7 Remove an ifdef controlling dialog button order 2023-12-07 17:30:15 +01:00
Henrik Rydgård
aed8bc6d7b RetroAchievements: Finish the Challenge->Hardcore rename 2023-12-03 16:41:29 +01:00
Henrik Rydgård
dae758e5f4 Fix some bugs and mistakes found by Nemoumbra through static analysis 2023-11-26 13:43:11 +01:00
Henrik Rydgård
bd08fdd566 Forgot some cases where I need to enable save (but not load) state in challenge mode, if the option is set 2023-11-16 20:13:47 +01:00
Henrik Rydgård
96cfdbaa96 Some more XInput cleanup 2023-11-11 11:08:22 +01:00
Henrik Rydgård
004d8fc20e Remove unused code 2023-11-11 10:51:41 +01:00
Katharine Chui
cdd6f2f5c9 skip xinput trigger threshold check 2023-11-11 16:03:08 +08:00
Henrik Rydgård
6dbe49775c Add a sysprop for IsDebuggerPresent. 2023-10-12 11:58:04 +02:00
Henrik Rydgård
0ad2827e14 Vulkan: Fix synchronization when shutting the GPU down in-game. 2023-10-11 12:27:39 +02:00
Henrik Rydgård
e4ea4831e9 Delete the vertex cache option from the code. 2023-10-10 15:43:43 +02:00
Henrik Rydgård
20c13f3b4c Do the Vulkan check as early as possible 2023-10-03 12:17:43 +02:00
Henrik Rydgård
c4e2ad37ff Windows: Avoid loading shell libraries during startup. 2023-10-03 12:17:43 +02:00
Henrik Rydgård
e39980fc73 Reduce refresh rate checks.
These turned out to be unexpectedly expensive, so cache the value and
also try to check it a bit less.
2023-10-03 11:00:47 +02:00
Henrik Rydgård
c0e5da02ff Buildfixes 2023-09-30 12:06:07 +02:00
Henrik Rydgård
19e4de5088 Change global UI messages to use an enum instead of strings.
Makes it easier to add new ones and delete outdated ones without missing
any uses.
2023-09-30 11:37:02 +02:00
Henrik Rydgård
ade64171ce Proof-of-concept: libchdr works on Windows 2023-09-29 10:05:19 +02:00
Henrik Rydgård
c8d7226a5f DInput: Seems sometimes we never check for pads on startup? Fix that. 2023-09-27 12:07:21 +02:00
Henrik Rydgård
c2c7933393 Backend change from Win32 menu: Add quick workaround for instance counter misbehavior.
Should really do this some better way.

See #18148
2023-09-20 18:46:41 +02:00
German Semenov
c498a42e92 Core, UI, Windows: Removed excess converting C-string in params 2023-09-15 13:54:11 +03:00
Henrik Rydgård
ef6ea1bd23 Minor cleanup 2023-09-11 11:41:29 +02:00
Nemoumbra
ef20a0ba34 Ctrl+X -> Ctrl+H for closing the bottom tabs 2023-09-07 14:39:15 +03: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
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
dfe187df1e Allow disabling HTTPS through the config file
Simply set:

```ini
[General]
DisableHTTPS = True
```

Added to help debug issue #17969
2023-08-24 21:28:30 +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
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
5b76615463 Cleanup and more sensible defaults for current directory 2023-08-18 15:04:20 +02:00
Henrik Rydgård
5acb421908
Merge pull request #17927 from hrydgard/path-creation-cleanup
Windows: Memstick directory creation cleanup
2023-08-18 13:51:42 +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
44d602ca7d Move InitSysDirectories to where it belongs and rename it. Plus warning fixes. 2023-08-18 13:03:32 +02:00
Henrik Rydgård
6f6ea4595a Windows: Split out Create... from InitSysDirectories, fixup uses 2023-08-18 12:46:40 +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
25f02d0227 Windows: Make switching UMD through "Emulation->Switch UMD" threadsafe 2023-08-18 10:29:10 +02:00
Henrik Rydgård
ef2d7a810a Add comments, move some stuff around, get rid of some indentation. No functionality change. 2023-08-15 18:34:06 +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
86fcb28d4d Remove "bool retainControl_" for simplicity. Not needed. 2023-08-13 18:40:35 +02:00
Henrik Rydgård
1ea11c233c Remove "SwapBuffers" from the GraphicsContext interface.
Buildfixes

More buildfix

headless buildfix

One more buildfix
2023-08-11 01:57:02 +02: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
1bdbef487b D3D11: Pass the swapchain pointer into the thin3d context 2023-08-11 01:57:02 +02:00
Henrik Rydgård
be708e3e02 Move KeepScreenAwake to platform specific code. 2023-08-10 16:12:12 +02:00
Henrik Rydgård
96506544b7 Just some random driveby code cleanup 2023-08-10 10:28:25 +02:00
Henrik Rydgård
5533d5ec57 More lenient emoji check, remove unused variable 2023-08-06 17:17:24 +02:00
Henrik Rydgård
39d25ce91f D3D11: Allow setting the max frame latency 2023-08-04 11:53:51 +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
fc6879674e Refactor overlays into an enum 2023-08-02 13:03:04 +02:00
Henrik Rydgård
ffd5e57a20 Vulkan: Don't use multithreaded rendering if frames-in-flight is set to 1
It has no benefit, and loses by a few percent in simple benchmarking.
2023-08-01 21:08:07 +02:00
haorui wang
ec4927069e 1. remove some unused code
2. add some missing header
3. fix error address offset operation
2023-07-30 12:31:31 +08: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
fbd980bee6 Get basic Naett requests to work (the store works in https mode) 2023-07-21 10:28:17 +02:00
Henrik Rydgård
83e3cf7872 Add winhttp.lib dependency 2023-07-21 10:27:40 +02:00
Henrik Rydgård
85f5136a81 Add a GetProperty query for the git version 2023-07-20 10:57:52 +02:00
Henrik Rydgård
cd681a698d
Merge pull request #17661 from Nemoumbra/debugger-ui
Added new Windows UI Debugger window
2023-07-18 15:24:32 +02:00
Nemoumbra
5ca099a747 Scan/remove -> edit symbols 2023-07-17 16:38:24 +03:00
Henrik Rydgård
2537f76277 UI: Add a basic FileChooserChoice view 2023-07-16 12:14:40 +02:00
Henrik Rydgård
bf3acd9208 Fix some minor login issues, center login dialog on Windows. 2023-07-11 10:16:58 +02:00
Henrik Rydgård
c17b84b3d4 Implement RetroAchievements challenge mode restrictions, and fix related bugs 2023-07-08 21:55:32 +02:00
Nemoumbra
cdba944643 Updated the resource file 2023-07-08 22:40:11 +03:00
Nemoumbra
23cbddd3c6 Logical error fixed and func list properly updated now 2023-07-08 22:40:11 +03:00
Nemoumbra
abd2b21d60 Added the logic to the ScanRemoveWindow 2023-07-08 22:40:11 +03:00
Nemoumbra
b8dbe02010 Added a new window class 2023-07-08 22:39:58 +03: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
84fffec4f3 Switch all NativeMessageReceived to System_PostUIMessage 2023-07-06 17:26:02 +02:00
Henrik Rydgård
77dff18701 XInputDevice: Dirty-track axes, for easier axis event debugging 2023-07-06 15:47:36 +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
07e6543f6b Windows for ARM configuration fixes, Android.mk fix 2023-06-26 10:01:41 +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
c0f0c05417 rcheevos initial build setup and basic scaffolding 2023-06-26 10:01:40 +02:00
haorui wang
10c2f055b4 use CommonWindows.h and remove unnecessary include 2023-06-25 21:12:45 +08:00
haorui wang
fa336edcb6 [what] update cmake compilation configuration in windows
[why] support some other IDE like VScode or clion

[how]
1. update CMakeLists.txt according to *.vcxproj
2. include some header like `windows.h` to support raw cmake compilation
3. exclude libcmt.lib
2023-06-24 21:36:46 +08:00
Henrik Rydgård
38f174eab4 Add query for system text input 2023-06-22 08:58:30 +02:00
Henrik Rydgård
2708f0b93e Add a new "System" request for a username-password dialog box 2023-06-22 08:58:29 +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
01cea7f088 Pass uvScale in as an argument to the vertex decoder
Cleaner than overwriting/restoring gstate_c.uvScale in the decoder
loop. A small cleanup I've been wanting to do for ages.

Expecting a negligble perf boost if any.
2023-06-12 20:25:18 +02:00
Henrik Rydgård
9db9fec898 VFPU: Some micro-optimizations. Don't fall back to interpreter path for vexp/vlog/vrexp. 2023-06-04 11:28:33 +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
0a069f39c9 Windows: Make double-click-for-fullscreen less oversensitive. 2023-05-25 09:28:55 +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
ThirteenAG
4bb9779abd added WM_USER_GET_EMULATION_STATE message 2023-05-15 16:38:06 +03:00
Henrik Rydgård
7f2c03156f Fix the skip buffer effects menu item not having immediate effect (wrong invalidation).
Fixes part of #17404
2023-05-07 00:00:01 +02:00
Unknown W. Brackets
4ecd0a68f7 Windows: Fix initial window show for all displays. 2023-05-06 08:56:34 -07:00
Unknown W. Brackets
6da10463f9 Debugger: Make reg names safer, stop using v000.
Better to use S000, etc. as that's more clear throughout.
2023-04-29 09:48:33 -07:00
Henrik Rydgård
6945deec01 Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy 2023-04-28 21:04:05 +02:00
Henrik Rydgård
e1d4a19ce1 Add the basics of the Emulation menu to the Mac build 2023-04-28 15:16:57 +02:00
Henrik Rydgård
eeaeb8b7cc Add "Open Memory Stick" to File menu on Mac 2023-04-26 10:18:04 +02:00
Henrik Rydgård
d782a49229 Enable building a gold version for mac. 2023-04-19 15:06:02 +02:00
Henrik Rydgård
39d7651866
Merge pull request #17270 from unknownbrackets/debugger-cond
Debugger: Add memory breakpoint conditions
2023-04-12 23:13:26 +02:00
Henrik Rydgård
178fe27263
Merge pull request #17269 from unknownbrackets/debugger-minor
Debugger: Avoid unaligned reads in expressions
2023-04-12 10:38:08 +02:00
Unknown W. Brackets
9cebfc31b3 Debugger: Avoid unaligned reads in expressions.
Potentially, a watch or break condition could crash if it was unaligned
between mirrors.  This might happen if it's not the condition you wanted,
especially.  Play it safe.
2023-04-12 01:14:30 -07:00
Unknown W. Brackets
39bf8956ca Debugger: Windows UI for memory bp conditions. 2023-04-12 01:07:56 -07:00
Unknown W. Brackets
1e84047583 Debugger: Cleanup Windows breakpoint dialog.
Just cleanup of how its callback works.
2023-04-12 01:07:56 -07:00
Nemoumbra
5bf22c15d0 sceKernelPrintf improvement, QOL adjustments 2023-04-11 15:47:50 +03:00
Unknown W. Brackets
5629b01dc9 Debugger: Accept format for watches. 2023-04-09 16:39:25 -07:00
Henrik Rydgård
7f60acf898
Merge pull request #17259 from unknownbrackets/debugger-minor
A few more debugger things
2023-04-09 22:25:04 +02:00
Unknown W. Brackets
2374696d65 Debugger: Show vector load/store previews. 2023-04-09 11:09:36 -07:00
Unknown W. Brackets
f31a7a0582 Debugger: Update VFPU dialog more evenly.
Was previously not updating when you hit a breakpoint, stepped out, etc.
2023-04-09 10:12:54 -07:00
Unknown W. Brackets
be8a173026 Debugger: Clear button flags on lost focus.
This mouse tracking is kinda ugly.  This works around an issue where when
you removed a custom condition, the highlight would stick as if you were
dragging.
2023-04-09 10:11:37 -07:00
Henrik Rydgård
b4c766f756
Merge pull request #17256 from unknownbrackets/debugger-watch
Debugger: Add named watch expressions
2023-04-09 10:23:25 +02:00
Unknown W. Brackets
99bdb4f18a Debugger: Periodically refresh watches to be safe. 2023-04-09 00:52:03 -07:00
Unknown W. Brackets
c0fc2e65e0 Debugger: Highlight changed watches. 2023-04-09 00:47:36 -07:00
Unknown W. Brackets
85a071568c Debugger: Allow adding/removing watches. 2023-04-09 00:35:37 -07:00
Unknown W. Brackets
879e91dbf6 Debugger: Add empty watch tab for debugger.
Currently, there's nothing shown here.
2023-04-09 00:01:42 -07:00
Unknown W. Brackets
f708ab2965 Debugger: Add delete breakpoint to context menu. 2023-04-08 23:29:59 -07:00
Henrik Rydgård
12bd0ed26d Restore the shared_ptrs 2023-04-07 10:35:01 +02:00
Henrik Rydgård
ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård
8f96ec371e Rename iBufFilter -> iDisplayFilter 2023-04-05 09:34:18 +02:00
Henrik Rydgård
d996fb74d4 MSVC: Set language standard to c++17.
Noticed that we were getting some new warnings after merging the
constexpr stuff.
2023-04-02 17:55:15 +02:00
Henrik Rydgård
d1e21ab896 Fix return value from control mapper Key. Fixes volume key issue on Android. 2023-04-02 10:41:26 +02:00
Henrik Rydgård
c1b5aed9b7 Cleanup, confine g_controllerMap access to KeyMap.cpp 2023-04-01 20:28:42 +02:00
Henrik Rydgård
0e1c42ce70 Plumb multimappings all the way through. 2023-04-01 13:50:57 +02:00
Henrik Rydgård
3c9e968ca0
Merge pull request #17206 from unknownbrackets/debugger
Debugger: Fix memory viewer, inverted check
2023-03-29 08:07:39 +02:00
Unknown W. Brackets
a4d13d5f75 Debugger: Fix memory viewer, inverted check. 2023-03-28 22:52:01 -07:00
Nemoumbra
4a54409f09 Added new option "Copy Float (32 bit)" to Windows Debugger UI 2023-03-28 13:18:20 +03:00
Unknown W. Brackets
441c940fa9 UI: Remove some unnecessary Host.h includes. 2023-03-25 17:19:21 -07:00
Unknown W. Brackets
55c8b5b601 Windows: Save console position on shutdown. 2023-03-25 17:12:44 -07:00
Unknown W. Brackets
089580d09a Windows: Always detach request threads.
No point having a global if it's always detached after use.
2023-03-25 17:12:44 -07:00
Henrik Rydgård
9a6a23110b Fix controller polling when there's no Host. Fixes #17187 2023-03-26 00:33:07 +01:00
Henrik Rydgård
d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Henrik Rydgård
7d0eac730f Remove WindowsHost 2023-03-25 10:43:00 +01:00
Henrik Rydgård
143f499d11 Remove a few of the Host implementations 2023-03-25 10:37:49 +01:00
Henrik Rydgård
9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
Henrik Rydgård
7c5cc8cafd And ToggleDebugConsoleVisibility. 2023-03-24 21:43:45 +01:00
Henrik Rydgård
56c26eef4d Remove the old AsyncFileDialog thingy 2023-03-24 21:32:20 +01:00
Henrik Rydgård
a73ac49d59 Move the non-working "Create desktop shortcut" stuff to the request framework 2023-03-24 20:05:48 +01:00
Henrik Rydgård
e71be8af2e Remove PollControllers from host. Break out a WindowsInputManager from WindowsHost. 2023-03-24 19:57:24 +01:00
Henrik Rydgård
5a5779dcd6 Remove symbol-map related functions from Host 2023-03-24 18:08:31 +01:00
Henrik Rydgård
5af92cfca0 Cleanup 2023-03-24 17:52:56 +01:00
Henrik Rydgård
1250692657 Convert host->SetWindowTitle to a request 2023-03-24 17:52:01 +01:00
Henrik Rydgård
a5fdf3d05b Add samplerate argument to NativeMix 2023-03-24 14:48:53 +01:00
Henrik Rydgård
21bd50dcb0 Remove polling requirement from DSound audio backend
Might as well sleep for a short period instead, same effect really.
2023-03-24 10:40:10 +01:00
Henrik Rydgård
e21867315b Fix browsing for Cheat DB files. Easy now after the refactor! 2023-03-23 10:18:21 +01:00
Henrik Rydgård
b440e28e38 Remove System_SendMessage!
iOS, Qt buildfixes
2023-03-22 23:52:51 +01:00
Henrik Rydgård
5a55fd5fd3 And replace "graphics_restart", "toggle_fullscreen", etc 2023-03-22 23:52:15 +01:00
Henrik Rydgård
410b35fba3 Get rid of "finish" and "setclipboardtext" messages, replace with requests. 2023-03-22 22:17:26 +01:00
Henrik Rydgård
b7350f3cbf Fix folder browser on Android and Windows 2023-03-22 19:25:35 +01:00
Henrik Rydgård
70f0ac04af Port the file browser spawned by the Load button to the new request stuff 2023-03-22 15:36:14 +01:00
Henrik Rydgård
47ae31e293 Minor cleanups, drive-by fix for folder browser on iOS 2023-03-22 15:36:14 +01:00
Henrik Rydgård
e9f5394f59 Move the Windows open file dialog to the new system, switch the background image selector over. 2023-03-22 14:53:07 +01:00
Henrik Rydgård
de064e210e Replace the inputbox queue with a more generic RequestManager. 2023-03-22 12:41:11 +01:00
Henrik Rydgård
3852d4f698 Make a little system to replace the InputBox message queue with something more generic 2023-03-22 11:35:57 +01:00
Henrik Rydgård
94debfbf36 Rename screenManager to g_screenManager, readme update 2023-03-22 09:44:44 +01:00
Henrik Rydgård
47f063550a Remove InitGraphics/ShutdownGraphics from Host, except for headless 2023-03-21 22:47:20 +01:00
Henrik Rydgård
2786786c9f Avoid Host in Windows graphics init 2023-03-21 14:07:27 +01:00
Henrik Rydgård
f5472ba0d8 Cleanup up unnecessary audio init functions 2023-03-21 13:39:02 +01:00