- Pickups should now burn in fire
- The player no longer gets an empty bucket when in creative mode - improved the simulators again (moved to std::list because this should be faster with so many objects) (But the water simulation still is very slow) git-svn-id: http://mc-server.googlecode.com/svn/trunk@153 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
@@ -7,8 +7,8 @@
|
||||
|
||||
cSandSimulator::cSandSimulator( cWorld* a_World )
|
||||
: cSimulator(a_World)
|
||||
, m_Blocks(new std::vector <Vector3i *>)
|
||||
, m_Buffer(new std::vector <Vector3i *>)
|
||||
, m_Blocks(new std::list <Vector3i *>)
|
||||
, m_Buffer(new std::list <Vector3i *>)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -24,7 +24,7 @@ void cSandSimulator::Simulate( float a_Dt )
|
||||
m_Buffer->clear();
|
||||
std::swap( m_Blocks, m_Buffer );
|
||||
|
||||
for( std::vector<Vector3i *>::iterator itr = m_Buffer->begin(); itr != m_Buffer->end(); ++itr )
|
||||
for( std::list<Vector3i *>::iterator itr = m_Buffer->begin(); itr != m_Buffer->end(); ++itr )
|
||||
{
|
||||
Vector3i *Pos = *itr;
|
||||
char BlockID = m_World->GetBlock(Pos->x, Pos->y, Pos->z);
|
||||
@@ -57,7 +57,7 @@ void cSandSimulator::AddBlock(int a_X, int a_Y, int a_Z)
|
||||
Vector3i *Block = new Vector3i(a_X, a_Y, a_Z);
|
||||
|
||||
//check for duplicates
|
||||
for( std::vector<Vector3i *>::iterator itr = m_Blocks->begin(); itr != m_Blocks->end(); ++itr )
|
||||
for( std::list<Vector3i *>::iterator itr = m_Blocks->begin(); itr != m_Blocks->end(); ++itr )
|
||||
{
|
||||
Vector3i *Pos = *itr;
|
||||
if( Pos->x == a_X && Pos->y == a_Y && Pos->z == a_Z )
|
||||
|
||||
Reference in New Issue
Block a user