| @@ -15,13 +15,13 @@ liblol_a_SOURCES = \ | |||
| worldentity.cpp worldentity.h gradient.cpp gradient.h gradient.lolfx \ | |||
| platform.cpp platform.h sprite.cpp sprite.h camera.cpp camera.h \ | |||
| \ | |||
| lol/base/types.h lol/base/array.h lol/base/string.h lol/base/hash.h \ | |||
| lol/base/map.h \ | |||
| lol/base/log.h lol/base/array.h lol/base/types.h lol/base/array.h \ | |||
| lol/base/string.h lol/base/hash.h lol/base/map.h \ | |||
| lol/math/vector.h lol/math/half.h lol/math/real.h lol/math/remez.h \ | |||
| lol/math/math.h lol/math/geometry.h \ | |||
| lol/sys/init.h lol/sys/log.h lol/sys/thread.h lol/sys/timer.h \ | |||
| lol/sys/init.h lol/sys/thread.h lol/sys/timer.h \ | |||
| lol/image/color.h \ | |||
| lol/unit.h lol/debug.h \ | |||
| lol/unit.h \ | |||
| \ | |||
| generated/location.hh generated/position.hh generated/stack.hh \ | |||
| \ | |||
| @@ -42,7 +42,7 @@ liblol_a_SOURCES = \ | |||
| $(d3d9_sources) \ | |||
| $(android_sources) \ | |||
| \ | |||
| base/hash.cpp base/string.cpp \ | |||
| base/hash.cpp base/log.cpp base/string.cpp \ | |||
| \ | |||
| math/vector.cpp math/real.cpp math/half.cpp math/trig.cpp \ | |||
| math/geometry.cpp \ | |||
| @@ -69,7 +69,7 @@ liblol_a_SOURCES = \ | |||
| \ | |||
| mesh/mesh.cpp mesh/mesh.h \ | |||
| \ | |||
| sys/init.cpp sys/log.cpp sys/timer.cpp \ | |||
| sys/init.cpp sys/timer.cpp \ | |||
| sys/threadbase.h \ | |||
| \ | |||
| image/image.cpp image/image.h image/image-private.h \ | |||
| @@ -74,9 +74,9 @@ static inline int isnan(float f) | |||
| #endif | |||
| // Base types | |||
| #include <lol/debug.h> | |||
| #include <lol/base/types.h> | |||
| #include <lol/base/log.h> | |||
| #include <lol/base/assert.h> | |||
| #include <lol/base/array.h> | |||
| #include <lol/base/string.h> | |||
| #include <lol/base/hash.h> | |||
| @@ -89,7 +89,6 @@ static inline int isnan(float f) | |||
| #include <lol/math/geometry.h> | |||
| #include <lol/sys/init.h> | |||
| #include <lol/sys/log.h> | |||
| #include <lol/sys/thread.h> | |||
| #include <lol/sys/timer.h> | |||
| @@ -0,0 +1,78 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||
| // This program is free software; you can redistribute it and/or | |||
| // modify it under the terms of the Do What The Fuck You Want To | |||
| // Public License, Version 2, as published by Sam Hocevar. See | |||
| // http://www.wtfpl.net/ for more details. | |||
| // | |||
| #if !defined __LOL_BASE_ASSERT_H__ | |||
| #define __LOL_BASE_ASSERT_H__ | |||
| #include <cstdlib> | |||
| namespace lol | |||
| { | |||
| static inline void Abort() | |||
| { | |||
| #if defined __CELLOS_LV2__ | |||
| *(uint32_t *)NULL = 0xdead; | |||
| #else | |||
| std::abort(); | |||
| #endif | |||
| } | |||
| #define LOL_CALL(macro, args) macro args | |||
| #define LOL_EVAL(a) a | |||
| #define LOL_1ST(a, ...) a | |||
| #define LOL_NUM2(a01, a02, a03, a04, a05, a06, a07, a08, a09, a10, \ | |||
| a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, \ | |||
| a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, \ | |||
| a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, \ | |||
| a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, \ | |||
| a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, \ | |||
| a61, a62, a63, ...) a63 | |||
| #define LOL_NUM(...) \ | |||
| LOL_EVAL(LOL_NUM2(__VA_ARGS__, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \ | |||
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \ | |||
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \ | |||
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \ | |||
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \ | |||
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, \ | |||
| 2, 1, TOO_MANY_ARGUMENTS)) | |||
| /* Three levels of dispatch are needed because of Visual Studio's bizarre | |||
| * handling of __VA_ARGS__ inside macro calls */ | |||
| #define LOL_CAT3(a, b) a##b | |||
| #define LOL_CAT2(a, b) LOL_CAT3(a,b) | |||
| #define LOL_CAT(a, b) LOL_CAT2(a,b) | |||
| #define LOL_ERROR_1(t) \ | |||
| Log::Error("assertion failure: " #t "\n") | |||
| #define LOL_ERROR_2(t, s) \ | |||
| Log::Error("assertion failure: %s\n", s) | |||
| #define LOL_ERROR_3(t, s, ...) \ | |||
| Log::Error("assertion failure: " s "\n", __VA_ARGS__) | |||
| #if FINAL_RELEASE | |||
| # define ASSERT(...) (void)sizeof(LOL_CALL(LOL_1ST, (__VA_ARGS__))) | |||
| #else | |||
| # define ASSERT(...) \ | |||
| if (!(LOL_CALL(LOL_1ST, (__VA_ARGS__)))) \ | |||
| { \ | |||
| LOL_CALL(LOL_CAT(LOL_ERROR_, LOL_CALL(LOL_NUM, (__VA_ARGS__))), \ | |||
| (__VA_ARGS__)); \ | |||
| Abort(); \ | |||
| } | |||
| #endif | |||
| } /* namespace lol */ | |||
| #endif // __LOL_BASE_ASSERT_H__ | |||
| @@ -14,8 +14,8 @@ | |||
| // The central logging system. | |||
| // | |||
| #if !defined __LOL_SYS_LOG_H__ | |||
| #define __LOL_SYS_LOG_H__ | |||
| #if !defined __LOL_BASE_LOG_H__ | |||
| #define __LOL_BASE_LOG_H__ | |||
| #include <stdint.h> | |||
| #include <cstdarg> | |||
| @@ -51,5 +51,5 @@ private: | |||
| } /* namespace lol */ | |||
| #endif // __LOL_SYS_LOG_H__ | |||
| #endif // __LOL_BASE_LOG_H__ | |||
| @@ -1,36 +0,0 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||
| // This program is free software; you can redistribute it and/or | |||
| // modify it under the terms of the Do What The Fuck You Want To | |||
| // Public License, Version 2, as published by Sam Hocevar. See | |||
| // http://www.wtfpl.net/ for more details. | |||
| // | |||
| // | |||
| // Debug utilities | |||
| // --------------- | |||
| // | |||
| #if !defined __LOL_DEBUG_H__ | |||
| #define __LOL_DEBUG_H__ | |||
| #include <cstdlib> | |||
| namespace lol | |||
| { | |||
| static inline void Abort() | |||
| { | |||
| #if defined __CELLOS_LV2__ | |||
| *(uint32_t *)NULL = 0; | |||
| #else | |||
| std::abort(); | |||
| #endif | |||
| } | |||
| } /* namespace lol */ | |||
| #endif // __LOL_DEBUG_H__ | |||
| @@ -235,6 +235,7 @@ | |||
| <ClCompile Include="bullet\LinearMath\btSerializer.cpp" /> | |||
| <ClCompile Include="camera.cpp" /> | |||
| <ClCompile Include="base\hash.cpp" /> | |||
| <ClCompile Include="base\log.cpp" /> | |||
| <ClCompile Include="base\string.cpp" /> | |||
| <ClCompile Include="debug\fps.cpp" /> | |||
| <ClCompile Include="debug\record.cpp" /> | |||
| @@ -293,7 +294,6 @@ | |||
| <ClCompile Include="scene.cpp" /> | |||
| <ClCompile Include="sprite.cpp" /> | |||
| <ClCompile Include="sys\init.cpp" /> | |||
| <ClCompile Include="sys\log.cpp" /> | |||
| <ClCompile Include="sys\timer.cpp" /> | |||
| <ClCompile Include="text.cpp" /> | |||
| <ClCompile Include="ticker.cpp" /> | |||
| @@ -586,11 +586,12 @@ | |||
| <ClInclude Include="loldebug.h" /> | |||
| <ClInclude Include="lolgl.h" /> | |||
| <ClInclude Include="lol\base\array.h" /> | |||
| <ClInclude Include="lol\base\assert.h" /> | |||
| <ClInclude Include="lol\base\hash.h" /> | |||
| <ClInclude Include="lol\base\log.h" /> | |||
| <ClInclude Include="lol\base\map.h" /> | |||
| <ClInclude Include="lol\base\string.h" /> | |||
| <ClInclude Include="lol\base\types.h" /> | |||
| <ClInclude Include="lol\debug.h" /> | |||
| <ClInclude Include="lol\image\color.h" /> | |||
| <ClInclude Include="lol\math\geometry.h" /> | |||
| <ClInclude Include="lol\math\half.h" /> | |||
| @@ -599,7 +600,6 @@ | |||
| <ClInclude Include="lol\math\remez.h" /> | |||
| <ClInclude Include="lol\math\vector.h" /> | |||
| <ClInclude Include="lol\sys\init.h" /> | |||
| <ClInclude Include="lol\sys\log.h" /> | |||
| <ClInclude Include="lol\sys\thread.h" /> | |||
| <ClInclude Include="lol\sys\timer.h" /> | |||
| <ClInclude Include="lol\unit.h" /> | |||
| @@ -731,9 +731,6 @@ | |||
| <ClInclude Include="gpu\indexbuffer.h"> | |||
| <Filter>gpu</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="lol\debug.h"> | |||
| <Filter>lol</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="input\input.h"> | |||
| <Filter>input</Filter> | |||
| </ClInclude> | |||
| @@ -1613,6 +1610,9 @@ | |||
| <ClInclude Include="lol\base\array.h"> | |||
| <Filter>lol\base</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="lol\base\assert.h"> | |||
| <Filter>lol\base</Filter> | |||
| </ClInclude> | |||
| <ClInclude Include="lol\base\hash.h"> | |||
| <Filter>lol\base</Filter> | |||
| </ClInclude> | |||