1
0

Fixed warning in cFireSimulator.

All code paths now have a return value.
This commit is contained in:
madmaxoft 2013-10-09 09:09:47 +02:00
parent 06c8217b65
commit 36f24e30b7

View File

@ -221,6 +221,7 @@ void cFireSimulator::AddBlock(int a_BlockX, int a_BlockY, int a_BlockZ, cChunk *
int cFireSimulator::GetBurnStepTime(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) int cFireSimulator::GetBurnStepTime(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ)
{ {
bool IsBlockBelowSolid = false;
if (a_RelY > 0) if (a_RelY > 0)
{ {
BLOCKTYPE BlockBelow = a_Chunk->GetBlock(a_RelX, a_RelY - 1, a_RelZ); BLOCKTYPE BlockBelow = a_Chunk->GetBlock(a_RelX, a_RelY - 1, a_RelZ);
@ -233,6 +234,7 @@ int cFireSimulator::GetBurnStepTime(cChunk * a_Chunk, int a_RelX, int a_RelY, in
{ {
return m_BurnStepTimeFuel; return m_BurnStepTimeFuel;
} }
IsBlockBelowSolid = g_BlockIsSolid[BlockBelow];
} }
for (int i = 0; i < ARRAYCOUNT(gCrossCoords); i++) for (int i = 0; i < ARRAYCOUNT(gCrossCoords); i++)
@ -248,22 +250,15 @@ int cFireSimulator::GetBurnStepTime(cChunk * a_Chunk, int a_RelX, int a_RelY, in
} }
} // for i - gCrossCoords[] } // for i - gCrossCoords[]
if ((a_RelY > 0) && (a_RelY < cChunkDef::Height - 1)) if (!IsBlockBelowSolid && (a_RelY >= 0))
{ {
// Checked through everything, nothing was flammable // Checked through everything, nothing was flammable
// If block below isn't solid, we can't have fire, otherwise, we have non-fueled fire // If block below isn't solid, we can't have fire, it would be a non-fueled fire
BLOCKTYPE BlockBelow = a_Chunk->GetBlock(a_RelX, a_RelY - 1, a_RelZ); // SetBlock just to make sure fire doesn't spawn
if (g_BlockIsSolid[BlockBelow]) a_Chunk->SetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_AIR, 0);
{ return 0;
return m_BurnStepTimeNonfuel;
}
else
{
// SetBlock just to make sure fire doesn't spawn
a_Chunk->SetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_AIR, 0);
return 0;
}
} }
return m_BurnStepTimeNonfuel;
} }