Commit Graph

309 Commits

Author SHA1 Message Date
RSDuck c03d83b7be remove qt_sdl dependency from frontend util 2020-10-28 19:45:50 +01:00
WaluigiWare64 8d70d0926c
Merge branch 'master' into feature/zip-support 2020-10-23 00:39:29 +01:00
WaluigiWare64 a8851a51f1 Switch to libarchive 2020-10-22 23:41:26 +01:00
Madhav Kanbur dc46da0e24 Input : Treat numpad keys as keypresses
Typically, modifiers are masked out of keypresses to distinguish
between hotkeys and keypresses. This patch prevents the numpad
modifier from getting masked out in KeyPress() and KeyRelease().

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>
2020-10-13 11:02:58 +05:30
kyandora f8c4bf6db1
save microphone hotkeys (#781) 2020-10-07 01:33:11 +02:00
Valeri 0d845c9e69
Random minor fixes (#757)
* Fix incorrect/questionable assert() usage

Originally reported by https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2159000700,
but also includes a bunch of other fixes.

* Fix some `printf` warnings

Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2160310550

* Remove useless check

It is never passed thanks to `if (num_in < 1) {...; return}` before
Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2154840804

* Add missing header guard, rename other to avoid conflicts

Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2163210746

* Make DSi_SDDevice destructor virtual

Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2158670642

* Use thread-safe localtime_r, assign `time` result directly

Rule https://lgtm.com/projects/g/Arisotura/melonDS/?mode=tree&ruleFocus=2154840805

* Fix MinGW build

It needs _POSIX_THREAD_SAFE_FUNCTIONS to export `localtime_r`
2020-10-01 13:44:09 +02:00
RSDuck 6977302403 make OpenGL renderer a build option
mostly meant for the Switch port
2020-10-01 00:01:05 +02:00
RSDuck f2fa52f26c add functionality to import savefiles 2020-09-11 03:08:06 +02:00
WaluigiWare64 ea640398f9
Add support for fullscreen hotkey (#748) 2020-09-06 22:59:35 +02:00
Arisotura 94d12c68b3 heh 2020-09-04 13:41:51 +02:00
Arisotura 5431c469c3 actually add DLDI. bahahahhh 2020-09-03 20:28:07 +02:00
v1993 aed7a32243
Fix "Improved polygon splitting" option in GUI 2020-08-31 18:56:20 +03:00
Arisotura 4be68aafe0 make SD support actually be a thing 2020-08-25 00:34:57 +02:00
Arisotura b36b3feb7f support .dsi extension for dragdrop/cmdline launching 2020-08-24 21:25:10 +02:00
Arisotura 31e83b2bf3 fix config file lookup. fixes #717 2020-08-24 21:14:46 +02:00
Arisotura f4427a89d0 disable savestate menu items in DSi mode 2020-08-24 20:13:58 +02:00
Arisotura 3685edeef2 make GL display also not default 2020-08-24 20:03:24 +02:00
Arisotura 13521211d2 make software renderer the default 2020-08-24 19:32:44 +02:00
Arisotura e7025abcdc * fix build error
* make betterer polygon splitting an option
* add GL_LEQUAL depth test for 'equal' mode, might help
2020-08-24 19:32:07 +02:00
Arisotura abccc44eec make MAC randomization optional 2020-08-24 19:19:41 +02:00
Arisotura e27d55505f blarg 2020-08-15 01:11:18 +02:00
Arisotura f8d1d08e9c (finally) build the goddamn cheat interface 2020-08-15 00:14:05 +02:00
Arisotura 4cefff2528 add AR code file parser and shit 2020-08-13 00:20:34 +02:00
Arisotura 28b8f614ee heh 2020-08-11 18:03:44 +02:00
Arisotura 0bd53a34ef lay base for the actual dialog
also make EmuSettingsDialog properly modal
2020-08-11 17:38:29 +02:00
Arisotura f23e782966 hey look. Arisotura the lazy derp finally made a dialog. 2020-08-11 15:58:41 +02:00
WaluigiWare64 240175f274
Update CMakeLists.txt 2020-08-06 14:39:42 +01:00
WaluigiWare64 6d71f9c832
Merge branch 'master' into feature/zip-support 2020-08-05 15:06:15 +01:00
U-RAYYAN-PC\Rayyan 7e5eafe345 Statically link libzip 2020-08-05 14:50:18 +01:00
Arisotura c5ecef7410 fix similar bug with emu settings dialog
also make the reset-warning dialog a bit betterer
2020-07-31 20:51:16 +02:00
Arisotura d21cd20290 fix some pause bugs 2020-07-31 20:45:30 +02:00
RSDuck a89741c628 fix unterminated string + remove some JIT logging 2020-07-29 01:31:57 +02:00
Nadia Holmquist Pedersen 6a682a8ef0 Link iconv instead of ${Iconv_LIBRARIES} because idk Windows 2020-07-26 22:26:50 +02:00
Nadia Holmquist Pedersen a1f939e0cb use FindIconv and link it on all platforms when not built in 2020-07-26 22:16:53 +02:00
Nadia Holmquist Pedersen 173e3b037c Link iconv for Windows static builds 2020-07-26 22:08:57 +02:00
Nadia Holmquist Pedersen b4ad35948d Merge remote-tracking branch 'upstream/slirp' into slirp-merge 2020-07-26 21:41:09 +02:00
WaluigiWare64 c351e777b4
part 2 of fix Linux invalid encoding 2020-07-24 18:25:07 +01:00
WaluigiWare64 a5d9f69127
Fix Linux "invalid encoding" filename 2020-07-24 18:19:02 +01:00
Arisotura ac8f44125b I'm a derp 2020-07-23 21:27:45 +02:00
WaluigiWare64 7937406af6
Change binary stream to u8 and cast to char* 2020-07-22 16:39:24 +01:00
WaluigiWare64 7fb67570e9
fix 2020-07-22 16:17:32 +01:00
WaluigiWare64 c8e934ce97
Fix indentation + delete contents 2020-07-22 16:01:18 +01:00
U-RAYYAN-PC\Rayyan 96e0e37156 Link it up to onOpenFile() 2020-07-22 15:15:56 +01:00
U-RAYYAN-PC\Rayyan 0009a3ffd1 Add the extractROM function 2020-07-22 15:13:14 +01:00
RSDuck 778623a8b7 make linux work and fix a few bugs 2020-07-04 18:58:00 +02:00
RSDuck c5381d2911 reconcile DSi and JIT, fastmem for x64 and Windows 2020-06-30 23:50:41 +02:00
Arisotura d9e1bf737c blarg 2020-06-21 18:34:53 +02:00
Arisotura c32da212f1 make it possible to static-link libslirp 2020-06-21 15:44:56 +02:00
Arisotura b31e049b30 wifi fixes and shit. getting there, somewhat. 2020-06-21 01:43:32 +02:00
Arisotura 91ff63a194 fix slirp crash when exiting without having inited slirp
also fix misc bugs
2020-06-16 14:09:54 +02:00
RSDuck d13d625f73 jit: make everything configurable 2020-06-16 11:53:21 +02:00
Arisotura fc5eedc716 * take nwifi forward some
* shut up CP15 printf's for Fx0
* fix bugs
2020-06-15 13:39:33 +02:00
Arisotura bbce434815 pointless fix 2020-06-05 20:22:55 +02:00
Arisotura 4b73f81ee0 clean it up 2020-06-05 20:20:03 +02:00
Arisotura a29e645340 get somewhere 2020-06-05 19:12:03 +02:00
Arisotura 200c494a55 get this little experiment started
for now all it does is crash
2020-06-04 15:15:09 +02:00
Nadia Holmquist Pedersen 924975f6db Use GenericConfigLocation so files will be placed correctly in non-portable Windows builds 2020-06-03 17:01:10 +02:00
Nadia Holmquist Pedersen a4b88f0294 Fix paths on Windows 2020-06-03 16:49:58 +02:00
Nadia Holmquist Pedersen f9644abb67 Handle open flags more correctly 2020-06-03 16:41:34 +02:00
Nadia Holmquist Pedersen 23aeb5fb72 Fix _dup on windows 2020-06-03 16:38:26 +02:00
Nadia Holmquist Pedersen 21f1856da2 Fix indentation 2020-06-03 14:54:36 +02:00
Nadia Holmquist Pedersen 7829070b7f Handle r+ file mode 2020-06-03 14:41:07 +02:00
Nadia Holmquist Pedersen 6e0425d34e Add missing threads dependency 2020-06-03 14:40:50 +02:00
Nadia Holmquist Pedersen f9f366e296 Merge remote-tracking branch 'remotes/upstream/master' into feature/qt-platform
# Conflicts:
#	src/frontend/qt_sdl/CMakeLists.txt
#	src/frontend/qt_sdl/Platform.cpp
#	src/frontend/qt_sdl/main.cpp
2020-06-03 13:54:28 +02:00
Arisotura d862b5869f allow .dsi files 2020-06-02 00:30:04 +02:00
Arisotura 43e045357f make it able to switch between DS and DSi modes 2020-06-01 20:36:30 +02:00
Arisotura d7b846619b add DSi-mode settings 2020-06-01 19:11:44 +02:00
Arisotura 8a15adb38b modern melonDSi
HARK HARK HARK
2020-05-30 03:26:06 +02:00
Arisotura b27ed541bb blarg 2020-05-30 00:38:31 +02:00
Arisotura c45068da0e embed romlist.bin 2020-05-30 00:28:21 +02:00
Arisotura 88823f66cb * fix the OpenGL shito under Linux
* make the 'BIOS not found' errors a bit more user-friendly
2020-05-29 22:18:21 +02:00
Arisotura 8ddd82ca2c I'm a derp 2020-05-29 21:35:06 +02:00
Arisotura 9557e18b7c fart around 2020-05-29 21:27:40 +02:00
Arisotura d3dd7bd988 get rid of console in release builds 2020-05-29 21:19:18 +02:00
Arisotura 935f121025 * add options for static linking
* make the vsync checkbox and shit work to some extent (they don't actually function tho)
2020-05-29 21:03:46 +02:00
Arisotura a38b20484d finish the wifi dialog
also guess who the idiot is who forgot to add their files
2020-05-28 23:12:21 +02:00
Arisotura 590ab2ac2b fix things 2020-05-28 22:37:37 +02:00
Arisotura b7946c1384 * flesh out design for wifi settings dialog
* move the pcap shit to a betterer place
2020-05-28 22:21:36 +02:00
Arisotura a2004785a4 re-add all old OSD messages 2020-05-28 18:22:02 +02:00
Arisotura 79d4183ccd re-add OSD system 2020-05-28 18:11:41 +02:00
Arisotura 2912a07b8b fix bugs, clean up some of the shit 2020-05-28 17:00:25 +02:00
Arisotura d1d572210f fix that bug here too 2020-05-28 16:07:34 +02:00
Arisotura d25dc40e70 make it a bit better 2020-05-28 16:04:22 +02:00
Arisotura f7e53c6f71 so you can't resize() before show()ing?? bullshit. 2020-05-28 15:58:18 +02:00
Arisotura 0804ab3c78 * rework GPU's settings interface, make it config-agnostic
* make video settings dialog functional, sorta
* fix dialogs that were resizable
2020-05-28 15:53:32 +02:00
Arisotura 5005a7c3f0 populate the dialog.
also add setting for vsync interval.
2020-05-28 13:21:25 +02:00
Arisotura 695839bb0e lay base for video settings dialog 2020-05-28 12:32:50 +02:00
Arisotura 0a68eb7803 make it hiDPI compliant (I hope)
also misc tweaks
2020-05-28 11:52:12 +02:00
Arisotura e8849db78a we don't need a GLShim.
blarg.

I don't understand this anymore.
2020-05-27 21:40:02 +02:00
Arisotura ef2802ae31 * use GL shim window instead of offscreen surface
* disable vsync by default (we'll take care of it later)
2020-05-27 21:29:47 +02:00
Arisotura 256360aebb texture2D -> texture
Intel driver threw a fit about it
2020-05-27 19:18:45 +02:00
Arisotura 36f4cdbbbf get the OpenGL renderer going.
sorta.

(also make the blackmagic_II branch obsolete in the process)
2020-05-25 18:25:50 +02:00
Arisotura 10f9eda58a get the whole OpenGL shit going 2020-05-25 14:59:26 +02:00
Arisotura 4e34359a80 get the GL shit going 2020-05-25 03:12:09 +02:00
Arisotura bc4a83abca make frontend-util audio module config-agnostic 2020-05-24 23:47:11 +02:00
Arisotura 16252a85e7 separate screen handling shit to a specialized class 2020-05-24 23:16:56 +02:00
Arisotura f69f3fcb7a * safer window update
* only do auto screen sizing if needed
2020-05-22 13:54:29 +02:00
RSDuck ffd9c61bf7 fix screen layout with emphasis 2020-05-21 19:45:33 +02:00
Arisotura 5dcf57e86d add screen filtering 2020-05-21 18:49:34 +02:00
Arisotura 8f9369beeb add screen layout system 2020-05-21 18:43:07 +02:00
Arisotura f79583bf16 add actual blow-into-mic sample that actually works 2020-05-21 02:33:48 +02:00
Arisotura 108647e033 * add audio settings dialog
* attempt at betterer mic noise that doesn't work worth a damn
2020-05-21 01:39:41 +02:00
Arisotura 9e43c85b4d hook up microphone shit.
I did my best.
2020-05-20 23:55:18 +02:00
Arisotura a9b275bc25 reimplement Stop 2020-05-20 22:58:04 +02:00
Arisotura 2ebb21ce3b hook up pause and reset, w/ relevant hotkeys 2020-05-20 22:22:22 +02:00
Arisotura 26dcc95c20 do the easy menus 2020-05-20 21:23:15 +02:00
Arisotura d761db0056 populate the menus with the config data 2020-05-20 21:19:04 +02:00
Arisotura 7be662b2dd finish fleshing out the menus 2020-05-20 20:57:12 +02:00
Arisotura 700b1a8b9d add window icon 2020-05-20 03:01:09 +02:00
Arisotura 5ed87a634a add drag-drop support 2020-05-20 02:36:48 +02:00
Arisotura 4dae6d8928 load shit from command line 2020-05-20 01:49:40 +02:00
Arisotura a2f9472e5d might help fix crashes on exit? 2020-05-20 01:11:57 +02:00
Arisotura 34133ef75c make it able to map the Tab key 2020-05-20 01:09:58 +02:00
Arisotura 68a7865096 basic touchscreen support 2020-05-19 22:57:15 +02:00
Arisotura 95f9698077 add back some hotkeys.
remove some legacy cruft from NDS.cpp.
2020-05-19 22:37:48 +02:00
Arisotura b262313816 actually hook up input to the core
also unbotch CMakeLists.txt
2020-05-19 22:22:21 +02:00
Arisotura 9df8d91bdc keep the ugliness confined in Platform.cpp 2020-05-19 21:34:24 +02:00
Arisotura 34506ff2bb actually complete the input config dialog 2020-05-19 20:48:52 +02:00
Arisotura 4b038f5d37 re-add old special keys for mapping (Esc=cancel, Backspace=clear) 2020-05-19 14:24:57 +02:00
Arisotura 04d38e5e66 axe the default key mappings (not too cross-platform and blargy) 2020-05-19 14:16:35 +02:00
Arisotura 23cc8c71a2 distinguish left/right Ctrl and Shift 2020-05-19 14:15:11 +02:00
StapleButter 2a7027f794 add AltGr, weak attempt at blocking garbage key names 2020-05-19 13:46:31 +02:00
StapleButter 9fbf9b997b this might be a good idea 2020-05-19 13:28:46 +02:00
StapleButter 7d69699d64 fix Linux build error 2020-05-19 14:37:54 +02:00
Arisotura 7026bb15f6 input dialog progress. 2020-05-19 12:06:25 +02:00
Arisotura 19566178ba begin adding input dialog 2020-05-17 18:33:03 +02:00
Arisotura c9a76edf21 probably fix some pretty bad issue
good one, Generic
2020-05-17 14:23:06 +02:00
Arisotura 0566c9e34c minor fix 2020-05-17 13:04:02 +02:00
Arisotura c5c9434ac9 verify BIOS and firmware before booting games/firmware 2020-05-17 05:42:09 +02:00
Arisotura 49b24ea2b3 this might be betterer 2020-05-17 04:42:15 +02:00
Arisotura 17d30e91f0 actually hook this up 2020-05-17 04:37:44 +02:00
Arisotura 60ba163f08 take this somewhere 2020-05-17 04:02:16 +02:00
Arisotura 492a4b4b46 add config entries for BIOS/firmware paths 2020-05-17 03:02:42 +02:00
Arisotura 2afa70b817 miserable little attempt at adding a dialog 2020-05-17 02:37:23 +02:00
Arisotura 978212e3e0 accept mouse events 2020-05-16 17:43:35 +02:00
Nadia Holmquist Pedersen b746c0b727 Only initially open files as writable if they actually should be. 2020-05-06 03:53:05 +02:00
Nadia Holmquist Pedersen beb3b20d5e Fix crash with nonexistent config directory or writable files. 2020-05-06 03:49:20 +02:00
Nadia Holmquist Pedersen 6cfe4faa56 Use Qt abstractions for file I/O and threading on both Windows and Linux. 2020-05-06 03:22:30 +02:00
Nadia Holmquist Pedersen ffe20c1236 Use Qt abstractions instead of glib's for paths on Linux 2020-05-06 02:39:50 +02:00
Arisotura 9432a9f382 remove useless variables 2020-05-03 15:05:52 +02:00
Arisotura aa4344e249 add audio output. HARK HARK HARK 2020-05-02 20:25:39 +02:00
Arisotura 690f39ca33 enable savestate slots when saving a new savestate 2020-05-02 19:41:03 +02:00
Arisotura 7f3e67c12a some more UI work 2020-04-30 01:02:17 +02:00
Arisotura 5fbad464c2 hook up savestate shito 2020-04-29 00:50:23 +02:00
Arisotura 47ff012f5e blarg 2020-04-28 22:46:31 +02:00
Arisotura 63efc2e02a add menu items for running the firmware and for quitting. 2020-04-28 22:45:11 +02:00
Arisotura 0913576ef5 FPS counter is back 2020-04-27 23:58:29 +02:00
Arisotura a8aa834c16 now with display! 2020-04-27 22:42:07 +02:00
Arisotura 3c883a2152 hey look, it runs shit now! 2020-04-27 22:32:33 +02:00
Arisotura 931da1c66f add a bunch of code 2020-04-27 22:02:45 +02:00
Arisotura d6efb03248 HARK HARK HARK 2020-04-27 20:59:11 +02:00
Arisotura d9c55a4f1f fix dumb include path shit. 2020-04-27 15:59:52 +02:00
Arisotura 690f9f3874 get some of the shit going, I guess
atleast the emuthread is going and we have its control system down

and other fun shit, too
2020-04-27 12:06:44 +02:00
Arisotura 439ca1b2b5 get a Qt window showing up. 'tis a start, I guess. 2020-04-25 20:43:09 +02:00
Arisotura 0bdafb6295 finally get this going, I guess 2020-04-25 19:31:19 +02:00
Arisotura d58c9d4b53 blarg 2020-04-25 18:56:39 +02:00
Arisotura 3b3a09ed2b attempt something. maybe this worked, maybe not. 2020-04-25 18:48:33 +02:00
Arisotura 231f0fc2e5 welp 2020-04-14 23:38:48 +02:00
Arisotura de405ce892 so, this is it
this was a glorious fight, but I admit defeat
2020-04-14 23:17:16 +02:00