Explorar el Código

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 hace 12 años
padre
commit
5402346b16
Se han modificado 9 ficheros con 26 adiciones y 98 borrados
  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 Ver fichero

@@ -9,21 +9,19 @@ liblol_a_SOURCES = \
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 \
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 \
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 \
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/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/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/unit.h lol/debug.h \
\
generated/location.hh generated/position.hh generated/stack.hh \
\
@@ -71,8 +69,8 @@ liblol_a_SOURCES = \
\
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/codec/gdiplus-image.cpp \


+ 0
- 55
src/bitfield.h Ver fichero

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

@@ -89,15 +89,15 @@ 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>

#include <lol/image/color.h>

#include "numeric.h"
#include "timer.h"

// Static classes
#include "log.h"
#include "platform.h"
#include "video.h"
#include "audio.h"


src/log.h → src/lol/sys/log.h Ver fichero

@@ -1,7 +1,7 @@
//
// 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
// modify it under the terms of the Do What The Fuck You Want To
// Public License, Version 2, as published by Sam Hocevar. See
@@ -14,8 +14,8 @@
// 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 <cstdarg>
@@ -51,5 +51,5 @@ private:

} /* namespace lol */

#endif // __LOL_LOG_H__
#endif // __LOL_SYS_LOG_H__


src/timer.h → src/lol/sys/timer.h Ver fichero

@@ -1,7 +1,7 @@
//
// 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
// modify it under the terms of the Do What The Fuck You Want To
// 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
{
@@ -37,5 +37,5 @@ private:

} /* namespace lol */

#endif // __LOL_TIMER_H__
#endif // __LOL_SYS_TIMER_H__


+ 4
- 3
src/lolcore.vcxproj Ver fichero

@@ -272,7 +272,6 @@
<ClCompile Include="input\keyboard.cpp" />
<ClCompile Include="input\stick.cpp" />
<ClCompile Include="layer.cpp" />
<ClCompile Include="log.cpp" />
<ClCompile Include="map.cpp" />
<ClCompile Include="math\geometry.cpp" />
<ClCompile Include="math\half.cpp" />
@@ -294,6 +293,8 @@
<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" />
<ClCompile Include="tiler.cpp" />
@@ -306,7 +307,6 @@
<ItemGroup>
<ClInclude Include="application\application.h" />
<ClInclude Include="audio.h" />
<ClInclude Include="bitfield.h" />
<ClInclude Include="bullet\btBulletCollisionCommon.h" />
<ClInclude Include="bullet\btBulletDynamicsCommon.h" />
<ClInclude Include="bullet\Bullet-C-Api.h" />
@@ -584,7 +584,6 @@
<ClInclude Include="input\keyboard.h" />
<ClInclude Include="input\stick.h" />
<ClInclude Include="layer.h" />
<ClInclude Include="log.h" />
<ClInclude Include="loldebug.h" />
<ClInclude Include="lolgl.h" />
<ClInclude Include="lol\base\array.h" />
@@ -601,7 +600,9 @@
<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" />
<ClInclude Include="mesh\mesh.h" />
<ClInclude Include="map.h" />


+ 1
- 10
src/lolcore.vcxproj.filters Ver fichero

@@ -192,9 +192,6 @@
<ClCompile Include="ticker.cpp">
<Filter>...</Filter>
</ClCompile>
<ClCompile Include="log.cpp">
<Filter>...</Filter>
</ClCompile>
<ClCompile Include="map.cpp">
<Filter>...</Filter>
</ClCompile>
@@ -752,9 +749,6 @@
<ClInclude Include="audio.h">
<Filter>...</Filter>
</ClInclude>
<ClInclude Include="bitfield.h">
<Filter>...</Filter>
</ClInclude>
<ClInclude Include="camera.h">
<Filter>...</Filter>
</ClInclude>
@@ -785,9 +779,6 @@
<ClInclude Include="layer.h">
<Filter>...</Filter>
</ClInclude>
<ClInclude Include="log.h">
<Filter>...</Filter>
</ClInclude>
<ClInclude Include="loldebug.h">
<Filter>...</Filter>
</ClInclude>
@@ -1675,4 +1666,4 @@
<Filter>gpu</Filter>
</None>
</ItemGroup>
</Project>
</Project>

src/log.cpp → src/sys/log.cpp Ver fichero

@@ -82,11 +82,8 @@ void Log::Helper(MessageType type, char const *fmt, va_list ap)
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
char const *prefix[] =
@@ -98,12 +95,8 @@ void Log::Helper(MessageType type, char const *fmt, va_list ap)
};

# 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
fprintf(stderr, "%s: ", prefix[type]);
vfprintf(stderr, fmt, ap);

src/timer.cpp → src/sys/timer.cpp Ver fichero


Cargando…
Cancelar
Guardar