Commit Graph

163 Commits

Author SHA1 Message Date
Lioncash 19ac565e0d Common: Move asserts to their own header 2015-09-26 18:51:27 -04:00
Lioncash 1d42db2439 Common: Move NonCopyable to its own header 2015-09-26 18:50:35 -04: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 19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -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
Scott Mansell d52d8bf935 Merge pull request #2982 from lioncash/unique
Common: Remove StdMakeUnique.h
2015-09-06 21:01:48 +12:00
Lioncash 4fc71e9708 Common: Remove StdMakeUnique.h 2015-09-06 04:09:53 -04:00
Scott Mansell a26cac87fc Merge pull request #2959 from rohit-n/build-pch
Fix building with PCH disabled.
2015-09-06 19:59:49 +12:00
Lioncash 007939c4e9 WII_Socket: Make the copy-assignment operator deleted 2015-09-06 03:12:01 -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
Rohit Nirmal 8aed7589ae Fix building with PCH disabled. 2015-09-04 10:34:45 -05:00
Anthony Serna db7fe9507e Implemented ability to block writes to the SD card
Renamed variable to be more accurate
2015-08-28 17:32:29 -07:00
comex e20db1b2e3 Forgot to add a slash in one bit of code I switched from D_WIIUSER_IDX to D_SESSION_WIIROOT_IDX.
Fix that.
2015-08-08 23:16:29 -04:00
Lioncash 7ee0e75633 Remove unnecessary virtual keywords 2015-07-30 10:33:08 -04:00
Admiral H. Curtiss e462422ef7 Wiimote: (Re-)Connect a disconnected emulated Wiimote when a mapped button is pressed. 2015-07-10 04:29:56 +02:00
Scott Mansell c54534ee3b Merge pull request #2649 from phire/FileIO_Sanity
IPC_HLE: Don't open/close files for every single file operation.
2015-07-07 17:16:28 +12:00
Scott Mansell 08fcc7bf84 IPC_HLE: Cleanup device definitions with templates.
Less copy/pasted code will make future modifications easier.
2015-07-05 02:05:39 +12:00
Scott Mansell 1d5cda9820 IPC_HLE: Reimplement fix for issues 2917/5232 with more sanity.
Instead of opening... and... closing... files... after... every...
file... operation... (which can be slow, especially if a virus scanner
is running), we catch attempts to open the same file twice and
only open one copy of the file.
2015-07-05 02:01:45 +12:00
Scott Mansell 8b4734133e IPC_HLE: Don't open/close file for every single file operation.
On the first boot of Pokemon Snap it copies a 144KB file to the Wii's
NAND, but it only copies 32 bytes per IPC write call.

This was causing dolphin to open and close the same file over 4000
times. This wouldn't usually be a huge issue, except some operating
systems (namely Windows) allow 3rd party programs (namely antivirus
software) to hook all accesses to the filesystem.

This causes the antivirus software to scan the same file for viruses
4000+ times, which is kind of slow.

This fix reduces the initial boot time of pokemon snap from 3+ min
to just a few seconds. Could also improve other games which write
things to NAND.

Will break a few things, see the next commit for an improved fix.
2015-06-24 19:23:10 +12:00
Scott Mansell 03124ec3f0 IPC_HLE: Simplify lifecycle of devices with shared pointers.
This also fixes a memory/filehandle leak when loading savestates.
2015-06-24 19:22:04 +12:00
Tillmann Karras c9af7def28 Fix some warnings 2015-06-23 21:11:56 +02:00
Jeffrey Pfau 7085fcc8d6 Fix FreeBSD build 2015-06-13 21:52:47 -07:00
Lioncash 97382ec90a Merge pull request #2526 from lioncash/silly
WII_IPC_HLE: Remove a silly volatile usage
2015-06-04 22:27:48 -04:00
Rohit Nirmal cd5142ddeb Fix building with PCH disabled. 2015-06-04 21:05:10 -05:00
Lioncash 630e0375b1 WII_IPC_HLE: Remove a silly volatile usage 2015-06-04 21:35:21 -04:00
JosJuice 030d467d62 Use PanicAlert instead of PanicAlertT when appropriate
It means less work for the translators... But I'm not too sure
about this, because most of these have already been translated.
2015-06-04 13:25:17 +02:00
comex f85db7a686 Merge pull request #2503 from sepalani/master
Fixed: NULL remoteHost in IOCTL_SO_INETATON
2015-06-02 20:23:39 -04:00
comex a3b3f0522b Merge pull request #1556 from comex/project-moration
Rudimentary version of Wii IPC determinism.  Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
Sepalani f494d1f224 Removed: Unnecessary ternaries in IOCTL_SO_INETATON 2015-06-02 22:24:29 +02:00
Sepalani b95f18fc06 Fix a possible null pointer dereference 2015-06-02 21:09:03 +02:00
Sepalani 2ff5c451d0 Cleanup IOCTL_SO_INETATON 2015-06-02 20:15:05 +02:00
Sepalani 893ef20840 Fixed: NULL remotehost in IOCTL_SO_INETATON 2015-06-02 13:51:19 +02:00
Lioncash ac26f8e79f Pass strings by const reference where possible 2015-05-28 20:54:55 -04:00
comex 45b07cbdcd Fix determinism issues with Wiimote netplay.
- Change the Wiimote emulation SYSCONF R/W to use the temporary NAND if in use.
- Fix up SysConf API so this actually works.

Kind of a hack.  Like I said, this can be cleaned up when configuration
is synced...
2015-05-28 19:19:00 -04:00
comex dc91e8b607 Add a mode to use a dummy Wii NAND.
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.

In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site.  Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
comex f6c6822f71 The old g_want_determinism check in WiiSockMan missed a few cases. Move to net.cpp.
Specifically, things like GETHOSTBYNAME, GETHOSTID, etc. could be done
without creating a socket, which is what the old check blocked.  Now we
check at the ioctl and ioctlv handlers.  Might be possible to get a bit
more realistic behavior in future by filtering individual ioctls, but it
probably doesn't matter.
2015-05-28 19:14:42 -04:00
comex 3173d4dcbf Disable /dev/usb/hid too. 2015-05-28 19:14:42 -04:00
comex aae104ccb4 Disable some stuff in IPC_HLE when determinism is required.
This includes net, which is nonsensical to "sync" in netplay/replays
(could have the host do the Wii networking in future though...), and USB
keyboard, which just needs some love to do the same.
2015-05-28 19:14:42 -04:00
comex a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

  - This adds a GCC >= 4.9 dependency due to older versions having
  outright broken <regex>.  MSVC is fine with it.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
Ryan Houdek a4a8162fb5 Merge pull request #2188 from JosJuice/dol-cleanup
DOL loader cleanup with std::vector and safety checks
2015-05-25 23:51:40 -04:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Tillmann Karras 268f52e054 Add missing license headers 2015-05-25 13:11:47 +02:00
Lioncash 760a17abef WII_IPC_HLE_Device_net: Fix a leak with getaddrinfo 2015-05-22 13:15:27 -04:00
Lioncash 4f8b72ca8b WII_IPC_HLE_Device_hid: Fix a function name typo 2015-05-11 09:45:10 -04:00
JosJuice 35c77abbc2 DOL loader cleanup with std::vector and safety checks 2015-05-09 16:49:18 +02:00
Lioncash 76bbd46829 Core: Remove some header inclusions in header files
Replaces them with forward declarations of used types, or removes them entirely if they aren't used at all. This also replaces certain Common headers with less inclusive ones (in terms of definitions they pull in).
2015-05-08 22:38:59 -04:00
Matthew Parlane 571eee8648 Merge pull request #2225 from JosJuice/remove-volumehandler
Get rid of VolumeHandler
2015-04-21 11:18:57 +12:00
Lioncash b0613bb1c8 General: Apply the const specifier where applicable 2015-04-15 02:04:03 -04:00