Commit Graph

19 Commits

Author SHA1 Message Date
58ee191cc8 make mic input less shitty (and less dangerous) 2024-11-01 01:31:45 +01:00
e3e561da3f lock framebuffer stuff to prevent conflicts when reiniting the core or changing the renderer 2024-10-31 22:51:18 +01:00
f3bd58f75e do touchscreen input more properly 2024-10-31 22:10:25 +01:00
12b207d915 remember which windows are opened 2024-10-27 18:49:17 +01:00
238c552599 limit to 4 windows, and disable 'new window' menu item when that amount is reached 2024-10-27 16:26:29 +01:00
d79d45a117 properly sync up menus between windows of a same instance 2024-10-27 16:21:09 +01:00
6d345cc1ea correctly propagate video settings changes to all windows 2024-10-27 13:43:26 +01:00
e576538268 synchronize pause/unpause across all instances 2024-10-27 11:21:30 +01:00
24ca1a5fdb lay base for keeping config in sync across multiple instances 2024-10-27 10:02:57 +01: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
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
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
c6bf5d5181 Allow AREngine to be used independently of ARCodeFile (#2108)
* Make `EmuInstance::cheatFile` use a `unique_ptr`

- Fixes a memory leak, as the cheat file wasn't cleaned up in the destructor

* Split `AREngine` and `ARCodeFile` apart

- Suitable for frontends that have their own way of storing cheats
- Store the cheats in `AREngine` in a `std::vector`
- Apparently cheats are _supposed_ to be executed each frame; I didn't understand this until recently
2024-08-01 22:01:00 +02:00
9b828c2cde Implement Rumble Pak support. (#2101) 2024-07-21 17:01:30 +02:00
ccc5c955e9 fix one potential crash bug 2024-06-15 17:42:26 +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