Lioncash
3840b55292
NetPlayClient/NetPlayServer: Remove now-unnecessary static_casts
...
Now that we have the enum helpers in place, quite a few casts on their
own can be removed.
2021-09-22 15:59:43 -04:00
Lioncash
80b4a4d7fd
NetPlayProto: Remove now-unused MessageId type alias
...
Now that we have enum helpers for inserting values into packets and have
migrated all other enumerations over, there's no need to keep this alias
around any longer.
2021-09-22 15:42:04 -04:00
Lioncash
a034f378a0
NetPlayProto: Turn connection error enum into an enum class
...
Continues the migration off the MessageId type alias
2021-09-22 15:42:04 -04:00
Lioncash
dedd0b7ba1
NetPlayProto: Turn Sync-related enums into enum classes
2021-09-22 15:42:04 -04:00
Lioncash
af4aaf4609
NetPlayProto: Turn MessageID enum into an enum class
...
Now we can leverage our helper to insert enum values without the need to
cast.
2021-09-22 15:42:04 -04:00
Lioncash
07af775afa
SFMLHelper: Add stream insertion overload helpers for enum types
...
Will be used in future changes to eliminate the need to cast when
inserting various message IDs
2021-09-22 15:42:01 -04:00
Mai M
cc84799c7f
Merge pull request #10117 from AdmiralCurtiss/disc-content-comparators
...
DiscIO/DirectoryBlob: Fix swapped DiscContent comparison operators.
2021-09-21 02:24:42 -04:00
Mai M
70a9003947
Merge pull request #10109 from JosJuice/android-clear-confirmation
...
Android: Show confirmation dialog for clearing game settings
2021-09-19 16:10:22 -04:00
Mai M
57f71a55f8
Merge pull request #10110 from JosJuice/remove-request-refresh-info
...
Core: Remove s_request_refresh_info
2021-09-19 16:09:58 -04:00
Mai M
ca2589f7df
Merge pull request #10103 from AdmiralCurtiss/cheat-search-length-underflow
...
Core/CheatSearch: Avoid length underflow on new search.
2021-09-19 16:09:43 -04:00
Lioncash
2b9c65967e
NetPlayClient: Change return value of OnData() to void
...
In all usage cases, the return value isn't utilized.
2021-09-15 11:31:32 -04:00
Lioncash
ae714b25ba
NetPlayClient: Split out OnData()
...
Over time OnData() has become a huge function-long case statement that
attempts to manage numerous packet-related behaviors, which makes it a
little difficult to reliably ensure certain handling doesn't interfere
with another case's. It's also mildly annoying to navigate due to its
size.
To make it a little easier to read and find the specific behavior, we
can break the relevant pieces of code out into their own functions.
2021-09-15 11:31:28 -04:00
Lioncash
7c909a73de
SI_DeviceKeyboard: Shorten MapKeys()
...
We can wrap this logic into a lambda to avoid copy-pasted checking of
the over 400+ lines of code.
2021-09-15 01:58:02 -04:00
Lioncash
d00e7d5a75
SI: Collapse interrupt generation check in UpdateInterrupts()
...
We can simplify this by storing the result of the test into a variable
instead.
2021-09-13 11:25:03 -04:00
Lioncash
ca24c32cbf
SI: Eliminate trivial sign conversion cases in RegisterMMIO()
...
Previously differently signed types were being used to create addresses
and bit offsets.
2021-09-13 11:24:59 -04:00
Mai M
059794b551
Merge pull request #10087 from JosJuice/jitarm64-psq-caller-saved
...
JitArm64: Move psq_stXX GetCallerSavedUsed calls later
2021-09-08 04:00:43 -04:00
Mai M
8809d8eb61
Merge pull request #10089 from AdmiralCurtiss/jit-cache-valid-block-clear
...
PowerPC/JitCache: Clear valid_block bits for long invalidations.
2021-09-08 04:00:23 -04:00
Mai M
5538e90ebf
Merge pull request #10090 from Pokechu22/d3d-isnan-replacement
...
Use custom isnan implementation to avoid HLSL optimizer issues
2021-09-08 03:59:45 -04:00
Mai M
282fda1530
Merge pull request #10086 from JosJuice/jitarm64-w0
...
JitArm64: Fix W0 being present twice in register cache
2021-09-04 21:14:40 -04:00
Lioncash
f36fd5fa39
BPMemory: Make ZTexOp enum an enum class
...
Avoids placing generic names in the surrounding namespace.
2021-09-01 18:23:22 -04:00
Lioncash
269b7a2166
MemoryInterface: Eliminate trivial sign conversion cases
...
We can just use unsigned loop variables instead of signed ones.
2021-09-01 06:39:06 -04:00
Lioncash
163b24833d
MemoryInterface: Migrate bitfields over to Common::BitField
2021-09-01 06:36:25 -04:00
Lioncash
15566048f0
DVDInterface: Migrate bitfields over to Common::BitField
2021-08-31 17:27:43 -04:00
Lioncash
e68b9de62c
SI: Migrate bitfields to Common::BitField
2021-08-31 16:26:07 -04:00
Lioncash
ed0aa5928f
Gekko: Remove unused UReg_PTE
...
PTEs are only ever operated on in terms of their halves in our code
currently, so this can be removed.
2021-08-31 12:18:31 -04:00
Lioncash
029aff0741
MMU: Remove now-unused defines
...
Now that we're using register unions where applicable, we can remove
these defines, since they're now unused.
2021-08-31 12:18:28 -04:00
Lioncash
7a6b63b309
MMU: Don't truncate 64-bit values when calling Memcheck()
...
Previously in Read_U64 and Write_U64 the value that was read or written
would be truncated to a 32-bit value before being passed off to the
memcheck handler, which can result in incorrect values being logged out.
2021-08-31 11:39:13 -04:00
Lioncash
a8ebca4fc6
MMU: Invert conditionals in Memcheck()
...
Lets us unindent code a little bit.
2021-08-31 11:30:57 -04:00
Lioncash
ee40b640d3
MMU: Make use of UPTE_Lo and UReg_SR in TranslatePageAddress()
...
Allows us to get rid of a bit of masking in exchange for stating the
bits being accessed or written to directly.
2021-08-31 10:52:52 -04:00
Lioncash
e687569e02
Gekko: Add union for segment registers
...
Will be used in the following commit.
2021-08-31 10:45:12 -04:00
Lioncash
75840f62ff
MMU: Make use of UReg_SDR1 in SDRUpdated()
...
Lets us simplify SDRUpdated() a little bit.
This also fixes the layout of UReg_SDR1. Turns out this struct has been
incorrect (from a little-endian perspective) the entire time and went
unnoticed, since the union was never used.
2021-08-31 10:20:56 -04:00
Lioncash
1c776d8c1a
MMU: Move invalidation logic into the TLBEntry struct
...
Puts the invalidation logic in one place and lets us tidy up
InvalidateTLBEntry a little.
2021-08-31 10:04:44 -04:00
Lioncash
3216040bfe
MMU: Remove implicit sign conversions and truncation in UpdateTLBEntry
...
These are trivial to resolve.
Converting the structure member into a u32 results in no increase in
structure size, as it's making use of the three extra padding bits in
the structure.
2021-08-31 10:00:18 -04:00
Lioncash
c008b1c335
MMU: Move UPTE1/UPTE2 unions into Gekko.h
...
Keeps the register definitions in one spot and lets us remove a comment
about them.
2021-08-31 09:45:28 -04:00
Lioncash
65e131ef5f
MMU: Convert PTE unions over to Common::BitField
2021-08-31 09:36:13 -04:00
Lioncash
dbf8e27d7f
Gekko: Convert UReg_PTE over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
e4e1b6064d
Gekko: Convert UReg_THRM3 over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
11e76e1f67
Gekko: Convert UReg_THRM12 over to using Common::BitField
2021-08-29 06:16:55 -04:00
Lioncash
12b87922fb
Gekko: Convert UReg_BAT_Lo over to using Common::BitField
2021-08-29 06:16:54 -04:00
Lioncash
b4496e6653
Gekko: Convert UReg_BAT_Up over to using Common::BitField
2021-08-29 06:16:51 -04:00
Lioncash
1e4ecfe3d4
Gekko: Convert UReg_DMAL over to using Common::BitField
2021-08-27 11:20:37 -04:00
Lioncash
474e09c239
Gekko: Convert UReg_DMAU over to using Common::BitField
2021-08-27 11:19:21 -04:00
Lioncash
a126821d5e
Gekko: Convert UReg_WPAR over to using Common::BitField
2021-08-27 11:18:03 -04:00
Lioncash
8ac079a647
Gekko: Convert UReg_MMCR1 over to using Common::BitField
2021-08-27 11:16:41 -04:00
Lioncash
300f7c10bd
Gekko: Convert UReg_MMCR0 over to using Common::BitField
2021-08-27 11:15:15 -04:00
Lioncash
1ec3768b84
Gekko: Convert UReg_SDR1 over to using Common::BitField
...
Also fixes a typo in the struct name, since it was referring to SPR1
instead of SDR1. Given this isn't used anywhere yet, it's a painless
change.
2021-08-27 11:12:30 -04:00
Lioncash
9e183e63f1
Gekko: Convert UReg_HID4 over to using Common::BitField
2021-08-27 11:10:22 -04:00
Lioncash
6ab2e5ab16
Gekko: Convert UReg_HID2 over to using Common::BitField
2021-08-27 11:08:14 -04:00
Lioncash
02ec9c3b50
Gekko: Convert UReg_HID0 over to using Common::BitField
2021-08-27 11:05:51 -04:00
Lioncash
4591246608
Gekko: Convert UReg_FPSCR over to using Common::BitField
2021-08-27 11:01:32 -04:00
Lioncash
4ecdcc9d78
Gekko: Convert UReg_MSR over to using Common::BitField
2021-08-27 10:54:49 -04:00
Lioncash
1863212d94
Gekko: Convert UReg_XER over to using Common::BitField
2021-08-27 10:46:38 -04:00
Mai M
4816195366
Merge pull request #10054 from JosJuice/android-game-cache-lock
...
Android: Reduce gameFileCache lock contention
2021-08-27 10:15:25 -04:00
Mai M
7d88354659
Merge pull request #10061 from JosJuice/jitwidget-div-zero
...
DolphinQt: Fix divide by zero in JITWidget::Update
2021-08-27 10:13:52 -04:00
Mai M
df32a43e8f
Merge pull request #10062 from krnlyng/twi_flags
...
Interpreter_Tables: specify FL_IN_A for twi.
2021-08-27 10:13:05 -04:00
Lioncash
3c0d4b7d8f
NetKDTime: Eliminate implicit sign conversions
...
Silences compiler warnings and also makes the conversions here explicit
to the reader.
2021-08-24 12:04:04 -04:00
Lioncash
caba81ad3b
NetKDTime: Move internal IOCtl values into IOCtl function
...
These are only ever used here, so they can be turned into an internal
implementation detail.
2021-08-24 12:04:04 -04:00
Lioncash
6268ee44a1
NWC24Config: Provide name for unk_04 config member
...
According to WiiBrew this is a version number (thanks to Awesomebing1
for documenting this!)
2021-08-24 12:04:04 -04:00
Lioncash
a60af199d8
NWC24Config: Move array length constants into the private part of the class
...
These are only used internally and not intended to be used outside of
the class itself.
2021-08-24 12:04:04 -04:00
Lioncash
bc939df69c
NWC24Config: Make creation stage an enum class
...
Makes the enum strongly typed instead of interacting with a raw u32
value. While we're at it, we can add helpers to the NWC24Config to make
using code poke at the internals of the class a little bit less and also
make the querying a little nicer to read.
2021-08-24 12:04:04 -04:00
Lioncash
82371b89fc
NetKDRequest: Remove unused include
2021-08-24 12:04:04 -04:00
Lioncash
e65363f05f
NetKDRequest: Make use of constexpr arrays containing pairs instead of maps
...
Currently we were using heap allocating maps that last for the entire
duration of the emulator running.
Given the size N of both of these maps are very small (< 20 elements),
we can just make use of an array of pairs and perform linear scans. This
is also fine, given this code isn't particularly "hot" either, so this
won't be run often.
2021-08-24 12:04:01 -04:00
Lioncash
8c67f13256
ResourcePackManager: Translate unknown author string
...
This is text that should be translated, since it'll show up as English
for non-English speakers.
2021-08-24 11:31:47 -04:00
Lioncash
89ceef2a8a
MainWindow: Use MainWindow variant of tr()
...
MainWindow derives from QMainWindow, so we can use tr() directly without
the qualification.
2021-08-24 11:13:55 -04:00
Lioncash
47b40698bb
MainWindow: Fix typo in resource pack initialization error message
...
occured -> occurred
2021-08-24 11:10:49 -04:00
Lioncash
75b68c9e96
GBAWidget: Add ellipses for option selections that require more input
...
Makes the context menu selections consistent with the rest of the
application.
2021-08-24 10:43:34 -04:00
Lioncash
a65fcb5e5b
ConvertDialog: Provide complete translation string for conversion
...
Gives the translator full control over the string's localization instead
of only one part of it.
2021-08-24 10:21:53 -04:00
Lioncash
70399955a0
CheatsManager: Make use of plural variant of tr()
...
Allows translators to specify different translations if the target
languages have pluralization rules that differ from English.
2021-08-24 10:14:59 -04:00
Mai M
7688db3cd3
Merge pull request #10047 from Dentomologist/remove_windows_help_buttons
...
DolphinQt: Remove Windows dialog help buttons
2021-08-24 08:34:31 -04:00
Mai M
922f53e16e
Merge pull request #10049 from JosJuice/jitarm64-fault-to-handler
...
JitArm64: Make HandleFastmemFault less unsafe
2021-08-24 08:33:58 -04:00
Mai M
19f8e39929
Merge pull request #10051 from Pokechu22/dsp-jit-revert-acs-extension
...
Revert "DSPJit: Sign-extend acS.h to 32 bits"
2021-08-24 08:33:32 -04:00
Lioncash
b49bd76d91
NetKDRequest: Fix typo in IOCtl enum names (schedular -> scheduler)
2021-08-24 08:28:14 -04:00
Lioncash
3a38e99001
NetKDRequest: Make hardware model enum strongly typed
...
Makes it a distinct type instead of decaying to an ambiguous u8.
2021-08-24 07:46:53 -04:00
Lioncash
1e27880014
NetKDRequest: Make private member functions completely internal
...
These functions don't touch any class state, so they can be turned into
internal helper functions.
While we're at it, we can move the enumerations as well.
2021-08-24 07:45:56 -04:00
Lioncash
ff3947a1b9
NetKDRequest: Minor adjustments to NWC24MakeUserID
...
- Make use of std::array
- Move helper functions inside it as lambdas
- Eliminate sign-conversions that were occurring (promotion of u8 to int)
2021-08-24 07:13:08 -04:00
Mai M
c227023375
Merge pull request #10050 from JosJuice/jitarm64-disable-psq-x
...
JitArm64: Disable indexed paired loadstore instructions
2021-08-22 19:11:16 -04:00
Mai M
17a01c894b
Merge pull request #10044 from AdmiralCurtiss/invalidate-icache-lines-fix
...
PowerPC: Fix for calling InvalidateICacheLines() with a count of 1 causing a (harmless) second invalidation.
2021-08-19 19:23:11 -04:00
Lioncash
b7b45eb111
Interpreter: Make signedness and narrowing conversions explicit
...
Makes our conversions between the different signs explicit to indicate
that they're intentional and also silences compiler warnings when
compiling with sign conversion or stricter truncation warnings enabled.
2021-08-18 09:56:00 -04:00
Mai M
33154de614
Merge pull request #10039 from OatmealDome/spdx-leftovers
...
Fix some missed items from SPDX transition
2021-08-17 23:02:32 -04:00
Mai M
6863b7ae9e
Merge pull request #10036 from JosJuice/jitarm64-psq-x
...
JitArm64: Implement indexed paired loadstore instructions
2021-08-17 23:00:57 -04:00
Mai M
437b475254
Merge pull request #10037 from OatmealDome/min-macos-bump
...
Bump minimum macOS to 10.13 High Sierra
2021-08-17 22:59:43 -04:00
Mai M
62c3c1a23b
Merge pull request #10034 from JosJuice/jitarm64-w
...
JitArm64: Fix paired loadstore instruction decoding
2021-08-16 17:08:43 -04:00
Mai M
d48d6f280a
Merge pull request #10033 from Pokechu22/dsp-jit-table-masking
...
DSP/Jit: simplify opcode table by masking
2021-08-16 17:08:18 -04:00
Mai M
35c64d1f57
Merge pull request #10031 from Pokechu22/dsp-int-less
...
DSPInterpreter: Fix IsLess
2021-08-15 22:50:02 -04:00
Mai M
fd8a818a93
Merge pull request #10027 from shuffle2/remove-wa
...
revert workaround for msvc arm64 ICE in WIABlob
2021-08-14 16:16:22 -04:00
Mai M
891726e924
Merge pull request #10013 from OatmealDome/wsd-thanos-snap
...
WiimoteReal: Remove WiimoteScannerDarwin
2021-08-13 13:24:38 -04:00
Mai M
82969db7de
Merge pull request #10018 from JosJuice/code-allow-name-line
...
DolphinQt: Allow $ line when entering AR/Gecko code
2021-08-13 13:22:25 -04:00
Mai M
e2ccad7f95
Merge pull request #10017 from JosJuice/qt-gecko-notes-lf
...
DolphinQt: Don't add trailing newline to Gecko notes
2021-08-13 13:21:07 -04:00
Mai M
c43f451da8
Merge pull request #10022 from MerryMage/codesign-debug
...
DolphinQt: Add entitlement to allow debugger to attach in Debug builds
2021-08-13 13:19:59 -04:00
Mai M
7cc8437050
Merge pull request #10023 from JosJuice/qt-breakpoint-focus
...
DolphinQt: Set default focus for NewBreakpointDialog
2021-08-13 13:18:58 -04:00
Mai M
67c06cfc55
Merge pull request #10001 from JosJuice/pte-1
...
PowerPC: Fix bad copypaste in LookupTLBPageAddress
2021-08-06 12:53:49 -04:00
Mai M
857d1c399d
Merge pull request #9999 from JosJuice/jit-dcbx-masking
...
Jit: Re-add dcbx masking
2021-08-06 09:35:17 -04:00
Mai M
37115f04ac
Merge pull request #9997 from JosJuice/jitarm64-store-w8
...
JitArm64: Fix W8 slowmem store
2021-08-05 12:37:08 -04:00
Mai M
627832355e
Merge pull request #9973 from JosJuice/jit-fma-negation-order
...
Jit: Use accurate negation order for FMA instructions
2021-07-31 20:18:49 -04:00
Mai M
7c365349ee
Merge pull request #9977 from JosJuice/jitarm64-mtfsfx
...
JitArm64: Implement mtfsfx
2021-07-31 17:54:48 -04:00
Mai M
bef1fdb4cb
Merge pull request #9974 from JosJuice/jitarm64-mtfsfix
...
JitArm64: Implement mtfsfix
2021-07-31 03:56:51 -04:00
Mai M
b6bd3fc430
Merge pull request #9976 from Tilka/ax
...
DSPHLE: include compressor state in save states
2021-07-31 03:56:27 -04:00
Mai M
c86c02e46b
Merge pull request #9960 from JosJuice/jitarm64-mtfsb1x
...
JitArm64: Implement mtfsb1x
2021-07-28 20:46:09 -04:00
Mai M
28ee0af9a3
Merge pull request #9970 from JosJuice/jit64-fmaddxx-accurate-nan
...
Jit64: Fix fmaddXX with accurate NaNs
2021-07-28 20:45:00 -04:00
Mai M
1fa527f44c
Merge pull request #9943 from JosJuice/android-dsp-recommendations
...
Android: Adjust DSP selection names
2021-07-23 12:22:38 -04:00