Преглед на файлове

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 години
родител
ревизия
5402346b16
променени са 9 файла, в които са добавени 26 реда и са изтрити 98 реда
  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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл

@@ -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 Целия файл


Зареждане…
Отказ
Запис