Core/HW: Add Broadband Adapter (IPC).

This is a hassle-free BBA option intended for local play with multiple
Dolphin instances running *in the same system*. After selecting
**Broadband Adapter (IPC)** in the **SP1** slot in the GameCube section
in the settings, games that support LAN play will be able to discover
each other, without requiring third-party software or relatively complex
TAP setups.

The implementation is based on cpp-ipc, a high-performance inter-process
communication library that uses shared memory as transport layer.

Supported platforms are:

- [x] Linux
- [x] Windows
- [ ] macOS (cpp-ipc does not support this platform)
- [ ] FreeBSD (cpp-ipc does not support this platform)
- [ ] Android (cpp-ipc needs some adjustments; while it could work,
  launching two Dolphin instances within the same Android system may be
  both challenging and impractical)
This commit is contained in:
cristian64
2025-10-28 18:50:59 +00:00
parent 4677a92b13
commit f5012ef457
9 changed files with 164 additions and 1 deletions
@@ -145,6 +145,9 @@ void GameCubePane::CreateWidgets()
EXIDeviceType::EthernetXLink,
EXIDeviceType::EthernetTapServer,
EXIDeviceType::EthernetBuiltIn,
#if defined(WIN32) || (defined(__linux__) && !defined(__ANDROID__))
EXIDeviceType::EthernetIPC,
#endif
EXIDeviceType::ModemTapServer,
})
{