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
|
@ -367,8 +367,9 @@ extern int getcommand(char *);
|
|||
extern void init_player_commands(void);
|
||||
extern void log_last_commands(void);
|
||||
extern int gamedown(void);
|
||||
extern void daychange(time_t);
|
||||
extern int gettimeleft(time_t, int);
|
||||
extern void update_timeused_login(time_t now);
|
||||
extern void update_timeused(time_t now);
|
||||
extern void enforce_minimum_session_time(void);
|
||||
/* more under Commands */
|
||||
/* empmod.c */
|
||||
/* init_nats.c */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue