booto
c880302c6b
Prevent paired singles routines clobbering PC,SRR0
...
Paired single (ps) instructions can call asm_routines that try to update
PowerPC::ppcState.pc. At the time the asm_routine is built, emulation has
not started and the PC is invalid (0). If the ps instruction causes an
exception (e.g. DSI), SRR0 gets clobbered with the invalid PC.
This change makes the relevant ps instructions store PC before calling out
to asm_routines, and prevents the asm_routine from trying to store PC
itself.
2018-05-14 20:49:13 -04:00
spycrab
e922f91cc3
Qt/GeneralWidget: Restore the adapter properly
2018-05-14 21:16:20 +02:00
Léo Lam
159f6115e2
Merge pull request #6851 from lioncash/usage
...
BreakpointWidget: Move variables closer to usage sites in OnLoad()
2018-05-14 19:18:05 +02:00
Léo Lam
b5761f9dc7
Merge pull request #6852 from lioncash/code
...
CodeViewWidget: Minor changes
2018-05-14 19:17:35 +02:00
Léo Lam
5b15060127
Merge pull request #6857 from spycrab/qt_minor_win
...
Qt: Minor window fixes
2018-05-14 19:11:56 +02:00
Zexaron
ff971b1a6f
Qt/GeneralWidget remove unnecesary description wiring
2018-05-14 18:18:18 +02:00
spycrab
ca5dc25694
Merge pull request #6858 from lioncash/capture
...
DolphinQt2: Resolve unused lambda capture warnings
2018-05-14 16:47:55 +02:00
spycrab
26b1048975
Merge pull request #6850 from lioncash/moc
...
DolphinQt2: Add missing Q_OBJECT macro to all QObject-related classes missing it
2018-05-14 16:29:53 +02:00
Lioncash
e2543ea801
DolphinQt2: Resolve unused lambda capture warnings
...
Resolves -Wunused-lambda-capture warnings.
2018-05-14 10:11:47 -04:00
spycrab
7e9bf12246
Qt: Minor window fixes
...
* Remove some more "What's this?" buttons
* Add some missing titles
2018-05-14 11:10:04 +02:00
Markus Wick
db4d8d7ad3
Merge pull request #6854 from lioncash/access
...
Jit/CachedInterpreter: Minor cleanup to code buffer accesses
2018-05-14 07:49:22 +02:00
aldelaro5
6f2d8fad8f
Qt: allow to resize the render widget however wanted on render to main
2018-05-14 00:43:31 -04:00
Lioncash
7437f2efdc
JitArm64: Clean up code buffer accesses in DoJit()
...
Done for the same reason this was done for Jit64. Avoids constantly
indexing for the same known object instance over and over.
2018-05-13 22:11:01 -04:00
Lioncash
f4affa3d1d
CachedInterpreter: Clean up code buffer accesses in Jit()
...
Done similarly for the reasons Jit64 was done. Localizes indexing to one
place instead of repeatedly indexing the same place.
2018-05-13 22:11:01 -04:00
Lioncash
a16c0a6e16
Jit64: Clean up code buffer accesses in DoJit()
...
Moves the codebuffer access variables closer to their first use, and
gets rid of multiple indexing expressions. We already know which op
we're accessing in particular, so just make a reference to it and access
it instead of duplicating the expression all over the place.
2018-05-13 22:10:56 -04:00
Lioncash
d7a3ce26de
CodeViewWidget: Get rid of magic values in OnInsertBLR() and OnInsertNOP()
...
A call like ReplaceAddress(address, 0) is pretty ambiguous; so is
ReplaceAddress(address, false), so use an enum class that tells people
straight-up what the replacer is.
This also gets rid of the really weird naming, where if 'blr' is true,
we'd be replacing the address with a NOP, rather than an actual BLR
instruction, so we invert that so it actually makes sense. There's no
actual bug fixed here though, considering the OnInsert functions
specified the correct values; it's literally just weird naming.
2018-05-13 18:33:51 -04:00
Lioncash
bbc0aee5ea
CodeViewWidget: Replaces usages of QString::fromStdString with QStringLiteral where applicable
...
There's no need to construct a std::string here, when there's no dynamic
elements to the text.
2018-05-13 18:11:09 -04:00
Lioncash
644bbb29f3
CodeViewWidget: Remove unnecessary includes
2018-05-13 18:06:37 -04:00
Lioncash
7032863569
CodeViewWidget: Remove unnecessary QColor constructions
...
QBrush also accepts regular GlobalColor values as well.
2018-05-13 18:01:10 -04:00
Lioncash
a0a0295f9d
BreakpointWidget: Move variables closer to usage sites in OnLoad()
...
In the early-out case, we now don't end up constructing two vectors
that aren't even used. It also keeps relevant code together.
2018-05-13 17:56:03 -04:00
aldelaro5
2c861e75f5
Qt/debugger: only consider debugger hotkeys if debugging is enabled
2018-05-13 17:39:44 -04:00
Léo Lam
f8e5e7126c
Merge pull request #6849 from leoetlino/oops
...
WiiSave: Fix out-of-bounds read
2018-05-13 23:34:32 +02:00
Léo Lam
345838d517
Merge pull request #6842 from spycrab/qt_map_apply
...
Qt/Mapping: Fix mapping changes not being applied instantly
2018-05-13 23:34:18 +02:00
Lioncash
222fe58e25
DolphinQt2: Add missing Q_OBJECT macro to all QObject-related classes missing it
...
Without this macro, if any signals or slots were attempted to be used,
they wouldn't work; neither would various other features of the Qt
meta-object system. This can also lead to weird behavior in other
circumstances. Qt's documentation specifically states:
"Therefore, we strongly recommend that all subclasses of QObject use the
Q_OBJECT macro regardless of whether or not they actually use signals,
slots, and properties."
on its page for "The Meta-Object System", which can be seen here:
https://doc.qt.io/qt-5/metaobjects.html
Let's opt for "always do the right thing", and keep the code extensible
for the future and not have random things blow up on us.
2018-05-13 17:33:32 -04:00
Léo Lam
3fbfa4335e
WiiSave: Fix out-of-bounds read
...
Fixes the count argument for WriteArray. (I used it like WriteBytes.)
Whoops.
2018-05-13 23:18:28 +02:00
spycrab
c7a0b6c9f8
Merge pull request #6831 from spycrab/qt_memcard_fixes
...
Qt/GCMemcardManager: Fix multiple issues
2018-05-13 23:14:46 +02:00
Léo Lam
2be8c35d6d
Merge pull request #6844 from leoetlino/wii-save-cleanup2
...
WiiSave: Reuse IOS services where possible
2018-05-13 23:08:28 +02:00
JosJuice
74d561085c
Merge pull request #6848 from lioncash/guard
...
DolphinQt2: Add missing header guards for CheatCodeEditor and MappingIndicator
2018-05-13 22:21:40 +02:00
Lioncash
b03c433543
DolphinQt2: Add missing header guards for CheatCodeEditor and MappingIndicator
...
Prevents potential double inclusion issues from ever happening.
2018-05-13 16:11:30 -04:00
Léo Lam
8f44423a5b
Merge pull request #6846 from spycrab/qt_native_sep
...
Qt: Use native dir separators
2018-05-13 22:10:10 +02:00
Léo Lam
6c38e4b47f
Merge pull request #6847 from lioncash/fs-include
...
FilesystemWidget: Replace DiscIO includes with forward declarations
2018-05-13 22:08:09 +02:00
Lioncash
d1d584d16b
FilesystemWidget: Replace DiscIO includes with forward declarations
...
Avoids the need to use an ugly ifdef around a header, and also resolves
an indirect inclusion in PropertiesDialog.
2018-05-13 16:01:16 -04:00
Léo Lam
1fe92b8be7
Merge pull request #6845 from lioncash/patch-dlg
...
NewPatchDialog/PatchesWidget: Use forward declarations where applicable
2018-05-13 22:00:43 +02:00
Léo Lam
07b57c7ac6
Merge pull request #6843 from lioncash/patch
...
PatchEngine: Minor changes
2018-05-13 21:58:55 +02:00
spycrab
5673a64612
Qt: Use native dir separators
2018-05-13 21:51:38 +02:00
Lioncash
5fd8cec7ea
PatchEngine: Add s_ prefix to file-scope variables
...
Brings the translation unit in line with the convention used elsewhere
in the codebase.
2018-05-13 15:46:55 -04:00
Lioncash
0995cfef6a
PatchEngine: Make PatchType an enum class
...
Makes the enum strongly typed. A function for retrieving the string
representation of the enum is also added, which allows hiding the array
that contains all of the strings from view (i.e. we operate on the API,
not the exposed internals). This also allows us to bounds check any
querying for the strings.
2018-05-13 15:46:51 -04:00
Lioncash
799e4154be
PatchesWidget: Convert Core and UICommon includes into forward declarations
...
Avoids propagating inclusions through UI headers
2018-05-13 15:38:58 -04:00
Lioncash
df3f9af6d7
NewPatchDialog: Convert PatchEngine include into a forward declaration
...
Avoids needing to include Core headers in UI-related header files,
preventing unintentional propagation.
2018-05-13 15:34:46 -04:00
Léo Lam
b405a1fbb1
WiiSave: Reuse ES::GetInstalledTitles
...
Same thing, less code, no manual FS access.
2018-05-13 21:28:35 +02:00
Léo Lam
a2ffe010f3
WiiSave: Reuse IOSC::Sign for signing
2018-05-13 21:28:35 +02:00
Léo Lam
07caac1d23
WiiSave: Reuse IOSC for AES decryption/encryption
...
The SD key is already in IOSC.
This also prevents WiiSave from exposing an external library as part
of its interface.
2018-05-13 21:25:58 +02:00
spycrab
9e2f9db94c
Qt/Mapping: Fix mapping changes not being applied instantly
2018-05-13 21:21:31 +02:00
Léo Lam
e67cbd462b
Merge pull request #6841 from spycrab/qt_fix_rtmfocus
...
Qt/RenderWidget: Fix render-to-main focus
2018-05-13 21:16:26 +02:00
spycrab
b9ae157835
Qt/RenderWidget: Fix render-to-main focus
2018-05-13 21:08:34 +02:00
Lioncash
a166cf2481
PatchEngine: Give Patch and PatchEntry default member initializers
...
Avoids potentially using the values uninitialized. While we're at it,
also drop the prefixed underscores from one of the constructors.
2018-05-13 15:08:32 -04:00
spycrab
7a5e51cda7
Merge pull request #6840 from lioncash/iostream
...
DolphinQt2/NewPatchDialog: Remove unused <iostream> include
2018-05-13 20:12:15 +02:00
Lioncash
15a522fe9b
DolphinQt2/NewPatchDialog: Remove unused <iostream> include
...
Including <iostream> causes a static constructor to be injected into the
translation unit, even if the everything from the header itself is
unused.
2018-05-13 14:04:22 -04:00
Léo Lam
9d1157f695
Merge pull request #6839 from spycrab/qt_start_top
...
Qt: Fix render widget not being on top when using -n / -e
2018-05-13 18:20:00 +02:00
Léo Lam
e828c243f3
Merge pull request #6836 from leoetlino/wii-save-cleanup
...
WiiSave: (not so) Minor cleanup
2018-05-13 18:19:22 +02:00