Fix Condition bugs
This commit is contained in:
parent
6f7360ef2b
commit
310ba43d1c
@ -202,8 +202,7 @@ template <condition cond> inline bool CondBitCheck(condition_data_s &data)
|
||||
}
|
||||
if (cond < 32)
|
||||
{
|
||||
if (data.cond_0)
|
||||
return data.cond_0 & (1u << (cond));
|
||||
return data.cond_0 & (1u << (cond));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -231,20 +230,19 @@ template <condition cond, bool state> inline void CondBitSet(condition_data_s &d
|
||||
{
|
||||
if (cond > 32 * 3)
|
||||
{
|
||||
data.cond_3 |= (1 << (cond % 32));
|
||||
data.cond_3 |= (1u << (cond % 32));
|
||||
}
|
||||
else if (cond > 32 * 2)
|
||||
{
|
||||
data.cond_2 |= (1 << (cond % 32));
|
||||
data.cond_2 |= (1u << (cond % 32));
|
||||
}
|
||||
else if (cond > 32 * 1)
|
||||
{
|
||||
data.cond_1 |= (1 << (cond % 32));
|
||||
data.cond_1 |= (1u << (cond % 32));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.cond_0)
|
||||
data.cond_0 |= (1 << (cond));
|
||||
data.cond_0 |= (1u << (cond));
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -263,8 +261,7 @@ template <condition cond, bool state> inline void CondBitSet(condition_data_s &d
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.cond_0)
|
||||
data.cond_0 &= ~(1u << (cond));
|
||||
data.cond_0 &= ~(1u << (cond));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public:
|
||||
CachedEntity *owner_ce = ENTITY(owner->entindex());
|
||||
if (HasCondition<TFCond_Charging>(owner_ce))
|
||||
{
|
||||
RemoveCondition<TFCond_Charging>(owner_ce);
|
||||
CondBitSet<TFCond_Charging, false>(CE_VAR(owner_ce, netvar.iCond, condition_data_s));
|
||||
add_charging = true;
|
||||
}
|
||||
}
|
||||
@ -41,7 +41,7 @@ public:
|
||||
if (add_charging)
|
||||
{
|
||||
CachedEntity *owner_ce = ENTITY(owner->entindex());
|
||||
AddCondition<TFCond_Charging>(owner_ce);
|
||||
CondBitSet<TFCond_Charging, true>(CE_VAR(owner_ce, netvar.iCond, condition_data_s));
|
||||
}
|
||||
return return_value;
|
||||
}
|
||||
|
Reference in New Issue
Block a user