Léo Lam
01faa5c852
FileUtil: Use errno for printing errors in IsDirectory
...
stat() returns an error code in errno on both POSIX compliant
platforms and Windows.
This means we should always use errno instead of GetLastErrorMsg
which uses GetLastError() (Win32) on Windows.
2017-06-16 12:43:41 +02:00
Léo Lam
aa63199977
FileUtil: Don't manually strip trailing slashes
...
POSIX allows one or more trailing slashes for directories.
From POSIX.1-2008, section 3.271 (Base Definitions / Pathname):
> A pathname can optionally contain one or more trailing <slash>
> characters. Multiple successive <slash> characters are considered to
> be the same as one <slash>, except for the case of exactly two
> leading <slash> characters.
On Windows, the extra trailing slashes are ignored for directories too.
2017-06-16 12:31:26 +02:00
Shawn Hoffman
f469d86467
cmake/win32: add CompatPatches
2017-06-15 21:26:40 -07:00
Shawn Hoffman
1210c74955
[windows]: Apply compatibility patches to problematic gamepad vibration drivers.
...
Move ucrtFreadWorkaround to use the new LdrWatcher.
2017-06-15 21:21:01 -07:00
Leo Lam
8f460a1cda
Merge pull request #5611 from JosJuice/reorganize-file-namespace
...
Reorganize File namespace
2017-06-15 23:28:36 +02:00
JosJuice
cf94ce6305
Add a namespace to OpenFStream
...
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
JosJuice
f09ceaa735
Move IOFile to a separate file
...
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
Léo Lam
0d58a0bfe2
HttpRequest: Add support for custom timeouts
2017-06-13 19:17:11 +02:00
Léo Lam
ba3f16edbf
HttpRequest: Add support for sending custom headers
2017-06-13 12:52:31 +02:00
Léo Lam
8f87433719
HttpRequest: Log response body on failure
2017-06-13 12:52:31 +02:00
Léo Lam
18678afa6d
Common: Add HttpRequest to simplify HTTP requests
...
Too much boilerplate that is duplicated if we use curl directly.
Let's add a simple wrapper class that hides the implementation details
and just allows to simply make HTTP requests and get responses.
2017-06-13 12:52:31 +02:00
Léo Lam
17ef4c8046
StringUtil: Make SplitString return by value
...
Simpler usage.
2017-06-11 16:48:20 +02:00
MerryMage
33879bf611
Config: Remove creation of unnecessary CommandLine layer
2017-06-10 19:07:17 +01:00
Shawn Hoffman
f206a4ea9c
remove MemUsage, and therefor psapi dependency
2017-06-08 22:25:46 -07:00
Shawn Hoffman
fd166032ab
msbuild: obey some warnings about missing virtual destructors
2017-06-07 20:20:25 -07:00
Shawn Hoffman
9357cee2ef
do not assign in conditional statements
2017-06-07 20:09:44 -07:00
Shawn Hoffman
e1a3e41bf3
fix various instances of -1 being assigned to unsigned types
2017-06-07 19:52:07 -07:00
Shawn Hoffman
f7f1d5d2ca
msvc: disable meaningless constant truncation warnings in SDCardUtil
2017-06-07 18:44:03 -07:00
Shawn Hoffman
4f9dd7277b
msvc: disable unused symbol warning in Core/Common/Crypto/ec.cpp
2017-06-07 18:44:03 -07:00
JosJuice
b2af07a7b7
DiscIO: Remove C/I/S prefixes from class names
...
These prefixes were inconsistent with the rest of Dolphin.
I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13
.
2017-06-06 12:31:59 +02:00
shuffle2
442e614021
Merge pull request #5536 from sepalani/getstring
...
HLE: Prevent GetStringVA to strip newlines
2017-06-05 21:31:09 -07:00
shuffle2
c8166951a0
Merge pull request #5418 from MerryMage/config-again-and-again
...
VideoConfig: Port to layered configuration system
2017-06-05 21:11:04 -07:00
Sepalani
f28f23af1d
StringUtil: StringPopBackIf added
2017-06-06 05:08:51 +01:00
shuffle2
192fec50b9
Merge pull request #5276 from ligfx/macosheadless
...
Add headless support on macOS
2017-06-05 20:49:02 -07:00
Léo Lam
d9fd056803
Fix minor formatting issues
...
These were not caught by the lint script while it was broken.
2017-06-05 02:32:19 +02:00
Shawn Hoffman
397720a9fe
might as well update yet some more pointless version numbers..
2017-06-03 18:20:40 -07:00
MerryMage
1e766ab490
Config: Add layers CommandLine and CurrentRun
2017-06-03 18:11:57 +01:00
MerryMage
1548a15c68
Config: Implement Get and Set
2017-06-03 18:11:56 +01:00
MerryMage
6151bc1714
Config: Extract layer search order to header
2017-06-03 18:11:56 +01:00
Léo Lam
74f636dfc4
Analytics: Don't crash when a DNS resolve times out
2017-06-03 14:09:14 +02:00
Léo Lam
e38a66fe1b
Common: Add a std::variant implementation
...
Based on https://github.com/mpark/variant (which is based on libc++).
2017-06-03 12:36:24 +02:00
Léo Lam
b08653d69d
Common: Add a std::optional implementation
...
std::optional makes a few things a bit neater and less error prone.
However, we still cannot use C++17 (unfortunately), so this commit
adds an implementation of std::optional that we can use right now.
Based on https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/lib/gtl/optional.h
which seems to be fairly similar to C++17's <optional> and standards
compliant. It's one of the few implementations that handle propagating
type traits like copy constructibility, just like libc++/libstdc++.
2017-06-03 12:36:24 +02:00
shuffle2
3443454ba2
Merge pull request #5271 from JosJuice/allow-aslr
...
Allow (but don't force) ASLR
2017-06-02 21:53:02 -07:00
BhaaL
072c161445
upgrade to Windows SDK 10.0.15063.0
...
this is required for /permissive- to work, because some headers in the
Windows SDK use Microsoft extensions that are not allowed in standards mode
2017-05-28 13:37:31 +02:00
Michael Maltese
d416cbd9ed
Add CubebUtils namespace and hook up cubeb logging
2017-05-27 18:28:57 -07:00
Pierre Bourdon
d592bdd4d4
Migrate to Visual Studio 2017.
...
Auto-generated by the IDE, I'll trust it knows what it's doing.
2017-05-25 15:58:59 -07:00
JosJuice
89e60a41eb
MemoryUtil: 0 -> nullptr
2017-05-20 09:35:53 +02:00
JosJuice
4b4cf509f8
Remove code for only allocating low memory
...
This is unnecessary when we have position-independent code.
2017-05-20 09:35:53 +02:00
Léo Lam
f96ab66d31
Drop remnants of the plugin system
2017-05-19 19:13:16 +02:00
MerryMage
bd3e493695
Section: Fix Section::Get
2017-05-13 15:22:29 +01:00
Léo Lam
6185933d18
Config: Fix a formatting issue
...
Not sure why clang-format did not catch this on the lint builder, but
it definitely doesn't like the lines being too long here.
2017-05-10 17:56:09 +02:00
MerryMage
32d9428171
Config/Layer: Fix accidental cast of RecursiveSection to Section
2017-05-09 00:17:00 +01:00
JosJuice
40653a6607
NandPaths: Make .h function order match .cpp
2017-05-06 17:51:50 +02:00
JosJuice
36b9e3dd35
Don't duplicate code for getting paths based on title IDs
...
I've seen the expression (u32)(title_id >> 32), (u32)title_id
a few more times in my life than I would've liked to...
2017-05-06 17:45:08 +02:00
Léo Lam
5088fac54b
Merge pull request #5354 from leoetlino/iosc
...
IOS: Implement IOSC-like library (+ bug fixes)
2017-05-04 19:58:47 +02:00
degasus
7389f0f55e
Analytics: Set proper thread name.
2017-05-03 23:59:29 +02:00
Markus Wick
eaa4565e63
Merge pull request #5362 from Tilka/hash
...
Common/Hash: small cleanup
2017-05-03 23:44:48 +02:00
Tillmann Karras
c54c49714d
Arm64Emitter: add FRECPE
2017-05-03 08:02:35 +01:00
Tillmann Karras
3a13e1aa7a
Common/Hash: small cleanup
2017-05-03 06:40:52 +01:00
Tillmann Karras
25f61f0329
Common/Hash: use __crc32d() intrinsic on ARM64
2017-05-03 06:40:47 +01:00
Léo Lam
f8fb9e2d03
IOS: Implement IOSC-like API
...
This prevents the IOS crypto code and keys from being spread over
the codebase. Things only have to be implemented once, and can be
used everywhere from the IOS code.
Additionally, since ES exposes some IOSC calls directly (DeleteObject
and Encrypt/Decrypt), we need this for proper emulation.
Currently, this only supports AES key objects.
2017-05-02 23:49:22 +02:00
Anthony
d4e424fad5
Merge pull request #5272 from spycrab/master
...
Convert VolumeDirectory names back to SHIFT-JIS (issue #9988 )
2017-05-02 11:41:53 -07:00
Pierre Bourdon
e9349cf029
Merge pull request #5283 from spycrab/issue_9622
...
Make ENABLE_ANALYTICS=0 do something (Issue #9622 )
2017-05-01 21:09:55 +02:00
spycrab
e66ad018f4
Convert VolumeDirectory names back to SHIFT-JIS (issue #9988 )
2017-05-01 14:08:47 +02:00
Stenzek
12bde06dc3
GLExtensions: Add GL_EXT_texture_compression_s3tc
2017-04-29 00:14:23 +10:00
spycrab
366aeeb488
Make ENABLE_ANALYTICS=0 do something
2017-04-26 23:27:13 +02:00
MerryMage
73cdf9ecb5
ArmCPUDetect: Add missing include
...
<cstring> is required for strncpy
2017-04-21 11:03:40 +01:00
Michael Maltese
c63925dc21
AGL: small style fixes
2017-04-15 20:54:19 -07:00
Michael Maltese
4770e66811
AGL: refactor some functions
2017-04-15 20:53:47 -07:00
Michael Maltese
5298328cb1
Add headless support on macOS
2017-04-15 19:34:42 -07:00
JosJuice
2f9df072d6
Rename Misc.cpp to CommonFuncs.cpp
...
Because its only function is declared in CommonFuncs.h.
2017-04-15 00:41:09 +02:00
Markus Wick
60d8ee4916
Merge pull request #5250 from MerryMage/psq_st
...
Jit_LoadStorePaired: Make psq_st PIE-compliant
2017-04-12 20:52:59 +02:00
MerryMage
a95010bc72
x64Emitter: Allow code alignment to arbitrary power of 2
2017-04-12 08:41:51 +01:00
MerryMage
6df8343e72
MathUtil: References can be const
2017-04-12 06:15:18 +01:00
MerryMage
f7ed979e30
Jit64AsmCommon: Make frsqrte and fres PIE-compliant
2017-04-11 20:25:18 +01:00
Mat M
59d93f3a0d
Merge pull request #5219 from lioncash/common
...
FileSearch: Namespace functions under the Common namespace
2017-04-08 17:19:00 -04:00
Mat M
f09d17f40f
Merge pull request #5161 from leoetlino/es-formats-tests
...
Add unit tests for IOS/ESFormats
2017-04-08 17:10:57 -04:00
Lioncash
f7a2f6ad01
FileSearch: Namespace functions under the Common namespace
2017-04-07 01:02:14 -04:00
Sepalani
c170659189
StringUtil: Fix a ctype assertion
2017-04-06 15:02:21 +01:00
Léo Lam
c4d5076696
Common: Add missing set(LIBS ...) for mbedtls
2017-04-05 20:54:11 +02:00
Markus Wick
3bd184a255
Merge pull request #4467 from stenzek/gpu-texture-decoding
...
VideoBackends: GPU Texture Decoding
2017-04-03 10:46:13 +02:00
Markus Wick
fd7f7c5541
Merge pull request #5159 from ligfx/arm64warnings
...
Arm64: a slew of warning fixes
2017-04-02 17:07:17 +02:00
Stenzek
c8cbbd831d
GLExtensions: Seperate GL_ARB_compute_shader from GL 4.3
...
Allows the usage of glDispatchCompute from GLES (requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek
4e24bfd0ce
GLExtensions: Seperate GL_ARB_shader_image_load_store from GL 4.2
...
Allows the usage of glBindImageTexture and glMemoryBarrier from GLES
(requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek
bd15d0352a
GLExtensions: Seperate GL_ARB_texture_storage from GL 4.2
...
This allows us to use glTexStorage on GL3.3 implementations that support
the extension.
2017-04-01 12:31:40 +10:00
Léo Lam
e1020cb674
Common: Remove dead code in NandPaths
2017-03-30 18:48:50 +02:00
Anthony
2c531889b2
Merge pull request #5139 from lioncash/bitfield
...
BitField: Minor cleanup
2017-03-28 09:15:37 -07:00
Matthew Parlane
85d74a506f
Merge pull request #4951 from waddlesplash/haiku-2
...
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
Augustin Cavalier
0831dad467
Initial support for Haiku.
2017-03-27 23:46:19 -04:00
Léo Lam
32a1b5068a
Revert "Use a single libusb context"
...
This reverts commit c8a6dc6c23
.
libusb on Windows isn't really safe to use from different threads
with a single context.
2017-03-26 15:58:30 +02:00
Michael Maltese
3f8a471d64
EGL: Fix missing-braces warning
...
Fixes warning:
```
../Source/Core/Common/GL/GLInterface/EGL.cpp:57:7: warning: suggest braces around initialization of subobject [-Wmissing-braces]
EGL_OPENGL_BIT, (1 << 6), /* EGL_OPENGL_ES3_BIT_KHR */
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2017-03-25 17:09:50 -07:00
Michael Maltese
3d7bace9da
Arm64Emitter: extract lambda to AddImmediate()
...
Fixes warning:
```
Source/Core/Common/Arm64Emitter.cpp:4108:31: error: declaration shadows a local variable [-Werror,-Wshadow]
auto addi = [this](ARM64Reg Rd, ARM64Reg Rn, u64 imm, bool shift, bool negative, bool flags) {
^
/var/lib/buildbot/slave/pr-android/build/Source/Core/Common/Arm64Emitter.cpp:4105:46: note: previous declaration is here
void ARM64XEmitter::ADDI2R_internal(ARM64Reg Rd, ARM64Reg Rn, u64 imm, bool negative, bool flags,
^
```
2017-03-25 14:21:19 -07:00
Michael Maltese
c58ba93503
Arm64: Use PRIi64/PRIx64 for printf
2017-03-25 14:20:44 -07:00
Anthony
b099a1c02a
Merge pull request #5135 from lioncash/ini
...
IniFile: Minor changes
2017-03-24 19:33:09 -07:00
Lioncash
b711daee5f
BitField: Get rid of a C-style cast
...
This can simply be the max value of the unsigned type.
2017-03-23 15:28:58 -04:00
Lioncash
e43c495ce5
BitField: Convert typedefs to using aliases
2017-03-23 15:28:50 -04:00
Lioncash
caef08988e
BitField: Make mostly constexpr capable
...
Makes the constructor and retrieval functions constexpr.
2017-03-23 11:45:45 -04:00
Lioncash
a7ec2d3831
Arm64Emitter: Get rid of pointer casts in PoisonMemory
...
The previous code invokes undefined behavior.
2017-03-23 07:10:21 -04:00
Lioncash
29ca22905b
IniFile: Replace a character erase with pop_back()
...
Same thing, more straightforward.
2017-03-22 19:32:10 -04:00
Lioncash
35959bdaf9
IniFile: Replace string joining code with JoinString
2017-03-22 19:30:15 -04:00
Lioncash
b92871111a
IniFile: std::move a std::string in GetLines
...
Also gets rid of an unnecessary string copy.
2017-03-22 19:09:25 -04:00
Lioncash
dbdf693c81
IniFile: Use character literals instead of string literals where applicable
...
Character overloads are generally better overall (range checks aren't
necessary, etc).
2017-03-22 19:03:17 -04:00
Lioncash
d8998b6392
IniFile: Provide an rvalue reference overload for SetLines
...
Allows moving in vectors instead of performing an unnecessary copy.
2017-03-22 18:49:13 -04:00
Lioncash
46d74a7760
IniFile: Make Section's string constructor instances take strings by value
...
As the name is immediately stored into a class member, a move here is a
better choice.
This also moves the constructor implementations into the cpp file to
avoid an otherwise unnecessary inclusion in the header. This is also
likely a better choice as Section contains several non-trivial members,
so this would avoid potentially inlining a bunch of setup and teardown
code related to them as a side-benefit.
2017-03-22 18:47:19 -04:00
Lioncash
99adc73383
IniFile: Make Section constructor explicit
2017-03-22 18:07:23 -04:00
MerryMage
da434e1a1c
ConstantPool: Externalize memory allocation
2017-03-21 20:16:12 +00:00
MerryMage
615fcc621d
CodeBlock: Add support for multiple children
2017-03-21 20:16:12 +00:00
Anthony
d2690568f9
Merge pull request #5110 from MerryMage/const-pool
...
Jit64: Implement a constant pool
2017-03-20 13:29:57 -07:00
MerryMage
ff441efc26
EmuCodeBlock: Use ConstantPool
2017-03-20 20:21:42 +00:00
aldelaro5
8bf27cf42f
Fix memory breakpoint when checking the middle of the data
...
If the delimiters of a memory aren't exactly the same as an address, but their size includes the memory breakpoint delimiter, the break will not go through. This makes it so that you can specify a search for a memory breakpoint with a data size and will check if the data fits with that size on all memory breakpoints so the breaks go through.
2017-03-18 22:48:57 -04:00