1
0

- 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:
lapayo94@gmail.com
2011-12-29 02:44:21 +00:00
parent f5466a4cb3
commit 2ca40c819e
5 changed files with 33 additions and 20 deletions

View File

@@ -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 )