Commit graph

78 commits

Author SHA1 Message Date
Ryan Houdek
a7f244e96d Revert "Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay.""
This reverts commit 5696da0b3e.

JMC messed up, it wasn't due to this commit.
2013-09-04 19:16:28 -05:00
Ryan Houdek
5696da0b3e Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay."
This reverts commit e110f1049c.

This unfixes issue 6575. Reverted due to huge performance hit on behalf of JMC.
2013-09-04 02:55:13 -05:00
Justin Chadwick
e110f1049c [NetPlay] Make the Memory Card A/B setting sync across netplay.
Fixes issue 6575.
2013-09-03 17:41:52 -04:00
Rachel Bryk
8ae10b3e12 [NetPlay] Allow recording movies during netplay.
Fixes issue 6207.
2013-09-03 15:50:41 -04:00
Rachel Bryk
cea7737aef Fix crash on stop in netplay, and stop netplay when anyone with a pad mapped in game stops emulation. 2013-09-02 21:54:28 -04:00
Justin Chadwick
6b1c8f9d17 [Netplay] Read dual core setting before syncing it with clients.
Fixes issue 6573.

Fixes issue 6535.
2013-09-02 19:55:25 -04:00
Jasper St. Pierre
22f57cf07a NetPlay: Don't bother with the host's controller settings
Use the pad mapping to calculate the number of devices
we want, and add them on each client when we get the
message.
2013-08-31 21:18:14 -04:00
Jasper St. Pierre
dfb34ddef4 NetPlayWindow: Make the spacing consistent on both sides 2013-08-23 20:40:34 -04:00
Jasper St. Pierre
23ff31451f NetPlay: Rework pad mapping
Pad mapping and the UI behind it is significantly confusing,
and has been confusing users since NetPlay was introduced.

As part of a large code cleanup to help NetPlay more stable,
introduce a better pad mapping system where local pad mapping
is handled by the client. Now, all the server and other
clients know is which player have which controllers, and the
clients only know this so they can show the pad mapping in the
UI; they don't do anything else with it.

A future cleanup will use this pad mapping data to completely
ignore the pads configured in the settings pane on the host.
2013-08-23 09:40:08 -04:00
Jasper St. Pierre
756bf93111 NetWindow: Move "Write memcards" checkbox to be host-only
The setting is propagated from the host, so the client checkbox would
be ignored anyway.
2013-08-16 21:42:38 -04:00
Pierre Bourdon
c6d8d52041 Fix a warning introduced by the recent netplay UI changes 2013-08-15 15:05:20 +02:00
Jasper St. Pierre
998194246c NetPlay: Disable the "Start" button while the game is running 2013-08-14 18:16:07 -04:00
Jasper St. Pierre
1c74e412e2 NetPlay: Remove the "Stop" button
Now that the host can simply close the window, there's no need for this extra control.
2013-08-14 18:16:06 -04:00
Jasper St. Pierre
5241deaebe NetPlay: Allow hosts to stop the game by closing the game window 2013-08-14 18:16:05 -04:00
Jasper St. Pierre
92f8d79574 NetPlay: Set the pad buffer size on server creation
If we don't do this, then when the game starts we'll send out the
buffer size to clients being a super large value of junk, and they'll
hang forever trying to accumulate an input buffer a size that they'll
never ever reach in a million years.

This never manifested in release builds for some reason.
2013-08-14 18:15:28 -04:00
John Chadwick
a791733c27 Fix invalid C++ code (returning reference to local) - thanks devm33. 2013-08-13 14:47:32 -04:00
Jasper St. Pierre
a3a222bf5b NetPlay: Remove NetPlay.h / NetPlay.cpp
Now the server and client implementations are entirely separate.
2013-08-05 05:05:06 -04:00
Jasper St. Pierre
3b32d3c90d NetPlay: Split the server out, and make the local system manage a client as well
This should be transparent, but it may cause regressions.

The idea here is that now all players, including the host of the server,
talk to the server through TCP/IP networking. This significantly reduces
our codepaths through netplay, and will prevent strange local-only bugs
from happening.

The cleanup isn't 100% finished yet. The NetPlay dialog still drives the
server through private APIs. I eventually want to sanction off the server
entirely, so all communication is done through TCP/IP. This will allow us
to have high-traffic public servers that can relay multiple games and
lobbies at a time, and split off channel and game management to people
other than the host.

This is all still just a pipe dream, though.
2013-08-05 04:42:26 -04:00
Jasper St. Pierre
6d463d1b67 NetPlay: Allow building a server without a game
This isn't hooked up in the UI yet, but it will allow us to
basically start the server and chat system without choosing
a game.
2013-07-22 07:29:15 -04:00
John Chadwick
16cd26d177 Add UPnP support.
Feedback is in logs as suggested by skid_au. The checkbox is still there, but
mostly for people who would like to opt out (unfortunately, I can not be sure
how this feature may behave for some routers - there's a hell of a lot of bad
UPnP implementations.)

The Visual Studio stuff is a little messy, so I apologize if anything is a bit
off. I tested most configurations and it worked.

I also tested CMake on Debian Wheezy, Ubuntu Saucy, and Mac OS X Mountain Lion.
All seemed to be OK.
2013-07-09 18:08:43 -04:00
Lioncash
e2ae73ba39 Lastly - new license header introduced to main Dolphin project. All done now. 2013-04-17 23:43:35 -04:00
John Chadwick
1e6dacf1e4 Make dolphin aware of disc revision numbers. Display them under game properties and use them in netplay.
Patch by johnwchadwick.
Fixed issue 6243.
2013-04-16 22:39:05 -05:00
lioncash
ef85b9af45 Update the license file text (change SVN to Git) in all projects except Core since I was told a merge was happening soon. So for the sake of the merge going smoothly, I'll fix that when I remove the tab/space mismatches from the Core project.
Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects.

Now, the Core is literally the only project with tab/space mismatches (on a large scale).
2013-04-15 16:28:55 -04:00
Jordan Woyak
b30c5b0048 NetPlay: Updated the "Alert" text. Removed the "?" button as it was useless. Sorted the game lists. Made wider the player list. 2013-04-09 22:04:55 -05:00
John Chadwick
8ce0d43717 Allow enabling memory card writes for netplay clients, instead of just the server. 2013-04-07 13:04:44 -04:00
John Chadwick
c7abf7e8d2 Allow disabling memory card writes in netplay.
Fixes issue 6217.
2013-04-07 12:18:07 -04:00
Jordan Woyak
6026b29844 Separate banner and volume name getting functions. Game properties now shows the correct "banner" name in more cases. 2013-03-03 18:34:03 -06:00
Jordan Woyak
a30636cb88 Buildfix. 2013-03-03 18:00:48 -06:00
Jordan Woyak
ae14578bc5 Eliminate some netplay gamelist ugliness. 2013-03-03 17:56:40 -06:00
Jordan Woyak
e183711d74 wxString conversion cleanup. 2013-03-02 20:34:53 -06:00
Jordan Woyak
03ec9a2e08 Kill some unnecessary c_str and use StrToWxStr in a few places that I missed. 2013-02-28 02:40:03 -06:00
Jordan Woyak
56f09d3b91 Attempt to be consistent with conversions between std::string and wxString. 2013-02-28 02:30:05 -06:00
Jordan Woyak
eca93c4c19 Eliminate nearly all the _connect_macro_ ugliness by using wxw's newish Bind functions.
Unlike Connect, Bind is quite type-safe.
I also seem to have fixed some errors in the input config dialog.
2013-01-13 03:06:56 -06:00
Shawn Hoffman
1fbf2e38c4 wxw implements wxEVT_THREAD itself now 2012-03-17 21:50:40 -07:00
Glenn Rice
e4141c331e Finish making dialogs close when escape is pressed. Fixes issue 4265. At least I think I got them all.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7365 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-17 04:26:01 +00:00
Glenn Rice
ba54fac9eb Convert GetUserPath to return a std::string instead of a const char *. This simplifies its usage in most cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28 20:40:15 +00:00
Glenn Rice
217ee43063 Fix a memory leak in the breakpoint window.
Parent message alerts by the active window.  This way if another window is open it isn't pushed behind the main window.  We probably should parent the message alerts by the calling window instead, but this may be good enough.
Make sure there is only one instance of some modeless windows (Cheats Manager and Net Play).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7257 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 02:27:43 +00:00
NeoBrainX
42908c5b2e Remove any wx-specific code from Core.
Move NetPlay code from DolphinWX to Core.
Even NetPlay with nowx should be possible now if anyone felt like implementing a CLI for it ;)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7119 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-08 15:36:15 +00:00
Glenn Rice
c6e0ea59b9 Removed my previous PanicAlert translation hack. Fixed with a better method suggested by BhaaL. The translation is done by a callback in the MsgHandler routine that is set at program start. Added macros PanicAlertT, SuccessAlertT, PanicYesNoT, and AskYesNoT that are identical to the non T versions except those strings will be added by gettext to the po files to be translated. These can and should be used anywhere in the code for strings that should be translated.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6838 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-13 02:05:58 +00:00
Glenn Rice
a4dd8c41a8 Add a little hack to make it so panic alerts and questions can be translated if they are in the wxWidgets portion of the code, as well as make a few strings in the config dialog translatable.
Add Hungarian translations by Delirious.
Update Italian translations by RebuMan.
Update German translations by JackyCola and LucasX.
Update Greek translations by Gpower2.
Update Frensh translations by Pascal.
Make sure the game list is refreshed when the GC language is changed.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6826 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 13:14:50 +00:00
Glenn Rice
7219d185d9 Add some more translatable strings. Thanks to DavidVag.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6753 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 17:56:08 +00:00
Glenn Rice
4f6d4f5ddd Add internationalization support. There aren't really any translations yet other than a little French thanks to DavidVag. So now the translators need to go to work. See http://wiki.wxwidgets.org/Internationalization for directions. The binary .mo files are generated at build time on linux. They are provided in Data/Languages for windows. I don't know where they need to go on OSX, but they should be able to be generated there at least. I added a target to generate them on windows, but does not build by default as it requires that msgfmt.exe from the gnu gettext tools be installed and in the path.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6747 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 04:35:46 +00:00
Jordan Woyak
71f842e8c0 Cleaned up NetPlay a bit, fixed some UI text.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6425 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-16 01:55:29 +00:00
Soren Jorvang
b7c2e523b3 Treat strings from external sources as 8-bit so FromAscii doesn't barf.
Ideally we should be more character set aware, but at the moment we
use anonymous 7/8-bit strings in too many places.

Fix use of AddGrowable{Col,Row}. Any (non-zero) rows/columns must     
have been created first by adding an item to it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5648 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-11 08:39:03 +00:00
Jordan Woyak
5341bbad3a Made new Wiimote plugin not deinit SDL on shutdown. (Hacks, same thing old wiimote does, fixes the crash on emulation stop, refresh button still causes crash (damn SDL)) Minor new input plugin GUI changes. (left-click on rumble button opens control config dialog) Made NetPlay save/load settings to Dolphin.ini. Allow NetPlay host to adjust which/how many pads will be used in game. (more than one gamepad per Dolphin instance can be used on NetPlay) Worked on wiimote NetPlay a bit. (still nonfunctional) Improved SDL device numbering. Added some major hacks to ControllerInterface/SDL so XInput(360 controller) devices do not have their SDL interface shown in the device list on windows. (caused confusion for users)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5625 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-06 03:52:11 +00:00
Jordan Woyak
ec11685a66 NetPlay: Allow manual adjustments to the pad buffer size. Hacked in all the functions that will be needed for wiimote support (not functional yet). Rumble is sent to the correct gamepad during netplay. Stop button works better. Games no longer hang on disconnect.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5434 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-05 04:31:21 +00:00
Jordan Woyak
fd1ea33fb2 NetPlay: some code cleanup, added a stop button (sometimes works), host can now change the game after starting a session
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5430 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-02 23:01:50 +00:00
Jordan Woyak
533162b41f NetPlay: Fixed a problem with client game start code. Other minor fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5427 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-02 04:24:49 +00:00
Glenn Rice
b2e0dc2519 Netplay build fix for linux, and a little clean up.
For some reason something in (or included in) Frame.h messes up the SFML inclusion in NetPlay.cpp.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5426 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-01 21:27:48 +00:00
Jordan Woyak
a6d6d27328 NetPlay: completely redone - should be somewhat usable when using Single Core and DSP LLE Plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5425 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-01 19:10:35 +00:00