Commit Graph

17995 Commits

Author SHA1 Message Date
Léo Lam 3cdb8fd297 IOS/ES: Fix DeleteTitle to not use CNANDContentManager
* CNANDContentManager does things that are absolutely useless. In
  particular, it parses the ticket, the TMD, reads contents, etc.
  when we only need to remove the title directory.

* This means it will fail if the ticket cannot be found, when that
  should not be the case.

* This also obviously caused DeleteTitle to be incredibly inefficient.

* We are already removing the title directory later in the function,
  as CNANDContentManager does not even delete titles correctly.
  DeleteTitle != DeleteTitleContents.
2017-05-07 16:20:41 +02:00
Léo Lam cc5b5c15ac IOS/ES: Fix a ticket validity check 2017-05-07 16:16:41 +02:00
Corwin McKnight 24657f557e Qt: Port help menu items. 2017-05-07 03:47:10 -07:00
JosJuice 9b8089bb70 ISOFile: Simplify error handling in GetWiiFSPath 2017-05-07 09:28:20 +02:00
JosJuice 55960f7feb ISOFile/GameFile: Correct GetWiiFSPath condition
This code was originally written when there only were three
possible types, but nowadays we also have the DOL/ELF type.
2017-05-07 09:27:20 +02:00
Sepalani 40c243df28 PPCAnalyst: Fix off by one instruction 2017-05-07 04:56:16 +01:00
Sepalani 93ba6aa9f2 PPCAnalyst: Function calls without link added 2017-05-07 04:55:36 +01:00
Sepalani 95d0a48759 PPCAnalyst: EvaluateBranchTarget improved 2017-05-07 04:55:36 +01:00
Mat M ef4a1f0ec7 Merge pull request #5384 from leoetlino/disable
WX: Disable NAND import when emulation is running
2017-05-06 19:38:07 -04:00
Léo Lam 6426ea2b1a WX: Disable NAND import when emulation is running
Oversight from the NAND import PR. Allowing this while Wii
emulation is running is a recipe for failure.
2017-05-07 01:30:44 +02:00
JosJuice 71d105e545 DolphinWX: Use title ID from ISOFile when possible
This skips creating volume objects, which can take a while.
2017-05-06 18:39:51 +02: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 f4179f45b4 Merge pull request #5373 from leoetlino/delete-ticket
IOS/ES: Fix the implementation of ES_DeleteTicket
2017-05-06 13:59:11 +02:00
Léo Lam a24ad85463 Merge pull request #5332 from spycrab/wiimote_casts
Clean up Wiimote* code (comments, casts, underscore variable names)
2017-05-06 13:27:04 +02:00
spycrab c3f435287e Clean up Wiimote* code (comments, casts, variable names) 2017-05-06 12:44:56 +02:00
Markus Wick b4aaf806ec Merge pull request #5372 from JonnyH/WIP/powervr-fixes
Add a workaround for a PowerVR glsl compiler bug
2017-05-05 12:17:25 +02:00
Michael Maltese b14466b7e3 Zelda-HLE: set state to waiting when replacing ucode
Part 2/2 of a fix for using multiple GBAs in Four Swords Adventures.
2017-05-05 02:25:42 -07:00
Michael Maltese 01cc36693a Zelda-HLE: run pending commands when replacing ucode
Part 1/2 of a fix for using multiple GBAs in Four Swords Adventures.
2017-05-05 02:24:53 -07:00
Léo Lam 5fb2ad2b3a IOS/ES: Fix the implementation of ES_DeleteTicket
* It should take a ticket view, not a title ID.
* It's missing a lot of checks.
* It's not deleting tickets properly.
* It's not deleting only the ticket it needs to delete.
* It should not return -1017 when the ticket doesn't exist.
* It's not returning the proper error code when a read/write fails.
* It's not cleaning up the ticket directory if there is nothing left.

This commit fixes its implementation.
2017-05-05 00:32:58 +02:00
Léo Lam a7680a3d1a IOS/ES: Drop code handling non-RSA2048 tickets
* Supporting other ticket types makes the logic slightly more complex.

* There have been no such non-RSA2048 tickets seen during the Wii's
  lifetime.

* The Wii's IOS doesn't even have support for them.
2017-05-05 00:32:57 +02:00
Léo Lam e9571106c2 Merge pull request #5353 from spycrab/qt_contextmenu
Qt: Add missing gamelist contextmenu options
2017-05-04 23:47:21 +02:00
spycrab 2f523afc41 Qt: Add missing gamelist contextmenu options 2017-05-04 23:01:12 +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
Anthony dc4f8dd70b Merge pull request #5345 from JosJuice/consistent-controller-translation
Use _trans consistently for controllers
2017-05-04 09:00:41 -07:00
Jonathan Hamilton 35caf48d7d Add a workaround for a PowerVR glsl compiler bug
It seems it doesn't like negating arguments for bitops, so suff like
"var <<= (-othervar);"
fails to compile
2017-05-03 19:33:56 -07:00
Mat M f3052b7a15 Merge pull request #5318 from ligfx/cmakehidapi
CMake: clean up HIDAPI build
2017-05-03 19:54:06 -04:00
Tilka 2c817545fd Merge pull request #5368 from ligfx/bluezcmake
CMake: only look for Bluez on Linux
2017-05-04 00:32:44 +01:00
Michael Maltese 5230a8c996 CMake: only look for Bluez on Linux
Stops CMake from saying "BlueZ NOT found, disabling bluetooth support"
on other OSes. Windows, macOS, and Android support Bluetooth using other
libraries. I'm not sure if non-Linux, non-Android Unices (like FreeBSD)
need another message?
2017-05-03 15:15:47 -07:00
degasus 7389f0f55e Analytics: Set proper thread name. 2017-05-03 23:59:29 +02:00
degasus afb0beb9ab OpenGL: Mute nvidia performance warning about stalling the GPU.
They are right, our perf query implementation is terrible.
But raising a warning makes it just even slower.
2017-05-03 23:48:14 +02:00
degasus 90d551e0d1 JitArm64: Drop ps_res.
The accuracy doesn't match ppc, and worse, it doesn't set the error flags if the input is zero.

Lets stop to ship broken instructions, so right now, the interpreter is the closest one.
2017-05-03 23:48:14 +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 5c93c98c05 JitArm64: fix ps_res 2017-05-03 08:02:35 +01: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
Anthony e4e37b3a82 Merge pull request #5255 from MerryMage/latency
ConfigManager: Increase default latency for OpenAL backend to 5
2017-05-02 22:18:58 -07:00
Michael Maltese 89eb019788 SignatureDB: fix prevented copy elision
Clang warning:

```
Source/Core/Core/PowerPC/SignatureDB/SignatureDB.cpp:22:17: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
    : m_handler(std::move(CreateFormatHandler(handler)))
                ^
Source/Core/Core/PowerPC/SignatureDB/SignatureDB.cpp:22:17: note: remove std::move call here
    : m_handler(std::move(CreateFormatHandler(handler)))
                ^~~~~~~~~~                            ~
```
2017-05-02 20:01:32 -07:00
Anthony ad829ec7a9 Merge pull request #5232 from MerryMage/osx-screensaver
Disable screensaver on OS X
2017-05-02 19:00:21 -07:00
Mat M 7c3905a612 Merge pull request #5140 from sepalani/signature_db
SignatureDB: Rewrite FormatHandler API
2017-05-02 19:23:46 -04:00
Mat M c51e40f92f Merge pull request #5357 from ligfx/jitintegerwarning
Jit64: fix braces warning in Jit_Integer
2017-05-02 18:44:02 -04:00
Michael Maltese f04747e910 NANDImporter: fix printf warning
Fixes warning:

```
Source/Core/DiscIO/NANDImporter.cpp:55:17: warning: format specifies type 'unsigned long' but the argument has type 'u64' (aka 'unsigned long long') [-Wformat]
                file.GetSize(), NAND_BIN_SIZE);
                ^~~~~~~~~~~~~~
1 warning generated.

```
2017-05-02 15:13:46 -07:00
Léo Lam 08f6c31287 IOS: Reuse more code for crypto operations
This changes some parts of IOS (actually just ES) to reuse more crypto
code from IOSC or Common::AES.

TicketReader still returns the title key directly as opposed to having
ES use IOSC directly to avoid duplicating the title key IV stuff.

Side effects:

* A nasty unbounded array access bug is now fixed.

* ES_Decrypt/ES_Encrypt now returns sane results for keys other than
  the SD key.

* Titles with a Korean ticket can now be decrypted properly.

And in the future, we can look into implementing ioctlv 0x3c and 0x3d
now that we have the proper "infra" for IOSC calls.
2017-05-02 23:49:22 +02: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
Léo Lam e01624f64b IOS: Add/move some useful enums/structs 2017-05-02 23:49:21 +02:00
spycrab f18dd7550a Qt: Fix no games at all showing up all 2017-05-02 23:42:55 +02:00
Michael Maltese b5223fb15f Jit64: fix braces warning in Jit_Integer
Fixes a warning:

```
Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp:54:45: warning: suggest braces around initialization of subobject [-Wmissing-braces]
  static const std::array<u8, 4> ovtable = {0, 0, XER_SO_MASK, XER_SO_MASK};
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            {                             }
```
2017-05-02 14:30:28 -07:00
Anthony 0031a490c1 Merge pull request #5355 from spycrab/qt_duplicate_entry
Qt: Fix gamelist updating
2017-05-02 12:52:53 -07:00
Sepalani 0f74f1ffb3 HLE: Use a proper apploader OSReport 2017-05-02 20:47:47 +01: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
spycrab 7455c9bf51 Qt: Fix gamelist updating 2017-05-02 17:38:47 +02:00
JosJuice 252bb4471d Merge pull request #5350 from lioncash/frame
Frame: Normalize member names
2017-05-02 15:34:50 +02:00
Matthew Parlane e9ad0ec612 Merge pull request #5322 from ligfx/cleanfifofile
FifoPlayer: replace union structures with explicit byte padding
2017-05-02 13:16:24 +12:00
Anthony 86a8a3f656 Merge pull request #5352 from spycrab/qt_gamelist_icons
Qt: Fix platform icons
2017-05-01 14:02:40 -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
spycrab 13ca98923b Qt: Fix platform icons 2017-05-01 13:40:23 +02:00
Léo Lam 3be987be40 IOS/ES: Extend the "fake IOSes" hack to netplay/TAS
Netplay uses a blank NAND, which means that homebrew launchers like
Gecko will force users to install IOSes.

Expecting netplay users to have a proper NAND setup is unrealistic,
and we don't actually give them a good way of syncing NANDs, so
let's extend the hack to netplay/TAS until we have a better way
of dealing with the issue.
2017-05-01 11:32:27 +02:00
Lioncash 9e71031e23 Frame: Normalize member names 2017-05-01 05:13:19 -04:00
Mat M 1bad3bef4b Merge pull request #5344 from lioncash/table
MemoryWindow: Minor cleanup
2017-04-30 18:32:29 -04:00
Mat M 344767a258 Merge pull request #5336 from JosJuice/memcard-shiftjis
Fix display of Japanese text in the Memory Card Manager
2017-04-30 18:22:47 -04:00
Mat M d5534e069c Merge pull request #5334 from spycrab/wx_gamelist_cleanup
Refactor GameListCtrl
2017-04-30 18:21:50 -04:00
Mat M eb8dbe03ad Merge pull request #5349 from JosJuice/more-incorrect-trans
Remove incorrect usage of _trans
2017-04-30 18:20:19 -04:00
Mat M 4f2ecf03b3 Merge pull request #5348 from JosJuice/host-code-ip-address
Mark "Host Code:" and "IP Address:" as translatable
2017-04-30 18:19:21 -04:00
Léo Lam 8e2028e8da Merge pull request #5340 from leoetlino/ios-reorg
IOS: Convert the IOS kernel HLE code to a class
2017-04-30 18:03:32 +02:00
Léo Lam 58fe0f12a4 IOS: Reorder functions in IOS.cpp
Puts them in a more logical order.
2017-04-30 17:18:53 +02:00
Léo Lam 2fc5047d26 IOS: Convert the IOS kernel HLE code to a class
This changes the main IOS code (roughly the equivalent of the kernel)
to a class instead of being a set of free functions + tons of static
variables.

The reason for this change is that keeping tons of static variables
like that prevents us from making an IOS instance and reusing IOS
code easily.

Converting the IOS code to a class also allows us to mostly decouple
IOS from the PPC emulation.

The more interesting changes are in Core/IOS/IOS. Everything else is
mostly just boring stuff required by this change...

* Because the devices themselves call back to the main IOS code
  for various things (getting the current version, replying to a
  request, and other syscall-like functions), just like processes in
  IOS call kernel syscalls, we have to pass a reference to the kernel
  to anything that uses IOS syscalls.

* Change DoState to save device names instead of device IDs to simplify
  AddDevice() and get rid of an ugly static count.

* Change ES_Launch's ack to be sent at IOS boot, now that we can do
  this properly.
2017-04-30 17:18:53 +02:00
JosJuice 8b5980f33e Remove incorrect usage of _trans
It only marks a string for translation. It doesn't actually do anything
at runtime, so the string will always be displayed in English. Even if
we would've had a way to make the translation work, we shouldn't
translate this, because OSD doesn't support non-ASCII characters.
2017-04-30 15:15:08 +02:00
JosJuice f92331b925 Mark "Host Code:" and "IP Address:" as translatable
Also remove some spaces before colons.
2017-04-30 15:09:57 +02:00
JosJuice b248016e41 Mark "Recenter" for translation 2017-04-30 14:05:05 +02:00
JosJuice 0e93c18902 Use _trans consistently for controllers
Some strings were marked with _trans in some places but not
others. This commit adds extra _trans markers so that the
usage of _trans is consistent.

This shouldn't have any effect on which strings actually get
translated. (Note that _trans doesn't do anything at runtime.)

I also added a few new i18n comments.
2017-04-30 14:04:21 +02:00
Lioncash 683462679b MemoryWindow: Remove unused member variable 2017-04-30 06:35:59 -04:00
Lioncash 9a778786df MemoryWindow: Convert event table over to bound events
Event tables are the old method of performing event binding.
2017-04-30 06:35:41 -04:00
Lioncash aad9fd6751 MemoryWindow: Localize sizer creation code
Keeps specific UI element initialization separate from one another.
2017-04-30 06:20:26 -04:00
Lioncash 402faf3758 MemoryWindow: Make constructor explicit 2017-04-30 03:22:36 -04:00
Lioncash 7941a05a80 MemoryWindow: Add missing translation markers for UI strings 2017-04-30 03:22:35 -04:00
Lioncash 4c70f05fe0 MemoryWindow: Get rid of unnecessary std::string constructions
std::string's operator+ will handle this. Also move std::string to where
they're actually needed. There's no need to construct an unnecessary
string if the first failure case occurs.
2017-04-30 03:22:34 -04:00
Lioncash 7cf78a00eb MemoryWindow: Normalize variable naming 2017-04-30 03:22:25 -04:00
Tilka f0a89f8daf Merge pull request #5342 from sepalani/ppc-analyst-crash
PPCAnalyst: Prevent a crash when outside the RAM
2017-04-30 03:47:33 +01:00
Sepalani 2f0f63fdbc PPCAnalyst: Prevent a crash when outside the RAM 2017-04-30 02:45:10 +01:00
Sepalani 02f9c03c45 HLE: Fix apploader regression 2017-04-30 02:21:50 +01:00
Léo Lam f56a9b660d Merge pull request #5077 from ds84182/volume_directory_off_by_uno
Fix VolumeDirectory for Wii games
2017-04-29 23:57:32 +02:00
Léo Lam 4105beb999 Merge pull request #5321 from leoetlino/wad-uninstall
WX: Add the ability to uninstall WADs from the game list
2017-04-29 22:24:41 +02:00
Anthony ecf5f7d5f4 Merge pull request #4469 from sepalani/fix_xfb_debug
[HLE] Fixes XFB issues in Debug Mode
2017-04-29 12:48:53 -07:00
Anthony 4245ed8895 Merge pull request #5178 from sepalani/fix-sym-map-read
BootWiiWAD: Prevents SymbolMap loading
2017-04-29 12:48:05 -07:00
Anthony cb2e7a6cac Merge pull request #5240 from sepalani/find_handlers
PPCAnalyst: Find interrupt/exception handlers
2017-04-29 12:44:41 -07:00
Anthony 4d3a794942 Merge pull request #5238 from sepalani/ppc-analyst-rfi
PPCAnalyst: Support return from interrupt
2017-04-29 12:44:18 -07:00
Sepalani e8f52e467b PPCAnalyst: Find interrupt/exception handlers 2017-04-29 20:21:21 +01:00
Sepalani 7cee62bbb3 PPCAnalyst: Support return from interrupt 2017-04-29 20:16:31 +01:00
Sepalani dd039cd311 PPCAnalyst: Skip nop alignment 2017-04-29 20:10:52 +01:00
Sepalani 3f2f3679cd PPCAnalyst: Prevent PanicAlert due to invalid read 2017-04-29 20:08:25 +01:00
Sepalani d20a404a87 BootWiiWAD: Prevents SymbolMap loading 2017-04-29 20:00:13 +01:00
Sepalani 5f81226d8d SignatureDB: MEGA FormatHandler added 2017-04-29 19:50:21 +01:00
Sepalani 82afda94f4 SignatureDB: Use explicit construction 2017-04-29 19:50:20 +01:00
Sepalani a9b52ce91b SignatureDB: Rewrite FormatHandler API 2017-04-29 19:50:20 +01:00
Sepalani 2daf5cb86f SignatureDB: const correctness and cleanup 2017-04-29 19:50:19 +01:00
Sepalani f392e472cc [HLE] JitIL: Fixes invalid logs 2017-04-29 19:38:42 +01:00
Sepalani 5ea798b726 [HLE] Jit: Fixes invalid logs 2017-04-29 19:38:41 +01:00
Sepalani 51def492c7 [HLE] CachedInterpreter: Fixes invalid logs 2017-04-29 19:38:41 +01:00
Sepalani e0e93fc3a6 [HLE] Interpreter: Fixes invalid logs 2017-04-29 19:38:40 +01:00
Sepalani 4f9e5e1141 [HLE] Added GetFirstFunctionIndex matching the start address 2017-04-29 19:38:40 +01:00
Sepalani e259b3fa76 [HLE] Fixes XFB and invisible printf 2017-04-29 19:38:39 +01:00
Stenzek a2cba6d72f Merge pull request #5279 from stenzek/compressed-custom-textures
Native compressed custom texture support
2017-04-30 00:44:06 +10:00
Léo Lam da880c2a98 Merge pull request #5333 from leoetlino/es-functions
IOS/ES: Handle contexts properly
2017-04-29 14:06:10 +02:00
Léo Lam f8ab521e6d Merge pull request #5335 from JosJuice/clinclude-tgcblob
Fix TGCBlob.h's listing in DiscIO.vcxproj.filters
2017-04-29 13:35:26 +02:00
JosJuice d2b20f3163 Fix display of Japanese text in the Memory Card Manager 2017-04-29 11:18:08 +02:00
MerryMage d4e2529f13 JitArm64: Use CR cache 2017-04-29 09:31:28 +01:00
MerryMage a9fbf69cad JitArm64_RegCache: Implement caching of cr_val 2017-04-29 09:31:28 +01:00
Stenzek cc851c41c1 TextureCache: Move host texture utility functions to VideoCommon
The appropriate place for these would be AbstractTexture, once it is
finished.
2017-04-29 13:46:43 +10:00
Stenzek de348fc952 HiresTextures: Support loading uncompressed .DDS files
Will load files with formats RGBA8, RGBX8, BGRA8, BGRX8, RGB8.
2017-04-29 13:46:43 +10:00
Stenzek 20cbef8e9f HiresTextures: Move the maximum mip level check from DDS to main loader
This way that the mip count check occurs on .png and uncombined DDS
textures as well.
2017-04-29 13:46:43 +10:00
Stenzek a6a13f51c1 HiresTextures: Support DXT10 extended header in DDS loader 2017-04-29 13:46:43 +10:00
Stenzek 8761c8244d HiresTextures: Load full mipmap chain from DDS files
This removes the need for multiple texture files to store the mipmap
chain for a texture. As many mipmaps will be loaded as are present in
the DDS file, and any remaining mipmaps will fall back to the old
behavior.
2017-04-29 13:46:43 +10:00
Stenzek c53a60f3c3 Vulkan: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek 3f18c5e0f1 D3D12: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek 2d75c2ab10 D3D11: Support native compressed textures 2017-04-29 13:46:42 +10:00
Léo Lam c4136d0365 IOS/ES: Handle contexts properly
This changes the IOS code to handle ES contexts inside of ES, instead
of leaking out implementation details into the IPC request dispatcher.

The intent is to clarify what's shared between every single ES context,
and what is specific to an ES context. (Not much.) This should reduce
the number of static members in the ES class.

The other changes are there just because we now keep track of the
IPC FD inside of ES.

Future plans:

* After the WAD direct launch hack is dropped, the title context
  will be made a class member.

* Have proper function prototypes, instead of having every single one
  of them take ioctlv requests. This will allow reusing IOS code in
  other parts of the Dolphin codebase without having to construct
  ioctlv requests.
2017-04-28 20:20:51 +02:00
JosJuice d1b54f7697 Fix TGCBlob.h's listing in DiscIO.vcxproj.filters 2017-04-28 18:16:08 +02:00
spycrab 303b54a3a5 Refactor GameListCtrl 2017-04-28 17:35:23 +02:00
Stenzek f5d95dcc86 OGL: Use native compressed textures on supported drivers 2017-04-29 00:44:34 +10:00
Stenzek 12bde06dc3 GLExtensions: Add GL_EXT_texture_compression_s3tc 2017-04-29 00:14:23 +10:00
Stenzek f4b848949c TextureCache: Support compressed textures and pass pitch/size to upload
This also removes an extra copy of the image for custom textures.
2017-04-29 00:14:23 +10:00
Stenzek bc8a96d713 HiresTextures: Support parsing DDS files directly
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
Stenzek 68ee4fc932 Merge pull request #5296 from stenzek/vulkan-postprocessing
Vulkan: Implement support for post-processing
2017-04-28 22:50:14 +10:00
Michael Maltese 655ab9b4e2 CMake: clean up HIDAPI build 2017-04-27 02:41:00 -07:00
Léo Lam 65d37ee2dc IOS/ES: Drop unnecessary memset for vectors
IOS doesn't do it, and we don't need it anyway, so let's not do it.
2017-04-27 00:01:26 +02:00
Léo Lam 9fc394f9c7 Merge pull request #5328 from leoetlino/wiimote-fix
Fix emulated Wiimotes
2017-04-26 23:58:53 +02:00
Léo Lam 4d42a098c3 WiimoteCommon: add static_assert for struct sizes 2017-04-26 23:53:44 +02:00
Léo Lam 6c1c8e03b8 Fix emulated Wiimotes 2017-04-26 23:30:24 +02:00
spycrab 366aeeb488 Make ENABLE_ANALYTICS=0 do something 2017-04-26 23:27:13 +02:00
MerryMage 8799f6b64f JitArm64_SystemRegisters: Fix crXXX (set 32nd bit) 2017-04-26 21:51:47 +01:00
Léo Lam 341fefd65a Merge pull request #5289 from sepalani/mem-find
MemoryWindow: Replace Search with Find Next/Previous buttons
2017-04-26 21:16:08 +02:00
Léo Lam 560c66f9c6 Merge pull request #5324 from leoetlino/build-fix
WX: Build fix
2017-04-26 20:30:51 +02:00
Léo Lam 5fa206e529 Merge pull request #5325 from spycrab/wiimote_common
Move shared Wiimote files into WiimoteCommon
2017-04-26 20:25:36 +02:00
Léo Lam 831ae6a962 CMake/WX: specify PRIVATE for target_link_libraries 2017-04-26 20:24:21 +02:00
Léo Lam fa0c61eb6d WX: Build fix
GTK2 is a dependency on Linux whenever USE_X11 is true, but we were
not linking or adding the include directory for GTK for DolphinWX.

Fixes a regression introduced by 6197d9622.
2017-04-26 20:23:12 +02:00
spycrab 823dba47f5 Move shared Wiimote files into WiimoteCommon 2017-04-26 19:30:14 +02:00
Léo Lam 33f56a84b2 Merge pull request #5319 from leoetlino/ticket-view-version
ESFormats: Fix the first field of ticket views
2017-04-26 11:24:13 +02:00
Mat M 255fd14db6 Merge pull request #5316 from ligfx/cmakewxwidgets
Various CMake cleanups for DolphinWX
2017-04-25 21:21:54 -04:00
Michael Maltese 82d0f6edb2 FifoDataFile: static_assert that structs are right size 2017-04-25 17:43:37 -07:00
Michael Maltese 6a6bfa0dbb FifoPlayer: subsume FifoFileStruct.h into FifoDataFile.cpp
There's no reason for it to be in its own file, and it's confusing.
2017-04-25 17:36:36 -07:00
Michael Maltese f9a67fbf6f FifoFileStruct: replace unions with explicit padding 2017-04-25 17:36:30 -07:00
Michael Maltese b955805b2b CMake: remove DolphinWX $DOLPHIN_EXE abstraction 2017-04-25 17:18:21 -07:00
Michael Maltese bd4ffb680c CMake: don't make DolphinWX link to dl 2017-04-25 17:18:21 -07:00
Michael Maltese c214c29b01 CMake: DolphinWX cleanup 2017-04-25 17:18:20 -07:00
Michael Maltese 6e1940c404 CMake: don't globally include wxWidgets headers 2017-04-25 17:18:20 -07:00
Léo Lam 3124f3c4d8 WX: Add the ability to uninstall WADs from the game list
Simple quality-of-life addition that allows "uninstalling" WADs
(removing the corresponding installed title) from the NAND.

The option is only enabled when the WAD can be uninstalled

The motivation for this is actually to encourage proper usage of the
WAD launch feature (installing it to the NAND first), so we can
drop the "direct WAD title launch" hack.
2017-04-25 23:34:32 +02:00
Léo Lam 1b3b7518e6 ESFormats: Fix the first field of ticket views
Looking more carefully at the IOS ticket view generation code reveals
that the first field in the TicketView struct is copied over from
the ticket version, extended to 4 bytes.
2017-04-25 20:59:40 +02:00
Léo Lam 4d52df150b Merge pull request #5317 from leoetlino/es-setuid
IOS/ES: Implement ES_SetUid
2017-04-25 20:00:28 +02:00
Léo Lam 7a615afe17 Merge pull request #5315 from sepalani/debug-pause
DoStop() shouldn't unpause in debug mode
2017-04-25 16:48:31 +02:00
Markus Wick 262adbe2bc Merge pull request #5262 from MerryMage/mfspr-arm64
JitArm64: Implement timer SPRs
2017-04-25 13:31:28 +02:00
MerryMage e3d0de7442 JitArm64: Implement timer SPRs 2017-04-25 09:20:09 +01:00
Stenzek 27ae5b8d34 VideoConfigDiag: Move post-processing shader list to post processor
The backends don't use this list at all, and since more than one
backend supports post-processing now, it's duplicate code.
2017-04-25 14:27:05 +10:00
Stenzek 417a4ca206 Vulkan: Implement post-processing backend
No new features, just parity with OpenGL.
2017-04-25 14:27:02 +10:00
Stenzek a10e8b1ef5 VideoCommon: Move the blit methods to the backend class
The parameter types will be different for each backend currently,
anyway (e.g. textures/render passes/etc).
2017-04-25 14:25:41 +10:00
Léo Lam cc40389f88 IOS/ES: Implement ES_SetUid
This implements ES_SetUid, which is used by the system menu to change
its own permissions. This is required for implementing permission
checks and proper NAND metadata support in the future.
2017-04-25 00:15:51 +02:00
Léo Lam c01fda6255 IOS: Include the UID and GID in open requests
Accuracy change. Required to implement ES contexts properly.
2017-04-25 00:11:19 +02:00
Léo Lam dd31a403db Merge pull request #5285 from spycrab/fr_9952
Make title column toggleable (Issue #9952)
2017-04-24 23:12:39 +02:00
Léo Lam 286e9b74ee Merge pull request #5309 from leoetlino/ios-uid-gid
IOS: Implement UID/GID changes for the PPC
2017-04-24 22:50:03 +02:00
Sepalani 4a55398069 DoStop() shouldn't unpause in debug mode 2017-04-24 17:32:15 +01:00
Léo Lam 24d5d89056 Merge pull request #5275 from ligfx/fixhidapithread
WiimoteReal: init and destroy ScannerBackends in same thread
2017-04-24 02:31:16 +02:00
Michael Maltese 4c5e283e75 WiimoteReal: init and destroy ScannerBackends in same thread
This fixes an error condition on macOS when HIDAPI calls
IOHIDManagerCreate and IOHIDManagerClose on different threads. The
error behavior is non-deterministic, but can cause EXC_BAD_ACCES and
kill the program.
2017-04-23 17:11:27 -07:00
Tilka c6bc474c29 Merge pull request #5291 from Starsam80/fix-10221
WX: Don't specify a parent frame for the render frame
2017-04-23 23:40:32 +01:00
Tilka a8dfb32576 Merge pull request #5304 from FRtranslator/Small_rework_Audio_cfg
DolphinWX: Small rework of the Audio config dialog
2017-04-23 23:37:41 +01:00
Léo Lam dae950ff90 IOS: Implement UID/GID changes for the PPC
This will be required for permission checks in the future.

Note that this is only for the PPC as we do not have actual processes.
Keeping track of other modules' UIDs/GIDs is virtually useless anyway.

UID/GID changes are implemented in the following functions:

* ES_Launch
* ES_DIVerify

ES_SetUid is not implemented yet because it'd need further changes.
2017-04-23 23:09:44 +02:00
Tilka 8a559f2e58 Merge pull request #5307 from JosJuice/more-gfx-debug-strings
Remove more seemingly unused debug UI strings
2017-04-23 17:25:58 +01:00
Tilka 111d92c03d Merge pull request #5303 from MerryMage/DPL2Decoder
DPL2Decoder cleanup
2017-04-23 17:07:14 +01:00
JosJuice 8c2e5689ad Remove more seemingly unused debug UI strings
Same as 2052bb8 but for buttons.
2017-04-23 12:39:00 +02:00
MerryMage c9f50fd4ed DPL2Decoder: Prefer static_cast to C-style casts 2017-04-23 09:21:30 +01:00
MerryMage 4f884d0b2f DPL2Decoder: Simplify DotProduct 2017-04-23 09:21:30 +01:00
MerryMage 42a1f7939d DPL2Decoder: Prefer std::vector to calloc-ed array 2017-04-23 09:21:29 +01:00
MerryMage 71dc810418 DPL2Decoder: Make constant variables const in DesignFIR 2017-04-23 09:18:29 +01:00
MerryMage 751351fd20 DPL2Decoder: Simplify cut-off frequency logic in DesignFIR 2017-04-23 09:18:29 +01:00
MerryMage 24027c1d4a DPL2Decoder: Reduce scope of variable in DesignFIR 2017-04-23 09:18:29 +01:00
MerryMage d0e75bb438 DPL2Decoder: Remove unnecessary pointer arguments of DesignFIR 2017-04-23 09:18:28 +01:00
FRtranslator c9c68a8fd4 DolphinWX: Small rework of the Audio config dialog 2017-04-23 02:32:04 +02:00
Mat M 9090f37347 Merge pull request #5299 from FRtranslator/Tools_menu_reorder
Reorder the Tools menu, with more separators
2017-04-22 17:41:01 -04:00
Mat M 4c711de309 Merge pull request #5301 from JosJuice/delete-wxinputbase
Delete WXInputBase
2017-04-22 17:37:38 -04:00
FRtranslator a27b653d61 Reorder the Tools menu, with more separators 2017-04-22 20:59:42 +02:00
Léo Lam 8fe0befbc3 Merge pull request #5245 from JosJuice/top-on-top
Put "Top" on top of "Bottom" in the sensor bar position dropdown
2017-04-22 20:11:28 +02:00
JosJuice 26b6b78f3a Delete WXInputBase
It's unused (apparently since cf8f049). Deleting it will
lighten the load for translators.
2017-04-22 19:39:17 +02:00
MerryMage bd4cfaaed7 Jit_Integer: Use constant pool in GenerateOverflow 2017-04-22 10:15:04 +01:00
Markus Wick b5c857d14b Merge pull request #5210 from leoetlino/es-shared-contents
IOS/ES: Implement GetSharedContents (+ count)
2017-04-22 01:55:22 +02:00
Léo Lam bca9a9d4d9 Merge pull request #5113 from Starsam80/nand-import
Add BootMii NAND import functionality
2017-04-21 22:02:15 +02:00
Léo Lam b09561ece2 IOS/ES: Implement GetSharedContents (+ count)
Used by the system menu when importing a title from SD.

These are probably the last two ioctlvs used by a major title.
2017-04-21 19:30:20 +02:00
Markus Wick 1035a8b697 Merge pull request #5295 from MerryMage/ACD
ArmCPUDetect: Add missing include
2017-04-21 12:24:41 +02:00
MerryMage 73cdf9ecb5 ArmCPUDetect: Add missing include
<cstring> is required for strncpy
2017-04-21 11:03:40 +01:00
Markus Wick 207a95f4dc Merge pull request #5267 from leoetlino/more-es-ioctlvs
IOS/ES: Implement ES_DIGetTMD and ES_DIGetTMDSize
2017-04-21 11:08:05 +02:00
Markus Wick 50349098c1 Merge pull request #5292 from ligfx/setvolumeafterstart
AudioCommon: set volume _after_ starting stream
2017-04-21 10:29:21 +02:00
Mat M 4517231a1a Merge pull request #5287 from sepalani/rso
Generate Symbols From RSO Modules added
2017-04-20 20:06:03 -04:00
Sepalani 694b10da11 Generate Symbols From RSO Modules added 2017-04-21 00:32:06 +01:00
Michael Maltese c538cdcd47 AudioCommon: set volume _after_ starting stream
Fixes an error with the CoreAudio backend, which apparently doesn't
allow you to set the volume before starting the stream:

```
59:31:087 AudioCommon/CoreAudioSoundStream.cpp:97 E[Audio]: error setting volume
```

This shouldn't cause any problems with other backends, since the mixer
starts with silence anyways.
2017-04-20 02:06:42 -07:00
Starsam80 a41c0d3caa
WX: Don't specify a parent frame for the render frame 2017-04-19 20:06:33 -06:00
Sepalani 58e7415fe5 MemoryWindow: FindPrevious button added 2017-04-18 23:47:52 +01:00
Sepalani 5123dc2651 MemoryWindow: Replace Search with FindNext 2017-04-18 19:08:44 +01:00
Stenzek d1dc9d5a0c Merge pull request #5284 from stenzek/vulkan-videocommon-blending-state
Vulkan: Use BlendingState from VideoCommon
2017-04-18 22:16:32 +10:00
Stenzek 16a947a88b Merge pull request #5270 from stenzek/vulkan-aa
Vulkan: MSAA and frame dumping fixes
2017-04-18 21:58:14 +10:00
Stenzek fd896bd9e0 OGL: Drop BlendingState.dither
How GL_DITHER works is implementation-defined, and we handle the
non-blended case in the pixel shader.
2017-04-18 21:55:23 +10:00
Stenzek ddc5275071 VideoCommon: Drop SetDitherMode()
It was a no-op on all backends apart from GL anyhow.
2017-04-18 21:55:22 +10:00
Stenzek 9dc7358395 Vulkan: Use BlendingState from VideoCommon
Remove the internal BlendState union. Also fixes Kirby's Return to
Dreamland shadows.
2017-04-18 21:55:22 +10:00
Stenzek 34ad5b457d VideoCommon: Add usedualsrc field to BlendingState
This is because we re-use BlendingState for our internal drawing (e.g.
RasterFont) and for these shaders, we can't assume the presence of a
second color output.
2017-04-18 21:33:40 +10:00
Markus Wick 936910163a Merge pull request #5286 from lioncash/mmu
MMU: Get rid of pointer casts
2017-04-18 12:35:42 +02:00
JosJuice fd0b99be2e Merge pull request #5273 from JosJuice/android-x86-64
x86-64 support on Android
2017-04-18 09:54:04 +02:00
Markus Wick f3f9489852 Merge pull request #5277 from stenzek/glsl-token-pasting
OGL: Use struct for post-processing shader options
2017-04-18 09:37:34 +02:00
Lioncash a58d5fa8ee MMU: Get rid of pointer casts
These sort of casts invoke undefined behavior (u8, u16, u32, and u64 all have
completely different alignment requirements).
2017-04-17 20:52:57 -04:00
Lioncash 9cfc671c69 MMU: Get rid of unnecessary temporaries in HostRead_[8|16|32] functions 2017-04-17 19:13:47 -04:00
spycrab 72e92add8a Make title column toggleable (Issue #9952) 2017-04-17 19:34:14 +02:00
spycrab 01e07d7853 Lazily initialize m_main_config_dialog (Issue #10213) 2017-04-16 13:00:11 +02:00
JosJuice 9cd9ae902a x86-64 support on Android
We can do this now that the x86-64 JIT supports PIE.

JITIL is deliberately excluded from the GUI because it
doesn't support PIE yet. (JITIL will be used if it's
set in the INI, though.)
2017-04-16 11:53:33 +02:00
Mat M d22509984c Merge pull request #5252 from JosJuice/pitch-text
Update text about pitch depending on emulation speed
2017-04-16 05:48:57 -04:00
Markus Wick b6433b2ae8 Merge pull request #5266 from JosJuice/misc
Rename Misc.cpp to CommonFuncs.cpp
2017-04-16 11:44:08 +02:00
Stenzek e370f6a82a OGL: Use struct for post-processing shader options
This removes the need for token pasting, which isn't supported in GLSL
ES. Shouldn't cause any issues unless people are using reserved keywords
as option names.
2017-04-16 14:00:02 +10:00
Dwayne Slater 1b9268485c VolumeDirectory: Pass address shift to WriteEntryData as argument 2017-04-15 14:04:17 -04:00
Dwayne Slater 108d59b131 VolumeDirectory: Correctly check name_offset alignment in assert 2017-04-15 14:04:10 -04:00
Dwayne Slater ec9579ebcd Boot: When loading an FST for a Wii game, update IOS_MEM1_ARENA_END
Without doing this, Wii games loaded as an ELF will zero out the FST.
This mirrors the behavior of the actual apploader.
2017-04-15 14:03:38 -04:00
Dwayne Slater 138b0cb14e VolumeDirectory: Align the name table size up properly
If the name table isn't rounded up, a Wii game can read an incorrect
number of bytes when fetching the FST.
2017-04-15 14:03:31 -04:00
Dwayne Slater 9d633307e3 VolumeDirectory: Shift parent_entry_index by m_address_shift
Parent entrys were written correctly for GameCube (since the address
shift is 0), but not for Wii (since the address shift is 2).
2017-04-15 13:53:59 -04:00
Dwayne Slater d3e9569cf0 VolumeDirectory: Compare case-insensitive file names as uppercase, not lowercase
Fixes file ordering in games that use ASCII characters between lowercase
'z' and uppercase 'A' (underscores).

MySims Kingdom has the files "terrainLightMapTinted.shader",
"terrainLightMapTintedGrid.shader", and
"terrainLightMapTinted_no_shadow.shader". In lowercase,
"terrainLightMapTinted_no_shadow.shader" comes before
"terrainLightMapTinted.shader" and "terrainLightMapTintedGrid.shader",
which is invalid.
2017-04-15 13:53:53 -04:00
Dwayne Slater 7908302782 VolumeDirectory: Fix off-by-one in entry count calculation
The size field in FSTEntry contains the total amount of children, not
including the parent, but the parent needs to be included.

VolumeDirectory: Fix off-by-one in entry count calculation

The size field in FSTEntry contains the total amount of children, not
including the parent, but the parent needs to be included.
2017-04-15 13:52:46 -04:00
Markus Wick a389ae0711 Merge pull request #5260 from MerryMage/CheckIfSafeAddress
EmuCodeBlock: Make CheckIfSafeAddress PIE-compliant
2017-04-15 13:26:05 +02:00
Stenzek 3fd1e6c2f6 Vulkan: Ensure all frames are written before resizing framedump buffer
Prevents destroying a framebuffer that may still be in use by a previous
frame dump.
2017-04-15 20:00:40 +10:00
Stenzek 48da42b49f Vulkan: Ensure framedump texture is incorrect layout for render/readback 2017-04-15 19:57:25 +10:00
Stenzek 69b0a31938 Vulkan: Clamp framebuffer resolve rectangle to texture size
This is invalid and was causing the NVIDIA driver to throw an error.
2017-04-15 19:55:32 +10:00
MerryMage cb900106c6 IR_X86: Prefer static_cast to C-style casts 2017-04-15 10:35:40 +01:00
MerryMage 860ac52a79 IR_X86: Use PtrOffset instead of casting pointers 2017-04-15 10:35:24 +01:00
MerryMage 6d8738e6e4 IR_X86: Simplify trinary expressions 2017-04-15 10:35:01 +01:00
Markus Wick 8d4be36963 Merge pull request #5259 from MerryMage/quantload
Jit64: Make psq_lXX PIE-compliant
2017-04-15 11:20:09 +02:00
Markus Wick fb805e3acb Merge pull request #5263 from MerryMage/dcbz
Jit_LoadStore: Fix dbat memory access
2017-04-15 11:19:24 +02:00
Markus Wick 6b32c17d1b Merge pull request #5268 from MerryMage/gpfifo3
JitArm64: Fix bugs introduced by #5257
2017-04-15 11:00:04 +02:00
Stenzek eef7b6cf7a Vulkan: Fix invalid resolve at swap time when MSAA is enabled 2017-04-15 18:35:58 +10:00
Stenzek 2a91b2a4dd Merge pull request #5258 from stenzek/vulkan-out-of-range-clear
Vulkan: Fix incorrect render pass for out-of-range clears
2017-04-15 18:13:45 +10:00
MerryMage 03d07c36ae JitArm64: Reserve W30 in SafeStoreFromReg and stfXX
Bug introduced in c45028a708.

EmitBackpatchRoutine assumes that X30 is available as a temporary.
2017-04-15 08:23:14 +01:00
MerryMage 3fb886141d JitArm64_LoadStore: Fix bug in writing byte to gather pipe
Introduced by c45028a708.
2017-04-15 07:26:27 +01: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
Léo Lam 183193e6ed IOS/ES: Implement ES_DIGetTMD and ES_DIGetTMDSize
Used by Metroid Prime.
2017-04-15 00:39:34 +02:00
MerryMage b792299ef1 Jit_LoadStore: Fix dbat memory access
Was broken by e10b715666
2017-04-14 14:06:13 +01:00
MerryMage daa03cd106 EmuCodeBlock: Make CheckIfSafeAddress PIE-compliant 2017-04-14 12:39:12 +01:00
MerryMage e10b715666 Jit_LoadStore: Make dcbz PIE-compliant 2017-04-14 12:33:25 +01:00
MerryMage cac77527e9 Jit64: Make psq_lXX PIE-compliant 2017-04-14 11:52:33 +01:00
Markus Wick 05fec44ff5 Merge pull request #5257 from MerryMage/gpfifo2
GPFifo: Use a pointer instead of an index
2017-04-14 12:27:51 +02:00
MerryMage c45028a708 GPFifo: Use a pointer instead of an index
This simplifies code generated by the jits.
x86_64 jit now emits PIC.
2017-04-14 10:37:47 +01:00
Stenzek c8b98dca1a Vulkan: Raise the number of texel buffer/storage image descriptors
Running with GPU texture decoding enabled could cause us to run out of
descriptors within a single frame.
2017-04-14 18:29:53 +10:00
Stenzek f4bdfe3e0c Vulkan: Fix incorrect render pass area for out-of-range clears
This occured when a game set an out-of-range EFB clear region.
2017-04-14 18:29:48 +10:00
Markus Wick 45e4a048ea Merge pull request #4708 from degasus/PIE
Jit64: Use a temporary register for memory references.
2017-04-14 09:42:45 +02:00
MerryMage f2e323de9c ConfigManager: Increase default latency for OpenAL backend to 5 2017-04-13 10:41:18 +01:00
Lioncash 8811937756 JitArm64_RegCache: Use std::array where applicable
There's no need to use std::vector for fixed enum values.
2017-04-12 22:34:34 -04:00
Markus Wick 7e40f1757e Merge pull request #5253 from ligfx/fixtextureconversionshader
TextureConversionShader: fix syntax error
2017-04-12 23:38:49 +02:00
Michael Maltese 05b4d14bf0 TextureConversionShader: fix syntax error
Fixes a situation where the following invalid GLSL code is generated:

```glsl
float3 texSample0 = texture(samp0, float3(uv0 + float2(0, 0) * sample_offset, 0.0)).rgb;
float3 texSample0 = floor(float3 texSample0 * 63.0) / 63.0;
float3 texSample1 = texture(samp0, float3(uv0 + float2(1, 0) * sample_offset, 0.0)).rgb;
float3 texSample1 = floor(float3 texSample1 * 63.0) / 63.0;
```
2017-04-12 14:23:25 -07:00
Mat M 733df23e98 Merge pull request #5251 from JosJuice/audio-backend-tooltip
Remove audio backend tooltip
2017-04-12 17:10:13 -04:00