than current time. Nation addition time is irrelevant.
(natstr): Document zero nat_last_login, nat_last_login mean never
logged in/out.
(player_main): Test nat_last_login zero instead of nat_hostaddr empty.
(player_main): Assign nat_userid, nat_hostname, nat_hostaddr straight
from player. The last connection's host is now shown as dotted quads
instead of nowhere when the name isn't known.
(natstr): Document that nat_userid, nat_hostname may be empty.
(player_main): Simplify printing last connection address: nat_hostaddr
can't be empty here; don't bother to substitute "nobody" for empty
user.
bother to `optimize' the maxpop case, and it drops the weird food
limit computation for opt_NOFOOD, which didn't limited for any
reasonable game parameters.
transient server state, not persistent game state. Remove.
(player_main, edit): Remove uses.
(coun): Use getplayer() instead of nat_connected. Delete the message
on command being out of order.
searches for a player other than US for country CNUM, which is in
state PS_PLAYING. Since there can be at most one player in state
PS_PLAYING, and no caller pass that player as US, they can simply use
getplayer() instead.
list of players, but at most one in state PS_PLAYING. getplayer()
used to get the one first in the list. However, its callers need the
one in state PS_PLAYING. In particular, typed_wu() notifies the
player obtained from getplayer(). If the player in state PS_PLAYING
isn't first, say because another one is trying to log in, the
notification gets lost. Fix by making getplayer() return the player
in state PS_PLAYING.
fly, para, reco, sail, sweep. Old code also screwed up when
getstring() failed, unless player->aborted. Fixed code is still ugly
and cries for a rewrite.
must be valid. Oopses on bad direction characters.
(pathtoxy, ac_encounter): Bad direction characters used to lead to bad
array subscript and potential disaster.
(pathrange, path): Stop on DIR_STOP as well as on bad direction
characters. This is just for consistency with other code; DIR_STOP
should occur only last in a path here.
(sail_nav_fleet, nav_ship): No change except for the oops.
(player_init): Implement it.
(player_init): Support service name in econfig key loginport. Service
empire no longer takes precedence over econfig. Closes#797096.
(main): Clarify messages.
(hostport) [_WIN32]: Remove useless conditional code.
(main): Fall back to compiled-in host only if environment doesn't
supply one, not if it can't be resolved. Same for port.