예제 #1
0
std::string FloatFormat::intervalToHex (const Interval& interval) const
{
	if (interval.empty())
		return interval.hasNaN() ? "{ NaN }" : "{}";

	else if (interval.lo() == interval.hi())
		return (std::string(interval.hasNaN() ? "{ NaN, " : "{ ") +
				floatToHex(interval.lo()) + " }");
	else if (interval == Interval::unbounded(true))
		return "<any>";

	return (std::string(interval.hasNaN() ? "{ NaN } | " : "") +
			"[" + floatToHex(interval.lo()) + ", " + floatToHex(interval.hi()) + "]");
}
예제 #2
0
파일: Car.cpp 프로젝트: genail/gear
void Car::serialize(CL_NetGameEvent *p_event) const
{
	// save iteration counter
	p_event->add_argument(m_impl->m_iterId);

	// save inputs
	p_event->add_argument(CL_NetGameEventValue(m_impl->m_inputState.accel));
	p_event->add_argument(CL_NetGameEventValue(m_impl->m_inputState.brake));
	p_event->add_argument(floatToHex(m_impl->m_inputState.turn));
	p_event->add_argument(CL_NetGameEventValue(m_impl->m_inputLocked));

	// corpse state
	p_event->add_argument(floatToHex(m_impl->m_position.x));
	p_event->add_argument(floatToHex(m_impl->m_position.y));
	p_event->add_argument(floatToHex(m_impl->m_rotation.to_radians()));
	p_event->add_argument(floatToHex(m_impl->m_speed));

	// physics parameters
	p_event->add_argument(floatToHex(m_impl->m_phyMoveRot.to_radians()));
	p_event->add_argument(floatToHex(m_impl->m_phyMoveVec.x));
	p_event->add_argument(floatToHex(m_impl->m_phyMoveVec.y));
	p_event->add_argument(floatToHex(m_impl->m_phySpeedDelta));
	p_event->add_argument(floatToHex(m_impl->m_phyWheelsTurn));

	p_event->add_argument(floatToHex(m_impl->m_damage));
}