forked from Mirrorlandia_minetest/minetest
Move f1000 sanitizing to the places that still use this type
This commit is contained in:
parent
b204655081
commit
137eef6590
@ -141,7 +141,6 @@ public:
|
|||||||
|
|
||||||
void setSpeed(v3f speed)
|
void setSpeed(v3f speed)
|
||||||
{
|
{
|
||||||
clampToF1000(speed);
|
|
||||||
m_speed = speed;
|
m_speed = speed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ void LuaEntitySAO::getStaticData(std::string *result) const
|
|||||||
os<<serializeString32(m_init_state);
|
os<<serializeString32(m_init_state);
|
||||||
}
|
}
|
||||||
writeU16(os, m_hp);
|
writeU16(os, m_hp);
|
||||||
writeV3F1000(os, m_velocity);
|
writeV3F1000(os, clampToF1000(m_velocity));
|
||||||
// yaw
|
// yaw
|
||||||
writeF1000(os, m_rotation.Y);
|
writeF1000(os, m_rotation.Y);
|
||||||
|
|
||||||
|
@ -321,12 +321,6 @@ std::string PlayerSAO::generateUpdatePhysicsOverrideCommand() const
|
|||||||
|
|
||||||
void PlayerSAO::setBasePosition(v3f position)
|
void PlayerSAO::setBasePosition(v3f position)
|
||||||
{
|
{
|
||||||
// It's not entirely clear which parts of the network protocol still use
|
|
||||||
// v3f1000, but the script API enforces its bound on all float vectors
|
|
||||||
// (maybe it shouldn't?). For that reason we need to make sure the position
|
|
||||||
// isn't ever set to values that fail this restriction.
|
|
||||||
clampToF1000(position);
|
|
||||||
|
|
||||||
if (m_player && position != m_base_position)
|
if (m_player && position != m_base_position)
|
||||||
m_player->setDirty(true);
|
m_player->setDirty(true);
|
||||||
|
|
||||||
|
@ -28,12 +28,12 @@ StaticObject::StaticObject(const ServerActiveObject *s_obj, const v3f &pos_):
|
|||||||
s_obj->getStaticData(&data);
|
s_obj->getStaticData(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StaticObject::serialize(std::ostream &os)
|
void StaticObject::serialize(std::ostream &os) const
|
||||||
{
|
{
|
||||||
// type
|
// type
|
||||||
writeU8(os, type);
|
writeU8(os, type);
|
||||||
// pos
|
// pos
|
||||||
writeV3F1000(os, pos);
|
writeV3F1000(os, clampToF1000(pos));
|
||||||
// data
|
// data
|
||||||
os<<serializeString16(data);
|
os<<serializeString16(data);
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ struct StaticObject
|
|||||||
StaticObject() = default;
|
StaticObject() = default;
|
||||||
StaticObject(const ServerActiveObject *s_obj, const v3f &pos_);
|
StaticObject(const ServerActiveObject *s_obj, const v3f &pos_);
|
||||||
|
|
||||||
void serialize(std::ostream &os);
|
void serialize(std::ostream &os) const;
|
||||||
void deSerialize(std::istream &is, u8 version);
|
void deSerialize(std::istream &is, u8 version);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -439,16 +439,14 @@ MAKE_STREAM_WRITE_FXN(video::SColor, ARGB8, 4);
|
|||||||
//// More serialization stuff
|
//// More serialization stuff
|
||||||
////
|
////
|
||||||
|
|
||||||
inline void clampToF1000(float &v)
|
inline float clampToF1000(float v)
|
||||||
{
|
{
|
||||||
v = core::clamp(v, F1000_MIN, F1000_MAX);
|
return core::clamp(v, F1000_MIN, F1000_MAX);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void clampToF1000(v3f &v)
|
inline v3f clampToF1000(v3f v)
|
||||||
{
|
{
|
||||||
clampToF1000(v.X);
|
return {clampToF1000(v.X), clampToF1000(v.Y), clampToF1000(v.Z)};
|
||||||
clampToF1000(v.Y);
|
|
||||||
clampToF1000(v.Z);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a string with the length as the first two bytes
|
// Creates a string with the length as the first two bytes
|
||||||
|
Loading…
Reference in New Issue
Block a user