Lioncash
8078c18a80
Core: Move EXI source files to their own directory
...
Keeps related source files together and cleans up the root directory of HW
a little bit.
2017-01-20 16:06:35 -05:00
Mat M
b05fc9d369
Merge pull request #4692 from Orphis/cmake_cleanup
...
CMake cleanups for Windows
2017-01-20 15:25:34 -05:00
Lioncash
d266be5b56
PowerPC: Explicitly savestate PowerPCState members
...
Makes it more obvious which data is going into the savestate.
It also allows PowerPCState and InstructionCache to potentially
contain members that don't necessarily need to be saved to the save state.
It also gets rid of any potential padding data being put into the save
state.
2017-01-18 23:44:46 -05:00
Lioncash
c761f98ede
PowerPC: Simplify TLB resetting
...
Member initializers and std::array make this trivial for fixed value initialization.
2017-01-18 19:31:04 -05:00
Lioncash
b2351ddb29
PowerPC: Move CPU core initialization to its own function
2017-01-18 19:13:52 -05:00
Lioncash
e86def732a
PowerPC: Move zeroing of segment registers into ResetRegisters
2017-01-18 16:03:31 -05:00
Lioncash
cf1c194b88
DSPLLE: Amend variable casing
2017-01-18 12:50:58 -05:00
Lioncash
0f70650e93
DSPHLE: Amend variable casing
2017-01-18 12:44:27 -05:00
Lioncash
a57b378116
DSPEmulator: Amend variable casing
2017-01-18 12:20:13 -05:00
Lioncash
bba6a31eb6
Interpreter_Tables: Amend leftover comment
2017-01-18 03:03:44 -05:00
Lioncash
06488477a9
Interpreter_Tables: Ensure all instructions fit within m_allInstruction at compile-time
2017-01-18 03:03:42 -05:00
Lioncash
6c61021eb1
PPCTables: Use std::array instead of raw C arrays
2017-01-18 03:03:00 -05:00
Lioncash
1a1ce42889
Interpreter_Tables: Use std::array for instruction tables
2017-01-18 03:02:55 -05:00
Lioncash
e4ea9f7ace
Interpreter: Use std::array for instruction tables
2017-01-17 22:06:52 -05:00
Lioncash
f0abdbdeb5
Interpreter: Correct member variable casing
2017-01-17 21:50:01 -05:00
Lioncash
e9b506638f
Interpreter: Make m_EndBlock private
2017-01-17 21:16:14 -05:00
Lioncash
722162b54a
IPC_HLE: Namespace IOS HLE
...
Gets all of the IOS HLE code out of the global scope.
2017-01-17 20:46:58 -05:00
Lioncash
f1542c8e5a
Common: Namespace Network.h/.cpp
...
Necessary to avoid namespace clashes with IOS HLE's namespace name.
2017-01-17 20:46:48 -05:00
Lioncash
bb49012445
IR: Deduplicate code in Reset and FoldFallbackToInterpreter
2017-01-17 20:35:02 -05:00
Lioncash
89473d5996
IR: Clean up getNumberOfOperands
...
- Use std::array
- Make arrays constexpr where their contents aren't modified.
2017-01-17 20:22:38 -05:00
Lioncash
d3aed03563
IR: Make trivial helper functions constexpr
2017-01-17 19:42:36 -05:00
Lioncash
d1f39185dd
IR: Convert typedefs to using aliases
2017-01-17 19:40:56 -05:00
Lioncash
1516c22a22
JitILBase: Make the IRBuilder instance protected
...
There's no need to make it public.
2017-01-17 14:55:45 -05:00
Lioncash
e924814d62
JitILBase: Move protected members below public
2017-01-17 14:45:40 -05:00
Mat M
81358dbf20
Merge pull request #4674 from Orphis/require_gcc5
...
cmake: Enforce minimum GCC version
2017-01-17 14:35:38 -05:00
Mat M
ad36d4915c
Merge pull request #4668 from lioncash/cmake
...
CMakeLists: Make CMake 3.5.0 the minimum requirement
2017-01-17 14:34:03 -05:00
Lioncash
bae0158fc1
CMakeLists: Make CMake 3.5.0 the minimum requirement
2017-01-17 13:36:39 -05:00
Lioncash
8346f86ee4
IR: Remove unnecessary semicolon on namespace brace
2017-01-16 19:54:42 -05:00
Lioncash
67fc73e82c
IR: Make getNumInsts return type size_t
...
There's no need to cast here.
2017-01-16 19:38:30 -05:00
Lioncash
459a6e73c3
IR: Remove unused function
2017-01-16 19:32:13 -05:00
Lioncash
cd12b2c55f
IR: Make IRBuilder uncopyable
...
Hiding and not implementing the copy constructor is a pre-C++11 thing.
It should also be noted that a copy constructor, as defined by the
language, contains a const qualifier on its parameter, so this wouldn't
have prevented copies from being performed.
2017-01-16 18:59:17 -05:00
Lioncash
a8b2dd7fc3
IR: Use std::array instead of raw C arrays
2017-01-16 18:54:30 -05:00
Lioncash
ef3e6de875
IR: Move implementation of the constructor and Reset into the cpp file
...
Neither of these are intended to be called extremely frequently to warrant
this.
2017-01-16 18:36:11 -05:00
Lioncash
47fc72f0a8
IR: Get rid of an unimplemented member function prototype
2017-01-16 18:11:54 -05:00
Lioncash
4f75590fdb
IR: Move private details below public details
2017-01-16 18:08:11 -05:00
Lioncash
43910e474b
IR_X86: Use member initializers where applicable for RegInfo
2017-01-16 17:29:09 -05:00
Lioncash
bc7374a5e1
IR_X86: Use std::array instead of raw C arrays in RegInfo
2017-01-16 17:29:09 -05:00
Lioncash
45f7883ed8
IR_X86: Make RegInfo uncopyable
...
Hiding and not implementing the copy constructor is a pre-C++11 thing.
It should also be noted that a copy constructor, as defined by the language,
contains a const qualifier on its parameter, so this wouldn't have
prevented copies from being performed.
It also follows that if the copy constructor is deleted, then copy
assignment should also be forbidden.
2017-01-16 17:27:03 -05:00
Lioncash
6788cb7266
HW/DSP: Correct prefixes of translation-unit-local variables
...
These aren't globals.
2017-01-16 14:53:37 -05:00
Lioncash
8cc4815fe2
HW/DSP: Hide the DSP state global
2017-01-16 14:14:03 -05:00
Lioncash
c6ec5de659
HW/DSP: Use member initializers with structs/unions where applicable
2017-01-15 16:03:12 -05:00
Lioncash
3848c2a018
MemoryView: Get rid of a type-punning cast from u32 to float
...
This is undefined behavior. The bits should be memcpyed.
2017-01-15 12:16:41 -05:00
Lioncash
2108bf1be6
MemoryView: Separate memory string composition from OnPaint
...
OnPaint should only care about drawing data, not directly creating
said data.
2017-01-15 12:13:08 -05:00
Lioncash
0a6f0dfb74
Common: Add bit utility header
...
This attempts to make some bit arithmetic more self-documenting and also
make it easier during review to identify potential off-by-one errors by
making it possible to just specify which bits are being extracted.
Functions both support the case where bits being extracted can vary and
fixed bit extraction. In the case the bits are fixed, compile-time asserts
are present to prevent accidental API usage at compile-time.
e.g. Instead of shifting and masking to get bits 10 to 15,
Common::ExtractBits<10, 15>(value) can just be done instead.
2017-01-14 11:16:02 -05:00
Lioncash
45415e1057
ColorUtil: Make decodeCI8image's pal parameter const
2017-01-13 17:07:26 -05:00
Lioncash
35cc4a4202
DSPInterpreter: Get rid of a #define constant
...
This constant isn't particularly helpful, mainly because it's not
applicable to all DSP instructions. Some instructions don't have encoding
space for registers, and not all instructions that do encode registers
have one at the first five bits.
This change also has the benefit of removing all includes to the
interpreter within the JIT code, which keeps them fully separate from one
another. Changes to the interpreter header won't require some of the JIT
code to be rebuilt.
2017-01-12 20:36:52 -05:00
Lioncash
0035a4ef3d
GCMemcard: Const-correctness changes
...
A few function reference and pointer parameters are only read from.
2017-01-12 20:01:19 -05:00
Lioncash
6f08ef9a25
IOFile: Get rid of IOFile's ReleaseHandle function
...
Transfer of handles should be done via std::move.
2017-01-12 12:34:06 -05:00
Lioncash
b760479f77
BreakPoints: Use std::any_of where applicable
2017-01-11 16:37:31 -05:00
Lioncash
e97953130d
BreakPoints: Use character literals for finding single characters
...
The single character find overload is better suited over the one for
finding character sequences.
2017-01-11 10:08:14 -05:00
Lioncash
4e649c60c0
BreakPoints: Make getters const member functions
...
Just const-correctness stuff. The returned collection can't be modified,
so this makes sense.
2017-01-11 10:08:14 -05:00
Lioncash
0f8bcf412d
BreakPoints: Rename variables
...
Drops Hungarian notation where applicable.Drops Hungarian notation where
applicable.
2017-01-11 10:08:11 -05:00
Lioncash
274ab8a262
BreakPoints: Make the memchecks class member private
...
There's no need to make this public.
2017-01-11 10:07:34 -05:00
Mat M
55b82e323c
Merge pull request #4537 from JosJuice/blob-open-less-files
...
Open less files when detecting/opening blobs
2017-01-11 08:30:16 -05:00
Lioncash
93c5c0213f
BreakPoints: Convert typedefs into using aliases
2017-01-11 07:59:43 -05:00
Lioncash
50ee01754e
BreakPoints: Add initializers for TBreakPoint and TWatch
...
Ensures all members are consistently initialized.
2017-01-11 07:55:43 -05:00
Lioncash
588374349f
BreakPoints: In-class initialize TMemCheck members
...
Same thing, less code.
2017-01-11 07:53:49 -05:00
Lioncash
ea8fc594a5
Common: Move BreakPoints into Core
...
BreakPoints utilizes the jit global variable, so this was making Core and
Common cyclical dependencies on one another.
2017-01-10 05:24:44 -05:00
Lioncash
37d10064b8
JitCache: Get rid of reliance on the JIT global variable
2017-01-09 04:43:06 -05:00
Lioncash
f75aab1a85
CachedInterpreter: Separate the block cache from CachedInterpreter
...
An interpreter is not a block cache. It may utilize a block cache, it may
contain a block cache but it *is not* A block cache.
2017-01-09 04:43:05 -05:00
Lioncash
eddccb3891
CachedInterpreter: Move to its own directory
2017-01-09 04:43:05 -05:00
Lioncash
2b8ede8dc6
JitCache: Move implementation details into the cpp file
2017-01-09 04:43:04 -05:00
Lioncash
cf18aeb1eb
JitCache: Move private class details below public details
...
Also organizes cpp file organization to match the function layout.
2017-01-09 04:42:59 -05:00
Lioncash
1dab2c8816
IOFile: Correct explicit operator bool semantics
...
The operator void* variant was m_good ? m_file : nullptr;
so this was leaving out the file handle check.
2017-01-08 22:52:44 -05:00
Lioncash
00baf193ac
CodeBlock: Const correctness for IsInSpace
2017-01-08 18:40:09 -05:00
Lioncash
27350dbf1c
Jit64Base: Use size_t to represent size in LogGeneratedX86
2017-01-07 21:57:19 -05:00
Lioncash
77756b44d5
Jit64Base: Const correctness for LogGeneratedX86
2017-01-07 21:53:06 -05:00
Lioncash
9d8e8652fb
CodeBlock: Get rid of implicit sign-conversion in AllocCodeSpace
...
Size is internally stored as a size_t, so having an int parameter
would cause implicit sign-conversion from a signed value to an
unsigned value to occur.
2017-01-07 19:05:06 -05:00
Lioncash
89da37b1c6
HotkeyInputConfigDialog: Move UI creation into named functions
...
The constructor shouldn't be used as a dumping ground for all UI-related
initialization. Doing so makes it somewhat more difficult to reason about
how certain UI elements get created. It also puts unrelated identifiers in
the same scope.
This separates the UI creation out so code relevant to each component
is self-contained.
2017-01-05 16:26:42 -05:00
Mat M
e7359f247b
Merge pull request #4595 from aldelaro5/add-debugger-hotkeys
...
Add debugger hotkeys
2017-01-05 14:33:10 -05:00
Mat M
6fe621f203
Merge pull request #4589 from ligfx/cleaninputconfigdiag
...
InputConfigDiag: move function bodies out of header
2017-01-05 14:29:35 -05:00
Mat M
0de4ad334f
Merge pull request #4605 from PEmu1/tas-gamecube-contro
...
Clarify GameCube Controller in TAS Input
2017-01-05 14:28:54 -05:00
Mat M
495580637f
Merge pull request #4606 from BhaaLseN/clang-format-union
...
specify custom brace style to fix unions
2017-01-05 14:27:27 -05:00
Mat M
9da6982ac3
Merge pull request #4608 from RisingFog/input_display_newlines
...
Add missing new lines for OSD
2017-01-05 14:25:24 -05:00
Mat M
189e5f87fb
Merge pull request #4612 from PEmu1/memcard-menu
...
Don't Use Abbreviation for "Memory Card"
2017-01-05 14:22:54 -05:00
Lioncash
a10bb15f17
HLE: Add explicit initializers for OSBreakPoints' stub entry
...
No behavior change, this just makes implicit values explicit.
2017-01-05 14:15:45 -05:00
Lioncash
2941468857
HLE: Align table formatting
2017-01-05 14:13:30 -05:00
Lioncash
a93861ab49
DiscScrubber: Don't take SFileInfo instances by value
...
Avoids unnecessary copies.
2017-01-04 20:12:49 -05:00
Lioncash
c52d1e735a
DiscScrubber: Use an unsigned loop index in ParseDisc
...
Prevents an implicit signed to unsigned conversion when assigning a
partition's group number.
2017-01-04 20:03:12 -05:00
Lioncash
6ff21c48cb
DiscScrubber: Correct printf specifiers
2017-01-04 19:56:39 -05:00
Lioncash
b1a2dec78a
DiscScrubber: Convert a #define into a typed constant
2017-01-04 19:53:31 -05:00
Lioncash
045a8400e6
IOFile: Make the move constructor and move assignment operator noexcept
...
Certain parts of the standard library try to determine whether or not a
transfer operation should either be a copy or a move. The prevalent notion
of move constructors/assignment operators is that they should not throw,
they simply move an already existing resource somewhere else.
This is typically done with 'std::move_if_noexcept'. Like the name says,
if a type's move constructor is noexcept, then the functions retrieves an
r-value reference (for move semantics), or an l-value (for copy semantics)
if it is not noexcept.
As IOFile deletes the copy constructor and copy assignment operators,
using IOFile with certain parts of the standard library can fail in
unexcepted ways (especially when used with various container
implementations). This prevents that.
2017-01-04 18:37:48 -05:00
Lioncash
9b8f5bce22
IOFile: Change 'operator void*' into 'explicit operator bool'
...
'operator void*' is basically a pre-C++11-ism that was used, as C++03
only had the notion of implicit type-conversion operators, but not explicit type
conversion operators (allowing implicit conversion of a file handle to
bool can go downhill pretty quickly).
2017-01-04 18:10:21 -05:00
Lioncash
c541e1099e
IOFile: Make class variables private
...
Internals shouldn't be directly exposed.
2017-01-04 17:48:46 -05:00
Lioncash
c21dad9e83
IOFile: Get rid of unnecessary unimplemented copy constructor/assignment operator.
...
IOFile already inherits NonCopyable.
2017-01-04 17:47:40 -05:00
Lioncash
5b1aae0cbf
DiscScrubber: Make struct and variable names conformant to the coding style
2017-01-04 17:04:41 -05:00
Lioncash
4a9bc2340b
DiscScrubber: Convert into a class
...
Allows potential multiple scrubbers to run at once. Also gets rid of the
need to explicitly clean up resources.
2017-01-04 16:06:21 -05:00
Lioncash
2cfc0dc8b6
DSPDisassembler: directly initialize AssemblerSettings struct members
...
Same thing, less code.
2017-01-04 12:53:22 -05:00
Lioncash
5518c6625b
PatchEngine: Get rid of a global variable
2017-01-03 18:59:33 -05:00
Lioncash
342b76a594
DSPJitRegCache: Make single argument constructor explicit
...
Prevents implicit conversions.
2017-01-02 15:03:31 -05:00
Lioncash
f8c6b3b5f1
JitRegCache: Move FlushMode enum into RegCache
...
This also makes it a strongly-typed enum.
Considering that the flushing mode is a trait/behavior for the register
cache, it doesn't really make sense to have the enum separate from it.
This also has the benefit of removing constants from global scope.
2017-01-02 13:43:37 -05:00
Lioncash
3b4290b5b7
DSPJitRegCache: Make class variables conform to the coding style
2017-01-02 12:16:29 -05:00
Mat M
3f5f7fc564
Merge pull request #4590 from hthh/macos-no-pch-fix
...
macOS: Add missing includes to fix no-PCH build
2017-01-01 20:27:30 -05:00
Mat M
b10a0de769
Merge pull request #4535 from lioncash/regcache
...
Jit64: Make register caches not rely on the global jit variable
2017-01-01 18:01:29 -05:00
Mat M
6c5063c76b
Merge pull request #4585 from lioncash/dspnamespace
...
DSP: Namespace remaining un-namespaced DSP code
2017-01-01 17:54:39 -05:00
Lioncash
3eb25cea6f
DSP: Namespace remaining un-namespaced DSP code
2016-12-31 17:20:14 -05:00
Lioncash
efbf261e97
DSPAnalyzer: Fix two clang warnings about sign mismatched types
2016-12-29 10:10:38 -05:00
Lioncash
2aefa29941
DSP: Add the interpreter to the DSP namespace
2016-12-29 07:05:17 -05:00
Lioncash
c79cc3f470
DSP: Namespace the JIT
2016-12-28 20:38:41 -05:00
Lioncash
407f3af8c3
JitRegCache: Get rid of reliance on the jit global variable
2016-12-28 17:52:58 -05:00