Commit Graph

20120 Commits

Author SHA1 Message Date
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
Matthew Parlane 4d02d38bf0 Merge pull request #5032 from lioncash/const
Memmap/PowerPC: Remove unnecessary const on function declaration parameters
2017-03-07 18:10:31 +13:00
Lioncash b914edd441 GCAdapter_Android: Fix an array bounds overrun in Read()
s_controller_payload is 37 bytes long, but Read() would copy 0x37 (a.k.a
55) bytes, overrunning the array.
2017-03-06 23:05:17 -05:00
Lioncash 26f7f55a66 GeneralConfigPane: Fix analytics sizer's right side being misaligned by 5 units 2017-03-06 22:19:54 -05:00
Vlad Firoiu ac3586f46c Parse user directory on nogui CLI. 2017-03-06 12:24:38 -08: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
Vlad Firoiu 71c0e30655 Appease linter. 2017-03-05 17:29:46 -08:00
Vlad Firoiu fbff74c1eb Warn on invalid video codec. 2017-03-05 17:08:59 -08:00
Vlad Firoiu 9155af5103 GetDumpPath function. 2017-03-05 17:08:59 -08:00
Vlad Firoiu 8c24387509 Use ffv1 if user requests it. 2017-03-05 17:08:59 -08: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
Ryan Houdek 9373c7eca9 Update Visual Studio build files 2017-03-05 15:47:25 +01:00
Ryan Houdek 711f1cb7a3 Add core loaders to cmake 2017-03-05 15:47:25 +01:00
Ryan Houdek b93609e1ff Movie configuration loader 2017-03-05 15:47:25 +01:00
Ryan Houdek 1902f9f35a NetPlay configuration loader 2017-03-05 15:47:25 +01:00
Léo Lam b0d54a67cc GameConfigLoader: Fix issues mentioned in code review 2017-03-05 15:47:25 +01:00
Léo Lam fa98d07f7a GameConfigLoader: Implement missing Save function 2017-03-05 15:47:24 +01:00
Léo Lam 4761afe179 GameConfigLoader: Ignore unknown entries
It's not necessarily an issue. For example, memory breakpoints are
handled in a different location.
2017-03-05 15:47:24 +01:00
Ryan Houdek 9dbb6f9022 Game configuration loader 2017-03-05 15:47:24 +01:00
Ryan Houdek 1eb11b55a0 Base configuration loader 2017-03-05 15:47:24 +01:00
Ryan Houdek 94d35ab7cb Implement command line option setting 2017-03-05 15:47:23 +01:00
Ryan Houdek ead8be9d19 Move IniFile section chunk handling to IniFile::Section 2017-03-05 15:47:23 +01:00
Léo Lam b7a1c6f504 Logging: Add CORE type 2017-03-05 15:47:23 +01: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
Tillmann Karras 8a72e84ece VideoCommon: remove unnecessary trunc() 2017-03-05 01:53:54 +00: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
Matthew Parlane c21193c6f5 Merge pull request #5015 from lioncash/sysconf
SysConf: const correctness changes
2017-03-05 13:41:43 +13:00
Lioncash 0e5a367ca3 SysConf: const-correctness 2017-03-04 19:19:42 -05:00
Lioncash 1ebd2cd7c3 SysConf: Get rid of pointer casts 2017-03-04 19:06:22 -05:00
Mat M 606e25607d Merge pull request #5013 from degasus/androidstudio
Android: Update android studio + gradle.
2017-03-04 18:41:16 -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
Markus Wick 7304cb0f8e Merge pull request #5011 from stenzek/d3d-texture-corruption
D3D11: Use default usage for TextureCache entries
2017-03-04 15:55:58 +01:00
degasus a3f79f88cd Android: Update android studio + gradle.
Android studio 2.3 finally displays the result of the native compilation, so C++ warnings are now shown in the build log.
2017-03-04 15:53:40 +01:00
Stenzek 725d5bc3a1 D3D11: Drop unused method ReplaceRGBATexture2D 2017-03-04 22:37:10 +10:00
Stenzek 526fa9bc85 D3D11: Use D3D11_USAGE_DEFAULT for all TextureCache textures 2017-03-04 22:36:33 +10:00
Markus Wick 3c511f2a94 Merge pull request #5003 from lioncash/memory
UICommon: Make GetNewDisassembler() return a unique_ptr
2017-03-04 12:14:35 +01:00
Markus Wick 01143d761e Merge pull request #5006 from lioncash/settings
ControllerEmu: Initialize settings class' values to default values on construction
2017-03-04 12:13:24 +01:00
Stenzek 4cea9a2f99 Vulkan: Fix underflow in StreamBuffer::WaitForClearSpace
This could cause the assertion on line 212 to fail when uploading large
amounts of data in between command buffer executions.
2017-03-04 18:07:04 +10:00
Stenzek 459a5ab554 Android: Move screenshot waiting logic to Renderer 2017-03-04 16:53:16 +10:00
Stenzek 811eafda57 VideoCommon: Store last window request width/height
This avoids the need to send a window resize event every frame.
2017-03-04 16:53:12 +10:00
Stenzek 00a0a91513 VideoCommon: Move last EFB scale handling to CalculateTargetSize 2017-03-04 16:53:07 +10:00
Stenzek afc25fdca0 VideoCommon: Rename Renderer s_ prefixes to m_ 2017-03-04 16:42:21 +10:00
Stenzek 238a70b006 VideoCommon: Move some common initialization logic to RenderBase 2017-03-04 16:42:16 +10:00
Stenzek 277829d842 VideoCommon: Eliminate static state in Renderer 2017-03-04 16:39:50 +10:00
Anthony de230f3ebe Merge pull request #4998 from stenzek/vulkan-aspect-changes
Vulkan: Fix issue where target rectangle changes weren't detected
2017-03-03 21:47:29 -08: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
Lioncash b592e4887e BooleanSetting: Initialize m_value to default_value in the constructor
Ensures all class state is initialized to valid values on construction.
2017-03-03 14:09:48 -05:00
Lioncash 25e70570b5 NumericSettings: Initialize m_value to default_value in the constructor
Ensures that all class state is initialized to valid values.
2017-03-03 14:06:16 -05:00
Lioncash 13757b7d35 UICommon: Make GetNewDisassembler() return a unique_ptr
Much better than just returning raw memory.
2017-03-02 21:26:17 -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
Markus Wick 56afabb9a8 Merge pull request #4919 from ntruhan/master
Android: Sort configuration ini files
2017-03-03 00:39:12 +01: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
Stenzek 2fd77895a2 Vulkan: Fix issue where target rectangle changes weren't detected
This was causing issues when toggling the crop setting, as well as some
widescreen hacks.
2017-03-02 21:53:42 +10:00
Stenzek 3390e6f258 Merge pull request #4993 from ligfx/fixsonicadventure2
OGL SetBlendMode: always set blend equation and func
2017-03-02 21:30:10 +10: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
Léo Lam e5d9bcaf43 IOS/ES: Edit uid.sys on AddTitleStart
This allows channels to be registered and installed properly.
(And it is what IOS does.)
2017-03-01 17:36:07 +01:00
Léo Lam 1e3f8c1a1d IOS/ES: Add sanity checks to AddTitleFinish 2017-03-01 17:36:06 +01:00
Léo Lam 9263cb1996 IOS/ES: Handle adding shared contents properly 2017-03-01 17:34:59 +01:00
Mat M 8364a0002f Merge pull request #4956 from leoetlino/es-checks
ES: Replace useless asserts with proper checks
2017-03-01 11:30:25 -05:00
Anthony 8dc96fce4d Merge pull request #4776 from lioncash/dspemitter
DSPEmitter: Convert a C array to a std::array
2017-03-01 08:11:26 -08:00
Léo Lam 24e35f96fa ES: Replace useless asserts with proper checks
It makes absolutely no sense to have asserts for what is obviously an
error condition. And they should definitely not cause Dolphin to crash
because it assumes that everything is valid, and Dolphin should not
report those to the user either, as it is very obviously a bug in the
emulated software and there is nothing the user (or we) can do.

This commit replaces all of the request asserts with proper checks
and adds missing checks for some ioctlvs. We still do not check sizes
yet; this will be done later.
2017-03-01 16:05:33 +01:00
Michael Maltese db1d826ac3 OGL SetBlendMode: always set blend equation and func
Before #4581, an invocation of `SetBlendMode` could invoke
`glBlendEquationSeparate` and `glBlendFuncSeparate` even when it was
setting `glDisable(GL_BLEND)`. I couldn't figure out how to map the old
behavior over to the new BlendingState code, so I changed it to always
call the two blend functions.

Fixes https://bugs.dolphin-emu.org/issues/10120 : "Sonic Adventure 2
Battle: graphics crash when loading first Dark level".
2017-03-01 00:49:14 -08:00
Jules Blok 83bd74aef0 Merge pull request #4974 from gamemasterplc/master
Widescreen Hack improvement
2017-03-01 02:17:33 +01:00
aldelaro5 52fe05af6b 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-02-28 13:02:04 -05:00
Anthony f4ccc11b73 Merge pull request #4988 from leoetlino/tikview
ESFormats: Fix calculation of the ticket start offset
2017-02-28 09:57:04 -08:00
Markus Wick 0a8b5b79ef Merge pull request #4985 from lioncash/enum-class
ExpressionParser: Convert parse state enum into an enum class
2017-02-28 18:48:45 +01:00
Markus Wick bd89c7b2c4 Merge pull request #4986 from lioncash/namespace
PixelEngine: Move enum constants into the PixelEngine namespace
2017-02-28 18:46:45 +01:00
Léo Lam e9f23fbc92 ESFormats: Fix calculation of the ticket start offset
The signature part doesn't seem to appear more than once in a signed
ticket, so we should always add that offset regardless of the
ticket number.
2017-02-28 18:42:06 +01:00
Anthony fcc05c0b0e Merge pull request #4983 from degasus/jitcache
JitCache: Fix two block invalidation issues.
2017-02-28 09:20:24 -08:00