refactor(network): Remove obsolete Online IP option - #3036
Conversation
|
| Filename | Overview |
|---|---|
| Core/GameEngine/Include/Common/OptionPreferences.h | Removes the obsolete Online IP preference API. |
| Core/GameEngine/Source/Common/OptionPreferences.cpp | Removes lookup and persistence helpers for the legacy GameSpy IP preference. |
| Core/GameEngine/Source/GameNetwork/GameSpy/Thread/PeerThread.cpp | Replaces preference-based GameSpy chat binding with dynamic local-address enumeration. |
| Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/NetworkDirectConnect.cpp | Validates the configured LAN address against current interfaces and fixes the previously reported stale-address path. |
| GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/NetworkDirectConnect.cpp | Mirrors the corrected Direct Connect address validation for Zero Hour. |
| Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp | Removes Online IP population and saving while hiding the obsolete controls. |
| GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp | Mirrors removal of the obsolete Online IP controls and preference handling. |
Reviews (2): Last reviewed commit: "refactor(network): remove Online IP opti..." | Re-trigger Greptile
d84c727 to
a5b126a
Compare
|
For my understanding, if I'm connected to radmin, I used to have two options - use my local IP (192.*) for a lan game or a Radmin IP (2-something) for a radmin game. Is this now automated? I can see game rooms from both networks? Secondly, does this also require a wnd file to be edited? |
|
It does require work on the .wnd file. This is properly gated behind ENABLE_GUI_HACKS. In my original branch, I combined the entire networking refactor into a single commit. Here, you can see all games across all your networks: debug multi-instance, VMs, Radmin, and LAN. However, without those follow-up PRs, the current approach will require returning to the main menu. If that's unacceptable I have to pull in the rest of the networking refactor and expand the scope of this PR adding: |
This PR removes the obsolete "Online IP:" dropdown (
ComboBoxOnlineIP) and its associatedGameSpyIPAddresspreference key from the Options menu and preferences system.In original 2003 Generals, GameSpy chat registration offered a separate dropdown ("Online IP:") allowing players to manually select an IP for GameSpy chat connections. Outbound sockets automatically use the system's default network routing table interface, making a secondary manual IP dropdown redundant.
Changes Made
OptionsMenu.cppin Generals & GeneralsMD):ComboBoxOnlineIPandStaticTextOnlineIPunder#if ENABLE_GUI_HACKSwith@tweakattribution matching recent options cleanup PRs.pref->setOnlineIPAddress()andpref->getOnlineIPAddress()populate and save logic.OptionPreferences.h/OptionPreferences.cpp):getOnlineIPAddress()andsetOnlineIPAddress()methods.GameSpyIPAddresskey toOptions.ini.PeerThread.cpp):IPEnumerationwithout looking up static options preferences.NetworkDirectConnect.cppin Generals & GeneralsMD):prefs.getLANIPAddress()as the single source of truth.