Files
isle/LEGO1/lego/sources/misc/legoutil.h
MS d663e26321 Use MxGeometry header (#1399)
* Use MxGeometry header

* Fix comment

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-03-11 21:13:13 -04:00

63 lines
895 B
C++

#ifndef __LEGOUTIL_H
#define __LEGOUTIL_H
// Exclude from modern compilers due to clash with mxutilities.h
#ifndef COMPAT_MODE
template <class T>
inline T Min(T p_t1, T p_t2)
{
return p_t1 < p_t2 ? p_t1 : p_t2;
}
template <class T>
inline T Min(T p_t1, T p_t2, T p_t3)
{
return Min(p_t1, Min(p_t2, p_t3));
}
template <class T>
inline T Max(T p_t1, T p_t2)
{
return p_t1 > p_t2 ? p_t1 : p_t2;
}
template <class T>
inline T Max(T p_t1, T p_t2, T p_t3)
{
return Max(p_t1, Max(p_t2, p_t3));
}
template <class T>
inline T Abs(T p_t)
{
return p_t < 0 ? -p_t : p_t;
}
#endif
template <class T>
inline void Swap(T& p_t1, T& p_t2)
{
T t = p_t1;
p_t1 = p_t2;
p_t2 = t;
}
// TEMPLATE: BETA10 0x10073c20
// Swap
template <class T>
inline T DToR(T p_d)
{
return p_d * 3.1416F / 180.0F;
}
template <class T>
inline T RToD(T p_r)
{
return p_r * 180.0F / 3.1416F;
}
#endif // __LEGOUTIL_H