New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve netplay UX #3588
Improve netplay UX #3588
Conversation
Review status: 0 of 2 files reviewed at latest revision, 7 unresolved discussions, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 177 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 178 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 475 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 477 [r1] (raw file): switch (current_tab)
{
case CONNECT_TAB:
DoJoin();
break;
case HOST_TAB:
DoHost();
break;
} Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 485 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 487 [r1] (raw file): switch (current_tab)
{
case CONNECT_TAB:
m_connect_ip_text->SetFocus();
break;
case HOST_TAB:
m_game_lbox->SetFocus();
break;
} Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.h, line 28 [r1] (raw file): Comments from the review on Reviewable.io |
Review status: 0 of 2 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 46 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 260 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 360 [r1] (raw file): Comments from the review on Reviewable.io |
3dcb09c
to
6fb4729
Compare
Ive added a commit here. Meant to do that earlier but was busy correcting PR issues and eating. |
2b83938
to
a524426
Compare
Review status: 0 of 2 files reviewed at latest revision, 8 unresolved discussions, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 177 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 178 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 360 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 475 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 477 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 485 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 487 [r1] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.h, line 28 [r1] (raw file): Comments from the review on Reviewable.io |
Review status: 0 of 2 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 112 [r4] (raw file): // Will be overrided by OnDirectTraversalChoice, but is nescessary
// so that both inputs do not take up space also Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 489 [r4] (raw file): m_connect_ip_text->GetParent()->Layout(); Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.h, line 30 [r4] (raw file): Comments from the review on Reviewable.io |
a524426
to
95dd451
Compare
Review status: 0 of 2 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 112 [r4] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 489 [r4] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.h, line 30 [r4] (raw file): Comments from the review on Reviewable.io |
Left to do :
|
7f890f7
to
107555a
Compare
Review status: 0 of 9 files reviewed at latest revision, 15 unresolved discussions, some commit checks failed. Source/Core/Core/NetPlayClient.cpp, line 589 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 322 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 493 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetWindow.cpp, line 632 [r6] (raw file): then just change the other color assignments to be stack variable assignments. (e.g. The code below would have produced a memory leak from explicit new. Source/Core/DolphinWX/NetPlay/NetWindow.cpp, line 633 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetWindow.h, line 40 [r6] (raw file): enum class ChatMessageType
{
Error,
Info,
In,
Out
} also a comment should be left explaining what Source/Core/DolphinWX/NetPlay/NetWindow.h, line 70 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 22 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 23 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 32 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 68 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.h, line 27 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.h, line 29 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.h, line 32 [r6] (raw file): namespace Color
{
constexpr u32 CYAN = ...;
constexpr u32 GREEN = ...;
constexpr u32 RED = ...;
constexpr u32 YELLOW = ...;
} Source/Core/VideoCommon/OnScreenDisplay.h, line 40 [r6] (raw file): namespace Duration
{
constexpr u32 SHORT = 2000;
constexpr u32 LONG = 5000;
constexpr u32 VERY_LONG = 10000;
} Comments from the review on Reviewable.io |
Sorry for camelCase @lioncash. Again. Old habits die hard i guess. |
Source/Core/VideoCommon/OnScreenDisplay.h, line 29 [r6] (raw file): Comments from the review on Reviewable.io |
107555a
to
325438c
Compare
Review status: 0 of 9 files reviewed at latest revision, 15 unresolved discussions, some commit checks failed. Source/Core/Core/NetPlayClient.cpp, line 589 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetWindow.cpp, line 632 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetWindow.cpp, line 633 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetWindow.h, line 40 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetWindow.h, line 70 [r6] (raw file): Comments from the review on Reviewable.io |
@Aestek No worries :) @delroth As long as it gets tested and verified that behaviour is always consistent (e.g. via a few dry-runs with people on different OSes running Smash Bros or something over netplay), I don't see why not. Otherwise, I'd leave it out. |
@lioncash @delroth Testing this PR is pretty fast forward and ill start doing real world tests as soon as i can get my hand on a windows build of it. However NetPlay already makes Dolphin crash sometimes so it can be hard to tell if this PR is causing the crash (but im pretty confident it does not, I've ran a lot of local tests). |
325438c
to
13aa736
Compare
Review status: 0 of 9 files reviewed at latest revision, 15 unresolved discussions, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 322 [r6] (raw file): Source/Core/DolphinWX/NetPlay/NetPlaySetupFrame.cpp, line 493 [r6] (raw file): Comments from the review on Reviewable.io |
Review status: 0 of 9 files reviewed at latest revision, 15 unresolved discussions, some commit checks failed. Source/Core/VideoCommon/OnScreenDisplay.cpp, line 22 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 23 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 32 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.cpp, line 68 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.h, line 27 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.h, line 32 [r6] (raw file): Source/Core/VideoCommon/OnScreenDisplay.h, line 40 [r6] (raw file): Comments from the review on Reviewable.io |
Review status: 0 of 9 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetWindow.cpp, line 651 [r8] (raw file): Comments from the review on Reviewable.io |
13aa736
to
3b31a6f
Compare
Review status: 0 of 9 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed. Source/Core/DolphinWX/NetPlay/NetWindow.cpp, line 651 [r8] (raw file): Comments from the review on Reviewable.io |
@dolphin-emu-bot rebuild |
Source/Core/Core/NetPlayClient.cpp, line 31 [r26] (raw file):
Btw, I just noticed this, but why is everything formatted with the newline on the same line? We use brace on the next line. Comments from Reviewable |
Source/Core/Core/NetPlayClient.cpp, line 31 [r26] (raw file):
|
807ca4c
to
a9a7df5
Compare
Review status: 0 of 13 files reviewed at latest revision, 5 unresolved discussions, some commit checks failed. Source/Core/Core/NetPlayClient.cpp, line 31 [r26] (raw file):
|
For the record this PR fixes a few crashes where a player makes the others crash by stopping the game or crashing himself. |
Apparently this needs another rebase ;( |
6b97cdf
to
4a70891
Compare
Netplay seems to be permanently disabling a lot of options until I close the emulator altogether. |
@JMC47 isn't that outside the scope of this PR? The master branch build does that too. Unless you mean closing Dolphin altogether and not just the game. |
Oh. Then I guess it is. When did that happen? |
I will confirm that after launching Netplay (even on master branch) Controller Settings and CPU Clock Override Settings are disabled. Permanently is a stretch as restarting dolphin fixes the situation. But as @clinchergt says, this should be addressed by another PR and is outside of the ramifications of this one. I say lgtm. |
Did a more thorough test, even made sure Wiimote Netplay was still working. |
@JMC47 Some of those were disabled in a PR, not sure which one it was, that must be a side effect of some of those. I had a quick look but couldn't find which PR it was, but im certain they exist. |
Review status: 0 of 13 files reviewed at latest revision, 6 unresolved discussions. Source/Core/DolphinWX/VideoConfigDiag.cpp, line 101 [r28] (raw file):
The text reformatting changes in this file are not appropriate. Comments from Reviewable |
2570e3d
to
4ae5d32
Compare
@JosJuice cleaned all that |
@Aestek LGTM behavior wise. Tested it throughly on GameCube and Wiimote Netplay. |
Reviewed 1 of 13 files at r22, 2 of 10 files at r24, 2 of 5 files at r28, 6 of 6 files at r29. Comments from Reviewable |
* Focus "Hash Code" / "IP address" text box by default in "Connect" * Focus game list in "Host" tab * RETURN keypress now host/join depending on selected tab * Remember last hosted game * Remove PanicAlertT: * Simply log message to netplay window * Remove them when they are useless * Show some netplay message in OSD * Chat messages * Pad buffer changes * Desync alerts * Stop the game consistently when another player disconnects / crashes * Prettify chat textbox * Log netplay ping to OSD Join scenario: * Copy netplay code * Open netplay * Paste code * Press enter Host scenario: * Open netplay * Go to host tab * Press enter
Once a tab is selected the focus can be set directly from the page changed event. However once the tab was shown, the first tab order control element was given the focus by default. This was fixed by delaying the action and setting the focus after the default focus had been assigned.
4ae5d32
to
67eb814
Compare
Tested and works as expected. LGTM :3 |
Not sure how I somehow missed it after all this testing, but the md5 check box is actually off centre with the game selection checkbox in the host window |
Improve netplay setup dialog UX
Join scenario:
Host scenario:
Improve NetPlay UX
OSD:
Chat box: