Commit Graph

32979 Commits

Author SHA1 Message Date
JosJuice
01a77ae8a1 WIA: Implement caching and partial decompression 2020-06-17 13:43:53 +02:00
JosJuice
b59ef81a7e WIA: Implement bzip2, LZMA, and LZMA2 decompression 2020-06-17 13:43:52 +02:00
JosJuice
1579e061a3 WIA: Correctly handle data with size not divisible by chunk size 2020-06-17 13:43:52 +02:00
JosJuice
3c373c8aa8 WIA: Treat groups with size 0 as containing only zeroes 2020-06-17 13:43:52 +02:00
JosJuice
36991e2dde WIA: Implement PURGE decompression 2020-06-17 13:43:52 +02:00
JosJuice
3672bd79f3 WIA: Implement ReadWiiDecrypted 2020-06-17 13:43:52 +02:00
JosJuice
2a5fcc9c25 WIA: Add reading raw data 2020-06-17 13:43:51 +02:00
JosJuice
8da5d0c4fe Add an early version of WIABlobReader
It can currently only read the first 0x80 bytes of a disc image,
which is enough for identifying it but not for doing anything else.
2020-06-17 13:43:51 +02:00
Tilka
0bc7dcd172
Merge pull request #8882 from JosJuice/convert-dropdown-one-option
DolphinQt: Disable convert dialog dropdowns when they have one option
2020-06-17 12:38:19 +01:00
JosJuice
b45f2c2ad3 DolphinQt: Disable convert dialog dropdowns when they have one option 2020-06-17 13:23:58 +02:00
Tilka
3411802fd1
Merge pull request #8881 from JosJuice/convert-same-format
DolphinQt: Allow converting to same format
2020-06-17 11:56:49 +01:00
JosJuice
ec3ea6c1df DolphinQt: Allow converting to same format
Mainly useful for WIA and RVZ, but also has some use for GCZ.
2020-06-17 12:44:16 +02:00
JosJuice
864dcd40b5 Revert "DolphinQt: Disable converting from TGC"
This reverts commit d006a8b52f.
2020-06-17 12:32:40 +02:00
JosJuice
31ecc6c214 Revert "DolphinQt: Actually disable converting from TGC"
This reverts commit c236d89f64.
2020-06-17 12:32:39 +02:00
JosJuice
75d032161f DiscIO: Rework the implementation of TGC reading
Fixes https://bugs.dolphin-emu.org/issues/10654.

To quote the documenation file included with the program tgctogcm:

"TGC's are miniaturized .gcm images with a 32kB header.
The embedded gcm contains some bogus data, namely:
-FST Location (0x424 in gcm)
-DOL Location (0x420 in gcm)
-FST File offsets (all files are offset/spoofed by a certain amount)"

Dolphin has been handling the values at 0x420 and 0x424 by simply
overwriting them with a working value (just like tgctogcm does),
but it has used a different approach for the file offsets in the FST.
Instead of changing the offsets that are stored in the FST, Dolphin
changed where the files actually are placed on the virtual disc.
My hope was that this would make the loading times more accurate to
how they are when running a TGC file as part of a larger disc.
However, there are TGC files where we would need to move files
backwards on the disc in order to do this (this is what issue
10654 is about), so the approach we have been using is flawed.

This change makes Dolphin overwrite offsets in the FST instead, like
tgctogcm does. Other than making Dolphin handle the affected TGC files
correctly, this change also makes it so that unnecessary padding data
isn't written if you use Dolphin to convert a TGC file to an ISO file.
This feature is not actually implemented in Dolphin as of now, but I'm
planning to add it in the near future as part of a larger feature.
2020-06-17 12:32:39 +02:00
Admiral H. Curtiss
476c95900d EXI: When loading a savestate with a mismatching GCI folder memory card, reinizialize it with the header from the savestate to let a game still recognize it as the same card. 2020-06-17 01:44:46 +02:00
Admiral H. Curtiss
8b13e1882a EXI: Store data for regenerating a GCI folder memory card header in EXI_Channel and pass it down to the memory card device. 2020-06-17 01:44:46 +02:00
Admiral H. Curtiss
e810d492f2 GCMemcard: Split off HeaderData from Header to have a compact block of data for consistent initialization. 2020-06-17 01:44:46 +02:00
Admiral H. Curtiss
cc52558c0e GCMemcard: Assert struct requirements in header. 2020-06-17 01:30:42 +02:00
Admiral H. Curtiss
07bd200596 GCMemcard: Remove dependency on g_SRAM and force the caller to provide the relevant values instead. 2020-06-17 01:30:37 +02:00
Markus Wick
7cdd0e2430
Merge pull request #8817 from Tilka/cmake
CMake: support using system-wide zstd library
2020-06-16 22:55:46 +02:00
JosJuice
fba5ff5ea5 Translation resources sync with Transifex 2020-06-16 22:51:59 +02:00
Tilka
1f505870a9
Merge pull request #8873 from AdmiralCurtiss/gcmemcard-namespace
GCMemcard: Move into a Memcard namespace.
2020-06-16 19:55:06 +01:00
Tillmann Karras
506ae2f6b1 Externals/zstd: fix CMake project name 2020-06-16 19:42:55 +01:00
Tillmann Karras
24eee74937 CMake: support using system-wide zstd library
CMake does not have native support for zstd yet.
2020-06-16 19:42:55 +01:00
Tilka
de5941d6f8
Merge pull request #8878 from JosJuice/actually-disable-tgc-conversion
DolphinQt: Actually disable converting from TGC
2020-06-16 19:39:40 +01:00
Tilka
a2b7627d66
Merge pull request #8860 from Ebola16/Emu
Android: Disallow multiple launcher activities
2020-06-16 19:38:55 +01:00
Admiral H. Curtiss
914ebdf0dd GCMemcard: Move from global namespace into a Memcard namespace. 2020-06-16 20:18:39 +02:00
Admiral H. Curtiss
2e1bfe073c GCMemcard: Split out MemoryCardBase into its own header, which is the base class for the raw and folder memory cards and has little to do with the actual memory card data structures. 2020-06-16 20:18:39 +02:00
Ryan Meredith
ea3c3fd952 Android: Separate GameCube overlay refresh logic 2020-06-16 13:27:13 -04:00
JosJuice
851b438419
Merge pull request #8844 from Ebola16/RGL
Android: Refresh game library when resuming (Tv)MainActivity
2020-06-16 18:08:48 +02:00
Ryan Meredith
1e6925e423 Android: Disallow multiple launcher activities 2020-06-16 11:52:58 -04:00
JosJuice
c236d89f64 DolphinQt: Actually disable converting from TGC
When I made PR 8773, I only covered the case where multiple files
are selected, not the more common case where one file is selected.
Oops
2020-06-16 11:21:44 +02:00
Tilka
d4418a2b43
Merge pull request #8877 from JosJuice/convert-fail-message
DolphinQt: Make conversion error messages actually show up
2020-06-16 09:59:03 +01:00
Tilka
26789163e2
Merge pull request #8876 from JosJuice/multiselect-crash
DolphinQt: Fix crash on right-clicking multiple games
2020-06-16 09:50:30 +01:00
JosJuice
20a3119d7a DolphinQt: Make conversion error messages actually show up
I don't know why QErrorMessage doesn't work, but ModalMessageBox
works, so let's use ModalMessageBox.
2020-06-16 10:39:40 +02:00
JosJuice
2b25e1d6b9 DolphinQt: Don't show success message when converting missing file 2020-06-16 10:35:00 +02:00
JosJuice
349cdd5136 DolphinQt: Fix crash on right-clicking multiple games
GetSelectedGames() constructs a new list each time you call it.
2020-06-16 10:33:18 +02:00
Tilka
6b0476b101
Merge pull request #8839 from Miksel12/ini-changes-3
INI changes
2020-06-14 23:19:02 +01:00
Ryan Meredith
bebeb935a5 Android: Android INI section 2020-06-14 10:54:08 -04:00
Miksel12
f7f23637d1 INI changes 2020-06-14 16:14:29 +02:00
Tilka
f9f4734237
Merge pull request #8850 from JosJuice/block-size-warning
Show an OSD message when running a disc image with a large block size
2020-06-14 15:03:32 +01:00
Tilka
ad85012172
Merge pull request #8843 from Techjar/fastmem-ui
DolphinQt: Add fastmem option to debugger UI
2020-06-14 14:54:32 +01:00
Tilka
9f5e6edc34
Merge pull request #8809 from Ebola16/ABB
Replace some acronyms
2020-06-14 14:30:52 +01:00
Ryan Meredith
2a70d86d55 Replace some acronyms 2020-06-14 08:37:24 -04:00
Tilka
bf83e3eea0
Merge pull request #8845 from Ebola16/DISC2
Android: Display disc number instead of company if mulipart disc
2020-06-14 12:20:36 +01:00
Tilka
63c53ebc87
Merge pull request #8836 from Ebola16/REC
Android: Add recursive game paths to UI
2020-06-14 12:16:08 +01:00
Tilka
cb54fc7543
Merge pull request #8857 from JosJuice/qt-bounding-box-width
DolphinQt: Use QFontMetrics::boundingRect instead of QFontMetrics::width
2020-06-14 12:10:33 +01:00
Tilka
d9e05559c9
Merge pull request #8862 from tokumeiwokiboushimasu/master
Specify the system minizip's include directory
2020-06-14 11:49:01 +01:00
Tilka
0ef9b998ce
Merge pull request #8658 from orbea/glslang
Externals: Update glslang.
2020-06-13 18:43:53 +01:00