Commit Graph

7087 Commits

Author SHA1 Message Date
JosJuice
b6eb5c25d1 Movie: Fix FrameSkipping determinism condition
The old condition seems to be a typo of
!(IsMovieActive() || NetPlay::IsNetPlayRunning())
2016-07-05 13:57:06 +02:00
JosJuice
f3e459091b Merge pull request #3874 from dolphin-emu/revert-3873-argh
Revert "Undo the addition of a translatable string during the string freeze"
2016-07-05 12:07:53 +02:00
Matthew Parlane
7ad74832e6 Revert "Undo the addition of a translatable string during the string freeze" 2016-07-05 21:44:38 +12:00
Scott Mansell
708fb35fdb Merge pull request #3878 from mathieui/enable-cheats-for-jmc-the-cheater
Sync the "enable cheat" setting over netplay
2016-07-05 21:36:02 +12:00
Scott Mansell
69bf05b302 Merge pull request #3976 from JosJuice/shutdown-clear-codes
PatchEngine: Clear active codes on shutdown
2016-07-05 21:13:48 +12:00
JDV
d6a2fcd26c Formatting and setting is now only temporarily changed (#1)
Add the cheat setting to the bootmanager config cache, and reformat
2016-07-05 02:23:19 +02:00
mathieui
8a2e7fddd1 Sync the "enable cheat" setting over netplay 2016-07-05 02:23:10 +02:00
JosJuice
b210769ea0 PatchEngine: Clear active codes on shutdown
The active codes normally get cleared when a game boots, because
LoadPatches gets called, replacing the codes from the previous game.
However, there were cases where LoadPatches doesn't get called, and
then codes from the previous game would be used for the current game.
This commit clears the codes on shutdown so that it doesn't matter
whether the boot process loads LoadPatches.
2016-07-01 13:07:57 +02:00
Sepalani
99a741b4e2 mbedTLS: missing init and free fixed 2016-07-01 14:33:58 +04:00
Sepalani
1af3b51fa7 Added: Wii security profile 2016-07-01 14:33:58 +04:00
Sepalani
4dfad8896a Added: mbedtls errors log 2016-07-01 14:33:57 +04:00
Sepalani
529ca245d7 Added: more SSL features, plus SSL dump folder
Dump: rootca, peercert
2016-07-01 14:33:54 +04:00
Sepalani
1fdf750395 Added: INI option to verify SSL cert 2016-07-01 14:23:12 +04:00
Sepalani
d3be9d155d Fixed: Allowed unknown certificates 2016-07-01 14:23:11 +04:00
Sepalani
170d0588a7 Replaced DEBUG_SSL with INI options 2016-07-01 14:23:11 +04:00
Lioncash
9bfafed5b8 FifoPlayer: Get rid of semicolons on namespace braces 2016-07-01 04:36:05 -04:00
Lioncash
06ccfef1c1 FifoPlayer: Get rid of unnecessary includes 2016-07-01 04:25:40 -04:00
Markus Wick
b30bf5d959 Merge pull request #3966 from phire/ImNotTheOnlyPersonWhoMakesThisMistake
Fix broken debug builds in visual studio
2016-07-01 08:24:02 +02:00
Chris Burgener
046c96f1b8 Merge pull request #3944 from RisingFog/configurable_dump_path
Add Dump Path to Configuration Menu
2016-06-30 20:46:52 -04:00
Chris Burgener
e92ff9d09f Add Dump Path to Configuration Menu 2016-06-30 20:20:48 -04:00
Pierre Bourdon
f8bf839e36 Merge pull request #3967 from JosJuice/remove-boomy
Remove Boomy
2016-06-30 12:07:50 +02:00
JosJuice
ed42467e87 Fall back to default theme when the configured theme doesn't exist 2016-06-30 11:49:13 +02:00
Scott Mansell
20449ec91f Don't forget to initalize your variables. 2016-06-30 20:27:19 +12:00
Lioncash
396ae89e5c FifoDataFile: Convert FifoFrameInfo's fifoData member into a vector 2016-06-29 02:54:49 -04:00
Lioncash
437b1294bb FifoDataFile: Convert MemoryUpdate data member to std::vector 2016-06-29 02:29:34 -04:00
Lioncash
8943d23a4c FifoDataFile: Make Load return a unique_ptr 2016-06-28 21:23:55 -04:00
Scott Mansell
35566316ed XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms
of latency.
2016-06-28 15:12:43 +12:00
Matt Mastracci
1e08ad0d97 Add MOV optimization and MOV_sum
Replaces incarnations of the A=B+C pattern throughout the
code so we can apply optimizations consistently.
2016-06-27 15:43:52 -06:00
Matt Mastracci
b1296a7825 Refactor fastmem/trampoline code.
Simplication to avoid reading back the generated instructions, allowing
us to handle all possible cases.
2016-06-27 14:58:20 -06:00
Markus Wick
ddc9e414ee Merge pull request #3454 from mmastrac/gqr_fixes
JIT perf improvements for quantized loads/stores
2016-06-27 18:31:50 +02:00
Lioncash
1dee75a68e FifoRecorder: Use lock_guard instead of explicit lock/unlock 2016-06-27 04:15:16 -04:00
Matt Mastracci
4aa5291f54 Refactor the paired load/store code
Simplification/reduction of duplicated code. Detect other constant GQR values and inline loads (5-10% speedup) and do direct dispatch to AOT methods for stores.
2016-06-26 19:49:02 -06:00
degasus
d79aeaa1e9 VideoCommon: Drop GetConfigName.
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus
ca96302a36 PowerPC: Dedoublify CheckExternalExceptions. 2016-06-26 11:29:25 +02:00
degasus
4c5f8f9c91 CoreTiming: Drop ProcessFifoWaitEvents.
globalTimer is only written in Advance, so this function has no function.
2016-06-26 11:29:25 +02:00
Matthew Parlane
2776bcbf55 Merge pull request #3903 from leoetlino/wiimote-disconnect
Disconnect real Wiimotes when disconnected by games (not on all platforms)
2016-06-26 18:33:09 +12:00
Mat M
8d1a70af9a Merge pull request #3945 from comex/warning-fixes-2016
Warning fixes 2016
2016-06-26 02:16:35 -04:00
Mat M
c896645313 Merge pull request #3947 from magumagu/interpreter-cleanup
Misc cleanup in Interpreter.
2016-06-26 02:11:09 -04:00
Mat M
8d2137ba85 Merge pull request #3948 from magumagu/dead-bfakemem
Delete dead variable named bFakeVMEM.
2016-06-26 02:10:13 -04:00
magumagu
1c28a27ee4 Delete dead variable named bFakeVMEM.
(There's another bFakeVMEM in Memmap.h.)
2016-06-25 23:05:55 -07:00
magumagu
b5ed27ffa8 Misc cleanup in Interpreter.
Mostly comment changes; also gets rid of an unnecessary call to
CheckExceptions.
2016-06-25 22:52:17 -07:00
comex
efef07293b Suppress deprecation warning. 2016-06-26 00:49:51 -04:00
magumagu
e01a33f69b Make reset button (Emulation -> Reset) work correctly for Wii games.
Fixes issue 8328.

As far as I know, this works the same way as console. Games will generally
react to the reset button the same way as Home->Reset, so this is
only marginally useful, but possibly nice to have in certain situations.

Note that if you try to use Reset, and you're running a WAD which isn't
installed, it will likely crash because WADs respond to the reset button
by launching themselves with ES_LAUNCH.  It might be a good idea to add some
sort of hack to make this work as expected.

It would be easy to extend this to support the power button, but it's
unclear how exactly that should be exposed in the UI. See also issue 8979.

Needs to be rebased once PR #3811 is merged.
2016-06-25 21:21:44 -07:00
degasus
59e4882af3 nullvideo: initial release of null video backend 2016-06-25 22:40:23 +02:00
Matthew Parlane
afa202738e Merge pull request #3865 from leoetlino/third-party-wiimotes
Change Bluetooth device discovery on Linux to use LIAC (updated #3327)
2016-06-26 00:17:57 +12:00
Bryan Grim
92c572a83d Change Bluetooth device discovery on Linux to use LIAC
This changes Bluetooth device discovery on Linux to use LIAC (Limited
Dedicated Inquiry Access Code) since third-party Wiimotes (such as Rock
Candy Wiimotes) are not discovered without it.

Also added accessor function in IONix class to help with checking if
the discovered Wiimote has already been found.

[leoetlino: code review suggested changes, remove unused variable,
commit message formatting fixes, and build fix]
2016-06-25 12:34:45 +02:00
Rohit Nirmal
84cd57f99b Fix building with PCH disabled. 2016-06-24 11:46:48 -05:00
Lioncash
2904e96f1e Core: Use the thread_local keyword
Android and OSX are still twiddling their thumbs though,
so we have to keep pthreads around for them.
2016-06-24 09:14:10 -04:00
Léo Lam
d575b40c73 Disconnect real Wiimotes when disconnected by games
This commit makes real Wiimotes really disconnect when they are
disconnected by the emulated software, which is more similar to how
it works with a real Wii and allows Wiimotes to be disconnected after
timeout for power saving.

This is currently only enabled on Linux, because of limitations on
the other platforms.
2016-06-24 14:47:39 +02:00
Pierre Bourdon
2fdfacd6d9 Add clang-format markers around fragile header inclusions. 2016-06-24 13:24:10 +02:00
Pierre Bourdon
5fcb4bb3ab Further fixes to the formatting change. WX sucks. 2016-06-24 12:16:10 +02:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Pierre Bourdon
2115e8a4a6 Add annotations for code sections that need to remain manually formatted. 2016-06-24 10:41:46 +02:00
Scott Mansell
2ec3a24e4e analytics: Collect less data about controllers.
The name field can contain personal information, particularly in the
case of bluetooth devices on OSX which get configured with the user's
full name.
2016-06-22 17:02:30 +12:00
Scott Mansell
3dfea6e996 analytics: Collect controller information.
Collects the existence of a gamecube adapter, and the type of
whatever controller is configured for the first emulated gamepad.
2016-06-21 01:48:28 +12:00
Scott Mansell
d197f489b9 analytics: Report OpenGL's adapter name too. 2016-06-20 23:54:44 +12:00
Pierre Bourdon
5982072a44 analytics: More accurate video backend name. 2016-06-19 16:36:18 +02:00
Pierre Bourdon
121f270367 Add an Analytics reporting system.
Fully opt-in, reports to analytics.dolphin-emu.org over SSL. Collects system
information and settings at Dolphin start time and game start time.

UI not implemented yet, so users are required to opt in through config editing.
2016-06-19 02:55:46 +02:00
Pierre Bourdon
c514a48f4d Merge pull request #3776 from EmptyChaos/ar-isoprop-corrupt
ActionReplay: Fix ISOProperties corrupting active code set
2016-06-05 09:29:51 +02:00
Mat M
a3e2436446 Merge pull request #3872 from JosJuice/movie-revision-nonhexadecimal
Movie: Improve handling of non-hexadecimal revision strings
2016-06-02 14:13:08 -04:00
JosJuice
9681fee86a Movie: Improve handling of non-hexadecimal revision strings 2016-06-02 18:55:35 +02:00
Matthew Parlane
7a99312687 Merge pull request #3873 from JosJuice/argh
Undo the addition of a translatable string during the string freeze
2016-05-31 08:46:25 +12:00
JosJuice
e5ffc91265 Undo the addition of a translatable string during the string freeze 2016-05-30 22:41:08 +02:00
EmptyChaos
6ab1b27477 ActionReplay: UI Consistency and Cleanup
Cleanup code style.

Move ActionReplay code->INI saving into ActionReplay namespace.

Threadsafety Cleanup: ActionReplay is accessed from the Host, Emu
and CPU Threads so the internal storage needs to be protected by a
lock to prevent vectors/strings being deleted/moved while in use by
the CPU Thread.

UI Consistency: Make ARCodes behave like Gecko Codes - only apply
changes when Apply is pressed. Save changes to INI from CheatsWindow.

ISOProperties/CheatsWindow now synchronize with each other.
2016-05-29 23:33:24 +10:00
EmptyChaos
25b072ff2b ActionReplay: Fix ISOProperties corrupting active code set
ISOProperties loads codes using ActionReplay::LoadCodes which actually applies
the codes to the global state. If a game is running then that games receives
all the codes (and ACTIVE status) from the second game being shown in
ISOProperties which is not desirable.
2016-05-29 23:33:24 +10:00
Scott Mansell
7d80aaedc7 Cleanup: fix an incorrect variable name.
For consistancy.
2016-05-29 18:14:50 +12:00
Scott Mansell
f419faa408 IPC_HLE: Close file handles before savestating. Fixes DKCR crashing.
Donkey Kong Country Returns is writing new data to some files in /tmp
when loading each level. But the savestate code was opening the files
a second time and reading some old and stale data out.

As of #3798, dolphin now correctly restores that stale data to /tmp,
which broke DKCR (and probally countless other games).

This PR closes all file handles before saving and loading savestates,
which flushes the data out and pervents this issue. (old savestates
are corrupted and will still cause crashes if loaded)
2016-05-29 16:48:46 +12:00
mimimi085181
1d90719abe Fix latency regression
On master, when polling the 1st in-game controller, Dolphin would poll all the 1st local controllers. With the 1st commit, each client waits its turn, which would dramatically increase the lag.

Now with this commit, it even polls all local controllers at once, so it should have even less latency than master in a few setups. Like one player with 3 controllers and the 2nd one with just one controller.
2016-05-24 22:13:40 +02:00
mimimi085181
ca9027879b Netplay: Fix gamecube controller mapping
This fixes issues with setups like:
Player 1 uses port 1 and player 2 uses port 3, or
player 1 uses port 2 and player 2 uses port 3, so nobody uses port 1
2016-05-24 21:59:36 +02:00
Mat M
08d45b9fea Merge pull request #3794 from EmptyChaos/frame-advance-race
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)
2016-05-22 15:19:16 -04:00
Markus Wick
ff4bc5f33d Merge pull request #3854 from degasus/arm
JitArm64: Implement MMU handling.
2016-05-21 08:46:22 +02:00
Markus Wick
ca728d792a Merge pull request #3802 from mathieui/netplay-disable-wiimotes-for-real-i-swear
Disable wiimotes on game start if running in netplay
2016-05-20 12:38:21 +02:00
mathieui
ef0f164343 Disable wiimotes on game start if running in netplay
And restore the settings on game quit
2016-05-20 12:05:29 +02:00
Markus Wick
de0f93f636 Merge pull request #3851 from JosJuice/revision-20
Movie: Better safety when writing to s_revision
2016-05-20 10:18:30 +02:00
degasus
c5e8238cc7 JitArm64: Fix dispatcher with MMU. 2016-05-20 08:32:16 +02:00
degasus
8e902abca3 JitArm64: Implement DSI exception.
Ok, this falls back on all memory instructions, but it's a way to start.
2016-05-20 08:32:16 +02:00
degasus
5db61b4bbb JitArm64: Fix broken block handling. 2016-05-19 19:20:44 +02:00
degasus
37e2e92e33 JitArm64: Handle ISI excepction. 2016-05-19 19:20:44 +02:00
degasus
95ebb2991f JitArm64: Check Exceptions on mtmsr. 2016-05-19 19:20:44 +02:00
degasus
782c68cf00 JitArm64: Clean up LWZ idle skipping. 2016-05-19 19:20:44 +02:00
JosJuice
a399966751 Movie: Better safety when writing to s_revision 2016-05-19 12:29:50 +02:00
Markus Wick
da3b03c61d Merge pull request #3829 from phire/timing_madness
Increase Audio DMA Interrupt delay to 200 cycles (Fix assorted Namco games)
2016-05-18 20:14:02 +02:00
Markus Wick
ae5d6003cd Merge pull request #3758 from phire/minor_core_timing_fix
CoreTiming: Trim max slicelength to the given value.
2016-05-18 17:56:02 +02:00
Markus Wick
e2d65778fc Merge pull request #3816 from magumagu/neogamma-hack
Add hack to IPCHLE to make NeoGamma work.
2016-05-18 17:49:58 +02:00
Markus Wick
5a36b7db24 Merge pull request #3811 from magumagu/eslaunch-timing
Fix timing regression affecting ES_LAUNCH.
2016-05-18 17:15:30 +02:00
Markus Wick
60e7c78007 Merge pull request #3840 from degasus/arm
JitArm64: Faster block linking.
2016-05-18 16:49:01 +02:00
Mat M
e5bafeb40a Merge pull request #3821 from mathieui/gcadapter-no-device
Fix a hang with the GC Adapter
2016-05-13 21:36:51 -04:00
degasus
637851fce0 JitArm64: optimize bclrx
the unconditional path is the most common, so no need to switch to far code here.
2016-05-14 00:05:55 +02:00
degasus
b6f16352e4 JitArm64: Check downcount on block linking.
This skips one B() call.
2016-05-14 00:04:58 +02:00
degasus
10e716c623 JitCommon: Pass jit block instead of host pointer on linking.
So the JIT may do more fancy stuff.
2016-05-14 00:04:58 +02:00
degasus
cf3c65fbd0 JitArm64: Use B() instead of BR() to jumo to ASM.
Avoid indirect jumps as good as possible. This is a noticeable speedup.
2016-05-14 00:04:58 +02:00
degasus
b2be9bd7f7 JitArm64: Inline JitAsm in JitArm64.
So they share the same emitter, and so they are in the same 128MB range.
This allows us to use B() to jump to the dispatcher.

However, so we have to regenerate them on every cache clear.
2016-05-14 00:04:58 +02:00
EmptyChaos
c1944f623b Core/Movie: Add ability to run code in Host context
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
2016-05-13 09:23:44 +10:00
EmptyChaos
e8dfc8e654 Movie: Threadsafety Audit
Fix TASInputDlg which was trying to access the GUI without the GUI
lock from the CPU Thread.
2016-05-13 09:23:44 +10:00
EmptyChaos
c1922783f8 Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
2016-05-13 09:23:44 +10:00
mathieui
8f0cbefbe5 Disable part of the adapter features for netplay
In order to avoid desyncs
2016-05-12 23:31:51 +02:00
Matthew Parlane
356f709537 Merge pull request #3810 from mathieui/fix-adapter-recording-savestate
Fix loading save states with input recording with the adapter
2016-05-12 20:53:04 +12:00
mathieui
2a0ba5aaa6 Fix loading save states with input recording with the adapter
Intended fix for issue #9508
2016-05-12 10:45:03 +02:00
mathieui
8d23ebaa6b Revert "Fix netplay desync when using wii-u adapter."
This reverts commit 429ae8fb01.

 Conflicts:
	Source/Core/Core/HW/SI_DeviceGCAdapter.cpp
	Source/Core/Core/HW/SI_DeviceGCAdapter.h
2016-05-12 02:01:35 +02:00
Scott Mansell
2c95cf0f5a Increase Audio DMA Interrupt delay to 200 cycles.
We really need hardware tests for this one. But this will do as a
quick fix for issue 9509 for 5.0
2016-05-09 14:16:32 +12:00
magumagu
cfce7a2aab Fix IPCHLE to make NeoGamma work.
NeoGamma is explicitly sending a nonsense command to the Bluetooth module;
make sure to respond with something sane.

Fixes issue 9470, a regression from PR #1856.
2016-05-07 11:37:21 -07:00
degasus
2030ad4577 SCM: Use std::string.
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
Matthew Parlane
ea82fcc24f Merge pull request #3658 from Tilka/helpers
Interpreter: simplify some helpers
2016-05-03 22:44:27 +12:00
Matthew Parlane
e0a5f1bb75 Merge pull request #3791 from spxtr/mw-timer
Use CoreTiming for MemoryWatcher.
2016-05-03 22:30:51 +12:00
magumagu
36f01e141d Fix timing regression affecting ES_LAUNCH.
Scheduling an event for zero cycles in the future actually means zero
cycles with new timing changes, but the code for IPC ACKs was depending on
it meaning "soon".

Fixes #9511.

I'm not at all confident this is actually right... but it seems to work.
2016-05-02 21:56:49 -07:00
Matthew Parlane
3d375592a2 Merge pull request #3798 from phire/goto_dino
Fix handling of Wii NAND's /tmp directory during savestate loads.
2016-05-01 11:37:33 +12:00
mathieui
542e7ba158 Make a generic rumble function
Call the appropriate rumble function for each SI Device, Should fix #9331.
Ideally we wouldn’t have to do this, but since the way things are wired,
fixing the root cause it out of the picture for now.
2016-04-30 12:54:31 +02:00
degasus
170a7f1a06 CoreTiming: Trim max slicelength to the given value.
Previously it was underclocking by 50% when there were
no events to schedule.
2016-04-30 19:28:14 +12:00
Matthew Parlane
3df4b09a94 Merge pull request #3797 from phire/casually_delete_some_code
Fix netplay desync when using wii-u adapter.
2016-04-30 17:55:06 +12:00
Mathew Maidment
45e0cb70df Merge pull request #3770 from EmptyChaos/dsp-int-fail
DSP: Fix array out of bounds
2016-04-29 20:07:07 -04:00
Mathew Maidment
b99b685f22 Merge pull request #3800 from phire/unexceptional-exceptions
Make exceptions consistent across all JITs/Interpreters (Fixes Pokemon Box)
2016-04-29 19:48:55 -04:00
Mathew Maidment
b420abc908 Merge pull request #3769 from RisingFog/remove_framestep
Remove Unused Framestop Functions
2016-04-29 19:41:25 -04:00
spxtr
b9e9a5ee3d Use CoreTiming for MemoryWatcher. 2016-04-28 21:28:15 -07:00
Scott Mansell
eb5819f88a Make exceptions consistant across all JITs/Interpeters.
They all handled it diffrently, so I've just moved it into Advance()

This fixes Pokemon Box booting in JIT/JITIL which shared a bug where
exceptions set in a scheduled event would be ignored untill the next
slice (upto 20,000 cycles).
2016-04-28 17:22:52 +12:00
Scott Mansell
8f4ac5bbad Close all files so /tmp can be deleted on save state load.
Because the file handles were open, the recursive delete was
failing. The previous commit stopped the crash but this should
make the restore actually happen has expected.
2016-04-25 18:29:49 +12:00
Scott Mansell
429ae8fb01 Fix netplay desync when using wii-u adapter.
If the game sent a command to a disconnected controller, the
wii u adapter code would return a diffrent response.

This simply deletes the speclized version of RunBuffer for the
wii-u adapter as the only diffrence was the code which detected
disconnected controllers and returned a error.
2016-04-25 15:26:31 +12:00
EmptyChaos
32239f500c VideoInterface: Fix registers not being initialized
VideoInterface::Preset was not initializing all registers, this is a problem
because it leaks register settings across games. Xenoblade Chronicles does
not like m_DisplayControlRegister having random bit patterns in it.
2016-04-17 09:35:22 +10:00
Lioncash
4ae4b241ec ChunkFile: Handle bool in a stable way across platforms
bool is not always guaranteed to be the same size on every platform.
On some platforms it may be one byte, on others it can be 8 bytes if the
platform dictates it. It's implementation-defined.

This can be problematic when it comes to storing this
data to disk (it can also be space-inefficient, but that's not really an
issue). Also say for some reason you moved your savestates to another
platform, it's possible they won't load correctly due to differences in size.

This change stores all bools to savestates as if they were a byte in size
and handles the loading of them accordingly.
2016-04-14 22:55:03 -04:00
JosJuice
be191c0473 DVDInterface/DVDThread: Don't store CoreTiming event IDs in savestates
CoreTiming event types aren't guaranteed to be stable across
runs of Dolphin, so they shouldn't be in savestates.
2016-04-11 22:14:25 +02:00
Pierre Bourdon
58d8c734b8 Merge pull request #3773 from phire/if_you_want_100_cycles_ask_for_100_cycles
"Instant" ARAM DMA shouldn't schedule and event too soon.
2016-04-11 21:46:43 +02:00
Scott Mansell
5e50c37c13 Alternative fix: promote cycleslate to an s64 everywhere.
Also changed a few functions to be static.
2016-04-10 02:13:06 +12:00
Scott Mansell
28e0607522 Fix Metroid: Other M
During boot of Other M, there is momentarily a period when VICallback's
cycles late is larger than GetTicksPerHalfLine(). Because
GetTicksPerHalfLine() returns a u32 and c++'s weird type promotion rules,
cycleslate gets promoted from a s32 to a u32 and the result of the
substraction is a really large u32.

Before ScheduleEvent accuracy improvements, ScheduleEvent took a s32, so
the result got cast back to the small negitave we expect. But it now takes
a s64 and the u32 to s64 conversion gives us a really large number (around
two seconds) and Other M times out while waiting for something.
2016-04-10 00:10:56 +12:00
Scott Mansell
662ed217d7 "Instant" ARAM DMA shouldn't schedule and event too soon.
Now that the accuracy of ScheduleEvent has changed, 0 cycles will
schedule an event as soon as possible. But this breaks ATV 2.

So we schedule it 100 cycles out (unless it's a really short copy)
2016-04-09 22:34:53 +12:00
EmptyChaos
80ff82b81a DSP: Fix integer promotion spill 2016-04-08 12:08:17 +10:00
Scott Mansell
365baeccb4 Only force progressive if we are currently in an interlaced video mode
The NES games on the Zelda Collecters Edition disk use a XFB which is
only 256 pixels wide, but has a stide of 640 pixels.

This fits our definition of a interlaced xfb, as a second line of data
could fit in the extra space. The solution is to check that we are
actually in a interlaced video mode before activating the force
progressive hack.
2016-04-06 05:12:53 +12:00
Chris Burgener
3140f9b226 Change GetStatePtr() Return to const 2016-04-05 12:45:48 -04:00
Chris Burgener
54eb8c09f9 Remove Unused Framestop Functions 2016-04-05 12:19:12 -04:00
JosJuice
2db2672810 Always clear memory when booting
Reading uninitalized memory is non-deterministic. We used to only
clear the memory when using EmulatedBS2_GC or FifoPlayer, but we
now do it during Memory::Init instead so it always gets done.
2016-04-01 21:35:26 +02:00
Scott Mansell
fbcac2598a Use a sane default for the controller update rate.
Previously the default queryed the controller 4500 times a second,
Wasn't really a problem for most games as they set it to a sane
value. But fifoplayer didn't, and so in my profile dolphin spends
12% of the cpu time reading the controllers.

This new default value (I just took what the gamecube bios set)
drops that to 1.2% of cpu time and increase the framerate of the
silent hill fifo by 10-12%
2016-03-27 09:02:52 +13:00
Pierre Bourdon
bd200bd195 Merge pull request #3736 from BhaaLseN/issue-9135
Rewrite NAND Content handling in ES to fix Issue 9135
2016-03-26 05:00:08 +01:00
Pierre Bourdon
21eb1cd158 Merge pull request #3635 from phire/lazy_comex
Implement BLR Overflow handling for Windows.
2016-03-26 01:42:54 +01:00
Scott Mansell
d61baef2f6 Disable JitArm64's inline timebase implemenation, as it's incorrect.
The interpeted version is correct.
2016-03-24 05:17:10 +13:00
Scott Mansell
27beef1ff4 Store an inverted copy of lastOCfactor.
The inverse operation is more common, especially when games check the
timer rapidly. So we do the division once and store the inverted copy.
2016-03-24 05:17:10 +13:00
Scott Mansell
407f86e01a Mark global variables with g_ prefix 2016-03-24 04:32:12 +13:00
Scott Mansell
67dc26cf1d CoreTiming: Fix 31bit overflow for events scheduling.
Events scheduled more than 4.12 seconds in the future (2.96 seconds for
Wii games) would overflow the sign bit and get scheduled in the past
instead, causing them to fire instantly.
2016-03-24 04:27:14 +13:00
Scott Mansell
2ebbfd6f85 Adjust cycle counts so they are accurate to the jit block level
Previously GlobalTimer was only updated at the end of each slice
when CoreTiming::Advance() was called, so it could be upto 20,000
cycles off.

This was causing huge problems with games which made heavy use of
the time base register, such as OoT (virtual console) and Pokemon
puzzle.

I've also made it so event scheduling will be accurate to the jit
block level, instead of accurate to the slice.
2016-03-24 04:24:53 +13:00
BhaaL
0aeac66222 clear the NAND data cache on ES_LAUNCH to avoid leaving files open
also, clear it on Device_ES::Close, just to make sure nothing remains open.
2016-03-20 13:50:19 +01:00
BhaaL
a449ef4e11 properly open/close the file to avoid rapid open/close cycles
ES_OPENCONTENT and ES_CLOSECONTENT now call Open and Close respectively,
as the old code did.
2016-03-20 13:10:51 +01:00
BhaaL
8a6d9e1e0b hide the distinction between WAD and File from ES
instead, leave all the management with the NANDContentLoader.

for file data (directly on the NAND), this opens the file on-demand and
returns the requested chunk when asked for it.
for on-the-fly decrypted WAD data, we just keep the decoded buffer in
memory, like we've done before - except that we don't give away any objects
we don't want to.
2016-03-20 13:10:50 +01:00
BhaaL
8fd2f05741 remove all accesses to m_pContent
this fixes the crashes, but leaves the "else" part of ES_READCONTENT
temporarily broken until the next commit.

WAD access that are performed on the encrypted WAD will most likely fail
with this commit.
2016-03-20 13:10:49 +01:00
BhaaL
598c3dbe2f get rid of the cached pointer inside ES
only fixes half the issues, since we still cache a pointer from
SContentAccess.m_pContent to SNANDContent.m_data (which is free'd along
with the rest of the NAND data cached inside the CNANDContentManager when
ClearCache is called)
2016-03-20 13:10:48 +01:00
BhaaL
1e28d06f26 fix some style inconsistencies that drove me nuts 2016-03-20 13:10:47 +01:00
Scott Mansell
c5b3a2efac Implement BLR Overflow handling for Windows. 2016-03-20 00:41:28 +13:00
Pierre Bourdon
f0e25b8477 Merge pull request #3668 from RisingFog/wii_movie_sysconf
Apply Wii Settings on Movie Recording/Playback
2016-03-14 01:42:37 +01:00
Ryan Houdek
03071c0c5c Merge pull request #3711 from degasus/arm
JitArm64: Implement dcbx
2016-03-12 17:38:00 -05:00
Lioncash
84b0a930da NetPlayServer: Get rid of some explicit deallocations 2016-03-08 19:31:36 -05:00
Pierre Bourdon
370e91d4c0 Merge pull request #3708 from ismail/miniupnpc-api-16
Fix build with MINIUPNPC_API_VERSION >= 16
2016-03-07 13:49:26 +01:00
degasus
54a4d68c9a JitArm64: implement dcbx 2016-03-05 00:29:38 +01:00
Ryan Houdek
8f75594de7 Merge pull request #3694 from degasus/arm
JitArm64: Small improvements.
2016-03-04 18:01:25 -05:00
Pierre Bourdon
3b6af8c7a5 Merge pull request #3691 from rukai/netplayWiiRemoval
Netplay Wii Remote Removal
2016-03-04 23:45:07 +01:00
degasus
9bf50fb93d JitArm64: Fix mulli.
mulli has no inst.OE
2016-03-04 22:51:47 +01:00
degasus
9ed465f4ac JitArm64: Implement mulhwx 2016-03-04 22:51:46 +01:00
degasus
889a0d396d JitArm64: Align farcode entry points to 16 bytes 2016-03-04 22:49:02 +01:00
degasus
eaa0e275db JitArm64: Use immediate WriteExceptionExit more often. 2016-03-04 22:49:01 +01:00
degasus
689205f0a4 JitArm64: small cleanup, no changes 2016-03-04 22:49:01 +01:00
degasus
7b017c6a65 JitArm64: Use a register as PC argument for the dispatcher. 2016-03-04 19:50:12 +01:00
degasus
050932ed23 JitArm64: Rename global registers. 2016-03-04 19:50:12 +01:00
degasus
57d76cefb0 JitArm64: Merge WriteExceptionExit. 2016-03-04 19:50:12 +01:00
degasus
55b9ce9b5b JitArm64: Store memory pointer once, not per block. 2016-03-04 19:50:12 +01:00
degasus
56c8f65bc2 JitArm64: Precheck for exceptions before calling PowerPC::CheckExceptions. 2016-03-04 19:50:12 +01:00
degasus
aea48c4591 JitArm64: Drop unused WriteExceptionExit. 2016-03-04 19:50:11 +01:00
degasus
c5b0dc98c2 JitArm64: Fix LWZ idle skipping. 2016-03-04 19:50:11 +01:00
İsmail Dönmez
20f8b471a8 Fix build with MINIUPNPC_API_VERSION >= 16
miniupnp commit c4991916e5c12a7754e935e71a5313e75af6aeb9 introduced a
4th statusCode parameter to miniwget function. This parameter is set
to a value returned by the UPnP device. We have to check if it's set
to 200 to make sure the result is a success. Also, we now have to check
if descXML is set in the error case and free it.
2016-03-04 10:59:57 +02:00
Pierre Bourdon
f752c6e704 Merge pull request #3589 from mathieui/gcadapter-recording
Fix recording a movie with the GC Adapter
2016-03-03 02:02:29 +01:00
Mathew Maidment
c2802f96a6 Merge pull request #3655 from jcowgill/spelling-fixes
Fix some very minor spelling mistakes
2016-03-02 14:04:05 -05:00
Rukai
1b65adcd56 Fully remove wii remote netplay UI code and remove reference to WiimoteReal in NetPlayClient.cpp 2016-03-02 21:02:15 +11:00
Dolphin Bot
ab50dd1926 Merge pull request #3667 from RisingFog/fix_savestates
Fix savestates if a device is changed after a savestate is made
2016-03-01 15:35:09 +01:00
Ryan Houdek
36b476ed76 Merge pull request #3683 from Sonicadvance1/aarch64_fix_fcmp
[AArch64] Fix fcmp.
2016-03-01 09:29:56 -05:00
Ryan Houdek
344a4ddc9b Merge pull request #3685 from degasus/arm
JitArm64: Optimize addi
2016-03-01 09:29:42 -05:00
Chris Burgener
7991605ad9 Fix savestates if a device is changed after a savestate is made 2016-03-01 09:28:04 -05:00
Pierre Bourdon
392051bd69 Merge pull request #3679 from JosJuice/seek-log-sign
DVDInterface: Log seek offsets with a more intuitive sign
2016-02-29 16:49:39 +01:00
degasus
e2725792d4 JitArm64: Optimize addi 2016-02-29 08:39:24 +01:00
degasus
4478146c80 JitArm64: Split addi from arith_imm.
They ARM assembly has different immediate versions for logic and additions, so there is no use in merging those instructions.
2016-02-29 08:39:14 +01:00
Chris Burgener
b1c8198cec Move SetData logic to within SysConf.cpp 2016-02-28 19:42:15 -05:00
Ryan Houdek
abaa8fc24d [AArch64] Fix fcmp.
Fixes Luigi's head vanishing. Was due to a mishandling of nans.
Confirmed fixed by hardware test.
2016-02-28 13:15:47 -06:00
degasus
68defb72a3 JitArm64: Don't generate the carry if it's not used any more. 2016-02-27 21:27:29 +01:00
JosJuice
9427d6efb9 DVDInterface: Log seek offsets with a more intuitive sign 2016-02-27 15:20:49 +01:00
Pierre Bourdon
1b37b39d64 Merge pull request #3673 from mmastrac/dvd_nobackwardsbuffer
[DVD] Ignore buffer when seeking backwards
2016-02-26 13:14:47 +01:00
Pierre Bourdon
1d07fee367 Merge pull request #3432 from stenzek/bba-tap-win
EXI: Refactor Windows BBA-TAP interface to a read thread, crash fixes, cleanups
2016-02-26 12:46:20 +01:00
mathieui
4fe2886c2c [netplay] Use the device only if it’s a gc controller or similar
(bad things could happen if we wire up the gba with netplay)
2016-02-25 22:58:21 +01:00
mathieui
7b2c54ad93 [Movie] allow recording with any pad
(bongo/dancemat/adapter…)
2016-02-25 22:58:21 +01:00
mathieui
d61ef9a95a [SI] add a way to check if the current controller is a gcpad
(or gcpad-compatible)
2016-02-25 22:58:17 +01:00
Matt Mastracci
f1a5d6c104 [DVD] Ignore buffer when seeking backwards
Unfortunately this fix re-breaks Arc Rise Fantasia, so we must restore its INI as well.
2016-02-25 12:09:25 -07:00
degasus
3286bbd9bd JitArm64: Track single precision in ps_sel. 2016-02-25 19:47:07 +01:00
degasus
141e299161 JitArm64: Track single precision in fctiwzx. 2016-02-25 19:47:07 +01:00
degasus
e0793a274f JitArm64: Track singles in fselx. 2016-02-25 19:47:07 +01:00
degasus
b4d0307b25 JitArm64: Remove LoadTo* helpers. 2016-02-25 19:47:07 +01:00
degasus
2112d8dfda JitArm64: Replace REG_IS_LOADED with REG_LOWER_PAIR 2016-02-25 19:47:07 +01:00
degasus
c30a66b2d5 JitArm64: Track singles in fabs. 2016-02-25 19:47:07 +01:00
degasus
84395b65f6 JitArm64: Track singles in psq_st. 2016-02-25 19:47:06 +01:00
degasus
fe87462be8 JitArm64: Track singles in stfs. 2016-02-25 19:47:06 +01:00
degasus
5fad3d94a0 JitArm64: Track singles in fcmpX. 2016-02-25 19:47:06 +01:00
degasus
c8948ff8c7 JitArm64: Track single precision in ps_maddXX. 2016-02-25 19:47:06 +01:00
degasus
7fd68c8761 JitArm64: Track singles in ps_sumX. 2016-02-25 19:47:06 +01:00
degasus
ca091b9e92 JitArm64: Track single precision in ps_res. 2016-02-25 19:47:06 +01:00
degasus
d185d2f704 JitArm64: Track singles in ps_mulsX. 2016-02-25 19:47:06 +01:00
degasus
6572790d8b JitArm64: Track singles in ps_mergeXX. 2016-02-25 19:47:06 +01:00
degasus
5506295123 JitArm64: Track singles in frspx. 2016-02-25 19:47:06 +01:00
degasus
0efdd5cacd JitArm64: Track singles in paired fp_logic. 2016-02-25 19:47:06 +01:00
degasus
003288a886 JitArm64: Track singles in fp_arith. 2016-02-25 19:47:05 +01:00
degasus
ae1b5ff9e8 JitArm64: Track single precision in load/store. 2016-02-25 19:47:05 +01:00
degasus
1e59dc1025 JitArm64: Single precision tracking. 2016-02-25 19:47:05 +01:00
Chris Burgener
4aa6f6c812 Apply Wii Settings on Movie Recording/Playback 2016-02-24 21:22:37 -05:00
Ryan Houdek
0e7401f350 Merge pull request #3639 from ASSympt0te/toggle-frame-limit-changes-fixes
Reword "Toggle Frame Limit" to better explain function
2016-02-24 12:15:11 -05:00
Sintendo
00cc59e83a VideoInterface: Fix comment typo 2016-02-21 09:39:01 +01:00
Tillmann Karras
3b2e170f0b Interpreter: simplify subtable handling 2016-02-20 02:20:41 +00:00
Tillmann Karras
b291b0a7c2 Interpreter: simplify mask helper 2016-02-20 01:03:46 +00:00
Tillmann Karras
af5ff9941a Interpreter: deduplicate CR0 helper 2016-02-20 01:03:37 +00:00
James Cowgill
db8dbae131 Fix some very minor spelling mistakes
Found by Lintian https://lintian.debian.org/
2016-02-19 01:48:10 +00:00
Pierre Bourdon
05f5668bcc Merge pull request #3591 from phire/VC_widescreen
Make all Virtual console games 4:3 (and cleanup GameInis)
2016-02-16 00:41:33 +01:00
blendmaster345
c61625cdd3 Relabel hotkey option for toggle frame limit to better reflect function 2016-02-15 04:11:21 -06:00
Pierre Bourdon
14cdf82a69 Merge pull request #3638 from lioncash/mmio
Memmap: Make the MMIO mapping a unique_ptr
2016-02-15 10:29:40 +01:00
Lioncash
b36b10fa78 Memmap: Make the MMIO mapping a unique_ptr 2016-02-15 00:02:00 -05:00
Matt Mastracci
4e6f58d82e [DVD] Signedness fix in realistic timing path 2016-02-14 14:27:08 -07:00
Ryan Houdek
cafc879b7c Merge pull request #3617 from degasus/arm
JitArm64: Merge FP functions.
2016-02-13 18:57:01 -05:00
Tillmann Karras
797431dda4 MMIO: correct error message 2016-02-13 17:42:24 +00:00
degasus
f259a8d6cf JitArm64: Merge more stuff into ps_maddXX. 2016-02-12 23:26:47 +01:00
degasus
8b32cd0738 JitArm64: Merge ps_sumX. 2016-02-12 10:09:57 +01:00
degasus
2d8e1bc34d JitArm64: Merge PS stuff into fp_logic. 2016-02-12 10:09:57 +01:00
degasus
52f9912c46 ArmJit64: Merge FP two operant instructions. 2016-02-12 10:09:57 +01:00
degasus
157404fd1e JitArm64: Merge ps_mulsX. 2016-02-12 10:09:57 +01:00
degasus
09af32c063 JitArm64: Merge ps_mergeXX. 2016-02-12 10:09:57 +01:00
degasus
1b6d9dfc4e JitArm64: Merge ps_maddsX. 2016-02-12 10:09:57 +01:00
degasus
19713f7c14 JitArm64: Merge scalar 4-operant instructions. 2016-02-12 10:09:53 +01:00
degasus
9c048bbc36 JitArm64: Also merge 3 way FP-PS instructions. 2016-02-10 17:41:25 +01:00
degasus
83eb1d8c31 JitArm64: Merge 3 way FP instructions. 2016-02-10 17:41:25 +01:00
Aestek
b92a80ba1b Fix: segfault in NetPlayServer::GetInterfaceListInternal for ifa_addr-less interfaces
`NetPlayServer::GetInterfaceListInternal` was crashing dolphin with a segfault when encountering a
network interface without `ifa_addr`.
2016-02-08 21:21:27 +01:00
Ryan Houdek
35d7c2bc78 Merge pull request #3593 from Sonicadvance1/Android_Mayflash_adapter
[Android] Implement support for real Wiimotes with the DolphinBar
2016-02-07 15:51:33 -05:00
Ryan Houdek
fe53461611 [Android] Implement support for real Wiimotes with the DolphinBar
This is the only way to get Wiimotes working under Android now.
This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager.

Couple notes.
Continuous scanning must be enabled otherwise the Wiimotes won't be seen.
The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually.

Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-02-07 05:31:48 -06:00
Ryan Houdek
19cd9ecf16 Fix a few missing includes 2016-02-05 10:50:08 -06:00
Scott Mansell
baad10593e GameInis: Allow one ini to cover all VC games for a console
Since all Virtual console releases use the same emulator (though there
are multiple revisions some emulators) and generally need the same
setting, this commit allows the creation of INI files which cover all
Virtual Console games fow each system.

For example, F.ini can provide settings that all NES games have in common
and C.ini will provide settings for all Commadore 64 games.

If needed, a 3 letter ini can override settings for individual games.
2016-02-05 17:35:13 +13:00
Stenzek
98e5270b3c EXI: Use unique_ptr in CEXIEthernet 2016-01-31 23:52:43 +10:00
Stenzek
e75d37ec36 EXI: Fix crash when loading save states with BBA activated 2016-01-31 23:52:40 +10:00
Stenzek
ccc70a98f3 EXI: Refactor BBA-TAP interface for Windows to use a read thread
This also has the added benefit of not crashing under most circumstances.
Includes a few other changes, including replacing the atomic<bool> with a
Flag, as well as adding a flag for indicating read thread shutdown.
2016-01-31 23:52:33 +10:00
Pierre Bourdon
c2c1f839dd Merge pull request #3574 from palxex/master
fix El Capitan WiimoteReal pairing problem and refresh crash problem
2016-01-30 13:17:08 +01:00
Pierre Bourdon
50221088a9 Merge pull request #3576 from lioncash/boot
BootManager: Minor changes
2016-01-30 13:14:52 +01:00
Pierre Bourdon
9da8593cf4 Merge pull request #3569 from mathieui/netplay-gcpad-position
[netplay] Fix a regression
2016-01-30 11:54:31 +01:00
Pierre Bourdon
ff5d6887d1 Merge pull request #3575 from mathieui/netplay-server-cleanup
Small netplay server cleanup & fix
2016-01-30 11:51:50 +01:00
mathieui
c7750b287d netplay: default the local pad to a gc controller
if the configured local pad is none, it will make dolphin behave
incorrectly (due to the game expecting inputs from the device while it
doesn’t exist).
2016-01-28 20:24:18 +01:00
Pal Lockheart
ea44e0e3ba fix El Capitan WiimoteReal pairing problem and refresh crash problem 2016-01-28 14:29:44 +08:00
mathieui
4529930f91 gcadapter: fix an incorrect mapping for non-local devices
Remote devices would always enter an error path and get disconnected
from the gamecube, breaking netplay in the process.

Culprit is still InGamePadToLocalPad
2016-01-28 02:46:58 +01:00
mathieui
b9b4a0c530 gcadapter: set the konga setting properly
if it was used in netplay, it would read memory out of bounds
(due to the mapping method returning 4 if the device was remote) which
was 0 more often than not, causing the device in this position to be a konga.

(which may or not be the gcadapter due to the swap between local and
ingame controllers)
2016-01-28 02:39:55 +01:00
degasus
a4a2928905 FifoPlayer: Sleep while high watermark is set. 2016-01-27 07:23:17 +01:00
Lioncash
d7d0673900 BootManager: Vertically align where sensible to do so 2016-01-26 20:54:22 -05:00
Lioncash
0c920f175f BootManager: Simplify SaveConfig
Also std::array-ifies C-array members of ConfigCache
2016-01-26 20:52:57 -05:00
mathieui
aaf2be2044 bootmanager: update the supposed-end-of-enum
fixes a bug where gcadapter would fuck up netplay
2016-01-27 01:43:38 +01:00
mathieui
24cb6487d4 [netplay] Fix a regression
Introduced in 6e13496d8, pads would get assigned to their netplay
position, which breaks assumptions. With this behavior, the SI devices
should be mapped properly.
2016-01-27 01:43:31 +01:00
mathieui
8ce9191948 NetPlayServer: Make SendAsyncToClients use an unique_ptr 2016-01-27 01:34:03 +01:00
mathieui
34ae512d91 NetPlayServer: Make pad data unpacking nicer to read 2016-01-27 01:34:03 +01:00
mathieui
1c808a2835 NetPlayServer: Possible out-of-bounds access on invalid input
if a pad or wiimote number was outside bounds (e.g. 42353543232),
it would still have been read from the array, which could lead to
inappropriate consequences, like a segfault.
2016-01-27 01:33:50 +01:00
mathieui
8e1be37feb NetPlayServer: in-class initialization 2016-01-27 01:20:44 +01:00
degasus
159d83c5a9 FifoPlayer: Use more enums. 2016-01-26 19:19:21 +01:00
Mathew Maidment
48e7e5b72e Merge pull request #3567 from lioncash/netplay
NetPlayClient: Minor changes
2016-01-25 05:13:54 -05:00
Mathew Maidment
ee0fbdf087 Merge pull request #3558 from lioncash/dvd-global
DVDInterface: Reduce a global variable to translation unit scope
2016-01-25 05:13:08 -05:00
Lioncash
c434b5b3a9 NetPlayClient: Use std::array instead of C arrays for buffers 2016-01-25 04:57:21 -05:00
Lioncash
7304c863a6 NetPlayClient: Deduplicate code for player list retrieval 2016-01-25 04:57:20 -05:00
Lioncash
e6ad76fa70 NetPlayClient: Extract control mapping checking to its own function 2016-01-25 04:57:19 -05:00
Lioncash
8588c8fd31 NetPlayClient: Make SendAsync take a unique_ptr as a parameter 2016-01-25 04:57:18 -05:00
Lioncash
c2deb337aa NetPlayClient: In-class initialize variables where possible 2016-01-25 04:57:17 -05:00
Lioncash
1d8ff504a5 NetPlayClient: Make m_state private
Also turns it into an enum class.
2016-01-25 04:57:16 -05:00
Lioncash
102672a797 NetPlayClient: Make is_connected private
This is only queried, there's no need to expose it for writing.
Even if it was written to, a data member shouldn't be part of
your public API unless its part of a dumb object or trivial struct.
2016-01-25 04:57:04 -05:00
Lioncash
d9f87b8030 NetPlayClient: Remove unnecessary includes
Replace with needed ones
2016-01-24 21:46:49 -05:00
Lioncash
90f2f48ef6 DVDInterface: Use correct prefix for static local variables 2016-01-24 17:24:33 -05:00
degasus
4295751662 Fifo: More comments for SyncGPU functions. 2016-01-24 11:06:01 +01:00
degasus
cf4478dc92 Fifo: Fix SyncGPU.
CBoot::BootUp() did call CoreTiming::Advance which itself blocks on the GPU,
but the GPU thread wasn't started already. This commit moves the SyncGPU
initialization into the Fifo.cpp file and call it after BootUp().
2016-01-24 11:06:01 +01:00
Lioncash
a2dc22f016 DVDInterface: Make a global a local variable 2016-01-23 18:40:55 -05:00
mathieui
5e709f3d72 [netplay] Use the local type of each SI device
Instead of using SI_GCcontroller which would make it not work with gc
adapters, bongos, and other stuff.

Trying to fix issue #9263
2016-01-23 17:29:07 +01:00
Ryan Houdek
ae4c7661d6 Merge pull request #3212 from mickdermack/pr-recalc-flags
JIT x64: Recalculate flags after add/sub
2016-01-22 12:45:52 -05:00
Lioncash
fdf6fb47e0 VideoInterface: specify internal linkage on local variable 2016-01-21 19:25:21 -05:00
Ryan Houdek
7c3e4b34f3 Merge pull request #3541 from Sonicadvance1/fix_netplay_option_sending
Stops netplay clients from failing to send settings on game start
2016-01-21 08:51:11 -05:00
Ryan Houdek
1a20772ccd Stops netplay clients from failing to send settings on game start
Clients have no need to send their configuration information on start and the server straight out ignores it.
Not to mention it shouldn't try sending a struct as a null terminated string.

Cleans up how the server sends the configuration slightly as well.
2016-01-21 07:20:21 -06:00
Lioncash
82147f42af VideoInterface: Correct namespace indentation 2016-01-21 00:40:01 -05:00
Lioncash
f45e1bff37 VideoInterface: Change a global into a translation-unit local variable 2016-01-21 00:39:24 -05:00
Pierre Bourdon
e455ca4d58 Merge pull request #3535 from RisingFog/cya_savestate_memleak
Properly clear JIT cache on save states
2016-01-20 18:02:25 +01:00
Chris Burgener
a7a744d33c Properly clear JIT cache on save states 2016-01-20 11:20:15 -05:00
Lioncash
42e9927bca VideoInterface: Fix code style/indentation 2016-01-19 20:16:18 -05:00
Pierre Bourdon
991d3f6f96 Merge pull request #3525 from lioncash/ptr
DSPEmulator: Make CreateDSPEmulator return a unique_ptr
2016-01-19 23:54:58 +01:00
Ryan Houdek
7b9eeba168 Merge pull request #3479 from Sonicadvance1/fix_hotkeys
Fix hotkeys not reporting inputs.
2016-01-19 02:15:25 -05:00
Ryan Houdek
f73961663e Fix a typo on the size passed in to the IPL descrambler.
Fixes issue #6081
2016-01-18 04:30:30 -06:00
Lioncash
2ff5923334 DSPEmulator: Make CreateDSPEmulator return a unique_ptr 2016-01-17 22:33:21 -05:00
Lioncash
d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Mathew Maidment
87464d432b Merge pull request #3501 from rohit-n/build-pch
Fix building with PCH disabled.
2016-01-13 21:07:51 -05:00
Lioncash
f2038b9e90 HW: Remove unnecessary header inclusions 2016-01-13 02:47:32 -05:00
Pierre Bourdon
8f8134f5f4 Merge pull request #3504 from degasus/master
VideoBackend: Cleanup API a bit.
2016-01-13 01:27:24 +01:00
degasus
5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
degasus
c3481a576b VideoBackend: Remove simple wrapper functions. 2016-01-12 23:28:26 +01:00
degasus
0c92603fd5 Merge VideoBackendHardware into VideoBackend.
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
Lioncash
f8fcceb99e Jit: Get rid of indirect includes 2016-01-12 00:12:36 -05:00
Rohit Nirmal
f9837d4447 Fix building with PCH disabled. 2016-01-11 13:20:47 -06:00
Pierre Bourdon
68094171f8 Merge pull request #3489 from lioncash/interp
Interpreter: Remove unnecessary includes from Interpreter.h
2016-01-11 12:43:25 +01:00
Pierre Bourdon
84c4f75aeb Merge pull request #3498 from lioncash/global
MemTools: Get rid of a global variable
2016-01-11 12:43:01 +01:00
Pierre Bourdon
7c6fe11348 Merge pull request #3499 from lioncash/hle
HLE: Move static variable out of header
2016-01-11 12:42:48 +01:00
Lioncash
984fc7fb39 ARM Jit: Use std::tie for SlowmemHandler comparison 2016-01-11 04:28:16 -05:00
Lioncash
846c904624 HLE: Move static variable out of header
It's only ever used in the implementation file.
2016-01-11 04:11:12 -05:00
Lioncash
b688a62143 MemTools: Get rid of a global variable 2016-01-11 03:24:03 -05:00
Lioncash
d9a16f7c9c Interpreter: Remove unnecessary includes from Interpreter.h
Previously the JIT code relied on indirect inclusion from this header,
this gets rid of that.
2016-01-10 18:51:12 -05:00
Lioncash
986108715d JitInterface: Get rid of a global variable 2016-01-09 14:57:50 -05:00
Ryan Houdek
54e4d90b6d Fix assert on reset button hit.
Fixes issue 9225.
2016-01-09 11:23:22 -06:00
Pierre Bourdon
5db10d83f7 Merge pull request #3477 from mmastrac/memorywatcher_crash
MemoryWatcher: Initialize m_running
2016-01-09 16:11:42 +01:00
Ryan Houdek
6862d7c7b2 Fix hotkeys not reporting inputs. 2016-01-08 23:25:36 -06:00
Pierre Bourdon
39971ec039 Merge pull request #3472 from phire/TVs_dont_have_pixels
Rework the aspect ratio calculation (Fixes 240p mode)
2016-01-09 04:27:16 +01:00
Scott Mansell
c49a82bf0a Rework aspect ratio calculations.
They are now based on signal timings rather than pixels, as it
didn't make a lot of sense to do things with pixels.

Now handles all 240i/240p/480i/480p modes without any special
casing.

Despite the diffrent equaions, this should result in the exact same aspect
ratio as the previous code.
2016-01-09 14:30:46 +13:00
Pierre Bourdon
bf1c53a6e8 Merge pull request #3451 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
Matt Mastracci
a60b24c937 MemoryWatcher: Initialize m_running to false to prevent crashes on OSX in the dtor when it picks up the wrong initial value 2016-01-08 12:20:35 -07:00
Scott Mansell
9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
Chris Burgener
c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
mathieui
40c7a2fb7d Use the current commit hash in the netplay version
So that it contains the current commit and not an arbitrary date that
may or may not be up-to-date. This will cause tears as people will not
be able to use netplay with one diverging commit that does not touch
anything related. On the other hand, users can’t be trusted.
2016-01-07 00:17:05 +01:00
Ryan Houdek
342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
booto
a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
Ryan Houdek
6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
Ryan Houdek
1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
degasus
3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Ryan Houdek
49410576e9 Make the Wii U Gamecube adapter work with less magic.
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy
as possible.
The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular
gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs
if something was connected.
While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really
know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in
the IRC channel in the last week).

This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in
to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration.
Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube
Pad device and only reimplements what it needs to.
This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input.

Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05 13:44:37 -06:00
Ryan Houdek
371e9f4fae Move SI_GCAdapter over to InputCommon 2016-01-05 13:44:37 -06:00
Ryan Houdek
14e6720f22 Fix warning in VideoInterface 2016-01-05 11:54:04 -06:00
Ryan Houdek
e8e0ad3e52 Merge pull request #3408 from Tilka/fcmp
JitArm64: fix fcmpo/fcmpu
2016-01-04 22:19:32 -05:00
Ryan Houdek
b00bb300e5 Merge pull request #3447 from degasus/arm
JITArm64: Single precision + FPRF
2016-01-04 22:09:44 -05:00
jake8
cc8aeec58c Added hotkey for toggling the crop setting 2016-01-04 10:10:49 -05:00
Ryan Houdek
a898aa1585 Merge pull request #3436 from endrift/fix-libusb
HW: Fix libusb support for older libusb APIs
2016-01-03 12:35:08 -05:00
Ganael Laplanche
fb3b1e4eb0 Add missing header for sprintf() 2016-01-03 01:30:39 -08:00
Jeffrey Pfau
d4e2c9fa98 HW: Fix libusb support for older libusb APIs 2016-01-03 00:53:31 -08:00
skidau
96d8ea5537 Merge pull request #3415 from rabbott99/movie-end-pause
Movie: Fix "Pause at End of Movie" for wii games
2016-01-02 09:08:06 +11:00
Rohit Nirmal
76333b388f Fix building with PCH disabled. 2016-01-01 10:26:15 -06:00
Ryan Houdek
f836e5937f Merge pull request #3422 from Sonicadvance1/Linux_bba_bridge
Support multiple bridge interfaces in Linux.
2016-01-01 04:23:06 -05:00
Ryan Houdek
454ebb7150 Merge pull request #3417 from aserna3/remove_salt_button
[Netplay] Disabled loading savestates
2016-01-01 04:02:43 -05:00
Ryan Houdek
4e22bab71d Support multiple bridge interfaces in Linux.
This allows you to run multiple instances of Dolphin that touch the BBA (Up to a 32 interface limit)
2016-01-01 02:51:31 -06:00
Scott Mansell
5cd4619a1d Merge pull request #3413 from spxtr/follow-pointers
Allow MemoryWatcher to follow pointers
2016-01-01 21:45:44 +13:00
Rohit Nirmal
a551e8adbb Fix building with PCH disabled. 2016-01-01 02:32:53 -06:00
Anthony Serna
42c38cbbd3 Blocked netplay users from desyncing by messing with savestates. 2015-12-31 18:50:45 -06:00
rabbott99
d2ef903d1a Movie: Fix "Pause at End of Movie" for wii games.
InputUpdate() is never called during wii playback, so the pause never
executed.
2015-12-30 23:11:40 -05:00
spxtr
525fc4fe8a Allow MemoryWatcher to follow pointers 2015-12-30 19:10:31 -08:00
booto
d9e921cc2c VI: set the JP bit of VI's DTV reg when needed
The "Force NTSC-J" option was broken by 480dbb22f2
 (i.e. field-timing). A side effect of this was that it exposed a bug
 where the JP region bit of VI's DTV reg was not automatically set for wads
 from the JP region.
2015-12-31 05:36:29 +08:00
Scott Mansell
afde6ae72c Merge pull request #3403 from spxtr/reporter
Add support for sending game memory changes to outside processes
2015-12-30 15:17:47 +13:00
spxtr
2f50560602 Add support for sending game memory changes to outside processes 2015-12-29 17:59:16 -08:00
Lioncash
4bc7c0c5a8 DSPCore: Prefix globals with g_ 2015-12-29 10:40:44 -05:00
Lioncash
78565fabbc DSPCore: Make the DSP emitter global a unique_ptr 2015-12-29 10:29:02 -05:00
skidau
c16c2d9356 Merge pull request #3393 from rabbott99/desync-fix
Movie: Reset wiimotes at at start of recording/playback to fix desync issues
2015-12-29 11:58:03 +11:00
rabbott99
9e54cf80c2 Movie: Reset wiimotes at at start of recording/playback,
to prevent desync issues which occur when the a game has been opened beforehand
2015-12-28 19:44:42 -05:00
skidau
5fefc1fd79 Merge pull request #3375 from mbc07/IPLfonts
Always load system fonts from IPL dump, if available
2015-12-29 11:21:03 +11:00
skidau
d3d0aa69ce Merge pull request #3397 from skidau/dsp-acc-loop-end
Catered for the case where ADPCM audio would loop before the end of the stream
2015-12-29 10:21:12 +11:00
Markus Wick
aabcd441d9 Merge pull request #3381 from Armada651/revert-3076
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
2015-12-28 10:18:32 +01:00
Scott Mansell
790a836736 FifoAnalyzer: Fix a few warnings that visual studio missed. 2015-12-28 20:20:30 +13:00
Scott Mansell
52d6a7505a Merge pull request #3239 from phire/cleanup-fifo-analyzers
Cleanup fifo analyzers (and fix major bugs with fifo recording)
2015-12-28 11:14:09 +13:00
skidau
5555822ca2 Catered for the case where ADPCM audio would loop before the end of the stream. Patch by hk.konpie. 2015-12-26 22:57:43 +11:00
Mateus B. Cassiano
7f1fe7a6cb Always load system fonts from IPL dump, if available 2015-12-24 15:57:54 -03:00
Scott Mansell
0216879d3e Revert "Config Hotfix: Prevent per-game settings (ie. GameINI) being stored to the global user configuration." 2015-12-24 18:25:22 +13:00
Rohit Nirmal
4163ab6a0e Fix building with PCH disabled. 2015-12-23 09:54:33 -06:00
Jules Blok
8bda12bcfd Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
This reverts commit 81414b4fa2, reversing
changes made to b926061f64.

Conflicts:
	Source/Core/DolphinWX/Frame.cpp
	Source/Core/VideoCommon/VideoConfig.cpp
	Source/Core/VideoCommon/VideoConfig.h
2015-12-23 00:35:19 +01:00
Mathew Maidment
1b69743ba1 Merge pull request #3362 from lioncash/memory
NANDContentLoader/WiiWAD: Get rid of raw delete and new
2015-12-22 06:39:12 -05:00
Scott Mansell
ce6de78854 Merge pull request #3250 from JosJuice/loadgameini-condition
BootManager: Remove unnecessary LoadGameIni condition
2015-12-22 13:24:09 +13:00
JosJuice
1b946c2ff3 BootManager: Remove unnecessary LoadGameIni condition 2015-12-22 00:54:54 +01:00
Scott Mansell
a691e1fb6d Merge pull request #2621 from AdmiralCurtiss/config-cache-methods
BootManager: Slightly clean up the config_cache.
2015-12-22 12:52:16 +13:00
Admiral H. Curtiss
4d2e9abba7 BootManager: Slightly clean up the config_cache stuff by pulling the save and restore into their own methods. 2015-12-22 00:30:25 +01:00
Admiral H. Curtiss
3149140052 Config: Hotfix to prevent per-game settings from ie. GameINIs being stored to the global user configuration. 2015-12-22 00:16:29 +01:00
Rohit Nirmal
aaa89d4f73 Silence -Wshadow and -Wmaybe-uninitialized warnings. 2015-12-21 10:06:07 -06:00
Lioncash
cbeb7034eb Volume: Make GetTMD return a vector 2015-12-19 18:00:44 -05:00
Lioncash
c78c54c546 NANDContentLoader/WiiWAD: Get rid of raw delete and new 2015-12-19 17:37:09 -05:00
degasus
94ae134bf4 Real Wiimote: Don't delay speaker data. 2015-12-17 23:48:43 +01:00
Tillmann Karras
659b42b614 JitArm64: simplify fcmpX 2015-12-16 21:17:36 +01:00
Tillmann Karras
94f0e2493c JitArm64: fall back if FPSCR is used 2015-12-16 21:17:36 +01:00
Tillmann Karras
84b1e22246 PowerPC: rename fcmpx to fcmpX
lowercase: optional Rc bit
uppercase: generic placeholder
2015-12-16 21:17:36 +01:00
Tillmann Karras
d3dfdf7767 Interpreter: don't always set FPSCR.FX on NaNs
FPSCR.FX must only be set if an exception bit changes from 0 to 1.
SetFPException() already handles this correctly.
2015-12-16 21:17:36 +01:00
Markus Wick
25a584626f Merge pull request #3127 from JosJuice/read-return
DiscIO: Improve error handling for reading integers
2015-12-15 18:16:40 +01:00
Markus Wick
e4b83d17bf Merge pull request #3270 from JosJuice/more-translations
Mark more strings for translation
2015-12-15 18:13:26 +01:00
Markus Wick
3e2ac3df43 Merge pull request #3292 from JosJuice/state-str
State: Don't use memcpy and memcmp with strings
2015-12-15 17:42:35 +01:00
Markus Wick
67557e1f91 Merge pull request #3330 from lioncash/alloc
EXI/SI: Get rid of explicit delete and new
2015-12-15 17:38:52 +01:00
JosJuice
c7e747d775 DiscIO: Improve IVolume::Read32 error handling
Callers can now check whether reads fail, either by checking the return
value or by setting the buffer to a known bad value and seeing if it stays
untouched. I've added error checks to FileSystemGCWii and Boot_BS2Emu,
but not to Boot since it doesn't check any of its other reads either.
2015-12-14 09:38:21 +01:00
Pierre Bourdon
2e5c94865b ZeldaHLE: Add support for New Play Control! Pikmin 1 2015-12-14 05:44:08 +01:00
booto
3899667c25 VI: wait until start of ACV to sample xfb addr 2015-12-14 10:44:54 +08:00
Christian Widmer
5818d72af4 Core: Fix build with portaudio enabled and pch disabled
Includes cstring in EXI_DeviceMic.cpp to fix the undeclared function
errors for memset and memcpy when building with portaudio enabled and
pch disabled. Also adds the std:: prefix to those function calls
because there is no guarantee that they are put in the global namespace
when using cstring.

Thanks to David Brooke for noticing this!
2015-12-13 19:44:54 +01:00
Lioncash
cc75f2ea14 SI: Get rid of explicit delete and new 2015-12-12 14:41:45 -05:00
Lioncash
272054ec94 EXI_Device: Get rid of explicit delete and new 2015-12-12 14:39:40 -05:00
degasus
814a7da102 ConfigManager: Add get/set for missing ini options. 2015-12-12 09:52:57 +01:00
degasus
b806792d6c JitArm64: Fallback on FPRF usage. 2015-12-12 01:56:50 +01:00
degasus
cfe65e0e91 JitArm64: Fix single precision 2015-12-12 01:56:50 +01:00
Ryan Houdek
cb5be45f72 Merge pull request #3200 from degasus/master
Throttler + Mixer: Configureable variance
2015-12-11 07:04:56 -05:00
Pierre Bourdon
8acf8cf4d0 Merge pull request #3245 from jloehr/RealWiimote-Windows-Fix
[RFC]Real Wiimote Windows "-TR" Fix
2015-12-11 04:01:38 +01:00
Lioncash
392c1335b7 Interpreter: Get rid of some aliasing casts 2015-12-09 19:14:53 -05:00
Lioncash
f7977fdee5 Jit: Fall back to interpreter when frsp's record bit is set 2015-12-09 14:11:45 -05:00
Lioncash
3acf165787 Interpreter: Update CR when FRSP's record bit is set 2015-12-09 12:51:53 -05:00
Lioncash
a98bddc352 Interpreter: Remove underscore from frsp's parameter 2015-12-09 12:50:50 -05:00
Markus Wick
3e3e6073f7 Merge pull request #3316 from sepalani/fix_poll
WSAPoll: Fixed - invalid argument was supplied
2015-12-08 09:01:52 +01:00
Markus Wick
9719804cd2 Merge pull request #3320 from lioncash/factory
DiscIO: Make factory methods return unique_ptrs
2015-12-07 19:12:15 +01:00
Lioncash
edbbf493f8 DiscIO: Make factory methods return unique_ptrs
Rather than rely on the developer to do the right thing,
just make the default behavior safely deallocate resources.

If shared semantics are ever needed in the future, the
constructor that takes a unique_ptr for shared_ptr can
be used.
2015-12-07 05:57:37 -05:00
Lioncash
e7b98e27ab EXI: Use std::array and std::unique_ptr for managing channels 2015-12-06 14:51:55 -05:00
Julian Löhr
e076098a95 Fix "-TR" Wiimotes on Windows 8/8.1/10, by using WriteFile for sending
"-TR" Wiimotes don't accept output reports via the Control Channel. HidP_SetOutputReports will send the data via the Control Channel, whereas WriteFile will send it via the Interrupt Channel. Therefore using WriteFile enables "-TR" Wiimotes on Windows. There are some issues to be aware of. First the Toshiba Bluetooth Stack needs the output report buffer to have the size of the largest output report supported by the device. This requirement is also enforced by the Windows 7 default stack. However the Toshiba Stack, will only send the actual report bytes to the device, whereas on Windows 7 the full resized buffer is sent, resulting in an error on the Wiimote. This issue renders WriteFile unusable on Windows 7 with the  default stack. On Windows 8/8.1/10 this requirement is somehow not implemented and it is possible to send smaller buffers via WriteFile to the device, enabling "-TR" Wiimotes.
2015-12-06 20:17:58 +01:00
Julian Löhr
03fc048006 Add Methods to check for Toshiba Stack
Check is done by checking the driver provider property of the HID Class Driver. As the Toshiba Bluetooth Stack provides its own.
The initial enumerated device node is a empty hid interface node. Therefore first one node is moved up and then the provider property check is done.
2015-12-06 18:19:05 +01:00
Julian Löhr
2b39219367 Remove explicit Wait on Overlap Event
GetOverlappedResult also waits on the event internally (See https://msdn.microsoft.com/en-us/library/windows/desktop/ms683209(v=vs.85).aspx). So instead of explicitly waiting for it before, use its wait. To distinguish between cancel and complete, the status of the request is used, which is saved in the "Internal" member (See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684342(v=vs.85).aspx).
2015-12-06 18:16:08 +01:00
Lioncash
f6c247d10e WII_IPC_HLE_Device_usb: const correctness for function parameters
The data passed in isn't modified in these functions

Also normalizes variables with prefixed underscores in the modified
functions (and normalizes outliers to our current coding style), as
single-underscore followed by any lowercased/uppercased character is
reserved for use in the global namespace (it's a common misconception this
is assumed to only be the case for underscores followed by a capital
character, but this is only the case in C, not C++).
2015-12-05 16:14:37 -05:00
Sepalani
e1e6d2ba2c WSAPoll: Fixed - invalid argument was supplied 2015-12-05 19:39:17 +01:00
Markus Wick
297f6a097d Merge pull request #3307 from Pringo/update-url
Update Issue Tracker URL in Comment
2015-12-03 17:27:43 +01:00
degasus
f3b6afe1c5 ConfigManager: initialize m_revision
FifoPlayer don't set it, and don't need it. But it's used...
2015-12-02 21:37:12 +01:00
Pringo
aaa67ca57e Update Issue Tracker Link in Comment 2015-12-02 09:01:28 -08:00
JosJuice
f41990af38 Remove incorrect usage of _trans
It only marks a string for translation. It doesn't actually do anything
at runtime, so the message will always be displayed in English. Even if
we would've had a way to make the translation work, we shouldn't
translate this, because OSD doesn't support non-ASCII characters.

Caused by the recent merge 1c95cd5.
2015-12-02 17:13:04 +01:00
Markus Wick
abbc25f662 Merge pull request #2788 from TurboK234/3d_hotkeys
Added hotkeys for toggling different stereoscopy modes
2015-12-02 15:24:59 +01:00
Markus Wick
1c95cd5ad5 Merge pull request #2745 from AdmiralCurtiss/wiimote-disconnect-message
Display a message on screen when the emulated software disconnects a Wiimote.
2015-12-02 15:13:29 +01:00
Markus Wick
a3433e162a Merge pull request #3149 from ShadowsFriend/fname_column
DolphinWX: Add a filename column
2015-12-02 15:04:36 +01:00
Markus Wick
ec6a48ff76 Merge pull request #2876 from CastellaFactory/master
[Netplay] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-12-02 14:20:47 +01:00
Markus Wick
b0dbb6ef46 Merge pull request #3067 from JosJuice/cheat-manager-regression
Fix Cheat Manager not saving created codes
2015-12-02 14:08:32 +01:00
Pringo
d8d6c0122e Update Error Log to Remove Old Issue Tracker URL 2015-12-01 19:57:10 -08:00