Commit Graph

4669 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
drummyfish 3851a8230b comment fix 2017-05-15 13:06:18 -07:00
drummyfish 2fff4eac67 add new shader 2017-05-15 13:06:18 -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 669075582d Util: Tune patch-fast extent sizes 2017-04-29 01:39:46 -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 ad203c17bd All: Update CHANGES 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 8e79530cc6 Test: Fix crash when fuzzing fails to load a file 2017-04-29 01:39:46 -07:00
Vicki Pfau 367a126748 GBA Hardware: Fix crash if a savestate lies about game hardware 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 5b6bf9eb64 Test: Fix crash when loading invalid file 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