diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-08 13:36:54 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-08 13:36:54 +0100 |
commit | 32880153ab76830311d8a1db3a157cd5ac6e5d9c (patch) | |
tree | c7c77a8c5b6bf86f3f18655e8ec976c30a5c8c15 /source/cWorld.h | |
parent | cSocketThreads plugged in for cClientHandle reading. Sending still kept the old way. Please help me test this commit thoroughly, this is a change that can break on subtleties. (diff) | |
download | cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.tar cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.tar.gz cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.tar.bz2 cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.tar.lz cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.tar.xz cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.tar.zst cuberite-32880153ab76830311d8a1db3a157cd5ac6e5d9c.zip |
Diffstat (limited to 'source/cWorld.h')
-rw-r--r-- | source/cWorld.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/source/cWorld.h b/source/cWorld.h index c5d036141..e81d3e1df 100644 --- a/source/cWorld.h +++ b/source/cWorld.h @@ -1,3 +1,4 @@ +
#pragma once
#ifndef _WIN32
@@ -10,6 +11,7 @@ enum ENUM_ITEM_ID; #include "cSimulatorManager.h"
#include "ptr_cChunk.h"
+#include "MersenneTwister.h"
@@ -23,7 +25,6 @@ class cLavaSimulator; class cSandSimulator;
class cChunkMap;
class cItem;
-class cCriticalSection;
class cPlayer;
class cClientHandle;
class cChunk;
@@ -159,17 +160,19 @@ public: int GetWeather() { return m_Weather; }; //tolua_export
cWorldGenerator* GetWorldGenerator() { return m_WorldGenerator; }
+
private:
+
friend class cRoot;
+
cWorld( const char* a_WorldName );
~cWorld();
struct sWorldState;
sWorldState* m_pState;
-
- void AddToRemoveEntityQueue( cEntity & a_Entity );
- void RemoveEntity( cEntity* a_Entity );
- void UnloadUnusedChunks();
+
+ // This random generator is to be used only in the Tick() method, and thus only in the World-Tick-thread (MTRand is not exactly thread-safe)
+ MTRand m_TickRand;
double m_SpawnX;
double m_SpawnY;
@@ -206,4 +209,15 @@ private: unsigned int m_WorldSeed;
int m_Weather;
+
+ void TickWeather(float a_Dt); // Handles weather each tick
+
+ void AddToRemoveEntityQueue( cEntity & a_Entity );
+ void RemoveEntity( cEntity* a_Entity );
+ void UnloadUnusedChunks();
+
}; //tolua_export
+
+
+
+
|