JosJuice
a87dffe52d
DiscIO: Replace IsDataSizeAccurate with GetDataSizeType
...
Previously, we had WBFS and CISO which both returned an upper bound
of the size, and other formats which returned an accurate size. But
now we also have NFS, which returns a lower bound of the size. To
allow VolumeVerifier to make better informed decisions for NFS, let's
use an enum instead of a bool for the type of data size a blob has.
2022-08-04 22:00:59 +02:00
JosJuice
3a6df63e9b
DiscIO: Add support for the NFS format
...
For a few years now, I've been thinking it would be nice to make Dolphin
support reading Wii games in the format they come in when you download
them from the Wii U eShop. The Wii U eShop has some good deals on Wii
games (Metroid Prime Trilogy especially is rather expensive if you try
to buy it physically!), and it's the only place right now where you can
buy Wii games digitally.
Of course, Nintendo being Nintendo, next year they're going to shut down
this only place where you can buy Wii games digitally. I kind of wish I
had implemented this feature earlier so that people would've had ample
time to buy the games they want, but... better late than never, right?
I used MIT-licensed code from the NOD library as a reference when
implementing this. None of the code has been directly copied, but
you may notice that the names of the struct members are very similar.
c1635245b8/lib/DiscIONFS.cpp
2022-08-04 22:00:58 +02:00
JosJuice
bb27d4cc95
DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed"
...
Needed for the next commit. NFS disc images are hashed but not encrypted.
While we're at it, also get rid of SupportsIntegrityCheck.
It does the same thing as old IsEncryptedAndHashed and new HasWiiHashes.
2022-08-04 20:29:22 +02:00
Pokechu22
8129874d11
Sanitize and use increased precision when normalizing light directions
...
This normalization was added in 02ac5e95c8
, and changed to use floats in 4bf031c064
. The conversion to floats means that sometimes there is insufficient precision for the normalization process, which results in values of NaN or infinity. Performing the whole process with doubles prevents that, but games also sometimes set the values to NaN or infinity directly (possibly accidentally due to the values not being initialized due to them not being used in the current configuration?).
The version of Mesa currently in use on FifoCI (20.3.5) has issues with NaN. Although this bug has been fixed (b3f3287eac
in 21.2.0), FifoCI is stuck with the older version.
This change may or may not be incorrect, but it should result in the same behavior as already present in Dolphin, while working around the Mesa bug.
2022-08-04 08:52:44 -07:00
Mai
f59f1a2a35
Merge pull request #10740 from Tilka/cxx20
...
Move to C++20 for non-MSVC compilers
2022-08-04 09:31:31 -04:00
Tilka
3ad6e3abc2
Merge pull request #10768 from Pokechu22/dsp-hle-gba-class
...
DSPHLE: Eliminate global state in GBA and AX uCode + accuracy improvements
2022-08-04 13:50:30 +01:00
Tilka
8105d0034d
Merge pull request #10821 from Pokechu22/dimar-masking
...
DVDInterface: Mask upper bits of DIMAR in GC mode
2022-08-04 12:50:49 +01:00
Pokechu22
bf70026728
DSPHLE: Require implementing DoState
...
CARDUCode, GBAUCode, and INITUCode previously didn't have an implementation of it. In practice it's unlikely that this caused an issue, since these uCodes are only active for a few frames at most, but now that GBAUCode doesn't have global state, we can implement it there. I also implemented it for CARDUCode, although our CARDUCode implementation does not have all states handled yet - this is simply future-proofing so that when the card uCode is properly implemented, the save state version does not need to be bumped. INITUCode does not have any state to save, though.
2022-08-03 17:32:12 -07:00
Pokechu22
f2e833b5c4
DSPHLE: Eliminate global state in AX uCode
...
This also increases accuracy as to when specific mail is allowed, and correctly handles masking of the 0xCDD1 mails.
2022-08-03 17:32:12 -07:00
Pokechu22
8d66c29f33
DSPHLE: Eliminate global state in GBA uCode + accuracy improvements
...
The accuracy improvements are:
* The request mail must be 0xabba0000 exactly; both the low and high parts are checked
* The address is masked with 0x0fffffff
* Before, the global state meant that after the GBA uCode had been used once, it would accept 0xcdd1 commands immediately. Now, it only accepts them after execution has finished.
2022-08-03 17:32:12 -07:00
Pokechu22
8b65e84121
DSPHLE: Make all uCode implementations final classes
...
(Apart from AXUCode, which is inherited by AXWiiUCode.)
2022-08-03 17:32:12 -07:00
Mai
27669fc7c8
Merge pull request #10828 from JosJuice/jitarm64-32-bit-exception
...
JitArm64: Pass 32-bit temp GPR to WriteConditionalExceptionExit
2022-08-03 14:36:19 -04:00
Mai
a8b2174ce6
Merge pull request #10872 from shuffle2/timer
...
Timer improvements
2022-08-03 14:30:29 -04:00
Mai
385764ebe0
Merge pull request #10913 from shuffle2/vsnext
...
msvc: fix issues with vs 17.3
2022-08-03 14:21:53 -04:00
Mai
ebb8402a24
Merge pull request #10934 from sepalani/bba-igmp
...
BBA/BuiltIn: Add minimal IGMP support
2022-08-03 14:17:41 -04:00
Mai
f93b04dc94
Merge pull request #10935 from Pokechu22/icache-dont-save-lookup-table
...
PPCCache: Stop storing lookup table in savestates
2022-08-03 14:14:39 -04:00
Minty-Meeo
347dd03c3f
Remove Vestigial Preprocessor Block in Jit64/Jit.cpp
...
"Common/GekkoDisassembler.h" became used by Release builds with commit 77e9aa48bc
, but this got left in by mistake.
2022-08-03 12:30:20 -05:00
Shawn Hoffman
bf5076eb01
crypto/sha1: add real workaround for msvc/arm64 bad codegen
2022-08-02 23:05:45 -07:00
Shawn Hoffman
78142e30cc
crypto/sha1: simplify enablement of sha insns on non-msvc
2022-08-02 23:05:07 -07:00
Shawn Hoffman
4e6aa28da4
crypto/aes: silence warning on godforsaken android gcc
2022-08-02 23:03:51 -07:00
Shawn Hoffman
ec9b30681b
msvc: silence warning in qt header
2022-08-02 22:24:33 -07:00
Shawn Hoffman
bdf3a03c04
DolphinQt: fix BootSessionData dtor not being called
...
std::unique_ptr can't/won't call deleter on incomplete type
generated warning on vs 17.3.0 preview 5.0
2022-08-02 22:24:33 -07:00
Shawn Hoffman
fec61f89a3
Timer: protect usages of ms timers from rollover
2022-08-02 22:24:06 -07:00
Shawn Hoffman
0fe99e9bc8
ThrottleCallback: correct units in log
...
make first invocation a bit more correct
2022-08-02 22:24:06 -07:00
Shawn Hoffman
86da6c98fb
msvc: use std::chrono for GetLocalTimeSinceJan1970
2022-08-02 22:24:06 -07:00
Shawn Hoffman
b473c35873
windows: mark as HighQoS, ensure timer resolution is honored
2022-08-02 22:24:06 -07:00
Shawn Hoffman
3384b1385e
move "double time" code into State from Timer
...
Ideally the statesave format could be changed
to just store a u64 in the future
2022-08-02 22:24:06 -07:00
Shawn Hoffman
49218f9695
DolphinDevice: expose elapsed ms in GetSystemTime
2022-08-02 22:24:06 -07:00
Shawn Hoffman
09089eeee0
Common::Timer: use chrono::steady_clock internally
2022-08-02 22:24:06 -07:00
Shawn Hoffman
8d16971a6f
LogManager: use own timestamp function
2022-08-02 22:24:05 -07:00
Shawn Hoffman
d71797154a
VolumeVerifier: enable fast hash functions by default
...
sets defaults based on cpu support.
2022-08-02 22:23:49 -07:00
Tilka
7d2d5d914b
Merge pull request #10903 from shuffle2/hash-reorg
...
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-02 18:29:04 +01:00
Tilka
e62ceab349
Merge pull request #10902 from shuffle2/aes
...
Implement hw accelerated AES
2022-08-02 18:28:47 +01:00
Pokechu22
134397754e
PPCCache: Stop storing lookup table in savestates
...
These lookup tables total 4 megabytes, and contain data that's entirely redundant to the actual cache state (as part of an optimization, though I'm not sure whether the optimization actually is useful). This change instead recomputes these lookup tables when loading the state (which involves filling the lookup table with a marker (0xff), and then setting the 128 * 8 valid entries (1 kilobyte)).
2022-08-01 16:36:59 -07:00
Shawn Hoffman
17c554c165
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-01 10:07:27 -07:00
Shawn Hoffman
46ad8b9d68
Implement hw accelerated AES
2022-08-01 10:00:42 -07:00
Sepalani
4fa65ec9cf
BBA/BuiltIn: Add minimal IGMP support
2022-08-01 12:49:38 +04:00
Sepalani
bfc2d11891
BBA/BuiltIn: Simplify HandleARP
2022-08-01 12:48:33 +04:00
Sepalani
7e9711d738
BBA/BuiltIn: Rename m_fake_mac to m_router_mac
2022-08-01 12:48:32 +04:00
Sepalani
b029b468cd
BBA/BuiltIn: Fix MAC address issues with TCP and UDP
2022-08-01 12:48:32 +04:00
Sepalani
cc7cfe249e
BBA/BuiltIn: Move TryGetDataFromSocket
2022-08-01 12:48:32 +04:00
Sepalani
0f5fe2274a
BBA/BuiltIn: Save current MAC address
2022-08-01 12:48:32 +04:00
Sepalani
ec60416c00
BBA/BuiltIn: Add an ARP table
2022-08-01 12:48:32 +04:00
Tilka
fb45ed3981
Merge pull request #10883 from Pokechu22/pi-fifo-reset-gp-fifo
...
ProcessorInterface: Reset both GPFifo and Fifo on PI_FIFO_RESET
2022-07-31 17:06:37 +02:00
Tilka
45f8ae6d51
Merge pull request #10926 from shuffle2/old-gcc-warning
...
SHA1/arm64: fix casting warning on certain gcc
2022-07-31 16:31:35 +02:00
Tillmann Karras
d033d92b05
Move to C++20 for non-MSVC compilers
2022-07-30 23:35:53 +01:00
Admiral H. Curtiss
92c7566646
Merge pull request #10924 from Pokechu22/symbols-missing-last-function
...
PPCSymbolDB: Fix getting symbol for the last function
2022-07-30 21:52:10 +02:00
Shawn Hoffman
97ff757a74
SHA1/arm64: fix casting warning on certain gcc
2022-07-30 12:06:21 -07:00
JosJuice
ecc4bc5098
Merge pull request #10925 from AdmiralCurtiss/ppc-state-hle-print
...
HLE_OS: Don't modify emulated state in printf hooks.
2022-07-30 19:49:18 +02:00
Admiral H. Curtiss
2a56113a5b
Merge pull request #10898 from Pokechu22/dsp-hle-homebrew-padding
...
DSPHLE: Support padded versions of libasnd and libaesnd uCodes
2022-07-30 14:21:28 +02:00
Admiral H. Curtiss
a9d9f5c0da
Merge pull request #10899 from shuffle2/sha1
...
add hw-accelerated SHA1
2022-07-30 14:11:37 +02:00
Admiral H. Curtiss
b364a301dc
HLE_OS: Don't modify emulated state in printf hooks, since the actual PPC function will be called afterwards.
2022-07-30 14:06:28 +02:00
Admiral H. Curtiss
4b6ad977c6
Merge pull request #10922 from Pokechu22/apploader-hle-no-replace
...
Boot_BS2Emu: Create an actual function for AppLoaderReport
2022-07-30 14:05:58 +02:00
Pokechu22
1f17a3bb1e
PPCSymbolDB: Fix getting symbol for the last function
2022-07-29 18:41:11 -07:00
Pokechu22
e97ad90681
Boot/ElfReader: Log to BOOT log instead of MASTER log
2022-07-29 12:18:05 -07:00
Pokechu22
7a7a3a7f41
Boot_BS2EMU: Log apploader-related messages to BOOT log instead of MASTER log
2022-07-29 12:17:09 -07:00
Pokechu22
d3d7cc6f96
Boot_BS2Emu: Create an actual function for AppLoaderReport
...
Before, we used a replace hook and didn't write anything there. Now, we write a BLR instruction to immediately return, and then use a start hook. This makes the behavior a bit clearer (though it shoudln't matter in practice).
2022-07-29 12:16:20 -07:00
Sepalani
18b8f147ab
BBA/BuiltIn: Ensure UDP ports are open
2022-07-29 21:25:17 +04:00
JMC47
a81f3a95db
Merge pull request #10917 from sepalani/bba-ntohs
...
BBA/BuiltIn: Fix network byte order issues
2022-07-29 13:19:25 -04:00
JMC47
ae4fa53a9c
Merge pull request #10914 from JMC47/bbarename
...
BBA - Rename Built In BBA to BBA (HLE)
2022-07-29 10:16:51 -04:00
JMC47
205d78d780
BBA - Rename BBA Built In to BBA (HLE)
...
All of our BBA options are technically built in, so it made the BBA
Built In option kind of confusing as to what it did. So rename it to
BBA HLE to make it more clear what it is doing and why it doesn't need a
TAP.
2022-07-29 10:06:44 -04:00
Sepalani
2de4d52021
BBA/BuiltIn: Fix network byte order issues
2022-07-29 11:33:36 +04:00
JMC47
3bf1ddc549
Merge pull request #10730 from AdmiralCurtiss/riivolution-sysfile-patches
...
Riivolution: Add custom extension to patch boot.bin, bi2.bin, and apploader.img.
2022-07-28 20:29:31 -04:00
Admiral H. Curtiss
000c9c7545
Merge pull request #10907 from shuffle2/pngend
...
SavePNG: make sure to finalize image file
2022-07-28 19:28:00 +02:00
Shawn Hoffman
25462f4a3c
SavePNG: make sure to finalize image file
2022-07-28 10:12:36 -07:00
Mai
e10d66270f
Merge pull request #10909 from JosJuice/volume-verifier-read-succeeded
...
VolumeVerifier: Fix read_succeeded condition
2022-07-28 12:05:03 -04:00
JosJuice
14c1a1c658
VolumeVerifier: Fix read_succeeded condition
...
We shouldn't set m_read_errors_occurred to true just because
is_data_needed was false.
2022-07-28 09:57:17 +02:00
Shawn Hoffman
8939210d8a
Common/Crypto/SHA1: implement accelerated versions
2022-07-27 01:07:48 -07:00
Shawn Hoffman
bfa2a66c98
WIABlob: remove outdated mbedtls workaround
2022-07-26 22:16:37 -07:00
Shawn Hoffman
dd29a54cf6
introduce wrapper for SHA1 functionality
2022-07-26 22:16:37 -07:00
Pokechu22
cc02471da2
DSPHLE: Support padded versions of the libaesnd uCode
...
This is used by libogc2 and libogc-rice.
2022-07-26 19:06:05 -07:00
Pokechu22
33b63a62d1
DSPHLE: Support padded version of libasnd uCode
...
This is used by libogc2 and libogc-rice.
2022-07-26 18:44:08 -07:00
Josh
7e75bcd36f
Use Dynamic last Log Type
2022-07-27 00:07:53 +02:00
JosJuice
97100290ee
Merge pull request #10885 from JosJuice/android-graphics-mods
...
Android: Add graphics mods support to GUI
2022-07-26 15:44:01 +02:00
Admiral H. Curtiss
a9edf129e3
Merge pull request #10889 from shuffle2/spng
...
replace libpng with libspng
2022-07-26 12:53:04 +02:00
Admiral H. Curtiss
6b419c7ca3
Merge pull request #10876 from shuffle2/cpudetect
...
CPUDetect: improve win/arm64 support
2022-07-26 12:52:50 +02:00
Admiral H. Curtiss
9d15a1c5a1
Merge pull request #10858 from AdmiralCurtiss/mouse-center-hotkey
...
Add hotkey for centering mouse in render window.
2022-07-26 12:52:33 +02:00
Admiral H. Curtiss
c7752f80e4
Merge pull request #10892 from Pokechu22/dsp-hle-aesnd-more-versions
...
DSPHLE: Support EDuke32 Wii libaesnd uCode
2022-07-26 11:36:18 +02:00
CasualPokePlayer
bd27e18d51
Fix ARAM Expansion Writes
...
Looks like the memcpy here had its args in the wrong order.
2022-07-26 02:01:25 -07:00
Shawn Hoffman
76b4318b88
CPUDetect: improve win/arm64 support
...
read brand_string on macos/arm64
remove unused flags
report family/model info instead of vendor name
2022-07-25 21:21:11 -07:00
Pokechu22
1dcccb1f75
DSPHLE: Add warning to use of MAIL_TERMINATE
2022-07-25 20:35:43 -07:00
Pokechu22
e44b596f50
DSPHLE: Fix typos in libaesnd logging
2022-07-25 20:35:43 -07:00
Pokechu22
58d344e189
DSPHLE: Support EDuke32 Wii libaesnd uCode
...
This version is exclusive to EDuke32 Wii (see https://bugs.dolphin-emu.org/issues/12990 ).
2022-07-25 20:35:41 -07:00
Pokechu22
a6d08571bd
DSPHLE: Move aesnd uCode hash constants into header
2022-07-25 20:32:02 -07:00
Pokechu22
4b179e01da
DSPHLE: Move asnd uCode hash constants into header
2022-07-25 20:31:04 -07:00
Shawn Hoffman
f92541fbd9
StripSpaces: only strip spaces
...
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman
acb10f0006
replace libpng with libspng
2022-07-25 18:32:16 -07:00
Admiral H. Curtiss
e4ff49769c
Merge pull request #10888 from shuffle2/zlib-ng
...
replace zlib with zlib-ng
2022-07-26 02:25:17 +02:00
JMC47
bfd03cd1a4
Merge pull request #10793 from Pokechu22/dsp-hle-aesnd
...
DSPHLE: Add HLE version of libaesnd ucode
2022-07-25 05:12:53 -04:00
JosJuice
86bb290cc5
Merge pull request #10886 from OatmealDome/metal-minor-fixes
...
Metal: Prevent usage of macOS-only APIs on non-macOS platforms
2022-07-25 08:31:18 +02:00
Admiral H. Curtiss
d14bd10cd7
Quartz: Handle mouse centering hotkey.
...
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2022-07-25 01:26:57 +02:00
Admiral H. Curtiss
e0870166ef
XInput2: Handle mouse centering hotkey.
2022-07-25 01:26:56 +02:00
Admiral H. Curtiss
d57d04bb04
DInput: Handle mouse centering hotkey.
2022-07-25 01:26:56 +02:00
Admiral H. Curtiss
4d27022d0e
Add hotkey for centering mouse in render window.
2022-07-25 00:59:47 +02:00
Shawn Hoffman
c3b64012d1
replace zlib with zlib-ng
...
since the benefits are so high, don't link with shared zlib
2022-07-24 14:33:37 -07:00
OatmealDome
700162b8bd
MTLUtil: Include TargetConditionals
2022-07-23 17:22:11 -04:00
OatmealDome
77f44f1600
MTLMain: Include TargetConditionals
2022-07-23 17:22:11 -04:00
OatmealDome
b32b27ae9a
MTLMain: Only compile NSView manipulation code on macOS
2022-07-23 17:22:04 -04:00
JosJuice
e5a177ece9
Merge pull request #10868 from tellowkrinkle/UsesDSBFix
...
VideoCommon: Fix IsDualSrc check for dst blend factors
2022-07-23 22:14:07 +02:00
JosJuice
8f410bff15
Android: Add graphics mods support to CheatsActivity
2022-07-23 21:58:45 +02:00