Commit graph

2610 commits

Author SHA1 Message Date
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
Markus Wick
7b19475911 Merge pull request #4548 from stenzek/gcc-sse
Support SSSE3 texture decoders and CRC32 hashing on non-native builds (gcc)
2017-03-13 14:28:01 +01:00
Matthew Parlane
b1bd231421 Merge pull request #5020 from leoetlino/es-safer-import
IOS/ES: Implement ES_AddTitleCancel (and slightly safer import process)
2017-03-12 16:14:17 +13:00
Léo Lam
9c31d6f5c5 IOS/ES: Handle personalised tickets properly
IOS unpersonalises device-specific ("personalised") tickets prior to
storing them on the NAND.
2017-03-11 21:14:26 +01:00
Léo Lam
e656258949 IOS/ES: Write import files to /import first
This is slightly safer than writing contents to /title directly.
We still cannot rename everything in one go atomically, but this allows
implementing AddTitleCancel very easily.

Also, this ensures that when a title import fails, no incomplete files
will be left in the title directory, which can mess up the system menu.
2017-03-10 22:44:26 +01:00
Michael Maltese
418a7723c8 GLExtensions: remove NV_depth_buffer_float from OpenGL 3.0
Regression introduced in e99cd57 / 4935: VideoBackends: Set the maximum
range when the depth range is oversized[1]. The NV_depth_buffer_float
extension is not part of OpenGL 3.0, and requiring it causes a hard
crash when it's not supported (e.g. macOS).

[1]: https://github.com/dolphin-emu/dolphin/pull/4935
2017-03-10 12:54:46 -08:00
Markus Wick
e99cd57eb3 Merge pull request #4935 from Armada651/depth-range-fix
VideoBackends: Set the maximum range when the depth range is oversized.
2017-03-10 18:05:52 +01:00
Anthony
dc42f7fb28 Merge pull request #4991 from leoetlino/config-loaders
New config loaders
2017-03-09 16:56:14 +00:00