summaryrefslogtreecommitdiffstats
path: root/source/World.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2013-10-30 23:25:51 +0100
committerMattes D <github@xoft.cz>2013-10-30 23:25:51 +0100
commit8b9d3c77228b139d5b5a146e0f1aa242e3066903 (patch)
tree6733363192eb368c335e9aa18fd0df2ab4a266b7 /source/World.cpp
parentAdded 1.7 to protocol recognizer. (diff)
parentLast of the nitpicker note fixes. Added some inline commenting. (diff)
downloadcuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.tar
cuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.tar.gz
cuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.tar.bz2
cuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.tar.lz
cuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.tar.xz
cuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.tar.zst
cuberite-8b9d3c77228b139d5b5a146e0f1aa242e3066903.zip
Diffstat (limited to 'source/World.cpp')
-rw-r--r--source/World.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/source/World.cpp b/source/World.cpp
index 786d97a4d..ad34dc6a5 100644
--- a/source/World.cpp
+++ b/source/World.cpp
@@ -229,7 +229,8 @@ cWorld::cWorld(const AString & a_WorldName) :
m_RSList(0),
m_Weather(eWeather_Sunny),
m_WeatherInterval(24000), // Guaranteed 1 day of sunshine at server start :)
- m_TickThread(*this)
+ m_TickThread(*this),
+ m_SkyDarkness(0)
{
LOGD("cWorld::cWorld(\"%s\")", a_WorldName.c_str());
@@ -608,6 +609,9 @@ void cWorld::Tick(float a_Dt)
m_WorldAge = (Int64)(m_WorldAgeSecs * 20.0);
m_TimeOfDay = (Int64)(m_TimeOfDaySecs * 20.0);
+ // Updates the sky darkness based on current time of day
+ UpdateSkyDarkness();
+
// Broadcast time update every 40 ticks (2 seconds)
if (m_LastTimeUpdate < m_WorldAge - 40)
{
@@ -2676,3 +2680,30 @@ void cWorld::cTaskSaveAllChunks::Run(cWorld & a_World)
+
+#define TIME_SUNSET 12000
+#define TIME_NIGHT_START 13187
+#define TIME_NIGHT_END 22812
+#define TIME_SUNRISE 23999
+#define TIME_SPAWN_DIVIZOR 148
+
+
+
+
+
+void cWorld::UpdateSkyDarkness()
+{
+ int TempTime = m_TimeOfDay;
+ if (TempTime <= TIME_SUNSET)
+ m_SkyDarkness = 0;
+ else if (TempTime <= TIME_NIGHT_START)
+ m_SkyDarkness = (TIME_NIGHT_START - TempTime)/TIME_SPAWN_DIVIZOR;
+ else if (TempTime <= TIME_NIGHT_END)
+ m_SkyDarkness = 8;
+ else
+ m_SkyDarkness = (TIME_SUNRISE - TempTime)/TIME_SPAWN_DIVIZOR;
+}
+
+
+
+