Michael M
0eb47e1071
CMake: make SDL a private dep of InputCommon
2018-06-04 17:49:21 +02:00
JMC47
2795376b61
Enable Accurate Double to Single Conversion
2018-06-04 11:49:12 -04:00
Léo Lam
8e0ea92ec3
Merge pull request #7058 from JosJuice/move-titledatabase-usage
...
Don't store custom names from TitleDatabase in GameFileCache
2018-06-04 14:59:05 +02:00
Léo Lam
8074192a85
Merge pull request #7057 from leoetlino/string
...
Config/StringUtil/IniFile: Get rid of some duplicated code
2018-06-04 12:44:57 +02:00
JosJuice
85e94cc510
Don't store custom names from TitleDatabase in GameFileCache
...
This saves us from having to update the GameFileCache when the
TitleDatabase changes (for instance when the user changes language).
2018-06-04 07:45:22 +02:00
Léo Lam
472e0d55b8
Merge pull request #7061 from leoetlino/wiiroot
...
WiiRoot: Use new filesystem interface
2018-06-04 00:15:49 +02:00
Lioncash
9068109b3e
Interpreter: Unset FPSCR.FI and FPSCR.FR for QNaN and infinity input operands
...
This hardware behavior makes sense, as the FI bit is used to signify an
inexact result. An inexact result is a form of value that results during
the rounding phase of denormalization. If any bits of the significand
are lost during said rounding, then the result is considered to be
inexact.
However NaN and infinity are not classed as subnormals and therefore
don't undergo the denormalization step, making loss of precision not
possible (in NaN's case, numerically rounding something that is
literally Not a Number doesn't even make sense).
FR is set to indicate whether or not the last arithmetic or rounding and
conversion instruction that rounded the intermediate result incremented
the fractional portion of the result. Given neither input types would be
affected by this, this should also be unset.
This corrects more of the exceptional case handling for these values to
match hardware.
2018-06-03 18:15:47 -04:00
degasus
7154bfd825
UnitTest: Add StringUtil ToString/TryParse test
...
Only a single one, but the main one for ini files:
Check if the written values can be parsed again.
2018-06-03 23:12:32 +02:00
Léo Lam
0ecec33567
WiiRoot: Use a namespace alias for FS to reduce noise
2018-06-03 21:37:28 +02:00
Léo Lam
c1428b6da0
WiiRoot: Use new filesystem interface
...
This gets rid of remaining direct accesses to the Wii filesystem
in WiiRoot by using WiiSave to copy saves and the FS interface
2018-06-03 21:21:32 +02:00
Léo Lam
8fce18e4ff
Merge pull request #7059 from leoetlino/fs-wiisave
...
WiiSave: Use new filesystem interface
2018-06-03 21:05:22 +02:00
Léo Lam
47bf809796
Merge pull request #7060 from lioncash/reg
...
Gekko: Make register constructors explicit where applicable
2018-06-03 21:04:34 +02:00
Léo Lam
6b9aef7042
FS: Add a struct for modes
...
As suggested here: https://dolp.in/pr7059#pullrequestreview-125401778
More descriptive than having a std::tuple of FS::Mode, and lets us
give names to known triplets of modes (like in ES). Functions that
only forward mode arguments are slightly less verbose now too.
2018-06-03 20:45:35 +02:00
Lioncash
06056d4f45
Gekko: Make register constructors explicit where applicable
...
Prevents implicit conversions to types and requires explicitly
specifying them in order to construct instances of them. Given these are
used within emulation code directly, being explicit is always better
than implicit.
2018-06-03 12:37:17 -04:00
Léo Lam
d1a8661709
WiiSave: Save and restore files and banner with correct mode
2018-06-03 17:23:40 +02:00
Léo Lam
fd3472442d
WiiSave: Use new filesystem interface
...
Converts WiiSave to the new filesystem interface.
2018-06-03 17:01:14 +02:00
Léo Lam
c22205cd7e
Merge pull request #7053 from lioncash/frfi
...
Interpreter_FPUtils/FloatingPoint/Paired: Amend cases where FPSCR.FR and FPSCR.FI should be unset
2018-06-03 15:36:12 +02:00
Léo Lam
83324fe77d
StringUtil: Remove ValueToString(std::string)
...
Doesn't make a lot of sense to have a function that gives the string
representation for a string.
2018-06-03 15:11:59 +02:00
Léo Lam
7e79bf97ab
IniFile: Use templates for Get()
...
Gets rid of duplicated code.
2018-06-03 14:53:56 +02:00
Léo Lam
cba32b12e7
IniFile: Use templates for Set()
2018-06-03 14:53:56 +02:00
Lioncash
3e63d71046
Gekko: Add helper function for clearing both FPSCR.FI and FPSCR.FR
2018-06-03 08:27:18 -04:00
Léo Lam
fc0193c4b1
Move Config ValueToString to StringUtil
...
An identical implementation is used by IniFile, so move those functions
to StringUtil. A future commit will modify IniFile to use them.
2018-06-03 14:10:52 +02:00
Léo Lam
66ee47c417
Merge pull request #7056 from spycrab/qt_hk_debug
...
Qt/HotkeyWindow: Always show debugging tab
2018-06-03 13:50:56 +02:00
spycrab
0cc20e95fe
Qt/HotkeyWindow: Always show debugging tab
2018-06-03 13:40:57 +02:00
spycrab
327eb1336b
Merge pull request #7055 from spycrab/qt_other_state
...
Qt/Hotkeys: Implement missing "Other State Management" tab
2018-06-03 13:32:42 +02:00
spycrab
9c26a1a458
Qt/Hotkeys: Implement missing "Other State Management" tab
2018-06-03 12:44:02 +02:00
Léo Lam
1e51e263e0
Merge pull request #6988 from leoetlino/wii-save-refactor
...
WiiSave: Refactor the import/export code
2018-06-03 12:05:43 +02:00
Léo Lam
86368fcd4d
Merge pull request #6499 from Ebola16/SettingsGroup
...
Android: Initial implementation of Interface submenu
2018-06-03 12:02:56 +02:00
Léo Lam
24ca621652
Merge pull request #7052 from AdmiralCurtiss/pokemon-colosseum-bonus-disc-ini
...
Update GameINI settings for the Japanese Pokémon Colosseum Bonus Discs.
2018-06-03 11:58:46 +02:00
Léo Lam
a2b2a31e64
Merge pull request #7054 from JosJuice/android-no-themes
...
Don't include the Themes directory in Android APKs
2018-06-03 11:55:08 +02:00
JosJuice
2062768bb2
Don't include the Themes directory in Android APKs
...
We already exclude the Resources folder. Let's do the same with Themes.
2018-06-03 11:11:24 +02:00
Lioncash
d6bafbfaaf
Interpreter_Paired: Handle signaling NaNs within ps_res and ps_rsqrte
...
Like regular fres and frsqrte, these also signal whether or not either
of the inputs are signaling NaNs.
2018-06-02 20:47:18 -04:00
Lioncash
d05c2ef90d
Interpreter_Paired: Unset FPSCR.FI and FR in ps_res and ps_frsqrte in exceptional cases
...
If invalid operation exceptions or zero divide exceptions occur in
either of these instructions, FI and FR are supposed to be unset.
2018-06-02 20:42:47 -04:00
Lioncash
83774f72ad
Interpreter_FloatingPoint: Unset FPSCR.FI and FPSCR.FR if a division by zero exception occurs in fres and frsqrte
...
Within the programming environments manual, part of the behavior of a
zero divide exception condition is that FI and FR be cleared.
2018-06-02 20:26:20 -04:00
Lioncash
468efb7243
Interpreter_FPUtils: Unset FPSCR.FI and FPSCR.FR if an invalid operation occurs in NI_* functions
...
If an invalid operation occurs, FI and FR bits are defined to be cleared
to zero for arithmetic operations.
2018-06-02 20:18:51 -04:00
Admiral H. Curtiss
2b1bfc886a
Update GameINI settings for the Japanese Pokémon Colosseum Bonus Discs.
...
These discs use the Pokémon Colosseum engine and thus need Safe Texture Cache for scrolling text to display correctly.
2018-06-03 01:50:29 +02:00
Anthony
0f7370a22c
Merge pull request #7051 from lioncash/frsqrte
...
Interpreter_FloatingPoint: Don't store to destination in frsqrte if VE or ZE is set and a relevant exception occurs
2018-06-02 13:49:09 -07:00
spycrab
ba471c3214
Merge pull request #7048 from spycrab/qt_fs_size
...
Qt/FilesystemWidget: Add size column
2018-06-02 21:45:02 +02:00
Léo Lam
396810c450
Merge pull request #7050 from lioncash/ptr
...
WiimoteDevice: Get rid of pointer casting in CBigEndianBuffer
2018-06-02 21:35:43 +02:00
Lioncash
21add26b71
Interpreter_FloatingPoint: Clear FPSCR.FI and FPSCR.FR in invalid operation cases
...
As explained within 179d73ac0d
, the table
within the Programming Environments Manual for PowerPC lists the FI and
FR bits as cleared for invalid operation cases. So, we amend the
relevant cases here in order to be accurate to hardware.
2018-06-02 15:30:56 -04:00
Lioncash
b71a9e658f
Interpreter_FloatingPoint: Don't store to destination in frsqrte if VE or ZE is set and a relevant exception occurs
...
As explained within commit a08ad82ace
, if
an invalid exception occurs and VE is set, then the destination register
should remain unchanged. Ditto for when ZE is set and a zero divide
exception occurs.
2018-06-02 15:27:14 -04:00
Lioncash
f6c4c05d93
WiimoteDevice: Make CBigEndianBuffer's constructor explicit
...
Prevents implicit construction of buffers.
2018-06-02 15:10:51 -04:00
Lioncash
4601136b08
WiimoteDevice: Get rid of pointer casting in CBigEndianBuffer
...
Gets rid of more places where we can violate alignment requirements and
aliasing rules.
2018-06-02 15:02:03 -04:00
Lioncash
13e828fd4d
WiimoteDevice: Move CBigEndianBuffer to the cpp file
...
This is only used internally, so we don't need to expose it in the
header. This also allows getting rid of inclusion of the byte swapping
utilities in the header as well.
2018-06-02 14:55:05 -04:00
Anthony
8d1b2f9cae
Merge pull request #7045 from lioncash/fres
...
Interpreter_FloatingPoint: Don't store to destination in fres if VE or ZE is set and a relevant exception occurs
2018-06-02 11:42:34 -07:00
Anthony
c02a239a2f
Merge pull request #7049 from lioncash/ipl
...
EXI_DeviceIPL: Minor changes
2018-06-02 11:40:27 -07:00
Lioncash
b1c7ce75e4
EXI_DeviceIPL: Replace superfluous virtual with override on destructor
2018-06-02 14:18:49 -04:00
Lioncash
0d89650950
EXI_DeviceIPL: Use std::array where applicable
2018-06-02 14:18:02 -04:00
Lioncash
bf4775f95f
EXI_DeviceIPL: Normalize variable names
...
Makes naming consistent with our coding style.
2018-06-02 14:14:08 -04:00
Lioncash
b6203c66c2
EXI_DeviceIPL: In-class initialize data members where applicable
2018-06-02 14:08:01 -04:00