Commit Graph

4216 Commits

Author SHA1 Message Date
waddlesplash 2f23829b66 Qt: Switch to the C++11 connect() syntax.
A few connect()s have not been migrated because the best way to migrate them requires somewhat invasive changes. Other than that, everything has been moved over.
2017-05-16 11:34:11 -07:00
waddlesplash 78e4083a56 Qt: New library system (#549) 2017-05-15 16:27:29 -07:00
Lioncash aa4423a68f Core Input: Correct a memset size within mInputUnbindHat()
Previously the binding struct wouldn't be fully invalidated.
2017-05-14 18:36:19 -07:00
Anty-Lemon 86cf8a90a3 SDL: Prevent resizing below 1x resolution with integer scaling 2017-05-06 18:18:21 -07:00
Anty-Lemon 3889fd4d3f SDL: Add integer scaling 2017-05-06 18:18:21 -07:00
Eevee (Lexy Munroe) b58d216868 Qt: Fix resetting selected gamepad when opening settings dialog
I have a Wacom tablet always plugged in.  For unrelated asinine reasons,
SDL detects both the pen and the tablet itself as (completely useless)
gamepads, so they always show up in the list first.  I also have a Wii U
Bluetooth controller, which shows up third.

When the settings dialog is spawned, selectGamepad is bound to the
currentIndexChanged event, so picking a controller from the combobox
will call it.  The current index is initially -1 (because the combobox
is empty), and when updateJoysticks is called to populate it, the index
automatically changes to 0.  The event is fired and the current gamepad
is changed to the first one, which in my case is my tablet pen.
updateJoysticks tries to avoid this by explicitly reselecting the active
gamepad after refreshing the combobox, but at this point the "active"
gamepad has already changed.

The upshot of this was that opening the settings dialog for any reason
would disable my controller, unless I remembered to go change it back.
I've also seen the button configuration for the wacom pen or controller
be saved under each others' names.

The fix, which works on my machine™, is to disable signals altogether
while mucking with the contents of the combobox, explicitly reselect the
right gamepad, and then explicitly call selectGamepad.  (I dropped the
last two lines because the same thing is already done in refresh, which
is called by selectGamepad.)

Arguably this is still a little wrong:

- If I unplugged my Wacom tablet, my controller would shift upwards to
  slot 0.  This code would fail to notice and keep trying to use joystick
  2.  That's a pretty obscure case, though, and maybe difficult to fix
  correctly.

- This panel makes changes immediately, but it should wait for OK or Apply.
2017-05-05 21:07:20 -07:00
Eevee (Lexy Munroe) 63197308b6 Core: Fix maximum length of INI section names
It was a generous 128, but the inih library has its own maximum length
of 50.  Any longer keys were truncated by inih, so they appeared to be
missing when mgba tried to read the longer key again later.

This was causing the configuration for my Nintendo Wii Remote Pro
Controller to be effectively lost; the key name ended up at 53
characters.

Arguably inih should truncate when reading, too, but...
2017-05-05 21:07:20 -07:00
Eevee (Lexy Munroe) e1b681f603 Qt: Fix race condition when opening sprites window 2017-05-05 21:07:20 -07:00
Lothar Serra Mari 87170f9b77 Qt: Update German GUI translation
Added translations for strings related to the new Video Log feature.
Also improved some older translations.
2017-04-30 15:11:30 -07:00
Vicki Pfau 29e5e3b42d Core: Move rewind diffing to its own thread 2017-04-29 01:39:46 -07:00
Vicki Pfau 27c7088038 Qt: Fix mCoreConfig leaking 2017-04-29 01:39:46 -07:00
Vicki Pfau 417012632c GBA Serialize: Remove unused function 2017-04-29 01:39:46 -07:00
Vicki Pfau 2fdb5a1ff9 Feature: Move several headers into include/ 2017-04-29 01:39:46 -07:00
Vicki Pfau 8358586cc6 GB Video: Fix resetting proxy backend unnecessarily 2017-04-29 01:39:46 -07:00
Vicki Pfau 0ed5973f84 Core: Reject mVL with zero-length initial states 2017-04-29 01:39:46 -07:00
Vicki Pfau 6a14c30e3b Core: Enforce max mVL block size 2017-04-29 01:39:46 -07:00
Vicki Pfau 909886d2e1 Core: Fix memory leak when reloading mVL header 2017-04-29 01:39:46 -07:00
Vicki Pfau 91491e704e GB, GBA Core: Ensure the core is halted even if a state is not loaded 2017-04-29 01:39:46 -07:00
Vicki Pfau 5cda42077c Core: Fix missing tailing bytes of video logs 2017-04-29 01:39:46 -07:00
Vicki Pfau aec8b82756 GB, GBA Core: Reset audio when loading mVL states so audio sync works 2017-04-29 01:39:46 -07:00
Vicki Pfau 25beafcc11 GB, GBA Core: Only deserialize needed parts of savestates for mVL 2017-04-29 01:39:46 -07:00
Vicki Pfau 63ed7421ce Core: Fix rewinding video logs when decompressing 2017-04-29 01:39:46 -07:00
Vicki Pfau f67052eebc Core: Clean up mVL compression 2017-04-29 01:39:46 -07:00
Vicki Pfau 6b547899a8 VFS: Add VFileFIFO for operating on circle buffers 2017-04-29 01:39:46 -07:00
Vicki Pfau 31fa64efac Core: Compressed video log states 2017-04-29 01:39:46 -07:00
Vicki Pfau f82ef55517 Core: Compressed video logs 2017-04-29 01:39:46 -07:00
Vicki Pfau c4aa669cf1 Core: Fix flushing a read video log 2017-04-29 01:39:46 -07:00
Vicki Pfau deffdc79a0 Core: New mVL file format 2017-04-29 01:39:46 -07:00
Vicki Pfau 3021996a49 All: Cleanup and buildfixing 2017-04-29 01:39:45 -07:00
Vicki Pfau 716a245397 GB, GBA Video: Fix integer overflow 2017-04-29 01:39:45 -07:00
Vicki Pfau caf59d726f GBA Video: mVL bounds checking 2017-04-29 01:39:45 -07:00
Vicki Pfau 8d6edf9033 GB Video: mVL bounds checking 2017-04-29 01:39:45 -07:00
Vicki Pfau 1731d4f975 Test: Don't rely on core for frames elapsed 2017-04-29 01:39:45 -07:00
Vicki Pfau 9b0a5e566e GB Video: Fix proxy renderer for GBC 2017-04-29 01:39:12 -07:00
Vicki Pfau 3dbd49a307 GB, GBA Video: Put back missing finishFrame callback 2017-04-29 01:39:12 -07:00
Vicki Pfau d4deaf6292 GB: Video tester 2017-04-29 01:39:12 -07:00
Vicki Pfau 1b6531e320 Core: Add more video log types 2017-04-29 01:39:12 -07:00
Vicki Pfau db4a873d9c GB: Rearrange some scheduling for better callback ability 2017-04-29 01:39:11 -07:00
Vicki Pfau 3b69fb767c Feature: Make thread proxy generic 2017-04-29 01:39:11 -07:00
Vicki Pfau b8593bdb7b Core: Allow video playback to be non-blocking 2017-04-29 01:39:11 -07:00
Vicki Pfau 3f92b1e67f GBA Video: Trim down GBAVideoProxyRenderer 2017-04-29 01:39:11 -07:00
Vicki Pfau fbb02475da VFS: Optimize expanding in-memory files 2017-04-29 01:39:11 -07:00
Vicki Pfau 5665ac0316 GBA Core: Video log playing 2017-04-29 01:39:11 -07:00
Vicki Pfau 73947766de Core: Video log recording 2017-04-29 01:39:11 -07:00
Vicki Pfau bed6ba1fc4 GBA Video: Refactor thread proxy out from proxy 2017-04-29 01:39:11 -07:00
Vicki Pfau eab5ed6e14 Core: Begin splitting threading out from GBA proxy 2017-04-29 01:39:11 -07:00
Vicki Pfau 11edac0aa4 Core: Start working on video proxy 2017-04-29 01:39:11 -07:00
Anty-Lemon a861af6a97 Qt: Fix builds without GDB stub and libpng 2017-04-29 01:38:37 -07:00
Anty-Lemon a5f029c2fa GBA: Fix typo of GBAIsBIOS 2017-04-27 11:02:56 -07:00
Anty-Lemon d84cee4700 SDL: Fix GLES2 build 2017-04-27 11:02:27 -07:00
Anty-Lemon d68a4f97c5 SDL: Fix software renderer build 2017-04-27 11:02:27 -07:00
Augustin Cavalier 953335846b All: Fix build on Haiku. 2017-04-26 12:15:16 -07:00
Lothar Serra Mari c4e06cc904 Qt: Update German GUI translation
Some new strings added and a few strings polished.
2017-04-25 12:49:39 -07:00
Vicki Pfau bcf0e8ec59 GBA: Fix multiboot loading resulting in too small WRAM 2017-04-25 11:58:05 -07:00
Vicki Pfau 870c375cf6 Test: Fix crash when fuzzing fails to load a file 2017-04-24 13:39:21 -07:00
Vicki Pfau 422c3a25b8 GBA Hardware: Fix crash if a savestate lies about game hardware 2017-04-24 13:39:21 -07:00
Vicki Pfau 93122df1f4 Test: Fix crash when loading invalid file 2017-04-24 13:39:20 -07:00
Vicki Pfau 6fb7c0780a Qt: Handle interrupting CLI debugger better (fixes #697) 2017-04-22 18:40:55 -07:00
Vicki Pfau 36c66e7db4 Qt: Fix logo missing with integer scaling (fixes #696) 2017-04-22 18:29:10 -07:00
Vicki Pfau 3b4ccb84d2 Qt: Fix several debugger hangs and odd cases (fixes #691) 2017-04-22 01:39:21 -07:00
Vicki Pfau 8c095ec885 Qt: Fix crash when first CLI command is empty (fixes #693) 2017-04-22 00:41:58 -07:00
Vicki Pfau 2d930cbc61 All: Add option to lock video to integer scaling 2017-04-21 18:13:16 -07:00
Vicki Pfau 69a30f9501 Qt: Fix build 2017-04-21 17:50:22 -07:00
Vicki Pfau 189169e8ec Qt: Auto-generate audio/video layer menus 2017-04-21 17:31:04 -07:00
Vicki Pfau 3a8c5c4bf1 GB: Video/audio channel enabling/disabling 2017-04-21 17:30:30 -07:00
Vicki Pfau 2a7f642d4c Qt: Fix regression with windows not closing 2017-04-21 16:38:26 -07:00
Vicki Pfau 84dc182a5d Core: Fix crash with rewind if savestates shrink 2017-04-21 16:22:48 -07:00
Vicki Pfau 01832ec513 Qt: Ensure CLI backend is attached when submitting commands (fixes #662) 2017-04-21 16:21:50 -07:00
Vicki Pfau 8b805b3909 Debugger: Make attaching a backend idempotent 2017-04-21 16:20:52 -07:00
Vicki Pfau a159e37793 GBA Video: Don't update background scanline params in mode 0 (fixes #377) 2017-04-21 03:15:39 -07:00
Vicki Pfau 14dc01409c GBA BIOS: ArcTan/ArcTan2 residual register state 2017-04-21 00:01:35 -07:00
Vicki Pfau b154457857 GBA BIOS: More tiny fixes to ArcTan2 2017-04-20 23:18:51 -07:00
Vicki Pfau f4abdd6c4c GBA BIOS: Fix ArcTan2 sign in HLE BIOS (fixes #689) 2017-04-20 17:59:02 -07:00
Vicki Pfau c9d411a762 GBA BIOS: Fix ArcTan sign in HLE BIOS 2017-04-20 17:53:01 -07:00
Vicki Pfau 997ba3572b PSP2: Minor touchups 2017-04-20 01:41:43 -07:00
Vicki Pfau f116713f2e Python: Fix build in some cases 2017-04-18 17:26:30 -07:00
Vicki Pfau b65992a1b8 PSP2: Update for new toolchain 2017-04-17 01:12:23 -07:00
Vicki Pfau b486223532 GB, GBA: Make ensure clock end frame is always the same 2017-04-15 21:25:07 -07:00
Vicki Pfau 0c917138ea Qt: Code cleanup 2017-04-13 00:28:41 -07:00
Vicki Pfau 959f66a1a0 Core: Add option to allow preloading the entire ROM before running 2017-04-13 00:28:28 -07:00
Vicki Pfau 58c9bcf67a Core: Ability to enumerate and modify video and audio channels 2017-04-12 13:28:21 -07:00
Vicki Pfau 9ced6724c1 Qt: Attempt to fix #622 2017-04-12 13:23:10 -07:00
Vicki Pfau d16df69790 Feature: Command line ability to override configuration values 2017-04-11 22:20:37 -07:00
Vicki Pfau bf716b947a Util: Move StringList to string.c 2017-04-11 22:18:33 -07:00
Vicki Pfau 7dc9eb4d56 Feature: Make -l option explicit 2017-04-11 22:18:33 -07:00
Vicki Pfau f8eef19bd6 Qt: Remove debug messages 2017-04-11 11:05:53 -07:00
Vicki Pfau 7bc6c579ce Qt: Ensure audio processor is paused before closing thread 2017-04-09 23:34:23 -07:00
Vicki Pfau 473ae29d82 GBA: Add GBA luminance peripheral 2017-04-09 19:47:19 -07:00
Vicki Pfau e063e05662 Core: Unify peripheral attachment 2017-04-09 19:46:52 -07:00
Vicki Pfau 5646ba7d60 Core: Fix Windows build 2017-04-09 19:18:29 -07:00
Vicki Pfau 484618ca4c Core: Restore sleep callback 2017-04-09 19:13:13 -07:00
Vicki Pfau f0ea421fea Qt: Fix Qt5Network removal 2017-04-08 23:45:07 -07:00
Vicki Pfau 7784ecb2c5 Qt: Fix threading issues shutting down game audio 2017-04-07 22:21:41 -07:00
Vicki Pfau 19d0ca3b8b Qt: Fix crash when changing audio settings after a game is closed 2017-04-06 11:54:13 -07:00
Vicki Pfau 2fbd31c51a Qt: Make "Mute" able to be bound to a key (fixes #559) 2017-04-05 13:17:30 -07:00
waddlesplash 81f38fd76f SDL: Fix build on MSVC. 2017-04-04 11:51:46 -07:00
Vicki Pfau 6a77d2aaea FFmpeg: Force MP4 files to YUV420P 2017-04-04 02:02:29 -07:00
Vicki Pfau d9b645b209 FFmpeg: Return false if a file fails to open 2017-04-04 02:01:06 -07:00
Vicki Pfau 133424bd4f FFmpeg: Fix overflow and general issues with audio encoding 2017-04-04 02:00:10 -07:00
Vicki Pfau ba65740b15 GB: Allow setting DMG palette 2017-04-03 14:32:21 -07:00