Admiral H. Curtiss
e390fd0f4e
GCMemcard: Remove unused ability of ImportGci() to write a GCI file to disk.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
018572018e
GCMemcard: Dismantle the global return value enum into a few function specific enum classes.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
d09303683c
GCMemcard: Convert a few enums into constexprs.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
cbc5acb8cd
GCMemcard: Get rid of stray signed length in ImportGciInternal().
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
2d38364410
GCMemcard: Remove memsets that don't do anything in GCMemcard::Format().
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
88a0773309
GCMemcard: Rewrite checksum calculation without undefined behavior.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
fcd75841ca
GCMemcard: Rewrite Header::CalculateSerial() without undefined behavior.
2019-05-25 17:58:05 +02:00
Léo Lam
5fb56505b2
Merge pull request #8109 from leoetlino/ios-usb-fixes
...
IOS: USB fixes
2019-05-24 22:03:46 +02:00
Léo Lam
6dd0fe21f2
IOS/USB: Claim all interfaces ahead-of-time
...
To avoid having to claim/release interfaces all the time, and having to
trigger interface changes from several places, all interfaces are now
claimed ahead of time.
This commit also makes us avoid changing the active interface when it's
not necessary.
Changing the active interface has side effects such as resetting the
active alternate setting -- which is extremely undesirable because it
would require the emulated software to change the alternate setting
again, which isn't supposed to be necessary at all.
This fixes Your Shape, which submits isochronous transfers on an
endpoint that only exists in alt setting 6 right after submitting
control transfers (which would have reset to alt setting 0 prior to
this fix).
2019-05-24 20:47:46 +02:00
Léo Lam
e07b514b62
Merge pull request #8115 from booto/powerpc_pvr
...
PowerPC: Add Broadway's PVR (retail Wii)
2019-05-24 14:51:06 +02:00
Léo Lam
6eb7c525b2
Merge pull request #7801 from GerbilSoft/feature/Discord-PPCTitleChanged
...
Update Discord rich presence when the PPC title changes
2019-05-24 14:30:52 +02:00
David Korth
8417c78b7a
Update Discord rich presence when the title changes
...
This allows us to update the rich presence description if a channel
is launched from the Wii Menu. It also handles other PPC title
launches, e.g. Smash Bros. Masterpieces.
Host.h: Added Host_TitleChanged().
DolphinNoGUI/MainNoGUI.cpp: Implemented Host_TitleChanged().
DolphinQt/Host.cpp: Implemented Host_TitleChanged().
Android/jni/MainAndroid.cpp: Stubbed Host_TitleChanged().
DSPTool/StubHost.cpp: Stubbed Host_TitleChanged().
UnitTests/StubHost.cpp: Stubbed Host_TitleChanged().
2019-05-24 14:12:48 +02:00
booto
27cb407ecf
PowerPC: Add Broadway's PVR (retail Wii)
2019-05-23 19:56:41 -04:00
Connor McLaughlin
68877c52d1
Merge pull request #8027 from MerryMage/MOVAPS
...
Jit64: Prefer MOVAPS where possible
2019-05-22 15:05:17 +10:00
booto
03d7fef5a6
ARAM: No ARAM backing DMA in wiimode
2019-05-21 22:23:42 -04:00
booto
70299f2505
ARAM: rework DMA
...
Changes include:
* Take into account how different size settings interact
* Do ARAM DMA transfers in chunks rather than all-at-once
2019-05-21 22:23:42 -04:00
booto
73c0a4ee81
DSP: Experiment with cleaning up ARAM accessor
2019-05-21 22:23:42 -04:00
Léo Lam
2b44e1b851
IOS/USB: Fix initial device scan
...
Even though libusb is supposed to be thread-safe, in practice
it's not (at least on Windows); getting a list of devices from two
different threads can result in libusb crashes. This is easily
fixed by waiting for the scan thread to complete scanning instead
of running the scan on the CPU thread.
This also fixes an issue that I had overlooked in the initial
implementation: IOS interfaces such as OH0 are sometimes opened
every frame, in which case we were doing a full device scan every
single frame on the CPU thread!
2019-05-21 19:07:30 +02:00
Léo Lam
b274a054a9
IOS/VEN: Read cancel endpoint correctly
...
Fixes an embarrassing bug that made the implementation utterly useless.
This fixes Your Shape hanging on shutdown. The game was waiting for an
interrupt transfer to be cancelled, and Dolphin wasn't cancelling
transfers on the correct endpoint.
2019-05-21 19:07:30 +02:00
Léo Lam
d7e23d71f8
IOS/VEN: Return -4 when no transfer was cancelled
...
Simple accuracy fix.
2019-05-21 19:07:30 +02:00
Léo Lam
4c6ef81291
IOS/USB: Verify that isochronous req buffer size is consistent
...
To catch possible bugs.
2019-05-21 19:07:30 +02:00
Léo Lam
a6da38d75d
IOS/USB: Fix TransferCommand length type
...
The total buffer size for isochronous transfers should be a u32,
not a u16. It is easy to hit the bug with devices such as cameras,
which require larger buffers.
This fixes Your Shape.
This also fixes the length type for bulk and interrupt transfers,
which should be u32 as that's what IOS supports. I'm not sure why
I made them u16... probably because OH0 uses u16 for most lengths...
2019-05-21 19:07:30 +02:00
Léo Lam
5226d6103a
IOS/USB: Add debug logging for all transfers
...
This makes debugging USB issues easier.
2019-05-21 19:07:29 +02:00
Lioncash
1d22e50899
Core/Boot/Boot: Amend use-after-move cases in GenerateFromFile()
...
In terms of order of operations, the move would occur first before the
construction of the relevant reader would occur. However, given the
local variable 'path' was declared const, this bug actually wouldn't
occur, as std::move on a const variable does nothing (in a non-mutable
context), resulting in a copy instead, masking this issue.
Given this is a bug waiting to happen, we correct the code.
2019-05-21 08:44:29 -04:00
Admiral H. Curtiss
6e04e4dd6a
GCMemcard: DEntry: Move code out of header.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
17da22a84f
GCMemcard: GCMBlock: Move code out of header.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
e4094d9d2d
GCMemcard: BlockAlloc: Move code out of header, fix naming conventions.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
4b46f71b3c
GCMemcard: Header: Move code out of header, fix naming conventions.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
0052b313d6
GCMemcard: Directory: Move code out of header, add some boundary checks, fix naming conventions.
2019-05-18 15:44:38 +02:00
spycrab
ec734065db
Merge pull request #8087 from spycrab/cmake_win2019
...
Support CMake on Windows
2019-05-14 21:07:26 +02:00
Vincent Cunningham
b35c58451a
Clear existing GCPad state
2019-05-14 03:33:29 -04:00
spycrab
c8795f799e
Core/CMake: Silence some warnings
2019-05-12 00:44:02 +02:00
Léo Lam
7c46497f04
Fix a race condition when shutting down audio stream
...
The main EmuThread (in Core) is responsible for both initialising the
audio stream and shutting it down properly.
When the core is shutting down (when state is State::PowerDown), it is
possible that the CPU or CPU-GPU thread and the UI thread will both
try to stop the audio stream at the same time, which is an issue
because some audio backends such as cubeb are not thread-safe.
This commit prevents the race from ever happening in the first place
by removing the call to AudioCommon::SetSoundStreamRunning from
CPU::RunAdjacentSystems, which is actually completely unnecessary when
shutting down because Core::EmuThread is going to stop the stream and
perform more cleanup anyway.
Should fix https://bugs.dolphin-emu.org/issues/11722
2019-05-11 16:36:42 +02:00
Léo Lam
2f89a50318
Merge pull request #7778 from jordan-woyak/wheel-accel-brake
...
SI/GCSteeringWheel: Allow simultaneous use of accelerator and brake.
2019-05-11 12:24:19 +02:00
Anthony
3ab06dcd02
Merge pull request #8016 from jordan-woyak/emu-wm-ir-rename
...
WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward actions.
2019-05-10 19:16:40 -07:00
Léo Lam
d00711b34f
AddressSpace: Fix PowerPC::HostWrite_XXX parameter order mixup
2019-05-11 00:15:15 +02:00
Jordan Woyak
f74f49383c
SI/GCSteeringWheel: Allow simultaneous use of accelerator and brake.
2019-05-10 17:11:43 -05:00
Léo Lam
e7bc86881d
Merge pull request #8056 from JosJuice/more-enums-to-constexpr
...
Turn more enum constants into constexpr
2019-05-10 18:52:52 +02:00
JosJuice
8e2277e1f2
Turn more enum constants into constexpr
...
https://bugs.dolphin-emu.org/issues/11692#note-7
2019-05-10 15:04:16 +02:00
Léo Lam
123bbbca2c
Merge pull request #8073 from vladfi1/re-frame-mw
...
Bring back MemoryWatcher, but without CoreTiming
2019-05-10 14:55:27 +02:00
weihuoya
e98f43d2af
bbox minor fx
2019-05-09 17:30:17 +08:00
Jordan Woyak
374585f128
WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward mappings.
2019-05-08 20:27:41 -05:00
spycrab
967252dded
IOS/FS/Filesystem: Work around macro problem
2019-05-08 21:06:17 +02:00
Vlad Firoiu
239af3cdf9
Step MemoryWatcher at end of each video frame.
2019-05-08 11:20:59 +01:00
Jordan Woyak
0de6b5f7fa
WiimoteEmu: Implement "Drawsome" tablet.
2019-05-07 18:07:24 -05:00
JosJuice
91f5d577cc
Merge pull request #8084 from leoetlino/wiisave-sign
...
WiiSave: Fix save signing
2019-05-07 14:43:50 +02:00
Léo Lam
2740ff9a9d
WiiSave: Fix save signing
...
The system menu is passing the SHA1 hash of the save data to ES
to sign, not the save data itself.
Fixes save import in the System Menu for saves that were exported
by Dolphin.
2019-05-07 01:09:48 +02:00
Jordan Woyak
f055d37346
WiimoteEmu: Add game quirk report for reading of EXT/IR input directly, which will fail with TAS/NetPlay.
2019-05-06 15:36:05 -05:00
Techjar
ff972e3673
Reformat repo to clang-format 7.0 rules
2019-05-06 18:48:04 +00:00
Vlad Firoiu
f4d950f4e2
Revert "Core: Remove MemoryWatcher"
...
This reverts commit 0c02e77eee
.
2019-05-05 21:43:45 +01:00
Léo Lam
ab9ece9bca
Replace MathUtil::Clamp with std::clamp
2019-05-04 23:12:17 +02:00
Léo Lam
6f84984b7b
Use attribute [[fallthrough]]
2019-05-04 23:04:18 +02:00
Léo Lam
99a4ca8de7
Merge pull request #7839 from ShFil119/impr/redundant
...
Remove redundant initialization
2019-05-04 22:50:51 +02:00
Léo Lam
159fa3ec36
Merge pull request #8057 from jordan-woyak/emu-tatacon
...
WiimoteEmu: Implement TaTaCon extension.
2019-05-03 11:52:39 +02:00
Léo Lam
6c7aeb3ffb
Merge pull request #8064 from JosJuice/notify-host-symbols-clear
...
Call Host_NotifyMapLoaded when clearing g_symbolDB
2019-05-03 11:47:26 +02:00
booto
2ff0486335
Debugger/Memory: Add support for address spaces
...
Different address spaces can be chosen in the memory view panel.
* Effective (or virtual): Probably the view people mostly want. Address
translation goes through MMU.
* Auxiliary: ARAM address space. Does not display anything in Wii mode.
* Physical: Physical address space. Only supports mem1 and mem2 (wii
mode) so far.
2019-05-02 21:14:30 -04:00
Jordan Woyak
27043c1dac
WiimoteEmu: Implement TaTaCon extension.
2019-05-02 19:35:46 -05:00
Jordan Woyak
99f537d499
WiimoteEmu/DolphinQt: Better extension display names.
2019-05-01 17:25:48 -05:00
Léo Lam
98b670dd29
Merge pull request #7966 from Techjar/fix-netplay-full-wii-save
...
Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND
2019-05-01 19:29:38 +02:00
Léo Lam
f4d7b537cc
Merge pull request #7958 from Craftyawesome/cpu-emulation-order
...
Re-order cpu emulation options from fastest to slowest
2019-05-01 17:56:19 +02:00
JosJuice
8fd6f8f6e9
Call Host_NotifyMapLoaded when clearing g_symbolDB
...
Otherwise DolphinQt will have a stale symbol list and
you can get nullptr dereferences when trying to use it.
2019-05-01 17:48:27 +02:00
Léo Lam
bec85a0962
Merge pull request #8013 from JosJuice/titledatabase-japanese-gc
...
Show Japanese GC games in Japanese when using TitleDatabase
2019-05-01 17:37:31 +02:00
Léo Lam
5ce8d97c68
Merge pull request #7163 from lioncash/pointer
...
BTEmu: Get rid of a few pointer casts
2019-05-01 13:13:58 +02:00
Jordan Woyak
0c81af74e1
WiimoteEmu: Drum extension accuracy improvements.
2019-04-30 20:14:12 -05:00
Jordan Woyak
2babbd76d0
WiimoteEmu: Implement uDraw GameTablet.
2019-04-30 18:36:37 -05:00
Filip Gawin
c110ffcdaa
Remove redundant initialization
2019-04-30 01:22:24 +02:00
JMC47
0f483e7d61
Merge pull request #8050 from Techjar/memorywatcher-determinism
...
Core: Remove MemoryWatcher
2019-04-28 22:36:11 -04:00
Techjar
0c02e77eee
Core: Remove MemoryWatcher
...
MemoryWatcher only works on Linux and affects emulation determinism due
to scheduling additional events, which causes NetPlay to desync.
Considering that this interface is a rather specialized use case, the
communication with it is kinda crappy *and* it's affecting emulation, I
think it's best to just axe it and come up with a better implementation
of the functionality.
2019-04-28 06:22:27 -04:00
Mat M
687907e44d
Merge pull request #8035 from jordan-woyak/si-enum-constexpr
...
SI: Replace some unnamed enums with constexpr.
2019-04-27 08:40:41 -04:00
MerryMage
e06111e86f
EmuCodeBlock: Prefer MOVAPS to MOVSD in ConvertDoubleToSingle
...
* The high half of the register is immediately masked so the value in it is irrelevant.
* MOVSD produces an unnecessary dependency on the high half of regOp.
* MOVAPS is implemented as a register rename on modern microarchitectures.
2019-04-27 12:57:03 +01:00
Scott Mansell
033f1d725f
Fix un-initialized powerpc.xer_* variables
2019-04-27 15:38:02 +12:00
Techjar
20530c2a96
Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND
2019-04-26 23:33:35 -04:00
Connor McLaughlin
664cfb2ca5
Merge pull request #7970 from Techjar/netplay-mii-sync
...
NetPlay: Synchronize Mii data
2019-04-27 13:26:55 +10:00
Jordan Woyak
ba1b335118
WiimoteEmu: Improve emulated swing.
2019-04-23 19:02:41 -05:00
Jordan Woyak
4374600367
WiimoteEmu: Implement MotionPlus parameter y0 and other cleanups.
2019-04-23 18:38:00 -05:00
Jordan Woyak
59e1c83445
WiimoteEmu/MotionPlus: Build non-hardcoded calibration data and other cleanups.
2019-04-23 18:38:00 -05:00
Jordan Woyak
9554ece874
WiimoteEmu: MotionPlus is now working.
2019-04-23 18:38:00 -05:00
Jordan Woyak
d97349af0d
SI: Replace some unnamed enums with constexpr.
2019-04-23 16:25:09 -05:00
Markus Wick
2abe333ce9
Merge pull request #7287 from degasus/idle_skipping
...
Jit64 / JitArm64: Optimized idle skipping detection.
2019-04-22 23:08:03 +02:00
JMC47
6ea43235d5
Merge pull request #7841 from iwubcode/config-mgr-onion
...
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-04-21 00:01:47 -04:00
Stenzek
708bd3d9f7
TextureCache: Simplify XFB reconstruction
...
This also better handles in-memory interlaced XFB data placed by the CPU
by considering the stride from the VI.
2019-04-21 12:41:15 +10:00
degasus
6ec4ade3b6
Interpreter: Drop idle skipping in interpreter.
...
And reimplement it in the cached interpreter based on the idle loop detection.
2019-04-20 20:52:39 +02:00
degasus
55abe1a085
Jit64: Refactor WriteIdleExit helper.
2019-04-20 20:52:39 +02:00
degasus
b8b4b4a383
PowerPC: More idle loop detections.
2019-04-20 20:52:39 +02:00
degasus
55db7c7a05
Jit64: Optimized idle skipping detection.
2019-04-20 20:52:39 +02:00
JosJuice
fbe7892bd2
ConfigManager: Remove TitleDatabase.h include
...
Made unnecessary by 8842a0f
.
2019-04-20 12:30:46 +02:00
JosJuice
e98f5fe665
Show Japanese GC games in Japanese when using TitleDatabase
...
Because the GC language setting cannot be set to Japanese, we
need a special condition for Japanese GC games. I accidentally
removed it in PR 7816, but here it is again in a new form.
We could do the same thing with Korean GC games if we want to
(which we couldn't do before PR 7816), but due to how spotty
GameTDB is with having Korean names for Korean GC releases,
things will be more consistent if we just use English for them.
2019-04-20 12:12:35 +02:00
Jordan Woyak
779e618046
VideoCommon: Change free-look's middle-mouse action to roll the camera.
2019-04-17 05:10:11 -05:00
Jordan Woyak
1d024c8add
Fix u8 string literal C++20 compile error.
2019-04-16 16:31:12 -05:00
Markus Wick
f1620f25f4
Merge pull request #7981 from degasus/interpreter_psq_l
...
Interpreter: Fix psq_l with QUANTIZE_FLOAT.
2019-04-16 22:27:07 +02:00
Markus Wick
dbfdb16fbb
Merge pull request #7990 from MerryMage/fprf
...
EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1
2019-04-16 22:13:05 +02:00
JosJuice
d7b5270348
Merge pull request #7988 from JosJuice/fix-wii-save-import
...
Fix importing Wii save files with sizes not divisible by 64
2019-04-14 17:17:00 +02:00
JMC47
a891115ea3
Merge pull request #7952 from jordan-woyak/emu-shake-params
...
WiimoteEmu: Allow shake frequency and intensity to be configured.
2019-04-13 12:13:13 -04:00
Techjar
6d01f34d78
Core/NetPlayClient: Reset GCAdapter device type in UpdateDevices
...
This will ensure an origin reset is triggered on next boot.
2019-04-13 06:32:45 -04:00
Jordan Woyak
c89ddf8cba
WiimoteEmu: Allow shake frequency and intensity to be configured. Other minor cleanups.
2019-04-12 16:50:59 -05:00
JosJuice
635fd8c22c
Merge pull request #7984 from JosJuice/root-path-savestate
...
IOS/FS: Don't savestate m_root_path
2019-04-12 22:37:21 +02:00
MerryMage
e4d83a56a5
EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1
2019-04-12 20:03:42 +01:00
spycrab
2a1dee4dce
Merge pull request #7976 from spycrab/netplay_index_feedback
...
Qt/NetPlay: Show feedback for index adding
2019-04-12 14:21:42 +02:00
JosJuice
4f915760e8
Fix importing Wii save files with sizes not divisible by 64
2019-04-12 11:34:32 +02:00
spycrab
8b6bb39e82
Qt/NetPlay: Show feedback for index adding
2019-04-11 21:26:00 +02:00
JosJuice
822acf9ab9
IOS/FS: Don't savestate m_root_path
...
The NAND root path can be different on different systems,
so we must not savestate it.
2019-04-11 18:50:15 +02:00
JosJuice
d5ed3cbd88
Merge pull request #7922 from JosJuice/verify-disc
...
Add a Verify tab to game properties
2019-04-11 16:39:49 +02:00
degasus
399768c91b
Interpreter: Fix psq_l with QUANTIZE_FLOAT.
...
psq_l with QUANTIZE_FLOAT does not use the FPU, so it does not trim the precision of the u32 input data.
We already have the helper ConvertToDouble for floating point u32->u64 convertion used in lfs, so let's use it here as well.
2019-04-11 10:12:59 +02:00
Markus Wick
849ede9d0a
Merge pull request #7639 from CrystalGamma/pr-quantize
...
PowerPC: Thread state through PS (de)quantize helpers
2019-04-11 10:11:08 +02:00
CrystalGamma
e5c8b889ef
PowerPC: Thread state through PS quantize helper
2019-04-11 10:03:36 +02:00
CrystalGamma
e12cdbefa5
PowerPC: Thread state through PS dequantize helper
2019-04-11 10:03:36 +02:00
Jordan Woyak
a9a4b53072
WiimoteEmu: Fix Data Report 0x32.
2019-04-10 20:17:34 -05:00
Markus Wick
d90d641ec7
Merge pull request #7889 from CrystalGamma/pr-floathelpers
...
PowerPC: Thread state through float helpers
2019-04-10 23:14:39 +02:00
Markus Wick
5a4700f589
Merge pull request #7638 from CrystalGamma/pr-addresshelpers
...
PowerPC: Thread state through the address helpers
2019-04-10 23:05:43 +02:00
JMC47
e10a472134
Merge pull request #7936 from jordan-woyak/numeric-setting-cleanup
...
InputCommon: Clean up how numeric settings are handled.
2019-04-09 19:30:26 -04:00
JosJuice
84cbd5150f
Add a Verify tab to game properties
2019-04-09 14:18:41 +02:00
spycrab
a06c7df927
Merge pull request #7954 from Techjar/netplay-disable-bba
...
Disable BBA in NetPlay
2019-04-09 13:13:05 +02:00
Techjar
1b8eda827b
NetPlay: Synchronize Mii data
...
It's bundled with the Wii saves for simplicity, since it's quite small.
2019-04-08 07:06:21 -04:00
Jordan Woyak
5efb717873
InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor.
2019-04-07 09:32:49 -05:00
Techjar
c90df946ba
NetPlay: Add cancel button for chunked data transfers
2019-04-07 06:22:33 -04:00
Techjar
7870704087
NetPlay: Fix hosting being stuck if player leaves during pending start
...
The logic didn't account for the case where a player leaves, so the
host would be left in a dangling state where the UI is disabled but the
game won't start, requiring a full restart of Dolphin to fix.
2019-04-07 06:22:31 -04:00
spycrab
23986d48f7
Merge pull request #7945 from spycrab/np_browser
...
Qt/NetPlay: Implement session/server browser
2019-04-06 12:36:29 +02:00
spycrab
094bf0d2ff
Qt/NetPlay: Integrate NetPlayIndex
2019-04-06 12:27:30 +02:00
Techjar
6c393f9ff4
Add imgui golf mode overlay
2019-04-05 07:01:03 -04:00
Techjar
1a12876330
NetPlay: Implement golf mode
...
This is an extension of host input authority that allows switching the
host (who has zero latency) on the fly, at the further expense of
everyone else's latency. This is useful for turn-based games where the
latency of players not on their turn doesn't matter.
To become the so-called golfer, the player simply presses a hotkey.
When the host is the golfer, latency is identical to normal host input
authority.
2019-04-05 07:01:03 -04:00
Craftyawesome
20cc4508f0
Re-order cpu emulation options from fastest to slowest
...
Based on https://bugs.dolphin-emu.org/issues/11658
Update arrays.xml
2019-04-04 10:51:12 -04:00
CrystalGamma
b00a7045aa
PowerPC: Thread state through float helpers
2019-04-02 19:59:29 +02:00
CrystalGamma
95b06d183e
PowerPC: Thread state through the address helpers
2019-04-02 19:52:59 +02:00
Techjar
e2f1da5210
NetPlay: Move host input authority logic to client
...
This is a prerequisite for golf mode, as the client needs to be in
control of sending pad states.
2019-04-02 08:17:13 -04:00
Techjar
980c076c67
Disable BBA in NetPlay
2019-04-01 09:14:28 -04:00
Stenzek
113bd60fe7
Implement D3D12 backend
2019-04-01 11:24:55 +10:00
iwubcode
840afc2ad4
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-03-30 18:43:02 -05:00
spycrab
0279d12055
Core/NetPlayServer: Integrate NetPlayIndex
2019-03-30 17:13:57 +01:00
spycrab
622ba68595
Core/Config: Add index entries to NetPlaySettings
2019-03-30 17:13:57 +01:00
JMC47
0bce1c509d
Merge pull request #7942 from jordan-woyak/gc-adapter-calib-fix
...
HW/SI: GCAdapter calibration fix.
2019-03-30 06:37:23 -04:00
Jordan Woyak
a015851b02
HW/SI: GCAdapter calibration fix.
2019-03-29 06:15:58 -05:00
Techjar
6e5d92e3c3
NetPlay: Synchronize EFB access cache options
2019-03-28 00:53:07 -04:00
spycrab
e222b91953
Merge pull request #7929 from spycrab/np_chat_toggle
...
NetPlayChatUI: Add activate chat hotkey
2019-03-26 22:35:26 +01:00
spycrab
f7897778ff
NetPlayChatUI: Add activate chat hotkey
2019-03-26 18:13:32 +01:00
JMC47
e636b3e712
Merge pull request #7871 from jordan-woyak/wm-real-cleanup
...
WiimoteReal: Improve state changes and code cleanups.
2019-03-25 19:28:22 -04:00
Mat M
20999db93c
Merge pull request #7928 from JosJuice/ipl-hashes
...
Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
2019-03-24 14:12:17 -04:00
JosJuice
d42fa8f80e
Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
...
See https://bugs.dolphin-emu.org/issues/11467 . We now only have
the hashes that have been confirmed on Redump.
For the reference, MAME's list of bad GameCube IPL dumps:
80b2ca6088/src/mame/drivers/gamecube.cpp (L152-L158)
2019-03-24 14:19:23 +01:00
spycrab
61350b3d98
Core/Host: Allow frontends to block inputs
2019-03-21 13:16:21 +01:00
Tilka
7b354fa7ac
Merge pull request #7637 from CrystalGamma/pr-crhelpers
...
PowerPC: Factor out CR helpers into POD class
2019-03-13 18:12:52 +00:00
JosJuice
d879283e2d
Fix title database not working when running games with 4-char game IDs
...
Regression from 8842a0f
.
2019-03-12 08:42:05 +01:00
JMC47
22e7419747
Merge pull request #7838 from stenzek/efb-tile-cache
...
FramebufferManager: Implement EFB tile cache
2019-03-12 03:10:20 -04:00
Jordan Woyak
49218c32ed
WiimoteReal: Improve state changes and minor code cleanups.
2019-03-11 15:46:04 -05:00
JMC47
9e4ab87a34
Merge pull request #7765 from AdmiralCurtiss/fzero-save-file-out-of-bounds
...
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-03-11 12:40:03 -04:00
Jordan Woyak
224e678cf8
WiimoteEmu: Fix a config change callback causing a crash on exit.
2019-03-09 06:51:37 -06:00
Stenzek
a218a794cb
FramebufferManager: Implement deferred EFB cache invalidation
2019-03-09 12:24:04 +10:00
Stenzek
6bc4bfd26a
FramebufferManager: Implement EFB tile cache
...
The new tile cache is dynamic in size and can be turned on/off.
2019-03-09 12:23:33 +10:00
CrystalGamma
e3075f3834
PowerPC: Factor out CR helpers into POD class
2019-03-08 20:42:09 +01:00
Tillmann Karras
1790497789
Work around GCC 8.2 ICE
2019-03-08 09:47:06 +00:00
Jordan Woyak
4db4840d7c
WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math.
2019-03-03 12:43:25 -06:00
Tilka
19f4772e47
Merge pull request #7816 from JosJuice/titledatabase-edge-cases
...
Fix edge cases in TitleDatabase, cover downloading, Gecko code downloading
2019-02-26 04:25:45 +00:00
Tilka
02f5a7505f
Merge pull request #7821 from jordan-woyak/emu-turntable-effect-dial-fix
...
WiimoteEmu: Fix turntable effect dial mapping.
2019-02-26 04:22:45 +00:00
Tilka
6ce7f44b8a
Merge pull request #7753 from stenzek/videocommon-all-the-things
...
Move a significant amount of video backend logic to VideoCommon
2019-02-26 04:21:05 +00:00
Jordan Woyak
4b830ddc26
WiimoteEmu: Fix turntable effect dial mapping.
2019-02-25 15:54:36 -06:00
JosJuice
71e6243c54
TitleDatabase: Don't hardcode HBC IDs that actually are in GameTDB
2019-02-25 19:55:49 +01:00
JosJuice
9df763b4ac
TitleDatabase: Don't merge multiple languages into same map
...
Instead of selecting languages based on the user config at the time
of TitleDatabase creation and merging the different languages into one
map for GC and one map for Wii, have one map for each language, and
have the caller supply the language they want. This makes us not need
the IsGCTitle function, which is inaccurate for IDs that start with D.
2019-02-25 19:55:46 +01:00
JosJuice
8842a0f402
Keep track of GameTDB ID separately from game ID
...
The difference between Dolphin's game IDs and GameTDB's game IDs
is that GameTDB uses four characters for non-disc titles, whereas
Dolphin uses six characters for all titles.
This fixes:
- TitleDatabase considering Datel discs to be NHL Hitz 2002
- Gecko code downloading not working for discs with IDs starting with P
- Cover downloading mixing up discs with channels (e.g. Mario Kart Wii
and Mario Kart Channel) and making extra HTTP requests. (Android was
actually doing a better job at this than DolphinQt!)
2019-02-25 19:54:25 +01:00
Jordan Woyak
d64f29d234
WiimoteEmu: Minor IR Camera behavior accuracy fix.
2019-02-23 16:40:47 -06:00
Jordan Woyak
58f1ff3773
WiimoteEmu: Minor accuracy fixes.
2019-02-20 17:44:55 -06:00
Stenzek
f039149198
Move most backend functionality to VideoCommon
2019-02-19 16:57:54 +10:00
JosJuice
5067e96f37
Minor fixes to translatable strings
2019-02-13 18:54:45 +01:00
Tilka
131f4931fb
Merge pull request #7792 from jordan-woyak/auto-calibration
...
DolphinQt/ControllerEmu: Add stick calibration "wizard".
2019-02-13 02:13:27 +00:00
Tilka
8d59d1bb11
Merge pull request #7798 from ShFil119/impr/empty
...
Use empty instead of size
2019-02-13 01:59:43 +00:00
Filip Gawin
49fe9f5db1
Use empty instead of size
2019-02-13 00:03:49 +01:00
Tilka
4d85bb2d18
Merge pull request #7782 from jordan-woyak/wiimote-emu-speaker-pan
...
WiimoteEmu: Change speaker pan to use "constant power pan law".
2019-02-11 00:20:07 +00:00
Jordan Woyak
3c77b4aa4b
WiimoteEmu: Change speaker pan to use "constant power pan law" and change UI setting max value from 127 to 100.
2019-02-10 17:55:11 -06:00
Jordan Woyak
0064f70c8a
DolphinQt/ControllerEmu: Replace Input Radius/Shape settings with an input calibration "wizard".
2019-02-10 07:55:47 -06:00
Anthony
f65b3a998c
Merge pull request #7739 from zackhow/multib
...
Android: Disable backend multithreading and add option to gfx menu
2019-02-03 12:44:00 -08:00
Anthony
eee24cd1ce
Merge pull request #7746 from Techjar/fix-hotkey-conflicts
...
[RFC] Core/HotkeyManager: Fix default hotkey conflicts
2019-02-03 12:26:14 -08:00
Anthony
4e825beddf
Merge pull request #7757 from jordan-woyak/wiimote-connection-status-checkmarks
...
WiimoteDevice: Update UI when wiimote connection status changes.
2019-02-03 10:28:08 -08:00
Jordan Woyak
69b617ce76
WiimoteEmu: Remove redundant Matrix library and use the one in Common.
2019-02-03 12:02:02 -06:00
Jordan Woyak
9c1a8891e5
WiimoteEmu: Code cleanups.
2019-02-02 19:40:31 -06:00
Jordan Woyak
3945aa6242
WiimoteEmu: Fix battery level handling and remove old comments.
2019-02-02 19:40:31 -06:00
Jordan Woyak
6c0902ab0a
WiimoteEmu: Add logic for enabling/disabling M+ and force it disabled for now.
2019-02-02 19:40:31 -06:00
Jordan Woyak
0d1fbe7bbc
WiimoteEmu: Major renaming and cleanup.
2019-02-02 19:40:31 -06:00
Jordan Woyak
b1f350ab1c
WiimoteEmu: Cleanups, Kill some now-redundant constants.
2019-02-02 19:40:30 -06:00
Jordan Woyak
6e5847a790
WiimoteEmu: Fix wiimote pan setting from keeping center at half volume.
2019-02-02 19:40:30 -06:00
Jordan Woyak
d3906e548d
WiimoteEmu: Cleanup ack handling. Improve accuracy of report handling with unusual values. Eliminated outdated comments.
2019-02-02 19:40:30 -06:00
Jordan Woyak
3a889c35ad
WiimoteEmu: Cleanups, Kill more magic numbers and use some enum classes.
2019-02-02 19:40:30 -06:00
Jordan Woyak
86c94b8b22
WiimoteEmu: Motion plus now works half of the time in Wii Sports Resort.
2019-02-02 19:40:30 -06:00
Jordan Woyak
0b4329e077
Implement the rest of the wiimote input reports.
2019-02-02 19:40:30 -06:00
Jordan Woyak
10c2101e72
WiimoteReal: Unbreak.
2019-02-02 19:40:30 -06:00
Jordan Woyak
42b9392784
WiimoteEmu: Cleanups and work towards making motion plus functional.
2019-02-02 19:40:30 -06:00
Jordan Woyak
a25e8cb516
Advance save state version.
2019-02-02 19:40:30 -06:00
Jordan Woyak
a0721b256f
WiimoteEmu: Cleanup, kill some magic numbers, and unbreak wiimote speaker pan setting.
2019-02-02 19:39:29 -06:00
Jordan Woyak
372b12c67f
WiimoteEmu: Emulated motion plus is detected by game now.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ba936923bd
WiimoteEmu: Tweak the i2c bus code to better support motion plus and its passthrough port.
2019-02-02 19:39:29 -06:00
Jordan Woyak
84d32f6645
WiimoteEmu: Fix usage of ReportFeatures in TAS related code.
2019-02-02 19:39:29 -06:00
Jordan Woyak
4dc0aa6f8e
WiimoteEmu: Process wiimote read data requests like they are on a real wiimote. It's not a queue. New requests are ignored and input is suppressed while processing a request. This simplifies the save state code greatly.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ec460da36d
WiimoteEmu: Add wiimote speaker logic to i2c bus. Temporarily break the "pan" setting.
2019-02-02 19:39:29 -06:00
Jordan Woyak
62b66580c3
WiimoteEmu: Unbreak wiimote extensions.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ebc2e58fa4
WiimoteEmu: Partially emulate i2c bus to more closely simulate the real thing. Transfer most of IR camera logic to the i2c bus. Temporarily break everything else.
2019-02-02 19:39:29 -06:00
Jordan Woyak
6c40c47472
WiimoteEmu: Remove some remnants of hybrid wiimote.
2019-02-02 19:39:28 -06:00
Tilka
cfbc852fb0
Merge pull request #7777 from jordan-woyak/input-rounding
...
ControllerEmu: Round input floats instead of casting.
2019-02-03 00:56:05 +00:00
Tilka
6ec11c6801
Merge pull request #7742 from jordan-woyak/si-device-change-fix
...
SI: Device change logic fix.
2019-02-03 00:52:23 +00:00
Jordan Woyak
3bc4968c11
ControllerEmu: Round input floats instead of casting to prevent almost-neutral values from being rounded down.
2019-02-02 15:12:07 -06:00
Tilka
28c0b5338e
Merge pull request #7738 from spycrab/core_warnings
...
Core: Fix some warnings
2019-02-02 14:13:21 +00:00
Tilka
d55e276d0b
Merge pull request #7763 from jordan-woyak/steering-wheel-ff-fix
...
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-02 13:12:51 +00:00
Admiral H. Curtiss
fdd19c1b54
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-02-01 17:50:19 +01:00
Tillmann Karras
4090c19e00
GeckoCodeConfig: fix Gecko Code downloading
...
For some reason the server always redirects once to the same location.
2019-02-01 13:44:58 +00:00
Jordan Woyak
552392e4f6
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-01 06:47:17 -06:00
Jordan Woyak
b0cb100958
SI: Device change logic fix.
2019-02-01 06:43:24 -06:00
JMC47
a129d60a57
Merge pull request #7762 from jordan-woyak/gcadapter-calibration
...
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 23:47:09 -05:00
Tillmann Karras
45aeb86766
Fix -Wmissing-declarations warning
2019-02-01 03:06:01 +00:00
Jordan Woyak
cb9896618f
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 08:38:25 -06:00
Jordan Woyak
c54cc3fa38
HW: SI_Device_GCController: Minor cleanup. Remove a member/state variable that should just be a local variable.
2019-01-31 06:30:06 -06:00
Jordan Woyak
159d2b1cc3
HW/Wiimote: Don't reconnect wiimotes on ChangeWiimoteSource when the source hasn't actually changed.
2019-01-29 10:01:35 -06:00
Jordan Woyak
4bc576472c
WiimoteDevice: Update UI when wiimote connection status changes to keep check marks in the menu bar accurate.
2019-01-29 07:57:51 -06:00
JMC47
0e1669e1c7
Merge pull request #7728 from jordan-woyak/pad-perfect-calib
...
SI_DeviceGCController: Calibrate to perfect neutral instead of initial input state.
2019-01-28 21:11:46 -05:00
zackhow
831ab64e1c
Android: Don't grab wiimote report if size is < 1
...
Fixes crash when using official wiimotes with the dolphin bar.
2019-01-27 16:43:19 -05:00
Techjar
d70ea9e4ec
Core/HotkeyManager: Fix default hotkey conflicts
2019-01-27 06:20:01 -05:00
zackhow
8a1eb34c38
Android: Default backendMultithreading to false on android
2019-01-25 19:22:07 -05:00
spycrab
0691971d82
Core: Fix some warnings
2019-01-25 21:21:22 +01:00
Jordan Woyak
3cd3e84486
SI_DeviceGCController: Calibrate pad origin on boot to perfect neutral values instead of initial input state.
2019-01-22 15:33:04 -06:00
Cody Wilson
00f786384d
Update GeckoCodes code download to use https
...
The WiiRD codes respository at https://geckocodes.org has started using HTTPS, and 301 Redirecting traffic from HTTP to HTTPS. The HTTP client does not appear to be able to handle a 301 Redirect and instead fails when attempting to download codes. This pull request is purely a string replacement to set the URL as HTTPS.
2019-01-20 11:26:29 -05:00
Léo Lam
c7373701cc
Merge pull request #7580 from Techjar/netplay-padmapping-type
...
NetPlay: Remove PadMapping type
2019-01-16 21:57:38 +01:00
Léo Lam
fd3ef7ebc5
Merge pull request #7616 from AdmiralCurtiss/memcard-cleanup
...
Clean up GCMemcard a bit.
2019-01-16 21:56:40 +01:00
Léo Lam
a8bc6f9899
Merge pull request #7693 from jordan-woyak/hotplug-callback-fix
...
ControllerInterface: Hotplug callback fixes.
2019-01-16 21:00:48 +01:00
JMC47
1d3e3de44b
Merge pull request #7629 from JosJuice/auto-disc-change
...
Automatic disc change for 2-disc games
2019-01-15 13:01:36 -05:00
Jordan Woyak
b425f86121
ControllerInterface: Allow hotplug callbacks to be unregistered and don't reload the entire config from the ini file on hotplug, just update the control references. This should fix a crash on shutdown on Android.
2019-01-10 18:32:16 -06:00
Anthony
3da06970d9
Merge pull request #7605 from zackhow/jitarmconfigs
...
Android: Add Jit debug options to menu.
2019-01-07 13:50:57 -08:00
Anthony
c73adf8d8e
Merge pull request #7656 from JMC47/DanceMatFix
...
Fix Emulated Dance Mat
2019-01-07 13:48:50 -08:00
Admiral H. Curtiss
04bcc64e82
GCMemcard: Update formatting of memcard field comments in header.
2019-01-06 14:40:38 +01:00
Admiral H. Curtiss
e6acbf7cbe
GCMemcard: 'Broken File000' commented out code can't work anymore, but leave a comment about it.
2019-01-06 14:18:00 +01:00
Admiral H. Curtiss
41767daabc
GCMemcard: Remove obsolete commented out code, this is handled via InitActiveDirBat() and related.
2019-01-06 14:12:59 +01:00
Admiral H. Curtiss
111f0b38e0
GCMemcard: Update panic alerts and comments to refer to 1st/2nd dir/BAT blocks.
2019-01-06 14:12:59 +01:00
JMC47
0ca9accd8b
Merge pull request #7640 from jordan-woyak/input-fixes
...
ControllerInterface: Output/Rumble fixes
2019-01-05 17:16:35 -05:00
JMC47
d75e9b2d5d
Merge pull request #7677 from Techjar/netplay-peer-init-fix
...
NetPlay: Fix server peer initialization hang
2019-01-05 15:10:39 -05:00
JMC47
1cd5debecf
Merge pull request #7585 from Techjar/netplay-wiimote-extension
...
NetPlay: Sync Wiimote extension
2019-01-05 05:57:36 -05:00
JosJuice
0c622929ba
Add M3U file support for automatic disc switching
2019-01-04 09:24:42 +01:00
JosJuice
352ac91a1c
Add a delay before automatically switching discs
...
Some games don't behave as expected if we eject the disc as soon as
we receive the DVDLowStopMotor command. For instance, Baten Kaitos
never shows the prompt to switch discs or the "Reading disc..." text
(but works correctly other than that).
2019-01-04 09:24:41 +01:00
JosJuice
b608e80d8e
Don't do automatic disc switching when running e.g. the Wii Menu
...
We only want automatic disc switching to happen when the game actually
is running, but software like the Wii Menu also uses DVDLowStopMotor.
2019-01-04 09:24:41 +01:00
JosJuice
bd665aad5d
Automatic disc change for 2-disc games
2019-01-04 09:24:38 +01:00
JMC47
f8586bb83c
Fix Emulated Dance Mat
...
I have no idea how it got so broken, but this makes it so both the
Active Life and DDR Mario/Wii games can be fully configured.
2018-12-28 17:47:49 -05:00
Jordan Woyak
2765475e7b
HW: DK Bongos actual fix
2018-12-28 15:15:29 -06:00
Mat M
dd1fc70d70
Merge pull request #7644 from jordan-woyak/dk-bongos-fix
...
HW: DK Bongos clap fix and cleanup
2018-12-28 06:41:10 -05:00
Mat M
2d379446b5
Merge pull request #7642 from MerryMage/fprf-whole
...
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-28 06:37:43 -05:00
Mat M
b7db1f020b
Merge pull request #7624 from lioncash/paired-single
...
PowerPC: Remove separate macros for paired singles
2018-12-28 06:32:45 -05:00
Mat M
8c9f553734
Merge pull request #7620 from lioncash/paired
...
Interpreter: Handle HID2.PSE and HID2.LSQE bits
2018-12-28 06:30:37 -05:00
Mat M
de03019c77
Merge pull request #7628 from jordan-woyak/stick-shapes
...
ControllerEmu: Add ability to reshape analog sticks. Make the mapping indicator pretty.
2018-12-28 06:18:56 -05:00
MerryMage
77e9aa48bc
Jit64: Remove Jitx86Base class
2018-12-28 09:15:26 +00:00
Jordan Woyak
ceb28a2302
Add ability to reshape analog sticks from square/circle to octagon and make the analog stick mapping indicator pretty.
2018-12-27 18:31:46 -06:00
Tilka
bfb9b1aca5
Merge pull request #7602 from CrystalGamma/stop-g_jit
...
stop using g_jit outside of JitInterface
2018-12-27 23:12:14 +01:00
Tilka
89eedc8c1b
Merge pull request #7625 from jordan-woyak/emu-shake-fix
...
WiimoteEmu: Shaking emulation fix
2018-12-27 22:32:50 +01:00
MerryMage
26bc38d25d
Jit64: Fix instruction breakpoints
...
Broken by 5236dc3
.
2018-12-27 20:11:26 +00:00
JosJuice
5b97ea8b40
Merge pull request #7606 from booto/dtk_pos_align
...
DTK: Report position in increments of 0x8000
2018-12-26 10:22:40 +01:00
JosJuice
2ff1bfdc85
Merge pull request #7646 from leoetlino/temporary-to-permanent
...
WiiUtils: Clear IPL.TID when re-installing a title manually
2018-12-25 23:46:47 +01:00
Léo Lam
0aef6bc834
WiiUtils: Clear IPL.TID when re-installing a title manually
...
If the user tries to permanently install a title that has already been
imported, and if that title is currently marked as a temporary title
in IPL.TID, that flag should be cleared.
2018-12-25 20:49:11 +01:00
Jordan Woyak
43f5d4973e
Fix wiimote/nunchuk acceleration value clamping (off-by-one).
...
Add in shaking acceleration rather than overwritting it so it doesn't look like the device is in free-fall. This fixes shaking in "Batman: TBATB". It appears the game only detects shaking along the z-axis and expects gravity to exist.
2018-12-25 12:10:31 -06:00
Jordan Woyak
56256d8624
HW: DK Bongos clap fix and cleanup
2018-12-25 11:24:09 -06:00
Lioncash
244d083f0e
PowerPC: Remove separate macros for paired singles
...
Previously, PowerPC.h had four macros in it like so:
\#define rPS0(i) (*(double*)(&PowerPC::ppcState.ps[i][0]))
\#define rPS1(i) (*(double*)(&PowerPC::ppcState.ps[i][1]))
\#define riPS0(i) (*(u64*)(&PowerPC::ppcState.ps[i][0]))
\#define riPS1(i) (*(u64*)(&PowerPC::ppcState.ps[i][1]))
Casting between object representations like this is undefined behavior.
Given this is used heavily with the interpreter (that is, the most
accurate, but slowest CPU backend), we don't exactly want to allow
undefined behavior to creep into it.
Instead, this adds a helper struct for operating with the paired singles,
and replaces the four macros with a single macro for accessing the
paired-singles/floating-point registers.
This way, it's left up to the caller to explicitly decide how it wants to interpret
the data (and makes it more obvious where different interpretations of
the same data are occurring at, as there'll be a call to one of the
[x]AsDouble() functions).
2018-12-25 10:35:09 -05:00
JosJuice
ca2a2c98f2
Merge pull request #7627 from Techjar/netplay-disable-bt-passthrough
...
Core/BootManager: Disable bluetooth passthrough when booting NetPlay
2018-12-25 15:48:08 +01:00
JosJuice
08ae6d7706
Merge pull request #7525 from JosJuice/nand-title-region
...
Accurate region detection for NAND titles
2018-12-25 15:36:00 +01:00
MerryMage
0deed2a5af
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-24 19:02:43 +00:00
Markus Wick
e7b53540d8
Merge pull request #7634 from MerryMage/downcount-on-exit
...
Jit64: Check downcount at block exit, not block entry
2018-12-23 19:34:12 +01:00
MerryMage
5236dc31a6
Jit64: Check downcount at block exit, not block entry
2018-12-23 18:03:29 +00:00
Markus Wick
54f37c3bae
Merge pull request #7631 from MerryMage/crXXX-AeqB
...
Jit_SystemRegisters: Special-case crXXX for CRBA == CRBB
2018-12-23 17:55:09 +01:00
degasus
64378c90da
JitArm64: Fix RC calculation of srawix.
...
Seems like it was missed from the early implementation.
2018-12-22 17:31:14 +01:00
Jordan Woyak
3a145aeae4
ResetRumble on emu pause/stop regardless of presence of DInput/Xinput as that's not relevant. All the backends would like to stop rumbling.
2018-12-22 07:31:36 -06:00
zackhow
233b00fb7e
ConfigManager: add save/load for Jit debug options
2018-12-21 15:06:37 -05:00
MerryMage
174d2b0230
crXXX: Avoid loading twice when CRBA == CRBB
2018-12-21 11:33:18 +00:00
MerryMage
07c146e7e2
crXXX: Remove unnecessary CRBA == CRBD constraint for crclr and crset
2018-12-21 11:20:06 +00:00
Techjar
cf8b730c61
Core/BootManager: Disable bluetooth passthrough when booting NetPlay
...
Bluetooth passthrough does not and never will work on NetPlay, so we'll
just force the use of emulated bluetooth when booting in NetPlay.
2018-12-17 18:22:13 -05:00
Jordan Woyak
79eb065cf3
Reduce emulated shaking frequency to 6hz. (something more humanly possible) (was ~13hz)
2018-12-15 10:36:22 -06:00
Jordan Woyak
a8a6bdcdd2
Compute emulated classic controller calibration data instead of having hardcoded values.
2018-12-15 10:27:06 -06:00
Jordan Woyak
6848812a31
Produce emulated nunchuk calibration data.
2018-12-15 10:27:06 -06:00
CrystalGamma
2f490e44fb
stop using g_jit outside of JitInterface
...
Replace g_jit in x86-64 ASM routines code by m_jit member reference
2018-12-15 01:58:58 +01:00
Lioncash
52cae18b01
Interpreter: Handle paired-single HID2.PSE and HID2.LSQE bits
...
These bits enable or disable paired-single execution based on how
they're set. If PSE isn't set, then all paired-single instructions are
illegal. If PSE is set, but LSQE isn't set, then psq_l, psq_lu, psq_st
and psq_stu are illegal to execute.
Also thanks go out to my roommate @Veegie for letting me use his Wii as
a blasting ground for tests, since mine isn't on hand right now. It only
caught on fire twice and only burned down half of the house through the
process; what a team player.
2018-12-13 22:48:05 -05:00
Lioncash
c87a2f57b4
Interpreter_SystemRegisters: Handle reserved/read-only bits for HID2 in mtspr
2018-12-13 11:39:40 -05:00
Admiral H. Curtiss
fa6782f841
GCMemcard: Required declaration before C++17.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
36d84c6959
GCMemcard: Slightly nicer definition of UNINITIALIZED_GAMECODE.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
ca2c7679df
GCMemcard: Rewrite DEntry_IconFmt() and DEntry_AnimSpeed() to make more sense.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
2351a60567
GCMemcard: Let GetDEntry() return std::optional<DEntry>.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
860e003b0c
GCMemcard: Remove needless second definition of DENTRY_SIZE.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
3d77a43e67
GCMemcard: Use std::array for GCMBlock.m_block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
ceb9cb53c6
GCMemcard: Rename GCMBlock.block to m_block to match naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
fc70b60d8b
GCMemcard: Access active directory/BAT via methods instead of pointers.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
7ff65db3b2
GCMemcard: As far as I can tell, the directory and BAT blocks aren't really main and backup, but just two blocks that store data are written to alternately. So store them as an std::array of 2 blocks instead of an explicit 'backup' block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
0aaf24b9cc
GCMemcard: Rename GCMemcard variables to match our naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
4d4b5442bd
GCMemcard: Use std::array and BigEndianValue for BlockAlloc.m_map.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
eb6cc3dbab
GCMemcard: Use BigEndianValue for BlockAlloc.m_last_allocated_block.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
d3b61c3ff0
GCMemcard: Use BigEndianValue for BlockAlloc.m_free_blocks.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
88bdab6fe6
GCMemcard: Use BigEndianValue for BlockAlloc.m_update_counter.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
0f776fb091
GCMemcard: Use BigEndianValue for Directory.m_update_counter.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
2d77096d63
GCMemcard: Use std::array for Directory's members.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
f8488f4561
GCMemcard: Use std::array for DEntry.m_unused_2.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
4175fdf28d
GCMemcard: Use std::array for DEntry.m_makercode.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
deadec608e
GCMemcard: Use std::array for DEntry.m_gamecode.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
0c638ad858
GCMemcard: Use std::array for DEntry.m_filename.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
443729d2c3
GCMemcard: Use BigEndianValue for DEntry.m_comments_address.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
8a920dac93
GCMemcard: Use BigEndianValue for DEntry.m_block_count.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
675a549628
GCMemcard: Use BigEndianValue for DEntry.m_first_block.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
929fd2b41d
GCMemcard: Use BigEndianValue for DEntry.m_animation_speed.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
c3e9f53480
GCMemcard: Use BigEndianValue for DEntry.m_icon_format.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
65f6250faa
GCMemcard: Use BigEndianValue for DEntry.m_image_offset.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
1d25e249e8
GCMemcard: Use BigEndianValue for DEntry.m_modification_time.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
2f1ff80dd6
GCMemcard: Use std::array for Header members instead of raw C arrays.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
256d336219
GCMemcard: Use BigEndianValue for Header.m_encoding.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
8eabcbf294
GCMemcard: Use BigEndianValue for Header.m_size_mb.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
bfbfcc72a2
GCMemcard: Use BigEndianValue for Header.m_device_id.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
b3ce882109
GCMemcard: Use BigEndianValue for Header.m_sram_language.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
905a16e7e7
GCMemcard: Use BigEndianValue for Header.m_format_time.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
9f03c2f358
GCMemcard: Rename BlockAlloc variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
17208f4c89
GCMemcard: Rename Directory variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
15f89d3e6f
GCMemcard: Rename DEntry variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
c419dac1d8
GCMemcard: Rename Header variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
4b1d891378
GCMemcard: Add a few static asserts for sizes of memory card structures.
2018-12-09 22:28:55 +01:00
Techjar
2e19efa8d5
NetPlay: Sync Wiimote extension
...
Small addition of NetPlay code in Core.cpp was needed to set the
extensions at the right time, as init would override them otherwise.
This solution is more elegant than modifying the user's INI files on
game start.
2018-12-05 16:36:44 -05:00
Pierre Bourdon
2c57e709d0
Merge pull request #7603 from jordan-woyak/fs-open-file-fix
...
Present an error message when failing to open a file that should exist.
2018-12-04 08:49:21 +01:00
booto
1ab390c15f
DTK: Report position in increments of 0x8000
2018-12-04 00:16:46 -05:00
Jordan Woyak
122ce28786
Present an error message when failing to open a file that should exist.
...
This could happen with savestate loads, permission issues, or use by other processes.
Prior to this Dolphin assumed any existing file could be opened and crashes from invalid variant access.
Failing to open a file during savestate load will likely still crash but at least the user will know why.
2018-12-03 19:07:42 -06:00
Pierre Bourdon
f5e9135912
Merge pull request #7598 from sepalani/wfsi
...
WFSI: Fix Dragon Quest X (all-in-one, v2, v3) installers
2018-12-03 02:39:47 +01:00
Sepalani
077597b028
VersionInfo: Replace IOS59 v7021 with v9249
2018-12-01 22:29:39 +04:00
Sepalani
5bb7cd251e
WFSI: Handle PATCH_TYPE_2 properly in IOCTL_WFSI_FINALIZE_TITLE_INSTALL
2018-12-01 22:28:58 +04:00
Sepalani
f351280061
WFSI: Implement IOCTL_WFSI_CHANGE_TITLE
2018-12-01 22:26:47 +04:00
Pierre Bourdon
754d934a18
Merge pull request #7596 from Techjar/netplay-fix-force-stop
...
NetPlay: Allow force stopping
2018-11-30 21:30:04 +01:00
Connor McLaughlin
6388992f62
Merge pull request #7039 from stenzek/moltenvk
...
Vulkan: macOS support via MoltenVK
2018-11-30 21:55:30 +10:00
Techjar
baecc500e8
Core: Notify state change callback about stopping state
2018-11-30 01:20:22 -05:00
Pierre Bourdon
d9cacf6f5a
Merge pull request #7572 from delroth/analytics-quirks
...
Analytics: add simple framework for game quirks reporting
2018-11-30 05:22:45 +01:00
Techjar
5c81285b91
NetPlay: Fix server peer initialization hang
...
The implementation of peer initialization would hang if the initial
packet was never received. This fixes that issue by deferring the
initialization to the packet receive loop.
2018-11-22 03:15:49 -05:00
Pierre Bourdon
8d20a173f0
Merge pull request #7579 from AdmiralCurtiss/next-free-block-fix
...
GCMemcard: Fix mixed memcard-based and bat-based indices in definition and usage of NextFreeBlock().
2018-11-22 06:54:52 +01:00
Pierre Bourdon
0c6d677233
Merge pull request #7582 from AdmiralCurtiss/memcard-delete-wrong-dir
...
GCMemcard: Fix incorrect directory block being accessed in RemoveFile().
2018-11-22 06:43:25 +01:00
Pierre Bourdon
1805f51d79
Merge pull request #7446 from Techjar/wii-save-full-sync
...
NetPlay: Add full Wii save sync
2018-11-21 00:22:50 +01:00
Admiral H. Curtiss
431e6c42e1
GCMemcard: Fix incorrect directory block being accessed in RemoveFile().
...
When deleting files, block index data was always fetched from the first copy of the directory listing rather than the currently active one.
2018-11-21 00:15:58 +01:00
Admiral H. Curtiss
353e289fbf
GCMemcard: Fix mixed memcard-based and bat-based indices in definition and usage of NextFreeBlock().
2018-11-19 20:40:18 +01:00
JosJuice
46fe0669a5
Minor fixes to netplay sync strings
2018-11-19 19:54:55 +01:00
Techjar
b06b7e5686
NetPlay: Add full Wii save sync
...
This adds the ability to sync all Wii saves, instead of only the
selected game. Useful for cases like launching a game though GeckoOS.
2018-11-19 06:37:09 -05:00
Techjar
f4eb4fab08
HW/WiiSave: Fix reversed condition in WriteFiles
...
This didn't make any sense, as it would only attempt to create the directory if it already existed, and would simply fail if it didn't exist.
2018-11-19 06:37:09 -05:00
Techjar
6730748309
NetPlay: Use chunked data transfer for save sync
2018-11-19 06:37:09 -05:00
Techjar
d94922002b
NetPlay: Implement chunked data transfer
...
This sends arbitrary packets in chunks to be reassembled at the other
end, allowing large data transfers to be speed-limited and interleaved
with other packets being sent. It also enables tracking the progress of
large data transfers.
2018-11-19 06:37:09 -05:00
Techjar
529796bd59
NetPlay: Remove PadMapping type
...
Its usage was inconsistent, confusing, and buggy, so I opted to just
remove it entirely. It has been replaced with PadIndex for the
appropriate instances (mainly networking), and inappropriate usages
(where it was really just a player ID) have been replaced with the
PlayerId type. The definition of "no mapping" has been changed from -1
to 0 to match the defintion of "no player", as -1 (255 unsigned) is
actually a valid player ID.
The bugs never manifested because it only occurs with a full lobby of
255 players, at which point the last player's ID collides with the "no
mapping" definition and some undefined behavior occurs. Nevertheless, I
thought it best to fix it anyways as the usage of PadMapping was
confusing.
2018-11-19 05:45:32 -05:00
Pierre Bourdon
e6b2758ab4
Merge pull request #7477 from Zexaron/ext-minizip
...
Externals: Add a stripped down version of minizip
2018-11-17 22:23:02 +01:00
Léo Lam
c56516502d
Merge pull request #7440 from JosJuice/wii-menu-1.0-region
...
Never return Unknown from SConfig::GetFallbackRegion
2018-11-17 21:18:38 +01:00
Pierre Bourdon
ef562ec2f1
Analytics: add simple framework for game quirks reporting
...
And use it for reporting games that rely on ICache emulation to some
degree. We know of a few but it would be interesting to get a more
exhaustive list from crowdsourcing.
2018-11-15 03:32:49 +01:00
Pierre Bourdon
6b7a1ca6d1
Merge pull request #7535 from UnclePunch/synccodes
...
Netplay: Sync AR and gecko codes with clients
2018-11-13 22:39:25 +01:00
Pierre Bourdon
41333fa971
Merge pull request #7564 from Techjar/netplay-sync-wii-shutdown
...
NetPlay: Sync power button event
2018-11-13 22:33:59 +01:00
Techjar
ef89e4e70c
NetPlay: Sync power button event
...
This fixes the deadlock on shutdown when Wii Remotes are in use.
2018-11-12 22:32:18 -05:00
Techjar
caf2fc3c3e
NetPlay: Sync Defer EFB Copies setting
2018-11-12 20:45:12 -05:00
Pierre Bourdon
97e3200f57
Merge pull request #7519 from stenzek/controller-window
...
Core: Switch controller interface to render surface on booting
2018-11-12 17:26:03 +01:00
Pierre Bourdon
a9f7df5b15
SystemTimers: fix a 1-in-1000 crash happening in throttler performance
2018-11-10 20:50:17 +01:00
MerryMage
df08a77812
Jit_LoadStore: Ra needs to be ReadWrite when writeback is required
...
This was an erronous change in 534db3b
, Ra was previously loaded but was changed to not being loaded.
Why is loading necessary? Loading is necessary because when a memory exception occurs, the current
register values are flushed. This occurs before a new value is loaded into Ra, so the previous value
is required in Ra.
2018-11-10 10:57:15 +00:00
JosJuice
0e1cca54da
Merge pull request #7555 from Techjar/config-delcaration-unused
...
Core/Config: Remove unused NETPLAY_SELECTED_HOST_GAME declaration
2018-11-09 08:07:21 +01:00
Pierre Bourdon
61b9ef33ab
Merge pull request #7492 from MerryMage/regcache2
...
JitRegCache: Refactor register cache
2018-11-09 04:45:47 +01:00
Techjar
4fd2a25253
Core/Config: Remove unused NETPLAY_SELECTED_HOST_GAME declaration
2018-11-08 22:39:42 -05:00
Pierre Bourdon
162e34ad22
Merge pull request #7534 from Techjar/fix-netplay-gamelist-saving
...
NetPlay: Fix saving host game selection
2018-11-09 04:28:55 +01:00
Stenzek
c7a2b1572b
CMake: Build Vulkan backend on macOS
2018-11-07 05:12:20 -08:00
Stenzek
487ea5ab36
VideoBackend: Add a virtual PrepareWindow function
...
Executes backend-specific commands on the main thread.
2018-11-07 05:12:20 -08:00
Techjar
dfa4395ba0
Core/Config: Fix memcard path not being saved
2018-11-07 04:29:44 -05:00
Stenzek
a45f977d26
Analytics: Add deferred EFB copies setting to graphics settings
2018-11-07 16:25:01 +10:00
Stenzek
8e2c063d62
TextureCache: Implement deferred/batched EFB copies
2018-11-07 16:25:01 +10:00
JosJuice
20b8c24847
Fix first DTK track not playing after booting with IPL
...
DVDLowAudioBufferConfig doesn't start a DTK stream, it just tells the
drive that the game is allowed to use DTK. At least if I'm not mistaken.
2018-11-01 21:06:11 +01:00