Commit Graph

28 Commits

Author SHA1 Message Date
4ba8f330c4 fix framerate target not adjusting with vcount writes (#2181) 2024-10-30 19:40:33 +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
e6f0d77aa0 fix freeze when starting new emu instance while using OpenGL 2024-10-27 10:17:59 +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
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
74f479ce6d gdb stub config setup fixes 2024-09-11 14:41:22 +02:00
8d31875902 Backport LAN (#2131)
backport the old LAN feature to the modern melonDS codebase.
2024-08-10 23:20:50 +02:00
327ce45124 Refactor network implementations to be more reusable and less buggy (#2107)
encapsulate network interfaces
2024-08-01 22:02:45 +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
f3f6a6a194 Fix building on i686 Linux
I doubt anyone actually cares about support for it but hey may as well?
2024-08-01 21:57:32 +02:00
12563fb636 use platform file functions for savestates and NAND importing file check
should fix character encoding issues on Windows
2024-07-29 00:15:19 +02:00
5eadd67df6 EmuInstance: Use GetLocalFilePath to get the wfcsettings path
Fixes the file being created in the current working directory.
2024-07-17 15:44:47 +02:00
d92c9fcd90 do not immediately create a core when creating an EmuInstance. fixes some nasty potential bugs. watch out for bugs this may introduce though... 2024-07-15 12:57:18 +02:00
a82b5758bc Update EmuInstance.cpp (#2090) 2024-07-11 13:48:27 +02:00
4e3592f2d4 Fix loading GBA carts
UpdateConsole forgot to reinsert it when messing with the NDS.
2024-07-02 08:18:44 +02:00
f2611680ca EmuInstance: check consoleType from NDS rather than the instance's when
updating console, fixes crash on console type switch

EmuInstance::consoleType is already updated, so the check for whether we
should recreate the NDS to switch console type never succeeds.
2024-07-02 06:23:21 +02:00
626d2379bc * fix default for audio volume
* add default bools for battery settings
2024-06-17 14:51:32 +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