7827 Commits

Author SHA1 Message Date
Matthew Parlane
cd826cee34 Merge pull request #5039 from leoetlino/es-import-hash-check
IOS/ES: Check the content hash during imports
2017-03-09 10:58:06 +13:00
Markus Wick
be8de62b88 Merge pull request #5041 from JosJuice/hi-2007
PatchEngine: Remove an unneeded comment
2017-03-08 21:23:40 +01:00
JosJuice
08954e99f5 PatchEngine: Remove an unneeded comment 2017-03-08 21:03:10 +01:00
JosJuice
a1f874a66b ConfigManager: Remove m_strName
m_strName has limited usefulness, because GetInternalName()
can be inaccurate or even completely wrong. It was almost
completely unused anyway.
2017-03-08 21:01:57 +01:00
Léo Lam
daa5ff9a81 IOS/ES: Check the content hash during imports
This adds a hash check for imported contents. IOS does it for security;
we do it for a somewhat different reason, to catch content decryption
bugs before incorrectly decrypted contents get written to the NAND,
which can cause titles to be corrupted.

Either way, we should have been doing this check in all cases.
2017-03-08 16:32:38 +01:00
Markus Wick
489d90b6f3 Merge pull request #4999 from stenzek/renderer-statics
VideoCommon: Eliminate static state in Renderer
2017-03-08 11:02:20 +01:00
Florent Castelli
cf68ecf066 core: Add missing include 2017-03-08 06:55:05 +01:00
Matthew Parlane
028da93d35 Merge pull request #5030 from sepalani/fix_pr_5002
Fix a vector assertion introduced by PR #5002
2017-03-07 23:23:11 +13:00
Matthew Parlane
cfc909f422 Merge pull request #4867 from lioncash/simplify
Boot_WiiWAD: Simplify state_checksum()
2017-03-07 18:27:50 +13:00
Matthew Parlane
52f22e240b Merge pull request #5031 from lioncash/cast
CachedInterpreter: Get rid of an unnecessary cast
2017-03-07 18:11:00 +13:00
Lioncash
4d1a4ba759 PowerPC: Remove unnecessary const on function declaration parameters 2017-03-06 14:10:33 -05:00
Lioncash
248a04f68f Memmap: Remove unnecessary const on function declaration parameters
const, when used on value type parameters in the declaration,
is superfluous. This doesn't really convey any information to take note
of when using the function. This only matters in the definition when you
want to prevent accidental modification.

e.g.

// Header
void CalculateSomething(int lhs, int rhs);

// Definition
void CalculateSomething(const int lhs, const int rhs)
{
  // lhs and rhs can't accidentally be modified
}
2017-03-06 14:08:07 -05:00
Lioncash
a9c570a9f8 CachedInterpreter: Get rid of an unnecessary cast
This is only ever used to read a value and not modify data, so this can
just be constructed by value.
2017-03-06 13:18:46 -05:00
Matthew Parlane
7d681f9c93 Merge pull request #5016 from leoetlino/es-di-gettmd
IOS/ES: Implement ES_DIGetTMDView (and GetTMDViewSize)
2017-03-07 00:05:47 +13:00
Sepalani
bc1990ce5d Fix a vector assertion introduced by PR#5002 2017-03-06 01:41:42 +00:00
Matthew Parlane
f9f4381461 Merge pull request #4525 from RisingFog/gci_dtm
GCI Folder support for TAS Recording/Playback
2017-03-06 13:26:16 +13:00
Chris Burgener
5193813b50 GCI Folder support for TAS Recording/Playback 2017-03-05 19:12:09 -05:00
Mat M
029ff4d9e5 Merge pull request #5022 from lioncash/header
BTStub: Get rid of an unnecessary forward declaration in the cpp file
2017-03-05 19:03:56 -05:00
Léo Lam
dd8b0e3c3f IOS/ES: Fix logging type for dumping unknown ioctlvs 2017-03-06 00:38:13 +01:00
Léo Lam
5049451a85 IOS/ES: Implement ES_DIGetTMDView (and GetTMDViewSize)
This is required for online updates to work in the system menu.
2017-03-05 22:44:58 +01:00
Lioncash
f80f875e27 BTStub: Get rid of an unnecessary forward declaration in the cpp file
This should be using the header file in order to find the function name.
2017-03-05 09:51:47 -05:00
Mat M
7fa14169e9 Merge pull request #5007 from lioncash/swap
Common: Move byte swapping utilities into their own header
2017-03-05 09:45:29 -05:00
Matthew Parlane
c2594695b8 Merge pull request #5001 from leoetlino/es-titles
IOS/ES: Fix ES_GetTitles and implement ES_GetOwnedTitles
2017-03-05 14:28:28 +13:00
Lioncash
0e5a367ca3 SysConf: const-correctness 2017-03-04 19:19:42 -05:00
Léo Lam
52e8486b7c IOS/ES: Refactor GetTitles into a utility function 2017-03-04 20:33:35 +01:00
Léo Lam
1525396ecf IOS/ES: Properly handle missing TMD in GetStoredTMD
When the TMD doesn't exist on the NAND, IOS returns -106.

This commit also changes IsValid() to not check for the TMD validity,
since this is not always something we want. (IOS can have different
error codes when the TMD is missing, or even worse, simply assume
that the TMD is valid.)
2017-03-04 20:33:35 +01:00
Léo Lam
b1ffbef5ce IOS/ES: Implement ES_GetOwnedTitles 2017-03-04 20:33:35 +01:00
Léo Lam
35995e98d7 IOS/ES: Fix GetTitles implementation
IOS determines installed titles by looking at /title, not uid.sys,
which is more like a history of installed titles. And it does not care
at all about the installed TMD (or even if it is present at all).
2017-03-04 20:33:34 +01:00
Stenzek
459a5ab554 Android: Move screenshot waiting logic to Renderer 2017-03-04 16:53:16 +10:00
Stenzek
277829d842 VideoCommon: Eliminate static state in Renderer 2017-03-04 16:39:50 +10:00
Lioncash
552c0d8404 Common: Move byte swapping utilities into their own header
This moves all the byte swapping utilities into a header named Swap.h.

A dedicated header is much more preferable here due to the size of the
code itself. In general usage throughout the codebase, CommonFuncs.h was
generally only included for these functions anyway. These being in their
own header avoids dumping the lesser used utilities into scope. As well
as providing a localized area for more utilities related to byte
swapping in the future (should they be needed). This also makes it nicer
to identify which files depend on the byte swapping utilities in
particular.

Since this is a completely new header, moving the code uncovered a few
indirect includes, as well as making some other inclusions unnecessary.
2017-03-03 17:18:18 -05:00
Matthew Parlane
51e932b4ec Merge pull request #4975 from ligfx/controlsetting
InputCommon: move Setting classes out of ControlGroup
2017-03-03 15:17:25 +13:00
Michael Maltese
1539ff6691 InputCommon: move Setting classes out of ControlGroup 2017-03-02 18:08:37 -08:00
Anthony
1392b88879 Merge pull request #5002 from leoetlino/es-di-ioctlvs
IOS/ES: Implement ES_DIGetTicketView
2017-03-02 17:54:54 -08:00
Matthew Parlane
dffb14cfc7 Merge pull request #5000 from lioncash/fwd
JitInterface: Convert includes into forward declarations where applicable
2017-03-03 14:54:24 +13:00
Léo Lam
34adc72d1c IOS/ES: Implement ES_DIGetTicketView
One of the remaining ioctlvs that were not implemented, and which were
used by games (even though they did not really depend on the view).
2017-03-02 22:13:45 +01:00
Léo Lam
d97ae1054f Remove useless ES wrappers from the main IOS file
This removes wrappers for ES_DIVerify and ES::LoadWAD. They are not
really useful as we can simply call the ES function directly, and
it is actually somewhat confusing because both functions are static
and are not tied to a particular ES instance.
2017-03-02 20:29:01 +01:00
Léo Lam
5a74343d06 IOS/ES: Add logging for title context changes 2017-03-02 20:29:01 +01:00
Léo Lam
c191fe5348 IOS/ES: Update running game info on title change
This allows Dolphin to stay up-to-date about what title is currently
running, which fixes savestates, screenshots, etc. after an ES_Launch.

Same limitation as with MIOS: currently, GameINIs are not reloaded,
because it's a pain with the current config system. It'll happen
when the new config system is done, and this commit makes it much
easier to do!
2017-03-02 20:29:00 +01:00
Léo Lam
9c18eea812 IOS/ES: Mark members shared between instances as static
Some members are shared between ES instances, and they are just global
variables in IOS.

This is more efficient than getting the installed titles or setting the
current active title tons of times for no reason.
2017-03-02 20:29:00 +01:00
Léo Lam
4d776ffa8f IOS/ES: Keep track of the active title properly
This changes ES to keep track of the active title properly,
just like IOS:

* It is NOT changed on resource manager open/close.
* It is reset on IOS reload.
* It is changed by ES_DIVerify and ES_Launch.

IOS stores the active title in a structure like this:

    struct ESTitleContext
    {
      Ticket* ticket;
      TMD* tmd;
      u32 active;
    };

With this commit, we also do keep the Ticket and TMD around. This
makes some of the DI ioctlvs (which return data about the current
active title) trivial to implement in the future.

This fixes the System Menu not being able to see update partitions
and also allows us to change Dolphin's active game info in the future.
2017-03-02 20:28:01 +01:00
Mat M
78e7f4aae3 Merge pull request #4984 from leoetlino/content-fixes
IOS/ES: Title import fixes + hack removals (fix for System Menu disc updates)
2017-03-02 14:17:29 -05:00
Lioncash
c6200a5b07 JitInterface: Convert includes into forward declarations where applicable 2017-03-02 13:20:29 -05:00
Markus Wick
7982ba120f Merge pull request #4995 from lioncash/normalize
CMakeLists: Normalize whitespace
2017-03-02 11:51:06 +01:00
Markus Wick
521a777ade Merge pull request #4961 from aldelaro5/fast-memchecks
Make memory breakpoint faster
2017-03-02 11:13:18 +01:00
aldelaro5
9ad6c8f334 Make memory breakpoint faster
Currently, slowmem is used at any time that memory breakpoints are in use.  This commit makes it so that whenever the DBAT gets updated, if the address is overllaping any memchecks, it forces the use of slowmem.  This allows to keep fastmem for any other cases and noticably increases performance when using memory breakpoints.
2017-03-02 04:46:27 -05:00
Lioncash
ee61bd6f2e CMakeLists: Normalize whitespace
Normalizes tabs to spaces to follow our codebase's indentation style.
2017-03-01 14:53:23 -05:00
Léo Lam
ac27aff9c8 Add ES::Content::IsShared to avoid hardcoding 0x8000 2017-03-01 17:36:07 +01:00
Léo Lam
3bd34008c9 IOS/ES: Fix GetTMDView when title doesn't exist
This fixes ES_GetTMDView and ES_GetTMDViewSize to return -106
(FS_ENOENT) if the title does not exist (and more specifically when no
TMD exists in the NAND). This allows installed (or not installed) IOSes
to be detected properly.
2017-03-01 17:36:07 +01:00
Léo Lam
90aaefaef7 IOS/ES: Drop 'fake IOS titles' hack
It prevents system updates from working properly, because we always
returned that the latest version of every single IOS was installed.
2017-03-01 17:36:07 +01:00