Commit graph

2400 commits

Author SHA1 Message Date
Lioncash
45415e1057 ColorUtil: Make decodeCI8image's pal parameter const 2017-01-13 17:07:26 -05:00
Matthew Parlane
5790f15be8 Merge pull request #4299 from sepalani/hle_symbols
SymbolDB: Multiple symbols detection allowed
2017-01-13 10:05:32 +13:00
Léo Lam
64101137cd Remove pre-generated SYSCONF
Dolphin is able to generate one with all correct default settings, so
we don't need to ship with a pre-generated SYSCONF and worry about
syncing default settings.

Additionally, this commit changes SysConf to work with session SYSCONFs
so that Dolphin is able to generate a default one even for Movie/TAS.
Which SYSCONF needs to be touched is explicitly specified to avoid
confusion about which file SysConf is managing.

(Another notable change is that the Wii root functions are moved into
Core to prevent Common from depending on Core.)
2017-01-12 21:30:11 +01: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
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
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
Matthew Parlane
7a5fe4b7ed Merge pull request #4624 from leoetlino/jit-warning-fixes
Add the g_ prefix to the jit global
2017-01-08 13:19:16 +13: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
Léo Lam
8bef7259e3 Add the g_ prefix to the jit global
Jan 04 22:55:01 <leoetlino>   fwiw, it looks like there are new warnings in the RegCache code
Jan 04 22:55:04 <leoetlino>   Source/Core/Core/PowerPC/Jit64/FPURegCache.cpp:13:33: warning: declaration shadows a variable in the global namespace [-Wshadow]
Jan 04 22:56:19 <@Lioncash>   yeah, the jit global should have a g_ prefix.

This fixes shadowing warnings and adds the g_ prefix to a global.
2017-01-07 23:19:49 +01:00
JosJuice
5e2b2f059f Don't use generic byteswapping on Android
This seems to work fine nowadays.
2017-01-06 13:56:53 +01:00
BhaaL
23d99f2f2c specify custom brace style to fix unions
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01: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
JosJuice
0f1ce0e1f4 Remove incorrect usage of "ASCII" and "ANSI"
Windows-1252 was sometimes being referred to as ASCII or ANSI
in Dolphin, which is incorrect. ASCII is only a subset of
Windows-1252, and ANSI is (rather improperly) used in Windows
to refer to the current code page (which often is 1252 on
Western systems, but can also be something entirely different).

The commit also replaces "SJIS" with "Shift JIS". "SJIS"
isn't misleading, but "Shift JIS" is more commonly used.
2016-12-26 15:49:39 +01:00
Mat M
40e36ebd1e Merge pull request #4550 from linkmauve/no-readdir_r
Common: Replace deprecated readdir_r with readdir
2016-12-25 17:34:50 -05:00
JosJuice
e56bec9c87 Fix outdated comments in ScanDirectoryTree 2016-12-25 21:57:33 +01:00
Emmanuel Gil Peyrot
495dfdb16c Common: Replace deprecated readdir_r with readdir
Fixes a warning under recent glibc.
2016-12-24 16:18:47 +01:00
Sepalani
8d812db9ad SymbolDB: Use set to map hash with symbols 2016-12-19 21:03:29 +00:00
Sepalani
7e974f1064 SymbolDB: GetSymbolsFromHash added 2016-12-19 21:03:28 +00:00
Sepalani
d778b8a820 SymbolDB: GetSymbolsFromName added 2016-12-19 21:02:23 +00:00
Sepalani
a6114bad34 Import/Export signature files as CSV 2016-12-18 00:27:10 +00:00
Markus Wick
d64c9dd5c9 Merge pull request #4419 from degasus/master
Jit64: Fix a few trivial PIE issues.
2016-12-12 10:58:16 +01:00
Léo Lam
31ccfffd38 Common: Add alignment header
Gets rid of duplicated alignment code.
2016-12-06 20:33:53 +01:00
degasus
21f3e97435 Jit64: Avoid pointer casts if possible. 2016-12-04 13:09:16 +01:00
JosJuice
3cfc49a613 Merge pull request #4472 from JosJuice/revert-absolute-path
IOS HLE: Replace broken path traversal prevention
2016-11-29 18:34:22 +01:00
Stenzek
7353cae707 GLInterface: Implement core and shared context creation for WGL 2016-11-29 20:04:32 +10:00
JosJuice
c74c317ab5 IOS HLE: More robust escaping of NAND paths
Prevents path traversal without needing an absolute path
function, and also improves accuracy (character sequences
like ../ appear to have no special meaning in IOS).

This removes the creation and usage of /sys/replace,
because the new escapes are too complicated to all
be representable in its format and because no other
NAND handling software seems to use /sys/replace.
2016-11-26 22:49:46 +01:00
JosJuice
de355a8521 Revert "IOS HLE: Prevent accessing host file system"
This reverts commit 141f3bfb3a.
The implementation of getting absolute paths wasn't working
on non-Windows systems, which is a huge problem for IOS HLE.
2016-11-26 15:50:28 +01:00
JosJuice
141f3bfb3a IOS HLE: Prevent accessing host file system 2016-11-13 10:03:23 +01:00
Jules Blok
8203ea929b BlockingLoop: Yield to UI message pump while waiting. 2016-11-11 13:37:02 +01:00
shuffle2
ab9f539233 Merge pull request #4387 from aldelaro5/gpr1-and-gpr2-friendly-labels
Add precision about the names of r1, r2 and r13 for the register view
2016-11-03 02:29:40 -07:00
Markus Wick
9ce1cdde98 Merge pull request #4414 from linkmauve/single-newline
Remove double newlines at the end of *_LOG messages
2016-11-02 12:20:46 +01:00
aldelaro5
2f5d00450a Add precision about the names of r1, r2 and r13 for the register view
In the code view, it would never say r1 or r2, but rather sp (stack pointer) and rtoc (register of the table of content) respectively.  In the register view, all it says is the register number.  This is an inconvenience considering it might not be obvious which register belongs to which of these terms.

Also make r13 named the "sda" for small data area with the same convention as above.
2016-11-02 01:13:00 -04:00
Emmanuel Gil Peyrot
c9e6b05ce9 Core: Remove double newlines at the end of *_LOG messages. 2016-11-02 02:09:33 +00:00
Markus Wick
2afa877119 Merge pull request #4376 from leoetlino/warning-fix
Warning fixes
2016-10-31 12:57:03 +01:00
degasus
f1a67bb1a2 JitArm64: Implement divwx 2016-10-29 13:35:23 +02:00
degasus
8ad98d0046 ArmEmitter: Merge AddI2R helpers. 2016-10-27 19:19:06 +02:00
degasus
694e9b4132 JitArm64: ADDI2R optimizations 2. 2016-10-27 19:19:06 +02:00
degasus
1df694626d JitArm64: Optimize addi2r & subi2r. 2016-10-26 21:54:13 +02:00
degasus
df250b84cc JitArm64: Avoid MOVI2R is possible.
Just use all kind of ADDI2R, SUBI2R, ...
They have some optimizations internally.
2016-10-26 21:54:09 +02:00
Léo Lam
1233697b2f Fix unused function warnings 2016-10-23 00:43:08 +02:00
shuffle2
43169d897f Merge pull request #4354 from sepalani/bp_rmtmp_it
BreakPoints: ClearAllTemporary uses valid iterators
2016-10-17 14:14:10 -07:00
Sepalani
771fa943dc BreakPoints: ClearAllTemporary uses valid iterators 2016-10-15 19:21:41 +01:00
Lioncash
ee71d70738 DebugInterface: Make GetRawMemoryString return a std::string 2016-10-07 10:26:26 -04:00
Markus Wick
ff1d70d708 Merge pull request #4308 from aldelaro5/memcheck-gui-relabel
Label debugger memchecks as "Memory Breakpoints" in the GUI
2016-10-06 21:29:14 +02:00
aldelaro5
549060c5b4 Label debugger memchecks as "Memory Breakpoints" in the GUI
This is done to remove confusions among potential debugger users and to also make it more accurately tell what this feature is actually doing.  Despite being true that it is using a memcheck (and it certianly checks that memory), the idea being to break on a memory access isn't really obvious especially considering that memchecks are also used in full MMU emulation to handle exceptions.  It also doesn't help that memchecks are now supported in every builds.

It also changes the corresponding log because this log would be wanted by the user which means it should be more obvious that it was caused by the "memory breakpoint".
2016-10-06 10:51:43 -04:00
shuffle2
f7e25483e6 Merge pull request #4293 from lioncash/pcast
CommonFuncs: Get rid of pointer casting
2016-10-04 19:10:34 -07:00