@@ -291,18 +291,56 @@ static void updateNumPlayersOnline(void)
291291
292292
293293 // <hexcol>%hs for colors
294- ECapabilityState NATDirectConnect = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().HasDirectConnect ();
295294 ECapabilityState capUPnP = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().HasUPnP ();
296295 ECapabilityState capNATPMP = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().HasNATPMP ();
296+
297+ std::string strUPnPState;
298+ if (capUPnP == ECapabilityState::UNDETERMINED)
299+ {
300+ strUPnPState = " Still Determining..." ;
301+ }
302+ else if (capUPnP == ECapabilityState::SUPPORTED)
303+ {
304+ strUPnPState = " Supported" ;
305+ }
306+ else if (capUPnP == ECapabilityState::UNSUPPORTED)
307+ {
308+ strUPnPState = " Unsupported" ;
309+ }
310+ else
311+ {
312+ strUPnPState = " User Overridden" ;
313+ }
314+
315+ std::string strNATPMPState;
316+ if (capNATPMP == ECapabilityState::UNDETERMINED)
317+ {
318+ strNATPMPState = " Still Determining..." ;
319+ }
320+ else if (capNATPMP == ECapabilityState::SUPPORTED)
321+ {
322+ strNATPMPState = " Supported" ;
323+ }
324+ else if (capNATPMP == ECapabilityState::UNSUPPORTED)
325+ {
326+ strNATPMPState = " Unsupported" ;
327+ }
328+ else
329+ {
330+ strNATPMPState = " User Overridden" ;
331+ }
332+
333+ ECapabilityState NATDirectConnect = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().HasDirectConnect ();
297334 bool bHasPortMapped = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().HasPortOpen ();
298335 bool bHasPortMappedUPnP = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().HasPortOpenUPnP ();
299336 int preferredPort = NGMP_OnlineServicesManager::GetInstance ()->GetPortMapper ().GetOpenPort ();
300- headingStr.format (L" Welcome to Generals Online for Zero Hour.\n \n Network Capabilities:\n\t UPnP: %hs\n\t NAT-PMP: %hs\n\t Port Mapped: %hs\n\t Network Port: %d\n\t Direct Connect: %hs" ,
301- capUPnP == ECapabilityState::UNDETERMINED ? " Still Determining... " : capUPnP == ECapabilityState::SUPPORTED ? " Supported " : " Unsupported " ,
302- capNATPMP == ECapabilityState::UNDETERMINED ? " Still Determining... " : capNATPMP == ECapabilityState::SUPPORTED ? " Supported " : " Unsupported " ,
337+ headingStr.format (L" Welcome to Generals Online for Zero Hour.\n \n Network Capabilities:\n\t UPnP: %hs\n\t NAT-PMP: %hs\n\t Port Mapped: %hs\n\t Network Port: %d\n\t Direct Connect: %hs%hs " ,
338+ strUPnPState. c_str () ,
339+ strNATPMPState. c_str () ,
303340 bHasPortMapped ? (bHasPortMappedUPnP ? " Yes (UPnP)" : " Yes (NAT-PMP)" ) : " No" ,
304341 preferredPort,
305- NATDirectConnect == ECapabilityState::UNDETERMINED ? " Still Determining..." : NATDirectConnect == ECapabilityState::SUPPORTED ? " Supported" : " Unsupported"
342+ NATDirectConnect == ECapabilityState::UNDETERMINED ? " Still Determining..." : NATDirectConnect == ECapabilityState::SUPPORTED ? " Supported" : " Unsupported" ,
343+ capUPnP == ECapabilityState::OVERRIDDEN ? " \n\t WARNING: You have manually set a firewall port which does not appear to be open. Direct connectivity may not work." : " "
306344 );
307345
308346 while (headingStr.nextToken (&line, UnicodeString (L" \n " )))
0 commit comments