the String class instead of the stack for logging, and get rid of the old and useless BitField class.legacy
@@ -9,21 +9,19 @@ liblol_a_SOURCES = \ | |||||
core.h tiler.cpp tiler.h dict.cpp dict.h \ | core.h tiler.cpp tiler.h dict.cpp dict.h \ | ||||
audio.cpp audio.h scene.cpp scene.h font.cpp font.h layer.cpp layer.h \ | audio.cpp audio.h scene.cpp scene.h font.cpp font.h layer.cpp layer.h \ | ||||
map.cpp map.h entity.cpp entity.h ticker.cpp ticker.h lolgl.h \ | map.cpp map.h entity.cpp entity.h ticker.cpp ticker.h lolgl.h \ | ||||
tileset.cpp tileset.h forge.cpp forge.h video.cpp video.h log.cpp log.h \ | |||||
timer.cpp timer.h bitfield.h profiler.cpp profiler.h \ | |||||
tileset.cpp tileset.h forge.cpp forge.h video.cpp video.h \ | |||||
world.cpp world.h sample.cpp sample.h sampler.cpp sampler.h \ | world.cpp world.h sample.cpp sample.h sampler.cpp sampler.h \ | ||||
text.cpp text.h emitter.cpp emitter.h numeric.h \ | |||||
profiler.cpp profiler.h text.cpp text.h emitter.cpp emitter.h numeric.h \ | |||||
worldentity.cpp worldentity.h gradient.cpp gradient.h gradient.lolfx \ | worldentity.cpp worldentity.h gradient.cpp gradient.h gradient.lolfx \ | ||||
platform.cpp platform.h sprite.cpp sprite.h camera.cpp camera.h \ | platform.cpp platform.h sprite.cpp sprite.h camera.cpp camera.h \ | ||||
\ | \ | ||||
lol/unit.h lol/debug.h \ | |||||
lol/base/types.h lol/base/array.h lol/base/string.h lol/base/hash.h \ | lol/base/types.h lol/base/array.h lol/base/string.h lol/base/hash.h \ | ||||
lol/base/map.h \ | lol/base/map.h \ | ||||
lol/math/vector.h lol/math/half.h lol/math/real.h lol/math/remez.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/math/math.h lol/math/geometry.h \ | |||||
lol/sys/init.h lol/sys/log.h lol/sys/thread.h lol/sys/timer.h \ | |||||
lol/image/color.h \ | lol/image/color.h \ | ||||
lol/unit.h lol/debug.h \ | |||||
\ | \ | ||||
generated/location.hh generated/position.hh generated/stack.hh \ | generated/location.hh generated/position.hh generated/stack.hh \ | ||||
\ | \ | ||||
@@ -71,8 +69,8 @@ liblol_a_SOURCES = \ | |||||
\ | \ | ||||
mesh/mesh.cpp mesh/mesh.h \ | mesh/mesh.cpp mesh/mesh.h \ | ||||
\ | \ | ||||
sys/init.cpp \ | |||||
sys/threadbase.h sys/thread.h \ | |||||
sys/init.cpp sys/log.cpp sys/timer.cpp \ | |||||
sys/threadbase.h \ | |||||
\ | \ | ||||
image/image.cpp image/image.h image/image-private.h \ | image/image.cpp image/image.h image/image-private.h \ | ||||
image/codec/gdiplus-image.cpp \ | image/codec/gdiplus-image.cpp \ | ||||
@@ -1,55 +0,0 @@ | |||||
// | |||||
// Lol Engine | |||||
// | |||||
// Copyright: (c) 2010-2011 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. | |||||
// | |||||
// | |||||
// The BitField class | |||||
// ------------------ | |||||
// | |||||
#if !defined __LOL_BITFIELD_H__ | |||||
#define __LOL_BITFIELD_H__ | |||||
#include <stdint.h> | |||||
namespace lol | |||||
{ | |||||
template class BitField<unsigned int COUNT> | |||||
{ | |||||
public: | |||||
BitField() | |||||
{ | |||||
memset(bits, 0, sizeof(bits)); | |||||
} | |||||
inline unsigned int IsSet(unsigned int index) | |||||
{ | |||||
return bits[index / 32] & (1 << (index & 31)); | |||||
} | |||||
inline void Set(unsigned int index) | |||||
{ | |||||
bits[index / 32] |= (1 << (index & 31)); | |||||
} | |||||
inline void Unset(unsigned int index) | |||||
{ | |||||
bits[index / 32] &= ~(1 << (index & 31)); | |||||
} | |||||
private: | |||||
uint32_t bits[(COUNT + 31) / 32]; | |||||
}; | |||||
} /* namespace lol */ | |||||
#endif // __LOL_BITFIELD_H__ | |||||
@@ -89,15 +89,15 @@ static inline int isnan(float f) | |||||
#include <lol/math/geometry.h> | #include <lol/math/geometry.h> | ||||
#include <lol/sys/init.h> | #include <lol/sys/init.h> | ||||
#include <lol/sys/log.h> | |||||
#include <lol/sys/thread.h> | #include <lol/sys/thread.h> | ||||
#include <lol/sys/timer.h> | |||||
#include <lol/image/color.h> | #include <lol/image/color.h> | ||||
#include "numeric.h" | #include "numeric.h" | ||||
#include "timer.h" | |||||
// Static classes | // Static classes | ||||
#include "log.h" | |||||
#include "platform.h" | #include "platform.h" | ||||
#include "video.h" | #include "video.h" | ||||
#include "audio.h" | #include "audio.h" | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // 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 | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
@@ -14,8 +14,8 @@ | |||||
// The central logging system. | // The central logging system. | ||||
// | // | ||||
#if !defined __LOL_LOG_H__ | |||||
#define __LOL_LOG_H__ | |||||
#if !defined __LOL_SYS_LOG_H__ | |||||
#define __LOL_SYS_LOG_H__ | |||||
#include <stdint.h> | #include <stdint.h> | ||||
#include <cstdarg> | #include <cstdarg> | ||||
@@ -51,5 +51,5 @@ private: | |||||
} /* namespace lol */ | } /* namespace lol */ | ||||
#endif // __LOL_LOG_H__ | |||||
#endif // __LOL_SYS_LOG_H__ | |||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // 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 | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
@@ -13,8 +13,8 @@ | |||||
// --------------- | // --------------- | ||||
// | // | ||||
#if !defined __LOL_TIMER_H__ | |||||
#define __LOL_TIMER_H__ | |||||
#if !defined __LOL_SYS_TIMER_H__ | |||||
#define __LOL_SYS_TIMER_H__ | |||||
namespace lol | namespace lol | ||||
{ | { | ||||
@@ -37,5 +37,5 @@ private: | |||||
} /* namespace lol */ | } /* namespace lol */ | ||||
#endif // __LOL_TIMER_H__ | |||||
#endif // __LOL_SYS_TIMER_H__ | |||||
@@ -272,7 +272,6 @@ | |||||
<ClCompile Include="input\keyboard.cpp" /> | <ClCompile Include="input\keyboard.cpp" /> | ||||
<ClCompile Include="input\stick.cpp" /> | <ClCompile Include="input\stick.cpp" /> | ||||
<ClCompile Include="layer.cpp" /> | <ClCompile Include="layer.cpp" /> | ||||
<ClCompile Include="log.cpp" /> | |||||
<ClCompile Include="map.cpp" /> | <ClCompile Include="map.cpp" /> | ||||
<ClCompile Include="math\geometry.cpp" /> | <ClCompile Include="math\geometry.cpp" /> | ||||
<ClCompile Include="math\half.cpp" /> | <ClCompile Include="math\half.cpp" /> | ||||
@@ -294,6 +293,8 @@ | |||||
<ClCompile Include="scene.cpp" /> | <ClCompile Include="scene.cpp" /> | ||||
<ClCompile Include="sprite.cpp" /> | <ClCompile Include="sprite.cpp" /> | ||||
<ClCompile Include="sys\init.cpp" /> | <ClCompile Include="sys\init.cpp" /> | ||||
<ClCompile Include="sys\log.cpp" /> | |||||
<ClCompile Include="sys\timer.cpp" /> | |||||
<ClCompile Include="text.cpp" /> | <ClCompile Include="text.cpp" /> | ||||
<ClCompile Include="ticker.cpp" /> | <ClCompile Include="ticker.cpp" /> | ||||
<ClCompile Include="tiler.cpp" /> | <ClCompile Include="tiler.cpp" /> | ||||
@@ -306,7 +307,6 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<ClInclude Include="application\application.h" /> | <ClInclude Include="application\application.h" /> | ||||
<ClInclude Include="audio.h" /> | <ClInclude Include="audio.h" /> | ||||
<ClInclude Include="bitfield.h" /> | |||||
<ClInclude Include="bullet\btBulletCollisionCommon.h" /> | <ClInclude Include="bullet\btBulletCollisionCommon.h" /> | ||||
<ClInclude Include="bullet\btBulletDynamicsCommon.h" /> | <ClInclude Include="bullet\btBulletDynamicsCommon.h" /> | ||||
<ClInclude Include="bullet\Bullet-C-Api.h" /> | <ClInclude Include="bullet\Bullet-C-Api.h" /> | ||||
@@ -584,7 +584,6 @@ | |||||
<ClInclude Include="input\keyboard.h" /> | <ClInclude Include="input\keyboard.h" /> | ||||
<ClInclude Include="input\stick.h" /> | <ClInclude Include="input\stick.h" /> | ||||
<ClInclude Include="layer.h" /> | <ClInclude Include="layer.h" /> | ||||
<ClInclude Include="log.h" /> | |||||
<ClInclude Include="loldebug.h" /> | <ClInclude Include="loldebug.h" /> | ||||
<ClInclude Include="lolgl.h" /> | <ClInclude Include="lolgl.h" /> | ||||
<ClInclude Include="lol\base\array.h" /> | <ClInclude Include="lol\base\array.h" /> | ||||
@@ -601,7 +600,9 @@ | |||||
<ClInclude Include="lol\math\remez.h" /> | <ClInclude Include="lol\math\remez.h" /> | ||||
<ClInclude Include="lol\math\vector.h" /> | <ClInclude Include="lol\math\vector.h" /> | ||||
<ClInclude Include="lol\sys\init.h" /> | <ClInclude Include="lol\sys\init.h" /> | ||||
<ClInclude Include="lol\sys\log.h" /> | |||||
<ClInclude Include="lol\sys\thread.h" /> | <ClInclude Include="lol\sys\thread.h" /> | ||||
<ClInclude Include="lol\sys\timer.h" /> | |||||
<ClInclude Include="lol\unit.h" /> | <ClInclude Include="lol\unit.h" /> | ||||
<ClInclude Include="mesh\mesh.h" /> | <ClInclude Include="mesh\mesh.h" /> | ||||
<ClInclude Include="map.h" /> | <ClInclude Include="map.h" /> | ||||
@@ -192,9 +192,6 @@ | |||||
<ClCompile Include="ticker.cpp"> | <ClCompile Include="ticker.cpp"> | ||||
<Filter>...</Filter> | <Filter>...</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
<ClCompile Include="log.cpp"> | |||||
<Filter>...</Filter> | |||||
</ClCompile> | |||||
<ClCompile Include="map.cpp"> | <ClCompile Include="map.cpp"> | ||||
<Filter>...</Filter> | <Filter>...</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
@@ -752,9 +749,6 @@ | |||||
<ClInclude Include="audio.h"> | <ClInclude Include="audio.h"> | ||||
<Filter>...</Filter> | <Filter>...</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
<ClInclude Include="bitfield.h"> | |||||
<Filter>...</Filter> | |||||
</ClInclude> | |||||
<ClInclude Include="camera.h"> | <ClInclude Include="camera.h"> | ||||
<Filter>...</Filter> | <Filter>...</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
@@ -785,9 +779,6 @@ | |||||
<ClInclude Include="layer.h"> | <ClInclude Include="layer.h"> | ||||
<Filter>...</Filter> | <Filter>...</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
<ClInclude Include="log.h"> | |||||
<Filter>...</Filter> | |||||
</ClInclude> | |||||
<ClInclude Include="loldebug.h"> | <ClInclude Include="loldebug.h"> | ||||
<Filter>...</Filter> | <Filter>...</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
@@ -1675,4 +1666,4 @@ | |||||
<Filter>gpu</Filter> | <Filter>gpu</Filter> | ||||
</None> | </None> | ||||
</ItemGroup> | </ItemGroup> | ||||
</Project> | |||||
</Project> |
@@ -82,11 +82,8 @@ void Log::Helper(MessageType type, char const *fmt, va_list ap) | |||||
ANDROID_LOG_ERROR | ANDROID_LOG_ERROR | ||||
}; | }; | ||||
char buf[4096]; | |||||
vsnprintf(buf, 4095, fmt, ap); | |||||
buf[4095] = '\0'; | |||||
__android_log_print(prio[type], "LOL", "[%d] %s", (int)gettid(), buf); | |||||
String buf = String::Printf(fmt, ap); | |||||
__android_log_print(prio[type], "LOL", "[%d] %s", (int)gettid(), &buf[0]); | |||||
#else | #else | ||||
char const *prefix[] = | char const *prefix[] = | ||||
@@ -98,12 +95,8 @@ void Log::Helper(MessageType type, char const *fmt, va_list ap) | |||||
}; | }; | ||||
# if defined _WIN32 | # if defined _WIN32 | ||||
char buf[4096]; | |||||
vsnprintf(buf, 4095, fmt, ap); | |||||
buf[4095] = '\0'; | |||||
OutputDebugString(prefix[type]); | |||||
OutputDebugString(": "); | |||||
OutputDebugString(buf); | |||||
String buf = String(prefix[type]) + ": " + String::Printf(fmt, ap); | |||||
OutputDebugString(&buf[0]); | |||||
# else | # else | ||||
fprintf(stderr, "%s: ", prefix[type]); | fprintf(stderr, "%s: ", prefix[type]); | ||||
vfprintf(stderr, fmt, ap); | vfprintf(stderr, fmt, ap); |