Commit Graph

639 Commits

Author SHA1 Message Date
Markus Wick
c310b3f0e6 Merge pull request #3309 from JosJuice/reload-banner-without-volume
Don't read from volume when reloading Wii banners
2015-12-15 18:48:49 +01:00
Markus Wick
2990df3f59 Merge pull request #3265 from JosJuice/volumedirectory-simplifications
DiscIO: Small VolumeDirectory simplifications
2015-12-15 18:36:49 +01:00
Markus Wick
25a584626f Merge pull request #3127 from JosJuice/read-return
DiscIO: Improve error handling for reading integers
2015-12-15 18:16:40 +01:00
Markus Wick
e4b83d17bf Merge pull request #3270 from JosJuice/more-translations
Mark more strings for translation
2015-12-15 18:13:26 +01:00
JosJuice
cbfab2a754 DiscIO: Improve DiscScrubber::ReadFromVolume error handling 2015-12-14 10:01:38 +01:00
JosJuice
bd67333da9 DiscIO: Improve CBlobBigEndianReader error handling 2015-12-14 09:56:44 +01:00
JosJuice
c01265db34 DiscIO: Unify CBlobBigEndianReader 2015-12-14 09:38:23 +01:00
JosJuice
c7e747d775 DiscIO: Improve IVolume::Read32 error handling
Callers can now check whether reads fail, either by checking the return
value or by setting the buffer to a known bad value and seeing if it stays
untouched. I've added error checks to FileSystemGCWii and Boot_BS2Emu,
but not to Boot since it doesn't check any of its other reads either.
2015-12-14 09:38:21 +01:00
Rohit Nirmal
5a7e0aba70 Fix building with PCH disabled. 2015-12-08 16:57:37 -06:00
Lioncash
6295297ab3 DiscIO: Get rid of a few explicit deletes 2015-12-08 04:35:56 -05:00
Lioncash
edbbf493f8 DiscIO: Make factory methods return unique_ptrs
Rather than rely on the developer to do the right thing,
just make the default behavior safely deallocate resources.

If shared semantics are ever needed in the future, the
constructor that takes a unique_ptr for shared_ptr can
be used.
2015-12-07 05:57:37 -05:00
JosJuice
a0cd753060 Don't read from volume when reloading Wii banners
Should make loading cached Wii games that lack banners slightly faster.
2015-12-03 17:29:59 +01:00
JosJuice
f9af58a388 DiscIO: Don't use PlainFileReader in VolumeDirectory
Blobs are not for regular file reading.
2015-11-28 09:18:22 +01:00
Tony Drake
941125699c Added info for Rodea The Sky Soldier 2015-11-21 11:40:03 -05:00
JosJuice
74ea765427 Mark more strings for translation 2015-11-20 11:33:47 +01:00
Markus Wick
584ea8b320 Merge pull request #3206 from JosJuice/limit-filesystem-size-2
Limit size of loaded file systems
2015-11-18 10:43:47 +01:00
JosJuice
3a9e382661 DiscIO: Small VolumeDirectory simplifications 2015-11-17 10:09:54 +01:00
Scott Mansell
eddea7f15f Merge pull request #3181 from JosJuice/scrub-directories
Don't reserve space for directories when scrubbing
2015-11-17 10:37:09 +13:00
Tillmann Karras
df79398445 DiscIO: drop unused stuff 2015-11-10 17:03:08 +01:00
JosJuice
6dce8b4deb DiscScrubber: Add another nullptr check 2015-11-01 20:30:49 +01:00
JosJuice
6c25c63301 Limit size of loaded file systems
If a disc image is malformed in a specific way, Dolphin
will try to allocate a lot of memory, making it crash.
To avoid that, this change adds an artificial limit for
the size of file systems that Dolphin will try to load.
2015-10-28 21:47:19 +01:00
JosJuice
4d77d12f01 Remove length parameter from DiscScrubber::ReadFromVolume
The function only makes sense when the length is 4. All current callers
use the length 4, so this change doesn't affect any behavior.
2015-10-18 09:24:31 +02:00
JosJuice
618ccf6109 Remove DiscScrubber::GetDOLSize in favor of IFileSystem::GetBootDOLSize
IFileSystem::GetBootDOLSize acts the same. The only difference is that it
reads the DOL offset on its own, but this change makes that optional.
2015-10-17 20:52:26 +02:00
JosJuice
1ec9c6393a Don't reserve space for directories when scrubbing
The offset in a directory FileInfo is an FST offset, not a disc offset.
Treating it as a disc offset doesn't make sense. Directories don't take
up space outside of the FST, so they don't need to be marked as used. The
old behavior may have prevented some scrubbable areas from being scrubbed.
2015-10-17 17:30:23 +02:00
flacs
05e339a605 Merge pull request #3139 from JosJuice/fix-wii-root
Mark which Wii root to use in the NAND path code
2015-10-16 16:49:34 +02:00
comex
c22d1d68ab Mark which Wii root to use in the NAND path code.
It's used by both the GUI to do things like install WADs and check up on
the system menu, in which case the global root should be used, and by
/dev/es, in which case the local one should.  The latter isn't
*terribly* useful today, since no contents will ever be installed in
temporary roots (although it's still relevant for data directories), but
converting the whole thing makes sense because then it will Just Work
once the entire NAND is synced.

Because it would have been a bit of work to split it up (but I can if
desired), this commit also contains some basic cleanup of
NANDContentLoader:

(1) The useless interface class INANDContentLoader is removed and the
    methods are changed to just return CNANDContentLoader (the only
    implementation);
(2) CNANDContentManager is changed to use unique_ptr and cleaned up a
    bit.
2015-10-16 09:10:39 +02:00
Tillmann Karras
00aefa5e08 DolphinWX: decompress discs to calculate MD5 hash 2015-10-12 02:35:43 +02:00
Tillmann Karras
efe71e686b DiscIO: implement CISOBlob::GetDataSize()
This is a best-effort approach, since the CISO format does not save the
original file size.
2015-10-12 02:33:38 +02:00
Tillmann Karras
1a8e2e16e3 DiscIO: implement WbfsBlob::GetDataSize() 2015-10-12 02:33:04 +02:00
Tillmann Karras
a92b4bda95 DiscIO: fix reading the last sector in WBFS
Instead of rounding down, round up.
2015-10-12 02:31:51 +02:00
Tillmann Karras
3a2efc9f4f DiscIO: merge initial WBFS reads 2015-10-12 02:31:51 +02:00
Tillmann Karras
f416106eec DiscIO: pre-swap WLBA 2015-10-12 02:31:51 +02:00
Tillmann Karras
b1100e4aa0 DiscIO: use std::min() in WBFS 2015-10-12 02:31:51 +02:00
Lioncash
5f181957b3 NANDContentLoader: Replace a string rbegin() call with a back() call 2015-10-07 09:47:26 -04:00
shuffle2
a6f04b0e15 Merge pull request #3091 from Tilka/mbedtls
Update mbed TLS (PolarSSL)
2015-10-03 18:00:58 -07:00
Lioncash
5464e698fc Merge pull request #3102 from rohit-n/build-pch
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
flacs
d5ec7124e4 Merge pull request #3099 from lioncash/banner
VolumeGC: Get rid of banner pointer casts
2015-09-29 03:49:08 +02:00
flacs
aaa48e19fe Merge pull request #3097 from JosJuice/blob-type
Fix blob type detection for game right-click menu
2015-09-29 03:46:29 +02:00
Rohit Nirmal
3b75f45cf6 Fix building with PCH disabled. 2015-09-28 11:51:08 -05:00
Lioncash
7317dd4be2 VolumeGC: Get rid of banner pointer casts
Prefer reading the data into the reified struct instead.
2015-09-28 04:31:43 -04:00
JosJuice
be7e0554d2 DiscIO: Add a way to get blob type 2015-09-27 20:54:31 +02:00
Scott Mansell
ce493b897d Merge pull request #2271 from revel8n/fixes
Fix for alignment of zero-length files within directory based virtual disk
2015-09-28 05:28:38 +13:00
flacs
34c020352f Merge pull request #3092 from JosJuice/compressed-blobs
Display all compressed formats in blue in GUI
2015-09-27 12:57:19 +02:00
revel8n
d4c2ca46a4 - Fix for alignment of 0-length files when volume directory is created from directory on disk
Updating constant value representation

Explicitly state data type in std:max usage
2015-09-26 18:29:29 -05:00
Lioncash
cc036ca86c Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
Lioncash
19ac565e0d Common: Move asserts to their own header 2015-09-26 18:51:27 -04:00
JosJuice
6935d28112 Display all compressed formats in blue in GUI
In the past, only GCZ was shown as compressed, not CISO and WBFS.
2015-09-26 15:24:29 +02:00
JosJuice
94ee720a07 Rename IsCompressedBlob to IsGCZBlob for clarity
GCZ is just one of the several compressed formats that Dolphin supports.
2015-09-26 14:46:53 +02:00
Tillmann Karras
ac5f56df7e mbedTLS: adapt Dolphin's Visual Studio files 2015-09-25 03:46:41 +02:00
Tillmann Karras
063446c46f mbedTLS: run rename.pl script and fix errors 2015-09-25 03:46:41 +02:00