From 5a36956f75959887f75fda90c39d56181cd1f196 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Mon, 20 Dec 2010 14:04:31 +0200 Subject: working time-of-day sending from server to client --- src/client.cpp | 78 +++++++++++++++++++++++++--------------------------------- 1 file changed, 33 insertions(+), 45 deletions(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 37482ba91..b612c9c44 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -91,10 +91,7 @@ Client::Client( m_server_ser_ver(SER_FMT_VER_INVALID), m_step_dtime(0.0), m_inventory_updated(false), - m_time(0), - m_time_counter(0.0) - //m_daynight_i(0) - //m_daynight_ratio(1000) + m_time_of_day(0) { m_packetcounter_timer = 0.0; m_delete_unused_sectors_timer = 0.0; @@ -165,48 +162,29 @@ void Client::step(float dtime) Day/night */ { - m_time_counter += dtime; - int seconds = (int)m_time_counter; - m_time_counter -= (float)seconds; - m_time += seconds; - if(seconds > 0) + s32 d = 8; + s32 t = (((m_time_of_day.get() + 24000/d/2)%24000)/(24000/d)); + s32 dn = 0; + if(t == d/4 || t == (d-d/4)) + dn = 1; + else if(t < d/4 || t > (d-d/4)) + dn = 2; + else + dn = 0; + + u32 dr = 1000; + if(dn == 0) + dr = 1000; + if(dn == 1) + dr = 600; + if(dn == 2) + dr = 300; + + if(dr != m_env.getDayNightRatio()) { - //dstream<<"m_time="<