Michael Maltese
da35abbbe2
PatchEngine: check instruction at link addr is non-zero
...
Regression introduced in #4738 . Fixes
https://bugs.dolphin-emu.org/issues/10110 .
2017-02-22 21:14:57 -08:00
Michael Maltese
88f7056a41
Remove include Xlib.h from X11Utils.h
2017-02-15 16:49:21 -08:00
Michael Maltese
df0a0c857d
CMake: use _SCL_SECURE_NO_WARNINGS instead of _SECURE_SCL=0
...
_SECURE_SCL is deprecated (and doesn't seem to disable warnings anymore
with Visual Studio 2015).
2017-02-10 16:28:39 -08:00
Michael Maltese
68dfff5798
CMake/Libusb: compile libusb/os/windows_usbdk.c
2017-02-10 16:24:16 -08:00
Michael Maltese
2b65e41d97
NetWindow: explicitly tell wxWidgets to clean up Windows macros
...
wxWidgets headers don't play well with some of the macros defined in
Windows headers and perform their own magic to fix things, as long as
they're included entirely either before or after any Windows headers.
This file can cause a conflict in other DolphinWX files because NetPlay
headers directly include ENet headers, which leak Windows header macros.
To fix this, explicitly tell wxWidgets here that it needs to re-clean
macros.
2017-02-10 16:14:25 -08:00
Michael Maltese
715170759c
Use .manifest file for apps on Windows
...
Works with CMake, and also adds DPI awareness to DolphinQt2 (which
wasn't enabled before).
2017-02-10 14:18:45 -08:00
Michael Maltese
31e3424367
Movie: replace magic number 8 with sizeof(ControllerState)
...
(Bonus points for rhyming commit message)
2017-02-09 15:07:47 -08:00
Michael Maltese
2d51bf579f
ControlReference: put parsed_expression in a unique_ptr
2017-02-07 22:59:29 -08:00
Michael Maltese
492d5b6ac7
ControlReference: hide parse_error behind GetParseStatus()
2017-02-07 22:59:26 -08:00
Michael Maltese
9a632ea7b9
ControlReference: hide is_input behind function
2017-02-07 22:59:21 -08:00
Michael Maltese
813a725f68
ControlReference: move function bodies out of header
2017-02-07 22:59:14 -08:00
Michael Maltese
a509f56116
InputCommon: Extract ControlReference from ControllerInterface
...
Better separation of concerns. Relegates `ControllerInterface` to
enumerating input controls, and the new `ControlReference` deals with
combining inputs and configuration expression parsing.
2017-02-07 22:59:10 -08:00
Michael Maltese
45d1f88ea7
CMake: move modules from CMakeTests/ -> CMake/
...
The name "CMakeTests" is inaccurate and irregular.
2017-02-07 22:55:27 -08:00
Michael Maltese
64405f26a8
lint JitILCommon/IR.cpp
2017-02-07 12:08:25 -08:00
Michael Maltese
8048716efb
JitIL/IR.cpp: add braces around std::array initalizers
...
Fixes the following warnings on macOS Clang:
```
Building CXX object Source/Core/Core/CMakeFiles/core.dir/PowerPC/JitILCommon/IR.cpp.o
Source/Core/Core/PowerPC/JitILCommon/IR.cpp:1374:9: warning: suggest braces around initialization of subobject [-Wmissing-braces]
LoadCR, LoadLink, LoadMSR, LoadGReg, LoadCTR, InterpreterBranch,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Source/Core/Core/PowerPC/JitILCommon/IR.cpp:1378:9: warning: suggest braces around initialization of subobject [-Wmissing-braces]
StoreLink,
^~~~~~~~~~
Source/Core/Core/PowerPC/JitILCommon/IR.cpp:1419:9: warning: suggest braces around initialization of subobject [-Wmissing-braces]
BranchCond,
^~~~~~~~~~~
3 warnings generated.
```
2017-02-07 01:10:43 -08:00
Michael Maltese
4d5cc27243
CMake: re-run if .git/$(symbolic-full-name HEAD) changes
...
In an oversight, PR #4841 didn't handle committing to or amending a
branch.
2017-02-07 00:53:05 -08:00
Michael Maltese
fc0d88817f
CMake: make option ENABLE_SDL work again
...
Broken in PR #4755 / commit f978765
2017-02-06 20:59:58 -08:00
Michael Maltese
58f01e60d6
ES: use PRIx64 to print m_addtitle_tmd.GetTitleId()
...
Fixes a warning on macOS with Clang.
2017-02-06 20:31:28 -08:00
Michael Maltese
04158dfe15
AVIDump: use a separate AVCodecContext
...
Using the AVCodecContext contained in AVStream for muxing is officially
discouraged[1] and AVStream::codec was deprecated in favor of
AVStream::codecpar in libavformat 57.33.100 / 57.5.0.
1: [FFmpeg-cvslog] lavf: replace AVStream.codec with AVStream.codecpar: https://ffmpeg.org/pipermail/ffmpeg-cvslog/2016-April/099152.html
2017-02-06 20:23:37 -08:00
Michael Maltese
867d6134c5
AVIDump: open codec before stream
...
Minor oversight in the existing code.
2017-02-06 20:23:37 -08:00
Michael Maltese
dd3d8c7a4e
AVIDump: use avformat_free_context
...
This function frees all associated streams and codec contexts, and
has existed since libavformat 52.96.0 (February 2011).
2017-02-06 20:23:37 -08:00
Michael Maltese
ac214190fd
AVIDump: Replace deprecated avcodec_encode_video2
2017-02-06 20:23:37 -08:00
Michael Maltese
9502f322d3
CMake: re-run to get version information when .git/HEAD changes
...
Fixes an issue where Dolphin's revision information could be incorrect
when:
1) CMake was run while HEAD was at commit A
2) HEAD was set to commit B, which didn't have differences from A
that would cause CMake to be re-run
This does not fix the issue with incorrect information about whether
Dolphin was built from a dirty working tree or not.
2017-02-06 18:28:52 -08:00
Michael Maltese
1fd1620e4e
CMake: add CMAKE_CONFIGURE_DEPENDS on Data/Sys
...
Since files from Data/Sys are collected and added to a built macOS .app
bundle using GLOB, any new files won't get picked up until the next time
CMake is run. Tell CMake it should re-run itself every time the directory
is touched.
2017-02-06 13:55:35 -08:00
Michael Maltese
acc8dae2b3
CMake: use configure_file to generate scmrev.h
...
The built-in `configure_file` command correctly handles the case where
none of the variables change and scmrev.h doesn't need to be rebuilt.
This saves a full re-link of Dolphin any time CMake is re-run.
2017-02-05 22:26:49 -08:00
Michael Maltese
38816bf51d
CMake: use BundleUtilities to fix up Dolphin.app
2017-02-03 22:27:19 -08:00
Michael Maltese
fa9881f0d2
CMake: actually call deploy-mac.py, don't just echo it
2017-02-03 09:22:30 -08:00
Michael Maltese
497173f665
CMake: Disable PortAudio support for ASIO, DS, and WDMKS
...
Fixes a link-time error, and matches what the vcxproj does.
2017-01-27 02:50:50 -08:00
Michael Maltese
0475a85195
CMake: Move Windows defines to Source/CMakeLists.txt
...
Messes up various Externals, like PortAudio.
2017-01-27 02:50:49 -08:00
Michael Maltese
4a422dffaa
CMake: CMAKE_SIZEOF_VOID_P must be 8 for an x86_64 build
...
This is an issue because CMAKE_SYSTEM_PROCESSOR is defined as the host
processor when not cross-compiling, and building for Win32 doesn't count
as cross-compiling.
2017-01-27 02:50:36 -08:00
Michael Maltese
c85127c973
CMake: move CMAKE_MACOSX_RPATH with rest of macOS logic
2017-01-24 01:27:42 -08:00
Michael Maltese
b65b87c8b4
CMake: don't need to force Clang on macOS
...
It's already the default!
2017-01-24 01:27:42 -08:00
Michael Maltese
7ebb1b4d3d
CMake: find_package(Threads) on macOS too
2017-01-24 01:27:41 -08:00
Michael Maltese
4cbd07b81f
CMake: remove unneeded macOS frameworks
2017-01-24 01:27:41 -08:00
Michael Maltese
0ab3b1a3ff
CMake: use CMAKE_OSX_DEPLOYMENT_TARGET
2017-01-24 01:27:41 -08:00
Michael Maltese
951eb9a801
CMake: use CMAKE_OSX_ARCHITECTURES
2017-01-23 23:44:38 -08:00
Michael Maltese
0bc40cacda
No longer need to //clang-format off for Windows headers
2017-01-23 16:23:37 -08:00
Michael Maltese
713ec5ffd5
Add includes for building on Windows without PCH
2017-01-23 01:37:41 -08:00
Michael Maltese
c3a1547d9a
AVIDump: rename CreateFile -> CreateVideoFile (conflict with windows.h)
2017-01-23 00:35:18 -08:00
Michael Maltese
f024fd48f9
clang-format: Sort windows.h before other headers
2017-01-23 00:35:09 -08:00
Michael Maltese
21ae6afa73
Android: remove unused android.toolchain.cmake
...
Gradle automatically sets up the CMake build and this file isn't referenced
anywhere.
2017-01-22 16:54:08 -08:00
Michael Maltese
69be0705d9
PortAudio/MSBuild: remove now-unused definitions
...
- The `PA_USE_{ASIO,WMME,...}` macros are no longer used, instead do
feature selection by compiling only the backends wanted.
- The `PA_WDMKS_NO_KSGUID_LIB` macro has been obviated along with the
link to ksguid.lib.
2017-01-20 15:40:21 -08:00
Michael Maltese
3dc7d18775
PortAudio: Update to v190600_20161030
2017-01-20 15:40:21 -08:00
Michael Maltese
fdcf5aeb75
DolphinWX: Fix position of GameListCtrl tooltips on macOS
2017-01-11 16:59:15 -08:00
Michael Maltese
443815df16
DolphinWX: pass wxMsgAlert to main thread on non-GTK too
...
Fixes an issue on macOS where wxMessageBox always returns wxCANCEL when
not called from main thread.
2017-01-04 14:06:31 -08:00
Michael Maltese
35fe8f762a
InputConfigDiag: move function bodies out of header
2016-12-31 15:47:56 -08:00
Michael Maltese
905750553f
ControllerEmu: Fix LoadDefaults to use ciface argument
2016-12-27 17:46:40 -08:00
Michael Maltese
f798bcd5c0
DolphinQt2: InfoWidget: explicit type for std::min
...
Avoids errors on macOS:
```
Source/Core/DolphinQt2/Config/InfoWidget.cpp:190:21: error: no matching function for call to 'min'
u64 read_size = std::min(file_data.size(), game_size - read_offset);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2589:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long' vs. 'unsigned long long')
min(const _Tp& __a, const _Tp& __b)
```
2016-12-02 21:26:18 -08:00
Michael Maltese
7ed8fb95c5
ControllerInterface: enable hotplugging on macOS
2016-11-30 22:27:46 -08:00
Michael Maltese
3e69d066f5
ControllerInterface: replace Reinitialize with RefreshDevices
...
The SDL backend crashes when you close a joystick after SDL_Quit has
been called. Some backends don't need to be shutdown and
re-initialized everytime, we can just ask to enumerate devices again.
2016-11-30 16:07:55 -08:00
Michael Maltese
cebb4d84f2
ControllerInterface: clear devices before shutting down backends
...
The SDL backend faults if it tries to close a joystick after SDL_Quit
has been called.
2016-11-30 16:07:54 -08:00
Michael Maltese
04e262513c
CMake: build PortAudio as static library
...
Due to issues raised in #4255 .
2016-10-26 11:53:14 -07:00
Michael Maltese
a082e9324f
HW: Don't be responsible for g_controller_interface
...
Currently, `g_controller_interface` is initialized and shut down by each
of `GCKeyboard`, `GCPad`, `Wiimote`, and `HotkeyManager`.
This 1) is weird conceptually, because it necessitates passing a pointer
to the native window to each of those classes, which don't need it, and
2) can cause issues when controller backends are initialized or shutdown
multiple times in succession.
2016-10-15 16:37:39 -07:00
Michael Maltese
ecb095f576
CMake: Fix macOS compile by always setting LIBUSB_FOUND=true
...
Without this, compilation complains about undefined symbols related to
`CWII_IPC_HLE_Device_hid` and `CWII_IPC_HLE_Device_usb_oh1_57e_305_real`.
2016-10-15 16:24:39 -07:00
Michael Maltese
c253076564
AudioConfigPane: clang-format
2016-10-09 19:34:11 -07:00
Michael Maltese
78655e5fed
AudioConfigPane: gray-out extra text for disabled controls
2016-10-09 19:33:50 -07:00
Michael Maltese
a0ebafe9a9
AudioConfigPane: move DPL2 decoding into 'Backend Settings'
2016-10-09 19:22:18 -07:00
Michael Maltese
45903b7b4d
AudioCommon: SupportsDPL2Decoder, SupportsLatencyControl, SupportsVolumeChanges
2016-10-09 19:18:16 -07:00
Michael Maltese
4834a90e63
AudioConfigPane: dedupe code into ToggleBackendSpecificControls
2016-10-09 19:10:24 -07:00
Michael Maltese
6b2f6e3884
InputConfigDialog: use SelectObjectAsSource in UpdateBitmaps
...
Fixes issue [Configuring an Emulated Wiimote crashes the application on
OS X 10.12 Sierra][1]
[1]: https://bugs.dolphin-emu.org/issues/9832
2016-10-09 15:31:42 -07:00
Michael Maltese
f301ebf780
Don't build Vulkan video backend on macOS
...
There's no official implementation of the Vulkan API,
and Dolphin currently isn't set-up to work with the
single, commercially-available third-party implementation.
2016-10-06 16:53:55 -07:00
Michael Maltese
8fa79f3897
fix indendentation
2016-10-01 21:36:51 -07:00
Michael Maltese
567dffc1ee
OpenAL: Don't request samples if buffers are full
...
Makes the buffering code a bit more explicit (circular buffer, but
blocks until individual buffers get unqueued by OpenAL), and fixes a
bug in the startup of Super Mario Sunshine:
https://bugs.dolphin-emu.org/issues/9811
2016-10-01 21:36:46 -07:00
Michael Maltese
08d9c46b79
Build portaudio from Externals when not available on system
...
TL;DR: Enables mic support on macOS builds
2016-09-28 13:43:02 -04:00
Michael Maltese
eb4d980d2f
Ignore LIBUSB_FOUND on Apple
...
It shouldn't be set in the first place, and its cached value is screwing
up the buildbots.
2016-09-28 13:32:17 -04:00
Michael Maltese
a403e37901
always build an implementation of GCAdapter (either libusb or android)
2016-09-28 13:32:13 -04:00
Michael Maltese
8bb2139224
Build vendored libUSB with CMake
2016-09-28 13:32:07 -04:00
Michael Maltese
3864723e4d
Check for errors when postprocessing macOS app bundle
2016-09-28 13:22:36 -04:00
Michael Maltese
d1475dfb9c
Move LogWindow/LogConfigWindow destructor logic -> OnClose
...
Fixes the issue on macOS where quitting Dolphin from the Dock causes a
crash report (https://bugs.dolphin-emu.org/issues/9794 ). I'm not
exactly sure why this works, but it feels right and it turns out to fix
the problem.
2016-09-25 17:06:46 -04:00
Michael Maltese
cd19c9fa22
Don't force compile everything as Objective-C++ on macOS
2016-09-18 17:33:51 -07:00