aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sword25/fmv/movieplayer.cpp11
-rw-r--r--engines/sword25/gfx/animation.cpp18
-rw-r--r--engines/sword25/gfx/animationresource.cpp30
-rw-r--r--engines/sword25/gfx/animationtemplate.cpp8
-rw-r--r--engines/sword25/gfx/animationtemplateregistry.cpp6
-rw-r--r--engines/sword25/gfx/bitmap.cpp16
-rw-r--r--engines/sword25/gfx/bitmapresource.cpp2
-rw-r--r--engines/sword25/gfx/dynamicbitmap.cpp6
-rw-r--r--engines/sword25/gfx/fontresource.cpp12
-rw-r--r--engines/sword25/gfx/graphicengine.cpp15
-rw-r--r--engines/sword25/gfx/graphicengine_script.cpp2
-rw-r--r--engines/sword25/gfx/image/pngloader.cpp3
-rw-r--r--engines/sword25/gfx/image/renderedimage.cpp14
-rw-r--r--engines/sword25/gfx/image/swimage.cpp15
-rw-r--r--engines/sword25/gfx/image/vectorimage.cpp14
-rw-r--r--engines/sword25/gfx/panel.cpp6
-rw-r--r--engines/sword25/gfx/renderobject.cpp12
-rw-r--r--engines/sword25/gfx/renderobjectmanager.cpp2
-rw-r--r--engines/sword25/gfx/renderobjectregistry.cpp6
-rw-r--r--engines/sword25/gfx/screenshot.cpp4
-rw-r--r--engines/sword25/gfx/staticbitmap.cpp8
-rw-r--r--engines/sword25/gfx/text.cpp12
-rw-r--r--engines/sword25/input/inputengine.cpp8
-rw-r--r--engines/sword25/input/inputengine_script.cpp2
-rw-r--r--engines/sword25/kernel/common.h9
-rw-r--r--engines/sword25/kernel/filesystemutil.cpp2
-rw-r--r--engines/sword25/kernel/inputpersistenceblock.cpp8
-rw-r--r--engines/sword25/kernel/kernel.cpp12
-rw-r--r--engines/sword25/kernel/log.cpp214
-rw-r--r--engines/sword25/kernel/log.h134
-rw-r--r--engines/sword25/kernel/outputpersistenceblock.cpp2
-rw-r--r--engines/sword25/kernel/persistenceservice.cpp20
-rw-r--r--engines/sword25/kernel/resmanager.cpp26
-rw-r--r--engines/sword25/kernel/resource.cpp4
-rw-r--r--engines/sword25/math/geometry.cpp7
-rw-r--r--engines/sword25/math/region.cpp4
-rw-r--r--engines/sword25/math/regionregistry.cpp6
-rw-r--r--engines/sword25/math/walkregion.cpp6
-rw-r--r--engines/sword25/module.mk1
-rw-r--r--engines/sword25/package/packagemanager.cpp17
-rw-r--r--engines/sword25/script/lua_extensions.cpp1
-rw-r--r--engines/sword25/script/luabindhelper.cpp2
-rw-r--r--engines/sword25/script/luacallback.cpp4
-rw-r--r--engines/sword25/script/luascript.cpp18
-rw-r--r--engines/sword25/sfx/soundengine.cpp6
-rw-r--r--engines/sword25/sword25.cpp9
-rw-r--r--engines/sword25/sword25.h4
47 files changed, 158 insertions, 590 deletions
diff --git a/engines/sword25/fmv/movieplayer.cpp b/engines/sword25/fmv/movieplayer.cpp
index 356c2d11ff..4a3beb8f6c 100644
--- a/engines/sword25/fmv/movieplayer.cpp
+++ b/engines/sword25/fmv/movieplayer.cpp
@@ -32,6 +32,7 @@
*
*/
+#include "sword25/sword25.h" // for kDebugScript
#include "sword25/fmv/movieplayer.h"
#include "sword25/gfx/graphicengine.h"
#include "sword25/gfx/panel.h"
@@ -43,16 +44,14 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "MOVIEPLAYER"
-
#define FLT_EPSILON 1.192092896e-07F /* smallest such that 1.0+FLT_EPSILON != 1.0 */
#ifdef USE_THEORADEC
MoviePlayer::MoviePlayer(Kernel *pKernel) : Service(pKernel), _decoder(g_system->getMixer()) {
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugScript, "Script bindings registered.");
}
MoviePlayer::~MoviePlayer() {
@@ -70,7 +69,7 @@ bool MoviePlayer::loadMovie(const Common::String &filename, uint z) {
#if INDIRECTRENDERING
_outputBitmap = pGfx->getMainPanel()->addDynamicBitmap(_decoder.getWidth(), _decoder.getHeight());
if (!_outputBitmap.isValid()) {
- BS_LOG_ERRORLN("Output bitmap for movie playback could not be created.");
+ error("Output bitmap for movie playback could not be created.");
return false;
}
@@ -177,7 +176,7 @@ double MoviePlayer::getTime() {
MoviePlayer::MoviePlayer(Kernel *pKernel) : Service(pKernel) {
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
BS_LOGLN("Script bindings registered.");
}
diff --git a/engines/sword25/gfx/animation.cpp b/engines/sword25/gfx/animation.cpp
index 0d3baae347..d2274e9c8e 100644
--- a/engines/sword25/gfx/animation.cpp
+++ b/engines/sword25/gfx/animation.cpp
@@ -48,8 +48,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "ANIMATION"
-
Animation::Animation(RenderObjectPtr<RenderObject> parentPtr, const Common::String &fileName) :
TimedRenderObject(parentPtr, RenderObject::TYPE_ANIMATION) {
// Das BS_RenderObject konnte nicht erzeugt werden, daher muss an dieser Stelle abgebrochen werden.
@@ -102,7 +100,7 @@ void Animation::initializeAnimationResource(const Common::String &fileName) {
if (resourcePtr && resourcePtr->getType() == Resource::TYPE_ANIMATION)
_animationResourcePtr = static_cast<AnimationResource *>(resourcePtr);
else {
- BS_LOG_ERRORLN("The resource \"%s\" could not be requested. The Animation can't be created.", fileName.c_str());
+ error("The resource \"%s\" could not be requested. The Animation can't be created.", fileName.c_str());
return;
}
@@ -164,7 +162,7 @@ void Animation::setFrame(uint nr) {
BS_ASSERT(animationDescriptionPtr);
if (nr >= animationDescriptionPtr->getFrameCount()) {
- BS_LOG_ERRORLN("Tried to set animation to illegal frame (%d). Value must be between 0 and %d.",
+ error("Tried to set animation to illegal frame (%d). Value must be between 0 and %d.",
nr, animationDescriptionPtr->getFrameCount());
return;
}
@@ -326,7 +324,7 @@ bool Animation::lockAllFrames() {
BS_ASSERT(animationDescriptionPtr);
for (uint i = 0; i < animationDescriptionPtr->getFrameCount(); ++i) {
if (!Kernel::getInstance()->getResourceManager()->requestResource(animationDescriptionPtr->getFrame(i).fileName)) {
- BS_LOG_ERRORLN("Could not lock all animation frames.");
+ error("Could not lock all animation frames.");
return false;
}
}
@@ -344,7 +342,7 @@ bool Animation::unlockAllFrames() {
for (uint i = 0; i < animationDescriptionPtr->getFrameCount(); ++i) {
Resource *pResource;
if (!(pResource = Kernel::getInstance()->getResourceManager()->requestResource(animationDescriptionPtr->getFrame(i).fileName))) {
- BS_LOG_ERRORLN("Could not unlock all animation frames.");
+ error("Could not unlock all animation frames.");
return false;
}
@@ -419,7 +417,7 @@ void Animation::setAlpha(int alpha) {
AnimationDescription *animationDescriptionPtr = getAnimationDescription();
BS_ASSERT(animationDescriptionPtr);
if (!animationDescriptionPtr->isAlphaAllowed()) {
- BS_LOG_WARNINGLN("Tried to set alpha value on an animation that does not support alpha. Call was ignored.");
+ warning("Tried to set alpha value on an animation that does not support alpha. Call was ignored.");
return;
}
@@ -434,7 +432,7 @@ void Animation::setModulationColor(uint modulationColor) {
AnimationDescription *animationDescriptionPtr = getAnimationDescription();
BS_ASSERT(animationDescriptionPtr);
if (!animationDescriptionPtr->isColorModulationAllowed()) {
- BS_LOG_WARNINGLN("Tried to set modulation color on an animation that does not support color modulation. Call was ignored");
+ warning("Tried to set modulation color on an animation that does not support color modulation. Call was ignored");
return;
}
@@ -454,7 +452,7 @@ void Animation::setScaleFactorX(float scaleFactorX) {
AnimationDescription *animationDescriptionPtr = getAnimationDescription();
BS_ASSERT(animationDescriptionPtr);
if (!animationDescriptionPtr->isScalingAllowed()) {
- BS_LOG_WARNINGLN("Tried to set x scale factor on an animation that does not support scaling. Call was ignored");
+ warning("Tried to set x scale factor on an animation that does not support scaling. Call was ignored");
return;
}
@@ -471,7 +469,7 @@ void Animation::setScaleFactorY(float scaleFactorY) {
AnimationDescription *animationDescriptionPtr = getAnimationDescription();
BS_ASSERT(animationDescriptionPtr);
if (!animationDescriptionPtr->isScalingAllowed()) {
- BS_LOG_WARNINGLN("Tried to set y scale factor on an animation that does not support scaling. Call was ignored");
+ warning("Tried to set y scale factor on an animation that does not support scaling. Call was ignored");
return;
}
diff --git a/engines/sword25/gfx/animationresource.cpp b/engines/sword25/gfx/animationresource.cpp
index 6e5f683a2e..43a42a8e84 100644
--- a/engines/sword25/gfx/animationresource.cpp
+++ b/engines/sword25/gfx/animationresource.cpp
@@ -40,8 +40,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "ANIMATIONRESOURCE"
-
namespace {
const int DEFAULT_FPS = 10;
const int MIN_FPS = 1;
@@ -67,7 +65,7 @@ AnimationResource::AnimationResource(const Common::String &filename) :
uint fileSize;
char *xmlData = _pPackage->getXmlFile(getFileName(), &fileSize);
if (!xmlData) {
- BS_LOG_ERRORLN("Could not read \"%s\".", getFileName().c_str());
+ error("Could not read \"%s\".", getFileName().c_str());
return;
}
@@ -84,19 +82,19 @@ AnimationResource::AnimationResource(const Common::String &filename) :
// Give an error message if there weren't any frames specified
if (_frames.empty()) {
- BS_LOG_ERRORLN("\"%s\" does not have any frames.", getFileName().c_str());
+ error("\"%s\" does not have any frames.", getFileName().c_str());
return;
}
// Pre-cache all the frames
if (!precacheAllFrames()) {
- BS_LOG_ERRORLN("Could not precache all frames of \"%s\".", getFileName().c_str());
+ error("Could not precache all frames of \"%s\".", getFileName().c_str());
return;
}
// Post processing to compute animation features
if (!computeFeatures()) {
- BS_LOG_ERRORLN("Could not determine the features of \"%s\".", getFileName().c_str());
+ error("Could not determine the features of \"%s\".", getFileName().c_str());
return;
}
@@ -130,7 +128,7 @@ bool AnimationResource::parserCallback_animation(ParserNode *node) {
} else if (strcmp(loopTypeString, "jojo") == 0) {
_animationType = Animation::AT_JOJO;
} else {
- BS_LOG_WARNINGLN("Illegal type value (\"%s\") in <animation> tag in \"%s\". Assuming default (\"loop\").",
+ warning("Illegal type value (\"%s\") in <animation> tag in \"%s\". Assuming default (\"loop\").",
loopTypeString, getFileName().c_str());
_animationType = Animation::AT_LOOP;
}
@@ -147,12 +145,12 @@ bool AnimationResource::parserCallback_frame(ParserNode *node) {
const char *fileString = node->values["file"].c_str();
if (!fileString) {
- BS_LOG_ERRORLN("<frame> tag without file attribute occurred in \"%s\".", getFileName().c_str());
+ error("<frame> tag without file attribute occurred in \"%s\".", getFileName().c_str());
return false;
}
frame.fileName = _pPackage->getAbsolutePath(fileString);
if (frame.fileName.empty()) {
- BS_LOG_ERRORLN("Could not create absolute path for file specified in <frame> tag in \"%s\": \"%s\".",
+ error("Could not create absolute path for file specified in <frame> tag in \"%s\": \"%s\".",
getFileName().c_str(), fileString);
return false;
}
@@ -165,25 +163,25 @@ bool AnimationResource::parserCallback_frame(ParserNode *node) {
const char *hotspotyString = node->values["hotspoty"].c_str();
if ((!hotspotxString && hotspotyString) ||
(hotspotxString && !hotspotyString))
- BS_LOG_WARNINGLN("%s attribute occurred without %s attribute in <frame> tag in \"%s\". Assuming default (\"0\").",
+ warning("%s attribute occurred without %s attribute in <frame> tag in \"%s\". Assuming default (\"0\").",
hotspotxString ? "hotspotx" : "hotspoty",
!hotspotyString ? "hotspoty" : "hotspotx",
getFileName().c_str());
frame.hotspotX = 0;
if (hotspotxString && !parseIntegerKey(hotspotxString, 1, &frame.hotspotX))
- BS_LOG_WARNINGLN("Illegal hotspotx value (\"%s\") in frame tag in \"%s\". Assuming default (\"%s\").",
+ warning("Illegal hotspotx value (\"%s\") in frame tag in \"%s\". Assuming default (\"%s\").",
hotspotxString, getFileName().c_str(), frame.hotspotX);
frame.hotspotY = 0;
if (hotspotyString && !parseIntegerKey(hotspotyString, 1, &frame.hotspotY))
- BS_LOG_WARNINGLN("Illegal hotspoty value (\"%s\") in frame tag in \"%s\". Assuming default (\"%s\").",
+ warning("Illegal hotspoty value (\"%s\") in frame tag in \"%s\". Assuming default (\"%s\").",
hotspotyString, getFileName().c_str(), frame.hotspotY);
Common::String flipVString = node->values["flipv"];
if (!flipVString.empty()) {
if (!parseBooleanKey(flipVString, frame.flipV)) {
- BS_LOG_WARNINGLN("Illegal flipv value (\"%s\") in <frame> tag in \"%s\". Assuming default (\"false\").",
+ warning("Illegal flipv value (\"%s\") in <frame> tag in \"%s\". Assuming default (\"false\").",
flipVString.c_str(), getFileName().c_str());
frame.flipV = false;
}
@@ -193,7 +191,7 @@ bool AnimationResource::parserCallback_frame(ParserNode *node) {
Common::String flipHString = node->values["fliph"];
if (!flipHString.empty()) {
if (!parseBooleanKey(flipVString, frame.flipV)) {
- BS_LOG_WARNINGLN("Illegal fliph value (\"%s\") in <frame> tag in \"%s\". Assuming default (\"false\").",
+ warning("Illegal fliph value (\"%s\") in <frame> tag in \"%s\". Assuming default (\"false\").",
flipHString.c_str(), getFileName().c_str());
frame.flipH = false;
}
@@ -211,7 +209,7 @@ bool AnimationResource::precacheAllFrames() const {
Common::Array<Frame>::const_iterator iter = _frames.begin();
for (; iter != _frames.end(); ++iter) {
if (!Kernel::getInstance()->getResourceManager()->precacheResource((*iter).fileName)) {
- BS_LOG_ERRORLN("Could not precache \"%s\".", (*iter).fileName.c_str());
+ error("Could not precache \"%s\".", (*iter).fileName.c_str());
return false;
}
}
@@ -232,7 +230,7 @@ bool AnimationResource::computeFeatures() {
for (; iter != _frames.end(); ++iter) {
BitmapResource *pBitmap;
if (!(pBitmap = static_cast<BitmapResource *>(Kernel::getInstance()->getResourceManager()->requestResource((*iter).fileName)))) {
- BS_LOG_ERRORLN("Could not request \"%s\".", (*iter).fileName.c_str());
+ error("Could not request \"%s\".", (*iter).fileName.c_str());
return false;
}
diff --git a/engines/sword25/gfx/animationtemplate.cpp b/engines/sword25/gfx/animationtemplate.cpp
index 4a060dbad9..835ae09fe8 100644
--- a/engines/sword25/gfx/animationtemplate.cpp
+++ b/engines/sword25/gfx/animationtemplate.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "ANIMATIONTEMPLATE"
-
#include "sword25/kernel/kernel.h"
#include "sword25/kernel/resource.h"
#include "sword25/kernel/outputpersistenceblock.h"
@@ -128,7 +126,7 @@ AnimationResource *AnimationTemplate::requestSourceAnimation(const Common::Strin
ResourceManager *RMPtr = Kernel::getInstance()->getResourceManager();
Resource *resourcePtr;
if (NULL == (resourcePtr = RMPtr->requestResource(sourceAnimation)) || resourcePtr->getType() != Resource::TYPE_ANIMATION) {
- BS_LOG_ERRORLN("The resource \"%s\" could not be requested or is has an invalid type. The animation template can't be created.", sourceAnimation.c_str());
+ error("The resource \"%s\" could not be requested or is has an invalid type. The animation template can't be created.", sourceAnimation.c_str());
return 0;
}
return static_cast<AnimationResource *>(resourcePtr);
@@ -158,7 +156,7 @@ void AnimationTemplate::setFrame(int destIndex, int srcIndex) {
bool AnimationTemplate::validateSourceIndex(uint index) const {
if (index > _sourceAnimationPtr->getFrameCount()) {
- BS_LOG_WARNINGLN("Tried to insert a frame (\"%d\") that does not exist in the source animation (\"%s\"). Ignoring call.",
+ warning("Tried to insert a frame (\"%d\") that does not exist in the source animation (\"%s\"). Ignoring call.",
index, _sourceAnimationPtr->getFileName().c_str());
return false;
} else
@@ -167,7 +165,7 @@ bool AnimationTemplate::validateSourceIndex(uint index) const {
bool AnimationTemplate::validateDestIndex(uint index) const {
if (index > _frames.size()) {
- BS_LOG_WARNINGLN("Tried to change a nonexistent frame (\"%d\") in a template animation. Ignoring call.",
+ warning("Tried to change a nonexistent frame (\"%d\") in a template animation. Ignoring call.",
index);
return false;
} else
diff --git a/engines/sword25/gfx/animationtemplateregistry.cpp b/engines/sword25/gfx/animationtemplateregistry.cpp
index 2245090f8f..d942ac2ff7 100644
--- a/engines/sword25/gfx/animationtemplateregistry.cpp
+++ b/engines/sword25/gfx/animationtemplateregistry.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "ANIMATIONTEMPLATEREGISTRY"
-
#include "sword25/kernel/outputpersistenceblock.h"
#include "sword25/kernel/inputpersistenceblock.h"
#include "sword25/gfx/animationtemplateregistry.h"
@@ -44,11 +42,11 @@ DECLARE_SINGLETON(Sword25::AnimationTemplateRegistry);
namespace Sword25 {
void AnimationTemplateRegistry::logErrorLn(const char *message) const {
- BS_LOG_ERRORLN(message);
+ error(message);
}
void AnimationTemplateRegistry::logWarningLn(const char *message) const {
- BS_LOG_WARNINGLN(message);
+ warning(message);
}
bool AnimationTemplateRegistry::persist(OutputPersistenceBlock &writer) {
diff --git a/engines/sword25/gfx/bitmap.cpp b/engines/sword25/gfx/bitmap.cpp
index b5412c8276..9010a9c981 100644
--- a/engines/sword25/gfx/bitmap.cpp
+++ b/engines/sword25/gfx/bitmap.cpp
@@ -38,8 +38,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "BITMAP"
-
Bitmap::Bitmap(RenderObjectPtr<RenderObject> parentPtr, TYPES type, uint handle) :
RenderObject(parentPtr, type, handle),
_modulationColor(0xffffffff),
@@ -54,7 +52,7 @@ Bitmap::~Bitmap() {
void Bitmap::setAlpha(int alpha) {
if (!isAlphaAllowed()) {
- BS_LOG_WARNINGLN("Tried to set alpha value on a bitmap that does not support alpha blending. Call was ignored.");
+ warning("Tried to set alpha value on a bitmap that does not support alpha blending. Call was ignored.");
return;
}
@@ -64,7 +62,7 @@ void Bitmap::setAlpha(int alpha) {
alpha = 0;
if (alpha > 255)
alpha = 255;
- BS_LOG_WARNINGLN("Tried to set an invalid alpha value (%d) on a bitmap. Value was changed to %d.", oldAlpha, alpha);
+ warning("Tried to set an invalid alpha value (%d) on a bitmap. Value was changed to %d.", oldAlpha, alpha);
return;
}
@@ -78,7 +76,7 @@ void Bitmap::setAlpha(int alpha) {
void Bitmap::setModulationColor(uint modulationColor) {
if (!isColorModulationAllowed()) {
- BS_LOG_WARNINGLN("Tried to set modulation color of a bitmap that does not support color modulation. Call was ignored.");
+ warning("Tried to set modulation color of a bitmap that does not support color modulation. Call was ignored.");
return;
}
@@ -96,12 +94,12 @@ void Bitmap::setScaleFactor(float scaleFactor) {
void Bitmap::setScaleFactorX(float scaleFactorX) {
if (!isScalingAllowed()) {
- BS_LOG_WARNINGLN("Tried to set scale factor of a bitmap that does not support scaling. Call was ignored.");
+ warning("Tried to set scale factor of a bitmap that does not support scaling. Call was ignored.");
return;
}
if (scaleFactorX < 0) {
- BS_LOG_WARNINGLN("Tried to set scale factor of a bitmap to a negative value. Call was ignored.");
+ warning("Tried to set scale factor of a bitmap to a negative value. Call was ignored.");
return;
}
@@ -118,12 +116,12 @@ void Bitmap::setScaleFactorX(float scaleFactorX) {
void Bitmap::setScaleFactorY(float scaleFactorY) {
if (!isScalingAllowed()) {
- BS_LOG_WARNINGLN("Tried to set scale factor of a bitmap that does not support scaling. Call was ignored.");
+ warning("Tried to set scale factor of a bitmap that does not support scaling. Call was ignored.");
return;
}
if (scaleFactorY < 0) {
- BS_LOG_WARNINGLN("Tried to set scale factor of a bitmap to a negative value. Call was ignored.");
+ warning("Tried to set scale factor of a bitmap to a negative value. Call was ignored.");
return;
}
diff --git a/engines/sword25/gfx/bitmapresource.cpp b/engines/sword25/gfx/bitmapresource.cpp
index cf3c85e3ac..ac36cd3223 100644
--- a/engines/sword25/gfx/bitmapresource.cpp
+++ b/engines/sword25/gfx/bitmapresource.cpp
@@ -39,8 +39,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "BITMAP"
-
BitmapResource::BitmapResource(const Common::String &filename, Image *pImage) :
_valid(false),
_pImage(pImage),
diff --git a/engines/sword25/gfx/dynamicbitmap.cpp b/engines/sword25/gfx/dynamicbitmap.cpp
index 612e370712..d4e39ed00b 100644
--- a/engines/sword25/gfx/dynamicbitmap.cpp
+++ b/engines/sword25/gfx/dynamicbitmap.cpp
@@ -39,8 +39,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "DYNAMICBITMAP"
-
DynamicBitmap::DynamicBitmap(RenderObjectPtr<RenderObject> parentPtr, uint width, uint height) :
Bitmap(parentPtr, TYPE_DYNAMICBITMAP) {
// Das BS_Bitmap konnte nicht erzeugt werden, daher muss an dieser Stelle abgebrochen werden.
@@ -124,7 +122,7 @@ bool DynamicBitmap::persist(OutputPersistenceBlock &writer) {
// Bilddaten werden nicht gespeichert. Dies ist auch nicht weiter von bedeutung, da BS_DynamicBitmap nur vom Videoplayer benutzt wird.
// Während ein Video abläuft kann niemals gespeichert werden. BS_DynamicBitmap kann nur der Vollständigkeit halber persistiert werden.
- BS_LOG_WARNINGLN("Persisting a BS_DynamicBitmap. Bitmap content is not persisted.");
+ warning("Persisting a BS_DynamicBitmap. Bitmap content is not persisted.");
result &= RenderObject::persistChildren(writer);
@@ -140,7 +138,7 @@ bool DynamicBitmap::unpersist(InputPersistenceBlock &reader) {
result &= createRenderedImage(_width, _height);
// Bilddaten werden nicht gespeichert (s.o.).
- BS_LOG_WARNINGLN("Unpersisting a BS_DynamicBitmap. Bitmap contents are missing.");
+ warning("Unpersisting a BS_DynamicBitmap. Bitmap contents are missing.");
// Bild mit durchsichtigen Bilddaten initialisieren.
byte *transparentImageData = (byte *)calloc(_width * _height * 4, 1);
diff --git a/engines/sword25/gfx/fontresource.cpp b/engines/sword25/gfx/fontresource.cpp
index dbb9c67fe5..6f3e70c3fa 100644
--- a/engines/sword25/gfx/fontresource.cpp
+++ b/engines/sword25/gfx/fontresource.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "FONTRESOURCE"
-
#include "sword25/kernel/kernel.h"
#include "sword25/package/packagemanager.h"
@@ -61,7 +59,7 @@ FontResource::FontResource(Kernel *pKernel, const Common::String &fileName) :
uint fileSize;
char *xmlData = pPackage->getXmlFile(getFileName(), &fileSize);
if (!xmlData) {
- BS_LOG_ERRORLN("Could not read \"%s\".", getFileName().c_str());
+ error("Could not read \"%s\".", getFileName().c_str());
return;
}
@@ -79,13 +77,13 @@ bool FontResource::parserCallback_font(ParserNode *node) {
Common::String bitmapFilename = node->values["bitmap"];
if (!parseIntegerKey(node->values["lineheight"], 1, &_lineHeight)) {
- BS_LOG_WARNINGLN("Illegal or missing lineheight attribute in <font> tag in \"%s\". Assuming default (\"%d\").",
+ warning("Illegal or missing lineheight attribute in <font> tag in \"%s\". Assuming default (\"%d\").",
getFileName().c_str(), DEFAULT_LINEHEIGHT);
_lineHeight = DEFAULT_LINEHEIGHT;
}
if (!parseIntegerKey(node->values["gap"], 1, &_gapWidth)) {
- BS_LOG_WARNINGLN("Illegal or missing gap attribute in <font> tag in \"%s\". Assuming default (\"%d\").",
+ warning("Illegal or missing gap attribute in <font> tag in \"%s\". Assuming default (\"%d\").",
getFileName().c_str(), DEFAULT_GAPWIDTH);
_gapWidth = DEFAULT_GAPWIDTH;
}
@@ -98,13 +96,13 @@ bool FontResource::parserCallback_font(ParserNode *node) {
// Get the full path and filename for the bitmap resource
_bitmapFileName = pPackage->getAbsolutePath(bitmapFilename);
if (_bitmapFileName == "") {
- BS_LOG_ERRORLN("Image file \"%s\" was specified in <font> tag of \"%s\" but could not be found.",
+ error("Image file \"%s\" was specified in <font> tag of \"%s\" but could not be found.",
_bitmapFileName.c_str(), getFileName().c_str());
}
// Pre-cache the resource
if (!_pKernel->getResourceManager()->precacheResource(_bitmapFileName)) {
- BS_LOG_ERRORLN("Could not precache \"%s\".", _bitmapFileName.c_str());
+ error("Could not precache \"%s\".", _bitmapFileName.c_str());
}
return true;
diff --git a/engines/sword25/gfx/graphicengine.cpp b/engines/sword25/gfx/graphicengine.cpp
index 44b9932de1..49cf1eb7bc 100644
--- a/engines/sword25/gfx/graphicengine.cpp
+++ b/engines/sword25/gfx/graphicengine.cpp
@@ -32,10 +32,9 @@
*
*/
-#define BS_LOG_PREFIX "GRAPHICENGINE"
-
#include "common/system.h"
+#include "sword25/sword25.h" // for kDebugScript
#include "sword25/gfx/bitmapresource.h"
#include "sword25/gfx/animationresource.h"
#include "sword25/gfx/fontresource.h"
@@ -79,9 +78,9 @@ GraphicEngine::GraphicEngine(Kernel *pKernel) :
_frameTimeSamples.resize(FRAMETIME_SAMPLE_COUNT);
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugScript, "Script bindings registered.");
}
GraphicEngine::~GraphicEngine() {
@@ -94,13 +93,13 @@ GraphicEngine::~GraphicEngine() {
bool GraphicEngine::init(int width, int height, int bitDepth, int backbufferCount, bool isWindowed_) {
// Warnung ausgeben, wenn eine nicht unterstützte Bittiefe gewählt wurde.
if (bitDepth != BIT_DEPTH) {
- BS_LOG_WARNINGLN("Can't use a bit depth of %d (not supported). Falling back to %d.", bitDepth, BIT_DEPTH);
+ warning("Can't use a bit depth of %d (not supported). Falling back to %d.", bitDepth, BIT_DEPTH);
_bitDepth = BIT_DEPTH;
}
// Warnung ausgeben, wenn nicht genau ein Backbuffer gewählt wurde.
if (backbufferCount != BACKBUFFER_COUNT) {
- BS_LOG_WARNINGLN("Can't use %d backbuffers (not supported). Falling back to %d.", backbufferCount, BACKBUFFER_COUNT);
+ warning("Can't use %d backbuffers (not supported). Falling back to %d.", backbufferCount, BACKBUFFER_COUNT);
backbufferCount = BACKBUFFER_COUNT;
}
@@ -311,7 +310,7 @@ Resource *GraphicEngine::loadResource(const Common::String &filename) {
uint fileSize;
pFileData = pPackage->getFile(filename, &fileSize);
if (!pFileData) {
- BS_LOG_ERRORLN("File \"%s\" could not be loaded.", filename.c_str());
+ error("File \"%s\" could not be loaded.", filename.c_str());
return 0;
}
@@ -356,7 +355,7 @@ Resource *GraphicEngine::loadResource(const Common::String &filename) {
}
}
- BS_LOG_ERRORLN("Service cannot load \"%s\".", filename.c_str());
+ error("Service cannot load \"%s\".", filename.c_str());
return 0;
}
diff --git a/engines/sword25/gfx/graphicengine_script.cpp b/engines/sword25/gfx/graphicengine_script.cpp
index 0814a23871..357787c9b8 100644
--- a/engines/sword25/gfx/graphicengine_script.cpp
+++ b/engines/sword25/gfx/graphicengine_script.cpp
@@ -50,8 +50,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "GRAPHICENGINE"
-
static bool animationDeleteCallback(uint Data);
static bool animationActionCallback(uint Data);
static bool animationLoopPointCallback(uint Data);
diff --git a/engines/sword25/gfx/image/pngloader.cpp b/engines/sword25/gfx/image/pngloader.cpp
index 581d5fd917..f104372f78 100644
--- a/engines/sword25/gfx/image/pngloader.cpp
+++ b/engines/sword25/gfx/image/pngloader.cpp
@@ -42,9 +42,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "PNGLOADER"
-
-
/**
* Load a NULL-terminated string from the given stream.
*/
diff --git a/engines/sword25/gfx/image/renderedimage.cpp b/engines/sword25/gfx/image/renderedimage.cpp
index ce04d79aa3..c0eec6570c 100644
--- a/engines/sword25/gfx/image/renderedimage.cpp
+++ b/engines/sword25/gfx/image/renderedimage.cpp
@@ -44,8 +44,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "RENDEREDIMAGE"
-
// -----------------------------------------------------------------------------
// CONSTRUCTION / DESTRUCTION
// -----------------------------------------------------------------------------
@@ -66,21 +64,21 @@ RenderedImage::RenderedImage(const Common::String &filename, bool &result) :
uint fileSize;
pFileData = pPackage->getFile(filename, &fileSize);
if (!pFileData) {
- BS_LOG_ERRORLN("File \"%s\" could not be loaded.", filename.c_str());
+ error("File \"%s\" could not be loaded.", filename.c_str());
return;
}
// Bildeigenschaften bestimmen
int pitch;
if (!PNGLoader::imageProperties(pFileData, fileSize, _width, _height)) {
- BS_LOG_ERRORLN("Could not read image properties.");
+ error("Could not read image properties.");
delete[] pFileData;
return;
}
// Das Bild dekomprimieren
if (!PNGLoader::decodeImage(pFileData, fileSize, _data, _width, _height, pitch)) {
- BS_LOG_ERRORLN("Could not decode image.");
+ error("Could not decode image.");
delete[] pFileData;
return;
}
@@ -129,7 +127,7 @@ RenderedImage::~RenderedImage() {
// -----------------------------------------------------------------------------
bool RenderedImage::fill(const Common::Rect *pFillRect, uint color) {
- BS_LOG_ERRORLN("Fill() is not supported.");
+ error("Fill() is not supported.");
return false;
}
@@ -138,7 +136,7 @@ bool RenderedImage::fill(const Common::Rect *pFillRect, uint color) {
bool RenderedImage::setContent(const byte *pixeldata, uint size, uint offset, uint stride) {
// Überprüfen, ob PixelData ausreichend viele Pixel enthält um ein Bild der Größe Width * Height zu erzeugen
if (size < static_cast<uint>(_width * _height * 4)) {
- BS_LOG_ERRORLN("PixelData vector is too small to define a 32 bit %dx%d image.", _width, _height);
+ error("PixelData vector is too small to define a 32 bit %dx%d image.", _width, _height);
return false;
}
@@ -162,7 +160,7 @@ void RenderedImage::replaceContent(byte *pixeldata, int width, int height) {
// -----------------------------------------------------------------------------
uint RenderedImage::getPixel(int x, int y) {
- BS_LOG_ERRORLN("GetPixel() is not supported. Returning black.");
+ error("GetPixel() is not supported. Returning black.");
return 0;
}
diff --git a/engines/sword25/gfx/image/swimage.cpp b/engines/sword25/gfx/image/swimage.cpp
index 84aa35b0f4..143754ce58 100644
--- a/engines/sword25/gfx/image/swimage.cpp
+++ b/engines/sword25/gfx/image/swimage.cpp
@@ -38,9 +38,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "SWIMAGE"
-
-
SWImage::SWImage(const Common::String &filename, bool &result) :
_imageDataPtr(0),
_width(0),
@@ -55,21 +52,21 @@ SWImage::SWImage(const Common::String &filename, bool &result) :
uint fileSize;
pFileData = pPackage->getFile(filename, &fileSize);
if (!pFileData) {
- BS_LOG_ERRORLN("File \"%s\" could not be loaded.", filename.c_str());
+ error("File \"%s\" could not be loaded.", filename.c_str());
return;
}
// Bildeigenschaften bestimmen
int pitch;
if (!PNGLoader::imageProperties(pFileData, fileSize, _width, _height)) {
- BS_LOG_ERRORLN("Could not read image properties.");
+ error("Could not read image properties.");
return;
}
// Das Bild dekomprimieren
byte *pUncompressedData;
if (!PNGLoader::decodeImage(pFileData, fileSize, pUncompressedData, _width, _height, pitch)) {
- BS_LOG_ERRORLN("Could not decode image.");
+ error("Could not decode image.");
return;
}
@@ -92,17 +89,17 @@ bool SWImage::blit(int posX, int posY,
Common::Rect *pPartRect,
uint color,
int width, int height) {
- BS_LOG_ERRORLN("Blit() is not supported.");
+ error("Blit() is not supported.");
return false;
}
bool SWImage::fill(const Common::Rect *pFillRect, uint color) {
- BS_LOG_ERRORLN("Fill() is not supported.");
+ error("Fill() is not supported.");
return false;
}
bool SWImage::setContent(const byte *pixeldata, uint size, uint offset, uint stride) {
- BS_LOG_ERRORLN("SetContent() is not supported.");
+ error("SetContent() is not supported.");
return false;
}
diff --git a/engines/sword25/gfx/image/vectorimage.cpp b/engines/sword25/gfx/image/vectorimage.cpp
index 5c15c4771a..b2af06105d 100644
--- a/engines/sword25/gfx/image/vectorimage.cpp
+++ b/engines/sword25/gfx/image/vectorimage.cpp
@@ -44,8 +44,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "VECTORIMAGE"
-
#define BEZSMOOTHNESS 0.5
// -----------------------------------------------------------------------------
@@ -234,21 +232,21 @@ VectorImage::VectorImage(const byte *pFileData, uint fileSize, bool &success, co
if (signature[0] != 'F' ||
signature[1] != 'W' ||
signature[2] != 'S') {
- BS_LOG_ERRORLN("File is not a valid SWF-file");
+ error("File is not a valid SWF-file");
return;
}
// Versionsangabe überprüfen
uint32 version = bs.getByte();
if (version > MAX_ACCEPTED_FLASH_VERSION) {
- BS_LOG_ERRORLN("File is of version %d. Highest accepted version is %d.", version, MAX_ACCEPTED_FLASH_VERSION);
+ error("File is of version %d. Highest accepted version is %d.", version, MAX_ACCEPTED_FLASH_VERSION);
return;
}
// Dateigröße auslesen und mit der tatsächlichen Größe vergleichen
uint32 storedFileSize = bs.getUInt32();
if (storedFileSize != fileSize) {
- BS_LOG_ERRORLN("File is not a valid SWF-file");
+ error("File is not a valid SWF-file");
return;
}
@@ -582,7 +580,7 @@ bool VectorImage::parseStyles(uint shapeType, SWFBitStream &bs, uint &numFillBit
// -----------------------------------------------------------------------------
bool VectorImage::fill(const Common::Rect *pFillRect, uint color) {
- BS_LOG_ERRORLN("Fill() is not supported.");
+ error("Fill() is not supported.");
return false;
}
@@ -590,14 +588,14 @@ bool VectorImage::fill(const Common::Rect *pFillRect, uint color) {
// -----------------------------------------------------------------------------
uint VectorImage::getPixel(int x, int y) {
- BS_LOG_ERRORLN("GetPixel() is not supported. Returning black.");
+ error("GetPixel() is not supported. Returning black.");
return 0;
}
// -----------------------------------------------------------------------------
bool VectorImage::setContent(const byte *pixeldata, uint size, uint offset, uint stride) {
- BS_LOG_ERRORLN("SetContent() is not supported.");
+ error("SetContent() is not supported.");
return 0;
}
diff --git a/engines/sword25/gfx/panel.cpp b/engines/sword25/gfx/panel.cpp
index 2de1de133a..6bf31d2fc8 100644
--- a/engines/sword25/gfx/panel.cpp
+++ b/engines/sword25/gfx/panel.cpp
@@ -41,8 +41,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "PANEL"
-
Panel::Panel(RenderObjectPtr<RenderObject> parentPtr, int width, int height, uint color) :
RenderObject(parentPtr, RenderObject::TYPE_PANEL),
_color(color) {
@@ -52,12 +50,12 @@ Panel::Panel(RenderObjectPtr<RenderObject> parentPtr, int width, int height, uin
_height = height;
if (_width < 0) {
- BS_LOG_ERRORLN("Tried to initialise a panel with an invalid width (%d).", _width);
+ error("Tried to initialise a panel with an invalid width (%d).", _width);
return;
}
if (_height < 0) {
- BS_LOG_ERRORLN("Tried to initialise a panel with an invalid height (%d).", _height);
+ error("Tried to initialise a panel with an invalid height (%d).", _height);
return;
}
diff --git a/engines/sword25/gfx/renderobject.cpp b/engines/sword25/gfx/renderobject.cpp
index 77af0bee92..4b9555731d 100644
--- a/engines/sword25/gfx/renderobject.cpp
+++ b/engines/sword25/gfx/renderobject.cpp
@@ -51,8 +51,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "RENDEROBJECT"
-
RenderObject::RenderObject(RenderObjectPtr<RenderObject> parentPtr, TYPES type, uint handle) :
_managerPtr(0),
_parentPtr(parentPtr),
@@ -90,7 +88,7 @@ RenderObject::RenderObject(RenderObjectPtr<RenderObject> parentPtr, TYPES type,
_parentPtr->addObject(this->getHandle());
} else {
if (getType() != TYPE_ROOT) {
- BS_LOG_ERRORLN("Tried to create a non-root render object and has no parent. All non-root render objects have to have a parent.");
+ error("Tried to create a non-root render object and has no parent. All non-root render objects have to have a parent.");
return;
}
}
@@ -226,7 +224,7 @@ void RenderObject::deleteAllChildren() {
bool RenderObject::addObject(RenderObjectPtr<RenderObject> pObject) {
if (!pObject.isValid()) {
- BS_LOG_ERRORLN("Tried to add a null object to a renderobject.");
+ error("Tried to add a null object to a renderobject.");
return false;
}
@@ -249,7 +247,7 @@ bool RenderObject::detatchChildren(RenderObjectPtr<RenderObject> pObject) {
return true;
}
- BS_LOG_ERRORLN("Tried to detach children from a render object that isn't its parent.");
+ error("Tried to detach children from a render object that isn't its parent.");
return false;
}
@@ -289,7 +287,7 @@ void RenderObject::setY(int y) {
void RenderObject::setZ(int z) {
if (z < 0)
- BS_LOG_ERRORLN("Tried to set a negative Z value (%d).", z);
+ error("Tried to set a negative Z value (%d).", z);
else
_z = z;
}
@@ -500,7 +498,7 @@ RenderObjectPtr<RenderObject> RenderObject::recreatePersistedRenderObject(InputP
break;
default:
- BS_LOG_ERRORLN("Cannot recreate render object of unknown type %d.", type);
+ error("Cannot recreate render object of unknown type %d.", type);
}
return result;
diff --git a/engines/sword25/gfx/renderobjectmanager.cpp b/engines/sword25/gfx/renderobjectmanager.cpp
index 94f7a04b45..1f7938f41f 100644
--- a/engines/sword25/gfx/renderobjectmanager.cpp
+++ b/engines/sword25/gfx/renderobjectmanager.cpp
@@ -46,8 +46,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "RENDEROBJECTMANAGER"
-
RenderObjectManager::RenderObjectManager(int width, int height, int framebufferCount) :
_frameStarted(false) {
// Wurzel des BS_RenderObject-Baumes erzeugen.
diff --git a/engines/sword25/gfx/renderobjectregistry.cpp b/engines/sword25/gfx/renderobjectregistry.cpp
index 8f55cf65a9..f8c7c39789 100644
--- a/engines/sword25/gfx/renderobjectregistry.cpp
+++ b/engines/sword25/gfx/renderobjectregistry.cpp
@@ -38,14 +38,12 @@ DECLARE_SINGLETON(Sword25::RenderObjectRegistry);
namespace Sword25 {
-#define BS_LOG_PREFIX "RENDEROBJECTREGISTRY"
-
void RenderObjectRegistry::logErrorLn(const char *message) const {
- BS_LOG_ERRORLN(message);
+ error(message);
}
void RenderObjectRegistry::logWarningLn(const char *message) const {
- BS_LOG_WARNINGLN(message);
+ warning(message);
}
} // End of namespace Sword25
diff --git a/engines/sword25/gfx/screenshot.cpp b/engines/sword25/gfx/screenshot.cpp
index b7bb31c8e4..35e94976eb 100644
--- a/engines/sword25/gfx/screenshot.cpp
+++ b/engines/sword25/gfx/screenshot.cpp
@@ -35,8 +35,6 @@
// Disable symbol overrides so that we can use png.h
#define FORBIDDEN_SYMBOL_ALLOW_ALL
-#define BS_LOG_PREFIX "SCREENSHOT"
-
#include "common/memstream.h"
#include "sword25/gfx/screenshot.h"
#include "sword25/kernel/filesystemutil.h"
@@ -130,7 +128,7 @@ Common::SeekableReadStream *Screenshot::createThumbnail(Graphics::Surface *data)
// The source image must be 800x600.
if (data->w != 800 || data->h != 600 || data->bytesPerPixel != 4) {
- BS_LOG_ERRORLN("The sreenshot dimensions have to be 800x600 in order to be saved as a thumbnail.");
+ error("The sreenshot dimensions have to be 800x600 in order to be saved as a thumbnail.");
return false;
}
diff --git a/engines/sword25/gfx/staticbitmap.cpp b/engines/sword25/gfx/staticbitmap.cpp
index 3019fe0ac1..c9f3758505 100644
--- a/engines/sword25/gfx/staticbitmap.cpp
+++ b/engines/sword25/gfx/staticbitmap.cpp
@@ -40,8 +40,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "STATICBITMAP"
-
StaticBitmap::StaticBitmap(RenderObjectPtr<RenderObject> parentPtr, const Common::String &filename) :
Bitmap(parentPtr, TYPE_STATICBITMAP) {
// Das BS_Bitmap konnte nicht erzeugt werden, daher muss an dieser Stelle abgebrochen werden.
@@ -60,11 +58,11 @@ bool StaticBitmap::initBitmapResource(const Common::String &filename) {
// Bild-Resource laden
Resource *resourcePtr = Kernel::getInstance()->getResourceManager()->requestResource(filename);
if (!resourcePtr) {
- BS_LOG_ERRORLN("Could not request resource \"%s\".", filename.c_str());
+ warning("Could not request resource \"%s\".", filename.c_str());
return false;
}
if (resourcePtr->getType() != Resource::TYPE_BITMAP) {
- BS_LOG_ERRORLN("Requested resource \"%s\" is not a bitmap.", filename.c_str());
+ error("Requested resource \"%s\" is not a bitmap.", filename.c_str());
return false;
}
@@ -130,7 +128,7 @@ uint StaticBitmap::getPixel(int x, int y) const {
}
bool StaticBitmap::setContent(const byte *pixeldata, uint size, uint offset, uint stride) {
- BS_LOG_ERRORLN("SetContent() ist not supported with this object.");
+ error("SetContent() ist not supported with this object.");
return false;
}
diff --git a/engines/sword25/gfx/text.cpp b/engines/sword25/gfx/text.cpp
index b8e12ba570..9609ef810b 100644
--- a/engines/sword25/gfx/text.cpp
+++ b/engines/sword25/gfx/text.cpp
@@ -46,8 +46,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "TEXT"
-
namespace {
const uint AUTO_WRAP_THRESHOLD_DEFAULT = 300;
}
@@ -79,7 +77,7 @@ bool Text::setFont(const Common::String &font) {
forceRefresh();
return true;
} else {
- BS_LOG_ERRORLN("Could not precache font \"%s\". Font probably does not exist.", font.c_str());
+ error("Could not precache font \"%s\". Font probably does not exist.", font.c_str());
return false;
}
@@ -136,11 +134,11 @@ bool Text::doRender() {
{
Resource *pResource = rmPtr->requestResource(fontPtr->getCharactermapFileName());
if (!pResource) {
- BS_LOG_ERRORLN("Could not request resource \"%s\".", fontPtr->getCharactermapFileName().c_str());
+ warning("Could not request resource \"%s\".", fontPtr->getCharactermapFileName().c_str());
return false;
}
if (pResource->getType() != Resource::TYPE_BITMAP) {
- BS_LOG_ERRORLN("Requested resource \"%s\" is not a bitmap.", fontPtr->getCharactermapFileName().c_str());
+ error("Requested resource \"%s\" is not a bitmap.", fontPtr->getCharactermapFileName().c_str());
return false;
}
@@ -198,11 +196,11 @@ FontResource *Text::lockFontResource() {
{
Resource *resourcePtr = rmPtr->requestResource(_font);
if (!resourcePtr) {
- BS_LOG_ERRORLN("Could not request resource \"%s\".", _font.c_str());
+ warning("Could not request resource \"%s\".", _font.c_str());
return NULL;
}
if (resourcePtr->getType() != Resource::TYPE_FONT) {
- BS_LOG_ERRORLN("Requested resource \"%s\" is not a font.", _font.c_str());
+ error("Requested resource \"%s\" is not a font.", _font.c_str());
return NULL;
}
diff --git a/engines/sword25/input/inputengine.cpp b/engines/sword25/input/inputengine.cpp
index 82d5cad588..58b40a940d 100644
--- a/engines/sword25/input/inputengine.cpp
+++ b/engines/sword25/input/inputengine.cpp
@@ -32,12 +32,12 @@
*
*/
-#define BS_LOG_PREFIX "INPUTENGINE"
-
#include "common/algorithm.h"
#include "common/events.h"
#include "common/system.h"
#include "common/util.h"
+
+#include "sword25/sword25.h"
#include "sword25/kernel/kernel.h"
#include "sword25/kernel/inputpersistenceblock.h"
#include "sword25/kernel/outputpersistenceblock.h"
@@ -70,9 +70,9 @@ InputEngine::InputEngine(Kernel *pKernel) :
_rightMouseState[1] = false;
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugScript, "Script bindings registered.");
}
InputEngine::~InputEngine() {
diff --git a/engines/sword25/input/inputengine_script.cpp b/engines/sword25/input/inputengine_script.cpp
index 2f16a21377..5ce93bab82 100644
--- a/engines/sword25/input/inputengine_script.cpp
+++ b/engines/sword25/input/inputengine_script.cpp
@@ -42,8 +42,6 @@
#include "sword25/input/inputengine.h"
-#define BS_LOG_PREFIX "INPUTENGINE"
-
namespace Sword25 {
static void theCharacterCallback(int character);
diff --git a/engines/sword25/kernel/common.h b/engines/sword25/kernel/common.h
index 7b11fe901f..4372bf2dc5 100644
--- a/engines/sword25/kernel/common.h
+++ b/engines/sword25/kernel/common.h
@@ -48,11 +48,10 @@
// Global constants
#define DEBUG
-#define BS_ACTIVATE_LOGGING // When defined, logging is activated
-
-// Engine Includes
-#include "sword25/kernel/log.h"
-
+// Includes
+#include "common/array.h"
+#include "common/file.h"
+#include "sword25/kernel/common.h"
#include "common/debug.h"
#define BS_ASSERT(EXP) assert(EXP)
diff --git a/engines/sword25/kernel/filesystemutil.cpp b/engines/sword25/kernel/filesystemutil.cpp
index d05ac922e1..b4d4b25f8d 100644
--- a/engines/sword25/kernel/filesystemutil.cpp
+++ b/engines/sword25/kernel/filesystemutil.cpp
@@ -41,8 +41,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "FILESYSTEMUTIL"
-
Common::String FileSystemUtil::getUserdataDirectory() {
// FIXME: This code is a hack which bypasses the savefile API,
// and should eventually be removed.
diff --git a/engines/sword25/kernel/inputpersistenceblock.cpp b/engines/sword25/kernel/inputpersistenceblock.cpp
index 652c2f362f..f3aebef203 100644
--- a/engines/sword25/kernel/inputpersistenceblock.cpp
+++ b/engines/sword25/kernel/inputpersistenceblock.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "INPUTPERSISTENCEBLOCK"
-
#include "sword25/kernel/inputpersistenceblock.h"
namespace Sword25 {
@@ -46,7 +44,7 @@ InputPersistenceBlock::InputPersistenceBlock(const void *data, uint dataLength)
InputPersistenceBlock::~InputPersistenceBlock() {
if (_iter != _data.end())
- BS_LOG_WARNINGLN("Persistence block was not read to the end.");
+ warning("Persistence block was not read to the end.");
}
void InputPersistenceBlock::read(int16 &value) {
@@ -131,7 +129,7 @@ bool InputPersistenceBlock::checkBlockSize(int size) {
return true;
} else {
_errorState = END_OF_DATA;
- BS_LOG_ERRORLN("Unexpected end of persistence block.");
+ error("Unexpected end of persistence block.");
return false;
}
}
@@ -144,7 +142,7 @@ bool InputPersistenceBlock::checkMarker(byte marker) {
return true;
} else {
_errorState = OUT_OF_SYNC;
- BS_LOG_ERRORLN("Wrong type marker found in persistence block.");
+ error("Wrong type marker found in persistence block.");
return false;
}
}
diff --git a/engines/sword25/kernel/kernel.cpp b/engines/sword25/kernel/kernel.cpp
index 9bd8ac5ff7..c328cfdc68 100644
--- a/engines/sword25/kernel/kernel.cpp
+++ b/engines/sword25/kernel/kernel.cpp
@@ -33,6 +33,8 @@
*/
#include "common/system.h"
+
+#include "sword25/sword25.h" // for kDebugScript
#include "sword25/gfx/graphicengine.h"
#include "sword25/fmv/movieplayer.h"
#include "sword25/input/inputengine.h"
@@ -45,8 +47,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "KERNEL"
-
Kernel *Kernel::_instance = 0;
Kernel::Kernel() :
@@ -60,8 +60,6 @@ Kernel::Kernel() :
_fmv(0)
{
- // Log that the kernel is beign created
- BS_LOGLN("created.");
_instance = this;
// Create the resource manager
@@ -76,11 +74,11 @@ Kernel::Kernel() :
// Register kernel script bindings
if (!registerScriptBindings()) {
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
_initSuccess = false;
return;
}
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugScript, "Script bindings registered.");
_input = new InputEngine(this);
assert(_input);
@@ -133,8 +131,6 @@ Kernel::~Kernel() {
// Resource-Manager freigeben
delete _resourceManager;
-
- BS_LOGLN("destroyed.");
}
/**
diff --git a/engines/sword25/kernel/log.cpp b/engines/sword25/kernel/log.cpp
deleted file mode 100644
index 91b0c36ac1..0000000000
--- a/engines/sword25/kernel/log.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-/*
- * This code is based on Broken Sword 2.5 engine
- *
- * Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer
- *
- * Licensed under GNU GPL v2
- *
- */
-
-#include "sword25/kernel/log.h"
-#include "base/version.h"
-#include "common/config-manager.h"
-#include "common/fs.h"
-
-namespace Sword25 {
-
-static const char *BF_LOG_FILENAME = "log.txt";
-static const size_t LOG_BUFFERSIZE = 1024 * 16;
-
-// Logging will take place only when it's activated
-#ifdef BS_ACTIVATE_LOGGING
-
-Common::WriteStream *BS_Log::_logFile = NULL;
-bool BS_Log::_lineBegin = true;
-const char *BS_Log::_prefix = NULL;
-const char *BS_Log::_file = NULL;
-int BS_Log::_line = 0;
-bool BS_Log::_autoNewline = false;
-
-bool BS_Log::createLog() {
- // Open the log file
- Common::FSNode dataDir(ConfMan.get("path"));
- Common::FSNode file = dataDir.getChild(BF_LOG_FILENAME);
-
- // Open the file for saving
- _logFile = file.createWriteStream();
-
- if (_logFile) {
- // Add a title into the log file
- log("Broken Sword 2.5 Engine - Build: %s - %s - VersionID: %s\n", __DATE__, __TIME__, gScummVMFullVersion);
- log("-----------------------------------------------------------------------------------------------------\n");
-
- return true;
- }
-
- // Log file could not be created
- return false;
-}
-
-void BS_Log::closeLog() {
- delete _logFile;
- _logFile = NULL;
-}
-
-void BS_Log::log(const char *format, ...) {
- char message[LOG_BUFFERSIZE];
-
- // Create the message
- va_list argList;
- va_start(argList, format);
- vsnprintf(message, sizeof(message), format, argList);
-
- // Log the message
- writeLog(message);
-
- flushLog();
-}
-
-void BS_Log::logPrefix(const char *prefix, const char *format, ...) {
- char message[LOG_BUFFERSIZE];
- char extFormat[LOG_BUFFERSIZE];
-
- // If the issue has ceased at the beginning of a new line, the new issue to begin with the prefix
- extFormat[0] = 0;
- if (_lineBegin) {
- snprintf(extFormat, sizeof(extFormat), "%s: ", prefix);
- _lineBegin = false;
- }
- // Format String pass line by line and each line with the initial prefix
- for (;;) {
- const char *nextLine = strstr(format, "\n");
- if (!nextLine || *(nextLine + strlen("\n")) == 0) {
- Common::strlcat(extFormat, format, sizeof(extFormat));
- if (nextLine)
- _lineBegin = true;
- break;
- } else {
- strncat(extFormat, format, (nextLine - format) + strlen("\n"));
- Common::strlcat(extFormat, prefix, sizeof(extFormat));
- Common::strlcat(extFormat, ": ", sizeof(extFormat));
- }
-
- format = nextLine + strlen("\n");
- }
-
- // Create message
- va_list argList;
- va_start(argList, format);
- vsnprintf(message, sizeof(message), extFormat, argList);
-
- // Log the message
- writeLog(message);
-
- flushLog();
-}
-
-void BS_Log::logDecorated(const char *format, ...) {
- // Nachricht erzeugen
- char message[LOG_BUFFERSIZE];
- va_list argList;
- va_start(argList, format);
- vsnprintf(message, sizeof(message), format, argList);
-
- // Zweiten prefix erzeugen, falls gewünscht
- char secondaryPrefix[1024];
- if (_file && _line)
- snprintf(secondaryPrefix, sizeof(secondaryPrefix), "(file: %s, line: %d) - ", _file, _line);
-
- // Nachricht zeilenweise ausgeben und an jeden Zeilenanfang das Präfix setzen
- char *messageWalker = message;
- for (;;) {
- char *nextLine = strstr(messageWalker, "\n");
- if (nextLine) {
- *nextLine = 0;
- if (_lineBegin) {
- writeLog(_prefix);
- if (_file && _line)
- writeLog(secondaryPrefix);
- }
- writeLog(messageWalker);
- writeLog("\n");
- messageWalker = nextLine + sizeof("\n") - 1;
- _lineBegin = true;
- } else {
- if (_lineBegin) {
- writeLog(_prefix);
- if (_file && _line)
- writeLog(secondaryPrefix);
- }
- writeLog(messageWalker);
- _lineBegin = false;
- break;
- }
- }
-
- // Falls gewünscht, wird ans Ende der Nachricht automatisch ein Newline angehängt.
- if (_autoNewline) {
- writeLog("\n");
- _lineBegin = true;
- }
-
- // Pseudoparameter zurücksetzen
- _prefix = NULL;
- _file = 0;
- _line = 0;
- _autoNewline = false;
-
- flushLog();
-}
-
-int BS_Log::writeLog(const char *message) {
- if (!_logFile && !createLog())
- return false;
-
- debugN(0, "%s", message);
-
- _logFile->writeString(message);
-
- return true;
-}
-
-void BS_Log::flushLog() {
- if (_logFile)
- _logFile->flush();
-}
-
-void (*BS_LogPtr)(const char *, ...) = BS_Log::log;
-
-void BS_Log_C(const char *message) {
- BS_LogPtr(message);
-}
-
-#else
-
-void BS_Log_C(const char *message) {};
-
-#endif
-
-} // End of namespace Sword25
diff --git a/engines/sword25/kernel/log.h b/engines/sword25/kernel/log.h
deleted file mode 100644
index e7c5789a53..0000000000
--- a/engines/sword25/kernel/log.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-/*
- * This code is based on Broken Sword 2.5 engine
- *
- * Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer
- *
- * Licensed under GNU GPL v2
- *
- */
-
-#ifndef SWORD25_LOG_H
-#define SWORD25_LOG_H
-
-// Includes
-#include "common/array.h"
-#include "common/file.h"
-#include "sword25/kernel/common.h"
-
-namespace Sword25 {
-
-// Logging soll nur stattfinden wenn es aktiviert ist
-#ifdef BS_ACTIVATE_LOGGING
-
-// Logging-Makros
-#define BS_LOG BS_Log::setPrefix(BS_LOG_PREFIX ": "), BS_Log::logDecorated
-#define BS_LOGLN BS_Log::setPrefix(BS_LOG_PREFIX ": "), BS_Log::setAutoNewline(true), BS_Log::logDecorated
-#define BS_LOG_WARNING BS_Log::setPrefix(BS_LOG_PREFIX ": WARNING - "), BS_Log::logDecorated
-#define BS_LOG_WARNINGLN BS_Log::setPrefix(BS_LOG_PREFIX ": WARNING - "), BS_Log::setAutoNewline(true), BS_Log::logDecorated
-#define BS_LOG_ERROR BS_Log::setPrefix(BS_LOG_PREFIX ": ERROR - "), BS_Log::logDecorated
-#define BS_LOG_ERRORLN BS_Log::setPrefix(BS_LOG_PREFIX ": ERROR - "), BS_Log::setAutoNewline(true), BS_Log::logDecorated
-#define BS_LOG_EXTERROR BS_Log::setPrefix(BS_LOG_PREFIX ": ERROR "), BS_Log::setFile(__FILE__), BS_Log::setLine(__LINE__), BS_Log::logDecorated
-#define BS_LOG_EXTERRORLN BS_Log::setPrefix(BS_LOG_PREFIX ": ERROR "), BS_Log::setFile(__FILE__), BS_Log::setLine(__LINE__), BS_Log::setAutoNewline(true), BS_Log::logDecorated
-
-// Die Version der Logging-Klasse mit aktiviertem Logging
-class BS_Log {
-public:
- static void clear();
- static void log(const char *format, ...);
- static void logPrefix(const char *prefix, const char *format, ...);
- static void logDecorated(const char *format, ...);
-
- static void setPrefix(const char *prefix) {
- _prefix = prefix;
- }
- static void setFile(const char *file) {
- _file = file;
- }
- static void setLine(int line) {
- _line = line;
- }
- static void setAutoNewline(bool autoNewline) {
- _autoNewline = autoNewline;
- }
-
- static void closeLog();
-
-private:
- static Common::WriteStream *_logFile;
- static bool _lineBegin;
- static const char *_prefix;
- static const char *_file;
- static int _line;
- static bool _autoNewline;
-
- static bool createLog();
-
- static int writeLog(const char *message);
- static void flushLog();
-};
-
-// Auxiliary function that allows to log C functions (needed for Lua).
-#define BS_Log_C error
-
-
-#else
-
-// Logging-Macros
-#define BS_LOG
-#define BS_LOGLN
-#define BS_LOG_WARNING
-#define BS_LOG_WARNINGLN
-#define BS_LOG_ERROR
-#define BS_LOG_ERRORLN
-#define BS_LOG_EXTERROR
-#define BS_LOG_EXTERRORLN
-
-// The version of the logging class with logging disabled
-class BS_Log {
-public:
- // This version implements all the various methods as empty stubs
- static void log(const char *text, ...) {};
- static void logPrefix(const char *prefix, const char *format, ...) {};
- static void logDecorated(const char *format, ...) {};
-
- static void setPrefix(const char *prefix) {};
- static void setFile(const char *file) {};
- static void setLine(int line) {};
- static void setAutoNewline(bool autoNewline) {};
-
- typedef void (*LOG_LISTENER_CALLBACK)(const char *);
- static void registerLogListener(LOG_LISTENER_CALLBACK callback) {};
-};
-
-#define BS_Log_C error
-
-#endif
-
-} // End of namespace Sword25
-
-#endif
diff --git a/engines/sword25/kernel/outputpersistenceblock.cpp b/engines/sword25/kernel/outputpersistenceblock.cpp
index b1c3233b59..a8a39cb822 100644
--- a/engines/sword25/kernel/outputpersistenceblock.cpp
+++ b/engines/sword25/kernel/outputpersistenceblock.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "OUTPUTPERSISTENCEBLOCK"
-
#include "sword25/kernel/outputpersistenceblock.h"
namespace {
diff --git a/engines/sword25/kernel/persistenceservice.cpp b/engines/sword25/kernel/persistenceservice.cpp
index 0508f2be8f..be66b6abf0 100644
--- a/engines/sword25/kernel/persistenceservice.cpp
+++ b/engines/sword25/kernel/persistenceservice.cpp
@@ -46,8 +46,6 @@
#include "sword25/script/script.h"
#include <zlib.h>
-#define BS_LOG_PREFIX "PERSISTENCESERVICE"
-
namespace Sword25 {
//static const char *SAVEGAME_EXTENSION = ".b25s";
@@ -215,7 +213,7 @@ namespace {
bool checkslotID(uint slotID) {
// Überprüfen, ob die Slot-ID zulässig ist.
if (slotID >= SLOT_COUNT) {
- BS_LOG_ERRORLN("Tried to access an invalid slot (%d). Only slot ids from 0 to %d are allowed.", slotID, SLOT_COUNT - 1);
+ error("Tried to access an invalid slot (%d). Only slot ids from 0 to %d are allowed.", slotID, SLOT_COUNT - 1);
return false;
} else {
return true;
@@ -255,7 +253,7 @@ bool PersistenceService::saveGame(uint slotID, const Common::String &screenshotF
// Überprüfen, ob die Slot-ID zulässig ist.
if (slotID >= SLOT_COUNT) {
- BS_LOG_ERRORLN("Tried to save to an invalid slot (%d). Only slot ids form 0 to %d are allowed.", slotID, SLOT_COUNT - 1);
+ error("Tried to save to an invalid slot (%d). Only slot ids form 0 to %d are allowed.", slotID, SLOT_COUNT - 1);
return false;
}
@@ -327,7 +325,7 @@ bool PersistenceService::saveGame(uint slotID, const Common::String &screenshotF
delete[] buffer;
} else {
- BS_LOG_WARNINGLN("The screenshot file \"%s\" does not exist. Savegame is written without a screenshot.", filename.c_str());
+ warning("The screenshot file \"%s\" does not exist. Savegame is written without a screenshot.", filename.c_str());
}
file->finalize();
@@ -347,7 +345,7 @@ bool PersistenceService::loadGame(uint slotID) {
// Überprüfen, ob die Slot-ID zulässig ist.
if (slotID >= SLOT_COUNT) {
- BS_LOG_ERRORLN("Tried to load from an invalid slot (%d). Only slot ids form 0 to %d are allowed.", slotID, SLOT_COUNT - 1);
+ error("Tried to load from an invalid slot (%d). Only slot ids form 0 to %d are allowed.", slotID, SLOT_COUNT - 1);
return false;
}
@@ -355,7 +353,7 @@ bool PersistenceService::loadGame(uint slotID) {
// Überprüfen, ob der Slot belegt ist.
if (!curSavegameInfo.isOccupied) {
- BS_LOG_ERRORLN("Tried to load from an empty slot (%d).", slotID);
+ error("Tried to load from an empty slot (%d).", slotID);
return false;
}
@@ -364,7 +362,7 @@ bool PersistenceService::loadGame(uint slotID) {
// da sich die Versions-ID bei jeder Codeänderung mitändert.
#ifndef DEBUG
if (!curSavegameInfo.isCompatible) {
- BS_LOG_ERRORLN("Tried to load a savegame (%d) that is not compatible with this engine version.", slotID);
+ error("Tried to load a savegame (%d) that is not compatible with this engine version.", slotID);
return false;
}
#endif
@@ -377,7 +375,7 @@ bool PersistenceService::loadGame(uint slotID) {
file->seek(curSavegameInfo.gamedataOffset);
file->read(reinterpret_cast<char *>(&compressedDataBuffer[0]), curSavegameInfo.gamedataLength);
if (file->err()) {
- BS_LOG_ERRORLN("Unable to load the gamedata from the savegame file \"%s\".", curSavegameInfo.filename.c_str());
+ error("Unable to load the gamedata from the savegame file \"%s\".", curSavegameInfo.filename.c_str());
delete[] compressedDataBuffer;
delete[] uncompressedDataBuffer;
return false;
@@ -387,7 +385,7 @@ bool PersistenceService::loadGame(uint slotID) {
uLongf uncompressedBufferSize = curSavegameInfo.gamedataUncompressedLength;
if (uncompress(reinterpret_cast<Bytef *>(&uncompressedDataBuffer[0]), &uncompressedBufferSize,
reinterpret_cast<Bytef *>(&compressedDataBuffer[0]), curSavegameInfo.gamedataLength) != Z_OK) {
- BS_LOG_ERRORLN("Unable to decompress the gamedata from savegame file \"%s\".", curSavegameInfo.filename.c_str());
+ error("Unable to decompress the gamedata from savegame file \"%s\".", curSavegameInfo.filename.c_str());
delete[] uncompressedDataBuffer;
delete[] compressedDataBuffer;
delete file;
@@ -410,7 +408,7 @@ bool PersistenceService::loadGame(uint slotID) {
delete file;
if (!success) {
- BS_LOG_ERRORLN("Unable to unpersist the gamedata from savegame file \"%s\".", curSavegameInfo.filename.c_str());
+ error("Unable to unpersist the gamedata from savegame file \"%s\".", curSavegameInfo.filename.c_str());
return false;
}
diff --git a/engines/sword25/kernel/resmanager.cpp b/engines/sword25/kernel/resmanager.cpp
index 1979e6e6c6..df975bcca6 100644
--- a/engines/sword25/kernel/resmanager.cpp
+++ b/engines/sword25/kernel/resmanager.cpp
@@ -32,16 +32,14 @@
*
*/
+#include "sword25/sword25.h" // for kDebugResource
#include "sword25/kernel/resmanager.h"
-
#include "sword25/kernel/resource.h"
#include "sword25/kernel/resservice.h"
#include "sword25/package/packagemanager.h"
namespace Sword25 {
-#define BS_LOG_PREFIX "RESOURCEMANAGER"
-
ResourceManager::~ResourceManager() {
// Clear all unlocked resources
emptyCache();
@@ -49,7 +47,7 @@ ResourceManager::~ResourceManager() {
// All remaining resources are not released, so print warnings and release
Common::List<Resource *>::iterator iter = _resources.begin();
for (; iter != _resources.end(); ++iter) {
- BS_LOG_WARNINGLN("Resource \"%s\" was not released.", (*iter)->getFileName().c_str());
+ warning("Resource \"%s\" was not released.", (*iter)->getFileName().c_str());
// Set the lock count to zero
while ((*iter)->getLockCount() > 0) {
@@ -68,7 +66,7 @@ ResourceManager::~ResourceManager() {
*/
bool ResourceManager::registerResourceService(ResourceService *pService) {
if (!pService) {
- BS_LOG_ERRORLN("Can't register NULL resource service.");
+ error("Can't register NULL resource service.");
return false;
}
@@ -136,7 +134,7 @@ Resource *ResourceManager::requestResource(const Common::String &fileName) {
// The resource was not found, therefore, must not be loaded yet
if (_logCacheMiss)
- BS_LOG_WARNINGLN("\"%s\" was not precached.", uniqueFileName.c_str());
+ warning("\"%s\" was not precached.", uniqueFileName.c_str());
Resource *pResource = loadResource(uniqueFileName);
if (pResource) {
@@ -163,7 +161,7 @@ bool ResourceManager::precacheResource(const Common::String &fileName, bool forc
if (forceReload && resourcePtr) {
if (resourcePtr->getLockCount()) {
- BS_LOG_ERRORLN("Could not force precaching of \"%s\". The resource is locked.", fileName.c_str());
+ error("Could not force precaching of \"%s\". The resource is locked.", fileName.c_str());
return false;
} else {
deleteResource(resourcePtr);
@@ -172,7 +170,8 @@ bool ResourceManager::precacheResource(const Common::String &fileName, bool forc
}
if (!resourcePtr && loadResource(uniqueFileName) == NULL) {
- BS_LOG_ERRORLN("Could not precache \"%s\",", fileName.c_str());
+ // This isn't fatal - e.g. it can happen when loading saved games
+ debugC(kDebugResource, "Could not precache \"%s\",", fileName.c_str());
return false;
}
@@ -208,7 +207,7 @@ Resource *ResourceManager::loadResource(const Common::String &fileName) {
// Load the resource
Resource *pResource = _resourceServices[i]->loadResource(fileName);
if (!pResource) {
- BS_LOG_ERRORLN("Responsible service could not load resource \"%s\".", fileName.c_str());
+ error("Responsible service could not load resource \"%s\".", fileName.c_str());
return NULL;
}
@@ -223,7 +222,8 @@ Resource *ResourceManager::loadResource(const Common::String &fileName) {
}
}
- BS_LOG_ERRORLN("Could not find a service that can load \"%s\".", fileName.c_str());
+ // This isn't fatal - e.g. it can happen when loading saved games
+ debugC(kDebugResource, "Could not find a service that can load \"%s\".", fileName.c_str());
return NULL;
}
@@ -235,14 +235,14 @@ Common::String ResourceManager::getUniqueFileName(const Common::String &fileName
// Get a pointer to the package manager
PackageManager *pPackage = (PackageManager *)_kernelPtr->getPackage();
if (!pPackage) {
- BS_LOG_ERRORLN("Could not get package manager.");
+ error("Could not get package manager.");
return Common::String();
}
// Absoluten Pfad der Datei bekommen und somit die Eindeutigkeit des Dateinamens sicherstellen
Common::String uniquefileName = pPackage->getAbsolutePath(fileName);
if (uniquefileName.empty())
- BS_LOG_ERRORLN("Could not create absolute file name for \"%s\".", fileName.c_str());
+ error("Could not create absolute file name for \"%s\".", fileName.c_str());
return uniquefileName;
}
@@ -284,7 +284,7 @@ Resource *ResourceManager::getResource(const Common::String &uniquefileName) con
void ResourceManager::dumpLockedResources() {
for (Common::List<Resource *>::iterator iter = _resources.begin(); iter != _resources.end(); ++iter) {
if ((*iter)->getLockCount() > 0) {
- BS_LOGLN("%s", (*iter)->getFileName().c_str());
+ debugC(kDebugResource, "%s", (*iter)->getFileName().c_str());
}
}
}
diff --git a/engines/sword25/kernel/resource.cpp b/engines/sword25/kernel/resource.cpp
index 40eea2138c..2ec7c6736a 100644
--- a/engines/sword25/kernel/resource.cpp
+++ b/engines/sword25/kernel/resource.cpp
@@ -38,8 +38,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "RESOURCE"
-
Resource::Resource(const Common::String &fileName, RESOURCE_TYPES type) :
_type(type),
_refCount(0) {
@@ -53,7 +51,7 @@ void Resource::release() {
if (_refCount) {
--_refCount;
} else
- BS_LOG_WARNINGLN("Released unlocked resource \"%s\".", _fileName.c_str());
+ warning("Released unlocked resource \"%s\".", _fileName.c_str());
}
} // End of namespace Sword25
diff --git a/engines/sword25/math/geometry.cpp b/engines/sword25/math/geometry.cpp
index bad6fcdb06..cf3adae60a 100644
--- a/engines/sword25/math/geometry.cpp
+++ b/engines/sword25/math/geometry.cpp
@@ -32,17 +32,16 @@
*
*/
+#include "sword25/sword25.h" // for kDebugScript
#include "sword25/math/geometry.h"
namespace Sword25 {
-#define BS_LOG_PREFIX "GEOMETRY"
-
Geometry::Geometry(Kernel *pKernel) : Service(pKernel) {
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugScript, "Script bindings registered.");
}
diff --git a/engines/sword25/math/region.cpp b/engines/sword25/math/region.cpp
index ae9b76d077..ae729c4de3 100644
--- a/engines/sword25/math/region.cpp
+++ b/engines/sword25/math/region.cpp
@@ -39,8 +39,6 @@
#include "sword25/math/walkregion.h"
#include "sword25/math/regionregistry.h"
-#define BS_LOG_PREFIX "REGION"
-
namespace Sword25 {
Region::Region() : _valid(false), _type(RT_REGION) {
@@ -261,7 +259,7 @@ Vertex Region::findClosestRegionPoint(const Vertex &point) const {
}
}
- BS_LOG_WARNINGLN("Clostest vertex forced because edgepoint was outside region.");
+ warning("Clostest vertex forced because edgepoint was outside region.");
return closestVertex;
}
}
diff --git a/engines/sword25/math/regionregistry.cpp b/engines/sword25/math/regionregistry.cpp
index c1fd6e98a8..f11f45540f 100644
--- a/engines/sword25/math/regionregistry.cpp
+++ b/engines/sword25/math/regionregistry.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "REGIONREGISTRY"
-
#include "sword25/kernel/outputpersistenceblock.h"
#include "sword25/kernel/inputpersistenceblock.h"
#include "sword25/math/regionregistry.h"
@@ -44,11 +42,11 @@ DECLARE_SINGLETON(Sword25::RegionRegistry);
namespace Sword25 {
void RegionRegistry::logErrorLn(const char *message) const {
- BS_LOG_ERRORLN(message);
+ error(message);
}
void RegionRegistry::logWarningLn(const char *message) const {
- BS_LOG_WARNINGLN(message);
+ warning(message);
}
bool RegionRegistry::persist(OutputPersistenceBlock &writer) {
diff --git a/engines/sword25/math/walkregion.cpp b/engines/sword25/math/walkregion.cpp
index da24883466..23f0e4e2ca 100644
--- a/engines/sword25/math/walkregion.cpp
+++ b/engines/sword25/math/walkregion.cpp
@@ -38,8 +38,6 @@
#include "sword25/math/walkregion.h"
#include "sword25/math/line.h"
-#define BS_LOG_PREFIX "WALKREGION"
-
namespace Sword25 {
static const int Infinity = 0x7fffffff;
@@ -285,7 +283,7 @@ bool WalkRegion::checkAndPrepareStartAndEnd(Vertex &start, Vertex &end) const {
// Check to make sure the point is really in the region. If not, stop with an error
if (!isPointInRegion(newStart)) {
- BS_LOG_ERRORLN("Constructed startpoint ((%d,%d) from (%d,%d)) is not inside the region.",
+ error("Constructed startpoint ((%d,%d) from (%d,%d)) is not inside the region.",
newStart.x, newStart.y,
start.x, start.y);
return false;
@@ -301,7 +299,7 @@ bool WalkRegion::checkAndPrepareStartAndEnd(Vertex &start, Vertex &end) const {
// Make sure that the determined point is really within the region
if (!isPointInRegion(newEnd)) {
- BS_LOG_ERRORLN("Constructed endpoint ((%d,%d) from (%d,%d)) is not inside the region.",
+ error("Constructed endpoint ((%d,%d) from (%d,%d)) is not inside the region.",
newEnd.x, newEnd.y,
end.x, end.y);
return false;
diff --git a/engines/sword25/module.mk b/engines/sword25/module.mk
index 944e2c49c3..7fe76628b2 100644
--- a/engines/sword25/module.mk
+++ b/engines/sword25/module.mk
@@ -38,7 +38,6 @@ MODULE_OBJS := \
kernel/inputpersistenceblock.o \
kernel/kernel.o \
kernel/kernel_script.o \
- kernel/log.o \
kernel/outputpersistenceblock.o \
kernel/persistenceservice.o \
kernel/resmanager.o \
diff --git a/engines/sword25/package/packagemanager.cpp b/engines/sword25/package/packagemanager.cpp
index 4765d26ed4..91bd6eb855 100644
--- a/engines/sword25/package/packagemanager.cpp
+++ b/engines/sword25/package/packagemanager.cpp
@@ -32,14 +32,13 @@
*
*/
-#define BS_LOG_PREFIX "PACKAGEMANAGER"
-
#include "common/archive.h"
#include "common/config-manager.h"
#include "common/savefile.h"
#include "common/str-array.h"
#include "common/system.h"
#include "common/unzip.h"
+#include "sword25/sword25.h" // for kDebugScript
#include "sword25/kernel/filesystemutil.h"
#include "sword25/package/packagemanager.h"
@@ -62,9 +61,9 @@ PackageManager::PackageManager(Kernel *pKernel) : Service(pKernel),
_currentDirectory(PATH_SEPARATOR),
_rootFolder(ConfMan.get("path")) {
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugScript, "Script bindings registered.");
}
PackageManager::~PackageManager() {
@@ -106,10 +105,10 @@ bool PackageManager::loadPackage(const Common::String &fileName, const Common::S
Common::Archive *zipFile = Common::makeZipArchive(fileName);
if (zipFile == NULL) {
- BS_LOG_ERRORLN("Unable to mount file \"%s\" to \"%s\"", fileName.c_str(), mountPosition.c_str());
+ error("Unable to mount file \"%s\" to \"%s\"", fileName.c_str(), mountPosition.c_str());
return false;
} else {
- BS_LOGLN("Package '%s' mounted as '%s'.", fileName.c_str(), mountPosition.c_str());
+ debugC(kDebugResource, "Package '%s' mounted as '%s'.", fileName.c_str(), mountPosition.c_str());
Common::ArchiveMemberList files;
zipFile->listMembers(files);
debug(3, "Capacity %d", files.size());
@@ -127,10 +126,10 @@ bool PackageManager::loadDirectoryAsPackage(const Common::String &directoryName,
Common::FSNode directory(directoryName);
Common::Archive *folderArchive = new Common::FSDirectory(directory, 6);
if (!directory.exists() || (folderArchive == NULL)) {
- BS_LOG_ERRORLN("Unable to mount directory \"%s\" to \"%s\".", directoryName.c_str(), mountPosition.c_str());
+ error("Unable to mount directory \"%s\" to \"%s\".", directoryName.c_str(), mountPosition.c_str());
return false;
} else {
- BS_LOGLN("Directory '%s' mounted as '%s'.", directoryName.c_str(), mountPosition.c_str());
+ debugC(kDebugResource, "Directory '%s' mounted as '%s'.", directoryName.c_str(), mountPosition.c_str());
Common::ArchiveMemberList files;
folderArchive->listMembers(files);
@@ -152,7 +151,7 @@ byte *PackageManager::getFile(const Common::String &fileName, uint *fileSizePtr)
Common::InSaveFile *file = sfm->openForLoading(
FileSystemUtil::getPathFilename(fileName));
if (!file) {
- BS_LOG_ERRORLN("Could not load savegame \"%s\".", fileName.c_str());
+ error("Could not load savegame \"%s\".", fileName.c_str());
return 0;
}
diff --git a/engines/sword25/script/lua_extensions.cpp b/engines/sword25/script/lua_extensions.cpp
index 25a43e17d2..50d7acc52e 100644
--- a/engines/sword25/script/lua_extensions.cpp
+++ b/engines/sword25/script/lua_extensions.cpp
@@ -47,7 +47,6 @@ static int warning(lua_State *L) {
lua_pushstring(L, "WARNING - ");
lua_pushvalue(L, 1);
lua_concat(L, 3);
- BS_Log::log("%s\n", luaL_checkstring(L, -1));
lua_pop(L, 1);
#ifdef DEBUG
diff --git a/engines/sword25/script/luabindhelper.cpp b/engines/sword25/script/luabindhelper.cpp
index 5367854218..b227754489 100644
--- a/engines/sword25/script/luabindhelper.cpp
+++ b/engines/sword25/script/luabindhelper.cpp
@@ -36,8 +36,6 @@
#include "sword25/script/luabindhelper.h"
#include "sword25/script/luascript.h"
-#define BS_LOG_PREFIX "LUABINDHELPER"
-
namespace {
const char *METATABLES_TABLE_NAME = "__METATABLES";
const char *PERMANENTS_TABLE_NAME = "Permanents";
diff --git a/engines/sword25/script/luacallback.cpp b/engines/sword25/script/luacallback.cpp
index bb2c821aa8..39ce29ea77 100644
--- a/engines/sword25/script/luacallback.cpp
+++ b/engines/sword25/script/luacallback.cpp
@@ -42,8 +42,6 @@ const char *CALLBACKTABLE_NAME = "__CALLBACKS";
namespace Sword25 {
-#define BS_LOG_PREFIX "LUA"
-
LuaCallback::LuaCallback(lua_State *L) {
// Create callback table
lua_newtable(L);
@@ -122,7 +120,7 @@ void LuaCallback::invokeCallbackFunctions(lua_State *L, uint objectHandle) {
// Lua_pcall the function and the parameters pop themselves from the stack
if (lua_pcall(L, argumentCount, 0, 0) != 0) {
// An error has occurred
- BS_LOG_ERRORLN("An error occured executing a callback function: %s", lua_tostring(L, -1));
+ error("An error occured executing a callback function: %s", lua_tostring(L, -1));
// Pop error message from the stack
lua_pop(L, 1);
diff --git a/engines/sword25/script/luascript.cpp b/engines/sword25/script/luascript.cpp
index aa2bdb9e06..140c09041b 100644
--- a/engines/sword25/script/luascript.cpp
+++ b/engines/sword25/script/luascript.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "LUA"
-
#include "common/array.h"
#include "common/debug-channels.h"
@@ -66,7 +64,7 @@ LuaScriptEngine::~LuaScriptEngine() {
namespace {
int panicCB(lua_State *L) {
- BS_LOG_ERRORLN("Lua panic. Error message: %s", lua_isnil(L, -1) ? "" : lua_tostring(L, -1));
+ error("Lua panic. Error message: %s", lua_isnil(L, -1) ? "" : lua_tostring(L, -1));
return 0;
}
@@ -82,7 +80,7 @@ bool LuaScriptEngine::init() {
// Lua-State initialisation, as well as standard libaries initialisation
_state = luaL_newstate();
if (!_state || ! registerStandardLibs() || !registerStandardLibExtensions()) {
- BS_LOG_ERRORLN("Lua could not be initialized.");
+ error("Lua could not be initialized.");
return false;
}
@@ -100,7 +98,7 @@ bool LuaScriptEngine::init() {
// Compile the code
if (luaL_loadbuffer(_state, errorHandlerCode, strlen(errorHandlerCode), "PCALL ERRORHANDLER") != 0) {
// An error occurred, so dislay the reason and exit
- BS_LOG_ERRORLN("Couldn't compile luaL_pcall errorhandler:\n%s", lua_tostring(_state, -1));
+ error("Couldn't compile luaL_pcall errorhandler:\n%s", lua_tostring(_state, -1));
lua_pop(_state, 1);
return false;
@@ -108,7 +106,7 @@ bool LuaScriptEngine::init() {
// Running the code, the error handler function sets the top of the stack
if (lua_pcall(_state, 0, 1, 0) != 0) {
// An error occurred, so dislay the reason and exit
- BS_LOG_ERRORLN("Couldn't prepare luaL_pcall errorhandler:\n%s", lua_tostring(_state, -1));
+ error("Couldn't prepare luaL_pcall errorhandler:\n%s", lua_tostring(_state, -1));
lua_pop(_state, 1);
return false;
@@ -135,7 +133,7 @@ bool LuaScriptEngine::init() {
lua_sethook(_state, debugHook, mask, 0);
}
- BS_LOGLN("Lua initialized.");
+ debugC(kDebugScript, "Lua initialized.");
return true;
}
@@ -154,7 +152,7 @@ bool LuaScriptEngine::executeFile(const Common::String &fileName) {
uint fileSize;
byte *fileData = pPackage->getFile(fileName, &fileSize);
if (!fileData) {
- BS_LOG_ERRORLN("Couldn't read \"%s\".", fileName.c_str());
+ error("Couldn't read \"%s\".", fileName.c_str());
#ifdef DEBUG
BS_ASSERT(__startStackDepth == lua_gettop(_state));
#endif
@@ -211,7 +209,7 @@ bool LuaScriptEngine::registerStandardLibs() {
bool LuaScriptEngine::executeBuffer(const byte *data, uint size, const Common::String &name) const {
// Compile buffer
if (luaL_loadbuffer(_state, (const char *)data, size, name.c_str()) != 0) {
- BS_LOG_ERRORLN("Couldn't compile \"%s\":\n%s", name.c_str(), lua_tostring(_state, -1));
+ error("Couldn't compile \"%s\":\n%s", name.c_str(), lua_tostring(_state, -1));
lua_pop(_state, 1);
return false;
@@ -223,7 +221,7 @@ bool LuaScriptEngine::executeBuffer(const byte *data, uint size, const Common::S
// Run buffer contents
if (lua_pcall(_state, 0, 0, -2) != 0) {
- BS_LOG_ERRORLN("An error occured while executing \"%s\":\n%s.",
+ error("An error occured while executing \"%s\":\n%s.",
name.c_str(),
lua_tostring(_state, -1));
lua_pop(_state, 2);
diff --git a/engines/sword25/sfx/soundengine.cpp b/engines/sword25/sfx/soundengine.cpp
index 3d8dc029cc..f28ad26fe7 100644
--- a/engines/sword25/sfx/soundengine.cpp
+++ b/engines/sword25/sfx/soundengine.cpp
@@ -32,8 +32,6 @@
*
*/
-#define BS_LOG_PREFIX "SOUNDENGINE"
-
#include "sword25/sword25.h"
#include "sword25/sfx/soundengine.h"
#include "sword25/package/packagemanager.h"
@@ -57,9 +55,9 @@ private:
SoundEngine::SoundEngine(Kernel *pKernel) : ResourceService(pKernel) {
if (!registerScriptBindings())
- BS_LOG_ERRORLN("Script bindings could not be registered.");
+ error("Script bindings could not be registered.");
else
- BS_LOGLN("Script bindings registered.");
+ debugC(kDebugSound, "Script bindings registered.");
_mixer = g_system->getMixer();
diff --git a/engines/sword25/sword25.cpp b/engines/sword25/sword25.cpp
index 4c188fe7ea..b76de784b9 100644
--- a/engines/sword25/sword25.cpp
+++ b/engines/sword25/sword25.cpp
@@ -49,8 +49,6 @@
namespace Sword25 {
-#define BS_LOG_PREFIX "MAIN"
-
const char *const PACKAGE_MANAGER = "archiveFS";
const char *const DEFAULT_SCRIPT_FILE = "/system/boot.lua";
@@ -96,7 +94,7 @@ Common::Error Sword25Engine::appStart() {
// Kernel initialization
if (!Kernel::getInstance()->getInitSuccess()) {
- BS_LOG_ERRORLN("Kernel initialization failed.");
+ error("Kernel initialization failed.");
return Common::kUnknownError;
}
@@ -113,7 +111,7 @@ Common::Error Sword25Engine::appStart() {
// Pass the command line to the script engine.
ScriptEngine *scriptPtr = Kernel::getInstance()->getScript();
if (!scriptPtr) {
- BS_LOG_ERRORLN("Script intialization failed.");
+ error("Script intialization failed.");
return Common::kUnknownError;
}
@@ -143,9 +141,6 @@ bool Sword25Engine::appEnd() {
RenderObjectRegistry::destroy();
RegionRegistry::destroy();
- // Free the log file if it was used
- BS_Log::closeLog();
-
return true;
}
diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h
index 91b62cba09..9e9679526b 100644
--- a/engines/sword25/sword25.h
+++ b/engines/sword25/sword25.h
@@ -31,7 +31,6 @@
#include "common/util.h"
#include "engines/engine.h"
-#include "sword25/kernel/log.h"
#include "sword25/console.h"
struct ADGameDescription;
@@ -52,7 +51,8 @@ enum {
enum {
kDebugScript = 1 << 0,
- kDebugSound = 1 << 1
+ kDebugSound = 1 << 1,
+ kDebugResource = 1 << 2
};
enum GameFlags {