Commit Graph

23773 Commits

Author SHA1 Message Date
0a75e71672 DolphinNoGUI: Add a FBDev platform
And the associated GLContext bits
2019-09-01 14:00:40 +10:00
43fe02ee9b GLContext: Get size using eglQuerySurface()
Also no longer assumes that a nullptr display is not headless (needed for fbdev)
2019-09-01 13:35:11 +10:00
6bfa4fa643 LogWidget: Use FixedSizeQueue for a log messages buffer
Messages buffer is intended to be of a fixed capacity (MAX_LOG_LINES),
which cannot be achieved by std::queue unless we manually pop() extra elements.
std::queue uses std::deque internally which most likely results in allocations performed continuously.
FixedSizeQueue keeps a single buffer during its entire lifetime, avoiding any allocations except the ones
performed by stored objects.
2019-08-31 21:18:07 +02:00
b3969e91d9 FixedSizeQueue: Bugfixes and improvements
- Fixed a bug where pushing items over queue's size left it in a corrupted state
- For non-trivial types, have clear() and pop() run destructors
- Added emplace(args...)
- Added empty()

FixedSizeQueue has semantics of a circular buffer,
so pushing items continuously is expected to keep overwriting oldest elements gracefully.

Tests have been updated to verify correctness of a previously bugged behaviour
and to verify correctness of destructing non-trivial types
2019-08-31 21:18:07 +02:00
b088fc37d5 LogWidget: Do not use QueueOnObject to construct log queue,
instead store a std::string constructed from string_view and convert to QString just before appending
2019-08-31 11:59:09 +02:00
e746d95d01 LogWidget: Stop update timer when log window is invisible so it doesn't continuously update in the background 2019-08-31 11:57:27 +02:00
7cec8601f1 LogWidget: Remove scrollbar tampering code (doesn't seem to do anything), clear text queue on clearing log 2019-08-31 11:57:07 +02:00
eb7d42dfe8 LogWidget: Replace QTextEdit with QPlainTextEdit for better performance
QTextEdit is heavy, similar in functionality to WordPad,
while QPlainTextEdit is lightweight like Notepad.
Qt documentation recommends using QPlainTextEdit for log viewers,
and it also allows to set automatic cutoff of oldest messages beyond a fixed point,
which we now set to MAX_LOG_LINES (5000)
2019-08-31 10:46:04 +02:00
eab086b880 ConsoleListenerWin: Properly output console logging in UTF-16 so UTF-8 displays properly 2019-08-31 00:44:44 +02:00
c268aa3a46 SI: Reduce logging. 2019-08-28 22:16:41 -04:00
37ef5a54c9 Core: Use move semantics for Renderer::SaveScreenshot 2019-08-28 19:52:35 +02:00
ff8f978eaf Core: Generate screenshot name with timestamps instead of only increasing numbers 2019-08-28 19:52:35 +02:00
9e3b867c6a VideoInterface: start counting half-lines at 0 instead of 1
- Re-organize VideoInterface::Update() to count half-lines starting at 0 instead of 1
- Use horizontal position when checking if we should assert some display interrupt
- Add some more descriptive comments
2019-08-26 20:43:26 -05:00
a3d8a8be06 NetPlay: Remove 'reduce polling rate' option
With the SI poll line count fixed, pretty much all games are polling
twice per frame anyways, making this option superfluous. Since it's a
bit of a gross hack and makes DTMs incompatible with console, let's
just bin it.
2019-08-26 02:11:49 -04:00
87c5e0b30e VolumeVerifier: Add Redump.org downloading 2019-08-25 12:53:19 +02:00
3eb360b818 VolumeVerifier: Add zip support for datfile 2019-08-24 16:37:19 +02:00
22933d8502 VolumeVerifier: Add datfile parsing 2019-08-24 16:37:19 +02:00
88522b7a26 Merge pull request #8327 from JosJuice/more-string-view-regression
DolphinQt: Fix whitelisting USB devices
2019-08-23 21:32:13 +10:00
c1a0a8f84a DolphinQt: Fix whitelisting USB devices
Revert of https://github.com/dolphin-emu/dolphin/pull/8233#discussion_r306223322
2019-08-23 13:22:33 +02:00
5614594f5e Qt/GCMemcardManager: Add an 'All Files' option to the filetype selection. 2019-08-22 20:18:21 +02:00
f414d926c1 ActionReplay: Make use of fmt where applicable
Converts the ActionReplay logging over to using fmt instead of
StringFromFormat.
2019-08-21 17:59:33 -04:00
f79ca65170 UICommon: Remove Android hacks from GameFile 2019-08-21 18:48:52 +02:00
2a95227f64 Merge pull request #8255 from JosJuice/remove-unsigned-warning
Remove "not signed by Nintendo" warning when installing WADs
2019-08-21 09:38:35 -07:00
5f38386575 Merge pull request #8222 from JosJuice/allow-mismatched-region-settings
Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
2019-08-21 09:00:06 -07:00
bf9427fafe Merge pull request #8314 from JosJuice/menubar-movie-more
DolphinQt: Fix the enabling/disabling of Movie items even more
2019-08-21 08:58:24 -07:00
35eb63de2c Merge pull request #8300 from AdmiralCurtiss/gcmemcard-construction
GCMemcard: Rework construction logic.
2019-08-21 08:56:31 -07:00
288dd649da Merge pull request #8273 from CookiePLMonster/config-threading-fixes
Threading fixes for config layers
2019-08-21 08:55:03 -07:00
bbae0424a1 Merge pull request #8319 from Tilka/mcrfs
Jit64: fix mcrfs
2019-08-20 21:28:52 +01:00
df0ff7f3bb Enable adapter combo on emulation state change only if adapters are supported by current backend 2019-08-20 20:08:14 +02:00
674a66aab2 Merge pull request #8312 from JosJuice/btreal-bitwise-enum
BTReal.cpp: Don't use bitwise operators on enum values
2019-08-20 12:24:57 +10:00
82fe8f61b6 Merge pull request #8308 from CookiePLMonster/cmdline-headless
Make --batch run Dolphin headless
2019-08-20 12:22:50 +10:00
6efab4e3c6 Merge pull request #8280 from CookiePLMonster/alert-msg-box-modality-fix
Make alert messages application modal and not window modal
2019-08-20 10:58:57 +10:00
fe8c9dfa14 WinUpdater: Properly initialize COM on window thread and release ITaskbarList3 on exit 2019-08-19 22:37:48 +02:00
23f335ba91 Core/CPU: Make use of type deduction for scoped locks 2019-08-18 17:39:27 +02:00
2bc9e09456 Core/CPU: Do not yield to UI from CPU methods
Core::RunAsCPUThread may be called from Qt signals, and if code yields to UI there
then it results in infinite recursion
2019-08-18 17:39:26 +02:00
ee85ec95b4 Jit64: fix mcrfs
It was deleting the wrong bits. This fixes issue 10074 (Super Monkey
Ball 2 minigame). I introduced this regression in
0f2c656687.
2019-08-18 03:49:32 +01:00
12ac784a41 Fix "Muted%" OSD message when muting sounds via a hotkey 2019-08-17 12:17:09 +02:00
7b9d43a834 Qt/GCMemcardManager and Qt/GameCubePane: Give detailed error messages for invalid memory cards. 2019-08-15 18:21:48 +02:00
ba8ffd9391 GCMemcard: Check if the Directory's number-of-blocks claim for files matches the BAT, and report an error if it doesn't. 2019-08-15 18:21:48 +02:00
7d4cabea07 GCMemcard: The update counters are interpreted as signed values for the newer-than comparison. 2019-08-15 18:21:47 +02:00
8fc2f0ff2d GCMemcard: Rename MemCardXMb constants to MBIT_SIZE_MEMORY_CARD_X for consistency with other constants. 2019-08-15 18:21:45 +02:00
b54a49eaaf GCMemcard: Rework construction logic to better match our knowledge of the format, while providing better error reporting facilities. 2019-08-15 18:18:56 +02:00
e67eb4693e Fix implicit false-to-nullptr conversions 2019-08-15 17:49:57 +02:00
a66ca85dd5 DolphinQt: Fix the enabling/disabling of Movie items even more
Play can only be used when a game is selected and emulation is not
running. Start can be used when a game is selected (to start from
cold boot) or when emulation is running (to start from a savestate).

https://bugs.dolphin-emu.org/issues/11826
2019-08-14 13:45:07 +02:00
181d79228a Merge pull request #8275 from bdr99/netplay-player-log
NetPlay: Show a message in chat when a player joins or leaves
2019-08-14 11:23:18 +10:00
8857db9833 Check validity of iterator before dereferencing 2019-08-13 18:00:12 -07:00
f3dac2c041 BTReal.cpp: Don't use bitwise operators on enum values
https://bugs.dolphin-emu.org/issues/11692#note-11
2019-08-13 23:58:18 +02:00
b6df0bff93 Make --batch run Dolphin in headless mode, provided --exec is also passed 2019-08-11 20:58:04 +02:00
80e8037e0b Truly use emplace_back in CommandLineConfigLayerLoader constructor 2019-08-11 20:43:18 +02:00
9cc719db02 Fix TitleDatabase
a2a1e04 regression.
2019-08-09 18:20:45 +02:00