Optimize function name search for all modules not only uo by using an additional map, replaced c array with vector for functionsdef.
Simplified pragma pack order. (MSVC version is supported in all
compilers)
Removed compilerassert.h (asserteql,..) replaced with static_assert
Removed some old #ifs
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
- obj.isLesserThan() and obj.ieEqual() are now replaced by < and ==
- Removed obsolete isLT(), isLE(), isGT(), isGE()
- Also implemented comparison operators for BObjectImp
- These operators may now be fully overriden in child classes
- Default implementations are derived from == and < operators
- As a general rule (that fit into "undefined" behavior":
-- Objects are == if having the same address
-- Objects are < based on their type ID, except of Error and Uninit
that always are < everything else.
-- Objects are supposed to implement their own < and fall back to
base class. If not implemented, as a last fallback, the object's
address in memory is used to do the comparison
- Added test case for comparison operators
Ignored a return in Math::Abs(), fixed unchecked return for flags in
Npc::TurnToward().
Two others in the packet object: SetUnicodeString() and
SetUnicodeStringFlipped(), neither was checking if the conversion from
array to UC was working.