Added the skeleton of the cLightingThread object
git-svn-id: http://mc-server.googlecode.com/svn/trunk@286 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
114
source/LightingThread.cpp
Normal file
114
source/LightingThread.cpp
Normal file
@@ -0,0 +1,114 @@
|
||||
|
||||
// LightingThread.cpp
|
||||
|
||||
// Implements the cLightingThread class representing the thread that processes requests for lighting
|
||||
|
||||
#include "Globals.h"
|
||||
#include "LightingThread.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// cLightingThread:
|
||||
|
||||
cLightingThread::cLightingThread(void) :
|
||||
super("cLightingThread")
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cLightingThread::~cLightingThread()
|
||||
{
|
||||
Stop();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLightingThread::Stop(void)
|
||||
{
|
||||
{
|
||||
cCSLock Lock(m_CS);
|
||||
for (cLightingBufferQueue::iterator itr = m_Queue.begin(); itr != m_Queue.end(); ++itr)
|
||||
{
|
||||
delete *itr;
|
||||
} // for itr - m_Queue[]
|
||||
}
|
||||
mShouldTerminate = true;
|
||||
m_Event.Set();
|
||||
|
||||
Wait();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLightingThread::QueueLighting(cWorld * a_World, int a_MinX, int a_MaxX, int a_MinY, int a_MaxY, int a_MinZ, int a_MaxZ)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLightingThread::Execute(void)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// cLightingThread::cLightingBuffer:
|
||||
|
||||
cLightingThread::cLightingBuffer::cLightingBuffer(int a_MinX, int a_MaxX, int a_MinY, int a_MaxY, int a_MinZ, int a_MaxZ) :
|
||||
m_MinX(a_MinX),
|
||||
m_MaxX(a_MaxX),
|
||||
m_MinY(a_MinY),
|
||||
m_MaxY(a_MaxY),
|
||||
m_MinZ(a_MinZ),
|
||||
m_MaxZ(a_MaxZ)
|
||||
{
|
||||
// TODO: initialize strides
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLightingThread::cLightingBuffer::GetFromWorld(cWorld * a_World)
|
||||
{
|
||||
// TODO: Set m_BlockData, m_SkyLight and m_BlockLight from the world's chunks
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLightingThread::cLightingBuffer::SetToWorld (cWorld * a_World)
|
||||
{
|
||||
// TODO: Set world's chunks from m_BlockData, m_SkyLight and m_BlockLight
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLightingThread::cLightingBuffer::Process(void)
|
||||
{
|
||||
// TODO: Does the actual lighting on this buffer
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user