Commit graph

20847 commits

Author SHA1 Message Date
Léo Lam
66c2ce6c74 DolphinWX: Center the links in the About dialog
This makes the links explicitly vertically centered in the DolphinWX
About dialog. It is not needed on Windows, because the links have the
same height as text (and look just like text links). However, this is
required on other platforms or the links would look misaligned.
2016-07-17 22:48:26 +02:00
Anthony J. Bentley
1368e27291 Convert manuals to use mdoc macros. 2016-07-17 06:48:43 -06:00
Anthony J. Bentley
f4cc52813c Add required POSIX includes and fairly portable Unix include.
POSIX specifies that inet_ntoa() is declared in arpa/inet.h, and that
POLLRDNORM, etc. are defined in poll.h.

gethostbyname() is not specified by POSIX, but the manpages in OpenBSD,
FreeBSD, OS X, and glibc all state that it is declared in netdb.h.

Without these headers, the build fails on OpenBSD and possibly other
systems.
2016-07-17 04:41:15 -06:00
Anthony J. Bentley
5bab6210ef Use the standard stat()/fstat() interfaces, not nonstandard *64().
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-07-17 04:30:00 -06:00
Anthony J. Bentley
de6babb928 Add an OpenBSD driver identifier. 2016-07-17 04:13:06 -06:00
Anthony J. Bentley
64fb96e493 OpenBSD uses pthread_set_name_np() to set the name of a thread. 2016-07-17 04:09:46 -06:00
Anthony J. Bentley
5c90738638 OpenBSD doesn't support per-thread locales. 2016-07-17 04:08:44 -06:00
Anthony J. Bentley
242c770fe5 OpenBSD has a custom sysctl for physical memory. 2016-07-17 04:06:38 -06:00
Pierre Bourdon
92594e08d4 Merge pull request #4016 from mimimi085181/sync-wiimote-netplay
Netplay: Fix synchronization for the Wiinote netplay
2016-07-17 02:19:43 +02:00
Aestek
9c5b546e2e Add Wii sdcard to CommonPaths 2016-07-16 22:48:46 +02:00
Aestek
51c77e8eea Add md5 testing to netplay
Allows to test current game, an arbitrary game or the sdcard of all players
at once.
2016-07-16 22:48:46 +02:00
mimimi085181
8b7bfe6cf9 Netplay: Fix synchronization for the Wiinote netplay
The old implementation always polled the local 1st Wiimote and used that as input for the Wiimote that is mapped to the player. But the reporting mode for Wiimotes can be different, even when using the same extensions. So an input for Wiimote 1 with a data size 4 could be used for Wiimote 2, which actually requires data size 7 at that time for example.

The 2nd problem was that the code added a dummy input into the buffer, when the reporting mode changed. But when the data from the other player hasn't arrived yet, the data in the buffer is out of order. Well, i think this is the problem, i'm not 100% sure, because i don't fully understand how the buffer works. But on the other hand, i'm pretty sure this will just force sync the players on reporting mode changes, instead of allowing them to be apart.

Pros:
- No more desyncs caused by big bugs in the code.
- Can use different extensions for different players.

Cons:
- Higher latency, because instead of polling 1 controller per player at once, all controllers are polled in order, send to the other players, before the next is processed.
- Have to setup the Wiimote, which the player is going to use, instead of the 1st one.

Now, if the controller config could temporarily be overridden with the one from another slot, the 2nd problem could be fixed. But at the same time, we would lose the ability to use different extensions. (unless we hack around it somehow, or properly send the used extension to the other players)
2016-07-16 13:00:54 +02:00
Pierre Bourdon
bb87bb73f4 Merge pull request #4004 from degasus/dynamic-bat
JitCache: Support for VMEM + MSR bits
2016-07-16 12:26:54 +02:00
degasus
f9e5660106 JitCache: Implement block unlinking. 2016-07-16 09:24:10 +02:00
magumagu
0de9d94de3 Add ISI logging to interpreter. 2016-07-16 09:24:09 +02:00
magumagu
0f788e0c3d Add support for DSI exceptions to CachedInterpreter.
Should be straightforward.  Maybe useful for the purpose of testing.
2016-07-16 09:24:09 +02:00
magumagu
b81d008f92 JIT: fix handling of PC in dispatcher/block cache.
Specifically, don't make any assumptions about what effective addresses
are used for code, and correctly handle changes to MSR.DR/MSR.IR.

(Split off from dynamic-bat.)
2016-07-16 09:24:05 +02:00
Pierre Bourdon
30de1ec7ea Merge pull request #4014 from EmptyChaos/dqt2-warning-hidpi
DQt2: Warning window HiDPI fix.
2016-07-16 03:10:04 +02:00
EmptyChaos
8f7f9cbb9c DQt2: Warning window HiDPI fix.
QSizePolicy::Expanding includes ShrinkFlag which is bad.
QSizePolicy::MinimumExpanding prevents the truncation.
2016-07-16 10:51:02 +10:00
Pierre Bourdon
7b98250a57 Merge pull request #4012 from Pringo/change-message
Clarify Boot from DVD Message
2016-07-15 22:37:28 +02:00
Pringo
8d6f23fa9c Clarify Boot from DVD Message 2016-07-15 13:11:13 -07:00
Mat M
fac7d09091 Merge pull request #3737 from EmptyChaos/update-wx
Externals: Update wxWidgets to 3.1.0
2016-07-15 09:48:14 -04:00
Pierre Bourdon
7ca32f4b97 Merge pull request #4011 from lioncash/array-exi
EXI_Channel: Use std::array
2016-07-15 10:30:30 +02:00
Lioncash
5b2ddbc4b2 EXI_Channel: Change m_pDevices to m_devices
Basic name change to get rid of (incorrect) Hungarian notation
2016-07-15 01:43:06 -04:00
Lioncash
642284fec4 EXI_Channel: Use std::array 2016-07-15 01:22:28 -04:00
Pierre Bourdon
a9d8a7decd Merge pull request #4009 from leoetlino/common-id-assign
ControllerInterface: Make the ID assigning code common
2016-07-14 23:13:30 +02:00
Matthew Parlane
a97a546bd6 Merge pull request #3594 from lioncash/threads-a-joke-about
Core: Use the thread_local keyword
2016-07-15 08:50:54 +12:00
Léo Lam
788e19f54d ControllerInterface: Make the ID assigning code common
This makes the device ID assigning code common to all backends, by
moving it to AddDevice() instead of copy-pasting or replicating
the logic in the backends.

Also, to prepare for hotplugging, instead of relying on a name usage
count, the new ID assigning system always starts from ID 0 and tries
to assign the first ID that is not used.
2016-07-14 10:50:53 +02:00
Matthew Parlane
b101f8fe7e Merge pull request #4008 from Pringo/master
Finish Menu Capitalization Fixes
2016-07-14 16:23:12 +12:00
Pringo
94353978ae Finish Menu Capitalization Fixes 2016-07-13 21:05:59 -07:00
Matthew Parlane
ca8484cb72 Merge pull request #3936 from Pringo/fix-menu-capitalization
Fix Menu Capitalization
2016-07-14 14:19:34 +12:00
Pierre Bourdon
667e18a8a3 Merge pull request #3958 from jloehr/Fix-SCMRevGen-MSBuild(x64)
Fix SCMRevGen for 64-bit MSBuild
2016-07-13 19:51:24 +02:00
Pierre Bourdon
014037ebb7 Merge pull request #3983 from JosJuice/discio-enums
Move DiscIO enums to a new file
2016-07-13 19:51:01 +02:00
JosJuice
0a15aaaa12 Move DiscIO enums to a new file
At first there weren't many enums in Volume.h, but the number has been
growing, and I'm planning to add one more for regions. To not make
Volume.h too large, and to avoid needing to include Volume.h in code
that doesn't use volume objects, I'm moving the enums to a new file.
I'm also turning them into enum classes while I'm at it.
2016-07-13 17:29:27 +02:00
Julian Löhr
6f65293131 Fix SCMRevGen for 64-bit MSBuild
CScript must be run as 64-bit regardless of the MSBuild bitness. Otherwise it won't find 64-bit Git installations.
However the "Sysnative" redirector is not available for 64-bit processes. So a fix is needed when 64-bit MSBuild is run.
The "ProgramFiles(x86)" Macro is only set for 64-bit, otherwise it is empty. Therefore it can be used as condition to check whether the current MSBuild process is 32 or 64-bit.
2016-07-13 17:28:55 +02:00
Pierre Bourdon
89a03174cc Merge pull request #4001 from leoetlino/split-controller-setting
ControllerEmu: Split the Setting class
2016-07-13 13:59:59 +02:00
Léo Lam
213373f5f9 StringUtil: Make TryParse parse floats as booleans
This is needed to keep compatibility with old configuration files which
didn't store booleans as booleans, but as floats/doubles.
2016-07-13 13:50:48 +02:00
Matthew Parlane
baf9abe911 Merge pull request #3980 from JosJuice/changedisc-threading-simplification
DVDInterface: Simplify calling ChangeDisc from CPU thread
2016-07-13 22:48:47 +12:00
Pierre Bourdon
f4d2626d2b Merge pull request #4005 from EmptyChaos/blockcache-bug
SectorReader: Minor cache bias bug
2016-07-13 12:11:19 +02:00
Matthew Parlane
3f9a98ddf2 Merge pull request #3979 from JosJuice/use-g_want_determinism
Use g_want_determinism more
2016-07-13 18:56:23 +12:00
Matthew Parlane
ebf10d38dd Merge pull request #3978 from JosJuice/frameskipping-determinism
Movie: Fix FrameSkipping determinism condition
2016-07-13 18:54:51 +12:00
Matthew Parlane
4d2df0a8ce Merge pull request #3989 from JosJuice/insert-sd-thread
Don't ScheduleEvent from wrong thread when inserting SD card
2016-07-13 18:44:50 +12:00
Scott Mansell
cb63bacd65 Merge pull request #4006 from EmptyChaos/dqt2-warning
DolphinQt2: Startup Warning
2016-07-13 18:27:01 +12:00
EmptyChaos
0efb19e66a DolphinQt2: Experimental GUI Warning Prompt.
Add a GUI prompt to tell users not to use DolphinQt by accident.
2016-07-13 15:52:45 +10:00
EmptyChaos
3e4cea7f6f DolphinQt2: Fix MSBuild for Visual Studio.
Null VideoBackend is not being linked correctly.
2016-07-13 11:12:20 +10:00
Pierre Bourdon
e1a76b4a38 Merge pull request #4003 from rohit-n/build-pch
Fix building with PCH disabled.
2016-07-12 20:19:48 +02:00
Rohit Nirmal
bb52aad546 Fix building with PCH disabled. 2016-07-12 12:43:03 -05:00
Pierre Bourdon
12d650be99 Merge pull request #4002 from leoetlino/wiimote-windows
WiimoteReal: Call Update() less often
2016-07-12 17:57:32 +02:00
Léo Lam
47859ad40c WiimoteReal: Call Update() less often
This moves back the WiimoteScanner:Update() call to where it originally
was, since according to a comment it is intended to be called only when
"when not looking for more Wiimotes", and calling it too often causes
the Bluetooth module to be loaded/unloaded a lot of times.
2016-07-12 16:50:41 +02:00
Léo Lam
5e829f4527 ControllerEmu: Split the Setting class
The Setting class was used for both numeric values and booleans, and
other parts of the code had hacks to make it work with booleans.

By splitting Setting into NumericSetting and BooleanSetting, it is
clear which settings are numeric, and which are boolean, so there is
no need to guess by checking the default values or anything like that.
Also, booleans are stored as booleans in config files, instead of 1.0.
2016-07-12 11:42:18 +02:00