Léo Lam
89b0ab2d22
StringUtil: Add IsPrintableCharacter and use it
...
Add a function that safely returns whether a character is printable
i.e. whether 0x20 <= c <= 0x7e is true.
This is done in several places in our codebase and it's easy to run
into undefined behaviour if the C version defined in <cctype>
is used instead of this one, since its behaviour is undefined
if the character is not representable as an unsigned char.
This fixes MemoryViewWidget.
2020-01-16 00:22:26 +01:00
Pokechu22
0a6a53e301
Always display the horizontal scroll bar when log word wrap is off
...
Otherwise, a line that's too wide for the log widget will cause the horizontal scroll bar to appear, which reduces the vertical height, and causes the most recent line to be off screen. Since that line is off screen, the log widget no longer scrolls as new lines appear, unless it's manually scrolled to the very bottom again.
2020-01-15 13:59:09 -08:00
Tilka
1cc7ef356b
Merge pull request #8558 from JosJuice/volume-oob
...
DiscIO: Add out of bounds checks for blob reading
2020-01-15 13:48:00 +00:00
Pierre Bourdon
1ac3264d5d
Merge pull request #8545 from jordan-woyak/imu-cursor-centering
...
WiimoteEmu: IMU pointing behavior improvements and code cleanup.
2020-01-15 12:10:57 +01:00
Léo Lam
d2efad58af
Merge pull request #8562 from jordan-woyak/sens-slider
...
Core/DolphinQt: Fix IR Sensitivity slider.
2020-01-15 00:29:24 +01:00
Jordan Woyak
b416389248
Core/DolphinQt: Fix IR Sensitivity slider.
2020-01-14 17:08:21 -06:00
JosJuice
297b790e4f
DiscIO: Add out of bounds checks for blob reading
2020-01-14 18:59:31 +01:00
JosJuice
21c152f51f
Fix Error #001 (alternative solution)
...
This is an alternative to PR 8557 and PR 8558. The way this PR solves
the problem is essentially the same as what we had before PR 8394
(except the code we had back then only worked because it was broken).
2020-01-14 16:47:14 +01:00
Pokechu22
ddba80133a
Fix launching DTK games with MIOS
2020-01-13 20:07:59 -08:00
Pokechu22
d67c4f34d1
Fix crash when launching gamecube games with MIOS (from the Wii menu)
2020-01-13 19:48:19 -08:00
Stenzek
11ba623f26
Add an option to present/skip presenting duplicate frames
...
Currently, we do not display every second frame in 25fps/30fps games
which run to vsync. This improves performance as there's less rendering
for the GPU to perform, but when combined with vsync, could cause frame
pacing issues.
This commit adds an option to force every frame generated by the console
to be displayed to the host, which may improve pacing for these games.
2020-01-14 10:57:35 +10:00
Jordan Woyak
f5d9b78a3c
DolphinQt: Properly hide Wii remote extension motion tabs when no extension is selected.
2020-01-13 18:34:04 -06:00
Connor McLaughlin
efc1ee8e6a
Merge pull request #8537 from degasus/fastmem
...
Core/HW -> PowerPC/JIT: Fastmem arena construction
2020-01-14 09:38:15 +10:00
Jordan Woyak
6106f780a7
ControllerInterface/DSUClient: Eliminate m_accl/m_gyro state by accessing the pad data directly like every other input.
2020-01-13 17:35:33 -06:00
JMC47
eacbff76dd
Merge pull request #8474 from jordan-woyak/dsu-battery
...
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 18:30:53 -05:00
Jordan Woyak
e2d5c92c76
ControllerInterface: Remove and re-add device when combining nodes.
2020-01-13 16:50:58 -06:00
Jordan Woyak
aabe8d2ccd
ControllerInterface: Don't consider the empty string a valid unique ID.
2020-01-13 16:50:58 -06:00
Jordan Woyak
ac907ef977
ControllerInterface: Combine evdev devices with the same unique ID.
...
This works around Linux drivers for DS4 (Playstation 4) controllers splitting the device into three separate event nodes which makes configuration difficult.
To prevent collisions of input names in combined devices more descriptive names are now used when possible.
2020-01-13 16:50:56 -06:00
Jordan Woyak
2b9fa0597a
ControllerInterface: Minor DSU client device cleanups.
2020-01-13 16:32:02 -06:00
JosJuice
da59f97278
Merge pull request #8549 from leoetlino/clang-format-9
...
Require clang-format 9 and reformat source code
2020-01-13 23:30:26 +01:00
Jordan Woyak
f0534cabc6
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 16:29:24 -06:00
JMC47
48fd27cdab
Merge pull request #8451 from rlnilsen/motion-input-nunchuk
...
Add motion input support to nunchuk
2020-01-13 17:08:03 -05:00
JosJuice
966e1b31ba
Merge pull request #8394 from Pokechu22/misc-di-gpio
...
Various DI improvements
2020-01-13 17:17:24 +01:00
Connor McLaughlin
ae6d3be449
Merge pull request #8530 from s-daveb/master
...
MacOS: Fixes configuration hang; bump MacOS SDK.
2020-01-13 20:21:08 +10:00
Sintendo
bdcdd763fe
x64Emitter: Remove unused macros
...
No users, and one them seems to do the same as stddef.h's offsetof()
already used elsewhere.
2020-01-13 08:43:42 +01:00
Sintendo
f82c38e156
X64Emitter: Remove obsolete TODO
...
TODO was already taken care of in PR #941 .
2020-01-13 08:43:42 +01:00
Sintendo
bdfc472751
x64Emitter: Refactor OpArg::WriteRest
...
Shorter, displacement is now handled in one location.
2020-01-13 08:43:42 +01:00
Sintendo
cde3a3b448
x64Emitter: Avoid 8-bit displacement when possible
...
Due to the way the ModRM encoding works on x86, memory addressing
combinations involving RBP or R13 need an additional byte for an 8-bit
displacement of zero.
However, this was also applied in cases where it is unnecessary,
effectively wasting a byte.
- MatR with RSP or R12
8B 44 24 00 mov eax,dword ptr [rsp]
8B 04 24 mov eax,dword ptr [rsp]
- MRegSum with base != RBP or R13
46 8D 7C 37 00 lea r15d,[rdi+r14]
46 8D 3C 37 lea r15d,[rdi+r14]
- MComplex without offset
8B 4C CA 00 mov ecx,dword ptr [rdx+rcx*8]
8B 0C CA mov ecx,dword ptr [rdx+rcx*8]
2020-01-13 08:43:42 +01:00
Jordan Woyak
d9bd714143
WiimoteEmu: Nunchuk and Classic Controller calibration accuracy improvements.
2020-01-12 09:48:37 -06:00
Stenzek
d8b2be9d06
DolphinQt: Support compiling on ARM64
2020-01-12 15:23:42 +10:00
Jordan Woyak
0aacf3a627
WiimoteEmu: Make the "Total Yaw" setting work again.
2020-01-09 13:11:13 -06:00
Léo Lam
4cc2d97294
Require clang-format 9 and reformat source code
...
This updates the lint script to require clang-format 9 and reformats
existing source code. Since VS2019 ships with clang-format 9 this
should make auto reformats less painful.
This also updates the clang-format configuration to set
BraceWrapping.AfterCaseLabel to true to ensure consistent brace
style; otherwise clang-format 9+ defaults to putting braces on
the same line as switch case labels.
2020-01-08 22:18:15 +01:00
Scott Mansell
a8c33f4ef6
Fix trailing whitespace
2020-01-07 12:52:05 +13:00
Scott Mansell
21528c3e72
Document the evdev "interesting" heuristic
...
Was checking over this old code, and saw a comment calling me out for a lack of documentation.
It might be half a decade late, but better late then never.
2020-01-07 12:46:24 +13:00
Tilka
98f645daac
Merge pull request #8158 from Sintendo/jitopts
...
x64 micro-optimizations
2020-01-06 14:09:43 +01:00
Tilka
f17f03ea3c
Merge pull request #8551 from Sintendo/jit64addx
...
Jit64: addx optimizations
2020-01-06 13:15:17 +01:00
Tilka
6e18dfb600
Merge pull request #8133 from Sintendo/mov64imm32
...
x64Emitter: Emit shorter MOVs for 32-bit immediates
2020-01-06 13:12:56 +01:00
Sintendo
12fcbac2a3
Jit64: addx - Emit LEA for register + immediate
...
Prefer LEA over MOV + ADD when dealing with immediates.
Before:
44 8B EE mov r13d,esi
41 83 C5 20 add r13d,20h
After:
44 8D 6E 20 lea r13d,[rsi+20h]
2020-01-05 23:39:13 +01:00
Sintendo
8e7b6f4178
Jit64: addx - Prefer ADD over LEA when possible
...
The old logic would always emit LEA when both sources are in a register
and OE is disabled. However, ADD is still preferable when one of the
sources matches the destination.
Before:
45 8D 6C 35 00 lea r13d,[r13+rsi]
After:
44 03 EE add r13d,esi
2020-01-05 23:23:56 +01:00
Léo Lam
c1f9bfce30
IOS/ES: Add SetUid exception for the Wii U Transfer Tool
...
The ES sysmodule in IOS62 (v6430) has an exception for the
Wii U Transfer Tool in the SetUid function.
If the active title is the Wii U Transfer Tool, then calling SetUid
is always allowed. (The UID is still checked first, though.)
Fixes https://bugs.dolphin-emu.org/issues/10985
2020-01-05 18:16:54 +01:00
Jordan Woyak
956339df4e
Core/WiimoteReal: Make wiimote source type an enum class and add Get/SetWiimoteSource functions. Add connected real Wii Remotes to a pool when a slot is not available.
2020-01-05 10:15:22 -06:00
Léo Lam
f35f4f2bf0
Merge pull request #8541 from jordan-woyak/float-parse-fix
...
StringUtil: Make TryParse of floats handle comma and dot decimal separators.
2020-01-05 12:12:09 +01:00
Pokechu22
3b5d20e12c
Bump state version
2020-01-04 11:43:33 -08:00
Pokechu22
51f8a3606e
Return error code to game when using unimplemented commands
2020-01-04 11:43:32 -08:00
Pokechu22
af5f0b20bb
Report use of various unimplemented DI commands as game quirks
2020-01-04 11:43:32 -08:00
Pokechu22
f1dc908883
Clarify emulated behavior for ReadBCA
2020-01-04 11:43:32 -08:00
Pokechu22
6c0399103f
Handle partitions in /dev/di, not DVDInterface
...
Partitions are Wii-exclusive, and don't happen at the DVDInterface level in
IOS. This isn't quite the cleanest fix, but it gets rid of the assumption that
a partition is open on starting the game at least.
2020-01-04 11:43:32 -08:00
Pokechu22
71e8fb278f
Return more errors from DTK
2020-01-04 11:43:31 -08:00
Pokechu22
55a88ba2ed
Track drive state better, reporting errors if the state is wrong
...
Also, fix DVDLowStopMotor logging (which was based on the ioctl parameters)
2020-01-04 11:43:31 -08:00
Pokechu22
7d6b9bcb40
Check for error 001 out of bounds reads in DVDThread
...
All out of bounds reads should return the appropriate DI error, but it also
makes sense to have the error 001 read happen there.
2020-01-04 11:43:30 -08:00
Pokechu22
ef2fc5a49b
Split /dev/di commands from DVDInterface
...
The various ioctls sometimes have different arguments than the DI command
registers, though they generally overlap. There are also a bunch of ioctls
that don't even normally go into DVDInterface, just returning various data.
Some of the implemented ioctls are new to Dolphin.
2020-01-04 11:43:30 -08:00
Pokechu22
a8ae5fa21a
Expose setting DVDInterface errors and split setting into two parts
2020-01-04 11:43:30 -08:00
Pokechu22
3110599559
Increase DIMAR by DILENGTH after a command
2020-01-04 11:43:30 -08:00
Pokechu22
d3aad1d6d5
DIMAR only ignores bits 0-4, not the upper bits
...
Based on a hardware test on a Wii. The alignment code was originally added in 743641965a
.
2020-01-04 11:43:29 -08:00
Pokechu22
c564d64104
Remove unused drive debug command constants
...
The corresponding code that used these was removed in 2009 with 93b83f8d65
. Now their only purpose is to generate warnings on osx.
Minimalistic documentation on these commands can be found at http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.7.2 and https://web.archive.org/web/20070328200323/http://tmb.elitedvb.net/dvd-game/index.php/CMDFE . Those constants only relate to the 0x11 subcommand, which is one of many. Most can't be properly emulated unless we LLE the drive firmware (in which case, they don't need to be reimplemented).
2020-01-04 11:43:29 -08:00
Pokechu22
84f099cf62
Tidy and eliminate some of the DI register unions
2020-01-04 11:43:26 -08:00
Pokechu22
11bd132650
Implement RTC flag, which is counter-intuitively disc drive related
2020-01-04 11:43:26 -08:00
Pokechu22
77189e74cd
Implement Broadway GPIOs
...
SLOT_LED and the AVE ones are not implemented yet, but the other Broadway ones are.
2020-01-04 11:43:26 -08:00
Pokechu22
a695b05b21
Add support for std::optional to PointerWrap
2020-01-04 11:43:26 -08:00
Jordan Woyak
0e8d4cb6ac
StringUtil: Make TryParse of floats handle comma and dot decimal separators.
2020-01-04 07:19:15 -06:00
Léo Lam
ad75215bb0
Fix several warnings
...
A small, nonexhaustive set of warning fixes. The DiscIO Volume change
is a workaround for a GCC bug [1] that causes returning an unengaged
std::optional to emit annoying -Wmaybe-uninitialized warnings.
This last change alone fixes pages upon pages of warnings since
Volume.h is included from several files.
-Wstringop-truncation is another irrelevant warning for us, but
unfortunately there seems to be no way to disable it without
adding ugly pragmas wherever the warning appears.
2020-01-04 12:11:39 +01:00
Léo Lam
94c5460693
Merge pull request #8546 from jordan-woyak/default-num-mappings
...
HW: Add ticks to default mappings that are valid numeric literals.
2020-01-04 10:41:45 +01:00
Léo Lam
671defd8b9
Merge pull request #8543 from jordan-woyak/gcode-download-minor-fix
...
Core/GeckoCode: Fix DownloadCodes function assuming HTTP data is null terminated.
2020-01-04 10:18:44 +01:00
Jordan Woyak
2a9a04a1ec
HW: Add ticks to default mappings that are valid numeric literals.
2020-01-03 22:08:49 -06:00
Jordan Woyak
b505004d61
Core/GeckoCode: Fix DownloadCodes function assuming HTTP data is null terminated.
2020-01-03 20:14:10 -06:00
Jordan Woyak
723115b7b6
WiimoteEmu: Allow Recenter button to adjust the pitch.
2020-01-03 18:08:45 -06:00
Jordan Woyak
72c2be52ed
WiimoteEmu: Clean up ComplementaryFilter math.
2020-01-03 16:16:26 -06:00
Jordan Woyak
120c6dc850
DolphinQt: Fix accelerometer indicator math.
2020-01-03 12:34:11 -06:00
Jordan Woyak
540a3ce665
DolphinQt: Use FromQuaternion for a more accurate gyro indicator.
2020-01-02 15:46:18 -06:00
Jordan Woyak
8ab3694f51
Common: Add Matrix33::FromQuaternion.
2020-01-02 15:16:37 -06:00
George Talusan
b1a6cbc3b4
MacOS: Dispatch GL calls to main thread to prevent crashes on Catalina
2020-01-01 23:06:19 -05:00
David Korth
11339d77c6
IsSettingSaveable.cpp: Significant code size reduction.
...
- Refactor the Config::System::Main check so we check system once,
then we check for the section.
- Use an std::array<> instead of std::vector<>.
- Use an array of pointers instead of an array of ConfigLocation.
The latter contains two std::string objects, whereas pointers
are only 8 bytes (on 64-bit).
Code size comparison: (64-bit Linux, gcc-9.2.0, release build)
text data bss dec hex filename
16136 0 40 16176 3f30 IsSettingSaveable.cpp.o [before]
3933 720 0 4653 122d IsSettingSaveable.cpp.o [after]
-12203 +720 -40 -11523 -2d03 Difference
2019-12-29 23:45:02 -05:00
David Korth
f5fe692842
Use pre-increment for iterators instead of post-increment.
...
Pre-increment is more efficient, since it doesn't have to return the
old iterator.
2019-12-29 23:45:02 -05:00
David Korth
c2dd2e8a2e
Use std::istringstream or std::ostringstream instead of std::stringstream where possible.
...
This removes std::iostream from the inheritance chain, which reduces
overhead slightly.
2019-12-29 23:45:02 -05:00
David Korth
6e549bb668
InputConfig::LoadConfig(): Convert num[] to an array of std::string_view.
...
NOTE: The explicit std::string() conversions later are needed. Otherwise,
gcc-9.2.0 throws all sorts of errors because it can't find a matching
operator+() function.
2019-12-29 23:45:02 -05:00
David Korth
a23b3d26f4
GLExtensions.cpp: Use arrays of `const char *const` instead of `std::string`.
...
The strings end up being copied, so we might as well initialize the
std::string in the unordered_map directly.
2019-12-29 23:45:02 -05:00
David Korth
05101b251c
OGL/Render.cpp, InitDriverInfo(): Use std::string_view to eliminate string copies.
...
Consolidate the NVIDIA Tegra and non-Tegra checks into one branch.
2019-12-29 23:45:02 -05:00
David Korth
1d7f128693
GetSysMenuVersionString(): Use a char instead of std::string for the region letter.
...
Append the region letter after determining the version number.
2019-12-29 23:45:02 -05:00
David Korth
9f3b9acad9
PowerPC.cpp: No need to explicitly initialize ppcState.
...
"ppcState{}" is stored in the .data segment, which means the full ~4 MB
is stored in the executable.
"ppcState" is stored in the .bss segment, which means it only stores a
note that tells it to allocate and zero ~4 MB at runtime.
2019-12-29 23:45:02 -05:00
David Korth
afe2e7de0f
VolumeVerifier.cpp: Verify that the string arrays are sorted before using std::binary_sort().
...
Debug builds only, since this is wrapped in assert().
2019-12-29 23:42:55 -05:00
David Korth
d660aba20f
VolumeVerifier.cpp: Use arrays of string_view objects instead of strings.
...
string_view is a thin wrapper around C strings, so it's more efficient
for constant strings than C++ strings.
The unordered_set<> also adds extra runtime overhead. For small arrays,
a simple linear search works. For larger arrays, std::binary_search()
works better than linear but without the unordered_set<> overhead.
ShouldBeDualLayer(): Removed a duplicate "SK8X52" entry.
2019-12-29 23:42:55 -05:00
degasus
aad8aab698
Jit64: Disable the fast address check if fastmem is disabled.
...
This was a huge speedup with disabled fastmem, but it still requires the fastmem arena.
So let's disable it for now, even if this commit has a huge performance hit with disabled fastmem.
2019-12-28 13:41:57 +01:00
degasus
d735943aa2
Jit64: Use safe memory helpers for psq_l* without fastmem.
...
RMEM won't help if there is no fastmem arena, so let's use our memory helpers.
2019-12-28 13:41:57 +01:00
degasus
74cb692591
Jit64: Only activate dcbz fastpath with fastmem.
...
The code is safe not to create memory errors, but it accesses the fastmem area.
2019-12-28 13:41:57 +01:00
degasus
c6019f9814
PowerPC/Jit: Create fastmem arena on init.
2019-12-28 13:41:57 +01:00
degasus
ccbadf6e72
Core: Refactor fastmem arena construction.
...
This shall be called by the Jit, not by the emulation start itself.
2019-12-28 13:41:57 +01:00
degasus
9d88180df7
MMU: Use the Memory helpers for physical memory.
...
physical_base is a fastmem helper. Its access is unsafe and might not be available without a Jit.
2019-12-28 12:57:51 +01:00
Stenzek
d744c5a148
Compile fixes for Windows-on-ARM64
2019-12-28 19:20:41 +10:00
Stenzek
6fcb1c6c46
Add an ARM64 target to Visual Studio projects
2019-12-28 19:20:41 +10:00
Stenzek
5a65031611
Add a Win32 NoGUI platform and project
2019-12-28 08:56:27 +10:00
Anthony
0755f92979
Merge pull request #8534 from JosJuice/netplay-index-empty-strings
...
Properly check for missing netplay session name/region
2019-12-25 21:52:22 -08:00
Pierre Bourdon
0341288af2
Merge pull request #8525 from Techjar/axwii-ub
...
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
2019-12-24 08:35:28 +01:00
JosJuice
0c12dbe860
DolphinQt: Properly save netplay session settings when changed
2019-12-23 23:14:13 +01:00
JosJuice
8e278b8053
Check presence of name and region in NetPlayServer
2019-12-23 23:14:13 +01:00
JosJuice
2fa4ef729f
DolphinQt: Check presence of region in NetPlaySetupDialog
2019-12-23 23:14:13 +01:00
Pierre Bourdon
5c996dec89
DualShockUDPClient: downgrade spurious NOTICE_LOGs
2019-12-23 18:36:18 +01:00
Techjar
eae959238e
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
...
This fixes Old AX Wii games having no audio when compiled under VS2019.
This also includes some minor code cleanup and moving a function to
avoid duplication.
2019-12-22 14:48:47 -05:00
Techjar
79092cdda0
Common/BitUtils: Implement BitCast(To|From)Array
2019-12-22 14:48:47 -05:00
S David
21f42fafb7
MacOS: Fixes configuration hang; bump MacOS SDK.
...
Removed conditional use of std::mutex instead of std::shared_mutex on MacOS.
Because MacOS < 10.12 did not support std::shared_mutex, a previous commit
naïvely substituted std::mutex, which does not have the same behavior.
Reverses PR #8273 , which substitues std::mutex for std::shared_mutex on
macOS, and results in several bugs that seem to only affect MacOS
- https://bugs.dolphin-emu.org/issues/11919
- https://bugs.dolphin-emu.org/issues/11842
- https://bugs.dolphin-emu.org/issues/11845
This change eliminates conditional code for MacOS in the core configuration
layer code and enables the use of modern language features that are more
secure and thread-safe.
2019-12-22 00:49:17 -05:00
Stenzek
6a0067fd26
FrameDump: Set first_frame if movie frame number <= 1
...
The frame number is incremented before the first frame is swapped out.
Fixes ffmpeg creating invalid video files on output if the emulator only
runs for a single frame, e.g. FifoCI.
2019-12-22 11:54:34 +10:00
Casey Carter
222bc6a443
Include <memory> for std::unique_ptr in DXContext.h
2019-12-19 14:25:12 -08:00
Connor McLaughlin
74dedc57fd
Merge pull request #8519 from JosJuice/setupwiimemory-region-override
...
Boot: Optionally allow preserving region settings in setting.txt
2019-12-19 20:47:56 +10:00
Shawn Hoffman
e3a30fbdf2
update minilzo to 2.10
2019-12-18 22:20:11 -08:00
Léo Lam
3cf2857aac
Merge pull request #8520 from lioncash/analyst-tidy
...
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
2019-12-15 12:07:38 +01:00
Lioncash
7c12081693
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
...
This doesn't have an implementation, so it can be removed.
2019-12-15 00:23:32 -05:00
JosJuice
208c6a3011
Boot: Optionally allow preserving region settings in setting.txt
...
See the discussion in https://bugs.dolphin-emu.org/issues/11930 .
(This probably doesn't really fix that issue, but it's something
I thought would make sense anyway.)
2019-12-14 19:03:20 +01:00
Léo Lam
6cd2f5a76d
Merge pull request #8501 from lioncash/byteswap
...
GCMemcard: Remove byteswapping functions and macros
2019-12-14 14:28:01 +01:00
Léo Lam
49fcc71565
Merge pull request #8506 from lioncash/cache
...
PPCCache: Make arrays constexpr where applicable
2019-12-14 14:25:06 +01:00
Connor McLaughlin
a980a39807
Merge pull request #8518 from stenzek/more-wiimote-reset-crashes
...
Core: Reset Wiimotes/rumble/memwatcher on emu thread
2019-12-13 13:44:22 +10:00
spycrab
0cb3257d3f
Merge pull request #8435 from firodj/pr-fix-macos-qt-plugin-cocoa
...
DolphinQt: Fix qt.qpa.plugin on MacOS
2019-12-10 17:41:02 +01:00
Stenzek
e5485ca499
Core: Reset wiimotes/rumble on emu thread instead of main thread
...
This was causing a race which was crashing the FifoCI runners. The main
thread called Stop() which in turn called ResetAllWiimotes() while the
emu thread was still exiting, also shutting down the Wiimote class.
By shifting the reset to the emu thread, all cleanup operations happen
on the same thread where they were initialized.
2019-12-09 20:07:00 +10:00
Stenzek
c602cb2e2f
Core: Reset memory watcher on same thread which allocates it
2019-12-09 20:06:14 +10:00
Stenzek
e05bc33899
Vulkan: Call VertexManagerBase initialize
2019-12-09 19:16:15 +10:00
Stenzek
07c43b192f
D3D12: Call VertexManagerBase initialize
2019-12-09 19:16:04 +10:00
Anthony
a21fb96638
Merge pull request #8516 from JosJuice/scrub-unencrypted-again
...
Fix scrubbing unencrypted Wii disc images (for real this time)
2019-12-08 12:25:16 -08:00
JosJuice
711b36075c
Fix scrubbing unencrypted Wii disc images (for real this time)
...
Unlike what my past self apparently thought, % is in fact not the
"round down" operator.
https://bugs.dolphin-emu.org/issues/11906
2019-12-08 19:41:40 +01:00
Anthony
bac8c060b5
Merge pull request #8508 from lioncash/fmt-tex
...
VideoCommon/TextureConverterShaderGen: Convert over to fmt
2019-12-07 18:41:14 -08:00
Anthony
9ef50a1d4b
Merge pull request #8509 from lioncash/shader-str
...
VideoCommon/FramebufferShaderGen: Minor clean up
2019-12-07 18:40:56 -08:00
Anthony
19ea546a0a
Merge pull request #8511 from lioncash/if-constexpr
...
VideoCommon/OpcodeDecoding: Make use of if constexpr
2019-12-07 18:40:15 -08:00
Anthony
fdb78b64e1
Merge pull request #8513 from lioncash/bounding-box
...
VideoCommon/BoundingBox: Make interface for querying bounding box data
2019-12-07 18:40:02 -08:00
Anthony
b39756dbce
Merge pull request #8512 from lioncash/index
...
VideoCommon/IndexGenerator: Eliminate static state
2019-12-07 18:38:06 -08:00
Lioncash
81edcca8db
Common/Network: Use std::nullopt in StringToMacAddress
...
Prevents unnecessary zeroing out of std::optional's internal buffer in
some implementations.
2019-12-06 09:59:11 -05:00
Lioncash
cbfacc41ba
Common/Network: Remove unused header inclusions
...
Removes unused header dependencies.
2019-12-06 09:51:28 -05:00
Lioncash
f06461d208
Common/Network: Make StringToMacAddress use a string_view
...
This function only ever reads the contents of the string in a non-owning
manner, so we can change the parameter over to being a string view.
2019-12-06 09:45:25 -05:00
Lioncash
2c9ec6cb8a
VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() calls into Enable()/Disable()
...
Now that we have an actual interface to manage things, we can stop
duplicating the calls to to the pixel shader manager and remove the
need to remember to actually do so when disabling or enabling the
bounding box.
2019-12-05 11:57:58 -05:00
Lioncash
9bd533ebe4
VideoCommon/BoundingBox: Make interface for querying bounding box data
...
Rather than expose the bounding box members directly, we can instead
provide an interface for code to use. This makes it nicer to transition
from global data, as the interface function names are already in
place.
2019-12-05 11:48:42 -05:00
Lioncash
10f7674651
VideoCommon/IndexGenerator: Eliminate static state
...
Now that we've extracted all of the stateless functions that can be
hidden, it's time to make the index generator a regular class with
active data members.
This can just be a member that sits within the vertex manager base
class. By deglobalizing the state of the index generator we also get rid
of the wonky dual-initializing that was going on within the OpenGL
backend.
Since the renderer is always initialized before the vertex manager, we
now only call Init() once throughout the execution lifecycle.
2019-12-05 10:49:32 -05:00
Lioncash
159947ab68
VideoCommon/IndexGenerator: Make use of if constexpr
...
We can use if constexpr with the template functions that pass in a
non-type template parameter, allowing the removal of branches that
aren't taken at compile time.
Compilers will generally do this by default, however, we now give a
gentle prodding to the compiler if this would otherwise not be the case.
2019-12-05 10:49:32 -05:00
Lioncash
fb3fda775f
VideoCommon/IndexGenerator: Move stateless functions into anonymous namespace
...
These don't rely on any of the static members within the IndexGenerator
class, so we can make all of these functions fully internal to the
translation unit.
2019-12-05 10:49:29 -05:00
Lioncash
69f2ca2230
VideoCommon/IndexGenerator: Make use of anonymous namespace
...
More things will be moved into this in subsequent changes. While we're
at it, we can also make use of std::array.
2019-12-05 09:36:41 -05:00
Lioncash
1f46a6a64b
VideoCommon/OpcodeDecoding: Make use of if constexpr
...
We can make use of if constexpr in several scenarios here to allow
compilers to exise the relevant code paths out.
Technically a decent compiler would do this already, but now we can give
compilers a little more nudging here in the event that isn't the case.
2019-12-05 09:13:06 -05:00
Lioncash
99353c3baa
VideoCommon/OpcodeDecoding: Remove unused headers
...
Nothing provided by these headers are used, so we can remove them.
2019-12-05 09:13:06 -05:00
Lioncash
6339a5ea8e
VideoCommon/OpcodeDecoding: Resolve implicit signedness conversion
...
cmd2 is a u32, so any bitwise arithmetic on it with a type of the same
size or smaller will result in a u32 value. This is also implicitly
converted to an unsigned type in the if statement as well, given that
size_t * int -> size_t.
This is just more explicit about the operations occurring and also
likely silences a sign conversion warning.
2019-12-05 09:13:06 -05:00
Lioncash
4710b82f43
VideoCommon/OpcodeDecoding: Remove use of goto in Run()
...
With the use of a lambda and a change in switch fallthrough, we can
completely eliminate the use of goto within Run().
2019-12-05 09:13:06 -05:00
Lioncash
f74503cce0
VideoCommon/OpcodeDecoding: Make use of anonymous namespace
...
Provides a region for all internal utilities.
2019-12-05 09:13:06 -05:00
Lioncash
6b4e340995
VideoCommon/OpcodeDecoding: Amend comment formatting
...
Amends a documentation comment that acquired some wonky formatting
during the introduction of clang-format a few years ago.
2019-12-05 09:13:06 -05:00
Lioncash
b2a9c36501
VideoCommon/OpcodeDecoding: Move g_bRecordFifoData into namespace
...
Keeps the global localized with the code that it's primarily related to.
Now it's obvious from a glance what the global variable is affecting.
2019-12-05 09:13:03 -05:00
Lioncash
d8063e9c54
VideoCommon/OpcodeDecoding: Normalize variable naming
...
Provides consistent naming of variables within the translation unit.
While we're at it, we can mark them const where applicable.
2019-12-05 08:05:29 -05:00
Lioncash
f29730944f
VideoCommon/FramebufferShaderGen: Make use of std::ostringstream internally
...
We only use these string streams to output into a final std::string
instance, we don't read into types with them. Because of this, we can
just make use of std::ostringstream, rather than the fully-fledged
std::stringstream.
2019-12-05 00:18:00 -05:00
Lioncash
fff445cc10
VideoCommon/FramebufferShaderGen: Make use of std::string_view where applicable
...
Prevents the use of the null pointer as an input to any functions.
2019-12-05 00:15:37 -05:00
Lioncash
3405815f09
VideoCommon/FramebufferShaderGen: Remove unused Config struct
...
This isn't used anywhere within the codebase, so it can be removed
entirely.
2019-12-04 23:54:15 -05:00
Lioncash
3a8d17c140
VideoCommon/FramebufferShaderGen: Use an anonymous namespace where applicable
...
Places all internal helpers and types within an anonymous namespace.
2019-12-04 23:51:26 -05:00
Lioncash
eefd6a10f5
VideoCommon/FramebufferShaderGen: Add missing initial source file comments
...
Makes the source files consistent with the rest of the VideoCommon code.
2019-12-04 23:48:59 -05:00
Lioncash
f8c90f0484
VideoCommon/FramebufferShaderGen: Collapse stream insertions
...
No behavioral change. This is intended to make the transition to fmt
less noisy in subsequent changes by combining insertions of multiple
string literals into one where applicable.
2019-12-04 23:45:15 -05:00
rlnilsen
965781ea9d
Motion Input: Add nunchuk support.
2019-12-04 23:21:26 +01:00
Lioncash
0f28f4049b
VideoCommon/TextureConverterShaderGen: Convert over to fmt
...
Easily the most straightforward to convert over, given the lack of
significant formatting arguments.
2019-12-03 05:05:02 -05:00
Lioncash
8af6bfb8b0
VideoCommon/ShaderGenCommon: Add function for writing fmt-based strings
...
Begins the conversion of the shader generators over to using fmt
formatting specifiers.
This also has a benefit over the older StringFromFormat-based API in
that all formatted data is appended to the existing buffer rather than
creating a completely separate string and then appending it to the
internal string buffer.
2019-12-03 04:49:48 -05:00
Lioncash
474e210cd5
PPCCache: Make arrays constexpr where applicable
...
Two of these arrays were stored within the save state when the exact
same data is constructed all the time.
We can just build this into the binary rather than the save state,
shrinking a little bit of the save state's overall size.
2019-12-03 04:05:09 -05:00
Lioncash
1d5ce4708f
PPCCache: Make use of std::array where applicable
...
Allows simplifying a bunch of initialization and filling code.
2019-12-03 04:05:05 -05:00
Connor McLaughlin
15fc71cfcf
Merge pull request #8498 from stenzek/update-vs2019
...
Update VS projects/solutions to VS2019
2019-12-03 13:03:49 +10:00
Stenzek
52e2e32193
Core: Only reset wiimotes in Wii mode
...
This was causing the FifoCI runners to crash, as the Wiimotes were not
initialized in the first place.
2019-11-30 15:41:38 +10:00
Stenzek
33c0abd1ab
Disable warning C5054 on DolphinQt
...
They're all in the Qt headers, and quite noisy.
2019-11-30 13:42:52 +10:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00
Anthony
4a0611df54
Merge pull request #8487 from lioncash/video-fmt
...
VideoCommon: Make use of fmt outside of shader generators
2019-11-28 15:03:23 -08:00
Anthony
b5656df7e8
Merge pull request #8502 from lioncash/log
...
Common: Unify logging namespace with Common
2019-11-28 15:01:49 -08:00
OatmealDome
ef32a10d69
InputCommon: Decouple ButtonManager and Touchscreen from Android
...
Changes were also made for codestyle compliance.
2019-11-28 15:20:51 -05:00
Lioncash
c792961000
Common: Unify logging namespace with Common
...
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.
Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.
Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
Lioncash
e33c366502
GCMemcard: Remove byteswapping macros
...
We can just specify the functions directly instead of relying on
preprocessor textual replacement.
2019-11-27 23:15:31 -05:00
Lioncash
1f1a02151e
GCMemcard: Replace ByteSwap with std::swap
...
There's already a standard library function that does what this function
is doing.
2019-11-27 23:15:26 -05:00
Anthony
c2c8a14966
Merge pull request #8348 from JosJuice/mmu-setting
...
Disable full MMU by default and add it to global config GUI
2019-11-27 16:04:40 -08:00
Anthony
9822a2d582
Merge pull request #8465 from CookiePLMonster/d3d-common-cleanup
...
D3DCommon: Cleanups and resource leak fix
2019-11-27 16:03:44 -08:00
Anthony
66ca83e6af
Merge pull request #8479 from nokturnusmf/master
...
Fixed #11874 (leading 0s ignored by debugger)
2019-11-27 15:57:54 -08:00
Anthony
155016531f
Merge pull request #8439 from JosJuice/android-native-motion-controls
...
Android: Native motion controls
2019-11-27 15:40:43 -08:00
Anthony
34a1df1c68
Merge pull request #8493 from JosJuice/android-audio-volume
...
Android: Add audio volume setting
2019-11-27 15:36:54 -08:00
Anthony
e33acc07f9
Merge pull request #8332 from CookiePLMonster/dsp-lle-deadlock
...
DSPLLE: Put DSP thread in idle state when it's paused
2019-11-27 15:34:34 -08:00
Anthony
44f85bbc5e
Merge pull request #8496 from JosJuice/volumewii-check-decrypted-order
...
VolumeWii: Check SupportsReadWiiDecrypted before m_encrypted
2019-11-27 15:33:43 -08:00
Anthony
f20c1c2f8d
Merge pull request #8499 from JosJuice/volumeverifier-super-paper-mario
...
VolumeVerifier: Detect broken Super Paper Mario
2019-11-27 15:31:05 -08:00
JosJuice
59633f5309
VolumeVerifier: Detect broken Super Paper Mario
...
https://bugs.dolphin-emu.org/issues/11900
2019-11-27 18:26:22 +01:00
JosJuice
9938585702
DolphinQt: Remove "Experimental" from "Export Wii Save"
...
It's pretty well tested at this point.
2019-11-27 17:23:58 +01:00
JosJuice
cf8208ace9
Android: Add audio volume setting
2019-11-26 21:10:27 +01:00
JosJuice
23fc5f9e35
VolumeWii: Check SupportsReadWiiDecrypted before m_encrypted
...
Fixes using DirectoryBlob on extracted games that were unencrypted
prior to being extracted.
(One day I'll make DirectoryBlob actually support raw reads and then
the order of these two won't matter...)
2019-11-26 20:09:40 +01:00
Scott Mansell
ac77df9e90
Merge pull request #8490 from vadosnaprimer/dumping
...
2 minor dumping fixes
2019-11-25 10:38:44 +13:00
JosJuice
45ba745bc8
Merge pull request #8320 from CookiePLMonster/cpu-lock-yield-fix
...
Do not yield to UI from PauseAndLock
2019-11-24 20:12:04 +01:00
feos
cb6a632c60
fix missing frame when you start another dump without closing dolphin
2019-11-24 18:02:38 +03:00
feos
15e6e7ddd2
figure out new segment on the fly right in FrameDump::Start()
2019-11-24 18:02:36 +03:00
Lioncash
b28db1d4e6
UICommon: Make use of fmt where applicable
...
Continues the migration to using fmt.
Notably, this allows safely converting a map within USBUtils over to
containing string view instances, rather than std::string instances, as
fmt safely handles the formatting of string views.
2019-11-23 19:41:40 -05:00
Léo Lam
ec895f544c
Merge pull request #8486 from lioncash/dualshock
...
InputCommon/DualShockUDPClient: Minor cleanup
2019-11-24 00:46:19 +01:00
Lioncash
6fbbc2683e
VideoCommon: Make use of fmt outside of shader generators
...
Migrates most of VideoCommon over to using fmt, with the exception being
the shader generator code. The shader generators are quite large and
have more corner cases to deal with in terms of conversion (shaders have
braces in them, so we need to make sure to escape them).
Because of the large amount of code that would need to be converted, the
conversion of VideoCommon will be in two parts:
- This change (which converts over the general case string formatting),
- A follow up change that will specifically deal with converting over
the shader generators.
2019-11-23 16:00:45 -05:00
tinyredpanda
fe9e7d5578
Prefer MessageBoxW to MessageBoxA
2019-11-23 13:56:05 +00:00
tinyredpanda
5dbabef355
Simplify wstring to QString conversion
2019-11-23 13:23:46 +00:00
Lioncash
334e2768f5
InputCommon/DualShockUDPClient: Use an alias for the clock type
...
Makes code slightly less verbose without exposing the whole chrono
header to the current source file.
2019-11-22 17:06:10 -05:00
Lioncash
db9e592765
InputCommon/DualShockUDPClient: Use deduction guides for lock_guard
...
With C++17, we can use template deduction guides provided by the
standard library. This allows the omission of the mutex type itself.
2019-11-22 17:06:10 -05:00
Lioncash
278d03f737
InputCommon/DualShockUDPClient: Make use of std::array where applicable
...
Provides the same semantics of a C array, but is much nicer to work
with.
Notably, it makes all cases of performing comparisons with said arrays
significantly less reading-involved.
2019-11-22 17:06:07 -05:00
Silent
5be9505ab3
Signal DSP thread after unlocking DSP mutex
2019-11-22 23:00:42 +01:00
JosJuice
a06da596e5
Merge pull request #8485 from lioncash/imu
...
InputCommon/IMU*: Remove unnecessary includes
2019-11-22 22:31:57 +01:00
JosJuice
af37d09b0f
Merge pull request #8484 from lioncash/input-func
...
InputCommon/FunctionExpression: Minor cleanup
2019-11-22 22:31:31 +01:00
Silent
e30ff7c327
DSPLLE: Put DSP thread in idle state if it's paused to prevent a deadlock
...
DSP thread is considered "idle" when it signals s_ppc_event and waits for s_dsp_event,
without putting it in this state when m_dsp_thread_mutex is locked it was possible to
create a deadlock between a DSP thread, emulation thread and Qt thread by accessing
Config menu immediately after booting up the game
2019-11-22 22:07:41 +01:00
Lioncash
67097b4574
InputCommon/DualShockUDPClient: Relocate settings to top of source file
...
This is a small namespace, so we can move it to the top of the file to
get it out of the way of everything else.
2019-11-22 15:56:29 -05:00
Lioncash
4488719a76
InputCommon/DualShockUDPClient: In-class initialize members where applicable
...
Deduplicates members within the constructor's initializer list.
2019-11-22 15:56:29 -05:00
Lioncash
544d6cbe52
InputCommon/DualShockUDPClient: Add missing header guard
...
Prevents potential inclusion issues from occurring.
2019-11-22 15:56:26 -05:00
Lioncash
91993b46d9
InputCommon/IMU*: Remove unnecessary includes
...
Trims out unnecessary includes to avoid unnecessary header dependencies.
This also resolves indirect inclusions of <optional> within
IMUAccelerometer.h and IMUGyroscope.h
2019-11-22 15:41:38 -05:00
Lioncash
814fd165af
InputCommon/FunctionExpression: Use Yoda conditions, we do not
...
The general convention in the codebase is to compare the non-constant
value/string with the constant value/string, not the other way around.
2019-11-22 15:36:18 -05:00
Lioncash
1f6077922b
InputCommon/FunctionExpression: Remove unnecessary 'else' in MakeFunctionExpression()
...
Given all conditional bodies only contain a return, the use of else here
isn't necessary.
This has the benefit of consistently vertically aligning the names.
2019-11-22 15:36:18 -05:00
Lioncash
10fea99d80
InputCommon/FunctionExpression: Make MakeFunctionExpression() take a std::string_view
...
There's nothing within this function that requires a copy of the string
to be made, so we can make use of a non-owning view
2019-11-22 15:36:18 -05:00
Lioncash
ddf8abf507
InputCommon/FunctionExpression: Remove unused LOOP_MAX_REPS constant
...
This isn't used anywhere in the translation unit, so we can remove it.
2019-11-22 15:36:18 -05:00
Lioncash
64bc6f53fd
InputCommon/FunctionExpression: Remove cyclical include
...
This header was including itself, which is likely not intended.
2019-11-22 15:36:18 -05:00
Lioncash
cb8fbe872e
InputCommon/FunctionExpression: Collapse namespaces
...
Since we target C++17, we can collapse the namespaces into a single
declaration specifier.
2019-11-22 15:36:14 -05:00
Lioncash
6586ecc7a8
InputCommon/FunctionExpression: include <algorithm>
...
std::min/std::max are used within this translation unit, so it needs to
be included to prevent potential compilation failures.
2019-11-22 14:41:13 -05:00
Lioncash
e8edc49bbe
InputCommon: Make use of fmt where applicable
...
Continues the migration over to fmt
2019-11-22 14:38:26 -05:00
Matthew Foulds
5b6e7aabcf
Fixed 11874 (leading 0s ignored by debugger)
2019-11-22 19:16:34 +00:00
Mat M
bc449fb98f
Merge pull request #8480 from JosJuice/volumeverifier-block-future
...
VolumeVerifier: Fix a copypaste error
2019-11-22 11:42:50 -05:00
JosJuice
4e713238d9
VolumeVerifier: Fix a copypaste error
...
This was completely wrong, but I guess it happened to work correctly
anyway due to timing reasons (MD5 is faster than SHA-1 + AES).
2019-11-22 13:39:04 +01:00
JosJuice
a9cf8670e0
Merge pull request #8224 from Pokechu22/wiimote-eeprom
...
Write the entirety of the Wiimote EEPROM, in a per-Wiimote file
2019-11-20 22:03:53 +01:00
JosJuice
c8b8a60033
Android: Let WiimoteEmu know whether we have accelerometer/gyroscope
2019-11-20 20:13:36 +01:00
JosJuice
b143df91be
Android: Native motion controls
2019-11-20 18:22:20 +01:00
JosJuice
d66050375c
Merge pull request #8347 from hosaka-corp/frame-advance-alignment
...
Align frame advance and movies to full field boundaries
2019-11-19 19:26:35 +01:00
Léo Lam
dae01b1a3b
Merge pull request #8346 from DacoTaco/master
...
GCMemcardManager : icon drawing takes to much cpu time
2019-11-18 23:37:11 +01:00
meta
9c5c3c055e
Align frame advance and movies to full field boundaries
2019-11-18 15:05:06 -06:00
Jordan Woyak
282470e312
DolphinQt: Fix accelerometer mapping indicator flipped X axis.
2019-11-17 16:41:06 -06:00
Pokechu22
4d4a095c76
Reset Wiimotes on force stop and when starting MIOS
2019-11-17 12:20:26 -08:00
Pokechu22
a23609562d
Replace magic disconnect channel number with a constant
2019-11-17 12:20:25 -08:00
Pokechu22
5477409847
Write the entirety of the Wiimote EEPROM, in a per-Wiimote file
...
Previously, only Mii data was written. Additionally, the file containing mii data was shared for all Wiimotes, which made it a lot less useful.
Additionally, the file was read/written on each Wiimote read, even though the whole EEPROM was kept in memory. This was bad for performance and not particularly necessary (it did enforce that the data was properly shared between all Wiimotes, but that's not something I want).
2019-11-17 12:20:19 -08:00
DacoTaco
d6eb75b272
GCMemcardManager : Performance boost
2019-11-17 20:45:24 +01:00
Léo Lam
97f9f252cc
Merge pull request #8464 from jordan-woyak/wm-emu-errorcode
...
WiimoteEmu: Minor accuracy fixes.
2019-11-17 10:39:18 +01:00
Léo Lam
bc1aa3640b
Merge pull request #8302 from AdmiralCurtiss/gcmemcard-comments
...
GCMemcard: Read comments, banners, and icons via logical data offsets instead of physical ones.
2019-11-17 10:34:06 +01:00
Admiral H. Curtiss
3b67d0d90a
GCMemcard: Read icons according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
110d6c1da3
GCMemcard: Read banners according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
2f119bd206
GCMemcard: Move Icon and Banner constants to the GCMemcard header.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
58f21830bd
GCMemcard: Read file comments according to logical data offsets instead of physical data offsets.
2019-11-17 01:42:26 +01:00
Admiral H. Curtiss
770605bc80
GCMemcard: Add method to read an arbitrary block of bytes from a save file.
2019-11-17 01:42:26 +01:00
Silent
85c2841643
Make "Do you want to stop emulation?" application modal and disallow multiple instances at once
...
Fixes numerous issues with this dialog spawning multiple times
and putting Dolphin in a weird state.
2019-11-16 19:51:55 +01:00
Silent
af92a88aa0
UI: Allow to specify modality of ready ModalMessageBoxes
2019-11-16 19:51:00 +01:00
Léo Lam
b712cc106b
Merge pull request #7909 from LAGonauta/dplii-quality-slider
...
Add slider to change DPLII decoder quality
2019-11-16 18:13:58 +01:00
Léo Lam
a77108236e
Merge pull request #8418 from lioncash/core-fmt
...
Core: Replace usages of StringFromFormat with fmt where applicable
2019-11-16 18:09:58 +01:00
degasus
3ebcc445de
Core/Jits: Adds an option to disable the register cache.
...
This will help to disable all inter-instruction dependencies.
So android users can check if only a single instruction is broken without compiling dolphin on their own.
2019-11-16 13:05:54 +01:00
JosJuice
fe39e1e6d8
Merge pull request #8440 from rlnilsen/motion-input-tweaks
...
Motion Input enhancements
2019-11-15 14:08:45 +01:00
JosJuice
c23da15a22
Merge pull request #8470 from BreadFish64/patch-2
...
Fix typo in comment
2019-11-11 22:34:04 +01:00
Marshall Mohror
0334dde2cf
Fix typo in comment
2019-11-11 13:20:04 -06:00
Lioncash
cfbabd4c41
SI_Device: Provide proper insertion/extraction operators for SIDevices enum
...
Allows the enumeration to be safely used with our type parsing
functions.
2019-11-11 07:33:01 -05:00
Lioncash
febd1c3dba
Core: Replace usages of StringFromFormat with fmt where applicable
...
Migrates usages of StringFromFormat over to using fmt.
2019-11-11 07:32:57 -05:00
LAGonauta
08787ebc4a
Centralize logic to detect when the DPL2 decoder should be used.
2019-11-11 08:03:36 -03:00
Silent
4daeacba35
Fix malformed manifests
2019-11-11 11:47:10 +01:00
Jordan Woyak
4d24f160e3
WiimoteEmu: Minor accuracy fixes.
2019-11-10 20:38:21 -06:00
Connor McLaughlin
913cb08066
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
...
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
Pierre Bourdon
066012b80d
Merge pull request #8454 from jordan-woyak/motion-input-indicators
...
DolphinQt: Add accelerometer/gyroscope mapping indicators.
2019-11-10 18:57:31 +01:00
Pierre Bourdon
499f065b83
Merge pull request #8466 from jordan-woyak/evdev-float
...
evdev: fix bad integer division.
2019-11-10 18:53:22 +01:00
Pierre Bourdon
df32e3fdfd
Merge pull request #8445 from Leseratte10/master
...
Add /dev/dolphin for homebrew to get information about Dolphin
2019-11-10 17:34:07 +01:00
Jordan Woyak
0c57887839
evdev: fix bad integer division.
2019-11-10 10:10:37 -06:00
Silent
a68789a70c
D3DCommon: Remove unused GetDebugObjectName and tidy up SetDebugObjectName
2019-11-10 16:07:32 +01:00
Silent
8445644e05
D3DCommon: Migrate few remaining raw pointers to WRL::ComPtr
2019-11-10 16:07:32 +01:00
Jordan Woyak
e85e51e5ce
HW/WiimoteReal: Replace invalid select call with poll.
2019-11-09 19:22:58 -06:00
Jordan Woyak
59ebaed81c
HW/WiimoteReal: Remove an old comment. We block infinitely now.
2019-11-09 18:45:09 -06:00
Léo Lam
eebc64aaf8
Merge pull request #8460 from jordan-woyak/evdev-motion-data
...
InputCommon: Detect when evdev exposes acceleration/gyroscope data.
2019-11-09 23:34:51 +01:00
JosJuice
9e0b09ddf4
Disable full MMU by default and add it to global config GUI
...
Requested by JMC.
2019-11-09 23:26:55 +01:00
Léo Lam
c167543eb3
Merge pull request #8185 from Techjar/memcard-manager-auto
...
Qt/GCMemcardManager: Load configured memory cards by default
2019-11-09 23:06:57 +01:00
Léo Lam
08b191ee8e
Merge pull request #8313 from JosJuice/gamelist-xml
...
GameFile: Support HBC-style XML metadata
2019-11-09 22:59:26 +01:00
Léo Lam
f4e12f85bc
Merge pull request #8393 from CookiePLMonster/long-paths
...
Support Windows 10 long paths
2019-11-09 21:10:16 +01:00
Léo Lam
6cb60f8d36
Merge pull request #8385 from iwubcode/pathes-update
...
DolphinQt: Add ability to override ResourcePack and Load directory
2019-11-09 20:39:15 +01:00
Jordan Woyak
1180c231a6
InputCommon: Detect when evdev exposes acceleration/gyroscope data.
2019-11-09 13:34:29 -06:00
Jordan Woyak
8ef25ddd84
DolphinQt: Add accelerometer/gyroscope mapping indicators.
2019-11-09 09:59:45 -06:00
Florian Bach
2d55a6b0b7
Add /dev/dolphin for homebrew to get information about Dolphin
...
Adds a /dev/dolphin interface that can be used by
Dolphin-aware software to get information like the
real system time and the Dolphin version.
2019-11-09 15:31:51 +01:00
Jordan Woyak
a6b3a2cd4f
DolphinQt: Hide unused buttons in the advanced mapping dialog.
2019-11-08 17:47:19 -06:00
Jordan Woyak
1e028025e5
Common: Add additional Matrix/Vec functions.
2019-11-08 15:46:45 -06:00
Léo Lam
d8c62b5965
Merge pull request #8396 from jordan-woyak/mapping-input-list-states
...
Qt/Mapping: Show current input states in advanced dialog.
2019-11-08 22:15:45 +01:00
Connor McLaughlin
422c3f79da
Merge pull request #8382 from tkln/verify-widget-switch-none-warn
...
VerifyWidget: Handle Severity::None case in Verify()
2019-11-08 11:23:32 +10:00
Connor McLaughlin
62f331dd13
Merge pull request #8431 from ferrrry/game-window-class
...
Qt: Add "renderer" window role to render window
2019-11-08 11:22:49 +10:00
Connor McLaughlin
71b098a69d
Merge pull request #8399 from CookiePLMonster/gametracker-fixes
...
Qt: Game Tracker fixes
2019-11-08 11:22:09 +10:00
Connor McLaughlin
9700b1e320
Merge pull request #8367 from JosJuice/missing-company-ids
...
DiscIO: Add missing company IDs
2019-11-08 11:15:27 +10:00
Connor McLaughlin
a89fdb628c
Merge pull request #8343 from stenzek/fbdev
...
DolphinNoGUI: Add a FBDev platform
2019-11-08 11:05:53 +10:00
Connor McLaughlin
2ebea1bfa7
Merge pull request #8433 from JosJuice/settings-onemulationstatechanged
...
DolphinQt: Call OnEmulationStateChanged when creating config window panes
2019-11-08 11:01:14 +10:00
Connor McLaughlin
47677ecaa7
Merge pull request #8437 from JosJuice/batch-render-to-main
...
Disable render to main when using batch mode
2019-11-08 11:00:18 +10:00
Connor McLaughlin
9db1ce8ef9
Merge pull request #8436 from JosJuice/vi-wii-freeloader
...
VideoInterface: Don't crash when running Wii Freeloader
2019-11-08 10:56:25 +10:00
Connor McLaughlin
28ce9330a8
Merge pull request #8444 from booto/vi-fields
...
VI: Adjust start/end of ACV region for fields
2019-11-08 10:51:32 +10:00
Connor McLaughlin
18ba1fd723
Merge pull request #8452 from JosJuice/android-emulationactivity-rotation-crash
...
Android: Replace emulation rotation crash workaround with proper fix
2019-11-08 10:45:21 +10:00
Connor McLaughlin
7c8a255ce1
Merge pull request #8450 from jordan-woyak/mapping-button-fix
...
DolphinQt: Fix output mapping button spacebar activation and tooltip.
2019-11-08 10:30:33 +10:00
Connor McLaughlin
b554b636bd
Merge pull request #8449 from JosJuice/disable-bt-pt-buttons
...
DolphinQt: Fix the enabling/disabling of ControllersWindow buttons
2019-11-08 10:27:49 +10:00
Connor McLaughlin
5440be96e7
Merge pull request #8378 from stenzek/quad-buffer-stereo
...
Various quad-buffered ("HDMI 3D") stereo fixes
2019-11-08 10:26:58 +10:00
Jordan Woyak
85ceb37ccd
InputCommon: Make the "input gate" not racey.
2019-11-06 16:31:02 -06:00
Scott Mansell
93d7b3d159
Merge pull request #8432 from jordan-woyak/hotkey-indicator-fix
...
DolphinQt: Make HotkeyScheduler call UpdateInput when hotkeys are disabled.
2019-11-07 10:05:54 +13:00
JosJuice
c007dd1852
Android: Replace emulation rotation crash workaround with proper fix
...
The workaround was added in 0446a58
.
The underlying problem is that we must not destroy the surface
while the video backend is initializing, otherwise the video
backend may reference nullptr.
I've also cleaned up the logic for when to destroy the surface.
Note that the comment in EmulationFragment.java about only being
able to destroy the surface when emulation is running is not true
anymore (due to de632fc
, it seems like).
2019-11-05 09:28:40 +01:00
Jordan Woyak
32cf4b76be
DolphinQt: Fix tooltip of output mapping buttons.
2019-11-03 18:20:08 -06:00
Jordan Woyak
1bdf43dd78
DolphinQt: Fix spacebar not activating output mapping buttons.
2019-11-03 18:17:51 -06:00
JosJuice
ef1bae5320
DolphinQt: Fix the enabling/disabling of ControllersWindow buttons
...
Without this change, calling OnEmulationStateChanged undoes part
of the enabling/disabling that OnWiimoteModeChanged has done.
2019-11-03 15:03:58 +01:00
rlnilsen
f7a50545e3
Motion Input: Add "enable" checkbox for motion controlled cursor.
2019-11-03 11:56:01 +01:00
rlnilsen
d67a2304b0
Input: Add optional "enable" setting to the ControlGroup class.
...
The setting is exposed as a check box in the QGroupBox instance that visualises the ControlGroup instance.
The setting is saved under "[control group name]/Enabled", but only when it is "false". The default value is "true".
2019-11-03 11:55:52 +01:00
iwubcode
490fd0c3b3
DolphinQt: Add way to override "ResourcePack" folder that controls the location of resource packs
2019-11-02 13:42:40 -05:00
iwubcode
876a1ccc3e
DolphinQt: Add way to override "Load" folder that controls the location of custom textures
2019-11-02 13:30:44 -05:00
JosJuice
56d37d773b
RedumpVerifier: Show an error when datfile lacks serials or versions
...
This happens if someone manually downloads a regular datfile from
redump.org and puts it where Dolphin stores datfiles. Dolphin needs
"special" datfiles that contain fields for serials and versions.
Before this change, all discs (except Datel discs) would show up as
"Unknown disc" when using a regular datfile.
2019-11-02 16:49:20 +01:00
Techjar
3006c73bf6
Qt/RenderWidget: Account for devicePixelRatio when auto-adjusting window size
2019-11-01 14:37:29 -04:00
rlnilsen
49d9c63908
Motion Input: DSU Client config UI: Enable server IP address and port fields only when "server enable" is checked.
2019-11-01 03:35:07 +01:00
booto
371e3f1021
VI: Adjust start/end of ACV region for fields
...
This wasn't changed when halfline counts were changed to 0-based. Also
included is a diagram showing an understanding of how the values in the VI
timing registers maps to the video signal.
2019-10-31 21:04:22 -04:00
Stenzek
16f103ab42
Vulkan: Exclusive fullscreen support via VK_EXT_full_screen_exclusive
2019-10-31 22:45:59 +10:00
Stenzek
6fc6444687
Vulkan: Explicitly enable VK_KHR_get_physical_device_properties2
...
This was missing from the subgroup PR way back.
2019-10-31 22:45:59 +10:00
Stenzek
230190fc36
Vulkan: Allow runtime querying of enabled extensions
2019-10-31 22:45:59 +10:00
Connor McLaughlin
d3ee0a4535
Merge pull request #8379 from stenzek/mali
...
Vulkan: Optimizations for Mali with EFB2RAM on
2019-10-31 22:44:19 +10:00
Mat M
fd4bf5f0a2
Merge pull request #8438 from JosJuice/tilt-tooltip-string
...
Change Wii Remote tilt tooltip string based on translator feedback
2019-10-30 05:39:13 -04:00
Mat M
78fad0aafa
Merge pull request #8443 from JosJuice/redumpverifier-datel-wii
...
RedumpVerifier: Fix handling of Datel Wii disc serials
2019-10-30 05:37:08 -04:00
JosJuice
f9705fd117
Return nothing from VolumeWii::GetGameTDBID if Datel
...
RedumpVerifier relies on this.
2019-10-30 10:23:33 +01:00
JosJuice
42ec861469
RedumpVerifier: Fix handling of Datel Wii disc serials
...
GC Datel discs have empty serials, but Wii Datel discs have
serials starting with DS followed by some digits.
2019-10-30 10:11:24 +01:00
JosJuice
49977446dd
RedumpVerifier: Don't crash on missing hyphen in serial
2019-10-30 09:58:37 +01:00
JosJuice
e2ef248260
VolumeVerifier: Fix "The data partition is missing" false positive
...
My bad...
2019-10-30 09:38:18 +01:00
JosJuice
379f264aa8
Disable render to main when using batch mode
...
https://bugs.dolphin-emu.org/issues/11888
This also includes another change: DolphinQt will now exit with an
error if you use --batch without specifying a game using any method
(unlike in the past where --batch would be ignored if you didn't
specify a game using --exec, even if you had used --nand-title).
The main reason why I did this was because coding the alternative
(ignoring --batch) would be annoying with render to main involved.
2019-10-29 18:32:43 +01:00
Pierre Bourdon
1f3d1a9b7f
Merge pull request #8352 from rlnilsen/motion-controller-support-via-cemuhook-protocol
...
Support for motion controllers like the DualShock 4
2019-10-28 16:39:10 +01:00
JosJuice
f4da08eb13
Change Wii Remote tilt tooltip string based on translator feedback
2019-10-28 11:16:55 +01:00
JosJuice
0dbb58112a
CommandLineParse: Don't ignore video_backend/audio_emulation when not using -C
2019-10-28 10:36:56 +01:00
JosJuice
10d972789a
DolphinQt: Make WiiPane connect itself to EmulationStateChanged
2019-10-27 21:26:35 +01:00
rlnilsen
da1f153b47
Rename all instances of "CemuhookUDPServer"/"UDPServer" to "DualShockUDPClient"/"DSUClient".
2019-10-27 16:05:22 +01:00
rlnilsen
332cad21a4
Wiimote Mapping UI: Motion Input tab: Rework mapping warning, add explanation of and button to open Alternate Input Sources window.
2019-10-27 15:59:36 +01:00
JosJuice
090f04e01c
VideoInterface: Don't crash when running Wii Freeloader
...
Datel's Wii Freeloaders set m_PictureConfiguration.WPL to 0 for
a while. Not sure if the fix in this commit is a proper fix or
just a hack, since I'm not very familiar with this code.
With this change, it's possible to run a Wii Freeloader if you
are running an old enough version of the Wii Menu, but the
"coloured bars" that Datel reference in their documentation
never show up. The screen just freezes for a few seconds instead.
2019-10-27 15:46:33 +01:00
Fadhil Mandaga
14e47e43f9
add custom command to install_name_tool -add_rpath
2019-10-27 07:27:21 +07:00
Mat M
427d4501bc
Merge pull request #8429 from JosJuice/redump-create-path
...
Create necessary folder when using Redump.org integration
2019-10-26 15:51:25 -04:00
Mat M
cc6a1193b0
Merge pull request #8430 from JosJuice/eof-i18n-comment
...
InputCommon: Change "EOF" to "end of expression" in user facing string
2019-10-26 15:02:48 -04:00
JosJuice
8833e2a7fa
DolphinQt: Call OnEmulationStateChanged when creating config window panes
...
Otherwise UI elements won't be disabled correctly if the config
window is first opened while a game is running.
2019-10-26 17:50:54 +02:00
Jordan Woyak
9d18402d07
DolphinQt: Make HotkeyScheduler call UpdateInput when hotkeys are disabled.
2019-10-26 10:03:57 -05:00
rlnilsen
5ff79499a5
UDPServer: Add configuration UI.
...
Accessed through button "Alternate Input Sources" in the "Controller Settings" dialog.
2019-10-26 02:20:18 +02:00
rlnilsen
8aec424191
Controller Settings Dialog: Rename "Advanced" group box to "Common".
...
The only setting inside, "Background Input", doesn't seem advanced to me, but it is used for both GC an Wii input.
2019-10-26 02:20:17 +02:00
rlnilsen
4cb3baba5c
Add support for motion controllers via the CemuHook controller input protocol.
...
This is done by:
1) Implementing said protocol in a new controller input class CemuHookUDPServer.
2) Adding functionality in the WiimoteEmu class for pushing that motion input to the emulated Wiimote and MotionPlus.
3) Suitably modifying the UI for configuring an Emulated Wii Remote.
2019-10-26 02:19:53 +02:00
ferrrry
ae337dbea9
Qt: Add "renderer" window role to render window
2019-10-25 22:51:05 +01:00
JosJuice
c6b4438c62
InputCommon: Change "EOF" to "end of expression" in user facing string
...
This is hopefully clearer, since we're not dealing with a file.
2019-10-25 23:49:20 +02:00
JosJuice
2210a0a70c
Rebuild D_REDUMPCACHE_IDX path when needed
2019-10-25 20:49:28 +02:00
JosJuice
2f1b2c6adf
Create necessary folder when using Redump.org integration
...
This was making it impossible to use the Redump.org integration
without first manually creating a Redump folder in the Cache folder.
https://bugs.dolphin-emu.org/issues/11885
2019-10-25 11:07:50 +02:00
JosJuice
742aa765c6
VolumeVerifier: Don't show problems with good dumps of Wii Freeloaders
2019-10-25 10:03:12 +02:00
Mat M
c6da1f050b
Merge pull request #8376 from tkln/watch-widget-sign-compare
...
WatchWidget: Fix integer comparison signedness warnings
2019-10-23 20:20:51 -04:00
Mat M
897d7f634e
Merge pull request #8422 from CookiePLMonster/gamelistmodel-fixup
...
Fixup GameListModel::UpdateGame and columnCount
2019-10-23 20:20:03 -04:00
Mat M
6991b39289
Merge pull request #8419 from jordan-woyak/xor-op
...
ExpressionParser: Add XOR operator.
2019-10-23 20:18:39 -04:00
Mat M
291c056c07
Merge pull request #8424 from JosJuice/cpu-core-advanced-cleanup
...
DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab
2019-10-23 20:16:32 -04:00
Mat M
780d34dbca
Merge pull request #8426 from JosJuice/volumeverifier-region-mismatch
...
VolumeVerifier: Improve region/game ID mismatch checking
2019-10-23 20:15:31 -04:00
JosJuice
2c79c63608
Merge pull request #8330 from JosJuice/redump-integration
...
VolumeVerifier: Add Redump.org integration
2019-10-23 16:43:52 +02:00
JosJuice
77b9a70d6c
VolumeVerifier: Don't consider region mismatch for placeholder game IDs
2019-10-23 10:43:34 +02:00
JosJuice
97c4e8ff3a
VolumeVerifier: Include revision when checking region mismatch
2019-10-23 10:39:19 +02:00
LAGonauta
2ff646b796
DSP must be set to LLE to select the decoder
2019-10-22 22:55:59 -03:00
LAGonauta
3c9eb37381
Allow user to change DPLII decoding quality
2019-10-22 22:55:15 -03:00
JosJuice
95c4423f4c
DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab
2019-10-22 20:54:01 +02:00
Admiral H. Curtiss
1c1c19e996
Qt/GCMemcardManager: Fix incorrect placeholder frame timing.
2019-10-21 22:47:17 +02:00
Silent
a0111628fb
Fixup GameListModel::UpdateGame and columnCount
...
- dataChanged takes "first" and "last" indices inclusive, not exclusive
- columnCount should return 0 for valid parents
2019-10-20 23:07:08 +02:00
Jordan Woyak
1fe44238b1
ExpressionParser: Add XOR operator.
2019-10-20 09:51:52 -05:00
Mat M
6282b0d83e
Merge pull request #8326 from lioncash/fmt
...
ActionReplay: Make use of fmt where applicable
2019-10-20 07:30:20 -04:00
Mat M
d0114ea61e
Merge pull request #8415 from jordan-woyak/try-parse
...
StringUtil: Require TryParse of float types to use the entire string.
2019-10-20 07:29:20 -04:00
Mat M
ef77101463
Merge pull request #8412 from jordan-woyak/def-warn-fix
...
Core/HW: Fix some explicitly defaulted but implicitly deleted warnings.
2019-10-19 17:47:40 -04:00
Jordan Woyak
9e8181e80e
Core/HW: Fix some explicitly defaulted but implicitly deleted warnings.
2019-10-19 16:35:03 -05:00
Silent
68694e0039
Add signals to enable/disable Refresh button
...
Makes it impossible to spam Refresh button and looks better overall.
2019-10-19 23:15:38 +02:00
Silent
cc6ffef4a1
Add CommandType::BeginRefresh
...
This resolves a race condition when spamming Refresh button,
which would often end up with duplicates game entries for the entire
duration of the session.
2019-10-19 23:07:10 +02:00
Silent
5e7b95db3b
Add missing break to prevent fallthrough
2019-10-19 23:06:58 +02:00
Jordan Woyak
0d254d9cb8
StringUtil: Require TryParse of float types to use the entire string.
2019-10-18 19:56:48 -05:00
JosJuice
bb8d0261be
DolphinQt: Mark ubershader setting names as translatable
...
These were marked as translatable in DolphinWX but not DolphinQt,
yet both DolphinWX and DolphinQt tried to fetch translations for them.
This meant that translations worked in both DolphinWX and DolphinQt
back when DolphinWX existed, but that translations stopped working
in DolphinQt once DolphinWX was removed (because the removal of
DolphinWX triggered the removal of the strings from the .po files).
2019-10-18 23:35:34 +02:00
Jordan Woyak
40d15980c5
DolphinQt/Mapping: Explicitly specify parents of conditionally added widgets to prevent memory leaks.
2019-10-18 12:26:03 -05:00
Jordan Woyak
fa8cbd83e2
Qt/Mapping: Show current input states in advanced dialog.
2019-10-18 12:19:16 -05:00
JMC47
4a613dad20
Merge pull request #8304 from AdmiralCurtiss/memcard-manager-icon-fix
...
Qt/GCMemcardManager: Fix icon animations displaying incorrectly.
2019-10-17 18:03:21 -04:00
JMC47
8bc0a92f2c
Merge pull request #7663 from jordan-woyak/expression-parser-improve
...
Expression parser improvements
2019-10-17 17:35:30 -04:00
Anthony
acf9bd5ebe
Merge pull request #8408 from ethteck/move-cpu-emulation-engine-options
...
Qt: Move CPU Emulation Engine options to the Advanced tab
2019-10-17 12:56:50 -07:00
Ethan Roseman
2647e412ae
Change from radio buttons to combobox, sizing fix and slight reorganization
2019-10-16 21:01:01 -04:00
Anthony
6a15de58f4
Merge pull request #8403 from jordan-woyak/netplay-wiimote-buffer-fix
...
NetPlay: Allow Wii Remote buffer size to decrease
2019-10-16 16:20:53 -07:00
Anthony
a21b7b1bdd
Merge pull request #8390 from jordan-woyak/wiimote-emu-tilt-fix
...
WiimoteEmu: Tilt fixes.
2019-10-16 16:14:42 -07:00
spycrab
2f0ad1b6a0
Merge pull request #8402 from spycrab/qt_about_restructure
...
Qt/AboutDialog: Clean up code a bit
2019-10-16 22:25:26 +02:00
JosJuice
a6daed23e7
Merge pull request #8387 from sepalani/reg-view-in
...
RegisterWidget: Fix view in code/memory
2019-10-16 20:43:32 +02:00
Ethan Roseman
1ce566f9fd
Moved CPU Emulation Engine options to the Advanced tab
2019-10-16 12:41:13 -04:00
Jordan Woyak
b120b08726
ControllerEmu: Clamp results of trigger/slider states to prevent integer overflow later on.
2019-10-15 15:35:07 -05:00
spycrab
4425d05c4a
Merge pull request #8400 from sepalani/fix-mega
...
SignatureDB: Add missing selectors
2019-10-15 18:24:03 +02:00
Admiral H. Curtiss
bbeb25de48
Qt/Debugger/CodeWidget: Allow pressing 'enter' in address search box.
2019-10-14 21:47:27 +02:00
JMC47
d39555919d
Merge pull request #8395 from CookiePLMonster/improve-work-queue
...
Improvements to WorkQueueThread
2019-10-13 15:24:56 -04:00
Sepalani
8dc5557995
SignatureDB: Add missing selectors
2019-10-13 22:52:21 +04:00
Jordan Woyak
24a36eb027
NetPlay: Allow Wii Remote buffer size to decrease by dropping reports.
2019-10-13 13:03:57 -05:00
spycrab
aba23c8d87
Merge pull request #8401 from spycrab/qt_5.13.1
...
Externals/Qt: Update to 5.13.1
2019-10-13 16:27:33 +02:00
spycrab
1975e57b73
Qt/AboutDialog: Clean up code a bit
2019-10-13 16:11:19 +02:00
spycrab
ec526fee56
Externals/Qt: Update to 5.13.1
2019-10-13 16:06:56 +02:00
Jordan Woyak
7295458c11
ExpressionParser: Make Lexer ctor explicit and move argument.
2019-10-12 12:28:19 -05:00
Jordan Woyak
72302d9c42
ExpressionParser: Add support for /* */ style comments.
2019-10-12 11:41:02 -05:00
Jordan Woyak
b4e2b3cae3
ControllerEmu: Don't clear expression variables on references update. Hotplug would make that problematic.
2019-10-11 19:42:49 -05:00
Jordan Woyak
4d41bd64c8
ExpressionParser: Show error message with expected arguments.
2019-10-11 19:38:18 -05:00
Jordan Woyak
b57178d246
ExpressionParser: Remove ! character from function syntax. Remove unused serialization functions.
2019-10-11 18:12:18 -05:00
Jordan Woyak
7912dc57dd
ExpressionParser: Remove !while and add optional 2nd argument to !smooth.
2019-10-11 18:12:18 -05:00
Jordan Woyak
ca7ce67450
ExpressionParser/DolphinQt: Added parse results to UI.
2019-10-11 18:12:18 -05:00
Jordan Woyak
c8b2188e19
DolphinQT: Add syntax highlighting from tokenizer data.
2019-10-11 18:12:18 -05:00
Jordan Woyak
e3cf2ae0d4
DolphinQT/IOWindow: Add combo boxes to insert the new operators and functions so people are semi-aware of them. Fixed the "Apply" button. Display an error message on expression parse error.
2019-10-11 18:12:18 -05:00
Jordan Woyak
5cb1248612
ExpressionParser: Clean up some redundant using-declarations and wrong comments.
2019-10-11 18:12:18 -05:00
Jordan Woyak
fae8b15db1
ExpressionParser: Add !pulse function that evaluates to 1.0 for N seconds for each press.
2019-10-11 18:12:18 -05:00
Jordan Woyak
b5b43f8342
ExpressionParser: Add relative input function.
2019-10-11 18:12:18 -05:00
Jordan Woyak
08b291b0f9
ExpressionParser: Fix timer function with negative values.
2019-10-11 18:12:18 -05:00
Jordan Woyak
18b5120441
ExpressionParser: Add !tap function which activates after X (defaults to 2) taps within Y seconds.
2019-10-11 18:12:17 -05:00
Jordan Woyak
f2e499d587
ExpressionParser: Add !hold function that activates after input is held for N seconds.
2019-10-11 18:12:17 -05:00
Jordan Woyak
9e536382c4
ExpressionParser: Add function to smooth inputs.
2019-10-11 18:12:17 -05:00
Jordan Woyak
bbd6b1848f
ExpressionParser: Add deadzone function.
2019-10-11 18:12:17 -05:00
Jordan Woyak
6a2096c419
ExpressionParser: Add optional 2nd argument to toggle function which clears state.
2019-10-11 18:12:17 -05:00
Jordan Woyak
fd07ae8cec
ExpressionParser: Move FunctionExpression type definitions into another file.
2019-10-11 18:12:16 -05:00
Jordan Woyak
d4f9b8c4ef
ExpressionParser: Allow unary functions to be used without parens around the argument. e.g. !`Up`
2019-10-11 17:31:09 -05:00
Jordan Woyak
2a377e35ed
ExpressionParser: Make function names case sensitive.
2019-10-11 17:31:09 -05:00
Jordan Woyak
2b0297489f
ExpressionParser: Rename some functions and return a syntax error on trailing tokens.
2019-10-11 17:31:09 -05:00
Jordan Woyak
258832b1e8
ExpressionParser: Change function argument syntax to something more c++-like.
2019-10-11 17:31:09 -05:00
Jordan Woyak
ccac3f1e49
ExpressionParser: Fix negative literals and support unary minus operator.
2019-10-11 17:31:07 -05:00
Jordan Woyak
7cf903a209
ExpressionParser: Suppport N-ary functions. Arguments are read LISP style. N atoms are read after the function name. Added "if" function and made the "while" function more sensible with an arity of 2. Removed the ugly binary conditional operator.
2019-10-11 17:16:05 -05:00
Jordan Woyak
4dd078568b
ExpressionParser: Replace the timer literal with a timer function that increases from 0.0 to 1.0 and resets after N seconds. e.g. (!timer 2.0) is a 2 second timer. Fixed parsing of unary expressions so things like (! ! 1.0) work.
2019-10-11 17:14:45 -05:00
Jordan Woyak
785eb14432
ExpressionParser: Clean up string lexing and support numeric literals without tick delimiter: e.g. 0.75
2019-10-11 17:14:45 -05:00
Jordan Woyak
fa75ab404f
ExpressionParser: operator precedence.
2019-10-11 17:14:45 -05:00
Jordan Woyak
46c0ae7d1f
ExpressionParser: Add !while loop unary expression. Limited to 10000 reps to prevent infinite loops. Rhs is re-evaluated until it is < 0.5. Added comma operator, which behaves like it does in c++. Added subration operator.
2019-10-11 17:14:45 -05:00
Jordan Woyak
2c89b60298
ExpressionParser: cleanup.
2019-10-11 17:14:45 -05:00
Jordan Woyak
58efc93ed4
ExpressionParser: Conditional operator. A binary op that evals the rhs if lhs > 0.5 else 0.0.
2019-10-11 17:14:45 -05:00
Jordan Woyak
718efce1dc
ExpressionParser: Add less-than and greater-than operators.
2019-10-11 17:14:45 -05:00
Jordan Woyak
35e51ebbaa
ExpressionParser: Clear expression variables on UpdateReferences call. I don't know if this is most sensible.
2019-10-11 17:14:45 -05:00
Jordan Woyak
e896835f86
ExpressionParser: Renamed ControlFinder to ControlEnvironment. Added support for variables and assignment operator. ControlExpression objects now reference a matching input and output so the two can me mixed in any expression. (you can set rumble directly from inputs)
2019-10-11 17:14:32 -05:00
Jordan Woyak
1efcf861ea
ExpressionParser: Add mod operator, sin function, and timer "constant" which can be used for auto-fire and oscillators.
2019-10-11 17:13:58 -05:00
Jordan Woyak
a8f3e9585f
ExpressionParser: Expand ! symbol to allow for named unary functions. Added !toggle function which toggles on/off with each activation of its inner expression.
2019-10-11 17:13:58 -05:00
Jordan Woyak
bf63f85d73
ExpressionParser: Add multiplication and division operators. (division by zero evaluates as zero). Don't clamp result of addition operator. Clamping will be done later.
2019-10-11 17:13:58 -05:00
Jordan Woyak
f3192ca06d
ExpressionParser: Add support for literals.
2019-10-11 17:13:58 -05:00
Mat M
5be061e27f
Merge pull request #8398 from jordan-woyak/old-wm-comment
...
WiimoteEmu: Fix an outdated comment.
2019-10-10 08:56:39 -04:00
Jordan Woyak
443af3fabd
WiimoteEmu: Fix outdated comment.
2019-10-09 16:12:18 -05:00
Stenzek
7c286064b8
AudioCommon: Don't forget to call Init() on fallback
2019-10-10 00:09:16 +10:00
Stenzek
1c5441aa40
AlsaSoundStream: Don't call join() on invalid thread
...
This can happen if initialization failed.
2019-10-10 00:07:27 +10:00
Connor McLaughlin
6e613f4f82
Merge pull request #8386 from stenzek/gcc-array-workaround
...
FixedSizeQueue: Work around GCC generating large amounts of debug info
2019-10-09 15:42:53 +10:00
Silent
26ebf5b650
Improvements to WorkQueueThread
...
- Do not use a lambda for std::thread as invoke constructor exists
- Use simpler std::lock_guard wherever possible
- Do not require T to be default constructible
- Move T out of the queue instead of copying
2019-10-08 22:57:33 +02:00
Silent
ea8a3059bf
Enable Win10 long path awareness in manifest files
2019-10-07 22:46:37 +02:00
Silent
45890c20cf
Remove obsolete "Windows compatibility" macros
2019-10-07 22:46:37 +02:00
Silent
689378b435
Move GetModuleName to Common
...
This unifies GetModuleFileName calls between Dolphin and WinUpdater
and allows to gracefully remove MAX_PATH limit from GetExePath
2019-10-07 22:46:36 +02:00
Silent
3b21d32865
Remove MAX_PATH limit from:
...
- GetTempFilenameForAtomicWrite
- SetUserDirectory
2019-10-07 22:45:16 +02:00
JosJuice
02ba893803
DolphinQt: When audio backend is invalid, show nothing in dropdown
...
It used to show the first option, No Audio Output (but audio output
would work correctly anyway since AudioCommon didn't use this logic.)
2019-10-06 20:40:31 +02:00
Jordan Woyak
b794737bcf
WiimoteEmu: Disable simulation of centripetal acceleration.
2019-10-06 09:56:41 -05:00
Jordan Woyak
673f13b7ac
WiimoteEmu: Change default tilt angle to 85 degrees.
2019-10-06 09:56:41 -05:00
Jordan Woyak
260cefd60b
WiimoteEmu: Expose maximum tilt acceleration.
2019-10-06 09:56:39 -05:00
JMC47
b6545ea285
Merge pull request #8370 from sepalani/fix-hle-patch
...
HLE: Fix patching functions with the same name
2019-10-06 05:07:54 -04:00
Sepalani
beeb68d541
RegisterWidget: Fix view in code/memory
2019-10-06 12:25:46 +04:00
Connor McLaughlin
9a68eaaa24
Merge pull request #8292 from Pokechu22/ir-calibration
...
Use valid IR calibration data
2019-10-06 17:31:50 +10:00
Connor McLaughlin
dba7f3304d
Merge pull request #8361 from ligfx/remove_xaudio2
...
Remove XAudio2
2019-10-06 17:24:48 +10:00
Stenzek
4fd262d0b8
FixedSizeQueue: Work around GCC generating large amounts of debug info
2019-10-06 16:23:45 +10:00
feos
5d03d5dde0
Another AVI fix for WinAPI importers
...
When not using native resolution, FFMPEG automatically selects FFV1 version 3 for whatever reason, and that can't be decoded by VirtualDub/AVISynth.
2019-10-05 23:31:06 +03:00
Aapo Vienamo
0dda920c1d
VerifyWidget: Handle Severity::None case in Verify()
...
The case body is empty because VolumeVerifier doesn't actually report
problems with severity of None.
Fixes "warning: enumeration value ‘None’ not handled in switch [-Wswitch]"
warning reported by gcc.
2019-10-05 13:20:29 +03:00
Stenzek
ae83d02e54
Drop 3D Vision Support
2019-10-04 13:40:21 +10:00
Aapo Vienamo
e3e682c4ca
WatchWidget: Change type of NUM_COLUMNS to int
...
Fixes integer comparison signedness warnings.
2019-10-03 23:00:41 +03:00
Stenzek
ecdf21a988
Config: Also set CommandBufferExecuteInterval to 0 by default on Android
2019-10-02 22:44:19 +10:00
Stenzek
328d89db70
Vulkan: Add a DriverDetails bug for "slow cached readback memory"
...
Using the cached memory type appears to be slower on Mali drivers, with
~10-15% CPU spent in the __pi___inval_cache_range kernel function.
2019-10-02 21:34:58 +10:00
Stenzek
c557aa4a15
Vulkan: Add strict flag to memory type selection
2019-10-02 21:27:32 +10:00
Stenzek
33a6d265e5
PostProcessing: Use interface blocks for shaders
2019-10-02 12:59:50 +10:00
Stenzek
af849126b3
Renderer: Use interface blocks for ImGui shaders
2019-10-02 12:52:45 +10:00
Stenzek
c98a5f7dfd
Renderer: Draw ImGui interface to both eyes
2019-10-02 12:19:47 +10:00
Stenzek
b44a0980eb
PostProcessing: Use correct layer in quad-buffered modes
...
Previously, only the left eye was being used.
2019-10-02 11:52:54 +10:00
Stenzek
e754c8ab26
D3D11: Initialize shader cache before renderer
...
Otherwise the shaders we need for e.g. postprocessing are null.
2019-10-02 11:50:10 +10:00
Stenzek
e88c269d02
PostProcessing: Don't use GS expansion shader for quad buffering w/ OpenGL
...
OpenGL doesn't render to a 2-layer backbuffer like D3D/Vulkan for quad-buffered
stereo, instead drawing twice with the eye selected by glDrawBuffer()
(see OGL::Renderer::RenderXFBToScreen).
2019-10-02 11:33:25 +10:00
Connor McLaughlin
e6ae204600
Merge pull request #8373 from jordan-woyak/stereo-mode-fix
...
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-10-02 10:56:21 +10:00
Connor McLaughlin
dafb0173b7
Merge pull request #8375 from stenzek/stereo-switch
...
Fix runtime stereoscopy mode switching
2019-10-02 10:54:53 +10:00
Connor McLaughlin
b319f823bf
Merge pull request #8337 from CookiePLMonster/log-widget-improvements
...
Log widget improvements
2019-10-01 23:42:16 +10:00
Stenzek
135f0a1385
ShaderCache: EFB2RAM pipelines should not use a geometry shader
...
Only the left eye is used when creating the RAM copy.
2019-10-01 11:44:31 +10:00
Stenzek
c989e5c50c
ShaderCache: Recompile shared pipelines on shader cache reload
...
Fixes broken stereoscopy when switching on/off at runtime.
2019-10-01 11:43:02 +10:00
Jordan Woyak
d15f08c84a
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-09-30 15:43:55 -05:00
Stenzek
abc97bb0fa
DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
...
This adds an ini-only setting under GFX.ini -> [Settings] ->
MaxInternalResolution. Setting this will allow the user to select
resolutions beyond the default 8x max scale in graphics options.
2019-10-01 01:17:08 +10:00
JMC47
d3a9104cee
Merge pull request #8355 from phire/qt_fix_fifo_range
...
QtFifoPlayer: handle FIFO load before window creation
2019-09-30 00:34:39 -04:00
JMC47
bec433cb40
Merge pull request #8333 from CookiePLMonster/screenshot-timestamp
...
Core: Generate screenshot name with timestamps
2019-09-30 00:32:07 -04:00
JosJuice
06ab51bceb
Merge pull request #8324 from CookiePLMonster/adapter-combo-fix
...
Enable adapter combo only if adapters are supported by current backend
2019-09-29 00:13:55 +02:00
JosJuice
9d648904ed
Merge pull request #8341 from CookiePLMonster/win-utf8-console-output
...
ConsoleListenerWin: Properly output console logging in UTF-16
2019-09-28 18:28:08 +02:00
Sepalani
d8a3218726
HLE: Fix patching functions with the same name
2019-09-28 17:38:43 +04:00
JosJuice
f8a4975274
DiscIO: Make company names match GameTDB's list better
2019-09-25 13:38:39 +02:00
JosJuice
d8958fbdf7
GameFile: Use enums for custom/length parameters
2019-09-25 12:25:59 +02:00
JosJuice
59f27ae4e1
GameFile: Support HBC-style XML metadata
...
This feature was originally exclusive to the previous iteration of
DolphinQt (the one that was the reason for the current iteration
being named DolphinQt2 initially).
https://bugs.dolphin-emu.org/issues/8949
2019-09-25 12:25:33 +02:00
Rukai
dbc0bf0ccb
Fix import gc save file window title
2019-09-24 19:16:27 +10:00
JosJuice
edfb0f66b6
Merge pull request #8363 from Fullmetal5/patch-1
...
Add Wii Mini system menu version detection
2019-09-23 20:18:45 +02:00
Admiral H. Curtiss
ff90a5855d
Qt/GCMemcardManager: Fix animation frame order and speed.
2019-09-23 01:55:46 +02:00
JosJuice
2300ce385e
DiscIO: Add missing company IDs
2019-09-22 23:12:31 +02:00
Admiral H. Curtiss
8f573cf5f2
Qt/GCMemcardManager: Fix animation frame decoding.
2019-09-22 21:55:06 +02:00
Dexter Gerig
5c4b591536
Add Wii Mini system menu version detection
2019-09-21 12:55:49 -05:00
Pokechu22
3efa3d7a42
Fix 2 DTK bugs
...
Bug 1: subcommand 1 of 0xE1 does not actually reset the current position; it just stops playback. 0xE2 returns the same value it would have before stopping playback (other than reporting that the stream is stopped).
Bug 2: subcommand 3 of 0xE2 was incorrectly dividing the length by 4; while this makes sense for positions (which are multiplied by 4 earlier to get a byte offset), it is not correct for lengths.
2019-09-14 21:05:33 -07:00
Michael M
71c3c5626b
AudioCommon: if backend is unknown, use default backend
2019-09-14 14:16:13 -07:00
Michael M
0f3695a14b
Remove XAudio2
...
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
Scott Mansell
677a0903a1
FifoPlayer: Use std::move for saving callbacks
2019-09-09 11:38:21 +12:00
Scott Mansell
46f4f69cfd
QtFifoPlayer: handle fifo load before window creation
...
Fixes a bug where if you loaded a fifo before opening the fifo
player window (which you can do by dragging a .dff onto dolphin's
main window) then the player's widgets wouldn't be initilized
correctly.
Importantly, the object range widgets would be broken.
2019-09-09 10:36:31 +12:00
JMC47
c144cde825
Revert "DSP: ARAM cleanup experiments"
2019-09-02 01:47:50 -04:00
JMC47
03ea0eb27a
Merge pull request #7740 from booto/aram-experiments
...
DSP: ARAM cleanup experiments
2019-09-01 20:09:42 -04:00
dreamsyntax
a4f13ca57d
Remove double space in GeckoCodeWidget code view
2019-09-01 11:22:42 -07:00
Stenzek
0a75e71672
DolphinNoGUI: Add a FBDev platform
...
And the associated GLContext bits
2019-09-01 14:00:40 +10:00
Stenzek
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
Silent
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
Silent
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
Silent
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
Silent
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
Silent
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
Silent
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
Silent
eab086b880
ConsoleListenerWin: Properly output console logging in UTF-16 so UTF-8 displays properly
2019-08-31 00:44:44 +02:00
booto
c268aa3a46
SI: Reduce logging.
2019-08-28 22:16:41 -04:00
Silent
37ef5a54c9
Core: Use move semantics for Renderer::SaveScreenshot
2019-08-28 19:52:35 +02:00
Silent
ff8f978eaf
Core: Generate screenshot name with timestamps instead of only increasing numbers
2019-08-28 19:52:35 +02:00
meta
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
Techjar
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
JosJuice
87c5e0b30e
VolumeVerifier: Add Redump.org downloading
2019-08-25 12:53:19 +02:00
JosJuice
3eb360b818
VolumeVerifier: Add zip support for datfile
2019-08-24 16:37:19 +02:00
JosJuice
22933d8502
VolumeVerifier: Add datfile parsing
2019-08-24 16:37:19 +02:00
Connor McLaughlin
88522b7a26
Merge pull request #8327 from JosJuice/more-string-view-regression
...
DolphinQt: Fix whitelisting USB devices
2019-08-23 21:32:13 +10:00
JosJuice
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
Admiral H. Curtiss
5614594f5e
Qt/GCMemcardManager: Add an 'All Files' option to the filetype selection.
2019-08-22 20:18:21 +02:00
Lioncash
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
JosJuice
f79ca65170
UICommon: Remove Android hacks from GameFile
2019-08-21 18:48:52 +02:00
Anthony
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
Anthony
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
Anthony
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
Anthony
35eb63de2c
Merge pull request #8300 from AdmiralCurtiss/gcmemcard-construction
...
GCMemcard: Rework construction logic.
2019-08-21 08:56:31 -07:00
Anthony
288dd649da
Merge pull request #8273 from CookiePLMonster/config-threading-fixes
...
Threading fixes for config layers
2019-08-21 08:55:03 -07:00
Tilka
bbae0424a1
Merge pull request #8319 from Tilka/mcrfs
...
Jit64: fix mcrfs
2019-08-20 21:28:52 +01:00
Silent
df0ff7f3bb
Enable adapter combo on emulation state change only if adapters are supported by current backend
2019-08-20 20:08:14 +02:00
Connor McLaughlin
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
Connor McLaughlin
82fe8f61b6
Merge pull request #8308 from CookiePLMonster/cmdline-headless
...
Make --batch run Dolphin headless
2019-08-20 12:22:50 +10:00
Connor McLaughlin
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
Silent
fe8c9dfa14
WinUpdater: Properly initialize COM on window thread and release ITaskbarList3 on exit
2019-08-19 22:37:48 +02:00
Silent
23f335ba91
Core/CPU: Make use of type deduction for scoped locks
2019-08-18 17:39:27 +02:00
Silent
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
Tillmann Karras
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
Silent
12ac784a41
Fix "Muted%" OSD message when muting sounds via a hotkey
2019-08-17 12:17:09 +02:00
Admiral H. Curtiss
7b9d43a834
Qt/GCMemcardManager and Qt/GameCubePane: Give detailed error messages for invalid memory cards.
2019-08-15 18:21:48 +02:00
Admiral H. Curtiss
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
Admiral H. Curtiss
7d4cabea07
GCMemcard: The update counters are interpreted as signed values for the newer-than comparison.
2019-08-15 18:21:47 +02:00
Admiral H. Curtiss
8fc2f0ff2d
GCMemcard: Rename MemCardXMb constants to MBIT_SIZE_MEMORY_CARD_X for consistency with other constants.
2019-08-15 18:21:45 +02:00
Admiral H. Curtiss
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
QuellaZhang
e67eb4693e
Fix implicit false-to-nullptr conversions
2019-08-15 17:49:57 +02:00
JosJuice
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
Connor McLaughlin
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
Brandon Rothweiler
8857db9833
Check validity of iterator before dereferencing
2019-08-13 18:00:12 -07:00
JosJuice
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
Silent
b6df0bff93
Make --batch run Dolphin in headless mode, provided --exec is also passed
2019-08-11 20:58:04 +02:00
Silent
80e8037e0b
Truly use emplace_back in CommandLineConfigLayerLoader constructor
2019-08-11 20:43:18 +02:00
JosJuice
9cc719db02
Fix TitleDatabase
...
a2a1e04
regression.
2019-08-09 18:20:45 +02:00
JosJuice
393709a45a
Also override the SYSCONF country setting
...
Fixes https://bugs.dolphin-emu.org/issues/10066
2019-08-09 17:33:05 +02:00
JosJuice
561a4cfcce
Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
...
This new setting is like Override Language on NTSC Games, except
instead of only applying to the GameCube language setting,
it also applies to the Wii language setting.
Fixes https://bugs.dolphin-emu.org/issues/11299
2019-08-09 17:33:05 +02:00
Connor McLaughlin
b88e5610ab
Merge pull request #8204 from JosJuice/volumeverifier-underdump-wbfs
...
VolumeVerifier: Show underdump warnings for WBFS/CISO too
2019-08-10 01:24:15 +10:00
Connor McLaughlin
428ae5a43d
Merge pull request #8172 from nokturnusmf/relative-input-hold
...
Added (held) key for relative input
2019-08-10 00:37:53 +10:00
JosJuice
8c8bab3657
VolumeVerifier: Show underdump warnings for WBFS/CISO too
2019-08-09 16:13:50 +02:00
Connor McLaughlin
5c3e9a34c3
Merge pull request #8226 from lioncash/fmt-core
...
Core/Core: Use fmt where applicable
2019-08-09 23:43:39 +10:00
Connor McLaughlin
8be5ee9fe2
Merge pull request #8277 from lioncash/code
...
DolphinQt/Config/ARCodeWidget: Avoid unnecessary disk operations
2019-08-09 23:42:55 +10:00
Connor McLaughlin
48ca2c6f2e
Merge pull request #8233 from JosJuice/stringutil-string-view
...
StringUtil: Use std::string_view more
2019-08-09 23:39:01 +10:00
Connor McLaughlin
0ab7e2eed7
Merge pull request #8223 from JosJuice/titledatabase-unknown-language
...
TitleDatabase: Don't crash on unknown language
2019-08-09 23:35:53 +10:00
Connor McLaughlin
f64f4a08c8
Merge pull request #8290 from lioncash/const-fn
...
UICommon/NetPlayIndex: Minor interface cleanup
2019-08-09 23:05:48 +10:00
Connor McLaughlin
ec1fe41eb2
Merge pull request #8298 from CookiePLMonster/win-updater-hide-fix
...
WinUpdater: Properly hide window on startup as intended
2019-08-09 23:04:53 +10:00
JosJuice
cd02ca17ce
VolumeVerifier: Allocate QProgressDialog on stack
...
No reason to have it on the heap.
This also lets us skip calling reset, since the dialog closes
when the QProgressDialog object goes out of scope.
2019-08-09 14:47:15 +02:00
Connor McLaughlin
e87a3f91a9
Merge pull request #8303 from JosJuice/volumeverifier-very-small
...
Fix problems with running VolumeVerifier on very small disc images
2019-08-09 22:16:33 +10:00
Connor McLaughlin
2df522d4eb
Merge pull request #8299 from JosJuice/volumeverifier-performance
...
VolumeVerifier: Performance improvements
2019-08-09 22:10:09 +10:00
Connor McLaughlin
22ed2c0e0c
Merge pull request #8269 from lioncash/osd-move
...
VideoCommon/OnScreenDisplay: Minor cleanup
2019-08-08 12:38:44 +10:00
Connor McLaughlin
e5a4a86f59
Merge pull request #8297 from Miksel12/bugreport-qt
...
DolphinQt: Add bug tracker button
2019-08-08 12:27:05 +10:00
Connor McLaughlin
1bd8f03362
Merge pull request #8271 from lioncash/qstring
...
DolphinQt: Replace unnecessary QStringLiterals with alternatives where applicable
2019-08-08 12:25:30 +10:00
Connor McLaughlin
1092efa77a
Merge pull request #8276 from stenzek/adreno-efb-access
...
Fix CPU EFB access on Adreno with Vulkan backend
2019-08-08 12:23:27 +10:00
Connor McLaughlin
9477c8b0ed
Merge pull request #8293 from lioncash/ref
...
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
2019-08-08 12:17:26 +10:00
JosJuice
107291dc5a
Fix problems with running VolumeVerifier on very small disc images
2019-08-07 19:48:10 +02:00
Silent
8e79705854
WinUpdater: Wait in UI::Init until window is done creating to avoid losing UI::SetVisible signals
2019-08-06 19:24:38 +02:00
JosJuice
34fb608dd6
VolumeVerifier: Multithreading
2019-08-06 16:42:59 +02:00
JosJuice
f754a1a548
VolumeVerifier: Don't read data multiple times
2019-08-06 16:32:01 +02:00
Silent
f70efbb963
WinUpdater: Create updater window as hidden by default
...
UpdaterCommon attempts to hide updater window directly after creating,
so creating it hidden avoids the window from showing for a split second
2019-08-05 21:47:05 +02:00
Pokechu22
7c892c0c6e
Use valid IR calibration data
...
Previously, IR calibration data with an invalid checksum was used, because the calibration produced a strange offset. I've replaced it with calibration data that encodes the same values as the data Nintendo falls back to when the checksum is bad.
2019-08-05 10:39:32 -07:00
Mike Kuijl
03b20c702d
DolphinQt: Add bug tracker button
2019-08-05 18:45:14 +02:00
Connor McLaughlin
24718c1a38
Merge pull request #8294 from lioncash/render-const
...
VideoCommon/RenderBase: Make functions const where applicable
2019-08-05 16:25:21 +10:00
Lioncash
07aa18eb2b
VideoCommon/TextureCacheBase: Collapse for loop into a fill() in Invalidate()
...
Same thing, less code.
2019-08-04 23:30:27 -04:00
Lioncash
d52dd2e04f
VideoCommon/TextureCacheBase: Use emplace_back where applicable
...
Same thing, less code.
2019-08-04 23:28:14 -04:00
Lioncash
fd12ae1408
VideoCommon/TextureCacheBase: Remove use of the texture cache global
...
We can just call the functions that are part of the interface instead of
using the global in order to execute those functions.
2019-08-04 23:23:04 -04:00
Lioncash
7366b4281f
VideoCommon/RenderBase: Remove dependency on renderer global within renderer
...
There's no need to have a dependency when we can simply call the
function itself as part of the instance itself.
2019-08-04 23:01:19 -04:00
Lioncash
cfdfbbff38
VideoCommon/RenderBase: Use structured bindings where applicable
...
Same behavior, but immediately assigns to variables, allowing them to be
const.
2019-08-04 22:59:07 -04:00
Lioncash
dd5b8895fe
VideoCommon/RenderBase: Make functions const where applicable
2019-08-04 22:52:00 -04:00
Lioncash
86a651e27f
VideoCommon/TextureCacheBase: Remove dependence on global variables from OnConfigChanged()
...
The active config will always be passed as the reference parameter, we
can make use of the parameter instead of accessing the global variable.
2019-08-04 22:33:18 -04:00
Lioncash
7d017be666
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
...
This reference isn't actually modified within this function
2019-08-04 22:31:27 -04:00
Lioncash
8285a94d93
UICommon/NetPlayIndex: Take std::vector by const reference in ParseResponse()
...
This variable isn't std::moved anywhere and is just read out of into a
string. Instead of making a copy, and then another copy of the data into
a std::string, we can take it by reference, only copying the data once.
2019-08-04 12:36:52 -04:00
Lioncash
75f3656804
UICommon/NetPlayIndex: Use a std::string_view for EncryptID()/DecryptID()
...
These parameters only acted as views into the provided strings, so these
can just be turned into non-owning string views.
2019-08-04 12:32:33 -04:00
Lioncash
2830fe820d
UICommon/NetPlayIndex: Take NetPlaySession by const reference for Add()
...
This isn't std::moved wholesale into a member variable or further
std::moved into another function, so it's better to take it by const
reference here to avoid unnecessary reallocations of contained
std::string instances.
2019-08-04 12:29:17 -04:00
Lioncash
0a67a40e7c
UICommon/NetPlayIndex: Move NetPlaySession variable closer to its usage point in List()
...
Moves it closer to where its used, narrowing its visible scope, as well
as preventing unnecessary std::string constructor executions in the
event invalid data is encountered (the continue branch).
2019-08-04 12:24:04 -04:00
Lioncash
13292563ee
UICommon/NetPlayIndex: Use std::move within SetErrorCallback()
...
std::function is allowed to heap allocate in order to store captured
variables, etc, so std::function isn't a trivial type. We can std::move
here in order to avoid potential reallocating.
While we're at it, make the definition's parameter name match the
declaration's parameter name for consistency.
2019-08-04 12:21:02 -04:00
Lioncash
5220922a22
UICommon/NetPlayIndex: Allow move semantics in SetGame()
...
If the parameter is const, then a move won't actually be able to occur,
making the std::move non-functional. We can remove the const qualifier
to remedy this.
2019-08-04 12:16:19 -04:00
Miksel12
9395d7ea08
DolphinQt: Reorder nunchuk mapping
2019-08-04 14:02:43 +02:00
Connor McLaughlin
d3151d8808
Merge pull request #8278 from Miksel12/qt-changes
...
DolphinQt: Limit numeric widget width
2019-08-04 20:28:17 +10:00
Connor McLaughlin
7de6b57c13
Merge pull request #8284 from stenzek/logic-op-hack
...
RenderState: Approximate logic op with blending if unsupported
2019-08-04 14:39:38 +10:00
Connor McLaughlin
c829351c90
Merge pull request #8286 from stenzek/efb-savestate-fixes
...
FramebufferManager: Fix restoring of EFB depth buffer / upside-down in OpenGL
2019-08-04 14:07:18 +10:00
Stenzek
f6f9dc0cac
RenderState: Approximate logic op with blending if unsupported
...
This is a giant hack which was previously removed because it causes
broken rendering. However, it seems that some devices still do not
support logical operations (looking at you, Adreno/Mali). Therefore, for
a handful of cases where the hack actually makes things slightly better,
we can use it.
... but not without spamming the log with warnings. With my warning
message PR, we can inform the users before emulation starts anyway.
2019-08-04 14:06:08 +10:00