Merge pull request #1977 from mc-server/warnings
Warnings and logic fixes
This commit is contained in:
commit
1cb1347c53
@ -979,6 +979,18 @@ void cLuaState::GetStackValue(int a_StackPos, double & a_ReturnedVal)
|
||||
|
||||
|
||||
|
||||
void cLuaState::GetStackValue(int a_StackPos, float & a_ReturnedVal)
|
||||
{
|
||||
if (lua_isnumber(m_LuaState, a_StackPos))
|
||||
{
|
||||
a_ReturnedVal = static_cast<float>(tolua_tonumber(m_LuaState, a_StackPos, a_ReturnedVal));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLuaState::GetStackValue(int a_StackPos, eWeather & a_ReturnedVal)
|
||||
{
|
||||
if (!lua_isnumber(m_LuaState, a_StackPos))
|
||||
@ -1415,7 +1427,7 @@ bool cLuaState::CheckParamFunctionOrNil(int a_StartParam, int a_EndParam)
|
||||
bool cLuaState::CheckParamEnd(int a_Param)
|
||||
{
|
||||
tolua_Error tolua_err;
|
||||
if (tolua_isnoobj(m_LuaState, a_Param, &tolua_err))
|
||||
if (tolua_isnoobj(m_LuaState, a_Param, &tolua_err) == 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -1437,7 +1449,7 @@ bool cLuaState::IsParamUserType(int a_Param, AString a_UserType)
|
||||
ASSERT(IsValid());
|
||||
|
||||
tolua_Error tolua_err;
|
||||
return tolua_isusertype(m_LuaState, a_Param, a_UserType.c_str(), 0, &tolua_err);
|
||||
return (tolua_isusertype(m_LuaState, a_Param, a_UserType.c_str(), 0, &tolua_err) == 1);
|
||||
}
|
||||
|
||||
|
||||
@ -1449,7 +1461,7 @@ bool cLuaState::IsParamNumber(int a_Param)
|
||||
ASSERT(IsValid());
|
||||
|
||||
tolua_Error tolua_err;
|
||||
return tolua_isnumber(m_LuaState, a_Param, 0, &tolua_err);
|
||||
return (tolua_isnumber(m_LuaState, a_Param, 0, &tolua_err) == 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -251,6 +251,7 @@ public:
|
||||
void GetStackValue(int a_StackPos, bool & a_Value);
|
||||
void GetStackValue(int a_StackPos, cRef & a_Ref);
|
||||
void GetStackValue(int a_StackPos, double & a_Value);
|
||||
void GetStackValue(int a_StackPos, float & a_ReturnedVal);
|
||||
void GetStackValue(int a_StackPos, eWeather & a_Value);
|
||||
void GetStackValue(int a_StackPos, int & a_Value);
|
||||
void GetStackValue(int a_StackPos, pBlockArea & a_Value);
|
||||
|
@ -2036,8 +2036,8 @@ static int tolua_cWorld_BroadcastParticleEffect(lua_State * tolua_S)
|
||||
// Read the params:
|
||||
cWorld * World = nullptr;
|
||||
AString Name;
|
||||
double PosX, PosY, PosZ, OffX, OffY, OffZ;
|
||||
double ParticleData;
|
||||
float PosX, PosY, PosZ, OffX, OffY, OffZ;
|
||||
float ParticleData;
|
||||
int ParticleAmmount;
|
||||
L.GetStackValues(1, World, Name, PosX, PosY, PosZ, OffX, OffY, OffZ, ParticleData, ParticleAmmount);
|
||||
if (World == nullptr)
|
||||
|
@ -15,7 +15,7 @@ void cBroadcaster::BroadcastParticleEffect(const AString & a_ParticleName, const
|
||||
m_World->DoWithChunkAt(a_Src,
|
||||
[=](cChunk & a_Chunk) -> bool
|
||||
{
|
||||
for (auto&& client : a_Chunk.GetAllClients())
|
||||
for (auto && client : a_Chunk.GetAllClients())
|
||||
{
|
||||
if (client == a_Exclude)
|
||||
{
|
||||
|
@ -1827,7 +1827,7 @@ bool cChunk::SetSignLines(int a_PosX, int a_PosY, int a_PosZ, const AString & a_
|
||||
)
|
||||
{
|
||||
MarkDirty();
|
||||
(reinterpret_cast<cSignEntity *>(*itr))->SetLines(a_Line1, a_Line2, a_Line3, a_Line4);
|
||||
reinterpret_cast<cSignEntity *>(*itr)->SetLines(a_Line1, a_Line2, a_Line3, a_Line4);
|
||||
m_World->BroadcastBlockEntity(a_PosX, a_PosY, a_PosZ);
|
||||
return true;
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ void cMonster::MoveToWayPoint(cChunk & a_Chunk)
|
||||
|
||||
bool cMonster::EnsureProperDestination(cChunk & a_Chunk)
|
||||
{
|
||||
cChunk * Chunk = a_Chunk.GetNeighborChunk(m_FinalDestination.x, m_FinalDestination.z);
|
||||
cChunk * Chunk = a_Chunk.GetNeighborChunk(FloorC(m_FinalDestination.x), FloorC(m_FinalDestination.z));
|
||||
BLOCKTYPE BlockType;
|
||||
NIBBLETYPE BlockMeta;
|
||||
|
||||
@ -270,13 +270,13 @@ bool cMonster::EnsureProperDestination(cChunk & a_Chunk)
|
||||
return false;
|
||||
}
|
||||
|
||||
int RelX = m_FinalDestination.x - Chunk->GetPosX() * cChunkDef::Width;
|
||||
int RelZ = m_FinalDestination.z - Chunk->GetPosZ() * cChunkDef::Width;
|
||||
int RelX = FloorC(m_FinalDestination.x) - Chunk->GetPosX() * cChunkDef::Width;
|
||||
int RelZ = FloorC(m_FinalDestination.z) - Chunk->GetPosZ() * cChunkDef::Width;
|
||||
|
||||
// If destination in the air, go down to the lowest air block.
|
||||
while (m_FinalDestination.y > 0)
|
||||
{
|
||||
Chunk->GetBlockTypeMeta(RelX, m_FinalDestination.y - 1, RelZ, BlockType, BlockMeta);
|
||||
Chunk->GetBlockTypeMeta(RelX, FloorC(m_FinalDestination.y) - 1, RelZ, BlockType, BlockMeta);
|
||||
if (cBlockInfo::IsSolid(BlockType))
|
||||
{
|
||||
break;
|
||||
@ -290,7 +290,7 @@ bool cMonster::EnsureProperDestination(cChunk & a_Chunk)
|
||||
bool InWater = false;
|
||||
while (m_FinalDestination.y < cChunkDef::Height)
|
||||
{
|
||||
Chunk->GetBlockTypeMeta(RelX, m_FinalDestination.y, RelZ, BlockType, BlockMeta);
|
||||
Chunk->GetBlockTypeMeta(RelX, FloorC(m_FinalDestination.y), RelZ, BlockType, BlockMeta);
|
||||
if (BlockType == E_BLOCK_STATIONARY_WATER)
|
||||
{
|
||||
InWater = true;
|
||||
@ -1172,17 +1172,19 @@ void cMonster::HandleDaylightBurning(cChunk & a_Chunk, bool WouldBurn)
|
||||
|
||||
bool cMonster::WouldBurnAt(Vector3d a_Location, cChunk & a_Chunk)
|
||||
{
|
||||
cChunk * Chunk = a_Chunk.GetNeighborChunk(FloorC(m_NextWayPointPosition.x), FloorC(m_NextWayPointPosition.z));
|
||||
cChunk * Chunk = a_Chunk.GetNeighborChunk(FloorC(a_Location.x), FloorC(a_Location.z));
|
||||
if ((Chunk == nullptr) || (!Chunk->IsValid()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
int RelX = FloorC(a_Location.x) - a_Chunk.GetPosX() * cChunkDef::Width;
|
||||
|
||||
int RelX = FloorC(a_Location.x) - Chunk->GetPosX() * cChunkDef::Width;
|
||||
int RelY = FloorC(a_Location.y);
|
||||
int RelZ = FloorC(a_Location.z) - a_Chunk.GetPosZ() * cChunkDef::Width;
|
||||
int RelZ = FloorC(a_Location.z) - Chunk->GetPosZ() * cChunkDef::Width;
|
||||
|
||||
if (
|
||||
(a_Chunk.GetSkyLight(RelX, RelY, RelZ) == 15) && // In the daylight
|
||||
(a_Chunk.GetBlock(RelX, RelY, RelZ) != E_BLOCK_SOULSAND) && // Not on soulsand
|
||||
(Chunk->GetSkyLight(RelX, RelY, RelZ) == 15) && // In the daylight
|
||||
(Chunk->GetBlock(RelX, RelY, RelZ) != E_BLOCK_SOULSAND) && // Not on soulsand
|
||||
(GetWorld()->GetTimeOfDay() < (12000 + 1000)) && // It is nighttime
|
||||
GetWorld()->IsWeatherSunnyAt(POSX_TOINT, POSZ_TOINT) // Not raining
|
||||
)
|
||||
|
@ -56,13 +56,13 @@ int cTracer::SigNum(float a_Num)
|
||||
{
|
||||
if (a_Num < 0.f)
|
||||
{
|
||||
return -1.f;
|
||||
return -1;
|
||||
}
|
||||
if (a_Num > 0.f)
|
||||
{
|
||||
return 1.f;
|
||||
return 1;
|
||||
}
|
||||
return 0.f;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,14 +81,14 @@ public:
|
||||
inline bool HasNonZeroLength(void) const
|
||||
{
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wfloat-equal"
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wfloat-equal"
|
||||
#endif
|
||||
|
||||
return ((x != 0) || (y != 0) || (z != 0));
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -137,14 +137,14 @@ public:
|
||||
// To perform EPS-based comparison, use the EqualsEps() function
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wfloat-equal"
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wfloat-equal"
|
||||
#endif
|
||||
|
||||
return !((x != a_Rhs.x) || (y != a_Rhs.y) || (z != a_Rhs.z));
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user