Léo Lam
94953670f2
WiiSave: Move overwrite prompt to Import
...
WriteHeader should just write the header and not do anything else.
2018-06-01 00:14:48 +02:00
Léo Lam
a46a8dd378
WiiSave: Refactor import/export code
...
The current WiiSave code is extremely messy, as it exposes all kinds of
implementation details in the header (including internal struct
definitions and magic numbers that don't have to be).
The read/write code is intermingled, so it's hard to tell which members
are used, or when/where they are set at all.
It also implicitly relies on some functions being called in a specific
order since it doesn't seek manually every time, which makes the code
even more fragile.
The logic is also hardcoded to only support bin->nand or nand->bin,
even though it would be useful to support nand->nand (for the
Movie save copying code, for example).
This commit attempts to solve these problems by getting rid of the
WiiSave class:
* Read/write code is moved to new Storage classes (NandStorage and
DataBinStorage) with small, clear functions that do one and only
one thing.
* The import/export logic was refactored into a generic Copy function
that takes two storages as parameters.
* The existing import and export functions are now just small wrappers
that call Copy with the appropriate storages.
2018-05-31 20:52:01 +02:00
Mat M
dd77ace56a
Merge pull request #7005 from lioncash/div
...
Interpreter_FPUtils: Correct setting the FPSCR's zero divide exception flag in the 0/0 case in NI_div()
2018-05-31 11:22:45 -04:00
Mat M
f1b7259446
Merge pull request #6978 from lioncash/fcti
...
Interpreter_FloatingPoint: Handle NaN flag setting within fctiw and fctiwz
2018-05-31 11:22:04 -04:00
spycrab
5f48c9fc01
Merge pull request #7037 from spycrab/qt_adapter_tooltip
...
Qt/GeneralWidget: Show tooltip when adapters are not supported by the backend
2018-05-31 03:56:41 +02:00
spycrab
8e5a96fcfc
Qt/GeneralWidget: Show tooltip when adapters are not supported by the backend
2018-05-31 03:52:18 +02:00
spycrab
9337aa4eea
Merge pull request #7036 from spycrab/qt_memory_stretch
...
Qt/MemoryWidget: Fix sidebar items being stretched out
2018-05-30 23:32:17 +02:00
spycrab
d453dc2342
Qt/MemoryWidget: Fix sidebar items being stretched out
2018-05-30 23:23:02 +02:00
spycrab
390fb37a29
Merge pull request #7032 from spycrab/qt_macos_mpbtn_round
...
Qt/macOS: Fix mapping buttons not being round
2018-05-30 22:45:15 +02:00
spycrab
d1db841ada
Merge pull request #7035 from spycrab/qt_macos_info_width
...
Qt/macOS: Fix InfoWidget fields being too narrow
2018-05-30 19:13:08 +02:00
spycrab
5f9d4d625f
Qt/macOS: Fix InfoWidget fields being too narrow
2018-05-30 17:26:37 +02:00
Markus Wick
6c7e9f73da
Merge pull request #7030 from lioncash/emitter
...
x64Emitter: Amend parameter ordering for WriteModRM()'s prototype
2018-05-30 16:39:26 +02:00
spycrab
102d469f9e
Qt/macOS: Fix mapping buttons not being round
2018-05-30 16:39:07 +02:00
Markus Wick
f02b2f0cad
Merge pull request #7031 from lioncash/naming
...
AudioInterface: Minor changes
2018-05-30 16:38:18 +02:00
Lioncash
038bb9b3e1
AudioInterface: Use member initializers where applicable for unions
...
Migrates more code to the initialization capabilities available since C++11
2018-05-30 09:49:28 -04:00
Lioncash
b59cda1435
AudioInterface: Amend variable naming
...
Normalizes variable names to conform to our coding conventions.
Previously we were signifying some variables as externally linked
globals, which wasn't the case.
2018-05-30 09:47:08 -04:00
Lioncash
81e11b2406
x64Emitter: Amend parameter ordering for WriteModRM()'s prototype
...
The definition of the function uses the ordering {mod, reg, rm}, which
is correct. Match the prototype to this, so that the parameter list
isn't misleading.
2018-05-30 09:30:24 -04:00
Léo Lam
bdfd331355
Merge pull request #7028 from lioncash/obsolete
...
GeneralPane: Replace usages of obsolete QString member function sprintf
2018-05-30 15:02:41 +02:00
Léo Lam
b7a268ceea
Merge pull request #7029 from lioncash/any
...
VolumeWii: Shorten padding checking code within CheckIntegrity()
2018-05-30 14:58:16 +02:00
Lioncash
f845818cfe
VolumeWii: Shorten padding checking code within CheckIntegrity()
...
We can just use std::any_of here to collapse the checking code down to a
single assignment as opposed to a loop. This also slightly improves on
the existing code, as this won't continue to iterate through the cluster
metadata if an entry that's non-zero is encountered.
2018-05-30 08:42:32 -04:00
Lioncash
bd585f7389
GeneralPane: Replace usages of obsolete QString member function sprintf
...
sprintf is listed as obsolete within the documentation for Qt 5. Instead,
it recommends using the asprintf member function, arg(), or QTextStream.
2018-05-30 06:50:59 -04:00
Léo Lam
4fb2d580d8
Merge pull request #7026 from lioncash/name
...
JitAsmCommon: Normalize member variable names within CommonAsmRoutinesBase
2018-05-30 12:02:08 +02:00
Lioncash
986d644a01
JitAsmCommon: Make CommonAsmRoutinesBase a struct
...
This is just used as a means of carting around routines. It's not meant
to directly have functionality embedded within it--this is the job of
the inheriting data structure--so we can just make this a basic struct.
Particularly given all the data members were public to begin with.
2018-05-30 05:22:41 -04:00
Lioncash
f5f4c10fd1
JitAsmCommon: Amend member variable names for CommonAsmRoutinesBase
2018-05-30 05:22:36 -04:00
Léo Lam
eb9969a1e2
Merge pull request #7025 from lioncash/integrity
...
VolumeWii: Use ReadSwapped for retrieving the partition data size in CheckIntegrity()
2018-05-30 10:55:13 +02:00
Léo Lam
c3de9d7b0e
Merge pull request #7020 from sepalani/ida-scripts
...
Tools: Dolphin symbol map IDA scripts added
2018-05-30 10:52:49 +02:00
Lioncash
efabfc0b54
VolumeWii: Use ReadSwapped for retrieving the partition data size in CheckIntegrity()
...
Also make this a little more robust by handling the failure case for
the read as well.
2018-05-30 04:34:57 -04:00
Léo Lam
24e0b4bf52
Merge pull request #7024 from lioncash/discio
...
VolumeGC/VolumeWii: Dehardcode sizes where applicable
2018-05-30 10:22:18 +02:00
Lioncash
7bef470136
VolumeGC/VolumeWii: Dehardcode sizes where applicable
...
We can just use the relevant array to derive these sizes instead of hardcoding
them directly.
2018-05-30 04:14:42 -04:00
Tilka
9bf5ad1f0e
Merge pull request #7021 from akien-mga/cmake-pugixml
...
CMake: Fix case in FindPugixml resulting in false negative
2018-05-30 09:02:44 +01:00
Markus Wick
4bebd52850
Merge pull request #7017 from lioncash/arm
...
Arm64Emitter: Use Common::BitCast where applicable
2018-05-30 09:50:59 +02:00
Markus Wick
f33828e7a5
Merge pull request #7022 from akien-mga/gcc6-nested-namespaces
...
CMake: Increase minimum GCC version to 6.0
2018-05-30 09:47:07 +02:00
Markus Wick
cb64398304
Merge pull request #7023 from lioncash/discio
...
Volume/VolumeGC/VolumeWii: Amend variable naming
2018-05-30 09:46:11 +02:00
Lioncash
66122f037e
Volume/VolumeGC/VolumeWii: Amend variable naming
...
Drops prefixed underscores and normalizes names to follow our coding
style.
2018-05-30 03:33:12 -04:00
Rémi Verschelde
d37ccc844e
CMake: Fix case in FindPugixml resulting in false negative
...
As mentioned in GH-6652.
2018-05-30 09:12:24 +02:00
Rémi Verschelde
c36695175f
CMake: Increase minimum GCC version to 6.0
...
Dolphin uses nested namespaces from the C++17 standard,
which are only supported in GCC 6.0 and later.
See comments in GH-6866 for details.
2018-05-30 09:02:14 +02:00
JosJuice
ae4aa0b25c
Merge pull request #7010 from leoetlino/can-of-worms
...
Don't switch to blank NAND in the middle of emulation
2018-05-30 08:00:15 +02:00
JosJuice
243f353688
Merge pull request #7016 from lioncash/mem
...
MemoryPatches: Minor changes
2018-05-30 07:45:34 +02:00
JosJuice
6cb81ca851
Merge pull request #7015 from lioncash/pcap
...
PcapFile: Namespace code under the Common namespace
2018-05-30 07:45:09 +02:00
JosJuice
2f561dafd9
Merge pull request #7014 from lioncash/const
...
DSPEmulator: Make the IsLLE() member function const-qualified
2018-05-30 07:40:44 +02:00
Sepalani
a83858cac0
Tools: Dolphin symbol map IDA scripts added
...
Old ReadDolphinMap script removed
2018-05-30 09:13:12 +04:00
Mat M
1825e231a3
Merge pull request #7013 from degasus/double2single
...
Jit64: Fix MORE_ACCURATE_DOUBLETOSINGLE.
2018-05-29 21:01:47 -04:00
Mat M
7f6ae322ea
Merge pull request #7018 from spycrab/qt_confirm_dialog
...
Qt/GeneralWidget: Add icon and title to the backend switch confirm di…
2018-05-29 19:27:07 -04:00
spycrab
c07b89792d
Qt/GeneralWidget: Add icon and title to the backend switch confirm dialog
2018-05-30 01:19:31 +02:00
spycrab
a729c375f3
Merge pull request #7011 from spycrab/qt_jit_instant
...
Qt/MenuBar: Fix JIT Menu options not being applied instantly
2018-05-30 00:53:20 +02:00
Lioncash
6fd7a79b93
Arm64Emitter: Use Common::BitCast where applicable
...
Gets rid of the need to set up memcpy boilerplate to reinterpret between
floating-point and integers.
While we're at it, also do a minor bit of tidying.
2018-05-29 18:19:01 -04:00
Lioncash
397b27e665
MemoryPatches: In-class initialize is_enabled state for MemoryPatch instances
...
Given this is what occurs in both constructors (as one just passes
through to another), we can just initialize the member directly.
While we're at it, amend the struct to follow the general ordering
convention of:
<new types>
<functions>
<variables>
2018-05-29 18:04:06 -04:00
Lioncash
4c33bb8dda
MemoryPatches: std::move std::vector in the constructor
...
We can avoid copying the vector contents in this instance.
2018-05-29 18:01:16 -04:00
Lioncash
97c5a840db
PcapFile: Namespace code under the Common namespace
...
Brings more common code under the Common namespace.
2018-05-29 17:56:15 -04:00
Lioncash
a7de492696
DSPEmulator: Make the IsLLE() member function const-qualified
...
This function only queries state and doesn't modify it, so this can be
made a const member function
2018-05-29 17:45:07 -04:00