Lioncash
1ce1304d0f
CPU Backends: Make each CPU backend responsible for initializing its own
...
instruction tables
Previously, all of the internals that handled how the instruction tables
are initialized were exposed externally. However, this can all be made
private to each CPU backend.
If each backend has an Init() function, then this is where the instruction
tables should be initialized, it shouldn't be the responsibility of
external code to ensure internal validity.
This allows for getting rid of all the table initialization shenanigans
within JitInterface and PPCTables.
2017-02-10 13:08:14 -05:00
Lioncash
5da7d700ca
JIT: Make compilation functions a part of the JIT classes
2017-02-10 13:05:44 -05:00
Lioncash
ea6e75d45f
GameListCtrl: Separate some scanning code into functions
...
Several of the things done while performing a scan are logically their own
behavior (e.g. loading a titles file, checking if an entry should be added, etc).
2017-02-09 14:50:20 -05:00
Mat M
1385a012d9
Merge pull request #4871 from lioncash/radius
...
ControllerEmu: Fix incorrect default radius being set in AnalogStick
2017-02-09 05:26:41 -05:00
Lioncash
56531a0b7f
ControllerEmu: Fix incorrect default radius being set in AnalogStick
...
The three parameter AnalogStick constructor takes an internal name, a
display name, and a default radius argument. The delegated constructor is
the one that calls the ControlGroup constructor, setting the group type,
so passing the group type here is a logic bug.
The only reason this appeared to work despite this bug is because
GROUP_TYPE_STICK has a value of 1, and the default radius value used for
attachment sticks is 1.0.
2017-02-08 23:08:13 -05:00
Mat M
73382852b7
Merge pull request #4502 from ligfx/extractcontrolreference
...
InputCommon: Extract ControlReference from ControllerInterface
2017-02-08 20:01:18 -05:00
Lioncash
90273191da
Boot: Add missing includes
2017-02-08 10:57:24 -05:00
Lioncash
3b41d4806c
Boot_BS2Emu: Get rid of unnecessary headers
2017-02-08 10:57:16 -05:00
Lioncash
57d543b10a
ElfReader: Get rid of unnecessary includes
2017-02-08 10:57:10 -05:00
Lioncash
95a918b9f8
Boot_WiiWAD: Get rid of unnecessary includes
2017-02-08 10:43:50 -05:00
Lioncash
e6ffce3ac9
ElfReader: Make constructor explicit
...
Allowing implicit conversions here is definitely not desirable.
2017-02-08 10:20:06 -05:00
Lioncash
399757a771
FifoPlayerDlg: Use std::lock_guard instead of manual mutex locking/unlocking
...
Same thing, but less error prone.
2017-02-08 00:26:32 -05:00
Lioncash
d9d069e024
OpcodeDecoding: Convert #defines into enum constants
...
Gets several constants out of global scope.
2017-02-08 00:05:17 -05:00
Mat M
6ffa0492a6
Merge pull request #4858 from Orphis/patch-1
...
DolphinWX: Add missing include for no-PCH builds
2017-02-07 23:26:57 -05:00
Lioncash
31f037b187
InputCommon CMakeLists: Normalize whitespace
...
Tabs -> Spaces
2017-02-07 22:15:53 -05:00
Lioncash
3a66f2c008
ControllerEmu: Move into its own directory
...
ControllerEmu is a massive class with a lot of nested public classes.
The only reason these are nested is because the outer class acts as a
namespace. There's no reason to keep these classes nested just for that.
Keeping these classes nested makes it impossible to forward declare them, which leads to quite a few includes in other headers, making compilation take
longer.
This moves the source files to their own directory so classes can be
separated as necessary to their own source files, and be namespaced under the
ControllerEmu namespace.
2017-02-07 22:12:06 -05:00
Mat M
c9696ccdd5
Merge pull request #4855 from Orphis/cmake_llvm
...
cmake: Move LLVM import to UICommon
2017-02-07 22:05:22 -05:00
Lioncash
4260afc848
DSPCore: Make g_cycles_left a regular member variable of DSPEmitter
...
Gets rid of a global within the DSP core.
2017-02-07 21:56:57 -05:00
Lioncash
13f70d4597
PowerPC: Convert #defines into typed constants
2017-02-07 20:17:15 -05:00
Mat M
a9ed44cd48
Merge pull request #4852 from Orphis/cmake_bluez
...
cmake: Move BlueZ detection to Core
2017-02-07 19:27:19 -05:00
Mat M
277f813b72
Merge pull request #4849 from Orphis/cmake_audiocommon
...
cmake: Move PulseAudio detection to AudioCommon
2017-02-07 18:08:10 -05:00
Lioncash
06f6ca8d81
Core: Remove redundant returns in FifoPlayerThread() and CpuThread()
...
There's no need to explicitly return at the end of a void function.
2017-02-07 17:59:03 -05:00
Lioncash
31dc2b9cc1
GCPadEmu: Make constructor explicit
2017-02-07 15:12:15 -05:00
Lioncash
a2a188533a
GCKeyboardEmu: Make constructor explicit
2017-02-07 15:11:49 -05:00
Lioncash
9f8177c9ac
UCodes: Eliminate unnecessary includes in header
2017-02-07 15:08:57 -05:00
Lioncash
1f14b7f907
EXI_DeviceAD16: Amend variable naming
...
Drops Hungarian Notation type prefixing and prefixed underscores.
2017-02-07 14:58:23 -05:00
Lioncash
2f74a6f552
EXI_DeviceAD16: In-class initialize member variables
...
Same thing, less code.
2017-02-07 14:54:54 -05:00
Mat M
3cda4e1d9c
Merge pull request #4822 from ligfx/copysys
...
CMake: add CMAKE_CONFIGURE_DEPENDS on Data/Sys
2017-02-07 10:41:25 -05:00
Mat M
db9720d038
Merge pull request #4842 from ligfx/fix_prix64_es
...
ES: use PRIx64 to print m_addtitle_tmd.GetTitleId()
2017-02-07 10:39:29 -05:00
Mat M
f5e940d59d
Merge pull request #4843 from ligfx/enable_Sdl
...
CMake: make option ENABLE_SDL work again
2017-02-07 10:38:08 -05:00
Mat M
bdf09c7d3b
Merge pull request #4841 from ligfx/accuratescmrev
...
CMake: re-run to get version information when .git/HEAD changes
2017-02-06 22:12:55 -05:00
Mat M
649fc390ff
Merge pull request #4833 from Orphis/cmake_audiocommon
...
More CMake updates for AudioCommon dependencies
2017-02-06 22:12:05 -05:00
Lioncash
c41f587c29
Frame: Hide functions that don't need to be exposed
...
Any functions left exposed are used elsewhere through the main_window
global. May as well prevent any more functions from being used in that
manner where possible.
2017-02-06 18:29:26 -05:00
Lioncash
ead076d335
NetWindow: Get rid of direct use of the main_window global
...
Utilizes the event system (which is what should have been done here
initially), in order to prevent coupling between two different window frames.
This also makes booting games more versatile using the UI event system,
as the event can just act as a carrier for the filename, making directly
calling boot functions unnecessary. All that's needed is for the event to
propagate to the frame.
2017-02-06 18:29:20 -05:00
Lioncash
2597d2b69b
NetWindow: Make chat messages queue private
...
This doesn't need to be publicly accessable.
2017-02-06 13:03:35 -05:00
Mat M
f978765bf0
Merge pull request #4755 from Orphis/cmake_sdl
...
cmake: Modernize SDL discovery
2017-02-06 11:55:03 -05:00
Lioncash
063e4df5a1
DSPCore: Convert the DSPCoreState enum into an enum class
2017-02-06 11:47:19 -05:00
Mat M
02127e360a
Merge pull request #4831 from Orphis/cmake_cleanup
...
Small CMake fixes
2017-02-06 11:29:05 -05:00
Mat M
e4c17f126c
Merge pull request #4835 from ligfx/configurefilescmrev
...
CMake: use configure_file to generate scmrev.h
2017-02-06 11:14:08 -05:00
Mat M
11d1d227da
Merge pull request #4834 from lioncash/enum
...
Core: Actually make the State enum an enum class
2017-02-06 02:43:35 -05:00
Lioncash
259f827e34
Core: Actually make the State enum an enum class
...
It helps if I actually make it a strongly typed enum.
2017-02-06 01:13:07 -05:00
Mat M
834ec372cc
Merge pull request #4830 from Orphis/cmake_cleanup
...
Fixes for resource installation in CMake
2017-02-05 14:30:57 -05:00
Mat M
1f1a232546
Merge pull request #4629 from JosJuice/es-movie-title-id
...
Don't call Movie::SetTitleId from ES
2017-02-05 09:26:08 -05:00
Mat M
af33c9714e
Merge pull request #4825 from Orphis/cmake_alsa
...
CMake: Updates to AudioCommon & ALSA discovery
2017-02-05 08:50:34 -05:00
Lioncash
e07383a783
Core: Convert State enum into an enum class
2017-02-05 08:32:23 -05:00
Lioncash
f7b9db9846
PowerPC: Convert CoreMode enum into an enum class
...
Prevents constants from polluting the namespace.
2017-02-04 19:34:56 -05:00
Lioncash
4b091f5872
MMU: Use references to TLBEntry instances instead of pointers
...
Same behavior, less verbosity.
2017-02-04 19:03:22 -05:00
Lioncash
52b45a3933
PowerPC: Rename tlb_entry struct to TLBEntry
...
Makes it consistent with our naming style.
2017-02-04 18:58:45 -05:00
Mat M
ced0044059
Merge pull request #4819 from Orphis/cmake_cleanup
...
Small CMake cleanups
2017-02-03 22:11:52 -05:00
Lioncash
c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
Mat M
2e2eabdfcb
Merge pull request #4814 from ligfx/fixdeploy
...
CMake: actually call deploy-mac.py, don't just echo it
2017-02-03 12:27:55 -05:00
Lioncash
a30c653f3d
D3D: Add CommonTypes include to D3DTexture.h
...
Resolves a compile error on the Windows CMake build.
2017-02-03 12:07:53 -05:00
Lioncash
c67d095787
PowerPC: Move page #define constants to MMU.cpp
...
These are only ever used here.
This also converts them into typed constants.
2017-02-03 11:48:42 -05:00
Lioncash
5ce82583f8
MemcardManager: Get rid of prefixed double-underscores from an identifier
...
Identifiers with prefixed double-underscores are reserved by the C++
standard.
2017-02-03 11:30:39 -05:00
Lioncash
9d523f52f2
MemcardManager: Convert C arrays to std::array
2017-02-03 11:15:46 -05:00
Mat M
a3ba169e7d
Merge pull request #4809 from Orphis/cmake_windows
...
CMake for Windows: getting a working binary!
2017-02-03 08:33:13 -05:00
Mat M
7f2bb0ba6c
Merge pull request #4808 from Orphis/cmake_cleanup
...
CMake cleanup: start organizing targets, remove some unwanted ones
2017-02-03 08:32:03 -05:00
Mat M
1dd229fac8
Merge pull request #4752 from Orphis/cmake_cleanup
...
cmake: Improve support for multi-configuration generators
2017-02-02 20:59:13 -05:00
Mat M
1b9b1a356b
Merge pull request #4805 from Orphis/cmake_macos
...
CMake macOS fixes
2017-02-02 20:53:22 -05:00
Lioncash
d72cf81dea
MemcardManager: Use unique_ptr over raw pointers
2017-02-02 14:33:01 -05:00
Mat M
f20113fce2
Merge pull request #4803 from Orphis/cmake_qt
...
cmake: Move Qt5 search to DolphinQt build script
2017-02-01 18:06:00 -05:00
Lioncash
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
Mat M
c5d4ae6163
Merge pull request #4801 from JosJuice/wii-remote-rumble
...
"Wii Remote Motor" -> "Wii Remote Rumble"
2017-02-01 10:41:33 -05:00
Lioncash
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
Mat M
6fd0e96ea3
Merge pull request #4785 from lioncash/ios-fs
...
IOS FS: Move behavior to separate functions
2017-01-31 22:28:42 -05:00
Mat M
84d81a4b7a
Merge pull request #4792 from sepalani/fix_isctype_assert
...
Fixes std::isprint undefined behavior
2017-01-31 21:53:12 -05:00
Mat M
5b782b9f2d
Merge pull request #4795 from sepalani/fix_sock
...
Fixes a crash when closing a socket
2017-01-31 20:30:26 -05:00
Lioncash
1f24cf2a2d
RenderBase: Get rid of unnecessary casts
2017-01-31 20:25:50 -05:00
Lioncash
a9db9fd217
DSPDisassembler: Make constructor explicit
2017-01-30 18:17:48 -05:00
Lioncash
546cd5d4be
DSPAssembler: Make constructor explicit
2017-01-30 18:16:59 -05:00
Lioncash
093b61139b
Sram: Make SRAM dumps const
...
This is only used internally, and isn't written to.
2017-01-30 17:44:03 -05:00
Mat M
cf5a17145f
Merge pull request #4788 from lioncash/avidump
...
AVIDump: Rename CloseFile to CloseVideoFile
2017-01-29 22:18:38 -05:00
Lioncash
b7e59f4e55
AVIDump: Rename CloseFile to CloseVideoFile
...
Retains symmetry with CreateVideoFile.
2017-01-29 22:05:12 -05:00
Mat M
548e2d6353
Merge pull request #4709 from lioncash/exi-device
...
EXI_Device: Minor cleanup
2017-01-29 19:50:42 -05:00
Lioncash
1801180a30
IOS STM: Get rid of forward declarations in the cpp file
...
Forward declaring functions from a completely different header inside a cpp
file can lead to linker errors. Forward declaring also doesn't really
provide any benefit within cpp files unless it's to bring an internally
linked function within the same file into scope.
2017-01-29 19:30:56 -05:00
Lioncash
d2da1897e7
IOS FS: Move behavior to separate functions
2017-01-29 18:32:59 -05:00
Lioncash
5fd41716ae
ec_wii: Make default data constexpr
...
None of these are modified anywhere.
2017-01-28 18:46:15 -05:00
Lioncash
926c9f995a
ec_wii: Amend function casing
2017-01-28 18:46:14 -05:00
Lioncash
650071c3e4
ec_wii: Make getter functions const member functions
2017-01-28 18:45:56 -05:00
Lioncash
5b998ee9b0
ec_wii: Move implementation details into cpp file
...
Gets rid of the need for an include in the header file.
2017-01-28 18:45:04 -05:00
Lioncash
4c31bfef76
FileIO: Correct printf specifier in GetFileStats
2017-01-28 17:43:19 -05:00
Lioncash
6f0cabb1c5
FileIO: Move GetFileStats code to its own function
2017-01-28 17:41:40 -05:00
Mat M
66160c2781
Merge pull request #4743 from lioncash/es
...
ES: Separate IOCtlV code out into constituent functions
2017-01-28 15:33:34 -05:00
Lioncash
10d73988e7
DSPCore: Convert DSP stack register enum into an enum class
...
Makes it more self-documenting which stack is being loaded or stored to,
as C, D, and magic numbers are extremely vague. It also enforces a
strongly-typed API instead of accepting arbitrary integral values.
It also adds the two other missing stack register names -- loop address
and loop counter.
2017-01-28 09:17:27 -05:00
Mat M
ede9c6255a
Merge pull request #4770 from degasus/fifo
...
CommandProcessor: Limit scope of ugly SCPFifoStruct.
2017-01-28 06:43:23 -05:00
Lioncash
7959f900ed
DSPEmitter: Remove unused class member variable
2017-01-28 06:36:54 -05:00
Lioncash
be3f9f7431
DSPEmitter: Fix -Wreorder warnings
2017-01-28 06:07:25 -05:00
Lioncash
f5fe387a20
DSPEmitter: Make emitter dispatcher pointers private
2017-01-28 03:55:56 -05:00
Lioncash
0d42cbc923
DSPCore: Move JIT cycle code to DSPEmitter
...
Moves x86-specific emitter code out of DSPCore.
2017-01-28 03:55:40 -05:00
Lioncash
c748158182
SettingsHandler: Make GenerateSerialNumber static
...
This doesn't depend on class internals.
2017-01-27 10:29:57 -05:00
Lioncash
98291cd843
SettingsHandler: Add Open and Save member functions
2017-01-27 10:29:49 -05:00
Lioncash
d680d1f81e
MMIO: Get rid of a TODO regarding tuples
2017-01-27 02:54:07 -05:00
Mat M
cf18ed0a52
Merge pull request #4765 from degasus/token
...
PixelEngine: Use a DirectRead for the token.
2017-01-27 01:55:53 -05:00
Lioncash
4003360bcb
DSPCore: Move CompileCurrent to the DSPEmitter
...
This is only ever used here.
2017-01-27 01:36:29 -05:00
Lioncash
be52fcf651
DSPEmitter: Make most public variables private
...
Dispatchers and m_unresolved_jumps is utilized in code outside of the
emitter, so these are left as is for the time being.
2017-01-26 20:32:57 -05:00
Lioncash
970d969f63
DSPEmitter: Make conditional JIT functions in DSPJitBranch part of the emitter
...
These quite clearly have a dependency on the emitter itself, so these
should be a part of the emitter itself.
The template function can be modified to just simply take functions as a
parameter.
2017-01-26 20:32:34 -05:00
Lioncash
16aac00b8a
DSPEmitter: Move private variables below function declarations
2017-01-26 19:25:49 -05:00
Lioncash
ef52451954
DSPJitRegCache: Convert DSPJitSignExtend into an enum class
...
Prevents general names like SIGN, ZERO, and NONE from polluting the
surrounding namespace.
2017-01-26 18:33:50 -05:00
Lioncash
bdd7034fcb
DSPJitRegCache: Move allocation order array to the cpp file
...
As it's a private static implementation detail that doesn't rely on any
other internals of DSPJitRegCache, it can be hidden.
2017-01-26 17:12:55 -05:00
Lioncash
8f5ce50a25
DSPAssembler: Migrate VerifyParams over to an OpcodeType param instead of bool
2017-01-26 05:17:05 -05:00