Commit Graph

27 Commits

Author SHA1 Message Date
9c8f229fed misc shit 2024-10-31 22:37:46 +01:00
f3bd58f75e do touchscreen input more properly 2024-10-31 22:10:25 +01:00
1b8daa0465 fix up cheat toggle 2024-10-31 20:33:57 +01:00
4ba8f330c4 fix framerate target not adjusting with vcount writes (#2181) 2024-10-30 19:40:33 +01:00
94955aee81 fix another OpenGL bug (when closing secondary window) 2024-10-27 14:51:11 +01:00
e576538268 synchronize pause/unpause across all instances 2024-10-27 11:21:30 +01:00
4ae4397547 properly update display type across all windows
(remind me to also propagate changes across instances)
2024-10-27 02:42:27 +02:00
b2ae4c7dc5 lay base for a window with no menubar 2024-10-27 02:07:33 +02:00
881a740cab start actually implementing multi-window feature, still rough around the edges
fix crash when closing main window if sub windows are involved

fix OpenGL context handling, still need to fix when changing display type
2024-10-27 01:14:29 +02:00
979f1ed615 same shit with Import Savefile 2024-10-25 10:52:47 +02:00
75e6856af4 route savestate stuff through EmuThread 2024-10-24 19:27:45 +02:00
1787235e09 fix more shit
now it doesn't shit itself on startup if the BIOS paths are wrong
2024-10-24 17:20:14 +02:00
1666049531 fix shit 2024-10-24 14:00:11 +02:00
079341f102 take this a bit further 2024-10-24 11:44:21 +02:00
82f38f0b7a start moving ROM/firmware loading to the emuthread to avoid cursed bugs 2024-10-24 00:27:05 +02:00
1428bfb2cf fix one of the cursed bugs 2024-10-23 20:33:31 +02:00
e9446fa9dc implement 3 configurable and toggleable framerate targets (#2159)
This pr allows for configuring the framerate target and adds support for two other framerate targets, a "fastforward" and "slowmo" target which can be enabled via either a toggle or holding a button.
this allows for supporting a more accurate framerate target and allows for users to slow down the speed of gameplay if they so desire
2024-09-29 09:30:13 +02:00
8d31875902 Backport LAN (#2131)
backport the old LAN feature to the modern melonDS codebase.
2024-08-10 23:20:50 +02:00
8fc403cdad update copyright headers 2024-06-15 17:01:19 +02:00
25a7b1ca1d merge doublemelon (#2067)
non-exhaustive (but exhausting) list of changes:

* base laid for multiple window support, but will likely require more work to work correctly
* encapsulation of frontend state for proper multi-instance support
* (JIT still needs a fix for the NDS::Current workaround but we can get there later)
* new, more flexible configuration system
2024-06-15 13:52:47 +02:00
347f4a79fd Fix division by zero 2024-05-13 17:23:05 +02:00
043244a56d Compute shader renderer (#2041)
* nothing works yet

* don't double buffer 3D framebuffers for the GL Renderer
looks like leftovers from when 3D+2D composition was done in the frontend

* oops

* it works!

* implement display capture for compute renderer
it's actually just all stolen from the regular OpenGL renderer

* fix bad indirect call

* handle cleanup properly

* add hires rendering to the compute shader renderer

* fix UB
also misc changes to use more unsigned multiplication
also fix framebuffer resize

* correct edge filling behaviour when AA is disabled

* fix full color textures

* fix edge marking (polygon id is 6-bit not 5)
also make the code a bit nicer

* take all edge cases into account for XMin/XMax calculation

* use hires coordinate again

* stop using fixed size buffers based on scale factor in shaders
this makes shader compile times tolerable on Wintel
- beginning of the shader cache
- increase size of tile idx in workdesc to 20 bits

* apparently & is not defined on bvec4
why does this even compile on Intel and Nvidia?

* put the texture cache into it's own file

* add compute shader renderer properly to the GUI
also add option to toggle using high resolution vertex coordinates

* unbind sampler object in compute shader renderer

* fix GetRangedBitMask for 64 bit aligned 64 bits
pretty embarassing

* convert NonStupidBitfield.h back to LF only new lines

* actually adapt to latest changes

* fix stupid merge

* actually make compute shader renderer work with newest changes

* show progress on shader compilation

* remove merge leftover
2024-05-13 17:17:39 +02:00
31a7f53282 Fix a crash when using DSi mode in debug builds on macOS (#1976)
Store the BIOS images in `NDSArgs`/`DSiArgs` through pointers, not directly

- This will make it easier to keep such objects on the stack
2024-03-13 14:55:20 +01:00
7dd4152d67 Add MaxFPS setting 2024-01-26 13:06:32 +01:00
d1cbc41115 Slight fixups with FATStorage (#1934)
* Reload the SD card for `CartSD` and all subclasses

* Make `ROMManager::LoadDLDISDCard` delegate to `GetDLDISDCardArgs`

* Add a method overload for `CartSD::SetSDCard`

* Initialize new SD card images with the correct size

* Sync the old card to the host (if applicable) when move-assigning a new one

* Only sync the old card to the host if it's not read-only

* Remove static state in `FATStorage`

- Replace `FF_ReadStorage` and `FF_WriteStorage` with lambda functions
- Keep open and use the single `File` handle throughout the `FATStorage`'s life
2024-01-03 13:32:17 +01:00
345b7439e4 integrate OSD into ScreenPanel and make it nicer 2023-12-28 14:40:37 +01:00
f905b6fb93 separate EmuThread to its own file 2023-12-26 19:24:14 +01:00