Commit Graph

19138 Commits

Author SHA1 Message Date
spycrab 56aad4a958 Qt/PropertiesDialog: Make title more like Wx 2017-08-26 14:44:38 +02:00
JosJuice 87d982982d Fix regression in File::CopyDir
This apparently fixes https://bugs.dolphin-emu.org/issues/10499 somehow.

The first changed line of this commit is just for performance - the
second changed line is where the difference in behavior is.
2017-08-25 19:14:14 +02:00
Léo Lam 31b04149b3 DiscIO: Fix TMD extraction
The offset that we read from the header is relative to the partition.
2017-08-25 17:31:50 +02:00
Chris Burgener cc03e49024 Remove FFMPEG check for Renderer::IsFrameDumping() 2017-08-24 11:15:50 -04:00
Jonathan Hamilton 5b41c5ae0d Fix vulkan crash on drivers without atomic load/store support
This would not allocate a SSBO buffer, but still try to update the
descriptor said with a NULL buffer. Which naturally crashed.
2017-08-23 14:49:22 -07:00
JosJuice fb2016838e Merge pull request #5864 from JosJuice/directoryblob-disccontentcontainer
DirectoryBlob: Improve ReadInternal
2017-08-23 18:48:24 +02:00
Anthony 935c1da357 Merge pull request #5951 from ligfx/gametrackerworkqueuethread
GameTracker: use new Common::WorkQueueThread instead of signals/slots
2017-08-23 08:02:36 -07:00
Pierre Bourdon 187e65f495 Merge pull request #5941 from delroth/wfs
WFS updates
2017-08-23 11:14:01 +02:00
Lioncash bc57ab3923 Clipper: Copy both color sequences in CopyVertex as opposed to one
This is likely an oversight.
2017-08-22 22:45:28 -04:00
Lioncash ffaa9a3bea SW NativeVertexFormat: Utilize std::array where applicable
Gets rid of some hardcoded looping bounds, and also simplifies code in
some places, sometimes allowing for removal of a loop altogether.
2017-08-22 22:39:28 -04:00
Léo Lam ef888ef168 WFS: Fix logging types. 2017-08-22 23:41:38 +02:00
Léo Lam 344228ec10 WFSI: Implement noop ioctl 0x8f. 2017-08-22 23:41:38 +02:00
Léo Lam 70cb0cb126 WFSI: Implement GET_VERSION.
This ioctl writes a constant value to the output buffer.
2017-08-22 23:41:38 +02:00
Léo Lam 8a5d24ab4b WFSI: Implement IOCTL_WFSI_IMPORT_TITLE_CANCEL.
It gets called for cleaning up whenever something goes wrong, and
also when cancelling an update.
2017-08-22 23:41:38 +02:00
Léo Lam 5cc18bf116 WFSI: Add missing functionality to ImportTitleInit. 2017-08-22 23:41:38 +02:00
Léo Lam f0aeeeaef6 WFSI: Implement internal Cancel{Title,Patch}Import. 2017-08-22 23:41:38 +02:00
Léo Lam c1817b2c6d WFSI: Rename 2 ioctls to better reflect their purposes.
* IOCTL_WFSI_PREPARE_DEVICE -> IOCTL_WFSI_IMPORT_TITLE_INIT
  (equivalent of ES_ImportTitleInit, also the official name)

* IOCTL_WFSI_IMPORT_TITLE -> IOCTL_WFSI_IMPORT_TITLE_CANCEL
  (equivalent of ES_ImportTitleCancel)
2017-08-22 23:41:38 +02:00
Léo Lam 7423563386 WFSI: Fix the TMD size check. 2017-08-22 23:41:37 +02:00
Pierre Bourdon a641609857 WFSI: Implement patch install finalization. 2017-08-22 23:41:37 +02:00
Pierre Bourdon 76bbfbb511 WFSI: Adapt FINALIZE_TITLE_INSTALL for patch support. 2017-08-22 23:14:00 +02:00
Pierre Bourdon db24c94c6e WFSI: More work to support patching: split off current_tid/gid and import_tid/gid 2017-08-22 23:14:00 +02:00
Pierre Bourdon aa445806a5 WFSI: Rename a few ioctl handlers. 2017-08-22 23:14:00 +02:00
Pierre Bourdon 5ed3a3f12d WFSI: Get the patch info from PREPARE_DEVICE. 2017-08-22 23:14:00 +02:00
Léo Lam e004709b69 WFSI: Implement CHECK_HAS_SPACE. 2017-08-22 23:13:59 +02:00
Léo Lam 15f25783a8 WFS: Implement RENAME. 2017-08-22 23:13:58 +02:00
Pierre Bourdon 2a8d9a53b7 WFS: Share error codes with WFSI. 2017-08-22 23:13:14 +02:00
Pierre Bourdon e6e00f6c8d WFSI: Implement install finalization. 2017-08-22 23:13:14 +02:00
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 788af71f30 Merge pull request #5949 from ligfx/gamelistmodelupdategame
GameListModel: make UpdateGame update existing files as well
2017-08-22 21:39:29 +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
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 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
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