Lioncash
3196bf5392
NANDContentLoader: Specify constructors as explicit where applicable
...
Prevents implicit conversion.
2016-09-14 19:44:44 -04:00
Lioncash
89c65be703
NANDContentLoader: Delay vector construction until needed in Get()
...
No need to construct the vector right off the bat.
2016-09-14 19:41:41 -04:00
Lioncash
b1ffa74043
NANDContentLoader: Make CNANDContentData's Get function return by non-const value
...
const specifiers like this are practically pointless and can inhibit move construction.
2016-09-14 19:15:31 -04:00
EmptyChaos
eccec3c6d3
DiscIO: Fix NAND Memory Leak
...
CNANDContentData is a base class with a non-virtual destructor so
derived classes don't get destroyed causing them to leak resources.
2016-09-14 15:54:05 +10:00
Léo Lam
c1184957a5
Run clang-format on missed files
...
`clang-format`s files that lint missed because of the bug. Fortunately,
not much.
2016-08-11 21:14:39 +02:00
JosJuice
0a15aaaa12
Move DiscIO enums to a new file
...
At first there weren't many enums in Volume.h, but the number has been
growing, and I'm planning to add one more for regions. To not make
Volume.h too large, and to avoid needing to include Volume.h in code
that doesn't use volume objects, I'm moving the enums to a new file.
I'm also turning them into enum classes while I'm at it.
2016-07-13 17:29:27 +02:00
Pierre Bourdon
f4d2626d2b
Merge pull request #4005 from EmptyChaos/blockcache-bug
...
SectorReader: Minor cache bias bug
2016-07-13 12:11:19 +02:00
JosJuice
53e7eed28d
DiscScrubber: Fix issue 9356
2016-07-11 11:46:15 +02:00
EmptyChaos
9036b9d8e8
SectorReader: Fix cache line bias
...
Minor bug where SectorReader::GetEmptyCacheLine was biased towards
the first hit.
2016-07-09 02:27:35 +10:00
JosJuice
31226b8503
DiscScrubber: Replace unused blocks with 0x00 instead of 0xFF
2016-07-07 11:51:58 +02:00
JosJuice
202c9d58cd
VolumeGC: Set m_banner_loaded when banner loading fails
...
If banner loading fails once, it will very likely fail again.
Setting m_banner_loaded to true when banner loading fails
prevents LoadBannerFile from wasting time if it's called again.
Banner loading requires loading the file system, which takes a
noticeable amount of time, so this matters.
2016-06-28 18:05:44 +02:00
JosJuice
1878605d77
Undo some comment formatting changes from b5104a7
2016-06-25 18:07:10 +02:00
Rukai
b5104a79f1
GCVolume: supports reading all opening.bnr information
...
DQT2: Game properties dialog contains info tab giving information about the selected iso.
2016-06-26 00:03:59 +10:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Pierre Bourdon
c4240692b6
SectorReader: Fix reading the last block of the disc.
...
Regression from PR #3795 .
2016-05-29 18:26:04 +02:00
EmptyChaos
97d570f0c9
DriveReader: Fix View > Show Drives
...
DriveReader::m_size was never initialized which was indirectly
causing CGameListCtrl to crash Dolphin when it tried to insert a
character at a negative index in a string.
Reading one sector at a time is very inefficient and appears to
be causing timing issues during boot so SectorReader has been
enhanced to support batching.
SectorReader has been given a working cache system.
2016-04-26 21:24:08 +10:00
BhaaL
a449ef4e11
properly open/close the file to avoid rapid open/close cycles
...
ES_OPENCONTENT and ES_CLOSECONTENT now call Open and Close respectively,
as the old code did.
2016-03-20 13:10:51 +01:00
BhaaL
8a6d9e1e0b
hide the distinction between WAD and File from ES
...
instead, leave all the management with the NANDContentLoader.
for file data (directly on the NAND), this opens the file on-demand and
returns the requested chunk when asked for it.
for on-the-fly decrypted WAD data, we just keep the decoded buffer in
memory, like we've done before - except that we don't give away any objects
we don't want to.
2016-03-20 13:10:50 +01:00
BhaaL
1e28d06f26
fix some style inconsistencies that drove me nuts
2016-03-20 13:10:47 +01:00
booto
92278886b9
DiscIO: Use specified Wii region for discs
2016-01-15 03:35:10 +08:00
Pierre Bourdon
bff79df363
Merge pull request #3429 from sepalani/debug_vector_fix
...
Debug Builds: Fixed vector assertion
2016-01-07 00:48:40 +01:00
JosJuice
81466d7fa3
DolphinWX: Stop using XPM images
...
Using the XPM format for images has become a maintenance problem because
people don't know how to create them. This commit removes all XPM images
and all C files that contain PNG images. DolphinWX now uses the PNGs
in the Resources folder instead, just like DolphinQt and DolphinQt2 do.
2016-01-05 19:11:58 +01:00
Sepalani
ba794272f5
Debug Builds: Fixed vector assertion
2016-01-03 13:17:26 +01:00
Mathew Maidment
1b69743ba1
Merge pull request #3362 from lioncash/memory
...
NANDContentLoader/WiiWAD: Get rid of raw delete and new
2015-12-22 06:39:12 -05:00
Rohit Nirmal
aaa89d4f73
Silence -Wshadow and -Wmaybe-uninitialized warnings.
2015-12-21 10:06:07 -06:00
Lioncash
cbeb7034eb
Volume: Make GetTMD return a vector
2015-12-19 18:00:44 -05:00
Lioncash
c78c54c546
NANDContentLoader/WiiWAD: Get rid of raw delete and new
2015-12-19 17:37:09 -05:00
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
Lioncash
4b9b82e000
DiscIO: Do swapping in GetTitleID implementations
...
Gets rid of external swaps at every usage.
2015-09-22 13:50:35 -04:00
Lioncash
113cc119de
Merge pull request #2829 from JosJuice/fix-wii-fst-size-2
...
Fix reading Wii FST size (for real this time)
2015-09-12 00:50:00 -04:00
Lioncash
19459e827f
Partially revert "General: Toss out PRI macro usage"
2015-09-11 09:49:00 -04:00
Lioncash
623df9b5ca
DiscIO/VS: Remove an empty filter
2015-09-06 13:23:33 -04:00
Scott Mansell
be4caa3dc0
Merge pull request #2961 from lioncash/printf
...
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Lioncash
4a2e680ed2
VolumeGC: Initialize a variable
...
Silences an uninitialized variable warning
2015-09-05 23:05:28 -04:00
Lioncash
633be0387d
General: Remove unimplemented function prototypes
2015-09-05 22:01:07 -04:00
Lioncash
8fdb013d54
General: Toss out PRI macro usage
...
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
Shawn Hoffman
aa7208e270
[windows] Update projects to vs2015.
2015-09-03 04:23:01 -07:00
Lioncash
222b33f0a3
VolumeCreator: Fix a typo in VolumeKeyForPartition's name
2015-08-31 20:01:51 -04:00
Lioncash
1db1a8aacf
VolumeCreator: Use a unique_ptr in CreateVolumeFromFilename
2015-08-31 20:01:44 -04:00
Anthony Serna
faedf1bc5c
Implemented .elf and .dol support in gamelist
...
Fixed a TON of structuring, formatting.
removed README.txt files from themes at MaJoR's request
Added platform icon for ELFs/DOLs
2015-08-28 11:10:03 -07:00
Markus Wick
3469694b46
Merge pull request #2676 from Stevoisiak/SpellingCorrections
...
Minor spelling corrections
2015-08-15 18:36:56 +02:00
JosJuice
e0a47c11f5
Fix reading Wii FST size (for real this time)
...
04fcb72
fixed an issue with reading the Wii FST size, but I found a second
issue when working on PR #2820 - the size must be shifted left by 2.
DiscScrubber and Boot already do this correctly using separate code.
2015-08-10 16:35:23 +02:00
Lioncash
7ee0e75633
Remove unnecessary virtual keywords
2015-07-30 10:33:08 -04:00
skidau
a12a4520d8
Merge pull request #2684 from TraceBullet/master
...
DiscIO: Check if m_Disc is null in ParsePartitionData()
2015-07-14 10:56:12 +10:00
Scott Mansell
dc25277a2f
Merge branch 'stable' into 'master'
2015-07-13 12:40:38 +12:00
JosJuice
9018b546c7
WbfsBlob: Don't enter an infinite loop when reading beyond end of disc
...
read_size remained 0 when the "Read beyond end of disc" error occurs,
which made the while (nbytes) loop never end. As a fix, SeekToCluster
now explicitly sets available to 0 when the error occurs, and Read
checks for it.
2015-07-06 15:41:37 +02:00
Trace Bullet
64bd20aba7
DiscIO: Check if m_Disc is null in ParsePartitionData()
2015-07-02 11:45:22 -04:00
Stevoisiak
7248f9b524
Minor spelling corrections
2015-06-29 14:51:21 -04:00
Lioncash
daa205990f
Use emplace() instead of insert() where applicable for maps.
2015-06-28 19:52:40 -04:00
Markus Wick
156fb82117
Merge pull request #2620 from JosJuice/more-decodestring
...
Volume: Use DecodeString more
2015-06-18 14:57:10 +02:00
JosJuice
a825c7ddfe
Volume: Use DecodeString more
...
DecodeString handles the case where there is no trailing null byte,
so using it lets the code be a bit simpler.
2015-06-18 14:45:26 +02:00