Commit Graph
100 Commits
Author SHA1 Message Date
Mai M cc9a75a87b Merge pull request #10230 from JMC47/redsteel2
Compatibility Settings for Red Steel 2
2021-11-21 21:07:33 -05:00
Mai M 15ff70baba Merge pull request #10231 from JosJuice/android-dir-init-livedata
Android: Make DirectoryInitialization use LiveData
2021-11-21 21:07:17 -05:00
Mai M 05ecff199f Merge pull request #10232 from JosJuice/android-minify
Android: Enable R8 code shrinking
2021-11-21 04:50:03 -05:00
Mai M 138847f98e Merge pull request #10239 from JosJuice/android-mmu
Android: Add MMU setting to GUI
2021-11-21 04:49:07 -05:00
Mai M 8b57aad8ed Merge pull request #10229 from JosJuice/android-game-list-livedata
Android: Make GameFileCacheManager use LiveData
2021-11-17 17:21:39 -05:00
Mai M 735fd60e52 Merge pull request #10217 from JMC47/bombermanjetters
Force Dual Core on for Bomberman Jetters
2021-11-16 23:29:40 -05:00
Mai M b14d982d36 Merge pull request #10225 from JosJuice/android-game-settings-title
Android: Properly set game settings title when navigating backwards
2021-11-16 23:26:38 -05:00
Mai M f4a32834b9 Merge pull request #10223 from JosJuice/enforce-skirts
GameINI: Fix comments causing errors in GALE01r0.ini
2021-11-16 23:24:52 -05:00
Mai M f10d95e2b2 Merge pull request #10224 from JosJuice/android-not-service
Android: Make GameFileCacheService not be a service
2021-11-16 23:22:22 -05:00
Mai M 0b81640dd1 Merge pull request #10221 from shuffle2/msbuild
msbuild: remove workaround for older winsdk
2021-11-15 19:53:35 -05:00
Mai M b919557e25 Merge pull request #10219 from shuffle2/extern
msbuild: use /external:anglebrackets
2021-11-15 11:10:38 -05:00
Mai M a58b1dc38b Merge pull request #10216 from JosJuice/user-not-global
DSP: Reword inappropriate references to Global User Directory
2021-11-14 20:12:50 -05:00
Mai M f19ed1be56 Merge pull request #10213 from JosJuice/android-ndk
Android: Bump NDK and CMake versions
2021-11-14 02:59:34 -05:00
Mai M c55721c754 Merge pull request #10210 from shuffle2/vs2022
msvc: update to vs2022 and windows sdk 10.0.22000
2021-11-11 17:29:37 -05:00
Mai M be9035454a Merge pull request #10197 from sepalani/mh-tex-corruption
GameINI: Change Texture Cache to Safe in RMHJ08.ini and ROM.ini
2021-11-07 00:09:15 -04:00
Mai M 6c72e6814d Merge pull request #10169 from leoetlino/fmt-localtime
Use fmt::localtime instead of thread-unsafe std::localtime
2021-11-07 00:08:14 -04:00
Mai M c89226cbd4 Merge pull request #10203 from merryhime/ctx_lr
MachineContext: Correct CTX_LR for Apple ARM64
2021-11-07 00:06:24 -04:00
Mai M 58f8c6e529 Merge pull request #10202 from merryhime/fctiwx
JitArm64: Implement fctiwx
2021-11-07 00:05:51 -04:00
Mai M 39ccdc1f98 Merge pull request #10199 from Sintendo/jit64divwxnits
Jit64: divwx - One more micro-optimization
2021-11-03 17:10:39 -04:00
Mai M 7558da22d7 Merge pull request #10188 from Pokechu22/imgui-1.85
Externals: Update imgui to 1.85
2021-10-27 02:13:58 -04:00
Mai M 52823c6ffe Merge pull request #10183 from AdmiralCurtiss/stat64
Common/FileUtil: Fix incorrect (32-bit) stat struct being used on Windows, which was hidden by a define in CommonFuncs.h.
2021-10-23 07:38:17 -04:00
Mai M 6bf467ff4b Merge pull request #10161 from JosJuice/jitarm64-emitting-routine
JitArm64: Consistently set emitting_routine
2021-10-12 14:34:26 -04:00
Mai M 890a5ed99a Merge pull request #10141 from shuffle2/arm64-buildfix
fix unused variable warning
2021-09-30 14:49:42 -04:00
Mai M 753a1595bf Merge pull request #10122 from malleoz/record-hotkeys-without-game-running
HotkeyScheduler: Check for certain hotkeys in game list
2021-09-23 11:32:43 -04:00
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