Commit Graph

25743 Commits

Author SHA1 Message Date
Pierre Bourdon 88580b8d5f WFSI: Fix install directories creation. 2017-08-22 23:13:14 +02:00
Pierre Bourdon e79392cb8e WFS: Implement WRITE and WRITE_ABSOLUTE. 2017-08-22 23:13:14 +02:00
Pierre Bourdon dca70844a6 WFS: Implement CREATE_OPEN along with OPEN. 2017-08-22 23:13:14 +02:00
Pierre Bourdon ef3232cd74 WFSI: Create meta/work/save dirs when applying title profile. 2017-08-22 23:13:14 +02:00
Pierre Bourdon c0b3a68441 WFS: Implement MKDIR. 2017-08-22 23:13:13 +02:00
Pierre Bourdon e45bb77512 WFS: Add a basic GET_ATTRIBUTES implementation. 2017-08-22 23:13:13 +02:00
Pierre Bourdon 56aa3cc558 WFSI: Implement both GET_TMD ioctls. 2017-08-22 23:13:13 +02:00
Pierre Bourdon c81636d9a8 WFSI: Stub out SET_FST_BUFFER. 2017-08-22 23:13:13 +02:00
Pierre Bourdon 92387cb052 WFS: Implement CLOSE_2 as a clone of CLOSE. 2017-08-22 23:13:13 +02:00
Leo Lam c12418788a Merge pull request #5963 from JMC47/mtmsrfix
Fix JIT64 mtmsr issue after PIE support.
2017-08-22 22:12:13 +02:00
Leo Lam e3fff35960 Merge pull request #5896 from beholdnec/lint-version-checks
Tools: Check for git and clang-format version 3.8.x in lint.sh
2017-08-22 21:56:58 +02:00
Leo Lam 788af71f30 Merge pull request #5949 from ligfx/gamelistmodelupdategame
GameListModel: make UpdateGame update existing files as well
2017-08-22 21:39:29 +02:00
Leo Lam 9d93a16cff Merge pull request #5953 from khg8m3r/OSX
Fixes for OSX hotkey defaults
2017-08-22 21:38:23 +02:00
Nick 3d01eeef00 Fix OSX hotkey defaults 2017-08-22 21:31:19 +02:00
Leo Lam 6e1cdfadc9 Merge pull request #5955 from leoetlino/copy
FileUtil: Simplify File::Copy on non-Windows platforms
2017-08-22 21:29:46 +02:00
Leo Lam b3a8209821 Merge pull request #5960 from ligfx/gamefiledontstorefilepathparts
GameFile: don't store file path parts
2017-08-22 21:29:30 +02:00
Leo Lam 232b81999a Merge pull request #5961 from ligfx/gamefilebanner
GameFile: handle missing banners in UI instead
2017-08-22 21:26:38 +02:00
Leo Lam b13d7f9d47 Merge pull request #5965 from ligfx/gamefileremovecompany
GameFile: remove unused m_company
2017-08-22 21:25:00 +02:00
Michael M d00ecb7231 GameFile: remove unused m_company 2017-08-22 12:18:49 -07:00
Markus Wick 3094d6531d Merge pull request #5962 from degasus/arm-fixes
JitArm64: Fix rlwinmx.
2017-08-22 20:27:45 +02:00
JosJuice 81a4fd9679 Merge pull request #5884 from JosJuice/remove-noncopyable
Remove NonCopyable
2017-08-22 17:02:50 +02:00
JosJuice 09f3f9b41a Remove NonCopyable
The class NonCopyable is, like the name says, supposed to disallow
copying. But should it allow moving?

For a long time, NonCopyable used to not allow moving. (It declared
a deleted copy constructor and assigment operator without declaring
a move constructor and assignment operator, making the compiler
implicitly delete the move constructor and assignment operator.)
That's fine if the classes that inherit from NonCopyable don't need
to be movable or if writing the move constructor and assignment
operator by hand is fine, but that's not the case for all classes,
as I discovered when I was working on the DirectoryBlob PR.

Because of that, I decided to make NonCopyable movable in c7602cc,
allowing me to use NonCopyable in DirectoryBlob.h. That was however
an unfortunate decision, because some of the classes that inherit
from NonCopyable have incorrect behavior when moved by default-
generated move constructors and assignment operators, and do not
explicitly delete the move constructors and assignment operators,
relying on NonCopyable being non-movable.

So what can we do about this? There are four solutions that I can
think of:

1. Make NonCopyable non-movable and tell DirectoryBlob to suck it.

2. Keep allowing moving NonCopyable, and expect that classes that
   don't support moving will delete the move constructor and
   assignment operator manually. Not only is this inconsistent
   (having classes disallow copying one way and disallow moving
   another way), but deleting the move constructor and assignment
   operator manually is too easy to forget compared to how tricky
   the resulting problems are.

3. Have one "MovableNonCopyable" and one "NonMovableNonCopyable".
   It works, but it feels rather silly...

4. Don't have a NonCopyable class at all. Considering that deleting
   the copy constructor and assignment operator only takes two lines
   of code, I don't see much of a reason to keep NonCopyable. I
   suppose that there was more of a point in having NonCopyable back
   in the pre-C++11 days, when it wasn't possible to use "= delete".

I decided to go with the fourth one (like the commit title says).
The implementation of the commit is fairly straight-forward, though
I would like to point out that I skipped adding "= delete" lines
for classes whose only reason for being uncopyable is that they
contain uncopyable classes like File::IOFile and std::unique_ptr,
because the compiler makes such classes uncopyable automatically.
2017-08-22 16:40:34 +02:00
JosJuice 6e6864fcbf Revert "DirectoryBlob: Use NonCopyable"
This reverts commit a7a8e467b6.
2017-08-22 16:35:37 +02:00
Markus Wick ef4e4a9a76 Merge pull request #5964 from JosJuice/wxstring-ternary
Fix DolphinWX build issue
2017-08-22 16:26:48 +02:00
JosJuice 51a7150990 Fix DolphinWX build issue
I'm not sure why this hasn't popped up as an error on the buildbots,
but the build fails on my new install of VS2017. The error is C2445:
result type of conditional expression is ambiguous: types 'wxString'
and 'const char [1]' can be converted to multiple common types
2017-08-22 13:35:20 +02:00
JMC47 f7b133b39a Fix JIT64 mtmsr - PIE support caused the codesize
to get bigger, breaking an optimization.  This forces the emitter to use a
32bit pointer instead of an 8bit one, fixing the issue at the expense of
efficiency.
2017-08-22 06:44:38 -04:00
Michael M 5f30ebed23 GameFile: don't store file path parts 2017-08-21 23:55:45 -07:00
Michael M e88b5f4254 GameFile: add missing include for QFileInfo 2017-08-21 23:55:45 -07:00
degasus b00c60618b JitArm64: Fix rlwinmx.
Seems like I was wrong that ANDI2R doesn't require a temporary register here.
There is *one* case when the mask won't fit in the ARM AND instruction:
mask = 0xFFFFFFFF
But let's just use MOV instead of AND here for this case...
2017-08-22 08:47:43 +02:00
Stenzek 9cdf4b5eaa Merge pull request #5958 from beholdnec/fix-10464
VideoCommon: Fix bug #10464 (RA4 format not handled in TextureDecoder)
2017-08-22 11:43:09 +10:00
Michael M 061da1300a GameFile: handle missing banners in UI instead
Currently, GameFile returns a generic banner if the file didn't have one
available (either because the file format doesn't support it, or because
it's a Wii file without an associated save).

It makes more sense to handle the lack of banner in the UI layer. The
game list will use the generic missing banner explicitly (no change from before), and the game info window now omits the banner display entirely if the file didn't have one (since it's not useful to display/allow the user to save the "missing banner" banner).
2017-08-21 18:00:04 -07:00
N.E.C ebda7db437 VideoCommon: Fix bug #10464 (RA4 format not handled in TextureDecoder) 2017-08-21 10:22:15 -07:00
Léo Lam 6f923ffae4 FileUtil: Simplify File::Copy on non-Windows platforms
The old way of doing it is error prone and unnecessarily complex.
2017-08-21 18:31:46 +02:00
Pierre Bourdon 36a0c689d0 Merge pull request #5957 from dolphin-emu/revert-5939-WIP/broken-fstream-copy
Revert "Try to fix File::Copy with non-1024-byte aligned sizes"
2017-08-21 18:30:12 +02:00
Pierre Bourdon 873521ce0b Revert "Try to fix File::Copy with non-1024-byte aligned sizes" 2017-08-21 18:29:58 +02:00
Jules Blok d0fc223fe1 Merge pull request #5956 from Armada651/fix-remove-clr-usage
RenderState: Fix incorrect blending factors when removing the color usage.
2017-08-21 17:06:44 +02:00
Markus Wick 8280d15357 Merge pull request #5939 from JonnyH/WIP/broken-fstream-copy
Try to fix File::Copy with non-1024-byte aligned sizes
2017-08-21 17:01:16 +02:00
Jules Blok 390f3f13ba RenderState: Fix incorrect blending factors when removing the color usage. 2017-08-21 16:33:10 +02:00
Leo Lam 92b375b07a Merge pull request #5952 from lioncash/futureproofing
CommonTypes: Qualify standard integral types in typedefs with std::
2017-08-21 11:07:34 +02:00
Mat M 5aed9a67ef Merge pull request #5904 from leoetlino/indirect-include
PowerPC: Fix indirect includes for GDBStub
2017-08-20 19:59:53 -04:00
Lioncash 7a5577498b CommonTypes: Qualify standard integral types in typedefs with std::
Given a relatively recent proposal (P0657R0), which calls for deprecation of putting stuff into the global namespace when using C++ headers, this just futureproofs our code a little more.

Technically this is what we should have been doing initially, since an
implementation is allowed to not provide these types in the global
namespace and still be compliant.
2017-08-20 19:34:52 -04:00
Leo Lam 08004d409e Merge pull request #5937 from ligfx/miniupnpccmake
CMake: use miniupnpc target instead of global vars
2017-08-20 23:44:06 +02:00
Leo Lam aab4cced11 Merge pull request #5938 from sepalani/err-msg
CommonFuncs: LastStrerrorString added
2017-08-20 23:41:47 +02:00
Michael M 8c13e0230c GameTracker: use WorkQueueThread 2017-08-20 14:40:56 -07:00
Michael M de9378bf63 Common: add WorkQueueThread 2017-08-20 14:40:56 -07:00
Leo Lam 16d6ccbdf7 Merge pull request #5947 from mahdihijazi/cleanup
[Android] Cleanup unused resources & code
2017-08-20 23:33:31 +02:00
Leo Lam 165a995cc4 Merge pull request #5950 from ligfx/gamelistmodelfilenamefallback
GameListModel: fallback to file name if long name is empty
2017-08-20 23:29:27 +02:00
Leo Lam cfee348736 Merge pull request #5945 from ligfx/gamelistmodelcleanup
Add initial paths to GameTracker after construction
2017-08-20 23:27:14 +02:00
Michael M 1a59ea3adb GameFile: don't assign English long name for ELF/DOLs 2017-08-20 13:50:24 -07:00
Michael M f3ab974bc6 GameListModel: fallback to file name if long name is empty 2017-08-20 13:50:24 -07:00