Emulator Issues #8261
Core/Core/HW/BBA-TAP/TAP_Win32.cpp - GetGUIDs() returns false if it finds any improperly configured connection
GetGUIDs() contains multiple
if (status != ERROR_SUCCESS)
checks inside the while loop (lines 114, 130), these should be changed to "continue;" instead of "return false;".
In my situation, VirtualBox creates a connection that does not have a "Name" value, when GetGUIDs() encounters this connection, it aborts the entire search and CEXIETHERNET::Activate() logs "Failed to find a TAP GUID" then returns false, despite the fact that GetGUIDs already found a valid TAP adapter.
#1 Updated by tmo7452 over 5 years ago
From what I see, parsing the NETWORK_CONNECTIONS_KEY tree is entirely unnecessary, the code in IsTAPDevice() can be modified to check that the proper network connection registry entries are present with just a single pass through the ADAPTER_KEY tree, making the current content of GetGUIDs() obsolete.
#3 Updated by tmo7452 over 5 years ago
If I fixed this myself, is there a way I could submit my code? Would my work get bureaucracied to oblivion?
"Who uses BBA? Only 3 games support it and we have Netplay!"
Well I tracked down this bug so I could host an 8 player Mario Kart Double Dash party, and and everyone enjoyed it thank you very much.
#4 Updated by JMC4789 over 5 years ago
I'm sorry I didn't see this. You can submit code via a PR, and as long as it meets standards and doesn't break anything, I don't see why it would be rejected.
BBA is an important feature to support, obviously netplay can't do some of the stuff. Individual screens? Hell yes! 8 players? Hell yes!
So yeah, I think it's important to fix any potential problems that users could run into.