mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-24 13:11:33 +00:00
- fixed: DScroller did not initialize m_LastHeight in all situations. This caused a problem with the serializer because RapidJSON aborts the write of a floating point value if it is invalid.
- ensure that floats are always written out. If the actual value causes an error (i.e. INF or NaN), write a 0 to guarantee proper formatting.
This commit is contained in:
parent
676d2365e1
commit
2d5061e81f
2 changed files with 10 additions and 2 deletions
|
@ -259,6 +259,7 @@ DScroller::DScroller (EScroll type, double dx, double dy,
|
||||||
m_Accel = accel;
|
m_Accel = accel;
|
||||||
m_Parts = scrollpos;
|
m_Parts = scrollpos;
|
||||||
m_vdx = m_vdy = 0;
|
m_vdx = m_vdy = 0;
|
||||||
|
m_LastHeight = 0;
|
||||||
if ((m_Control = control) != -1)
|
if ((m_Control = control) != -1)
|
||||||
m_LastHeight =
|
m_LastHeight =
|
||||||
sectors[control].CenterFloor () + sectors[control].CenterCeiling ();
|
sectors[control].CenterFloor () + sectors[control].CenterCeiling ();
|
||||||
|
@ -342,6 +343,7 @@ DScroller::DScroller (double dx, double dy, const line_t *l,
|
||||||
m_vdx = m_vdy = 0;
|
m_vdx = m_vdy = 0;
|
||||||
m_Accel = accel;
|
m_Accel = accel;
|
||||||
m_Parts = scrollpos;
|
m_Parts = scrollpos;
|
||||||
|
m_LastHeight = 0;
|
||||||
if ((m_Control = control) != -1)
|
if ((m_Control = control) != -1)
|
||||||
m_LastHeight = sectors[control].CenterFloor() + sectors[control].CenterCeiling();
|
m_LastHeight = sectors[control].CenterFloor() + sectors[control].CenterCeiling();
|
||||||
m_Affectee = int(l->sidedef[0] - sides);
|
m_Affectee = int(l->sidedef[0] - sides);
|
||||||
|
|
|
@ -215,8 +215,14 @@ struct FWriter
|
||||||
|
|
||||||
void Double(double k)
|
void Double(double k)
|
||||||
{
|
{
|
||||||
if (mWriter1) mWriter1->Double(k);
|
if (mWriter1)
|
||||||
else if (mWriter2) mWriter2->Double(k);
|
{
|
||||||
|
if (!mWriter1->Double(k)) mWriter1->Double(0);
|
||||||
|
}
|
||||||
|
else if (mWriter2)
|
||||||
|
{
|
||||||
|
if (!mWriter2->Double(k)) mWriter2->Double(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue