Léo Lam
01faa5c852
FileUtil: Use errno for printing errors in IsDirectory
...
stat() returns an error code in errno on both POSIX compliant
platforms and Windows.
This means we should always use errno instead of GetLastErrorMsg
which uses GetLastError() (Win32) on Windows.
2017-06-16 12:43:41 +02:00
Léo Lam
aa63199977
FileUtil: Don't manually strip trailing slashes
...
POSIX allows one or more trailing slashes for directories.
From POSIX.1-2008, section 3.271 (Base Definitions / Pathname):
> A pathname can optionally contain one or more trailing <slash>
> characters. Multiple successive <slash> characters are considered to
> be the same as one <slash>, except for the case of exactly two
> leading <slash> characters.
On Windows, the extra trailing slashes are ignored for directories too.
2017-06-16 12:31:26 +02:00
Leo Lam
405d2e28ad
Merge pull request #5621 from Orphis/d3d_include
...
d3d: Add missing include
2017-06-16 10:53:56 +02:00
shuffle2
9c8e26bdff
Merge pull request #5582 from shuffle2/bad-dll-warnings
...
Hotpatch EZFRD64 to fix heap-related crashes, improve the UCRT patch
2017-06-15 21:33:50 -07:00
Shawn Hoffman
f469d86467
cmake/win32: add CompatPatches
2017-06-15 21:26:40 -07:00
Shawn Hoffman
1210c74955
[windows]: Apply compatibility patches to problematic gamepad vibration drivers.
...
Move ucrtFreadWorkaround to use the new LdrWatcher.
2017-06-15 21:21:01 -07:00
Florent Castelli
0b504fa046
d3d: Add missing include
2017-06-16 05:52:01 +02:00
shuffle2
5a34546698
Merge pull request #5619 from shuffle2/fix-build
...
msbuild: put pugixml in Externals solution filter; fix project reference
2017-06-15 20:43:08 -07:00
Shawn Hoffman
e51071a9c5
msbuild: put pugixml in Externals solution filter; fix project reference.
2017-06-15 19:06:16 -07:00
Michael Maltese
7c79673d78
MappingButton: make m_block a Common::Flag
2017-06-15 16:15:07 -07:00
Michael Maltese
5b6c8c3ad0
MappingButton: grab and release mouse and keyboard instead of calling parent SetBlockInputs
2017-06-15 16:15:07 -07:00
Michael Maltese
2188ac785a
Move MappingWindow::OnDefaultFieldsPressed() to correct file
2017-06-15 16:15:07 -07:00
Michael Maltese
6c73079011
MappingWidget: fix typo and call Update() on bools
2017-06-15 16:15:07 -07:00
Michael Maltese
ef563fc032
MappingWidget: call Clear() on numerics and bools
2017-06-15 16:15:07 -07:00
Michael Maltese
94038a1e03
MappingButton: remove GetFirstButtonPress logic
2017-06-15 16:15:07 -07:00
Michael Maltese
5b3b6b7f3d
DolphinQt2: FocusEventFilter -> WindowActivationEventFilter
2017-06-15 16:12:05 -07:00
Mat M
220ce425cd
Merge pull request #5580 from lioncash/header
...
Core: Remove unnecessary header inclusions
2017-06-15 19:08:56 -04:00
Lioncash
dd4203bec8
Core: Remove unnecessary includes
...
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
Lioncash
b003108b8b
Core: Add WiimoteCommon headers to the VS project
2017-06-15 18:38:21 -04:00
Leo Lam
8f460a1cda
Merge pull request #5611 from JosJuice/reorganize-file-namespace
...
Reorganize File namespace
2017-06-15 23:28:36 +02:00
JosJuice
cf94ce6305
Add a namespace to OpenFStream
...
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
JosJuice
f09ceaa735
Move IOFile to a separate file
...
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
Leo Lam
9bc1b652fe
Merge pull request #5601 from leoetlino/esformats-additions
...
ESFormats additions and fixes
2017-06-15 21:32:44 +02:00
Leo Lam
743284d39d
Merge pull request #5606 from leoetlino/include
...
NoGUI: Fix a missing include for Xlib
2017-06-15 21:31:21 +02:00
Leo Lam
09c0a3caaf
Merge pull request #2820 from JosJuice/filesystem
...
Filesystem redesign and performance improvements
2017-06-15 21:24:42 +02:00
MerryMage
f8a99ca192
VertexShaderManager: Rename projection hack variables
2017-06-15 16:38:10 +01:00
MerryMage
44f2420517
GraphicsSettings: PH_ZNear and PH_ZFar are std::strings
2017-06-15 16:38:06 +01:00
Léo Lam
a370ad5f6d
IOS/ESFormats: Fix content map writing
...
On Windows, this would fail because the file handle wasn't closed.
2017-06-14 23:13:46 +02:00
Léo Lam
8865208571
IOS/ESFormats: Add ParseCertChain
...
This will be used to avoid duplicating cert chain parsing code.
2017-06-14 22:45:30 +02:00
Léo Lam
e29f6e383f
IOS/ESFormats: Add CertReader
2017-06-14 22:45:30 +02:00
Léo Lam
90280b3f84
IOS/ESFormats: Remove unused TMDReader function
...
The ES function that used to make use of it was changed to be more
sane, so GetRawHeader() is now unused and useless.
2017-06-14 22:45:29 +02:00
Léo Lam
6c3069be97
IOS/ESFormats: Use SignedBlobReader for TMDs and tickets
2017-06-14 22:45:29 +02:00
Léo Lam
2ec04675c9
IOS/ESFormats: Add SignedBlobReader
...
Allows common signature parsing code to not be duplicated.
2017-06-14 22:45:29 +02:00
Anthony
335f54cac6
Merge pull request #5609 from leoetlino/qt-user-path
...
Qt: Support custom user profile paths
2017-06-14 13:40:37 -07:00
JosJuice
583406d900
Filesystem: Make destructors = default
2017-06-14 15:26:04 +02:00
JosJuice
0b7d2e7c68
Filesystem: Modernize variable names
2017-06-14 15:25:09 +02:00
JosJuice
e3a2cd827a
Filesystem: Do more validity checking in the constructor
...
This makes it possible to catch errors earlier so that file systems
simply fail to load instead of behaving oddly. It also makes it possible
to check for errors that weren't checkable before, like the end of a
directory being after the end of the parent directory.
2017-06-14 15:25:05 +02:00
JosJuice
ee27be06d7
Filesystem: Add a cache for finding file info by disc offset
...
FileMonitor calls this every time a read happens, and there's no code that
only calls this a small number of times, so having a cache is worthwhile.
2017-06-14 15:25:02 +02:00
JosJuice
87916fe099
Filesystem: Replace GetFileList()
...
Instead of expecting callers to know how the size of directory file infos
relates to which files are in which directories, filesystems now offer a
GetRoot() method, and file infos offer a way to get their children. As
a bonus, m_FileInfoVector no longer has to be created and kept around
in RAM. Only the file info objects that actually are used are created.
2017-06-14 15:23:48 +02:00
Léo Lam
a9630727fe
Qt: Support custom user profile paths
...
Pretty much the most important option to support, even for a UI
frontend that's still a WIP. It's essential for testing.
2017-06-14 14:31:30 +02:00
Leo Lam
40a9e585a7
Merge pull request #5604 from sepalani/wx-rm-path
...
PathConfigPane: Prevent an invalid index assert
2017-06-14 13:30:15 +02:00
Sepalani
2a349f8e49
PathConfigPane: Prevent an invalid index assert
2017-06-14 12:07:25 +01:00
Leo Lam
c71cb9ac49
Merge pull request #5608 from Starsam80/qt-should-be-like-wx
...
Qt/MappingWindow: Update layout to match WX
2017-06-14 11:14:34 +02:00
Leo Lam
54e882941c
Merge pull request #5600 from leoetlino/xml-library
...
Externals: Add zeux/pugixml@38edf25
2017-06-14 11:13:32 +02:00
Leo Lam
36efcc9f39
Merge pull request #5599 from leoetlino/http-request
...
Common: Add HttpRequest to simplify HTTP requests
2017-06-14 11:12:56 +02:00
Starsam80
e023cc124b
Qt/MappingWindow: Update layout to match WX
2017-06-13 22:42:53 -06:00
JosJuice
ee2b88ebb6
Filesystem: Store pointer to beginning of FST in file infos
...
Needed for the next commit.
2017-06-13 22:44:15 +02:00
JosJuice
1262f08ac1
Filesystem: Better validity checking
...
Now that the FST in read in the constructor, m_Valid
can be set to false when there are errors in the FST.
2017-06-13 22:44:11 +02:00
JosJuice
afe2bc60f6
Filesystem: Initialize everything in constructor
...
Not initializing until the filesystem is used is good when
a filesystem is constructed and then never used, but nobody does that.
This simplifies the code a little and lets all methods be const.
2017-06-13 22:44:07 +02:00
JosJuice
d6ee7ec32c
Filesystem: Read the entire FST in one go
...
Instead of using lots of small scattered reads to read the FST,
only one big read is used, which is more efficient.
This also means that the FST only allocates memory once and stores all
strings close to each other - good for the CPU cache. The file info
objects use pointers to this FST memory of containing data themselves.
Keeping around the big m_FileInfoVector containing objects with only
pointers is a bit unnecessary, but that will be fixed soon.
2017-06-13 22:43:41 +02:00