Browse Source

core: move the Log and Timer classes to the sys/ subdirectory, use

the String class instead of the stack for logging, and get rid of
the old and useless BitField class.
legacy
Sam Hocevar sam 12 years ago
parent
commit
5402346b16
9 changed files with 26 additions and 98 deletions
  1. +7
    -9
      src/Makefile.am
  2. +0
    -55
      src/bitfield.h
  3. +2
    -2
      src/core.h
  4. +4
    -4
      src/lol/sys/log.h
  5. +4
    -4
      src/lol/sys/timer.h
  6. +4
    -3
      src/lolcore.vcxproj
  7. +1
    -10
      src/lolcore.vcxproj.filters
  8. +4
    -11
      src/sys/log.cpp
  9. +0
    -0
      src/sys/timer.cpp

+ 7
- 9
src/Makefile.am View File

@@ -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 \


+ 0
- 55
src/bitfield.h View File

@@ -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__


+ 2
- 2
src/core.h View File

@@ -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"


src/log.h → src/lol/sys/log.h View File

@@ -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__



src/timer.h → src/lol/sys/timer.h View File

@@ -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__



+ 4
- 3
src/lolcore.vcxproj View File

@@ -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" />


+ 1
- 10
src/lolcore.vcxproj.filters View File

@@ -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>

src/log.cpp → src/sys/log.cpp View File

@@ -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);

src/timer.cpp → src/sys/timer.cpp View File


Loading…
Cancel
Save