Rewrite accounting of play time
Replace daychange() and gettimeleft() by update_timeused_login(), update_timeused() and enforce_minimum_session_time(). The new code doesn't assume the day is always 24 hours long which can occur when transitioning into or out of DST and such. Logging in after more a multiple of 128 days now resets nat_timeused properly. Fix nat_timeused calculation on midnight rollover to include the time since midnight. struct natstr member nat_dayno and struct player member timeleft are now unused, remove them.
This commit is contained in:
parent
f46dc55254
commit
875a80d14f
8 changed files with 69 additions and 74 deletions
|
@ -95,7 +95,6 @@ struct natstr {
|
|||
char nat_userid[32]; /* userid of last user, may be empty */
|
||||
coord nat_xcap, nat_ycap; /* cap location in abs coords */
|
||||
coord nat_xorg, nat_yorg; /* origin location in abs coords */
|
||||
signed char nat_dayno; /* day of the year mod 128 */
|
||||
signed char nat_update; /* Want an update or not. */
|
||||
unsigned short nat_tgms; /* # of telegrams to be announced */
|
||||
unsigned short nat_ann; /* # of annos pending */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue