Commit Graph

18106 Commits

Author SHA1 Message Date
JosJuice
47c8bb26f8 Remove Immediate variants of ScheduleEvent
Usage of these are replaced with regular equivalents in order
to avoid executing event handlers in the middle of JIT blocks.
2016-08-10 16:34:06 +02:00
Léo Lam
dca22e08eb Use Common::Flag and Common::Event when possible
Replaces old and simple usages of std::atomic<bool> with Common::Flag
(which was introduced after the initial usage), so it's clear that
the variable is a flag and because Common::Flag is well tested.

This also replaces the ready logic in WiimoteReal with Common::Event
since it was basically just unnecessarily reimplementing Common::Event.
2016-08-10 16:08:15 +02:00
Stenzek
bce8097712 D3D11: Support texture dumping of non-zero mipmap levels 2016-08-10 23:45:25 +10:00
Markus Wick
cb2b110d42 Merge pull request #4097 from lioncash/sysconf
SysConf: Minor simplifications to initial generating
2016-08-10 14:41:35 +02:00
Markus Wick
b075d18d2e Merge pull request #4096 from lioncash/codeblock-init
CodeBlock: In-class initialize variables
2016-08-10 14:39:51 +02:00
degasus
82bdc4ef86 PixelEngine: Delay token updates by events.
To still get a speedup, mark if already an event is queued.
If so, don't raise a new event.
2016-08-10 13:24:57 +02:00
degasus
a051db9792 PixelEngine: Cleanup PE Token.
This also affects the behavior a bit, it should now fit better to the one of the commonly more used PE Finish flag.
2016-08-10 10:07:53 +02:00
degasus
367e1b4d4c PixelEngine: Drop write-only variables. 2016-08-10 10:07:53 +02:00
Chris Burgener
84731456fa Add Gamecube Language to DTM Header 2016-08-09 23:02:31 -04:00
Markus Wick
7e3c04f069 Merge pull request #4076 from RisingFog/fix_sram_rtc_offset
Fix improper SRAM RTC offset
2016-08-08 23:10:33 +02:00
degasus
447b23e09a JitArm64: Load memory base based on MSR.DR. 2016-08-08 20:19:57 +02:00
degasus
77cfd0d4fd JitArm64: Fix rfi 2016-08-08 20:19:57 +02:00
Calvin Cochran
ba45a5999f clean up bounds checking for SIDEVICE_ENUM 2016-08-08 12:33:08 -05:00
Lioncash
fbc0aaf796 MemoryUtil: Remove unimplemented/unused functions
GuardMemoryMake/GuardMemoryUnmake are unimplemented prototypes.
GetPageSize is an unused function.
2016-08-07 13:04:05 -04:00
Lioncash
e01c143379 Common: namespace MemoryUtil 2016-08-07 13:03:07 -04:00
Rohit Nirmal
cbec38e775 Fix building with PCH disabled. 2016-08-07 01:18:59 -05:00
Lioncash
08bc19bf51 SysConf: Use range-based for loops in sysconf generation
Same thing, nicer looking
2016-08-06 16:22:42 -04:00
Lioncash
58b871e05c SysConf: Simplify entry generation
Just use a vector and move it instead of manually pushing them one-by-one.
2016-08-06 16:10:48 -04:00
Lioncash
18210a65ce CodeBlock: In-class initialize variables 2016-08-06 13:20:38 -04:00
degasus
85affe995e JitCache: Do not use block 0.
This ID is reserved for invalid blocks. So this block can't be invalidated.
2016-08-06 14:16:13 +02:00
degasus
814f29b25b JitCache: Implement block unlinking. 2016-08-06 11:41:39 +02:00
magumagu
ba39a0b3b4 Add ISI logging to interpreter. 2016-08-06 11:41:39 +02:00
magumagu
ca511640a5 Add support for DSI exceptions to CachedInterpreter.
Should be straightforward.  Maybe useful for the purpose of testing.
2016-08-06 11:41:39 +02:00
magumagu
758e6406cd 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-08-06 11:41:39 +02:00
Mat M
fa5a2474f4 Merge pull request #4088 from RisingFog/remove_globals_movie
Remove Global Declarations from Movie
2016-08-05 10:42:58 -04:00
Dan Beste
25c77babeb Remove curl version check / include curl.h
This should help prevent breakage when the curl.h header is changed.

As far as I can tell this only increases the compile time by a hair, but prevents needing to create a PR every time curl.h gets updated. Alternatively I'm experimenting with CURL_STRICTER defined per a conversion with booto:

>booto | krakn: try having CURL_STRICTER defined for the build?

Credit goes to: flacs for the suggestion to include curl.h

Fix include
2016-08-04 22:39:45 -05:00
Lioncash
e2f1b85cf4 NetWindow: Add missing override specifier 2016-08-04 16:19:01 -04:00
Chris Burgener
222c4ba077 Remove Global Declarations from Movie 2016-08-04 15:24:44 -04:00
Chris Burgener
2bdc3ee777 Remove Global Declarations from Frame 2016-08-04 15:05:31 -04:00
Lioncash
8b84ac2f6b NetPlayClient: Remove another duplicate inclusion
I'm blind apparently, btw
2016-08-04 10:55:39 -04:00
Lioncash
ca7816acae NetPlayClient: Remove duplicate header inclusion 2016-08-04 10:50:33 -04:00
JDV
7e535b2855 Make Dolphin remember the NetPlay window size/position
The default size might be too big for some screens. This allows
the user to modify the window as they see fit and has Dolphin
remember those settings. People who are happy with the default
size and position will not be affected
2016-08-03 16:10:20 -06:00
Léo Lam
cbb77532c6 Tools: Fix lint by removing unneeded awk
git diff --name-only already took care of only returning the name, so
the awk is unneeded and makes it return only empty file names.

Facepalm, I know. Sorry for this oversight.

(Also fixes something that lint didn't catch because of this)
2016-08-02 22:00:41 +02:00
Lioncash
041f4f5eea GCAdapter: Return input state by value 2016-08-01 21:27:51 -04:00
Lioncash
2be2b2a4f1 GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
Lioncash
ee43820282 GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
Chris Burgener
28039b3d8b Fix improper SRAM RTC offset 2016-08-01 19:41:33 -04:00
Lioncash
8b5e94a102 FifoPlayer: const correctness 2016-08-01 18:33:46 -04:00
Lioncash
128d762aea AudioCommon: const correctness 2016-07-31 19:14:20 -04:00
Pierre Bourdon
d078c6cb35 Merge pull request #4073 from amaiorano/fix-d3d-debugobjectname
Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rat…
2016-08-01 00:38:02 +02:00
Pierre Bourdon
007df77fba Merge pull request #4074 from lioncash/soundstream
AudioCommon: Make the SoundStream global a unique_ptr
2016-08-01 00:37:48 +02:00
Pierre Bourdon
2c0364d95c Merge pull request #4058 from Aestek/fix/netplay-gui-freeze
NetPlay: Fix GUI freeze
2016-08-01 00:36:49 +02:00
Pierre Bourdon
04bf2d612c Merge pull request #4066 from Martchus/master
Fix typedef for CURL
2016-08-01 00:35:42 +02:00
Lioncash
ecc1710676 AudioCommon: Make the SoundStream global a unique_ptr 2016-07-31 15:45:28 -04:00
Pierre Bourdon
18a669abcc Merge pull request #4067 from leoetlino/no-device
InputConfigDiag: Don't prevent closing dialog if device not found
2016-07-31 17:25:40 +02:00
amaiorano
2030a5e1b8 Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rather than the depth_read_texture (probably a copy paste error) 2016-07-31 10:48:09 -04:00
Pierre Bourdon
bfa42a3f15 Merge pull request #4071 from lioncash/constant
DSP: Make DSP_CONTROL_MASK a concrete constant
2016-07-31 16:43:41 +02:00
Markus Wick
a6834dc2cc Merge pull request #4070 from lioncash/const
SI_DeviceGBA: const correctness
2016-07-31 11:14:46 +02:00
Markus Wick
ad1c5a8e2e Merge pull request #4054 from leoetlino/wiimote-scanner
WiimoteReal: Change the scanner to support several backends
2016-07-31 10:39:13 +02:00
Markus Wick
e281273cd7 Merge pull request #4047 from lioncash/enum-fwd
VideoCommon: Make API_TYPE an enum class
2016-07-31 10:38:42 +02:00
Lioncash
9e6bb68a64 DSP: Make DSP_CONTROL_MASK a concrete constant 2016-07-30 18:55:45 -04:00
Lioncash
462ba0c742 SI_DeviceGBA: const correctness 2016-07-30 13:30:20 -04:00
Pierre Bourdon
a3438f916b Merge pull request #4065 from clinchergt/ignore-comments-geckocodes
Make it so comments don't take up gecko space
2016-07-30 18:51:53 +02:00
sigmabeta
8724df3b70 Fix crash caused by trying to reference touch-screen config UI on devices without touchscreen 2016-07-30 09:33:35 -04:00
Léo Lam
77fab5940c InputConfigDiag: Don't prevent closing dialog if device not found
There is no reason to prevent the user from closing the config dialog
if the device is not found. It's not very good UX…

Also fixes ExpressionParser to return NO_DEVICE if the device doesn't
exist instead of SUCCESS.
2016-07-30 10:00:55 +02:00
Lioncash
14e0b48ae4 VideoCommon: Make API_TYPE an enum class
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
Martchus
0157b72bbc Fix typedef for CURL 2016-07-29 19:34:34 +02:00
JDV
fcf4589aa3 Make it so comments don't take up gecko space
Unlike notes, we want comments to be completely ignored
2016-07-29 11:20:35 -06:00
Pierre Bourdon
e0cbb9d1ae Merge pull request #3890 from leoetlino/evdev-hotplug
evdev: Add hotplug support
2016-07-29 17:43:49 +02:00
Léo Lam
135641404a evdev: Add hotplugging support
This adds hotplugging support to the evdev input backend. We use
libudev to monitor changes to input devices in a separate thread.
Removed devices are removed from the devices list, and new devices
are added to the list.

The effect is that controllers are usable immediately after plugging
them without having to manually refresh devices (if they were
configured to be used, of course).
2016-07-29 17:18:40 +02:00
Léo Lam
3926db624d ControllerInterface: Don't block on UpdateInput()
Changes UpdateInput() to skip if we can't lock the mutex, instead of
potentially blocking the CPU thread and causing a short but noticeable
frame drop.
2016-07-29 17:18:40 +02:00
Léo Lam
93f5df4195 ControllerInterface: Add RemoveDevice()
This adds RemoveDevice() to ControllerInterface, fixes ExpressionParser
and some other code to support device removals without crashing,
and adds an IsValid() method to Device, to prepare for hotplugging.
2016-07-29 17:18:37 +02:00
Léo Lam
0d783f0869 ControllerInterface: Add a way to register callbacks
This adds RegisterHotplugCallback() to register a callback which will
be invoked by the input backends' hotplug threads when there is a new
device, so that Core (GCKeyboard, GCPad, Wiimote, Hotkey) can reload
the configuration without adding a dependency to Core from InputCommon.
2016-07-29 17:16:22 +02:00
Aestek
0aa6e20685 Allow to change Wii sd card path in config pane
Add a setting in the "Paths" config pane to select which file should be
used as wii sd card.
2016-07-29 15:03:01 +02:00
Léo Lam
d2976086b6 WiimoteReal: Remove unsafe static_cast in IOLinux
Since we now support different scanner sources, g_wiimotes is not
guaranteed to only contain WiimoteLinux anymore.
This replaces the previous "already connected" check with one that
doesn't use g_wiimotes.
2016-07-27 14:20:26 +02:00
Scott Mansell
6834b4cb27 Revert "JitCache: Support for VMEM + MSR bits" 2016-07-27 11:15:25 +12:00
Aestek
d906462dee Do not pause emulation when confirming stop when using NetPlay
Pausing emulation requires to access the CPU thread, which might be blocked
waiting for inputs by netplay. Accessing it in this state would cause the
whole GUI to hang for set timeout (10s).
2016-07-26 21:34:35 +02:00
Aestek
1760b3bdad Rewrite NetPlayClient input wait logic to use std::condition_variable's
Instead of sleeping in NetPlayClient::GetNetPads and NetPlayClient::WiimoteUpdate,
now use std::condition_variable. This allows for finer control over these blocking
areas.
2016-07-26 21:34:35 +02:00
Pierre Bourdon
d7de39ebbe Merge pull request #3588 from Aestek/feature/improve-netplay-dialog
Improve netplay UX
2016-07-26 02:12:22 +02:00
Léo Lam
9c02e327b7 WiimoteReal: Split WiimoteScannerDarwin
This moves out the HID code into a separate scanner.
2016-07-26 00:45:25 +02:00
Léo Lam
3305a923e1 WiimoteReal: Rename IONix to IOLinux
IONix.cpp really isn't for Unix, as the name would imply, but only
for Linux, so there is no reason to name it IONix.
2016-07-26 00:45:25 +02:00
Léo Lam
9455e2bca4 WiimoteReal: Change the scanner to support several backends
This makes WiimoteScanner support several scanner backends.

This adds a WiimoteScannerBackend base class, which scanner backends
derive from, and which allows backend-specific things to be moved out
of the common code.

Also removes IODummy which is not needed anymore.
2016-07-26 00:45:24 +02:00
Pierre Bourdon
c6924b4d03 Merge pull request #4036 from RisingFog/rtc_osd
Display RTC on OSD
2016-07-25 15:36:03 +02:00
Markus Wick
0e7b10064d Merge pull request #4040 from Ironthighs/master
Android: Configurable Control Placement
2016-07-24 23:18:45 +02:00
Pierre Bourdon
7a8ca99cda Merge pull request #4053 from codl/fix-upnp
Fix bogus UPnP requests
2016-07-24 13:06:12 +02:00
JDV
67eb814320 Fixes focus not being set on gamelist after tab change
Once a tab is selected the focus can be set directly from the page
changed event. However once the tab was shown, the first tab order
control element was given the focus by default. This was fixed by
delaying the action and setting the focus after the default focus
had been assigned.
2016-07-23 20:58:51 +02:00
JDV
2ba4b22e88 Standardizes constant use 2016-07-23 20:58:51 +02:00
Aestek
6a0fc4c438 Improve netplay setup dialog UX
* Focus "Hash Code" / "IP address" text box by default in "Connect"
* Focus game list in "Host" tab
* RETURN keypress now host/join depending on selected tab
* Remember last hosted game
* Remove PanicAlertT:
	* Simply log message to netplay window
	* Remove them when they are useless
* Show some netplay message in OSD
	* Chat messages
	* Pad buffer changes
	* Desync alerts
* Stop the game consistently when another player disconnects / crashes
* Prettify chat textbox
* Log netplay ping to OSD

Join scenario:
* Copy netplay code
* Open netplay
* Paste code
* Press enter

Host scenario:
* Open netplay
* Go to host tab
* Press enter
2016-07-23 20:58:51 +02:00
Anthony Serna
aa34e5e20e Merge pull request #4042 from leoetlino/where-did-the-panicalert-go
Don't pipe PanicAlerts to netplay window if it isn't opened
2016-07-23 13:57:39 -05:00
codl
9a01ced032
Fix bogus UPnP requests
UPNP_AddPortMapping needs our IP address, however enet_address_get_host
will return 0.0.0.0 or a host name in most cases.

This gets our IP address from the socket to the IGD.
2016-07-23 20:04:07 +02:00
Pierre Bourdon
78b68b707f Merge pull request #4052 from leoetlino/wiimote-reconnect
Fix Wiimotes not reconnecting on button press
2016-07-23 11:41:01 +02:00
Léo Lam
7c3a3ce46d Fix Wiimotes not reconnecting on button press
5.0-56 broke reconnecting a Wiimote on button press; this is because
data reporting was now always stopped for real Wii remotes on
disconnect, making it impossible to know a button was pressed in the
first place (to reconnect the Wiimote).

This semi-reverts to the previous behaviour, where data reporting is
never stopped.

(Also, control channels now go through WiimoteEmu, just like before,
to make sure some things are reset on disconnection.)

Hopefully fixes issue 9711.
2016-07-23 11:17:31 +02:00
JMC47
0a7a3aef0e Removes fake wiimote data that was causing desyncs. 2016-07-23 04:52:39 -04:00
Ironthighs
1ad32ee382 -Commented out lines disabling lint translation messages. 2016-07-22 23:01:45 -05:00
Ironthighs
89b5bc9ee5 -Fixed some various coding standard issues from previous commit. 2016-07-22 23:01:45 -05:00
Ironthighs
3dfeea01da -Implemented ability to configure game controls by moving them around individually. Controls save locations once they are placed. 2016-07-22 23:01:45 -05:00
Léo Lam
da18f7f8ac Netplay: Fix a typo in the MD5 check dropdown
"Curent game" → "Current game"
2016-07-22 17:41:33 +02:00
Chris Burgener
0ef1ee7a83 Display RTC on OSD 2016-07-22 09:58:34 -04:00
Pierre Bourdon
76b1a4d7fa Merge pull request #4039 from RisingFog/check_dump_height_split
Check for zero height when splitting video dump
2016-07-21 17:32:55 +02:00
Chris Burgener
37a0c9c404 Check for zero height when splitting video dump 2016-07-21 11:28:10 -04:00
Léo Lam
574468c95b Don't pipe PanicAlerts to netplay window if it isn't opened
This is something that was quite confusing for me while trying to get
netplay to work for me; once the Connect/Host buttons were pressed,
the UI would hang, only to work again a few seconds later, but with
no error message or explanation *at all*.

Turns out this is because panic alerts are shown in the netplay window
instead during netplay, even before it is even shown.

This fixes it by "piping" the alerts to the netplay chat only if the
netplay window is visible.

(regression introduced in #3823)
2016-07-21 16:52:57 +02:00
Pierre Bourdon
c7ead90a09 Merge pull request #4041 from lioncash/mismatch
Movie: use std::mismatch for byte mismatch checking
2016-07-21 10:59:59 +02:00
Pierre Bourdon
382e7bf2f3 Merge pull request #3825 from magumagu/wii-reset-button
Make reset button (Emulation -> Reset) work correctly for Wii games.
2016-07-21 10:58:08 +02:00
Lioncash
92efd177fc Movie: use std::mismatch for detecting byte mismatches 2016-07-21 02:43:30 -04:00
comex
591e10c4dd trivial warning fixes 2016-07-20 01:23:19 -04:00
Mat M
3fbd781cb8 Merge pull request #4033 from RisingFog/configurable_rtc
Disable changing Custom RTC when game is running
2016-07-19 23:09:43 -04:00
Matthew Parlane
7b9e17b72d Merge pull request #4035 from lioncash/si-constness
SI_DeviceKeyboard: const correctness
2016-07-20 12:35:10 +12:00
Lioncash
609cc3c1c3 SI_DeviceKeyboard: const correctness 2016-07-19 19:55:44 -04:00
Lioncash
0483c88f1e TAP_Win32: Use vector assign instead of resize + memcpy 2016-07-19 19:29:49 -04:00
Chris Burgener
80ac4a359d Disable changing Custom RTC when game is running 2016-07-19 16:30:00 -04:00