From d2df9cfb227ab8d6a302183c5f4a3377bb8f5140 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 1 Aug 2012 23:25:41 +0200 Subject: Add a checkbox to the debugging window to show being ids. Reviewed-by: Ablu --- src/gui/debugwindow.cpp | 21 +++++++++++++++++++++ src/gui/viewport.cpp | 22 +++++++++++++++++++++- src/map.h | 7 ++++--- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index d2fd4a29..13babb73 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -137,6 +137,7 @@ public: mBeingPosition = new CheckBox(_("Being positions")); mBeingPath = new CheckBox(_("Being path")); mMousePath = new CheckBox(_("Mouse path")); + mBeingIds = new CheckBox(_("Being Ids")); Label *specialsLabel = new Label(_("Specials:")); mSpecialNormal = new RadioButton(_("Normal"), "mapdebug"); @@ -154,6 +155,7 @@ public: place(0, 4, mBeingPosition, 1); place(0, 5, mBeingPath, 1); place(0, 6, mMousePath, 1); + place(0, 7, mBeingIds, 1); place(1, 0, specialsLabel, 1); place(1, 1, mSpecialNormal, 1); place(1, 2, mSpecial1, 1); @@ -170,12 +172,28 @@ public: mBeingPosition->addActionListener(this); mBeingPath->addActionListener(this); mMousePath->addActionListener(this); + mBeingIds->addActionListener(this); mSpecialNormal->addActionListener(this); mSpecial1->addActionListener(this); mSpecial2->addActionListener(this); mSpecial3->addActionListener(this); } + ~DebugSwitches() + { + delete mGrid; + delete mCollisionTiles; + delete mBeingCollisionRadius; + delete mBeingPosition; + delete mBeingPath; + delete mMousePath; + delete mBeingIds; + delete mSpecialNormal; + delete mSpecial1; + delete mSpecial2; + delete mSpecial3; + } + void action(const gcn::ActionEvent &event) { int flags = 0; @@ -192,6 +210,8 @@ public: flags |= Map::DEBUG_BEING_PATH; if (mMousePath->isSelected()) flags |= Map::DEBUG_MOUSE_PATH; + if (mBeingIds->isSelected()) + flags |= Map::DEBUG_BEING_IDS; if (mSpecial1->isSelected()) flags |= Map::DEBUG_SPECIAL1; if (mSpecial2->isSelected()) @@ -209,6 +229,7 @@ private: CheckBox *mBeingPosition; CheckBox *mBeingPath; CheckBox *mMousePath; + CheckBox *mBeingIds; RadioButton *mSpecialNormal; RadioButton *mSpecial1; RadioButton *mSpecial2; diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 1b5b00c3..e06c5f8d 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -249,6 +249,26 @@ void Viewport::draw(gcn::Graphics *gcnGraphics) b->drawSpeech((int) mPixelViewX, (int) mPixelViewY); } + if (mDebugFlags & Map::DEBUG_BEING_IDS) + { + graphics->setColor(gcn::Color(255, 0, 255, 255)); + ActorSpritesConstIterator it, it_end; + const ActorSprites &actors = actorSpriteManager->getAll(); + for (it = actors.begin(), it_end = actors.end(); it != it_end; ++it) + { + Being *being = dynamic_cast(*it); + if (!being) + continue; + + const Vector &beingPos = being->getPosition(); + std::string idString = toString(being->getId()); + graphics->drawText(idString, + beingPos.x - mPixelViewX, + beingPos.y - mPixelViewY, + gcn::Graphics::CENTER); + } + } + if (miniStatusWindow) miniStatusWindow->drawIcons(graphics); @@ -364,7 +384,7 @@ void Viewport::_drawDebugPath(Graphics *graphics) // Draw the path debug information for every beings. ActorSpritesConstIterator it, it_end; const ActorSprites &actors = actorSpriteManager->getAll(); - for (it = actors.begin(), it_end = actors.end() ; it != it_end; it++) + for (it = actors.begin(), it_end = actors.end(); it != it_end; it++) { Being *being = dynamic_cast(*it); if (!being) diff --git a/src/map.h b/src/map.h index b7917275..ed247eb7 100644 --- a/src/map.h +++ b/src/map.h @@ -169,9 +169,10 @@ class Map : public Properties DEBUG_BEING_POSITION = 0x8, DEBUG_BEING_PATH = 0x10, DEBUG_MOUSE_PATH = 0x20, - DEBUG_SPECIAL1 = 0x40, - DEBUG_SPECIAL2 = 0x80, - DEBUG_SPECIAL3 = 0x100 + DEBUG_BEING_IDS = 0x40, + DEBUG_SPECIAL1 = 0x80, + DEBUG_SPECIAL2 = 0x100, + DEBUG_SPECIAL3 = 0x200 }; /** -- cgit v1.2.3-70-g09d2 From a4bdd8f7bef9ce0002a9015e0ebc9c4cb8dd3614 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 2 Aug 2012 23:38:06 +0200 Subject: Removing constructor of DebugSwitches. The class DebugSwitches is a derived class from Container, 'which automatically deletes its child widgets, so there is no need for such fragile cleanup code.' acked-by: bjorn --- src/gui/debugwindow.cpp | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index 13babb73..cb871b44 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -179,21 +179,6 @@ public: mSpecial3->addActionListener(this); } - ~DebugSwitches() - { - delete mGrid; - delete mCollisionTiles; - delete mBeingCollisionRadius; - delete mBeingPosition; - delete mBeingPath; - delete mMousePath; - delete mBeingIds; - delete mSpecialNormal; - delete mSpecial1; - delete mSpecial2; - delete mSpecial3; - } - void action(const gcn::ActionEvent &event) { int flags = 0; -- cgit v1.2.3-70-g09d2 From 4eea727b7649726670d8963d11ab4fd429624b3e Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 29 Jul 2012 22:08:40 +0200 Subject: Graphics: take only const pointers to images. Acked-by: Erik Schilling --- src/graphics.cpp | 6 +++--- src/graphics.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/graphics.cpp b/src/graphics.cpp index 7b56d974..8bd16faa 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -146,7 +146,7 @@ int Graphics::getHeight() const return mHeight; } -bool Graphics::drawImage(Image *image, int x, int y) +bool Graphics::drawImage(const Image *image, int x, int y) { if (image) return drawImage(image, 0, 0, x, y, image->mBounds.w, image->mBounds.h); @@ -193,7 +193,7 @@ bool Graphics::drawRescaledImage(Image *image, int srcX, int srcY, return returnValue; } -bool Graphics::drawImage(Image *image, int srcX, int srcY, int dstX, int dstY, +bool Graphics::drawImage(const Image *image, int srcX, int srcY, int dstX, int dstY, int width, int height, bool) { // Check that preconditions for blitting are met. @@ -228,7 +228,7 @@ void Graphics::drawImage(gcn::Image const *image, int srcX, int srcY, drawImage(srcImage->getImage(), srcX, srcY, dstX, dstY, width, height, true); } -void Graphics::drawImagePattern(Image *image, int x, int y, int w, int h) +void Graphics::drawImagePattern(const Image *image, int x, int y, int w, int h) { // Check that preconditions for blitting are met. if (!mTarget || !image) diff --git a/src/graphics.h b/src/graphics.h index 6a17aab4..c70e7978 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -99,7 +99,7 @@ class Graphics : public gcn::SDLGraphics * @return true if the image was blitted properly * false otherwise. */ - bool drawImage(Image *image, int x, int y); + bool drawImage(const Image *image, int x, int y); /** * Overrides with our own drawing method. @@ -135,13 +135,13 @@ class Graphics : public gcn::SDLGraphics * @return true if the image was blitted properly * false otherwise. */ - virtual bool drawImage(Image *image, + virtual bool drawImage(const Image *image, int srcX, int srcY, int dstX, int dstY, int width, int height, bool useColor = false); - virtual void drawImagePattern(Image *image, + virtual void drawImagePattern(const Image *image, int x, int y, int w, int h); -- cgit v1.2.3-70-g09d2 From 363f71157a8107190b3bd2ba656faf0a0e63ab36 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 5 Aug 2012 16:39:32 +0200 Subject: Revert "Graphics: take only const pointers to images." This reverts commit 4eea727b7649726670d8963d11ab4fd429624b3e. It broke the overrides of the virtual functions and leaves the Graphics API in inconsistent state with some Image* being const and others not. --- src/graphics.cpp | 6 +++--- src/graphics.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/graphics.cpp b/src/graphics.cpp index 8bd16faa..7b56d974 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -146,7 +146,7 @@ int Graphics::getHeight() const return mHeight; } -bool Graphics::drawImage(const Image *image, int x, int y) +bool Graphics::drawImage(Image *image, int x, int y) { if (image) return drawImage(image, 0, 0, x, y, image->mBounds.w, image->mBounds.h); @@ -193,7 +193,7 @@ bool Graphics::drawRescaledImage(Image *image, int srcX, int srcY, return returnValue; } -bool Graphics::drawImage(const Image *image, int srcX, int srcY, int dstX, int dstY, +bool Graphics::drawImage(Image *image, int srcX, int srcY, int dstX, int dstY, int width, int height, bool) { // Check that preconditions for blitting are met. @@ -228,7 +228,7 @@ void Graphics::drawImage(gcn::Image const *image, int srcX, int srcY, drawImage(srcImage->getImage(), srcX, srcY, dstX, dstY, width, height, true); } -void Graphics::drawImagePattern(const Image *image, int x, int y, int w, int h) +void Graphics::drawImagePattern(Image *image, int x, int y, int w, int h) { // Check that preconditions for blitting are met. if (!mTarget || !image) diff --git a/src/graphics.h b/src/graphics.h index c70e7978..6a17aab4 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -99,7 +99,7 @@ class Graphics : public gcn::SDLGraphics * @return true if the image was blitted properly * false otherwise. */ - bool drawImage(const Image *image, int x, int y); + bool drawImage(Image *image, int x, int y); /** * Overrides with our own drawing method. @@ -135,13 +135,13 @@ class Graphics : public gcn::SDLGraphics * @return true if the image was blitted properly * false otherwise. */ - virtual bool drawImage(const Image *image, + virtual bool drawImage(Image *image, int srcX, int srcY, int dstX, int dstY, int width, int height, bool useColor = false); - virtual void drawImagePattern(const Image *image, + virtual void drawImagePattern(Image *image, int x, int y, int w, int h); -- cgit v1.2.3-70-g09d2 From 56af29fad5467dd0a4eac95fac322d4ecdaec6d6 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 21:08:05 +0200 Subject: Fixed indentation of Image::_GLload Reviewed-by: Stefan Beller --- src/resources/image.cpp | 150 ++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/src/resources/image.cpp b/src/resources/image.cpp index 975bd647..9a3e2ba2 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -439,101 +439,101 @@ Image *Image::_SDLload(SDL_Surface *tmpImage) #ifdef USE_OPENGL Image *Image::_GLload(SDL_Surface *tmpImage) { - // Flush current error flag. - glGetError(); + // Flush current error flag. + glGetError(); - int width = tmpImage->w; - int height = tmpImage->h; - int realWidth = powerOfTwo(width); - int realHeight = powerOfTwo(height); + int width = tmpImage->w; + int height = tmpImage->h; + int realWidth = powerOfTwo(width); + int realHeight = powerOfTwo(height); - if (realWidth < width || realHeight < height) - { - logger->log("Warning: image too large, cropping to %dx%d texture!", - tmpImage->w, tmpImage->h); - } + if (realWidth < width || realHeight < height) + { + logger->log("Warning: image too large, cropping to %dx%d texture!", + tmpImage->w, tmpImage->h); + } - // Make sure the alpha channel is not used, but copied to destination - SDL_SetAlpha(tmpImage, 0, SDL_ALPHA_OPAQUE); + // Make sure the alpha channel is not used, but copied to destination + SDL_SetAlpha(tmpImage, 0, SDL_ALPHA_OPAQUE); - // Determine 32-bit masks based on byte order - Uint32 rmask, gmask, bmask, amask; + // Determine 32-bit masks based on byte order + Uint32 rmask, gmask, bmask, amask; #if SDL_BYTEORDER == SDL_BIG_ENDIAN - rmask = 0xff000000; - gmask = 0x00ff0000; - bmask = 0x0000ff00; - amask = 0x000000ff; + rmask = 0xff000000; + gmask = 0x00ff0000; + bmask = 0x0000ff00; + amask = 0x000000ff; #else - rmask = 0x000000ff; - gmask = 0x0000ff00; - bmask = 0x00ff0000; - amask = 0xff000000; + rmask = 0x000000ff; + gmask = 0x0000ff00; + bmask = 0x00ff0000; + amask = 0xff000000; #endif - SDL_Surface *oldImage = tmpImage; - tmpImage = SDL_CreateRGBSurface(SDL_SWSURFACE, realWidth, realHeight, - 32, rmask, gmask, bmask, amask); + SDL_Surface *oldImage = tmpImage; + tmpImage = SDL_CreateRGBSurface(SDL_SWSURFACE, realWidth, realHeight, + 32, rmask, gmask, bmask, amask); - if (!tmpImage) - { - logger->log("Error, image convert failed: out of memory"); - return NULL; - } + if (!tmpImage) + { + logger->log("Error, image convert failed: out of memory"); + return NULL; + } - SDL_BlitSurface(oldImage, NULL, tmpImage, NULL); + SDL_BlitSurface(oldImage, NULL, tmpImage, NULL); - GLuint texture; - glGenTextures(1, &texture); - OpenGLGraphics::bindTexture(mTextureType, texture); + GLuint texture; + glGenTextures(1, &texture); + OpenGLGraphics::bindTexture(mTextureType, texture); - if (SDL_MUSTLOCK(tmpImage)) - SDL_LockSurface(tmpImage); + if (SDL_MUSTLOCK(tmpImage)) + SDL_LockSurface(tmpImage); - glTexImage2D( - mTextureType, 0, 4, - tmpImage->w, tmpImage->h, - 0, GL_RGBA, GL_UNSIGNED_BYTE, - tmpImage->pixels); + glTexImage2D( + mTextureType, 0, 4, + tmpImage->w, tmpImage->h, + 0, GL_RGBA, GL_UNSIGNED_BYTE, + tmpImage->pixels); - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - glTexParameteri(mTextureType, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glTexParameteri(mTextureType, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glTexParameteri(mTextureType, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(mTextureType, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - if (SDL_MUSTLOCK(tmpImage)) - SDL_UnlockSurface(tmpImage); + if (SDL_MUSTLOCK(tmpImage)) + SDL_UnlockSurface(tmpImage); - SDL_FreeSurface(tmpImage); + SDL_FreeSurface(tmpImage); - GLenum error = glGetError(); - if (error) + GLenum error = glGetError(); + if (error) + { + std::string errmsg = "Unknown error"; + switch (error) { - std::string errmsg = "Unknown error"; - switch (error) - { - case GL_INVALID_ENUM: - errmsg = "GL_INVALID_ENUM"; - break; - case GL_INVALID_VALUE: - errmsg = "GL_INVALID_VALUE"; - break; - case GL_INVALID_OPERATION: - errmsg = "GL_INVALID_OPERATION"; - break; - case GL_STACK_OVERFLOW: - errmsg = "GL_STACK_OVERFLOW"; - break; - case GL_STACK_UNDERFLOW: - errmsg = "GL_STACK_UNDERFLOW"; - break; - case GL_OUT_OF_MEMORY: - errmsg = "GL_OUT_OF_MEMORY"; - break; - } - logger->log("Error: Image GL import failed: %s", errmsg.c_str()); - return NULL; + case GL_INVALID_ENUM: + errmsg = "GL_INVALID_ENUM"; + break; + case GL_INVALID_VALUE: + errmsg = "GL_INVALID_VALUE"; + break; + case GL_INVALID_OPERATION: + errmsg = "GL_INVALID_OPERATION"; + break; + case GL_STACK_OVERFLOW: + errmsg = "GL_STACK_OVERFLOW"; + break; + case GL_STACK_UNDERFLOW: + errmsg = "GL_STACK_UNDERFLOW"; + break; + case GL_OUT_OF_MEMORY: + errmsg = "GL_OUT_OF_MEMORY"; + break; } + logger->log("Error: Image GL import failed: %s", errmsg.c_str()); + return NULL; + } - return new Image(texture, width, height, realWidth, realHeight); + return new Image(texture, width, height, realWidth, realHeight); } void Image::setLoadAsOpenGL(bool useOpenGL) -- cgit v1.2.3-70-g09d2 From 6c686562f03c14a51b32cb65111f0636abd5373b Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 21:12:15 +0200 Subject: Fixed mixup of parameter types in OpenGL code Textures were not rendering correctly on cards that did not support the GL_ARB_texture_rectangle extension, since the alternative code path was passing ints as floats and floats as ints to OpenGL. Reviewed-by: Erik Schilling --- src/openglgraphics.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index 74a309e1..6148b367 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -162,8 +162,8 @@ static inline void drawQuad(Image *image, dstX, dstY + height }; - glVertexPointer(2, GL_FLOAT, 0, &vert); - glTexCoordPointer(2, GL_INT, 0, &tex); + glVertexPointer(2, GL_INT, 0, &vert); + glTexCoordPointer(2, GL_FLOAT, 0, &tex); glDrawArrays(GL_QUADS, 0, 4); } @@ -224,8 +224,8 @@ static inline void drawRescaledQuad(Image *image, dstX, dstY + desiredHeight }; - glVertexPointer(2, GL_FLOAT, 0, &vert); - glTexCoordPointer(2, GL_INT, 0, &tex); + glVertexPointer(2, GL_INT, 0, &vert); + glTexCoordPointer(2, GL_FLOAT, 0, &tex); glDrawArrays(GL_QUADS, 0, 4); } -- cgit v1.2.3-70-g09d2 From 10c75a337be97c93b6de839402461fd400baf128 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 21:17:15 +0200 Subject: Some cleanups in OpenGL code * Removed empty and unused function `setTargetPlane` * Removed duplicated enabling of `GL_VERTEX_ARRAY` * Removed strange smoothing code from `drawRescaledImage` Reviewed-by: Erik Schilling --- src/openglgraphics.cpp | 37 ------------------------------------- src/openglgraphics.h | 13 +------------ 2 files changed, 1 insertion(+), 49 deletions(-) diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index 6148b367..66d0d0fc 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -289,19 +289,6 @@ bool OpenGLGraphics::drawRescaledImage(Image *image, int srcX, int srcY, int width, int height, int desiredWidth, int desiredHeight, bool useColor) -{ - return drawRescaledImage(image, srcX, srcY, - dstX, dstY, - width, height, - desiredWidth, desiredHeight, - useColor, true); -} - -bool OpenGLGraphics::drawRescaledImage(Image *image, int srcX, int srcY, - int dstX, int dstY, - int width, int height, - int desiredWidth, int desiredHeight, - bool useColor, bool smooth) { if (!image) return false; @@ -313,11 +300,6 @@ bool OpenGLGraphics::drawRescaledImage(Image *image, int srcX, int srcY, width, height, useColor); } - // When the desired image is smaller than the current one, - // disable smooth effect. - if (width > desiredWidth && height > desiredHeight) - smooth = false; - srcX += image->mBounds.x; srcY += image->mBounds.y; @@ -332,20 +314,6 @@ bool OpenGLGraphics::drawRescaledImage(Image *image, int srcX, int srcY, drawRescaledQuad(image, srcX, srcY, dstX, dstY, width, height, desiredWidth, desiredHeight); - if (smooth) // A basic smooth effect... - { - glColor4f(1.0f, 1.0f, 1.0f, 0.2f); - drawRescaledQuad(image, srcX, srcY, dstX - 1, dstY - 1, width, height, - desiredWidth + 1, desiredHeight + 1); - drawRescaledQuad(image, srcX, srcY, dstX + 1, dstY + 1, width, height, - desiredWidth - 1, desiredHeight - 1); - - drawRescaledQuad(image, srcX, srcY, dstX + 1, dstY, width, height, - desiredWidth - 1, desiredHeight); - drawRescaledQuad(image, srcX, srcY, dstX, dstY + 1, width, height, - desiredWidth, desiredHeight - 1); - } - if (!useColor) { glColor4ub(static_cast(mColor.r), @@ -652,7 +620,6 @@ void OpenGLGraphics::_beginDraw() glLoadIdentity(); glEnable(GL_SCISSOR_TEST); - glEnableClientState(GL_VERTEX_ARRAY); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -791,10 +758,6 @@ void OpenGLGraphics::fillRectangle(const gcn::Rectangle& rect) drawRectangle(rect, true); } -void OpenGLGraphics::setTargetPlane(int width, int height) -{ -} - void OpenGLGraphics::setTexturingAndBlending(bool enable) { if (enable) diff --git a/src/openglgraphics.h b/src/openglgraphics.h index d61bf3db..a1d78e46 100644 --- a/src/openglgraphics.h +++ b/src/openglgraphics.h @@ -52,7 +52,7 @@ class OpenGLGraphics : public Graphics bool useColor); /** - * Draws a resclaled version of the image + * Draws a rescaled version of the image */ bool drawRescaledImage(Image *image, int srcX, int srcY, int dstX, int dstY, @@ -60,15 +60,6 @@ class OpenGLGraphics : public Graphics int desiredWidth, int desiredHeight, bool useColor); - /** - * Used to get the smooth rescale option over the standard function. - */ - bool drawRescaledImage(Image *image, int srcX, int srcY, - int dstX, int dstY, - int width, int height, - int desiredWidth, int desiredHeight, - bool useColor, bool smooth); - void drawImagePattern(Image *image, int x, int y, int w, int h); @@ -100,8 +91,6 @@ class OpenGLGraphics : public Graphics void fillRectangle(const gcn::Rectangle &rect); - void setTargetPlane(int width, int height); - /** * Takes a screenshot and returns it as SDL surface. */ -- cgit v1.2.3-70-g09d2 From 1bc84de412775abcef84c1f604160121f245b131 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 21:24:31 +0200 Subject: Added support for ARB_texture_non_power_of_two extension If the graphics driver supports this, there is no need to create textures with power-of-two dimensions. It is then also preferred to use regular textures than relying on the older GL_ARB_texture_rectangle extension. Reviewed-by: Erik Schilling --- src/openglgraphics.cpp | 5 ++++- src/resources/image.cpp | 3 ++- src/resources/image.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index 66d0d0fc..50fee075 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -113,14 +113,17 @@ bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel) char const *glExtensions = (char const *)glGetString(GL_EXTENSIONS); GLint texSize; bool rectTex = strstr(glExtensions, "GL_ARB_texture_rectangle"); - if (rectTex) + bool npotTex = strstr(glExtensions, "GL_ARB_texture_non_power_of_two"); + if (rectTex && !npotTex) { Image::mTextureType = GL_TEXTURE_RECTANGLE_ARB; + Image::mPowerOfTwoTextures = false; glGetIntegerv(GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB, &texSize); } else { Image::mTextureType = GL_TEXTURE_2D; + Image::mPowerOfTwoTextures = !npotTex; glGetIntegerv(GL_MAX_TEXTURE_SIZE, &texSize); } Image::mTextureSize = texSize; diff --git a/src/resources/image.cpp b/src/resources/image.cpp index 9a3e2ba2..3afa479f 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -36,6 +36,7 @@ #ifdef USE_OPENGL bool Image::mUseOpenGL = false; +bool Image::mPowerOfTwoTextures = true; int Image::mTextureType = 0; int Image::mTextureSize = 0; #endif @@ -544,7 +545,7 @@ void Image::setLoadAsOpenGL(bool useOpenGL) int Image::powerOfTwo(int input) { int value; - if (mTextureType == GL_TEXTURE_2D) + if (mPowerOfTwoTextures) { value = 1; while (value < input && value < mTextureSize) diff --git a/src/resources/image.h b/src/resources/image.h index 7df74c3f..33db7848 100644 --- a/src/resources/image.h +++ b/src/resources/image.h @@ -249,6 +249,7 @@ class Image : public Resource int mTexWidth, mTexHeight; static bool mUseOpenGL; + static bool mPowerOfTwoTextures; static int mTextureType; static int mTextureSize; #endif -- cgit v1.2.3-70-g09d2 From 020ddd64a48229a8d5e9dcccf4fe1fe71c840450 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 21:53:40 +0200 Subject: Specify a more specific image format when uploading textures While simply specifying "4 components" works, it is preferred to specify the actual image format like GL_RGBA8 in our case. http://www.opengl.org/wiki/Common_Mistakes#Image_precision Reviewed-by: Erik Schilling --- src/resources/image.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/image.cpp b/src/resources/image.cpp index 3afa479f..cf0d1483 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -491,7 +491,7 @@ Image *Image::_GLload(SDL_Surface *tmpImage) SDL_LockSurface(tmpImage); glTexImage2D( - mTextureType, 0, 4, + mTextureType, 0, GL_RGBA8, tmpImage->w, tmpImage->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, tmpImage->pixels); -- cgit v1.2.3-70-g09d2 From 1fe16bdda5fa0d7112f4568e7bcd892d01c197b9 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 23:15:58 +0200 Subject: Avoid copying surfaces unnecessarily for upload to texture When uploading an SDL surface to an OpenGL texture, it was always making a copy that had the desired size and pixel format. Now this copy is no longer being made when the existing surface already has the target size and pixel format. In fact most images are already in 32-bit RGBA format after loading them. Reviewed-by: Erik Schilling --- src/resources/image.cpp | 60 ++++++++++++++++++++++++++++--------------------- src/resources/image.h | 2 +- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/src/resources/image.cpp b/src/resources/image.cpp index cf0d1483..b7e6c200 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -438,25 +438,22 @@ Image *Image::_SDLload(SDL_Surface *tmpImage) } #ifdef USE_OPENGL -Image *Image::_GLload(SDL_Surface *tmpImage) +Image *Image::_GLload(SDL_Surface *image) { // Flush current error flag. glGetError(); - int width = tmpImage->w; - int height = tmpImage->h; + int width = image->w; + int height = image->h; int realWidth = powerOfTwo(width); int realHeight = powerOfTwo(height); if (realWidth < width || realHeight < height) { logger->log("Warning: image too large, cropping to %dx%d texture!", - tmpImage->w, tmpImage->h); + realWidth, realHeight); } - // Make sure the alpha channel is not used, but copied to destination - SDL_SetAlpha(tmpImage, 0, SDL_ALPHA_OPAQUE); - // Determine 32-bit masks based on byte order Uint32 rmask, gmask, bmask, amask; #if SDL_BYTEORDER == SDL_BIG_ENDIAN @@ -471,39 +468,52 @@ Image *Image::_GLload(SDL_Surface *tmpImage) amask = 0xff000000; #endif - SDL_Surface *oldImage = tmpImage; - tmpImage = SDL_CreateRGBSurface(SDL_SWSURFACE, realWidth, realHeight, - 32, rmask, gmask, bmask, amask); + bool needsConversion = !(realWidth == width && + realHeight == height && + image->format->BytesPerPixel == 4 && + image->format->Rmask == rmask && + image->format->Gmask == gmask && + image->format->Bmask == bmask && + image->format->Amask == amask); - if (!tmpImage) + if (needsConversion) { - logger->log("Error, image convert failed: out of memory"); - return NULL; - } + SDL_Surface *oldImage = image; + image = SDL_CreateRGBSurface(SDL_SWSURFACE, realWidth, realHeight, + 32, rmask, gmask, bmask, amask); - SDL_BlitSurface(oldImage, NULL, tmpImage, NULL); + if (!image) + { + logger->log("Error, image convert failed: out of memory"); + return NULL; + } + + // Make sure the alpha channel is not used, but copied to destination + SDL_SetAlpha(oldImage, 0, SDL_ALPHA_OPAQUE); + SDL_BlitSurface(oldImage, NULL, image, NULL); + } GLuint texture; glGenTextures(1, &texture); OpenGLGraphics::bindTexture(mTextureType, texture); - if (SDL_MUSTLOCK(tmpImage)) - SDL_LockSurface(tmpImage); + if (SDL_MUSTLOCK(image)) + SDL_LockSurface(image); - glTexImage2D( - mTextureType, 0, GL_RGBA8, - tmpImage->w, tmpImage->h, - 0, GL_RGBA, GL_UNSIGNED_BYTE, - tmpImage->pixels); + glTexImage2D(mTextureType, 0, GL_RGBA8, + image->w, image->h, + 0, GL_RGBA, GL_UNSIGNED_BYTE, + image->pixels); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glTexParameteri(mTextureType, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(mTextureType, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - if (SDL_MUSTLOCK(tmpImage)) - SDL_UnlockSurface(tmpImage); + if (SDL_MUSTLOCK(image)) + SDL_UnlockSurface(image); - SDL_FreeSurface(tmpImage); + if (needsConversion) + SDL_FreeSurface(image); GLenum error = glGetError(); if (error) diff --git a/src/resources/image.h b/src/resources/image.h index 33db7848..b1831ada 100644 --- a/src/resources/image.h +++ b/src/resources/image.h @@ -243,7 +243,7 @@ class Image : public Resource */ static int powerOfTwo(int input); - static Image *_GLload(SDL_Surface *tmpImage); + static Image *_GLload(SDL_Surface *image); GLuint mGLImage; int mTexWidth, mTexHeight; -- cgit v1.2.3-70-g09d2 From 542570896e1e0ce73ebfc442b48e741c2ea32377 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Wed, 25 Jul 2012 22:27:32 +0200 Subject: Removed all the hardcoded sizes of the various setup tabs Instead, support for dynamically adjusting layout was added to the Container class. Various other places were also adapted to use the new layout support in Container. Reviewed-by: Erik Schilling --- src/gui/charselectdialog.cpp | 6 +----- src/gui/debugwindow.cpp | 4 ++-- src/gui/setup_audio.cpp | 7 ------- src/gui/setup_colors.cpp | 7 +------ src/gui/setup_interface.cpp | 7 +------ src/gui/setup_joystick.cpp | 14 +++----------- src/gui/setup_keyboard.cpp | 7 +------ src/gui/setup_players.cpp | 10 ++-------- src/gui/setup_video.cpp | 10 +++------- src/gui/skilldialog.cpp | 1 - src/gui/socialwindow.cpp | 1 - src/gui/specialswindow.cpp | 1 - src/gui/statuswindow.cpp | 11 +---------- src/gui/widgets/container.cpp | 25 ++++++++++++++++++++++++- src/gui/widgets/container.h | 24 ++++++++++++++++++++++++ src/gui/widgets/layouthelper.cpp | 5 ----- src/gui/widgets/layouthelper.h | 4 ++-- src/gui/widgets/setuptab.cpp | 1 - src/gui/widgets/vertcontainer.h | 2 +- 19 files changed, 66 insertions(+), 81 deletions(-) diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp index 1850eb9d..dff648ec 100644 --- a/src/gui/charselectdialog.cpp +++ b/src/gui/charselectdialog.cpp @@ -39,7 +39,6 @@ #include "gui/widgets/container.h" #include "gui/widgets/label.h" #include "gui/widgets/layout.h" -#include "gui/widgets/layouthelper.h" #include "gui/widgets/playerbox.h" #include "gui/widgets/textfield.h" @@ -358,9 +357,6 @@ CharacterDisplay::CharacterDisplay(CharSelectDialog *charSelectDialog): mDelete = new Button(_("Delete"), "delete", charSelectDialog); - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - place(0, 0, mPlayerBox, 3, 5); place(0, 5, mName, 3); place(0, 6, mLevel, 3); @@ -370,7 +366,7 @@ CharacterDisplay::CharacterDisplay(CharSelectDialog *charSelectDialog): update(); - h.reflowLayout(80, 112 + mName->getHeight() + mLevel->getHeight() + + setSize(80, 112 + mName->getHeight() + mLevel->getHeight() + mMoney->getHeight() + mButton->getHeight() + mDelete->getHeight()); } diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index cb871b44..37c68673 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -66,7 +66,7 @@ public: mTileMouseLabel = new Label(""); mParticleCountLabel = new Label(""); - LayoutHelper h = (this); + LayoutHelper h(this); ContainerPlacer place = h.getPlacer(0, 0); place(0, 0, mFPSLabel, 1); @@ -145,7 +145,7 @@ public: mSpecial2 = new RadioButton(_("Special 2"), "mapdebug"); mSpecial3 = new RadioButton(_("Special 3"), "mapdebug"); - LayoutHelper h = (this); + LayoutHelper h(this); ContainerPlacer place = h.getPlacer(0, 0); place(0, 0, showLabel, 1); diff --git a/src/gui/setup_audio.cpp b/src/gui/setup_audio.cpp index 69ee3dc3..56815e32 100644 --- a/src/gui/setup_audio.cpp +++ b/src/gui/setup_audio.cpp @@ -29,7 +29,6 @@ #include "gui/widgets/checkbox.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" #include "gui/widgets/slider.h" #include "utils/gettext.h" @@ -47,7 +46,6 @@ Setup_Audio::Setup_Audio(): mMusicSlider(new Slider(0, sound.getMaxVolume())) { setName(_("Audio")); - setDimension(gcn::Rectangle(0, 0, 250, 200)); gcn::Label *sfxLabel = new Label(_("Sfx volume")); gcn::Label *notificationsLabel = new Label(_("Notifications volume")); @@ -72,9 +70,6 @@ Setup_Audio::Setup_Audio(): mMusicSlider->setWidth(90); // Do the layout - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - place(0, 0, mSoundCheckBox); place(0, 1, mSfxSlider); place(1, 1, sfxLabel); @@ -83,8 +78,6 @@ Setup_Audio::Setup_Audio(): place(0, 3, mMusicSlider); place(1, 3, musicLabel); place(0, 4, mDownloadMusicCheckBox); - - setDimension(gcn::Rectangle(0, 0, 370, 280)); } void Setup_Audio::apply() diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp index 95b2000d..cf234eb3 100644 --- a/src/gui/setup_colors.cpp +++ b/src/gui/setup_colors.cpp @@ -28,7 +28,7 @@ #include "gui/widgets/browserbox.h" #include "gui/widgets/itemlinkhandler.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" +#include "gui/widgets/layout.h" #include "gui/widgets/listbox.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/slider.h" @@ -155,9 +155,6 @@ Setup_Colors::Setup_Colors() : setOpaque(false); // Do the layout - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - place(0, 0, mScroll, 6, 6).setPadding(2); place(0, 6, mPreviewBox, 6).setPadding(2); place(0, 7, mGradTypeLabel, 3); @@ -177,8 +174,6 @@ Setup_Colors::Setup_Colors() : place(5, 11, mGradDelayText).setPadding(1); mGradTypeText->setCaption(""); - - setDimension(gcn::Rectangle(0, 0, 370, 280)); } Setup_Colors::~Setup_Colors() diff --git a/src/gui/setup_interface.cpp b/src/gui/setup_interface.cpp index 67d8d476..b35a30fe 100644 --- a/src/gui/setup_interface.cpp +++ b/src/gui/setup_interface.cpp @@ -33,7 +33,7 @@ #include "gui/widgets/checkbox.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" +#include "gui/widgets/layout.h" #include "gui/widgets/listbox.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/slider.h" @@ -164,9 +164,6 @@ Setup_Interface::Setup_Interface(): mFontSizeDropDown->adjustHeight(); // Do the layout - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - place(0, 0, mVisibleNamesCheckBox, 3); place(3, 0, mNameCheckBox, 3); @@ -193,8 +190,6 @@ Setup_Interface::Setup_Interface(): place(0, 9, mSpeechSlider, 2); place(2, 9, speechLabel, 2); place(4, 9, mSpeechLabel, 2).setPadding(2); - - setDimension(gcn::Rectangle(0, 0, 370, 300)); } Setup_Interface::~Setup_Interface() diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp index b3bdc226..1109f06e 100644 --- a/src/gui/setup_joystick.cpp +++ b/src/gui/setup_joystick.cpp @@ -27,7 +27,6 @@ #include "gui/widgets/button.h" #include "gui/widgets/checkbox.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" #include "utils/gettext.h" @@ -46,16 +45,9 @@ Setup_Joystick::Setup_Joystick(): mJoystickCheckBox->addActionListener(this); // Do the layout - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - - place(0, 0, mJoystickCheckBox); - place(0, 1, mCalibrateLabel); - place.getCell().matchColWidth(0, 0); - place = h.getPlacer(0, 1); - place(0, 0, mCalibrateButton); - - setDimension(gcn::Rectangle(0, 0, 370, 75)); + place(0, 0, mJoystickCheckBox, 2); + place(0, 1, mCalibrateLabel, 2); + place(0, 2, mCalibrateButton); } void Setup_Joystick::action(const gcn::ActionEvent &event) diff --git a/src/gui/setup_keyboard.cpp b/src/gui/setup_keyboard.cpp index a108ae6a..5e29519b 100644 --- a/src/gui/setup_keyboard.cpp +++ b/src/gui/setup_keyboard.cpp @@ -29,7 +29,7 @@ #include "gui/okdialog.h" #include "gui/widgets/button.h" -#include "gui/widgets/layouthelper.h" +#include "gui/widgets/layout.h" #include "gui/widgets/listbox.h" #include "gui/widgets/scrollarea.h" @@ -98,15 +98,10 @@ Setup_Keyboard::Setup_Keyboard(): mMakeDefaultButton->addActionListener(this); // Do the layout - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - place(0, 0, scrollArea, 4, 6).setPadding(2); place(0, 6, mMakeDefaultButton); place(2, 6, mAssignKeyButton); place(3, 6, mUnassignKeyButton); - - setDimension(gcn::Rectangle(0, 0, 370, 280)); } Setup_Keyboard::~Setup_Keyboard() diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp index c9776fe3..ad50baad 100644 --- a/src/gui/setup_players.cpp +++ b/src/gui/setup_players.cpp @@ -31,7 +31,7 @@ #include "gui/widgets/checkbox.h" #include "gui/widgets/dropdown.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" +#include "gui/widgets/layout.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/table.h" @@ -99,8 +99,7 @@ public: { freeWidgets(); delete mListModel; - if (mPlayers) - delete mPlayers; + delete mPlayers; } virtual int getRows() const @@ -287,9 +286,6 @@ Setup_Players::Setup_Players(): reset(); // Do the layout - LayoutHelper h(this); - ContainerPlacer place = h.getPlacer(0, 0); - place(0, 0, mPlayerTitleTable, 4); place(0, 1, mPlayerScrollArea, 4, 4).setPadding(2); place(0, 5, mDeleteButton); @@ -302,8 +298,6 @@ Setup_Players::Setup_Players(): place(0, 10, mWhisperTabCheckBox, 4).setPadding(4); player_relations.addListener(this); - - setDimension(gcn::Rectangle(0, 0, 370, 280)); } Setup_Players::~Setup_Players() diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp index 3c92aa31..c4fe60a1 100644 --- a/src/gui/setup_video.cpp +++ b/src/gui/setup_video.cpp @@ -34,7 +34,7 @@ #include "gui/widgets/checkbox.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" +#include "gui/widgets/layout.h" #include "gui/widgets/listbox.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/slider.h" @@ -248,9 +248,7 @@ Setup_Video::Setup_Video(): mParticleDetailSlider->setValue(mParticleDetail); // Do the layout - LayoutHelper h(this); - - ContainerPlacer place = h.getPlacer(0, 0); + ContainerPlacer place = getPlacer(0, 0); place.getCell().setHAlign(LayoutCell::FILL); place(0, 0, scrollArea, 1, 4).setPadding(2).setHAlign(LayoutCell::FILL); @@ -259,7 +257,7 @@ Setup_Video::Setup_Video(): place(2, 1, mOpenGLCheckBox); place(2, 2, mCustomCursorCheckBox); - place = h.getPlacer(0, 1); + place = getPlacer(0, 1); place.getCell().setHAlign(LayoutCell::FILL); place(0, 0, space, 3); @@ -278,8 +276,6 @@ Setup_Video::Setup_Video(): place(0, 5, overlayDetailLabel); place(1, 5, mOverlayDetailSlider, 2); place(3, 5, mOverlayDetailField); - - setDimension(gcn::Rectangle(0, 0, 370, 300)); } Setup_Video::~Setup_Video() diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp index 485d5d5b..8c8abd19 100644 --- a/src/gui/skilldialog.cpp +++ b/src/gui/skilldialog.cpp @@ -31,7 +31,6 @@ #include "gui/widgets/button.h" #include "gui/widgets/container.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" #include "gui/widgets/listbox.h" #include "gui/widgets/progressbar.h" #include "gui/widgets/scrollarea.h" diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp index 4203a137..1b960d64 100644 --- a/src/gui/socialwindow.cpp +++ b/src/gui/socialwindow.cpp @@ -35,7 +35,6 @@ #include "gui/widgets/button.h" #include "gui/widgets/container.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" #include "gui/widgets/linkhandler.h" #include "gui/widgets/popup.h" #include "gui/widgets/scrollarea.h" diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp index 7db5952a..53106da2 100644 --- a/src/gui/specialswindow.cpp +++ b/src/gui/specialswindow.cpp @@ -28,7 +28,6 @@ #include "gui/widgets/container.h" #include "gui/widgets/icon.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" #include "gui/widgets/listbox.h" #include "gui/widgets/progressbar.h" #include "gui/widgets/scrollarea.h" diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp index ebd54f33..430d47ed 100644 --- a/src/gui/statuswindow.cpp +++ b/src/gui/statuswindow.cpp @@ -29,7 +29,7 @@ #include "gui/widgets/button.h" #include "gui/widgets/label.h" -#include "gui/widgets/layouthelper.h" +#include "gui/widgets/layout.h" #include "gui/widgets/progressbar.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/vertcontainer.h" @@ -65,7 +65,6 @@ class AttrDisplay : public Container const int mId; const std::string mName; - LayoutHelper *mLayout; Label *mLabel; Label *mValue; }; @@ -433,13 +432,10 @@ AttrDisplay::AttrDisplay(int id, const std::string &name): mLabel->setAlignment(Graphics::CENTER); mValue->setAlignment(Graphics::CENTER); - - mLayout = new LayoutHelper(this); } AttrDisplay::~AttrDisplay() { - delete mLayout; } std::string AttrDisplay::update() @@ -458,9 +454,6 @@ DerDisplay::DerDisplay(int id, const std::string &name): AttrDisplay(id, name) { // Do the layout - LayoutHelper h(this); - ContainerPlacer place = mLayout->getPlacer(0, 0); - place(0, 0, mLabel, 3); place(3, 0, mValue, 2); @@ -474,8 +467,6 @@ ChangeDisplay::ChangeDisplay(int id, const std::string &name): mInc = new Button(_("+"), "inc", this); // Do the layout - ContainerPlacer place = mLayout->getPlacer(0, 0); - place(0, 0, mLabel, 3); place(4, 0, mValue, 2); place(6, 0, mInc); diff --git a/src/gui/widgets/container.cpp b/src/gui/widgets/container.cpp index af4f0155..e1b99af7 100644 --- a/src/gui/widgets/container.cpp +++ b/src/gui/widgets/container.cpp @@ -21,7 +21,10 @@ #include "gui/widgets/container.h" -Container::Container() +#include "gui/widgets/layouthelper.h" + +Container::Container(): + mLayoutHelper(0) { setOpaque(false); } @@ -30,4 +33,24 @@ Container::~Container() { while (!mWidgets.empty()) delete mWidgets.front(); + + delete mLayoutHelper; +} + +Layout &Container::getLayout() +{ + if (!mLayoutHelper) + mLayoutHelper = new LayoutHelper(this); + return mLayoutHelper->getLayout(); +} + +LayoutCell &Container::place(int x, int y, gcn::Widget *wg, int w, int h) +{ + add(wg); + return getLayout().place(wg, x, y, w, h); +} + +ContainerPlacer Container::getPlacer(int x, int y) +{ + return ContainerPlacer(this, &getLayout().at(x, y)); } diff --git a/src/gui/widgets/container.h b/src/gui/widgets/container.h index e582f2a8..46b719a1 100644 --- a/src/gui/widgets/container.h +++ b/src/gui/widgets/container.h @@ -24,6 +24,11 @@ #include +class ContainerPlacer; +class Layout; +class LayoutCell; +class LayoutHelper; + /** * A widget container. * @@ -38,6 +43,25 @@ class Container : public gcn::Container public: Container(); ~Container(); + + protected: + /** + * Gets the layout handler for this container. + */ + Layout &getLayout(); + + /** + * Adds a widget to the container and sets it at given cell. + */ + LayoutCell &place(int x, int y, gcn::Widget *wg, int w = 1, int h = 1); + + /** + * Returns a proxy for adding widgets in an inner table of the layout. + */ + ContainerPlacer getPlacer(int x, int y); + + private: + LayoutHelper *mLayoutHelper; }; #endif diff --git a/src/gui/widgets/layouthelper.cpp b/src/gui/widgets/layouthelper.cpp index 1a634fcd..e1006bd9 100644 --- a/src/gui/widgets/layouthelper.cpp +++ b/src/gui/widgets/layouthelper.cpp @@ -32,11 +32,6 @@ LayoutHelper::~LayoutHelper() mContainer->removeWidgetListener(this); } -Layout &LayoutHelper::getLayout() -{ - return mLayout; -} - LayoutCell &LayoutHelper::place(int x, int y, gcn::Widget *wg, int w, int h) { mContainer->add(wg); diff --git a/src/gui/widgets/layouthelper.h b/src/gui/widgets/layouthelper.h index 055e6fa6..b8512212 100644 --- a/src/gui/widgets/layouthelper.h +++ b/src/gui/widgets/layouthelper.h @@ -34,14 +34,14 @@ class LayoutHelper : public gcn::WidgetListener { public: - LayoutHelper(gcn::Container *container); + explicit LayoutHelper(gcn::Container *container); ~LayoutHelper(); /** * Gets the layout handler. */ - Layout &getLayout(); + Layout &getLayout() { return mLayout; } /** * Computes the position of the widgets according to the current diff --git a/src/gui/widgets/setuptab.cpp b/src/gui/widgets/setuptab.cpp index a1a493ad..dc183a50 100644 --- a/src/gui/widgets/setuptab.cpp +++ b/src/gui/widgets/setuptab.cpp @@ -23,5 +23,4 @@ SetupTab::SetupTab() { - setOpaque(false); } diff --git a/src/gui/widgets/vertcontainer.h b/src/gui/widgets/vertcontainer.h index 10bc68c3..c2403afb 100644 --- a/src/gui/widgets/vertcontainer.h +++ b/src/gui/widgets/vertcontainer.h @@ -28,7 +28,7 @@ /** * A widget container. * - * This container places it's contents veritcally. + * This container places its contents vertically. */ class VertContainer : public Container, public gcn::WidgetListener { -- cgit v1.2.3-70-g09d2 From b51a15abb93a0dd0fc491419d12ea58637ebf089 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Tue, 31 Jul 2012 17:34:35 +0200 Subject: Removed 'virtual' from methods of Image Maybe it used to be necessary for these methods to be virtual, but this is no longer the case. Hence we can avoid wasting CPU ticks searching through virtual function tables, especially for frequently used methods like getWidth, getHeight and setAlpha. MapLayer::getTile was inlined. Reviewed-by: Erik Schilling --- src/map.cpp | 5 ----- src/map.h | 3 ++- src/resources/image.cpp | 15 ++++++++------- src/resources/image.h | 18 +++++------------- 4 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/map.cpp b/src/map.cpp index fa3d9a4c..b647d5d5 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -116,11 +116,6 @@ void MapLayer::setTile(int x, int y, Image *img) setTile(x + y * mWidth, img); } -Image* MapLayer::getTile(int x, int y) const -{ - return mTiles[x + y * mWidth]; -} - void MapLayer::draw(Graphics *graphics, int startX, int startY, int endX, int endY, diff --git a/src/map.h b/src/map.h index ed247eb7..8d87c5be 100644 --- a/src/map.h +++ b/src/map.h @@ -108,7 +108,8 @@ class MapLayer /** * Get tile image, with x and y in layer coordinates. */ - Image *getTile(int x, int y) const; + Image *getTile(int x, int y) const + { return mTiles[x + y * mWidth]; } /** * Draws this layer to the given graphics context. The coordinates are diff --git a/src/resources/image.cpp b/src/resources/image.cpp index b7e6c200..7e592198 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -576,11 +576,17 @@ Image *Image::getSubImage(int x, int y, int width, int height) // Create a new clipped sub-image #ifdef USE_OPENGL if (mUseOpenGL) - return new SubImage(this, mGLImage, x, y, width, height, + return new SubImage(this, mGLImage, + mBounds.x + x, + mBounds.y + y, + width, height, mTexWidth, mTexHeight); #endif - return new SubImage(this, mSDLSurface, x, y, width, height); + return new SubImage(this, mSDLSurface, + mBounds.x + x, + mBounds.y + y, + width, height); } void Image::SDLterminateAlphaCache() @@ -647,8 +653,3 @@ SubImage::~SubImage() #endif mParent->decRef(); } - -Image *SubImage::getSubImage(int x, int y, int w, int h) -{ - return mParent->getSubImage(mBounds.x + x, mBounds.y + y, w, h); -} diff --git a/src/resources/image.h b/src/resources/image.h index b1831ada..b762bf2a 100644 --- a/src/resources/image.h +++ b/src/resources/image.h @@ -84,7 +84,7 @@ class Image : public Resource /** * Frees the resources created by SDL. */ - virtual void unload(); + void unload(); /** * Tells is the image is loaded @@ -95,13 +95,13 @@ class Image : public Resource /** * Returns the width of the image. */ - virtual int getWidth() const + int getWidth() const { return mBounds.w; } /** * Returns the height of the image. */ - virtual int getHeight() const + int getHeight() const { return mBounds.h; } /** @@ -113,7 +113,7 @@ class Image : public Resource /** * Sets the alpha value of this image. */ - virtual void setAlpha(float alpha); + void setAlpha(float alpha); /** * Returns the alpha value of this image. @@ -127,7 +127,7 @@ class Image : public Resource * @return NULL if creation failed and a valid * object otherwise. */ - virtual Image *getSubImage(int x, int y, int width, int height); + Image *getSubImage(int x, int y, int width, int height); /** * Tells if the image has got an alpha channel @@ -270,14 +270,6 @@ class SubImage : public Image ~SubImage(); - /** - * Creates a new image with the desired clipping rectangle. - * - * @return NULL if creation failed and a valid - * image otherwise. - */ - Image *getSubImage(int x, int y, int width, int height); - private: Image *mParent; }; -- cgit v1.2.3-70-g09d2 From 133a451912b15e4c420851dcddd4caae2b641230 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Thu, 2 Aug 2012 02:50:02 +0200 Subject: Enable OpenGL by default on all platforms Before it was only enabled by default for Mac. Reviewed-by: Erik Schilling --- src/client.cpp | 6 +----- src/defaults.cpp | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 28affce6..9af6020e 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -331,7 +331,7 @@ Client::Client(const Options &options): } #endif - bool useOpenGL = !mOptions.noOpenGL && (config.getValue("opengl", 0) == 1); + bool useOpenGL = !mOptions.noOpenGL && (config.getValue("opengl", 1) == 1); // Set up the transparency option for low CPU when not using OpenGL. if (!useOpenGL && (config.getValue("disableTransparency", 0) == 1)) @@ -1225,11 +1225,7 @@ void Client::initConfiguration() { // Fill configuration with defaults config.setValue("hwaccel", false); -#if defined __APPLE__ && defined USE_OPENGL config.setValue("opengl", true); -#else - config.setValue("opengl", false); -#endif config.setValue("screen", false); config.setValue("sound", true); config.setValue("guialpha", 0.8f); diff --git a/src/defaults.cpp b/src/defaults.cpp index 0dc8e3ed..2fcca4f8 100644 --- a/src/defaults.cpp +++ b/src/defaults.cpp @@ -78,7 +78,7 @@ DefaultsData* getConfigDefaults() AddDEF(configData, "particleEmitterSkip", 1); AddDEF(configData, "particleeffects", true); AddDEF(configData, "logToStandardOut", false); - AddDEF(configData, "opengl", false); + AddDEF(configData, "opengl", true); AddDEF(configData, "screenwidth", defaultScreenWidth); AddDEF(configData, "screenheight", defaultScreenHeight); AddDEF(configData, "screen", false); -- cgit v1.2.3-70-g09d2 From 9f2d1ed2b862183cb4451ab6a60d17505335c534 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 4 Aug 2012 21:49:06 +0200 Subject: Removed linking with guichan_opengl from C::B project Actually we're not depending on this library. Reviewed-by: Erik Schilling --- mana.cbp | 1 - 1 file changed, 1 deletion(-) diff --git a/mana.cbp b/mana.cbp index a1d92c44..dd91cc21 100644 --- a/mana.cbp +++ b/mana.cbp @@ -27,7 +27,6 @@ - -- cgit v1.2.3-70-g09d2 From 07651f85c29cde1e59d1b6fb48f3a8fdd71cb275 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 4 Aug 2012 23:26:26 +0200 Subject: Enabled manaserv support in Code::Blocks project Reviewed-by: Erik Schilling --- mana.cbp | 1 + 1 file changed, 1 insertion(+) diff --git a/mana.cbp b/mana.cbp index dd91cc21..3a82e9ee 100644 --- a/mana.cbp +++ b/mana.cbp @@ -22,6 +22,7 @@ + -- cgit v1.2.3-70-g09d2 From 1937b8e19e370a8fa9a47339e07415a315b7c935 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Tue, 31 Jul 2012 17:09:55 +0200 Subject: Fixed drawing issues with tiles that don't match the grid An optimization in the tile layer rendering code meant for drawing repeated tiles faster was not taking into account the case where the tile width does not match the width of the tile grid. Reviewed-by: Stefan Beller --- src/map.cpp | 7 ++++++- src/map.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/map.cpp b/src/map.cpp index b647d5d5..b9bcb284 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -201,12 +201,17 @@ int MapLayer::getTileDrawWidth(int x1, int y1, int endX, int &width) const Image *img1 = getTile(x1, y1); int c = 0; width = img1->getWidth(); + + // Images that don't match the tile width can't be drawn as a pattern + if (width != mMap->getTileWidth()) + return c; + for (int x = x1 + 1; x < endX; x++) { Image *img = getTile(x, y1); if (img != img1) break; - c ++; + c++; width += img->getWidth(); } return c; diff --git a/src/map.h b/src/map.h index 8d87c5be..2338452c 100644 --- a/src/map.h +++ b/src/map.h @@ -126,7 +126,7 @@ class MapLayer const Actors &actors, int debugFlags) const; - bool isFringeLayer() + bool isFringeLayer() const { return mIsFringeLayer; } int getTileDrawWidth(int x1, int y1, int endX, int &width) const; -- cgit v1.2.3-70-g09d2 From 39c36efc9de6f31d64b6e0b5376989887b7e72e5 Mon Sep 17 00:00:00 2001 From: Tom Leese Date: Tue, 7 Aug 2012 10:56:58 +0100 Subject: Fixed issue where previous special entries were drawn underneath Reviewed-by: Erik Schilling. --- src/gui/specialswindow.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp index 53106da2..d96b5805 100644 --- a/src/gui/specialswindow.cpp +++ b/src/gui/specialswindow.cpp @@ -160,6 +160,13 @@ void SpecialsWindow::draw(gcn::Graphics *graphics) void SpecialsWindow::rebuild(const std::map &specialData) { + // remove current entries so they don't get drawn underneath + for (std::map::const_iterator it = mEntries.begin(); + it != mEntries.end(); ++it) + { + remove(it->second); + } + make_dtor(mEntries); mEntries.clear(); int vPos = 0; //vertical position of next placed element -- cgit v1.2.3-70-g09d2 From 6aa293c687835a2148e735ad1f39dd0badf3d8e9 Mon Sep 17 00:00:00 2001 From: Tom Leese Date: Tue, 7 Aug 2012 21:55:03 +0100 Subject: Changed to using delete_all instead of a loop Reviewed-by: Erik Schilling. --- src/gui/specialswindow.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp index d96b5805..a163562b 100644 --- a/src/gui/specialswindow.cpp +++ b/src/gui/specialswindow.cpp @@ -160,14 +160,8 @@ void SpecialsWindow::draw(gcn::Graphics *graphics) void SpecialsWindow::rebuild(const std::map &specialData) { - // remove current entries so they don't get drawn underneath - for (std::map::const_iterator it = mEntries.begin(); - it != mEntries.end(); ++it) - { - remove(it->second); - } - - make_dtor(mEntries); + delete_all(mEntries); + mEntries.clear(); int vPos = 0; //vertical position of next placed element -- cgit v1.2.3-70-g09d2 From 7439b15bfe249615a51e8eadf29c1ca0b0e00b4e Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 11 Aug 2012 21:31:29 +0200 Subject: Fixed handling of --chat-log-dir command line option It was also setting the screenshot directory. Reviewed-by: Erik Schilling --- src/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index b7669f0e..e3225d63 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -150,7 +150,8 @@ static void parseOptions(int argc, char *argv[], Client::Options &options) options.noOpenGL = true; break; case 'T': - options.chatLogDir = std::string(optarg); + options.chatLogDir = optarg; + break; case 'i': options.screenshotDir = optarg; break; -- cgit v1.2.3-70-g09d2 From a330879c88a12d82c3b63dba08dcb5df6b46b242 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 11 Aug 2012 21:42:55 +0200 Subject: Removed two unused variables Reviewed-by: Erik Schilling --- src/client.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 9af6020e..1b413a7f 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -102,9 +102,6 @@ */ static const int MAX_TICK_VALUE = 10000; -static const int defaultSfxVolume = 100; -static const int defaultMusicVolume = 60; - // TODO: Get rid fo these globals std::string errorMessage; LoginData loginData; -- cgit v1.2.3-70-g09d2 From dfb24aff4c683471fec95392a9d3a46687f40f28 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 22 Jul 2012 21:50:50 +0200 Subject: Removed manual calling of glFlush and made glFinish optional Actually neither glFlush nor glFinish need to be called manually [1]. However, the rendering pipeline is then free to queue up future frames which can cause a lag which is especially noticable with mouse movement. To avoid this lag, we call glFinish after SDL_GL_SwapBuffers. This makes sure processing of the next frame does not start before the current frame is being displayed. [1] http://www.opengl.org/wiki/Common_Mistakes#glFinish_and_glFlush Reviewed-by: Yohann Ferreira Sounded-fine-to: Erik Schilling --- src/openglgraphics.cpp | 23 ++++++++++++++++++++--- src/openglgraphics.h | 11 +++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index 50fee075..f30e866d 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -44,7 +44,8 @@ GLuint OpenGLGraphics::mLastImage = 0; OpenGLGraphics::OpenGLGraphics(): mAlpha(false), mTexture(false), mColorAlpha(false), - mSync(false) + mSync(false), + mReduceInputLag(true) { mFloatTexArray = new GLfloat[vertexBufSize * 4]; mIntTexArray = new GLint[vertexBufSize * 4]; @@ -63,6 +64,11 @@ void OpenGLGraphics::setSync(bool sync) mSync = sync; } +void OpenGLGraphics::setReduceInputLag(bool reduceInputLag) +{ + mReduceInputLag = reduceInputLag; +} + bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel) { logger->log("Setting video mode %dx%d %s", @@ -604,9 +610,20 @@ void OpenGLGraphics::drawRescaledImagePattern(Image *image, void OpenGLGraphics::updateScreen() { - glFlush(); - glFinish(); SDL_GL_SwapBuffers(); + + /* + * glFinish flushes all OpenGL commands and makes sure they have been + * executed before continuing. If we do not do this we allow the next + * frame to be prepared while the current one isn't even displaying yet, + * which can cause input lag that is especially noticable at mouse + * movement. + * + * The setting is optional since calling glFinish can reduce performance + * and increase CPU usage. + */ + if (mReduceInputLag) + glFinish(); } void OpenGLGraphics::_beginDraw() diff --git a/src/openglgraphics.h b/src/openglgraphics.h index a1d78e46..63c32261 100644 --- a/src/openglgraphics.h +++ b/src/openglgraphics.h @@ -43,6 +43,16 @@ class OpenGLGraphics : public Graphics void setSync(bool sync); bool getSync() const { return mSync; } + /** + * Sets whether input lag should be reduced. + * + * This means waiting until the graphics card has finished drawing and + * displaying the current frame until continuing towards the next, + * possibly at the cost of performance and CPU usage. + */ + void setReduceInputLag(bool reduceInputLag); + bool getReduceInputLag() const { return mReduceInputLag; } + bool setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel); bool drawImage(Image *image, @@ -114,6 +124,7 @@ class OpenGLGraphics : public Graphics bool mAlpha, mTexture; bool mColorAlpha; bool mSync; + bool mReduceInputLag; }; #endif //USE_OPENGL -- cgit v1.2.3-70-g09d2 From fa7cdef831e160a275c4612a5bd4274a1fe095ea Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Tue, 31 Jul 2012 17:55:40 +0200 Subject: Removed ImageLoader and ProxyImage classes They allowed using gcn::Image, which in turns allows using gcn::Icon and gcn::ImageFont, but none of this is actually used anymore. Reviewed-by: Erik Schilling --- Xcode/mana.xcodeproj/project.pbxproj | 6 --- mana.cbp | 2 - mana.files | 2 - src/CMakeLists.txt | 2 - src/graphics.cpp | 10 ---- src/graphics.h | 6 --- src/gui/gui.cpp | 5 -- src/resources/imageloader.cpp | 98 ------------------------------------ src/resources/imageloader.h | 69 ------------------------- 9 files changed, 200 deletions(-) delete mode 100644 src/resources/imageloader.cpp delete mode 100644 src/resources/imageloader.h diff --git a/Xcode/mana.xcodeproj/project.pbxproj b/Xcode/mana.xcodeproj/project.pbxproj index 17563c6e..ec296b60 100644 --- a/Xcode/mana.xcodeproj/project.pbxproj +++ b/Xcode/mana.xcodeproj/project.pbxproj @@ -225,7 +225,6 @@ FC047CAF151E500C00C5E9E7 /* emotedb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C82151E500C00C5E9E7 /* emotedb.cpp */; }; FC047CB0151E500C00C5E9E7 /* hairdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C84151E500C00C5E9E7 /* hairdb.cpp */; }; FC047CB1151E500C00C5E9E7 /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C86151E500C00C5E9E7 /* image.cpp */; }; - FC047CB2151E500C00C5E9E7 /* imageloader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C88151E500C00C5E9E7 /* imageloader.cpp */; }; FC047CB3151E500C00C5E9E7 /* imageset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C8A151E500C00C5E9E7 /* imageset.cpp */; }; FC047CB4151E500C00C5E9E7 /* imagewriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C8C151E500C00C5E9E7 /* imagewriter.cpp */; }; FC047CB5151E500C00C5E9E7 /* itemdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C8E151E500C00C5E9E7 /* itemdb.cpp */; }; @@ -767,8 +766,6 @@ FC047C85151E500C00C5E9E7 /* hairdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hairdb.h; sourceTree = ""; }; FC047C86151E500C00C5E9E7 /* image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = image.cpp; sourceTree = ""; }; FC047C87151E500C00C5E9E7 /* image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = image.h; sourceTree = ""; }; - FC047C88151E500C00C5E9E7 /* imageloader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imageloader.cpp; sourceTree = ""; }; - FC047C89151E500C00C5E9E7 /* imageloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imageloader.h; sourceTree = ""; }; FC047C8A151E500C00C5E9E7 /* imageset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imageset.cpp; sourceTree = ""; }; FC047C8B151E500C00C5E9E7 /* imageset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imageset.h; sourceTree = ""; }; FC047C8C151E500C00C5E9E7 /* imagewriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imagewriter.cpp; sourceTree = ""; }; @@ -1479,8 +1476,6 @@ FC047C85151E500C00C5E9E7 /* hairdb.h */, FC047C86151E500C00C5E9E7 /* image.cpp */, FC047C87151E500C00C5E9E7 /* image.h */, - FC047C88151E500C00C5E9E7 /* imageloader.cpp */, - FC047C89151E500C00C5E9E7 /* imageloader.h */, FC047C8A151E500C00C5E9E7 /* imageset.cpp */, FC047C8B151E500C00C5E9E7 /* imageset.h */, FC047C8C151E500C00C5E9E7 /* imagewriter.cpp */, @@ -1879,7 +1874,6 @@ FC047CAF151E500C00C5E9E7 /* emotedb.cpp in Sources */, FC047CB0151E500C00C5E9E7 /* hairdb.cpp in Sources */, FC047CB1151E500C00C5E9E7 /* image.cpp in Sources */, - FC047CB2151E500C00C5E9E7 /* imageloader.cpp in Sources */, FC047CB3151E500C00C5E9E7 /* imageset.cpp in Sources */, FC047CB4151E500C00C5E9E7 /* imagewriter.cpp in Sources */, FC047CB5151E500C00C5E9E7 /* itemdb.cpp in Sources */, diff --git a/mana.cbp b/mana.cbp index 3a82e9ee..956c1ff1 100644 --- a/mana.cbp +++ b/mana.cbp @@ -532,8 +532,6 @@ - - diff --git a/mana.files b/mana.files index b2d0578c..be668387 100644 --- a/mana.files +++ b/mana.files @@ -478,8 +478,6 @@ src/resources/hairdb.cpp src/resources/hairdb.h src/resources/image.cpp src/resources/image.h -src/resources/imageloader.cpp -src/resources/imageloader.h src/resources/imageset.cpp src/resources/imageset.h src/resources/imagewriter.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9501b617..b9aa6bb7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -375,8 +375,6 @@ SET(SRCS resources/hairdb.h resources/image.cpp resources/image.h - resources/imageloader.cpp - resources/imageloader.h resources/imageset.h resources/imageset.cpp resources/imagewriter.cpp diff --git a/src/graphics.cpp b/src/graphics.cpp index 7b56d974..ac3735f5 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -25,7 +25,6 @@ #include "log.h" #include "resources/image.h" -#include "resources/imageloader.h" #include "utils/gettext.h" @@ -219,15 +218,6 @@ bool Graphics::drawImage(Image *image, int srcX, int srcY, int dstX, int dstY, return !(SDL_gfxBlitRGBA(image->mSDLSurface, &srcRect, mTarget, &dstRect) < 0); } -void Graphics::drawImage(gcn::Image const *image, int srcX, int srcY, - int dstX, int dstY, int width, int height) -{ - ProxyImage const *srcImage = - dynamic_cast< ProxyImage const * >(image); - assert(srcImage); - drawImage(srcImage->getImage(), srcX, srcY, dstX, dstY, width, height, true); -} - void Graphics::drawImagePattern(Image *image, int x, int y, int w, int h) { // Check that preconditions for blitting are met. diff --git a/src/graphics.h b/src/graphics.h index 6a17aab4..dc3d249e 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -101,12 +101,6 @@ class Graphics : public gcn::SDLGraphics */ bool drawImage(Image *image, int x, int y); - /** - * Overrides with our own drawing method. - */ - void drawImage(gcn::Image const *image, int srcX, int srcY, - int dstX, int dstY, int width, int height); - /** * Draws a resclaled version of the image */ diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 78fc42fb..019d3002 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -37,7 +37,6 @@ #include "resources/image.h" #include "resources/imageset.h" -#include "resources/imageloader.h" #include "resources/resourcemanager.h" #include "resources/theme.h" @@ -88,10 +87,6 @@ Gui::Gui(Graphics *graphics): // Set graphics setGraphics(graphics); - // Set image loader - static ImageLoader imageLoader; - gcn::Image::setImageLoader(&imageLoader); - // Set input guiInput = new SDLInput; setInput(guiInput); diff --git a/src/resources/imageloader.cpp b/src/resources/imageloader.cpp deleted file mode 100644 index 262ec98c..00000000 --- a/src/resources/imageloader.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - * The Mana Client - * Copyright (C) 2007-2009 The Mana World Development Team - * Copyright (C) 2009-2012 The Mana Developers - * - * This file is part of The Mana Client. - * - * 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 - * 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, see . - */ - -#include "resources/imageloader.h" - -#include "resources/image.h" -#include "resources/resourcemanager.h" - -#include - -#include - -#include - -ProxyImage::ProxyImage(SDL_Surface *s): - mImage(NULL), mSDLImage(s) -{ -} - -ProxyImage::~ProxyImage() -{ - free(); -} - -void ProxyImage::free() -{ - if (mSDLImage) - { - SDL_FreeSurface(mSDLImage); - mSDLImage = NULL; - } - else if (mImage) - { - delete mImage; - mImage = NULL; - } -} - -int ProxyImage::getWidth() const -{ - return mSDLImage ? mSDLImage->w : mImage->getWidth(); -} - -int ProxyImage::getHeight() const -{ - return mSDLImage ? mSDLImage->h : mImage->getHeight(); -} - -gcn::Color ProxyImage::getPixel(int x, int y) -{ - assert(mSDLImage); - return gcn::SDLgetPixel(mSDLImage, x, y); -} - -void ProxyImage::putPixel(int x, int y, gcn::Color const &color) -{ - assert(mSDLImage); - gcn::SDLputPixel(mSDLImage, x, y, color); -} - -void ProxyImage::convertToDisplayFormat() -{ - assert(mSDLImage); - /* The picture is most probably full of the pink pixels Guichan uses for - transparency, as this function will only be called when setting an image - font. Get rid of them. */ - SDL_SetColorKey(mSDLImage, SDL_SRCCOLORKEY, - SDL_MapRGB(mSDLImage->format, 255, 0, 255)); - mImage = ::Image::load(mSDLImage); - SDL_FreeSurface(mSDLImage); - mSDLImage = NULL; -} - -gcn::Image *ImageLoader::load(const std::string &filename, bool convert) -{ - ResourceManager *resman = ResourceManager::getInstance(); - ProxyImage *i = new ProxyImage(resman->loadSDLSurface(filename)); - if (convert) i->convertToDisplayFormat(); - return i; -} diff --git a/src/resources/imageloader.h b/src/resources/imageloader.h deleted file mode 100644 index 10592142..00000000 --- a/src/resources/imageloader.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * The Mana Client - * Copyright (C) 2007-2009 The Mana World Development Team - * Copyright (C) 2009-2012 The Mana Developers - * - * This file is part of The Mana Client. - * - * 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 - * 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, see . - */ - -#ifndef IMAGELOADER_H -#define IMAGELOADER_H - -#include -#include - -#include - -class Image; -struct SDL_Surface; - -class ProxyImage : public gcn::Image -{ - public: - ProxyImage(SDL_Surface *); - ~ProxyImage(); - - void free(); - int getWidth() const; - int getHeight() const; - gcn::Color getPixel(int x, int y); - void putPixel(int x, int y, gcn::Color const &color); - void convertToDisplayFormat(); - - /** - * Gets the image handled by this proxy. - */ - ::Image *getImage() const - { return mImage; } - - private: - ::Image *mImage; /**< The real image. */ - - /** - * An SDL surface kept around until Guichan is done reading pixels from - * an OpenGL texture. - */ - SDL_Surface *mSDLImage; -}; - -class ImageLoader : public gcn::ImageLoader -{ - public: - gcn::Image *load(const std::string &filename, - bool convertToDisplayFormat); -}; - -#endif -- cgit v1.2.3-70-g09d2 From 23db322600556230f59f53a99050491f623308a2 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Wed, 1 Aug 2012 22:20:56 +0200 Subject: Improved the layout of the specials window And removed the unused TabbedArea. Reviewed-by: Erik Schilling --- src/gui/specialswindow.cpp | 27 ++++++++------------------- src/gui/specialswindow.h | 6 ------ 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp index a163562b..3caeded3 100644 --- a/src/gui/specialswindow.cpp +++ b/src/gui/specialswindow.cpp @@ -28,12 +28,7 @@ #include "gui/widgets/container.h" #include "gui/widgets/icon.h" #include "gui/widgets/label.h" -#include "gui/widgets/listbox.h" #include "gui/widgets/progressbar.h" -#include "gui/widgets/scrollarea.h" -#include "gui/widgets/tab.h" -#include "gui/widgets/tabbedarea.h" -#include "gui/widgets/flowcontainer.h" #include "gui/widgets/windowcontainer.h" #include "net/net.h" @@ -83,13 +78,9 @@ SpecialsWindow::SpecialsWindow(): setCloseButton(true); setResizable(true); setSaveVisible(true); - setDefaultSize(windowContainer->getWidth() - 280, 30, 275, 425); + setDefaultSize(windowContainer->getWidth() - 280, 40, SPECIALS_WIDTH + 20, 225); setupWindow->registerWindowForReset(this); - mTabs = new TabbedArea(); - - place(0, 0, mTabs, 5, 5); - center(); loadWindowState(); } @@ -137,8 +128,8 @@ void SpecialsWindow::draw(gcn::Graphics *graphics) unsigned int found = 0; // number of entries in specialData which match mEntries for (std::map::iterator i = specialData.begin(); - i != specialData.end(); - i++) + i != specialData.end(); + i++) { std::map::iterator e = mEntries.find(i->first); if (e == mEntries.end()) @@ -153,7 +144,8 @@ void SpecialsWindow::draw(gcn::Graphics *graphics) } } // a rebuild is needed when a) the number of specials changed or b) an existing entry isn't found anymore - if (foundNew || found != mEntries.size()) rebuild(specialData); + if (foundNew || found != mEntries.size()) + rebuild(specialData); Window::draw(graphics); } @@ -178,7 +170,7 @@ void SpecialsWindow::rebuild(const std::map &specialData) info->rechargeNeeded = i->second.neededMana; SpecialEntry* entry = new SpecialEntry(info); entry->setPosition(0, vPos); - vPos += entry->getHeight(); + vPos += entry->getHeight() + 3; add(entry); mEntries[i->first] = entry; } else { @@ -195,8 +187,6 @@ SpecialEntry::SpecialEntry(SpecialInfo *info) : mUse(NULL), mRechargeBar(NULL) { - setFrameSize(1); - setOpaque(false); setSize(SPECIALS_WIDTH, SPECIALS_HEIGHT); if (!info->icon.empty()) @@ -213,7 +203,7 @@ SpecialEntry::SpecialEntry(SpecialInfo *info) : add(mNameLabel); mUse = new Button("Use", "use", specialsWindow); - mUse->setPosition(getWidth() - mUse->getWidth(), 13); + mUse->setPosition(getWidth() - mUse->getWidth(), 5); add(mUse); if (info->rechargeable) @@ -221,10 +211,9 @@ SpecialEntry::SpecialEntry(SpecialInfo *info) : float progress = (float)info->rechargeCurrent / (float)info->rechargeNeeded; mRechargeBar = new ProgressBar(progress, 100, 10, Theme::PROG_MP); mRechargeBar->setSmoothProgress(false); - mRechargeBar->setPosition(0, 13); + mRechargeBar->setPosition(mNameLabel->getX(), 18); add(mRechargeBar); } - } void SpecialEntry::update(int current, int needed) diff --git a/src/gui/specialswindow.h b/src/gui/specialswindow.h index d0647fc5..75ad3ef0 100644 --- a/src/gui/specialswindow.h +++ b/src/gui/specialswindow.h @@ -31,11 +31,6 @@ #include -class Label; -class ScrollArea; -class Tab; -class TabbedArea; - struct SpecialEntry; class SpecialsWindow : public Window, public gcn::ActionListener @@ -59,7 +54,6 @@ class SpecialsWindow : public Window, public gcn::ActionListener // (re)constructs the list of specials void rebuild(const std::map &specialData); - TabbedArea *mTabs; std::map mEntries; }; -- cgit v1.2.3-70-g09d2 From 9f564cc42ba650c502a31b72dc59530fcad684cd Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Tue, 7 Aug 2012 12:21:24 +0200 Subject: Fixed coding style in specialswindow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Thorbjørn Lindeijer. --- src/gui/specialswindow.cpp | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp index 3caeded3..ac1f460b 100644 --- a/src/gui/specialswindow.cpp +++ b/src/gui/specialswindow.cpp @@ -127,19 +127,20 @@ void SpecialsWindow::draw(gcn::Graphics *graphics) bool foundNew = false; unsigned int found = 0; // number of entries in specialData which match mEntries - for (std::map::iterator i = specialData.begin(); - i != specialData.end(); - i++) + for (std::map::iterator it = specialData.begin(); + it != specialData.end(); ++it) { - std::map::iterator e = mEntries.find(i->first); + std::map::iterator e = mEntries.find(it->first); if (e == mEntries.end()) { // found a new special - abort update and rebuild from scratch foundNew = true; break; - } else { + } + else + { // update progress bar of special - e->second->update(i->second.currentMana, i->second.neededMana); + e->second->update(it->second.currentMana, it->second.neededMana); found++; } } @@ -157,24 +158,25 @@ void SpecialsWindow::rebuild(const std::map &specialData) mEntries.clear(); int vPos = 0; //vertical position of next placed element - for (std::map::const_iterator i = specialData.begin(); - i != specialData.end(); - i++) + for (std::map::const_iterator it = specialData.begin(); + it != specialData.end(); ++it) { - logger->log("Updating special GUI for %d", i->first); + logger->log("Updating special GUI for %d", it->first); - SpecialInfo* info = SpecialDB::get(i->first); + SpecialInfo *info = SpecialDB::get(it->first); if (info) { - info->rechargeCurrent = i->second.currentMana; - info->rechargeNeeded = i->second.neededMana; + info->rechargeCurrent = it->second.currentMana; + info->rechargeNeeded = it->second.neededMana; SpecialEntry* entry = new SpecialEntry(info); entry->setPosition(0, vPos); vPos += entry->getHeight() + 3; add(entry); - mEntries[i->first] = entry; - } else { - logger->log("Warning: No info available of special %d", i->first); + mEntries[it->first] = entry; + } + else + { + logger->log("Warning: No info available of special %d", it->first); } } } -- cgit v1.2.3-70-g09d2 From 067ad70e9978fd678bb784783b2b5c3dc32746d1 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Tue, 7 Aug 2012 12:27:41 +0200 Subject: Fixed special keeping in list after serverside remove MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Thorbjørn Lindeijer. --- src/net/manaserv/playerhandler.cpp | 1 + src/playerinfo.cpp | 5 +++++ src/playerinfo.h | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/src/net/manaserv/playerhandler.cpp b/src/net/manaserv/playerhandler.cpp index c2c491d5..484e551a 100644 --- a/src/net/manaserv/playerhandler.cpp +++ b/src/net/manaserv/playerhandler.cpp @@ -248,6 +248,7 @@ void PlayerHandler::handleMessage(MessageIn &msg) case GPMSG_SPECIAL_STATUS : { + PlayerInfo::clearSpecialStatus(); while (msg.getUnreadLength()) { // { B specialID, L current, L max, L recharge } diff --git a/src/playerinfo.cpp b/src/playerinfo.cpp index 692090af..03c48340 100644 --- a/src/playerinfo.cpp +++ b/src/playerinfo.cpp @@ -282,6 +282,11 @@ void setBuySellState(BuySellState buySellState) // --- Specials --------------------------------------------------------------- +void clearSpecialStatus() +{ + mSpecials.clear(); +} + void setSpecialStatus(int id, int current, int max, int recharge) { logger->log("SpecialUpdate Skill #%d -- (%d/%d) -> %d", id, current, max, diff --git a/src/playerinfo.h b/src/playerinfo.h index d7483cc1..e228ec7e 100644 --- a/src/playerinfo.h +++ b/src/playerinfo.h @@ -224,6 +224,11 @@ namespace PlayerInfo // --- Specials --------------------------------------------------------------- + /** + * Removes all specials. + */ + void clearSpecialStatus(); + /** * Changes the status of the given special. */ -- cgit v1.2.3-70-g09d2 From d18445a37c9f01c37238858dbceed7533f636aed Mon Sep 17 00:00:00 2001 From: Socapex Date: Mon, 13 Aug 2012 17:53:52 -0400 Subject: Can now build using cmake on OSX Tested-by: Frost. --- .gitignore | 3 +- README.cmake | 12 +++++ src/CMakeLists.txt | 11 +++- src/SDLMain.h | 5 ++ src/SDLMain.m | 124 +++++++++++++++++++++----------------------- src/gui/truetypefont.h | 4 -- src/resources/music.h | 4 -- src/resources/soundeffect.h | 4 -- src/sound.h | 4 -- 9 files changed, 89 insertions(+), 82 deletions(-) diff --git a/.gitignore b/.gitignore index 36b1dea2..f37cd9f1 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,7 @@ docs/SOURCE/html/* # static libraries *.a -# Xcode settings +# OSX Xcode/mana.xcodeproj/xcuserdata Xcode/mana.xcodeproj/project.xcworkspace/xcuserdata +.DS_Store \ No newline at end of file diff --git a/README.cmake b/README.cmake index 8471473f..c9175fa5 100644 --- a/README.cmake +++ b/README.cmake @@ -4,6 +4,7 @@ 2. How do I... 3. Crosscompiling using CMake 4. Creating an installer binary for Windows + 5. Building on OS X This readme explains the most common parameters to CMake needed for building mana, as well as setting up a cross build environement to @@ -134,3 +135,14 @@ $ makensis -DDLLDIR=/build/mana-libs/lib/ -DPRODUCT_VERSION=0.1.0.0 \ -DUPX=true -DEXESUFFIX=/src setup.nsi and end up with the installer in mana-0.1.0.0-win32.exe + +5. Building on OS X +------------------- + +In your mana directory: + +$ export CC=/usr/bin/clang +$ export CXX=/usr/bin/clang++ +$ cmake -DENABLE_CPP0X=OFF +$ make +$ src/mana diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b9aa6bb7..f7483cfa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -650,7 +650,16 @@ IF (WIN32) utils/specialfolder.h mana.rc ) -ENDIF () +ENDIF (WIN32) + +IF (APPLE) + SET(SRCS + ${SRCS} + log.mm + SDLMain.h + SDLMain.m + ) +ENDIF (APPLE) SET (PROGRAMS mana) diff --git a/src/SDLMain.h b/src/SDLMain.h index 4683df57..c56d90cb 100644 --- a/src/SDLMain.h +++ b/src/SDLMain.h @@ -5,7 +5,12 @@ Feel free to customize this file to suit your needs */ +#ifndef _SDLMain_h_ +#define _SDLMain_h_ + #import @interface SDLMain : NSObject @end + +#endif /* _SDLMain_h_ */ diff --git a/src/SDLMain.m b/src/SDLMain.m index d7e9273b..2434f81a 100644 --- a/src/SDLMain.m +++ b/src/SDLMain.m @@ -1,14 +1,14 @@ /* SDLMain.m - main entry point for our Cocoa-ized SDL app - Initial Version: Darrell Walisser - Non-NIB-Code & other changes: Max Horn - - Feel free to customize this file to suit your needs - */ + Initial Version: Darrell Walisser + Non-NIB-Code & other changes: Max Horn + + Feel free to customize this file to suit your needs +*/ -#import "SDL.h" -#import "SDLMain.h" -#import /* for MAXPATHLEN */ -#import +#include "SDL.h" +#include "SDLMain.h" +#include /* for MAXPATHLEN */ +#include /* For some reaon, Apple removed setAppleMenu from the headers in 10.4, but the method still is there and works. To avoid warnings, we declare @@ -25,10 +25,10 @@ #ifdef SDL_USE_CPS /* Portions of CPS.h */ typedef struct CPSProcessSerNum - { - UInt32 lo; - UInt32 hi; - } CPSProcessSerNum; +{ + UInt32 lo; + UInt32 hi; +} CPSProcessSerNum; extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn); extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5); @@ -43,17 +43,17 @@ static BOOL gCalledAppMainline = FALSE; static NSString *getApplicationName(void) { - NSDictionary *dict; + const NSDictionary *dict; NSString *appName = 0; - + /* Determine the application name */ - dict = (NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle()); + dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle()); if (dict) appName = [dict objectForKey: @"CFBundleName"]; if (![appName length]) appName = [[NSProcessInfo processInfo] processName]; - + return appName; } @@ -64,10 +64,10 @@ static NSString *getApplicationName(void) @end #endif -@interface SDLApplication : NSApplication +@interface NSApplication (SDLApplication) @end -@implementation SDLApplication +@implementation NSApplication (SDLApplication) /* Invoked from the Quit menu item */ - (void)terminate:(id)sender { @@ -87,15 +87,14 @@ static NSString *getApplicationName(void) if (shouldChdir) { char parentdir[MAXPATHLEN]; - CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle()); - CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url); - if (CFURLGetFileSystemRepresentation(url2, true, (UInt8 *)parentdir, MAXPATHLEN)) { - assert ( chdir (parentdir) == 0 ); /* chdir to the binary app's parent */ - } - CFRelease(url); - CFRelease(url2); - } - + CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle()); + CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url); + if (CFURLGetFileSystemRepresentation(url2, 1, (UInt8 *)parentdir, MAXPATHLEN)) { + chdir(parentdir); /* chdir to the binary app's parent */ + } + CFRelease(url); + CFRelease(url2); + } } #if SDL_USE_NIB_FILE @@ -106,11 +105,11 @@ static NSString *getApplicationName(void) NSRange aRange; NSEnumerator *enumerator; NSMenuItem *menuItem; - + aRange = [[aMenu title] rangeOfString:@"SDL App"]; if (aRange.length != 0) [aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]]; - + enumerator = [[aMenu itemArray] objectEnumerator]; while ((menuItem = [enumerator nextObject])) { @@ -120,7 +119,6 @@ static NSString *getApplicationName(void) if ([menuItem hasSubmenu]) [self fixMenu:[menuItem submenu] withAppName:appName]; } - [ aMenu sizeToFit ]; } #else @@ -139,31 +137,31 @@ static void setApplicationMenu(void) /* Add menu items */ title = [@"About " stringByAppendingString:appName]; [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; - + [appleMenu addItem:[NSMenuItem separatorItem]]; - + title = [@"Hide " stringByAppendingString:appName]; [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"]; - + menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"]; [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)]; - + [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""]; - + [appleMenu addItem:[NSMenuItem separatorItem]]; - + title = [@"Quit " stringByAppendingString:appName]; [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"]; - + /* Put menu into the menubar */ menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; [menuItem setSubmenu:appleMenu]; [[NSApp mainMenu] addItem:menuItem]; - + /* Tell the application object that this is now the application menu */ [NSApp setAppleMenu:appleMenu]; - + /* Finally give up our references to the objects */ [appleMenu release]; [menuItem release]; @@ -175,7 +173,7 @@ static void setupWindowMenu(void) NSMenu *windowMenu; NSMenuItem *windowMenuItem; NSMenuItem *menuItem; - + windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; /* "Minimize" item */ @@ -190,7 +188,7 @@ static void setupWindowMenu(void) /* Tell the application object that this is now the window menu */ [NSApp setWindowsMenu:windowMenu]; - + /* Finally give up our references to the objects */ [windowMenu release]; [windowMenuItem release]; @@ -201,9 +199,9 @@ static void CustomApplicationMain (int argc, char **argv) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; SDLMain *sdlMain; - + /* Ensure the application object is initialised */ - [SDLApplication sharedApplication]; + [NSApplication sharedApplication]; #ifdef SDL_USE_CPS { @@ -212,15 +210,15 @@ static void CustomApplicationMain (int argc, char **argv) if (!CPSGetCurrentProcess(&PSN)) if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103)) if (!CPSSetFrontProcess(&PSN)) - [SDLApplication sharedApplication]; + [NSApplication sharedApplication]; } #endif /* SDL_USE_CPS */ - + /* Set up the menubar */ [NSApp setMainMenu:[[NSMenu alloc] init]]; setApplicationMenu(); setupWindowMenu(); - + /* Create SDLMain and make it the app delegate */ sdlMain = [[SDLMain alloc] init]; [NSApp setDelegate:sdlMain]; @@ -256,19 +254,19 @@ static void CustomApplicationMain (int argc, char **argv) size_t arglen; char *arg; char **newargv; - + if (!gFinderLaunch) /* MacOS is passing command line args. */ return FALSE; - + if (gCalledAppMainline) /* app has started, ignore this document. */ return FALSE; - + temparg = [filename UTF8String]; arglen = SDL_strlen(temparg) + 1; arg = (char *) SDL_malloc(arglen); if (arg == NULL) return FALSE; - + newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2)); if (newargv == NULL) { @@ -276,7 +274,7 @@ static void CustomApplicationMain (int argc, char **argv) return FALSE; } gArgv = newargv; - + SDL_strlcpy(arg, temparg, arglen); gArgv[gArgc++] = arg; gArgv[gArgc] = NULL; @@ -288,19 +286,19 @@ static void CustomApplicationMain (int argc, char **argv) - (void) applicationDidFinishLaunching: (NSNotification *) note { int status; - + /* Set the working directory to the .app's parent directory */ [self setupWorkingDirectory:gFinderLaunch]; - + #if SDL_USE_NIB_FILE /* Set the main menu to contain the real app name instead of "SDL App" */ [self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()]; #endif - + /* Hand off to main application code */ gCalledAppMainline = TRUE; status = SDL_main (gArgc, gArgv); - + /* We're done, thank you for playing */ exit(status); } @@ -317,9 +315,9 @@ static void CustomApplicationMain (int argc, char **argv) unichar *buffer; NSRange localRange; NSString *result; - + bufferSize = selfLen + aStringLen - aRange.length; - buffer = NSAllocateMemoryPages(bufferSize*sizeof(unichar)); + buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar)); /* Get first part into buffer */ localRange.location = 0; @@ -330,7 +328,7 @@ static void CustomApplicationMain (int argc, char **argv) localRange.location = 0; localRange.length = aStringLen; [aString getCharacters:(buffer+aRange.location) range:localRange]; - + /* Get last part into buffer */ localRange.location = aRange.location + aRange.length; localRange.length = selfLen - localRange.location; @@ -364,9 +362,7 @@ int main (int argc, char **argv) gArgv[1] = NULL; gArgc = 1; gFinderLaunch = YES; - } - else - { + } else { int i; gArgc = argc; gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1)); @@ -374,12 +370,12 @@ int main (int argc, char **argv) gArgv[i] = argv[i]; gFinderLaunch = NO; } - + #if SDL_USE_NIB_FILE - [SDLApplication poseAsClass:[NSApplication class]]; NSApplicationMain (argc, argv); #else CustomApplicationMain (argc, argv); #endif return 0; } + diff --git a/src/gui/truetypefont.h b/src/gui/truetypefont.h index 97fd7f08..a01e2a62 100644 --- a/src/gui/truetypefont.h +++ b/src/gui/truetypefont.h @@ -25,15 +25,11 @@ #include -#ifdef __APPLE__ -#include -#else #ifdef __WIN32__ #include #else #include #endif -#endif #include #include diff --git a/src/resources/music.h b/src/resources/music.h index bc2a56ae..d370f0a5 100644 --- a/src/resources/music.h +++ b/src/resources/music.h @@ -24,11 +24,7 @@ #include "resources/resource.h" -#ifdef __APPLE__ -#include -#else #include -#endif /** * Defines a class for loading and storing music. diff --git a/src/resources/soundeffect.h b/src/resources/soundeffect.h index decc60a0..38d58681 100644 --- a/src/resources/soundeffect.h +++ b/src/resources/soundeffect.h @@ -24,11 +24,7 @@ #include "resources/resource.h" -#ifdef __APPLE__ -#include -#else #include -#endif /** * Defines a class for loading and storing sound effects. diff --git a/src/sound.h b/src/sound.h index 180bca62..d4d0e8da 100644 --- a/src/sound.h +++ b/src/sound.h @@ -22,11 +22,7 @@ #ifndef SOUND_H #define SOUND_H -#ifdef __APPLE__ -#include -#else #include -#endif #include -- cgit v1.2.3-70-g09d2 From de46cfd8f68397a20ae2dbfcedfac1ea9458f081 Mon Sep 17 00:00:00 2001 From: Socapex Date: Mon, 13 Aug 2012 19:23:47 -0400 Subject: Updated Xcode project for 10.7 Tested-by: Frost. --- .gitignore | 2 + Xcode/mana-10.7.xcodeproj/project.pbxproj | 2104 ++++++++++++++++++++ .../project.xcworkspace/contents.xcworkspacedata | 7 + 3 files changed, 2113 insertions(+) create mode 100644 Xcode/mana-10.7.xcodeproj/project.pbxproj create mode 100644 Xcode/mana-10.7.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/.gitignore b/.gitignore index f37cd9f1..83dbf8b3 100644 --- a/.gitignore +++ b/.gitignore @@ -51,4 +51,6 @@ docs/SOURCE/html/* # OSX Xcode/mana.xcodeproj/xcuserdata Xcode/mana.xcodeproj/project.xcworkspace/xcuserdata +Xcode/mana-10.7.xcodeproj/xcuserdata +Xcode/mana-10.7.xcodeproj/project.xcworkspace/xcuserdata .DS_Store \ No newline at end of file diff --git a/Xcode/mana-10.7.xcodeproj/project.pbxproj b/Xcode/mana-10.7.xcodeproj/project.pbxproj new file mode 100644 index 00000000..56b62f57 --- /dev/null +++ b/Xcode/mana-10.7.xcodeproj/project.pbxproj @@ -0,0 +1,2104 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 2BF0300515D9BD1900979C9D /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BF02FFA15D9BAB800979C9D /* SDL.framework */; }; + 2BF0300615D9BD1900979C9D /* SDL_ttf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BF02FFE15D9BAEE00979C9D /* SDL_ttf.framework */; }; + 2BF0300715D9BD1900979C9D /* SDL_net.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BF02FFC15D9BAD700979C9D /* SDL_net.framework */; }; + 2BF0300815D9BD1900979C9D /* SDL_image.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D26151E882500C5E9E7 /* SDL_image.framework */; }; + 2BF0300915D9BD1900979C9D /* SDL_mixer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D20151E874600C5E9E7 /* SDL_mixer.framework */; }; + FC0479CB151E4DB700C5E9E7 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC0479CA151E4DB700C5E9E7 /* Cocoa.framework */; }; + FC0479D5151E4DB700C5E9E7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FC0479D3151E4DB700C5E9E7 /* InfoPlist.strings */; }; + FC0479E1151E4DB800C5E9E7 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = FC0479DF151E4DB800C5E9E7 /* MainMenu.xib */; }; + FC047A13151E4F8800C5E9E7 /* actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479E7151E4F8800C5E9E7 /* actor.cpp */; }; + FC047A14151E4F8800C5E9E7 /* actorsprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479E9151E4F8800C5E9E7 /* actorsprite.cpp */; }; + FC047A15151E4F8800C5E9E7 /* actorspritemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479EB151E4F8800C5E9E7 /* actorspritemanager.cpp */; }; + FC047A16151E4F8800C5E9E7 /* animatedsprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479ED151E4F8800C5E9E7 /* animatedsprite.cpp */; }; + FC047A17151E4F8800C5E9E7 /* animationparticle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479EF151E4F8800C5E9E7 /* animationparticle.cpp */; }; + FC047A18151E4F8800C5E9E7 /* avatar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479F1151E4F8800C5E9E7 /* avatar.cpp */; }; + FC047A19151E4F8800C5E9E7 /* being.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479F3151E4F8800C5E9E7 /* being.cpp */; }; + FC047A1A151E4F8800C5E9E7 /* channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479F5151E4F8800C5E9E7 /* channel.cpp */; }; + FC047A1B151E4F8800C5E9E7 /* channelmanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479F7151E4F8800C5E9E7 /* channelmanager.cpp */; }; + FC047A1C151E4F8800C5E9E7 /* chatlogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479F9151E4F8800C5E9E7 /* chatlogger.cpp */; }; + FC047A1D151E4F8800C5E9E7 /* client.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479FB151E4F8800C5E9E7 /* client.cpp */; }; + FC047A1E151E4F8800C5E9E7 /* commandhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479FD151E4F8800C5E9E7 /* commandhandler.cpp */; }; + FC047A1F151E4F8800C5E9E7 /* compoundsprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC0479FF151E4F8800C5E9E7 /* compoundsprite.cpp */; }; + FC047A20151E4F8800C5E9E7 /* configuration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A01151E4F8800C5E9E7 /* configuration.cpp */; }; + FC047A21151E4F8800C5E9E7 /* defaults.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A03151E4F8800C5E9E7 /* defaults.cpp */; }; + FC047A22151E4F8800C5E9E7 /* effectmanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A05151E4F8800C5E9E7 /* effectmanager.cpp */; }; + FC047A23151E4F8800C5E9E7 /* emoteshortcut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A07151E4F8800C5E9E7 /* emoteshortcut.cpp */; }; + FC047A24151E4F8800C5E9E7 /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A0A151E4F8800C5E9E7 /* event.cpp */; }; + FC047A25151E4F8800C5E9E7 /* eventlistener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A0C151E4F8800C5E9E7 /* eventlistener.cpp */; }; + FC047A26151E4F8800C5E9E7 /* flooritem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A0E151E4F8800C5E9E7 /* flooritem.cpp */; }; + FC047A27151E4F8800C5E9E7 /* game.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A10151E4F8800C5E9E7 /* game.cpp */; }; + FC047A28151E4F8800C5E9E7 /* graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A12151E4F8800C5E9E7 /* graphics.cpp */; }; + FC047A6F151E4FC700C5E9E7 /* guild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A2B151E4FC700C5E9E7 /* guild.cpp */; }; + FC047A70151E4FC700C5E9E7 /* imageparticle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A2D151E4FC700C5E9E7 /* imageparticle.cpp */; }; + FC047A71151E4FC700C5E9E7 /* imagesprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A2F151E4FC700C5E9E7 /* imagesprite.cpp */; }; + FC047A72151E4FC700C5E9E7 /* inventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A31151E4FC700C5E9E7 /* inventory.cpp */; }; + FC047A73151E4FC700C5E9E7 /* item.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A33151E4FC700C5E9E7 /* item.cpp */; }; + FC047A74151E4FC700C5E9E7 /* itemshortcut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A35151E4FC700C5E9E7 /* itemshortcut.cpp */; }; + FC047A75151E4FC700C5E9E7 /* joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A37151E4FC700C5E9E7 /* joystick.cpp */; }; + FC047A76151E4FC700C5E9E7 /* keyboardconfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A39151E4FC700C5E9E7 /* keyboardconfig.cpp */; }; + FC047A77151E4FC700C5E9E7 /* localplayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A3B151E4FC700C5E9E7 /* localplayer.cpp */; }; + FC047A78151E4FC700C5E9E7 /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A3D151E4FC700C5E9E7 /* log.cpp */; }; + FC047A79151E4FC700C5E9E7 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A3F151E4FC700C5E9E7 /* main.cpp */; }; + FC047A7A151E4FC700C5E9E7 /* map.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A41151E4FC700C5E9E7 /* map.cpp */; }; + FC047A7B151E4FC700C5E9E7 /* openglgraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A43151E4FC700C5E9E7 /* openglgraphics.cpp */; }; + FC047A7C151E4FC700C5E9E7 /* particle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A45151E4FC700C5E9E7 /* particle.cpp */; }; + FC047A7D151E4FC700C5E9E7 /* particlecontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A47151E4FC700C5E9E7 /* particlecontainer.cpp */; }; + FC047A7E151E4FC700C5E9E7 /* particleemitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A49151E4FC700C5E9E7 /* particleemitter.cpp */; }; + FC047A7F151E4FC700C5E9E7 /* party.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A4C151E4FC700C5E9E7 /* party.cpp */; }; + FC047A80151E4FC700C5E9E7 /* playerinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A4E151E4FC700C5E9E7 /* playerinfo.cpp */; }; + FC047A81151E4FC700C5E9E7 /* playerrelations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A50151E4FC700C5E9E7 /* playerrelations.cpp */; }; + FC047A82151E4FC700C5E9E7 /* position.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A52151E4FC700C5E9E7 /* position.cpp */; }; + FC047A83151E4FC700C5E9E7 /* rotationalparticle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A55151E4FC700C5E9E7 /* rotationalparticle.cpp */; }; + FC047A84151E4FC700C5E9E7 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = FC047A58151E4FC700C5E9E7 /* SDLMain.m */; }; + FC047A85151E4FC700C5E9E7 /* shopitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A59151E4FC700C5E9E7 /* shopitem.cpp */; }; + FC047A86151E4FC700C5E9E7 /* simpleanimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A5B151E4FC700C5E9E7 /* simpleanimation.cpp */; }; + FC047A87151E4FC700C5E9E7 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A5D151E4FC700C5E9E7 /* sound.cpp */; }; + FC047A88151E4FC700C5E9E7 /* statuseffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A60151E4FC700C5E9E7 /* statuseffect.cpp */; }; + FC047A89151E4FC700C5E9E7 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A62151E4FC700C5E9E7 /* text.cpp */; }; + FC047A8A151E4FC700C5E9E7 /* textmanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A64151E4FC700C5E9E7 /* textmanager.cpp */; }; + FC047A8B151E4FC700C5E9E7 /* textparticle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A66151E4FC700C5E9E7 /* textparticle.cpp */; }; + FC047A8C151E4FC700C5E9E7 /* units.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A6A151E4FC700C5E9E7 /* units.cpp */; }; + FC047A8D151E4FC700C5E9E7 /* vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A6D151E4FC700C5E9E7 /* vector.cpp */; }; + FC047B5F151E4FF700C5E9E7 /* beingpopup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A8F151E4FF700C5E9E7 /* beingpopup.cpp */; }; + FC047B60151E4FF700C5E9E7 /* buydialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A91151E4FF700C5E9E7 /* buydialog.cpp */; }; + FC047B61151E4FF700C5E9E7 /* buyselldialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A93151E4FF700C5E9E7 /* buyselldialog.cpp */; }; + FC047B62151E4FF700C5E9E7 /* changeemaildialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A95151E4FF700C5E9E7 /* changeemaildialog.cpp */; }; + FC047B63151E4FF700C5E9E7 /* changepassworddialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A97151E4FF700C5E9E7 /* changepassworddialog.cpp */; }; + FC047B64151E4FF700C5E9E7 /* charcreatedialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A99151E4FF700C5E9E7 /* charcreatedialog.cpp */; }; + FC047B65151E4FF700C5E9E7 /* charselectdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A9B151E4FF700C5E9E7 /* charselectdialog.cpp */; }; + FC047B66151E4FF700C5E9E7 /* chatwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A9D151E4FF700C5E9E7 /* chatwindow.cpp */; }; + FC047B67151E4FF700C5E9E7 /* confirmdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047A9F151E4FF700C5E9E7 /* confirmdialog.cpp */; }; + FC047B68151E4FF700C5E9E7 /* connectiondialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AA1151E4FF700C5E9E7 /* connectiondialog.cpp */; }; + FC047B69151E4FF700C5E9E7 /* customserverdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AA3151E4FF700C5E9E7 /* customserverdialog.cpp */; }; + FC047B6A151E4FF700C5E9E7 /* debugwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AA5151E4FF700C5E9E7 /* debugwindow.cpp */; }; + FC047B6B151E4FF700C5E9E7 /* emotepopup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AA7151E4FF700C5E9E7 /* emotepopup.cpp */; }; + FC047B6C151E4FF700C5E9E7 /* equipmentwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AA9151E4FF700C5E9E7 /* equipmentwindow.cpp */; }; + FC047B6D151E4FF700C5E9E7 /* focushandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AAB151E4FF700C5E9E7 /* focushandler.cpp */; }; + FC047B6E151E4FF700C5E9E7 /* gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AAD151E4FF700C5E9E7 /* gui.cpp */; }; + FC047B6F151E4FF700C5E9E7 /* helpwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AAF151E4FF700C5E9E7 /* helpwindow.cpp */; }; + FC047B70151E4FF700C5E9E7 /* inventorywindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AB1151E4FF700C5E9E7 /* inventorywindow.cpp */; }; + FC047B71151E4FF700C5E9E7 /* itemamountwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AB3151E4FF700C5E9E7 /* itemamountwindow.cpp */; }; + FC047B72151E4FF700C5E9E7 /* itempopup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AB5151E4FF700C5E9E7 /* itempopup.cpp */; }; + FC047B73151E4FF700C5E9E7 /* logindialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AB7151E4FF700C5E9E7 /* logindialog.cpp */; }; + FC047B74151E4FF700C5E9E7 /* minimap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AB9151E4FF700C5E9E7 /* minimap.cpp */; }; + FC047B75151E4FF700C5E9E7 /* ministatuswindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ABB151E4FF700C5E9E7 /* ministatuswindow.cpp */; }; + FC047B76151E4FF700C5E9E7 /* npcdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ABD151E4FF700C5E9E7 /* npcdialog.cpp */; }; + FC047B77151E4FF700C5E9E7 /* npcpostdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ABF151E4FF700C5E9E7 /* npcpostdialog.cpp */; }; + FC047B78151E4FF700C5E9E7 /* okdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AC1151E4FF700C5E9E7 /* okdialog.cpp */; }; + FC047B79151E4FF700C5E9E7 /* outfitwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AC3151E4FF700C5E9E7 /* outfitwindow.cpp */; }; + FC047B7A151E4FF700C5E9E7 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AC5151E4FF700C5E9E7 /* palette.cpp */; }; + FC047B7B151E4FF700C5E9E7 /* popupmenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AC7151E4FF700C5E9E7 /* popupmenu.cpp */; }; + FC047B7C151E4FF700C5E9E7 /* quitdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AC9151E4FF700C5E9E7 /* quitdialog.cpp */; }; + FC047B7D151E4FF700C5E9E7 /* recorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ACB151E4FF700C5E9E7 /* recorder.cpp */; }; + FC047B7E151E4FF700C5E9E7 /* register.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ACD151E4FF700C5E9E7 /* register.cpp */; }; + FC047B7F151E4FF700C5E9E7 /* sdlinput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ACF151E4FF700C5E9E7 /* sdlinput.cpp */; }; + FC047B80151E4FF700C5E9E7 /* selldialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AD1151E4FF700C5E9E7 /* selldialog.cpp */; }; + FC047B81151E4FF700C5E9E7 /* serverdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AD3151E4FF700C5E9E7 /* serverdialog.cpp */; }; + FC047B82151E4FF700C5E9E7 /* setup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AD5151E4FF700C5E9E7 /* setup.cpp */; }; + FC047B83151E4FF700C5E9E7 /* setup_audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AD7151E4FF700C5E9E7 /* setup_audio.cpp */; }; + FC047B84151E4FF700C5E9E7 /* setup_colors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AD9151E4FF700C5E9E7 /* setup_colors.cpp */; }; + FC047B85151E4FF700C5E9E7 /* setup_interface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ADB151E4FF700C5E9E7 /* setup_interface.cpp */; }; + FC047B86151E4FF700C5E9E7 /* setup_joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ADD151E4FF700C5E9E7 /* setup_joystick.cpp */; }; + FC047B87151E4FF700C5E9E7 /* setup_keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047ADF151E4FF700C5E9E7 /* setup_keyboard.cpp */; }; + FC047B88151E4FF700C5E9E7 /* setup_players.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AE1151E4FF700C5E9E7 /* setup_players.cpp */; }; + FC047B89151E4FF700C5E9E7 /* setup_video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AE3151E4FF700C5E9E7 /* setup_video.cpp */; }; + FC047B8A151E4FF700C5E9E7 /* shortcutwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AE5151E4FF700C5E9E7 /* shortcutwindow.cpp */; }; + FC047B8B151E4FF700C5E9E7 /* skilldialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AE7151E4FF700C5E9E7 /* skilldialog.cpp */; }; + FC047B8C151E4FF700C5E9E7 /* socialwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AE9151E4FF700C5E9E7 /* socialwindow.cpp */; }; + FC047B8D151E4FF700C5E9E7 /* specialswindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AEB151E4FF700C5E9E7 /* specialswindow.cpp */; }; + FC047B8E151E4FF700C5E9E7 /* speechbubble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AED151E4FF700C5E9E7 /* speechbubble.cpp */; }; + FC047B8F151E4FF700C5E9E7 /* statuswindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AEF151E4FF700C5E9E7 /* statuswindow.cpp */; }; + FC047B90151E4FF700C5E9E7 /* textdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AF1151E4FF700C5E9E7 /* textdialog.cpp */; }; + FC047B91151E4FF700C5E9E7 /* textpopup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AF3151E4FF700C5E9E7 /* textpopup.cpp */; }; + FC047B92151E4FF700C5E9E7 /* tradewindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AF5151E4FF700C5E9E7 /* tradewindow.cpp */; }; + FC047B93151E4FF700C5E9E7 /* truetypefont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AF7151E4FF700C5E9E7 /* truetypefont.cpp */; }; + FC047B94151E4FF700C5E9E7 /* unregisterdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AF9151E4FF700C5E9E7 /* unregisterdialog.cpp */; }; + FC047B95151E4FF700C5E9E7 /* updaterwindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AFB151E4FF700C5E9E7 /* updaterwindow.cpp */; }; + FC047B96151E4FF700C5E9E7 /* viewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047AFD151E4FF700C5E9E7 /* viewport.cpp */; }; + FC047B97151E4FF700C5E9E7 /* avatarlistbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B00151E4FF700C5E9E7 /* avatarlistbox.cpp */; }; + FC047B98151E4FF700C5E9E7 /* browserbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B02151E4FF700C5E9E7 /* browserbox.cpp */; }; + FC047B99151E4FF700C5E9E7 /* button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B04151E4FF700C5E9E7 /* button.cpp */; }; + FC047B9A151E4FF700C5E9E7 /* channeltab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B06151E4FF700C5E9E7 /* channeltab.cpp */; }; + FC047B9B151E4FF700C5E9E7 /* chattab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B08151E4FF700C5E9E7 /* chattab.cpp */; }; + FC047B9C151E4FF700C5E9E7 /* checkbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B0A151E4FF700C5E9E7 /* checkbox.cpp */; }; + FC047B9D151E4FF700C5E9E7 /* container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B0C151E4FF700C5E9E7 /* container.cpp */; }; + FC047B9E151E4FF700C5E9E7 /* desktop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B0E151E4FF700C5E9E7 /* desktop.cpp */; }; + FC047B9F151E4FF700C5E9E7 /* dropdown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B10151E4FF700C5E9E7 /* dropdown.cpp */; }; + FC047BA0151E4FF700C5E9E7 /* emoteshortcutcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B12151E4FF700C5E9E7 /* emoteshortcutcontainer.cpp */; }; + FC047BA1151E4FF700C5E9E7 /* flowcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B14151E4FF700C5E9E7 /* flowcontainer.cpp */; }; + FC047BA2151E4FF700C5E9E7 /* icon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B16151E4FF700C5E9E7 /* icon.cpp */; }; + FC047BA3151E4FF700C5E9E7 /* inttextfield.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B18151E4FF700C5E9E7 /* inttextfield.cpp */; }; + FC047BA4151E4FF700C5E9E7 /* itemcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B1A151E4FF700C5E9E7 /* itemcontainer.cpp */; }; + FC047BA5151E4FF700C5E9E7 /* itemlinkhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B1C151E4FF700C5E9E7 /* itemlinkhandler.cpp */; }; + FC047BA6151E4FF700C5E9E7 /* itemshortcutcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B1E151E4FF700C5E9E7 /* itemshortcutcontainer.cpp */; }; + FC047BA7151E4FF700C5E9E7 /* label.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B20151E4FF700C5E9E7 /* label.cpp */; }; + FC047BA8151E4FF700C5E9E7 /* layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B22151E4FF700C5E9E7 /* layout.cpp */; }; + FC047BA9151E4FF700C5E9E7 /* layouthelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B24151E4FF700C5E9E7 /* layouthelper.cpp */; }; + FC047BAA151E4FF700C5E9E7 /* listbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B27151E4FF700C5E9E7 /* listbox.cpp */; }; + FC047BAB151E4FF700C5E9E7 /* passwordfield.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B29151E4FF700C5E9E7 /* passwordfield.cpp */; }; + FC047BAC151E4FF700C5E9E7 /* playerbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B2B151E4FF700C5E9E7 /* playerbox.cpp */; }; + FC047BAD151E4FF700C5E9E7 /* popup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B2D151E4FF700C5E9E7 /* popup.cpp */; }; + FC047BAE151E4FF700C5E9E7 /* progressbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B2F151E4FF700C5E9E7 /* progressbar.cpp */; }; + FC047BAF151E4FF700C5E9E7 /* progressindicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B31151E4FF700C5E9E7 /* progressindicator.cpp */; }; + FC047BB0151E4FF700C5E9E7 /* radiobutton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B33151E4FF700C5E9E7 /* radiobutton.cpp */; }; + FC047BB1151E4FF700C5E9E7 /* resizegrip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B35151E4FF700C5E9E7 /* resizegrip.cpp */; }; + FC047BB2151E4FF700C5E9E7 /* scrollarea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B37151E4FF700C5E9E7 /* scrollarea.cpp */; }; + FC047BB3151E4FF700C5E9E7 /* setuptab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B39151E4FF700C5E9E7 /* setuptab.cpp */; }; + FC047BB4151E4FF700C5E9E7 /* shopitems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B3B151E4FF700C5E9E7 /* shopitems.cpp */; }; + FC047BB5151E4FF700C5E9E7 /* shoplistbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B3D151E4FF700C5E9E7 /* shoplistbox.cpp */; }; + FC047BB6151E4FF700C5E9E7 /* shortcutcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B3F151E4FF700C5E9E7 /* shortcutcontainer.cpp */; }; + FC047BB7151E4FF700C5E9E7 /* slider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B41151E4FF700C5E9E7 /* slider.cpp */; }; + FC047BB8151E4FF700C5E9E7 /* spacer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B43151E4FF700C5E9E7 /* spacer.cpp */; }; + FC047BB9151E4FF700C5E9E7 /* tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B45151E4FF700C5E9E7 /* tab.cpp */; }; + FC047BBA151E4FF700C5E9E7 /* tabbedarea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B47151E4FF700C5E9E7 /* tabbedarea.cpp */; }; + FC047BBB151E4FF700C5E9E7 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B49151E4FF700C5E9E7 /* table.cpp */; }; + FC047BBC151E4FF700C5E9E7 /* tablemodel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B4B151E4FF700C5E9E7 /* tablemodel.cpp */; }; + FC047BBD151E4FF700C5E9E7 /* textbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B4D151E4FF700C5E9E7 /* textbox.cpp */; }; + FC047BBE151E4FF700C5E9E7 /* textfield.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B4F151E4FF700C5E9E7 /* textfield.cpp */; }; + FC047BBF151E4FF700C5E9E7 /* textpreview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B51151E4FF700C5E9E7 /* textpreview.cpp */; }; + FC047BC0151E4FF700C5E9E7 /* vertcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B53151E4FF700C5E9E7 /* vertcontainer.cpp */; }; + FC047BC1151E4FF700C5E9E7 /* whispertab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B55151E4FF700C5E9E7 /* whispertab.cpp */; }; + FC047BC2151E4FF700C5E9E7 /* window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B57151E4FF700C5E9E7 /* window.cpp */; }; + FC047BC3151E4FF700C5E9E7 /* windowcontainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B59151E4FF700C5E9E7 /* windowcontainer.cpp */; }; + FC047BC4151E4FF700C5E9E7 /* windowmenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B5B151E4FF700C5E9E7 /* windowmenu.cpp */; }; + FC047BC5151E4FF700C5E9E7 /* worldselectdialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047B5D151E4FF700C5E9E7 /* worldselectdialog.cpp */; }; + FC047C44151E500100C5E9E7 /* charhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BC8151E500100C5E9E7 /* charhandler.cpp */; }; + FC047C45151E500100C5E9E7 /* download.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BCB151E500100C5E9E7 /* download.cpp */; }; + FC047C46151E500100C5E9E7 /* adminhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BD4151E500100C5E9E7 /* adminhandler.cpp */; }; + FC047C47151E500100C5E9E7 /* attributes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BD6151E500100C5E9E7 /* attributes.cpp */; }; + FC047C48151E500100C5E9E7 /* beinghandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BD8151E500100C5E9E7 /* beinghandler.cpp */; }; + FC047C49151E500100C5E9E7 /* buysellhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BDA151E500100C5E9E7 /* buysellhandler.cpp */; }; + FC047C4A151E500100C5E9E7 /* charhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BDC151E500100C5E9E7 /* charhandler.cpp */; }; + FC047C4B151E500100C5E9E7 /* chathandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BDE151E500100C5E9E7 /* chathandler.cpp */; }; + FC047C4C151E500100C5E9E7 /* connection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BE0151E500100C5E9E7 /* connection.cpp */; }; + FC047C4D151E500100C5E9E7 /* effecthandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BE3151E500100C5E9E7 /* effecthandler.cpp */; }; + FC047C4E151E500100C5E9E7 /* gamehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BE5151E500100C5E9E7 /* gamehandler.cpp */; }; + FC047C4F151E500100C5E9E7 /* generalhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BE7151E500100C5E9E7 /* generalhandler.cpp */; }; + FC047C50151E500100C5E9E7 /* guildhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BE9151E500100C5E9E7 /* guildhandler.cpp */; }; + FC047C51151E500100C5E9E7 /* internal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BEB151E500100C5E9E7 /* internal.cpp */; }; + FC047C52151E500100C5E9E7 /* inventoryhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BED151E500100C5E9E7 /* inventoryhandler.cpp */; }; + FC047C53151E500100C5E9E7 /* itemhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BEF151E500100C5E9E7 /* itemhandler.cpp */; }; + FC047C54151E500100C5E9E7 /* loginhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BF1151E500100C5E9E7 /* loginhandler.cpp */; }; + FC047C55151E500100C5E9E7 /* messagehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BF4151E500100C5E9E7 /* messagehandler.cpp */; }; + FC047C56151E500100C5E9E7 /* messagein.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BF6151E500100C5E9E7 /* messagein.cpp */; }; + FC047C57151E500100C5E9E7 /* messageout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BF8151E500100C5E9E7 /* messageout.cpp */; }; + FC047C58151E500100C5E9E7 /* network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BFA151E500100C5E9E7 /* network.cpp */; }; + FC047C59151E500100C5E9E7 /* npchandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BFC151E500100C5E9E7 /* npchandler.cpp */; }; + FC047C5A151E500100C5E9E7 /* partyhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047BFE151E500100C5E9E7 /* partyhandler.cpp */; }; + FC047C5B151E500100C5E9E7 /* playerhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C00151E500100C5E9E7 /* playerhandler.cpp */; }; + FC047C5C151E500100C5E9E7 /* specialhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C02151E500100C5E9E7 /* specialhandler.cpp */; }; + FC047C5D151E500100C5E9E7 /* tradehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C04151E500100C5E9E7 /* tradehandler.cpp */; }; + FC047C60151E500100C5E9E7 /* net.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C0B151E500100C5E9E7 /* net.cpp */; }; + FC047C61151E500100C5E9E7 /* adminhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C13151E500100C5E9E7 /* adminhandler.cpp */; }; + FC047C62151E500100C5E9E7 /* beinghandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C15151E500100C5E9E7 /* beinghandler.cpp */; }; + FC047C63151E500100C5E9E7 /* buysellhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C17151E500100C5E9E7 /* buysellhandler.cpp */; }; + FC047C64151E500100C5E9E7 /* charserverhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C19151E500100C5E9E7 /* charserverhandler.cpp */; }; + FC047C65151E500100C5E9E7 /* chathandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C1B151E500100C5E9E7 /* chathandler.cpp */; }; + FC047C66151E500100C5E9E7 /* gamehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C1D151E500100C5E9E7 /* gamehandler.cpp */; }; + FC047C67151E500100C5E9E7 /* generalhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C1F151E500100C5E9E7 /* generalhandler.cpp */; }; + FC047C68151E500100C5E9E7 /* guildtab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C22151E500100C5E9E7 /* guildtab.cpp */; }; + FC047C69151E500100C5E9E7 /* partytab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C24151E500100C5E9E7 /* partytab.cpp */; }; + FC047C6A151E500100C5E9E7 /* guildhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C26151E500100C5E9E7 /* guildhandler.cpp */; }; + FC047C6B151E500100C5E9E7 /* inventoryhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C28151E500100C5E9E7 /* inventoryhandler.cpp */; }; + FC047C6C151E500100C5E9E7 /* itemhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C2A151E500100C5E9E7 /* itemhandler.cpp */; }; + FC047C6D151E500100C5E9E7 /* loginhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C2C151E500100C5E9E7 /* loginhandler.cpp */; }; + FC047C6E151E500100C5E9E7 /* messagehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C2E151E500100C5E9E7 /* messagehandler.cpp */; }; + FC047C6F151E500100C5E9E7 /* messagein.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C30151E500100C5E9E7 /* messagein.cpp */; }; + FC047C70151E500100C5E9E7 /* messageout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C32151E500100C5E9E7 /* messageout.cpp */; }; + FC047C71151E500100C5E9E7 /* network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C34151E500100C5E9E7 /* network.cpp */; }; + FC047C72151E500100C5E9E7 /* npchandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C36151E500100C5E9E7 /* npchandler.cpp */; }; + FC047C73151E500100C5E9E7 /* partyhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C38151E500100C5E9E7 /* partyhandler.cpp */; }; + FC047C74151E500100C5E9E7 /* playerhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C3A151E500100C5E9E7 /* playerhandler.cpp */; }; + FC047C75151E500100C5E9E7 /* specialhandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C3D151E500100C5E9E7 /* specialhandler.cpp */; }; + FC047C76151E500100C5E9E7 /* tradehandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C40151E500100C5E9E7 /* tradehandler.cpp */; }; + FC047CAA151E500C00C5E9E7 /* action.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C78151E500C00C5E9E7 /* action.cpp */; }; + FC047CAB151E500C00C5E9E7 /* ambientlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C7A151E500C00C5E9E7 /* ambientlayer.cpp */; }; + FC047CAC151E500C00C5E9E7 /* animation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C7C151E500C00C5E9E7 /* animation.cpp */; }; + FC047CAD151E500C00C5E9E7 /* beinginfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C7E151E500C00C5E9E7 /* beinginfo.cpp */; }; + FC047CAE151E500C00C5E9E7 /* dye.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C80151E500C00C5E9E7 /* dye.cpp */; }; + FC047CAF151E500C00C5E9E7 /* emotedb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C82151E500C00C5E9E7 /* emotedb.cpp */; }; + FC047CB0151E500C00C5E9E7 /* hairdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C84151E500C00C5E9E7 /* hairdb.cpp */; }; + FC047CB1151E500C00C5E9E7 /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C86151E500C00C5E9E7 /* image.cpp */; }; + FC047CB3151E500C00C5E9E7 /* imageset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C8A151E500C00C5E9E7 /* imageset.cpp */; }; + FC047CB4151E500C00C5E9E7 /* imagewriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C8C151E500C00C5E9E7 /* imagewriter.cpp */; }; + FC047CB5151E500C00C5E9E7 /* itemdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C8E151E500C00C5E9E7 /* itemdb.cpp */; }; + FC047CB6151E500C00C5E9E7 /* iteminfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C90151E500C00C5E9E7 /* iteminfo.cpp */; }; + FC047CB7151E500C00C5E9E7 /* mapreader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C92151E500C00C5E9E7 /* mapreader.cpp */; }; + FC047CB8151E500C00C5E9E7 /* monsterdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C94151E500C00C5E9E7 /* monsterdb.cpp */; }; + FC047CB9151E500C00C5E9E7 /* music.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C96151E500C00C5E9E7 /* music.cpp */; }; + FC047CBA151E500C00C5E9E7 /* npcdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C98151E500C00C5E9E7 /* npcdb.cpp */; }; + FC047CBB151E500C00C5E9E7 /* resource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C9A151E500C00C5E9E7 /* resource.cpp */; }; + FC047CBC151E500C00C5E9E7 /* resourcemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C9C151E500C00C5E9E7 /* resourcemanager.cpp */; }; + FC047CBD151E500C00C5E9E7 /* soundeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047C9E151E500C00C5E9E7 /* soundeffect.cpp */; }; + FC047CBE151E500C00C5E9E7 /* specialdb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CA0151E500C00C5E9E7 /* specialdb.cpp */; }; + FC047CBF151E500C00C5E9E7 /* spritedef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CA2151E500C00C5E9E7 /* spritedef.cpp */; }; + FC047CC0151E500C00C5E9E7 /* theme.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CA4151E500C00C5E9E7 /* theme.cpp */; }; + FC047CC1151E500C00C5E9E7 /* userpalette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CA6151E500C00C5E9E7 /* userpalette.cpp */; }; + FC047CC2151E500C00C5E9E7 /* wallpaper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CA8151E500C00C5E9E7 /* wallpaper.cpp */; }; + FC047CDA151E501400C5E9E7 /* base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CC4151E501400C5E9E7 /* base64.cpp */; }; + FC047CDB151E501400C5E9E7 /* copynpaste.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CC6151E501400C5E9E7 /* copynpaste.cpp */; }; + FC047CDC151E501400C5E9E7 /* mkdir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CCB151E501400C5E9E7 /* mkdir.cpp */; }; + FC047CDD151E501400C5E9E7 /* physfsrwops.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CCE151E501400C5E9E7 /* physfsrwops.c */; }; + FC047CDE151E501400C5E9E7 /* sha256.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CD0151E501400C5E9E7 /* sha256.cpp */; }; + FC047CDF151E501400C5E9E7 /* specialfolder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CD2151E501400C5E9E7 /* specialfolder.cpp */; }; + FC047CE0151E501400C5E9E7 /* stringutils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CD4151E501400C5E9E7 /* stringutils.cpp */; }; + FC047CE1151E501400C5E9E7 /* xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CD6151E501400C5E9E7 /* xml.cpp */; }; + FC047CE2151E501400C5E9E7 /* zlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC047CD8151E501400C5E9E7 /* zlib.cpp */; }; + FC047CE6151E747B00C5E9E7 /* log.mm in Sources */ = {isa = PBXBuildFile; fileRef = FC047CE5151E747B00C5E9E7 /* log.mm */; }; + FC047CE9151E7C8500C5E9E7 /* cstdint in Resources */ = {isa = PBXBuildFile; fileRef = FC047CE8151E7C8500C5E9E7 /* cstdint */; }; + FC047D04151E820000C5E9E7 /* callbacks.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CEB151E820000C5E9E7 /* callbacks.c */; }; + FC047D07151E820000C5E9E7 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CEE151E820000C5E9E7 /* compress.c */; }; + FC047D09151E820000C5E9E7 /* host.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CF0151E820000C5E9E7 /* host.c */; }; + FC047D0B151E820000C5E9E7 /* list.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CFD151E820000C5E9E7 /* list.c */; }; + FC047D0C151E820000C5E9E7 /* packet.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CFE151E820000C5E9E7 /* packet.c */; }; + FC047D0D151E820000C5E9E7 /* peer.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047CFF151E820000C5E9E7 /* peer.c */; }; + FC047D0E151E820000C5E9E7 /* protocol.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047D00151E820000C5E9E7 /* protocol.c */; }; + FC047D10151E820000C5E9E7 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = FC047D02151E820000C5E9E7 /* unix.c */; }; + FC047D1A151E853300C5E9E7 /* libSDL_gfx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D15151E853200C5E9E7 /* libSDL_gfx.a */; }; + FC047D1B151E853300C5E9E7 /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D16151E853300C5E9E7 /* libxml2.a */; }; + FC047D1D151E856400C5E9E7 /* libphysfs.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D1C151E856400C5E9E7 /* libphysfs.a */; }; + FC047D1F151E860600C5E9E7 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D1E151E860600C5E9E7 /* libpng.a */; }; + FC047D29151E88A500C5E9E7 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D28151E88A500C5E9E7 /* libfreetype.a */; }; + FC047D2B151E898300C5E9E7 /* libiconv.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D2A151E898300C5E9E7 /* libiconv.a */; }; + FC047D2D151E89D300C5E9E7 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D2C151E89D200C5E9E7 /* IOKit.framework */; }; + FC047D2F151E8E9400C5E9E7 /* libintl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D2E151E8E9400C5E9E7 /* libintl.a */; }; + FC047D31151E8F8200C5E9E7 /* data in Resources */ = {isa = PBXBuildFile; fileRef = FC047D30151E8F8200C5E9E7 /* data */; }; + FC047D38151E945B00C5E9E7 /* SDL_image.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = FC047D26151E882500C5E9E7 /* SDL_image.framework */; }; + FC047D39151E945E00C5E9E7 /* SDL_mixer.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = FC047D20151E874600C5E9E7 /* SDL_mixer.framework */; }; + FC047D3D151E94B500C5E9E7 /* libguichan_opengl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D3A151E94B500C5E9E7 /* libguichan_opengl.a */; }; + FC047D3E151E94B500C5E9E7 /* libguichan_sdl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D3B151E94B500C5E9E7 /* libguichan_sdl.a */; }; + FC047D3F151E94B500C5E9E7 /* libguichan.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC047D3C151E94B500C5E9E7 /* libguichan.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + FC047D32151E920100C5E9E7 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + FC047D38151E945B00C5E9E7 /* SDL_image.framework in CopyFiles */, + FC047D39151E945E00C5E9E7 /* SDL_mixer.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 2BF02FFA15D9BAB800979C9D /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = ""; }; + 2BF02FFC15D9BAD700979C9D /* SDL_net.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_net.framework; path = /Library/Frameworks/SDL_net.framework; sourceTree = ""; }; + 2BF02FFE15D9BAEE00979C9D /* SDL_ttf.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_ttf.framework; path = /Library/Frameworks/SDL_ttf.framework; sourceTree = ""; }; + FC0479C6151E4DB700C5E9E7 /* mana.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mana.app; sourceTree = BUILT_PRODUCTS_DIR; }; + FC0479CA151E4DB700C5E9E7 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + FC0479CD151E4DB700C5E9E7 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + FC0479CE151E4DB700C5E9E7 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + FC0479CF151E4DB700C5E9E7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + FC0479D2151E4DB700C5E9E7 /* mana-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "mana-Info.plist"; sourceTree = ""; }; + FC0479D4151E4DB700C5E9E7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + FC0479E0151E4DB800C5E9E7 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; + FC0479E7151E4F8800C5E9E7 /* actor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = actor.cpp; path = ../../src/actor.cpp; sourceTree = ""; }; + FC0479E8151E4F8800C5E9E7 /* actor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = actor.h; path = ../../src/actor.h; sourceTree = ""; }; + FC0479E9151E4F8800C5E9E7 /* actorsprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = actorsprite.cpp; path = ../../src/actorsprite.cpp; sourceTree = ""; }; + FC0479EA151E4F8800C5E9E7 /* actorsprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = actorsprite.h; path = ../../src/actorsprite.h; sourceTree = ""; }; + FC0479EB151E4F8800C5E9E7 /* actorspritemanager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = actorspritemanager.cpp; path = ../../src/actorspritemanager.cpp; sourceTree = ""; }; + FC0479EC151E4F8800C5E9E7 /* actorspritemanager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = actorspritemanager.h; path = ../../src/actorspritemanager.h; sourceTree = ""; }; + FC0479ED151E4F8800C5E9E7 /* animatedsprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = animatedsprite.cpp; path = ../../src/animatedsprite.cpp; sourceTree = ""; }; + FC0479EE151E4F8800C5E9E7 /* animatedsprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = animatedsprite.h; path = ../../src/animatedsprite.h; sourceTree = ""; }; + FC0479EF151E4F8800C5E9E7 /* animationparticle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = animationparticle.cpp; path = ../../src/animationparticle.cpp; sourceTree = ""; }; + FC0479F0151E4F8800C5E9E7 /* animationparticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = animationparticle.h; path = ../../src/animationparticle.h; sourceTree = ""; }; + FC0479F1151E4F8800C5E9E7 /* avatar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = avatar.cpp; path = ../../src/avatar.cpp; sourceTree = ""; }; + FC0479F2151E4F8800C5E9E7 /* avatar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = avatar.h; path = ../../src/avatar.h; sourceTree = ""; }; + FC0479F3151E4F8800C5E9E7 /* being.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = being.cpp; path = ../../src/being.cpp; sourceTree = ""; }; + FC0479F4151E4F8800C5E9E7 /* being.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = being.h; path = ../../src/being.h; sourceTree = ""; }; + FC0479F5151E4F8800C5E9E7 /* channel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = channel.cpp; path = ../../src/channel.cpp; sourceTree = ""; }; + FC0479F6151E4F8800C5E9E7 /* channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = channel.h; path = ../../src/channel.h; sourceTree = ""; }; + FC0479F7151E4F8800C5E9E7 /* channelmanager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = channelmanager.cpp; path = ../../src/channelmanager.cpp; sourceTree = ""; }; + FC0479F8151E4F8800C5E9E7 /* channelmanager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = channelmanager.h; path = ../../src/channelmanager.h; sourceTree = ""; }; + FC0479F9151E4F8800C5E9E7 /* chatlogger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = chatlogger.cpp; path = ../../src/chatlogger.cpp; sourceTree = ""; }; + FC0479FA151E4F8800C5E9E7 /* chatlogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = chatlogger.h; path = ../../src/chatlogger.h; sourceTree = ""; }; + FC0479FB151E4F8800C5E9E7 /* client.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = client.cpp; path = ../../src/client.cpp; sourceTree = ""; }; + FC0479FC151E4F8800C5E9E7 /* client.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = client.h; path = ../../src/client.h; sourceTree = ""; }; + FC0479FD151E4F8800C5E9E7 /* commandhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = commandhandler.cpp; path = ../../src/commandhandler.cpp; sourceTree = ""; }; + FC0479FE151E4F8800C5E9E7 /* commandhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = commandhandler.h; path = ../../src/commandhandler.h; sourceTree = ""; }; + FC0479FF151E4F8800C5E9E7 /* compoundsprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = compoundsprite.cpp; path = ../../src/compoundsprite.cpp; sourceTree = ""; }; + FC047A00151E4F8800C5E9E7 /* compoundsprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = compoundsprite.h; path = ../../src/compoundsprite.h; sourceTree = ""; }; + FC047A01151E4F8800C5E9E7 /* configuration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = configuration.cpp; path = ../../src/configuration.cpp; sourceTree = ""; }; + FC047A02151E4F8800C5E9E7 /* configuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = configuration.h; path = ../../src/configuration.h; sourceTree = ""; }; + FC047A03151E4F8800C5E9E7 /* defaults.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = defaults.cpp; path = ../../src/defaults.cpp; sourceTree = ""; }; + FC047A04151E4F8800C5E9E7 /* defaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = defaults.h; path = ../../src/defaults.h; sourceTree = ""; }; + FC047A05151E4F8800C5E9E7 /* effectmanager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = effectmanager.cpp; path = ../../src/effectmanager.cpp; sourceTree = ""; }; + FC047A06151E4F8800C5E9E7 /* effectmanager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = effectmanager.h; path = ../../src/effectmanager.h; sourceTree = ""; }; + FC047A07151E4F8800C5E9E7 /* emoteshortcut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = emoteshortcut.cpp; path = ../../src/emoteshortcut.cpp; sourceTree = ""; }; + FC047A08151E4F8800C5E9E7 /* emoteshortcut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = emoteshortcut.h; path = ../../src/emoteshortcut.h; sourceTree = ""; }; + FC047A09151E4F8800C5E9E7 /* equipment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = equipment.h; path = ../../src/equipment.h; sourceTree = ""; }; + FC047A0A151E4F8800C5E9E7 /* event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = event.cpp; path = ../../src/event.cpp; sourceTree = ""; }; + FC047A0B151E4F8800C5E9E7 /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = event.h; path = ../../src/event.h; sourceTree = ""; }; + FC047A0C151E4F8800C5E9E7 /* eventlistener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = eventlistener.cpp; path = ../../src/eventlistener.cpp; sourceTree = ""; }; + FC047A0D151E4F8800C5E9E7 /* eventlistener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = eventlistener.h; path = ../../src/eventlistener.h; sourceTree = ""; }; + FC047A0E151E4F8800C5E9E7 /* flooritem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = flooritem.cpp; path = ../../src/flooritem.cpp; sourceTree = ""; }; + FC047A0F151E4F8800C5E9E7 /* flooritem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = flooritem.h; path = ../../src/flooritem.h; sourceTree = ""; }; + FC047A10151E4F8800C5E9E7 /* game.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = game.cpp; path = ../../src/game.cpp; sourceTree = ""; }; + FC047A11151E4F8800C5E9E7 /* game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = game.h; path = ../../src/game.h; sourceTree = ""; }; + FC047A12151E4F8800C5E9E7 /* graphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = graphics.cpp; path = ../../src/graphics.cpp; sourceTree = ""; }; + FC047A29151E4FC700C5E9E7 /* graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = graphics.h; path = ../../src/graphics.h; sourceTree = ""; }; + FC047A2A151E4FC700C5E9E7 /* guichanfwd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = guichanfwd.h; path = ../../src/guichanfwd.h; sourceTree = ""; }; + FC047A2B151E4FC700C5E9E7 /* guild.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = guild.cpp; path = ../../src/guild.cpp; sourceTree = ""; }; + FC047A2C151E4FC700C5E9E7 /* guild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = guild.h; path = ../../src/guild.h; sourceTree = ""; }; + FC047A2D151E4FC700C5E9E7 /* imageparticle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = imageparticle.cpp; path = ../../src/imageparticle.cpp; sourceTree = ""; }; + FC047A2E151E4FC700C5E9E7 /* imageparticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = imageparticle.h; path = ../../src/imageparticle.h; sourceTree = ""; }; + FC047A2F151E4FC700C5E9E7 /* imagesprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = imagesprite.cpp; path = ../../src/imagesprite.cpp; sourceTree = ""; }; + FC047A30151E4FC700C5E9E7 /* imagesprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = imagesprite.h; path = ../../src/imagesprite.h; sourceTree = ""; }; + FC047A31151E4FC700C5E9E7 /* inventory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = inventory.cpp; path = ../../src/inventory.cpp; sourceTree = ""; }; + FC047A32151E4FC700C5E9E7 /* inventory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = inventory.h; path = ../../src/inventory.h; sourceTree = ""; }; + FC047A33151E4FC700C5E9E7 /* item.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = item.cpp; path = ../../src/item.cpp; sourceTree = ""; }; + FC047A34151E4FC700C5E9E7 /* item.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = item.h; path = ../../src/item.h; sourceTree = ""; }; + FC047A35151E4FC700C5E9E7 /* itemshortcut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = itemshortcut.cpp; path = ../../src/itemshortcut.cpp; sourceTree = ""; }; + FC047A36151E4FC700C5E9E7 /* itemshortcut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = itemshortcut.h; path = ../../src/itemshortcut.h; sourceTree = ""; }; + FC047A37151E4FC700C5E9E7 /* joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = joystick.cpp; path = ../../src/joystick.cpp; sourceTree = ""; }; + FC047A38151E4FC700C5E9E7 /* joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = joystick.h; path = ../../src/joystick.h; sourceTree = ""; }; + FC047A39151E4FC700C5E9E7 /* keyboardconfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = keyboardconfig.cpp; path = ../../src/keyboardconfig.cpp; sourceTree = ""; }; + FC047A3A151E4FC700C5E9E7 /* keyboardconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = keyboardconfig.h; path = ../../src/keyboardconfig.h; sourceTree = ""; }; + FC047A3B151E4FC700C5E9E7 /* localplayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = localplayer.cpp; path = ../../src/localplayer.cpp; sourceTree = ""; }; + FC047A3C151E4FC700C5E9E7 /* localplayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = localplayer.h; path = ../../src/localplayer.h; sourceTree = ""; }; + FC047A3D151E4FC700C5E9E7 /* log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = log.cpp; path = ../../src/log.cpp; sourceTree = ""; }; + FC047A3E151E4FC700C5E9E7 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = log.h; path = ../../src/log.h; sourceTree = ""; }; + FC047A3F151E4FC700C5E9E7 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../../src/main.cpp; sourceTree = ""; }; + FC047A40151E4FC700C5E9E7 /* main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = main.h; path = ../../src/main.h; sourceTree = ""; }; + FC047A41151E4FC700C5E9E7 /* map.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = map.cpp; path = ../../src/map.cpp; sourceTree = ""; }; + FC047A42151E4FC700C5E9E7 /* map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = map.h; path = ../../src/map.h; sourceTree = ""; }; + FC047A43151E4FC700C5E9E7 /* openglgraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = openglgraphics.cpp; path = ../../src/openglgraphics.cpp; sourceTree = ""; }; + FC047A44151E4FC700C5E9E7 /* openglgraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = openglgraphics.h; path = ../../src/openglgraphics.h; sourceTree = ""; }; + FC047A45151E4FC700C5E9E7 /* particle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = particle.cpp; path = ../../src/particle.cpp; sourceTree = ""; }; + FC047A46151E4FC700C5E9E7 /* particle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = particle.h; path = ../../src/particle.h; sourceTree = ""; }; + FC047A47151E4FC700C5E9E7 /* particlecontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = particlecontainer.cpp; path = ../../src/particlecontainer.cpp; sourceTree = ""; }; + FC047A48151E4FC700C5E9E7 /* particlecontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = particlecontainer.h; path = ../../src/particlecontainer.h; sourceTree = ""; }; + FC047A49151E4FC700C5E9E7 /* particleemitter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = particleemitter.cpp; path = ../../src/particleemitter.cpp; sourceTree = ""; }; + FC047A4A151E4FC700C5E9E7 /* particleemitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = particleemitter.h; path = ../../src/particleemitter.h; sourceTree = ""; }; + FC047A4B151E4FC700C5E9E7 /* particleemitterprop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = particleemitterprop.h; path = ../../src/particleemitterprop.h; sourceTree = ""; }; + FC047A4C151E4FC700C5E9E7 /* party.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = party.cpp; path = ../../src/party.cpp; sourceTree = ""; }; + FC047A4D151E4FC700C5E9E7 /* party.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = party.h; path = ../../src/party.h; sourceTree = ""; }; + FC047A4E151E4FC700C5E9E7 /* playerinfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = playerinfo.cpp; path = ../../src/playerinfo.cpp; sourceTree = ""; }; + FC047A4F151E4FC700C5E9E7 /* playerinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = playerinfo.h; path = ../../src/playerinfo.h; sourceTree = ""; }; + FC047A50151E4FC700C5E9E7 /* playerrelations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = playerrelations.cpp; path = ../../src/playerrelations.cpp; sourceTree = ""; }; + FC047A51151E4FC700C5E9E7 /* playerrelations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = playerrelations.h; path = ../../src/playerrelations.h; sourceTree = ""; }; + FC047A52151E4FC700C5E9E7 /* position.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = position.cpp; path = ../../src/position.cpp; sourceTree = ""; }; + FC047A53151E4FC700C5E9E7 /* position.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = position.h; path = ../../src/position.h; sourceTree = ""; }; + FC047A54151E4FC700C5E9E7 /* properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = properties.h; path = ../../src/properties.h; sourceTree = ""; }; + FC047A55151E4FC700C5E9E7 /* rotationalparticle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rotationalparticle.cpp; path = ../../src/rotationalparticle.cpp; sourceTree = ""; }; + FC047A56151E4FC700C5E9E7 /* rotationalparticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rotationalparticle.h; path = ../../src/rotationalparticle.h; sourceTree = ""; }; + FC047A57151E4FC700C5E9E7 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLMain.h; path = ../../src/SDLMain.h; sourceTree = ""; }; + FC047A58151E4FC700C5E9E7 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLMain.m; path = ../../src/SDLMain.m; sourceTree = ""; }; + FC047A59151E4FC700C5E9E7 /* shopitem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = shopitem.cpp; path = ../../src/shopitem.cpp; sourceTree = ""; }; + FC047A5A151E4FC700C5E9E7 /* shopitem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = shopitem.h; path = ../../src/shopitem.h; sourceTree = ""; }; + FC047A5B151E4FC700C5E9E7 /* simpleanimation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = simpleanimation.cpp; path = ../../src/simpleanimation.cpp; sourceTree = ""; }; + FC047A5C151E4FC700C5E9E7 /* simpleanimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = simpleanimation.h; path = ../../src/simpleanimation.h; sourceTree = ""; }; + FC047A5D151E4FC700C5E9E7 /* sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sound.cpp; path = ../../src/sound.cpp; sourceTree = ""; }; + FC047A5E151E4FC700C5E9E7 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sound.h; path = ../../src/sound.h; sourceTree = ""; }; + FC047A5F151E4FC700C5E9E7 /* sprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sprite.h; path = ../../src/sprite.h; sourceTree = ""; }; + FC047A60151E4FC700C5E9E7 /* statuseffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = statuseffect.cpp; path = ../../src/statuseffect.cpp; sourceTree = ""; }; + FC047A61151E4FC700C5E9E7 /* statuseffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = statuseffect.h; path = ../../src/statuseffect.h; sourceTree = ""; }; + FC047A62151E4FC700C5E9E7 /* text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = text.cpp; path = ../../src/text.cpp; sourceTree = ""; }; + FC047A63151E4FC700C5E9E7 /* text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = text.h; path = ../../src/text.h; sourceTree = ""; }; + FC047A64151E4FC700C5E9E7 /* textmanager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = textmanager.cpp; path = ../../src/textmanager.cpp; sourceTree = ""; }; + FC047A65151E4FC700C5E9E7 /* textmanager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = textmanager.h; path = ../../src/textmanager.h; sourceTree = ""; }; + FC047A66151E4FC700C5E9E7 /* textparticle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = textparticle.cpp; path = ../../src/textparticle.cpp; sourceTree = ""; }; + FC047A67151E4FC700C5E9E7 /* textparticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = textparticle.h; path = ../../src/textparticle.h; sourceTree = ""; }; + FC047A68151E4FC700C5E9E7 /* textrenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = textrenderer.h; path = ../../src/textrenderer.h; sourceTree = ""; }; + FC047A69151E4FC700C5E9E7 /* tileset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tileset.h; path = ../../src/tileset.h; sourceTree = ""; }; + FC047A6A151E4FC700C5E9E7 /* units.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = units.cpp; path = ../../src/units.cpp; sourceTree = ""; }; + FC047A6B151E4FC700C5E9E7 /* units.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = units.h; path = ../../src/units.h; sourceTree = ""; }; + FC047A6C151E4FC700C5E9E7 /* variabledata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = variabledata.h; path = ../../src/variabledata.h; sourceTree = ""; }; + FC047A6D151E4FC700C5E9E7 /* vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vector.cpp; path = ../../src/vector.cpp; sourceTree = ""; }; + FC047A6E151E4FC700C5E9E7 /* vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vector.h; path = ../../src/vector.h; sourceTree = ""; }; + FC047A8F151E4FF700C5E9E7 /* beingpopup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = beingpopup.cpp; sourceTree = ""; }; + FC047A90151E4FF700C5E9E7 /* beingpopup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = beingpopup.h; sourceTree = ""; }; + FC047A91151E4FF700C5E9E7 /* buydialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = buydialog.cpp; sourceTree = ""; }; + FC047A92151E4FF700C5E9E7 /* buydialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buydialog.h; sourceTree = ""; }; + FC047A93151E4FF700C5E9E7 /* buyselldialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = buyselldialog.cpp; sourceTree = ""; }; + FC047A94151E4FF700C5E9E7 /* buyselldialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buyselldialog.h; sourceTree = ""; }; + FC047A95151E4FF700C5E9E7 /* changeemaildialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = changeemaildialog.cpp; sourceTree = ""; }; + FC047A96151E4FF700C5E9E7 /* changeemaildialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = changeemaildialog.h; sourceTree = ""; }; + FC047A97151E4FF700C5E9E7 /* changepassworddialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = changepassworddialog.cpp; sourceTree = ""; }; + FC047A98151E4FF700C5E9E7 /* changepassworddialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = changepassworddialog.h; sourceTree = ""; }; + FC047A99151E4FF700C5E9E7 /* charcreatedialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = charcreatedialog.cpp; sourceTree = ""; }; + FC047A9A151E4FF700C5E9E7 /* charcreatedialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charcreatedialog.h; sourceTree = ""; }; + FC047A9B151E4FF700C5E9E7 /* charselectdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = charselectdialog.cpp; sourceTree = ""; }; + FC047A9C151E4FF700C5E9E7 /* charselectdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charselectdialog.h; sourceTree = ""; }; + FC047A9D151E4FF700C5E9E7 /* chatwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chatwindow.cpp; sourceTree = ""; }; + FC047A9E151E4FF700C5E9E7 /* chatwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatwindow.h; sourceTree = ""; }; + FC047A9F151E4FF700C5E9E7 /* confirmdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = confirmdialog.cpp; sourceTree = ""; }; + FC047AA0151E4FF700C5E9E7 /* confirmdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = confirmdialog.h; sourceTree = ""; }; + FC047AA1151E4FF700C5E9E7 /* connectiondialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = connectiondialog.cpp; sourceTree = ""; }; + FC047AA2151E4FF700C5E9E7 /* connectiondialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = connectiondialog.h; sourceTree = ""; }; + FC047AA3151E4FF700C5E9E7 /* customserverdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = customserverdialog.cpp; sourceTree = ""; }; + FC047AA4151E4FF700C5E9E7 /* customserverdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = customserverdialog.h; sourceTree = ""; }; + FC047AA5151E4FF700C5E9E7 /* debugwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = debugwindow.cpp; sourceTree = ""; }; + FC047AA6151E4FF700C5E9E7 /* debugwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debugwindow.h; sourceTree = ""; }; + FC047AA7151E4FF700C5E9E7 /* emotepopup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = emotepopup.cpp; sourceTree = ""; }; + FC047AA8151E4FF700C5E9E7 /* emotepopup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = emotepopup.h; sourceTree = ""; }; + FC047AA9151E4FF700C5E9E7 /* equipmentwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = equipmentwindow.cpp; sourceTree = ""; }; + FC047AAA151E4FF700C5E9E7 /* equipmentwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = equipmentwindow.h; sourceTree = ""; }; + FC047AAB151E4FF700C5E9E7 /* focushandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = focushandler.cpp; sourceTree = ""; }; + FC047AAC151E4FF700C5E9E7 /* focushandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = focushandler.h; sourceTree = ""; }; + FC047AAD151E4FF700C5E9E7 /* gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gui.cpp; sourceTree = ""; }; + FC047AAE151E4FF700C5E9E7 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gui.h; sourceTree = ""; }; + FC047AAF151E4FF700C5E9E7 /* helpwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = helpwindow.cpp; sourceTree = ""; }; + FC047AB0151E4FF700C5E9E7 /* helpwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = helpwindow.h; sourceTree = ""; }; + FC047AB1151E4FF700C5E9E7 /* inventorywindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inventorywindow.cpp; sourceTree = ""; }; + FC047AB2151E4FF700C5E9E7 /* inventorywindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inventorywindow.h; sourceTree = ""; }; + FC047AB3151E4FF700C5E9E7 /* itemamountwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemamountwindow.cpp; sourceTree = ""; }; + FC047AB4151E4FF700C5E9E7 /* itemamountwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemamountwindow.h; sourceTree = ""; }; + FC047AB5151E4FF700C5E9E7 /* itempopup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itempopup.cpp; sourceTree = ""; }; + FC047AB6151E4FF700C5E9E7 /* itempopup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itempopup.h; sourceTree = ""; }; + FC047AB7151E4FF700C5E9E7 /* logindialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logindialog.cpp; sourceTree = ""; }; + FC047AB8151E4FF700C5E9E7 /* logindialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logindialog.h; sourceTree = ""; }; + FC047AB9151E4FF700C5E9E7 /* minimap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minimap.cpp; sourceTree = ""; }; + FC047ABA151E4FF700C5E9E7 /* minimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = minimap.h; sourceTree = ""; }; + FC047ABB151E4FF700C5E9E7 /* ministatuswindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ministatuswindow.cpp; sourceTree = ""; }; + FC047ABC151E4FF700C5E9E7 /* ministatuswindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ministatuswindow.h; sourceTree = ""; }; + FC047ABD151E4FF700C5E9E7 /* npcdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = npcdialog.cpp; sourceTree = ""; }; + FC047ABE151E4FF700C5E9E7 /* npcdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = npcdialog.h; sourceTree = ""; }; + FC047ABF151E4FF700C5E9E7 /* npcpostdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = npcpostdialog.cpp; sourceTree = ""; }; + FC047AC0151E4FF700C5E9E7 /* npcpostdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = npcpostdialog.h; sourceTree = ""; }; + FC047AC1151E4FF700C5E9E7 /* okdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = okdialog.cpp; sourceTree = ""; }; + FC047AC2151E4FF700C5E9E7 /* okdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = okdialog.h; sourceTree = ""; }; + FC047AC3151E4FF700C5E9E7 /* outfitwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = outfitwindow.cpp; sourceTree = ""; }; + FC047AC4151E4FF700C5E9E7 /* outfitwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = outfitwindow.h; sourceTree = ""; }; + FC047AC5151E4FF700C5E9E7 /* palette.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = palette.cpp; sourceTree = ""; }; + FC047AC6151E4FF700C5E9E7 /* palette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = palette.h; sourceTree = ""; }; + FC047AC7151E4FF700C5E9E7 /* popupmenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = popupmenu.cpp; sourceTree = ""; }; + FC047AC8151E4FF700C5E9E7 /* popupmenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = popupmenu.h; sourceTree = ""; }; + FC047AC9151E4FF700C5E9E7 /* quitdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = quitdialog.cpp; sourceTree = ""; }; + FC047ACA151E4FF700C5E9E7 /* quitdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = quitdialog.h; sourceTree = ""; }; + FC047ACB151E4FF700C5E9E7 /* recorder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = recorder.cpp; sourceTree = ""; }; + FC047ACC151E4FF700C5E9E7 /* recorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = recorder.h; sourceTree = ""; }; + FC047ACD151E4FF700C5E9E7 /* register.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = register.cpp; sourceTree = ""; }; + FC047ACE151E4FF700C5E9E7 /* register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = register.h; sourceTree = ""; }; + FC047ACF151E4FF700C5E9E7 /* sdlinput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdlinput.cpp; sourceTree = ""; }; + FC047AD0151E4FF700C5E9E7 /* sdlinput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdlinput.h; sourceTree = ""; }; + FC047AD1151E4FF700C5E9E7 /* selldialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = selldialog.cpp; sourceTree = ""; }; + FC047AD2151E4FF700C5E9E7 /* selldialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = selldialog.h; sourceTree = ""; }; + FC047AD3151E4FF700C5E9E7 /* serverdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = serverdialog.cpp; sourceTree = ""; }; + FC047AD4151E4FF700C5E9E7 /* serverdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = serverdialog.h; sourceTree = ""; }; + FC047AD5151E4FF700C5E9E7 /* setup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup.cpp; sourceTree = ""; }; + FC047AD6151E4FF700C5E9E7 /* setup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup.h; sourceTree = ""; }; + FC047AD7151E4FF700C5E9E7 /* setup_audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_audio.cpp; sourceTree = ""; }; + FC047AD8151E4FF700C5E9E7 /* setup_audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_audio.h; sourceTree = ""; }; + FC047AD9151E4FF700C5E9E7 /* setup_colors.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_colors.cpp; sourceTree = ""; }; + FC047ADA151E4FF700C5E9E7 /* setup_colors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_colors.h; sourceTree = ""; }; + FC047ADB151E4FF700C5E9E7 /* setup_interface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_interface.cpp; sourceTree = ""; }; + FC047ADC151E4FF700C5E9E7 /* setup_interface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_interface.h; sourceTree = ""; }; + FC047ADD151E4FF700C5E9E7 /* setup_joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_joystick.cpp; sourceTree = ""; }; + FC047ADE151E4FF700C5E9E7 /* setup_joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_joystick.h; sourceTree = ""; }; + FC047ADF151E4FF700C5E9E7 /* setup_keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_keyboard.cpp; sourceTree = ""; }; + FC047AE0151E4FF700C5E9E7 /* setup_keyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_keyboard.h; sourceTree = ""; }; + FC047AE1151E4FF700C5E9E7 /* setup_players.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_players.cpp; sourceTree = ""; }; + FC047AE2151E4FF700C5E9E7 /* setup_players.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_players.h; sourceTree = ""; }; + FC047AE3151E4FF700C5E9E7 /* setup_video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setup_video.cpp; sourceTree = ""; }; + FC047AE4151E4FF700C5E9E7 /* setup_video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setup_video.h; sourceTree = ""; }; + FC047AE5151E4FF700C5E9E7 /* shortcutwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shortcutwindow.cpp; sourceTree = ""; }; + FC047AE6151E4FF700C5E9E7 /* shortcutwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shortcutwindow.h; sourceTree = ""; }; + FC047AE7151E4FF700C5E9E7 /* skilldialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = skilldialog.cpp; sourceTree = ""; }; + FC047AE8151E4FF700C5E9E7 /* skilldialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = skilldialog.h; sourceTree = ""; }; + FC047AE9151E4FF700C5E9E7 /* socialwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = socialwindow.cpp; sourceTree = ""; }; + FC047AEA151E4FF700C5E9E7 /* socialwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = socialwindow.h; sourceTree = ""; }; + FC047AEB151E4FF700C5E9E7 /* specialswindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = specialswindow.cpp; sourceTree = ""; }; + FC047AEC151E4FF700C5E9E7 /* specialswindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specialswindow.h; sourceTree = ""; }; + FC047AED151E4FF700C5E9E7 /* speechbubble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = speechbubble.cpp; sourceTree = ""; }; + FC047AEE151E4FF700C5E9E7 /* speechbubble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speechbubble.h; sourceTree = ""; }; + FC047AEF151E4FF700C5E9E7 /* statuswindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = statuswindow.cpp; sourceTree = ""; }; + FC047AF0151E4FF700C5E9E7 /* statuswindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = statuswindow.h; sourceTree = ""; }; + FC047AF1151E4FF700C5E9E7 /* textdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = textdialog.cpp; sourceTree = ""; }; + FC047AF2151E4FF700C5E9E7 /* textdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textdialog.h; sourceTree = ""; }; + FC047AF3151E4FF700C5E9E7 /* textpopup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = textpopup.cpp; sourceTree = ""; }; + FC047AF4151E4FF700C5E9E7 /* textpopup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textpopup.h; sourceTree = ""; }; + FC047AF5151E4FF700C5E9E7 /* tradewindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tradewindow.cpp; sourceTree = ""; }; + FC047AF6151E4FF700C5E9E7 /* tradewindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tradewindow.h; sourceTree = ""; }; + FC047AF7151E4FF700C5E9E7 /* truetypefont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = truetypefont.cpp; sourceTree = ""; }; + FC047AF8151E4FF700C5E9E7 /* truetypefont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = truetypefont.h; sourceTree = ""; }; + FC047AF9151E4FF700C5E9E7 /* unregisterdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = unregisterdialog.cpp; sourceTree = ""; }; + FC047AFA151E4FF700C5E9E7 /* unregisterdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unregisterdialog.h; sourceTree = ""; }; + FC047AFB151E4FF700C5E9E7 /* updaterwindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = updaterwindow.cpp; sourceTree = ""; }; + FC047AFC151E4FF700C5E9E7 /* updaterwindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = updaterwindow.h; sourceTree = ""; }; + FC047AFD151E4FF700C5E9E7 /* viewport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = viewport.cpp; sourceTree = ""; }; + FC047AFE151E4FF700C5E9E7 /* viewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = viewport.h; sourceTree = ""; }; + FC047B00151E4FF700C5E9E7 /* avatarlistbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = avatarlistbox.cpp; sourceTree = ""; }; + FC047B01151E4FF700C5E9E7 /* avatarlistbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avatarlistbox.h; sourceTree = ""; }; + FC047B02151E4FF700C5E9E7 /* browserbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = browserbox.cpp; sourceTree = ""; }; + FC047B03151E4FF700C5E9E7 /* browserbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = browserbox.h; sourceTree = ""; }; + FC047B04151E4FF700C5E9E7 /* button.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = button.cpp; sourceTree = ""; }; + FC047B05151E4FF700C5E9E7 /* button.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = button.h; sourceTree = ""; }; + FC047B06151E4FF700C5E9E7 /* channeltab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = channeltab.cpp; sourceTree = ""; }; + FC047B07151E4FF700C5E9E7 /* channeltab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channeltab.h; sourceTree = ""; }; + FC047B08151E4FF700C5E9E7 /* chattab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chattab.cpp; sourceTree = ""; }; + FC047B09151E4FF700C5E9E7 /* chattab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chattab.h; sourceTree = ""; }; + FC047B0A151E4FF700C5E9E7 /* checkbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = checkbox.cpp; sourceTree = ""; }; + FC047B0B151E4FF700C5E9E7 /* checkbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checkbox.h; sourceTree = ""; }; + FC047B0C151E4FF700C5E9E7 /* container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = container.cpp; sourceTree = ""; }; + FC047B0D151E4FF700C5E9E7 /* container.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = container.h; sourceTree = ""; }; + FC047B0E151E4FF700C5E9E7 /* desktop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = desktop.cpp; sourceTree = ""; }; + FC047B0F151E4FF700C5E9E7 /* desktop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = desktop.h; sourceTree = ""; }; + FC047B10151E4FF700C5E9E7 /* dropdown.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dropdown.cpp; sourceTree = ""; }; + FC047B11151E4FF700C5E9E7 /* dropdown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dropdown.h; sourceTree = ""; }; + FC047B12151E4FF700C5E9E7 /* emoteshortcutcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = emoteshortcutcontainer.cpp; sourceTree = ""; }; + FC047B13151E4FF700C5E9E7 /* emoteshortcutcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = emoteshortcutcontainer.h; sourceTree = ""; }; + FC047B14151E4FF700C5E9E7 /* flowcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = flowcontainer.cpp; sourceTree = ""; }; + FC047B15151E4FF700C5E9E7 /* flowcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flowcontainer.h; sourceTree = ""; }; + FC047B16151E4FF700C5E9E7 /* icon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = icon.cpp; sourceTree = ""; }; + FC047B17151E4FF700C5E9E7 /* icon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = icon.h; sourceTree = ""; }; + FC047B18151E4FF700C5E9E7 /* inttextfield.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inttextfield.cpp; sourceTree = ""; }; + FC047B19151E4FF700C5E9E7 /* inttextfield.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inttextfield.h; sourceTree = ""; }; + FC047B1A151E4FF700C5E9E7 /* itemcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemcontainer.cpp; sourceTree = ""; }; + FC047B1B151E4FF700C5E9E7 /* itemcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemcontainer.h; sourceTree = ""; }; + FC047B1C151E4FF700C5E9E7 /* itemlinkhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemlinkhandler.cpp; sourceTree = ""; }; + FC047B1D151E4FF700C5E9E7 /* itemlinkhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemlinkhandler.h; sourceTree = ""; }; + FC047B1E151E4FF700C5E9E7 /* itemshortcutcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemshortcutcontainer.cpp; sourceTree = ""; }; + FC047B1F151E4FF700C5E9E7 /* itemshortcutcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemshortcutcontainer.h; sourceTree = ""; }; + FC047B20151E4FF700C5E9E7 /* label.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = label.cpp; sourceTree = ""; }; + FC047B21151E4FF700C5E9E7 /* label.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = label.h; sourceTree = ""; }; + FC047B22151E4FF700C5E9E7 /* layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layout.cpp; sourceTree = ""; }; + FC047B23151E4FF700C5E9E7 /* layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layout.h; sourceTree = ""; }; + FC047B24151E4FF700C5E9E7 /* layouthelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layouthelper.cpp; sourceTree = ""; }; + FC047B25151E4FF700C5E9E7 /* layouthelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layouthelper.h; sourceTree = ""; }; + FC047B26151E4FF700C5E9E7 /* linkhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linkhandler.h; sourceTree = ""; }; + FC047B27151E4FF700C5E9E7 /* listbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = listbox.cpp; sourceTree = ""; }; + FC047B28151E4FF700C5E9E7 /* listbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = listbox.h; sourceTree = ""; }; + FC047B29151E4FF700C5E9E7 /* passwordfield.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = passwordfield.cpp; sourceTree = ""; }; + FC047B2A151E4FF700C5E9E7 /* passwordfield.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = passwordfield.h; sourceTree = ""; }; + FC047B2B151E4FF700C5E9E7 /* playerbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = playerbox.cpp; sourceTree = ""; }; + FC047B2C151E4FF700C5E9E7 /* playerbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = playerbox.h; sourceTree = ""; }; + FC047B2D151E4FF700C5E9E7 /* popup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = popup.cpp; sourceTree = ""; }; + FC047B2E151E4FF700C5E9E7 /* popup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = popup.h; sourceTree = ""; }; + FC047B2F151E4FF700C5E9E7 /* progressbar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = progressbar.cpp; sourceTree = ""; }; + FC047B30151E4FF700C5E9E7 /* progressbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = progressbar.h; sourceTree = ""; }; + FC047B31151E4FF700C5E9E7 /* progressindicator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = progressindicator.cpp; sourceTree = ""; }; + FC047B32151E4FF700C5E9E7 /* progressindicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = progressindicator.h; sourceTree = ""; }; + FC047B33151E4FF700C5E9E7 /* radiobutton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = radiobutton.cpp; sourceTree = ""; }; + FC047B34151E4FF700C5E9E7 /* radiobutton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = radiobutton.h; sourceTree = ""; }; + FC047B35151E4FF700C5E9E7 /* resizegrip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resizegrip.cpp; sourceTree = ""; }; + FC047B36151E4FF700C5E9E7 /* resizegrip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resizegrip.h; sourceTree = ""; }; + FC047B37151E4FF700C5E9E7 /* scrollarea.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scrollarea.cpp; sourceTree = ""; }; + FC047B38151E4FF700C5E9E7 /* scrollarea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scrollarea.h; sourceTree = ""; }; + FC047B39151E4FF700C5E9E7 /* setuptab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = setuptab.cpp; sourceTree = ""; }; + FC047B3A151E4FF700C5E9E7 /* setuptab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setuptab.h; sourceTree = ""; }; + FC047B3B151E4FF700C5E9E7 /* shopitems.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shopitems.cpp; sourceTree = ""; }; + FC047B3C151E4FF700C5E9E7 /* shopitems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shopitems.h; sourceTree = ""; }; + FC047B3D151E4FF700C5E9E7 /* shoplistbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shoplistbox.cpp; sourceTree = ""; }; + FC047B3E151E4FF700C5E9E7 /* shoplistbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shoplistbox.h; sourceTree = ""; }; + FC047B3F151E4FF700C5E9E7 /* shortcutcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shortcutcontainer.cpp; sourceTree = ""; }; + FC047B40151E4FF700C5E9E7 /* shortcutcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shortcutcontainer.h; sourceTree = ""; }; + FC047B41151E4FF700C5E9E7 /* slider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = slider.cpp; sourceTree = ""; }; + FC047B42151E4FF700C5E9E7 /* slider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slider.h; sourceTree = ""; }; + FC047B43151E4FF700C5E9E7 /* spacer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spacer.cpp; sourceTree = ""; }; + FC047B44151E4FF700C5E9E7 /* spacer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spacer.h; sourceTree = ""; }; + FC047B45151E4FF700C5E9E7 /* tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tab.cpp; sourceTree = ""; }; + FC047B46151E4FF700C5E9E7 /* tab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tab.h; sourceTree = ""; }; + FC047B47151E4FF700C5E9E7 /* tabbedarea.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tabbedarea.cpp; sourceTree = ""; }; + FC047B48151E4FF700C5E9E7 /* tabbedarea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tabbedarea.h; sourceTree = ""; }; + FC047B49151E4FF700C5E9E7 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = ""; }; + FC047B4A151E4FF700C5E9E7 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = ""; }; + FC047B4B151E4FF700C5E9E7 /* tablemodel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tablemodel.cpp; sourceTree = ""; }; + FC047B4C151E4FF700C5E9E7 /* tablemodel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tablemodel.h; sourceTree = ""; }; + FC047B4D151E4FF700C5E9E7 /* textbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = textbox.cpp; sourceTree = ""; }; + FC047B4E151E4FF700C5E9E7 /* textbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textbox.h; sourceTree = ""; }; + FC047B4F151E4FF700C5E9E7 /* textfield.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = textfield.cpp; sourceTree = ""; }; + FC047B50151E4FF700C5E9E7 /* textfield.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textfield.h; sourceTree = ""; }; + FC047B51151E4FF700C5E9E7 /* textpreview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = textpreview.cpp; sourceTree = ""; }; + FC047B52151E4FF700C5E9E7 /* textpreview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = textpreview.h; sourceTree = ""; }; + FC047B53151E4FF700C5E9E7 /* vertcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vertcontainer.cpp; sourceTree = ""; }; + FC047B54151E4FF700C5E9E7 /* vertcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vertcontainer.h; sourceTree = ""; }; + FC047B55151E4FF700C5E9E7 /* whispertab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = whispertab.cpp; sourceTree = ""; }; + FC047B56151E4FF700C5E9E7 /* whispertab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = whispertab.h; sourceTree = ""; }; + FC047B57151E4FF700C5E9E7 /* window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = window.cpp; sourceTree = ""; }; + FC047B58151E4FF700C5E9E7 /* window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = window.h; sourceTree = ""; }; + FC047B59151E4FF700C5E9E7 /* windowcontainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = windowcontainer.cpp; sourceTree = ""; }; + FC047B5A151E4FF700C5E9E7 /* windowcontainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windowcontainer.h; sourceTree = ""; }; + FC047B5B151E4FF700C5E9E7 /* windowmenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = windowmenu.cpp; sourceTree = ""; }; + FC047B5C151E4FF700C5E9E7 /* windowmenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windowmenu.h; sourceTree = ""; }; + FC047B5D151E4FF700C5E9E7 /* worldselectdialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = worldselectdialog.cpp; sourceTree = ""; }; + FC047B5E151E4FF700C5E9E7 /* worldselectdialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = worldselectdialog.h; sourceTree = ""; }; + FC047BC7151E500100C5E9E7 /* adminhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adminhandler.h; sourceTree = ""; }; + FC047BC8151E500100C5E9E7 /* charhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = charhandler.cpp; sourceTree = ""; }; + FC047BC9151E500100C5E9E7 /* charhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charhandler.h; sourceTree = ""; }; + FC047BCA151E500100C5E9E7 /* chathandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chathandler.h; sourceTree = ""; }; + FC047BCB151E500100C5E9E7 /* download.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = download.cpp; sourceTree = ""; }; + FC047BCC151E500100C5E9E7 /* download.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = download.h; sourceTree = ""; }; + FC047BCD151E500100C5E9E7 /* gamehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gamehandler.h; sourceTree = ""; }; + FC047BCE151E500100C5E9E7 /* generalhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generalhandler.h; sourceTree = ""; }; + FC047BCF151E500100C5E9E7 /* guildhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guildhandler.h; sourceTree = ""; }; + FC047BD0151E500100C5E9E7 /* inventoryhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inventoryhandler.h; sourceTree = ""; }; + FC047BD1151E500100C5E9E7 /* logindata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logindata.h; sourceTree = ""; }; + FC047BD2151E500100C5E9E7 /* loginhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loginhandler.h; sourceTree = ""; }; + FC047BD4151E500100C5E9E7 /* adminhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adminhandler.cpp; sourceTree = ""; }; + FC047BD5151E500100C5E9E7 /* adminhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adminhandler.h; sourceTree = ""; }; + FC047BD6151E500100C5E9E7 /* attributes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = attributes.cpp; sourceTree = ""; }; + FC047BD7151E500100C5E9E7 /* attributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attributes.h; sourceTree = ""; }; + FC047BD8151E500100C5E9E7 /* beinghandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = beinghandler.cpp; sourceTree = ""; }; + FC047BD9151E500100C5E9E7 /* beinghandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = beinghandler.h; sourceTree = ""; }; + FC047BDA151E500100C5E9E7 /* buysellhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = buysellhandler.cpp; sourceTree = ""; }; + FC047BDB151E500100C5E9E7 /* buysellhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buysellhandler.h; sourceTree = ""; }; + FC047BDC151E500100C5E9E7 /* charhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = charhandler.cpp; sourceTree = ""; }; + FC047BDD151E500100C5E9E7 /* charhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charhandler.h; sourceTree = ""; }; + FC047BDE151E500100C5E9E7 /* chathandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chathandler.cpp; sourceTree = ""; }; + FC047BDF151E500100C5E9E7 /* chathandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chathandler.h; sourceTree = ""; }; + FC047BE0151E500100C5E9E7 /* connection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = connection.cpp; sourceTree = ""; }; + FC047BE1151E500100C5E9E7 /* connection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = connection.h; sourceTree = ""; }; + FC047BE2151E500100C5E9E7 /* defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defines.h; sourceTree = ""; }; + FC047BE3151E500100C5E9E7 /* effecthandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = effecthandler.cpp; sourceTree = ""; }; + FC047BE4151E500100C5E9E7 /* effecthandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = effecthandler.h; sourceTree = ""; }; + FC047BE5151E500100C5E9E7 /* gamehandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gamehandler.cpp; sourceTree = ""; }; + FC047BE6151E500100C5E9E7 /* gamehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gamehandler.h; sourceTree = ""; }; + FC047BE7151E500100C5E9E7 /* generalhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generalhandler.cpp; sourceTree = ""; }; + FC047BE8151E500100C5E9E7 /* generalhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generalhandler.h; sourceTree = ""; }; + FC047BE9151E500100C5E9E7 /* guildhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guildhandler.cpp; sourceTree = ""; }; + FC047BEA151E500100C5E9E7 /* guildhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guildhandler.h; sourceTree = ""; }; + FC047BEB151E500100C5E9E7 /* internal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = internal.cpp; sourceTree = ""; }; + FC047BEC151E500100C5E9E7 /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = ""; }; + FC047BED151E500100C5E9E7 /* inventoryhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inventoryhandler.cpp; sourceTree = ""; }; + FC047BEE151E500100C5E9E7 /* inventoryhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inventoryhandler.h; sourceTree = ""; }; + FC047BEF151E500100C5E9E7 /* itemhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemhandler.cpp; sourceTree = ""; }; + FC047BF0151E500100C5E9E7 /* itemhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemhandler.h; sourceTree = ""; }; + FC047BF1151E500100C5E9E7 /* loginhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loginhandler.cpp; sourceTree = ""; }; + FC047BF2151E500100C5E9E7 /* loginhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loginhandler.h; sourceTree = ""; }; + FC047BF3151E500100C5E9E7 /* manaserv_protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = manaserv_protocol.h; sourceTree = ""; }; + FC047BF4151E500100C5E9E7 /* messagehandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messagehandler.cpp; sourceTree = ""; }; + FC047BF5151E500100C5E9E7 /* messagehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messagehandler.h; sourceTree = ""; }; + FC047BF6151E500100C5E9E7 /* messagein.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messagein.cpp; sourceTree = ""; }; + FC047BF7151E500100C5E9E7 /* messagein.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messagein.h; sourceTree = ""; }; + FC047BF8151E500100C5E9E7 /* messageout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messageout.cpp; sourceTree = ""; }; + FC047BF9151E500100C5E9E7 /* messageout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messageout.h; sourceTree = ""; }; + FC047BFA151E500100C5E9E7 /* network.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = network.cpp; sourceTree = ""; }; + FC047BFB151E500100C5E9E7 /* network.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = network.h; sourceTree = ""; }; + FC047BFC151E500100C5E9E7 /* npchandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = npchandler.cpp; sourceTree = ""; }; + FC047BFD151E500100C5E9E7 /* npchandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = npchandler.h; sourceTree = ""; }; + FC047BFE151E500100C5E9E7 /* partyhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = partyhandler.cpp; sourceTree = ""; }; + FC047BFF151E500100C5E9E7 /* partyhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = partyhandler.h; sourceTree = ""; }; + FC047C00151E500100C5E9E7 /* playerhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = playerhandler.cpp; sourceTree = ""; }; + FC047C01151E500100C5E9E7 /* playerhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = playerhandler.h; sourceTree = ""; }; + FC047C02151E500100C5E9E7 /* specialhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = specialhandler.cpp; sourceTree = ""; }; + FC047C03151E500100C5E9E7 /* specialhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specialhandler.h; sourceTree = ""; }; + FC047C04151E500100C5E9E7 /* tradehandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tradehandler.cpp; sourceTree = ""; }; + FC047C05151E500100C5E9E7 /* tradehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tradehandler.h; sourceTree = ""; }; + FC047C06151E500100C5E9E7 /* messagehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messagehandler.h; sourceTree = ""; }; + FC047C0B151E500100C5E9E7 /* net.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = net.cpp; sourceTree = ""; }; + FC047C0C151E500100C5E9E7 /* net.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = net.h; sourceTree = ""; }; + FC047C0D151E500100C5E9E7 /* npchandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = npchandler.h; sourceTree = ""; }; + FC047C0E151E500100C5E9E7 /* partyhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = partyhandler.h; sourceTree = ""; }; + FC047C0F151E500100C5E9E7 /* playerhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = playerhandler.h; sourceTree = ""; }; + FC047C10151E500100C5E9E7 /* serverinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = serverinfo.h; sourceTree = ""; }; + FC047C11151E500100C5E9E7 /* specialhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specialhandler.h; sourceTree = ""; }; + FC047C13151E500100C5E9E7 /* adminhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adminhandler.cpp; sourceTree = ""; }; + FC047C14151E500100C5E9E7 /* adminhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adminhandler.h; sourceTree = ""; }; + FC047C15151E500100C5E9E7 /* beinghandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = beinghandler.cpp; sourceTree = ""; }; + FC047C16151E500100C5E9E7 /* beinghandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = beinghandler.h; sourceTree = ""; }; + FC047C17151E500100C5E9E7 /* buysellhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = buysellhandler.cpp; sourceTree = ""; }; + FC047C18151E500100C5E9E7 /* buysellhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buysellhandler.h; sourceTree = ""; }; + FC047C19151E500100C5E9E7 /* charserverhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = charserverhandler.cpp; sourceTree = ""; }; + FC047C1A151E500100C5E9E7 /* charserverhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = charserverhandler.h; sourceTree = ""; }; + FC047C1B151E500100C5E9E7 /* chathandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = chathandler.cpp; sourceTree = ""; }; + FC047C1C151E500100C5E9E7 /* chathandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chathandler.h; sourceTree = ""; }; + FC047C1D151E500100C5E9E7 /* gamehandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gamehandler.cpp; sourceTree = ""; }; + FC047C1E151E500100C5E9E7 /* gamehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gamehandler.h; sourceTree = ""; }; + FC047C1F151E500100C5E9E7 /* generalhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generalhandler.cpp; sourceTree = ""; }; + FC047C20151E500100C5E9E7 /* generalhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generalhandler.h; sourceTree = ""; }; + FC047C22151E500100C5E9E7 /* guildtab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guildtab.cpp; sourceTree = ""; }; + FC047C23151E500100C5E9E7 /* guildtab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guildtab.h; sourceTree = ""; }; + FC047C24151E500100C5E9E7 /* partytab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = partytab.cpp; sourceTree = ""; }; + FC047C25151E500100C5E9E7 /* partytab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = partytab.h; sourceTree = ""; }; + FC047C26151E500100C5E9E7 /* guildhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guildhandler.cpp; sourceTree = ""; }; + FC047C27151E500100C5E9E7 /* guildhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guildhandler.h; sourceTree = ""; }; + FC047C28151E500100C5E9E7 /* inventoryhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = inventoryhandler.cpp; sourceTree = ""; }; + FC047C29151E500100C5E9E7 /* inventoryhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inventoryhandler.h; sourceTree = ""; }; + FC047C2A151E500100C5E9E7 /* itemhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemhandler.cpp; sourceTree = ""; }; + FC047C2B151E500100C5E9E7 /* itemhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemhandler.h; sourceTree = ""; }; + FC047C2C151E500100C5E9E7 /* loginhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loginhandler.cpp; sourceTree = ""; }; + FC047C2D151E500100C5E9E7 /* loginhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loginhandler.h; sourceTree = ""; }; + FC047C2E151E500100C5E9E7 /* messagehandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messagehandler.cpp; sourceTree = ""; }; + FC047C2F151E500100C5E9E7 /* messagehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messagehandler.h; sourceTree = ""; }; + FC047C30151E500100C5E9E7 /* messagein.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messagein.cpp; sourceTree = ""; }; + FC047C31151E500100C5E9E7 /* messagein.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messagein.h; sourceTree = ""; }; + FC047C32151E500100C5E9E7 /* messageout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = messageout.cpp; sourceTree = ""; }; + FC047C33151E500100C5E9E7 /* messageout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = messageout.h; sourceTree = ""; }; + FC047C34151E500100C5E9E7 /* network.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = network.cpp; sourceTree = ""; }; + FC047C35151E500100C5E9E7 /* network.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = network.h; sourceTree = ""; }; + FC047C36151E500100C5E9E7 /* npchandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = npchandler.cpp; sourceTree = ""; }; + FC047C37151E500100C5E9E7 /* npchandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = npchandler.h; sourceTree = ""; }; + FC047C38151E500100C5E9E7 /* partyhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = partyhandler.cpp; sourceTree = ""; }; + FC047C39151E500100C5E9E7 /* partyhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = partyhandler.h; sourceTree = ""; }; + FC047C3A151E500100C5E9E7 /* playerhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = playerhandler.cpp; sourceTree = ""; }; + FC047C3B151E500100C5E9E7 /* playerhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = playerhandler.h; sourceTree = ""; }; + FC047C3C151E500100C5E9E7 /* protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = protocol.h; sourceTree = ""; }; + FC047C3D151E500100C5E9E7 /* specialhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = specialhandler.cpp; sourceTree = ""; }; + FC047C3E151E500100C5E9E7 /* specialhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specialhandler.h; sourceTree = ""; }; + FC047C3F151E500100C5E9E7 /* token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = token.h; sourceTree = ""; }; + FC047C40151E500100C5E9E7 /* tradehandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tradehandler.cpp; sourceTree = ""; }; + FC047C41151E500100C5E9E7 /* tradehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tradehandler.h; sourceTree = ""; }; + FC047C42151E500100C5E9E7 /* tradehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tradehandler.h; sourceTree = ""; }; + FC047C43151E500100C5E9E7 /* worldinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = worldinfo.h; sourceTree = ""; }; + FC047C78151E500C00C5E9E7 /* action.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = action.cpp; sourceTree = ""; }; + FC047C79151E500C00C5E9E7 /* action.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = action.h; sourceTree = ""; }; + FC047C7A151E500C00C5E9E7 /* ambientlayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ambientlayer.cpp; sourceTree = ""; }; + FC047C7B151E500C00C5E9E7 /* ambientlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ambientlayer.h; sourceTree = ""; }; + FC047C7C151E500C00C5E9E7 /* animation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = animation.cpp; sourceTree = ""; }; + FC047C7D151E500C00C5E9E7 /* animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = animation.h; sourceTree = ""; }; + FC047C7E151E500C00C5E9E7 /* beinginfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = beinginfo.cpp; sourceTree = ""; }; + FC047C7F151E500C00C5E9E7 /* beinginfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = beinginfo.h; sourceTree = ""; }; + FC047C80151E500C00C5E9E7 /* dye.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dye.cpp; sourceTree = ""; }; + FC047C81151E500C00C5E9E7 /* dye.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dye.h; sourceTree = ""; }; + FC047C82151E500C00C5E9E7 /* emotedb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = emotedb.cpp; sourceTree = ""; }; + FC047C83151E500C00C5E9E7 /* emotedb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = emotedb.h; sourceTree = ""; }; + FC047C84151E500C00C5E9E7 /* hairdb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hairdb.cpp; sourceTree = ""; }; + FC047C85151E500C00C5E9E7 /* hairdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hairdb.h; sourceTree = ""; }; + FC047C86151E500C00C5E9E7 /* image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = image.cpp; sourceTree = ""; }; + FC047C87151E500C00C5E9E7 /* image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = image.h; sourceTree = ""; }; + FC047C8A151E500C00C5E9E7 /* imageset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imageset.cpp; sourceTree = ""; }; + FC047C8B151E500C00C5E9E7 /* imageset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imageset.h; sourceTree = ""; }; + FC047C8C151E500C00C5E9E7 /* imagewriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imagewriter.cpp; sourceTree = ""; }; + FC047C8D151E500C00C5E9E7 /* imagewriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imagewriter.h; sourceTree = ""; }; + FC047C8E151E500C00C5E9E7 /* itemdb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = itemdb.cpp; sourceTree = ""; }; + FC047C8F151E500C00C5E9E7 /* itemdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = itemdb.h; sourceTree = ""; }; + FC047C90151E500C00C5E9E7 /* iteminfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iteminfo.cpp; sourceTree = ""; }; + FC047C91151E500C00C5E9E7 /* iteminfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iteminfo.h; sourceTree = ""; }; + FC047C92151E500C00C5E9E7 /* mapreader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mapreader.cpp; sourceTree = ""; }; + FC047C93151E500C00C5E9E7 /* mapreader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mapreader.h; sourceTree = ""; }; + FC047C94151E500C00C5E9E7 /* monsterdb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = monsterdb.cpp; sourceTree = ""; }; + FC047C95151E500C00C5E9E7 /* monsterdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = monsterdb.h; sourceTree = ""; }; + FC047C96151E500C00C5E9E7 /* music.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = music.cpp; sourceTree = ""; }; + FC047C97151E500C00C5E9E7 /* music.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = music.h; sourceTree = ""; }; + FC047C98151E500C00C5E9E7 /* npcdb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = npcdb.cpp; sourceTree = ""; }; + FC047C99151E500C00C5E9E7 /* npcdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = npcdb.h; sourceTree = ""; }; + FC047C9A151E500C00C5E9E7 /* resource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resource.cpp; sourceTree = ""; }; + FC047C9B151E500C00C5E9E7 /* resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = ""; }; + FC047C9C151E500C00C5E9E7 /* resourcemanager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resourcemanager.cpp; sourceTree = ""; }; + FC047C9D151E500C00C5E9E7 /* resourcemanager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resourcemanager.h; sourceTree = ""; }; + FC047C9E151E500C00C5E9E7 /* soundeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = soundeffect.cpp; sourceTree = ""; }; + FC047C9F151E500C00C5E9E7 /* soundeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = soundeffect.h; sourceTree = ""; }; + FC047CA0151E500C00C5E9E7 /* specialdb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = specialdb.cpp; sourceTree = ""; }; + FC047CA1151E500C00C5E9E7 /* specialdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specialdb.h; sourceTree = ""; }; + FC047CA2151E500C00C5E9E7 /* spritedef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spritedef.cpp; sourceTree = ""; }; + FC047CA3151E500C00C5E9E7 /* spritedef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spritedef.h; sourceTree = ""; }; + FC047CA4151E500C00C5E9E7 /* theme.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = theme.cpp; sourceTree = ""; }; + FC047CA5151E500C00C5E9E7 /* theme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = theme.h; sourceTree = ""; }; + FC047CA6151E500C00C5E9E7 /* userpalette.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = userpalette.cpp; sourceTree = ""; }; + FC047CA7151E500C00C5E9E7 /* userpalette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = userpalette.h; sourceTree = ""; }; + FC047CA8151E500C00C5E9E7 /* wallpaper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wallpaper.cpp; sourceTree = ""; }; + FC047CA9151E500C00C5E9E7 /* wallpaper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wallpaper.h; sourceTree = ""; }; + FC047CC4151E501400C5E9E7 /* base64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = base64.cpp; sourceTree = ""; }; + FC047CC5151E501400C5E9E7 /* base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = base64.h; sourceTree = ""; }; + FC047CC6151E501400C5E9E7 /* copynpaste.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copynpaste.cpp; sourceTree = ""; }; + FC047CC7151E501400C5E9E7 /* copynpaste.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copynpaste.h; sourceTree = ""; }; + FC047CC8151E501400C5E9E7 /* dtor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtor.h; sourceTree = ""; }; + FC047CC9151E501400C5E9E7 /* gettext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gettext.h; sourceTree = ""; }; + FC047CCA151E501400C5E9E7 /* mathutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mathutils.h; sourceTree = ""; }; + FC047CCB151E501400C5E9E7 /* mkdir.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mkdir.cpp; sourceTree = ""; }; + FC047CCC151E501400C5E9E7 /* mkdir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mkdir.h; sourceTree = ""; }; + FC047CCD151E501400C5E9E7 /* mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mutex.h; sourceTree = ""; }; + FC047CCE151E501400C5E9E7 /* physfsrwops.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = physfsrwops.c; sourceTree = ""; }; + FC047CCF151E501400C5E9E7 /* physfsrwops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = physfsrwops.h; sourceTree = ""; }; + FC047CD0151E501400C5E9E7 /* sha256.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sha256.cpp; sourceTree = ""; }; + FC047CD1151E501400C5E9E7 /* sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = ""; }; + FC047CD2151E501400C5E9E7 /* specialfolder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = specialfolder.cpp; sourceTree = ""; }; + FC047CD3151E501400C5E9E7 /* specialfolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = specialfolder.h; sourceTree = ""; }; + FC047CD4151E501400C5E9E7 /* stringutils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringutils.cpp; sourceTree = ""; }; + FC047CD5151E501400C5E9E7 /* stringutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringutils.h; sourceTree = ""; }; + FC047CD6151E501400C5E9E7 /* xml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xml.cpp; sourceTree = ""; }; + FC047CD7151E501400C5E9E7 /* xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xml.h; sourceTree = ""; }; + FC047CD8151E501400C5E9E7 /* zlib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zlib.cpp; sourceTree = ""; }; + FC047CD9151E501400C5E9E7 /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; + FC047CE5151E747B00C5E9E7 /* log.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = log.mm; path = ../../src/log.mm; sourceTree = ""; }; + FC047CE8151E7C8500C5E9E7 /* cstdint */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdint; sourceTree = ""; }; + FC047CEB151E820000C5E9E7 /* callbacks.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = callbacks.c; sourceTree = ""; }; + FC047CEE151E820000C5E9E7 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; + FC047CF0151E820000C5E9E7 /* host.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = host.c; sourceTree = ""; }; + FC047CF3151E820000C5E9E7 /* callbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = callbacks.h; sourceTree = ""; }; + FC047CF4151E820000C5E9E7 /* enet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enet.h; sourceTree = ""; }; + FC047CF5151E820000C5E9E7 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = ""; }; + FC047CF6151E820000C5E9E7 /* protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = protocol.h; sourceTree = ""; }; + FC047CF7151E820000C5E9E7 /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = ""; }; + FC047CF8151E820000C5E9E7 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + FC047CF9151E820000C5E9E7 /* unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unix.h; sourceTree = ""; }; + FC047CFA151E820000C5E9E7 /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; + FC047CFB151E820000C5E9E7 /* win32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = win32.h; sourceTree = ""; }; + FC047CFD151E820000C5E9E7 /* list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = list.c; sourceTree = ""; }; + FC047CFE151E820000C5E9E7 /* packet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = packet.c; sourceTree = ""; }; + FC047CFF151E820000C5E9E7 /* peer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = peer.c; sourceTree = ""; }; + FC047D00151E820000C5E9E7 /* protocol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = protocol.c; sourceTree = ""; }; + FC047D02151E820000C5E9E7 /* unix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unix.c; sourceTree = ""; }; + FC047D15151E853200C5E9E7 /* libSDL_gfx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSDL_gfx.a; path = ../libs/libSDL_gfx.a; sourceTree = ""; }; + FC047D16151E853300C5E9E7 /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = ../libs/libxml2.a; sourceTree = ""; }; + FC047D1C151E856400C5E9E7 /* libphysfs.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libphysfs.a; path = ../libs/libphysfs.a; sourceTree = ""; }; + FC047D1E151E860600C5E9E7 /* libpng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng.a; path = ../libs/libpng.a; sourceTree = ""; }; + FC047D20151E874600C5E9E7 /* SDL_mixer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_mixer.framework; path = /Library/Frameworks/SDL_mixer.framework; sourceTree = ""; }; + FC047D26151E882500C5E9E7 /* SDL_image.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_image.framework; path = /Library/Frameworks/SDL_image.framework; sourceTree = ""; }; + FC047D28151E88A500C5E9E7 /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = ../libs/libfreetype.a; sourceTree = ""; }; + FC047D2A151E898300C5E9E7 /* libiconv.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libiconv.a; path = ../libs/libiconv.a; sourceTree = ""; }; + FC047D2C151E89D200C5E9E7 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + FC047D2E151E8E9400C5E9E7 /* libintl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libintl.a; path = ../libs/libintl.a; sourceTree = ""; }; + FC047D30151E8F8200C5E9E7 /* data */ = {isa = PBXFileReference; lastKnownFileType = folder; name = data; path = ../../data; sourceTree = ""; }; + FC047D3A151E94B500C5E9E7 /* libguichan_opengl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libguichan_opengl.a; path = ../libs/libguichan_opengl.a; sourceTree = ""; }; + FC047D3B151E94B500C5E9E7 /* libguichan_sdl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libguichan_sdl.a; path = ../libs/libguichan_sdl.a; sourceTree = ""; }; + FC047D3C151E94B500C5E9E7 /* libguichan.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libguichan.a; path = ../libs/libguichan.a; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FC0479C3151E4DB700C5E9E7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FC047D2D151E89D300C5E9E7 /* IOKit.framework in Frameworks */, + FC0479CB151E4DB700C5E9E7 /* Cocoa.framework in Frameworks */, + 2BF0300515D9BD1900979C9D /* SDL.framework in Frameworks */, + 2BF0300615D9BD1900979C9D /* SDL_ttf.framework in Frameworks */, + 2BF0300715D9BD1900979C9D /* SDL_net.framework in Frameworks */, + 2BF0300815D9BD1900979C9D /* SDL_image.framework in Frameworks */, + 2BF0300915D9BD1900979C9D /* SDL_mixer.framework in Frameworks */, + FC047D1A151E853300C5E9E7 /* libSDL_gfx.a in Frameworks */, + FC047D1B151E853300C5E9E7 /* libxml2.a in Frameworks */, + FC047D1D151E856400C5E9E7 /* libphysfs.a in Frameworks */, + FC047D1F151E860600C5E9E7 /* libpng.a in Frameworks */, + FC047D29151E88A500C5E9E7 /* libfreetype.a in Frameworks */, + FC047D2B151E898300C5E9E7 /* libiconv.a in Frameworks */, + FC047D2F151E8E9400C5E9E7 /* libintl.a in Frameworks */, + FC047D3D151E94B500C5E9E7 /* libguichan_opengl.a in Frameworks */, + FC047D3E151E94B500C5E9E7 /* libguichan_sdl.a in Frameworks */, + FC047D3F151E94B500C5E9E7 /* libguichan.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + FC0479BB151E4DB700C5E9E7 = { + isa = PBXGroup; + children = ( + FC0479D0151E4DB700C5E9E7 /* mana */, + FC0479C9151E4DB700C5E9E7 /* Frameworks */, + FC0479C7151E4DB700C5E9E7 /* Products */, + ); + sourceTree = ""; + }; + FC0479C7151E4DB700C5E9E7 /* Products */ = { + isa = PBXGroup; + children = ( + FC0479C6151E4DB700C5E9E7 /* mana.app */, + ); + name = Products; + sourceTree = ""; + }; + FC0479C9151E4DB700C5E9E7 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FC047D28151E88A500C5E9E7 /* libfreetype.a */, + FC047D3C151E94B500C5E9E7 /* libguichan.a */, + FC047D3A151E94B500C5E9E7 /* libguichan_opengl.a */, + FC047D3B151E94B500C5E9E7 /* libguichan_sdl.a */, + FC047D2A151E898300C5E9E7 /* libiconv.a */, + FC047D2E151E8E9400C5E9E7 /* libintl.a */, + FC047D1C151E856400C5E9E7 /* libphysfs.a */, + FC047D1E151E860600C5E9E7 /* libpng.a */, + FC047D15151E853200C5E9E7 /* libSDL_gfx.a */, + FC047D16151E853300C5E9E7 /* libxml2.a */, + 2BF02FFA15D9BAB800979C9D /* SDL.framework */, + 2BF02FFE15D9BAEE00979C9D /* SDL_ttf.framework */, + 2BF02FFC15D9BAD700979C9D /* SDL_net.framework */, + FC047D26151E882500C5E9E7 /* SDL_image.framework */, + FC047D20151E874600C5E9E7 /* SDL_mixer.framework */, + FC047D2C151E89D200C5E9E7 /* IOKit.framework */, + FC0479CA151E4DB700C5E9E7 /* Cocoa.framework */, + FC0479CC151E4DB700C5E9E7 /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + FC0479CC151E4DB700C5E9E7 /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + FC0479CD151E4DB700C5E9E7 /* AppKit.framework */, + FC0479CE151E4DB700C5E9E7 /* CoreData.framework */, + FC0479CF151E4DB700C5E9E7 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + FC0479D0151E4DB700C5E9E7 /* mana */ = { + isa = PBXGroup; + children = ( + FC047CEA151E820000C5E9E7 /* enet */, + FC047CE7151E7C8500C5E9E7 /* cpp0x_compat */, + FC0479E7151E4F8800C5E9E7 /* actor.cpp */, + FC0479E8151E4F8800C5E9E7 /* actor.h */, + FC0479E9151E4F8800C5E9E7 /* actorsprite.cpp */, + FC0479EA151E4F8800C5E9E7 /* actorsprite.h */, + FC0479EB151E4F8800C5E9E7 /* actorspritemanager.cpp */, + FC0479EC151E4F8800C5E9E7 /* actorspritemanager.h */, + FC0479ED151E4F8800C5E9E7 /* animatedsprite.cpp */, + FC0479EE151E4F8800C5E9E7 /* animatedsprite.h */, + FC0479EF151E4F8800C5E9E7 /* animationparticle.cpp */, + FC0479F0151E4F8800C5E9E7 /* animationparticle.h */, + FC0479F1151E4F8800C5E9E7 /* avatar.cpp */, + FC0479F2151E4F8800C5E9E7 /* avatar.h */, + FC0479F3151E4F8800C5E9E7 /* being.cpp */, + FC0479F4151E4F8800C5E9E7 /* being.h */, + FC0479F5151E4F8800C5E9E7 /* channel.cpp */, + FC0479F6151E4F8800C5E9E7 /* channel.h */, + FC0479F7151E4F8800C5E9E7 /* channelmanager.cpp */, + FC0479F8151E4F8800C5E9E7 /* channelmanager.h */, + FC0479F9151E4F8800C5E9E7 /* chatlogger.cpp */, + FC0479FA151E4F8800C5E9E7 /* chatlogger.h */, + FC0479FB151E4F8800C5E9E7 /* client.cpp */, + FC0479FC151E4F8800C5E9E7 /* client.h */, + FC0479FD151E4F8800C5E9E7 /* commandhandler.cpp */, + FC0479FE151E4F8800C5E9E7 /* commandhandler.h */, + FC0479FF151E4F8800C5E9E7 /* compoundsprite.cpp */, + FC047A00151E4F8800C5E9E7 /* compoundsprite.h */, + FC047A01151E4F8800C5E9E7 /* configuration.cpp */, + FC047A02151E4F8800C5E9E7 /* configuration.h */, + FC047A03151E4F8800C5E9E7 /* defaults.cpp */, + FC047A04151E4F8800C5E9E7 /* defaults.h */, + FC047A05151E4F8800C5E9E7 /* effectmanager.cpp */, + FC047A06151E4F8800C5E9E7 /* effectmanager.h */, + FC047A07151E4F8800C5E9E7 /* emoteshortcut.cpp */, + FC047A08151E4F8800C5E9E7 /* emoteshortcut.h */, + FC047A09151E4F8800C5E9E7 /* equipment.h */, + FC047A0A151E4F8800C5E9E7 /* event.cpp */, + FC047A0B151E4F8800C5E9E7 /* event.h */, + FC047A0C151E4F8800C5E9E7 /* eventlistener.cpp */, + FC047A0D151E4F8800C5E9E7 /* eventlistener.h */, + FC047A0E151E4F8800C5E9E7 /* flooritem.cpp */, + FC047A0F151E4F8800C5E9E7 /* flooritem.h */, + FC047A10151E4F8800C5E9E7 /* game.cpp */, + FC047A11151E4F8800C5E9E7 /* game.h */, + FC047A12151E4F8800C5E9E7 /* graphics.cpp */, + FC047A29151E4FC700C5E9E7 /* graphics.h */, + FC047A8E151E4FF700C5E9E7 /* gui */, + FC047A2A151E4FC700C5E9E7 /* guichanfwd.h */, + FC047A2B151E4FC700C5E9E7 /* guild.cpp */, + FC047A2C151E4FC700C5E9E7 /* guild.h */, + FC047A2D151E4FC700C5E9E7 /* imageparticle.cpp */, + FC047A2E151E4FC700C5E9E7 /* imageparticle.h */, + FC047A2F151E4FC700C5E9E7 /* imagesprite.cpp */, + FC047A30151E4FC700C5E9E7 /* imagesprite.h */, + FC047A31151E4FC700C5E9E7 /* inventory.cpp */, + FC047A32151E4FC700C5E9E7 /* inventory.h */, + FC047A33151E4FC700C5E9E7 /* item.cpp */, + FC047A34151E4FC700C5E9E7 /* item.h */, + FC047A35151E4FC700C5E9E7 /* itemshortcut.cpp */, + FC047A36151E4FC700C5E9E7 /* itemshortcut.h */, + FC047A37151E4FC700C5E9E7 /* joystick.cpp */, + FC047A38151E4FC700C5E9E7 /* joystick.h */, + FC047A39151E4FC700C5E9E7 /* keyboardconfig.cpp */, + FC047A3A151E4FC700C5E9E7 /* keyboardconfig.h */, + FC047A3B151E4FC700C5E9E7 /* localplayer.cpp */, + FC047A3C151E4FC700C5E9E7 /* localplayer.h */, + FC047CE5151E747B00C5E9E7 /* log.mm */, + FC047A3D151E4FC700C5E9E7 /* log.cpp */, + FC047A3E151E4FC700C5E9E7 /* log.h */, + FC047A3F151E4FC700C5E9E7 /* main.cpp */, + FC047A40151E4FC700C5E9E7 /* main.h */, + FC047A41151E4FC700C5E9E7 /* map.cpp */, + FC047A42151E4FC700C5E9E7 /* map.h */, + FC047BC6151E500100C5E9E7 /* net */, + FC047A43151E4FC700C5E9E7 /* openglgraphics.cpp */, + FC047A44151E4FC700C5E9E7 /* openglgraphics.h */, + FC047A45151E4FC700C5E9E7 /* particle.cpp */, + FC047A46151E4FC700C5E9E7 /* particle.h */, + FC047A47151E4FC700C5E9E7 /* particlecontainer.cpp */, + FC047A48151E4FC700C5E9E7 /* particlecontainer.h */, + FC047A49151E4FC700C5E9E7 /* particleemitter.cpp */, + FC047A4A151E4FC700C5E9E7 /* particleemitter.h */, + FC047A4B151E4FC700C5E9E7 /* particleemitterprop.h */, + FC047A4C151E4FC700C5E9E7 /* party.cpp */, + FC047A4D151E4FC700C5E9E7 /* party.h */, + FC047A4E151E4FC700C5E9E7 /* playerinfo.cpp */, + FC047A4F151E4FC700C5E9E7 /* playerinfo.h */, + FC047A50151E4FC700C5E9E7 /* playerrelations.cpp */, + FC047A51151E4FC700C5E9E7 /* playerrelations.h */, + FC047A52151E4FC700C5E9E7 /* position.cpp */, + FC047A53151E4FC700C5E9E7 /* position.h */, + FC047A54151E4FC700C5E9E7 /* properties.h */, + FC047C77151E500C00C5E9E7 /* resources */, + FC047A55151E4FC700C5E9E7 /* rotationalparticle.cpp */, + FC047A56151E4FC700C5E9E7 /* rotationalparticle.h */, + FC047A57151E4FC700C5E9E7 /* SDLMain.h */, + FC047A58151E4FC700C5E9E7 /* SDLMain.m */, + FC047A59151E4FC700C5E9E7 /* shopitem.cpp */, + FC047A5A151E4FC700C5E9E7 /* shopitem.h */, + FC047A5B151E4FC700C5E9E7 /* simpleanimation.cpp */, + FC047A5C151E4FC700C5E9E7 /* simpleanimation.h */, + FC047A5D151E4FC700C5E9E7 /* sound.cpp */, + FC047A5E151E4FC700C5E9E7 /* sound.h */, + FC047A5F151E4FC700C5E9E7 /* sprite.h */, + FC047A60151E4FC700C5E9E7 /* statuseffect.cpp */, + FC047A61151E4FC700C5E9E7 /* statuseffect.h */, + FC047A62151E4FC700C5E9E7 /* text.cpp */, + FC047A63151E4FC700C5E9E7 /* text.h */, + FC047A64151E4FC700C5E9E7 /* textmanager.cpp */, + FC047A65151E4FC700C5E9E7 /* textmanager.h */, + FC047A66151E4FC700C5E9E7 /* textparticle.cpp */, + FC047A67151E4FC700C5E9E7 /* textparticle.h */, + FC047A68151E4FC700C5E9E7 /* textrenderer.h */, + FC047A69151E4FC700C5E9E7 /* tileset.h */, + FC047A6A151E4FC700C5E9E7 /* units.cpp */, + FC047A6B151E4FC700C5E9E7 /* units.h */, + FC047CC3151E501400C5E9E7 /* utils */, + FC047A6C151E4FC700C5E9E7 /* variabledata.h */, + FC047A6D151E4FC700C5E9E7 /* vector.cpp */, + FC047A6E151E4FC700C5E9E7 /* vector.h */, + FC0479DF151E4DB800C5E9E7 /* MainMenu.xib */, + FC0479D1151E4DB700C5E9E7 /* Supporting Files */, + ); + path = mana; + sourceTree = ""; + }; + FC0479D1151E4DB700C5E9E7 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + FC047D30151E8F8200C5E9E7 /* data */, + FC0479D2151E4DB700C5E9E7 /* mana-Info.plist */, + FC0479D3151E4DB700C5E9E7 /* InfoPlist.strings */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + FC047A8E151E4FF700C5E9E7 /* gui */ = { + isa = PBXGroup; + children = ( + FC047A8F151E4FF700C5E9E7 /* beingpopup.cpp */, + FC047A90151E4FF700C5E9E7 /* beingpopup.h */, + FC047A91151E4FF700C5E9E7 /* buydialog.cpp */, + FC047A92151E4FF700C5E9E7 /* buydialog.h */, + FC047A93151E4FF700C5E9E7 /* buyselldialog.cpp */, + FC047A94151E4FF700C5E9E7 /* buyselldialog.h */, + FC047A95151E4FF700C5E9E7 /* changeemaildialog.cpp */, + FC047A96151E4FF700C5E9E7 /* changeemaildialog.h */, + FC047A97151E4FF700C5E9E7 /* changepassworddialog.cpp */, + FC047A98151E4FF700C5E9E7 /* changepassworddialog.h */, + FC047A99151E4FF700C5E9E7 /* charcreatedialog.cpp */, + FC047A9A151E4FF700C5E9E7 /* charcreatedialog.h */, + FC047A9B151E4FF700C5E9E7 /* charselectdialog.cpp */, + FC047A9C151E4FF700C5E9E7 /* charselectdialog.h */, + FC047A9D151E4FF700C5E9E7 /* chatwindow.cpp */, + FC047A9E151E4FF700C5E9E7 /* chatwindow.h */, + FC047A9F151E4FF700C5E9E7 /* confirmdialog.cpp */, + FC047AA0151E4FF700C5E9E7 /* confirmdialog.h */, + FC047AA1151E4FF700C5E9E7 /* connectiondialog.cpp */, + FC047AA2151E4FF700C5E9E7 /* connectiondialog.h */, + FC047AA3151E4FF700C5E9E7 /* customserverdialog.cpp */, + FC047AA4151E4FF700C5E9E7 /* customserverdialog.h */, + FC047AA5151E4FF700C5E9E7 /* debugwindow.cpp */, + FC047AA6151E4FF700C5E9E7 /* debugwindow.h */, + FC047AA7151E4FF700C5E9E7 /* emotepopup.cpp */, + FC047AA8151E4FF700C5E9E7 /* emotepopup.h */, + FC047AA9151E4FF700C5E9E7 /* equipmentwindow.cpp */, + FC047AAA151E4FF700C5E9E7 /* equipmentwindow.h */, + FC047AAB151E4FF700C5E9E7 /* focushandler.cpp */, + FC047AAC151E4FF700C5E9E7 /* focushandler.h */, + FC047AAD151E4FF700C5E9E7 /* gui.cpp */, + FC047AAE151E4FF700C5E9E7 /* gui.h */, + FC047AAF151E4FF700C5E9E7 /* helpwindow.cpp */, + FC047AB0151E4FF700C5E9E7 /* helpwindow.h */, + FC047AB1151E4FF700C5E9E7 /* inventorywindow.cpp */, + FC047AB2151E4FF700C5E9E7 /* inventorywindow.h */, + FC047AB3151E4FF700C5E9E7 /* itemamountwindow.cpp */, + FC047AB4151E4FF700C5E9E7 /* itemamountwindow.h */, + FC047AB5151E4FF700C5E9E7 /* itempopup.cpp */, + FC047AB6151E4FF700C5E9E7 /* itempopup.h */, + FC047AB7151E4FF700C5E9E7 /* logindialog.cpp */, + FC047AB8151E4FF700C5E9E7 /* logindialog.h */, + FC047AB9151E4FF700C5E9E7 /* minimap.cpp */, + FC047ABA151E4FF700C5E9E7 /* minimap.h */, + FC047ABB151E4FF700C5E9E7 /* ministatuswindow.cpp */, + FC047ABC151E4FF700C5E9E7 /* ministatuswindow.h */, + FC047ABD151E4FF700C5E9E7 /* npcdialog.cpp */, + FC047ABE151E4FF700C5E9E7 /* npcdialog.h */, + FC047ABF151E4FF700C5E9E7 /* npcpostdialog.cpp */, + FC047AC0151E4FF700C5E9E7 /* npcpostdialog.h */, + FC047AC1151E4FF700C5E9E7 /* okdialog.cpp */, + FC047AC2151E4FF700C5E9E7 /* okdialog.h */, + FC047AC3151E4FF700C5E9E7 /* outfitwindow.cpp */, + FC047AC4151E4FF700C5E9E7 /* outfitwindow.h */, + FC047AC5151E4FF700C5E9E7 /* palette.cpp */, + FC047AC6151E4FF700C5E9E7 /* palette.h */, + FC047AC7151E4FF700C5E9E7 /* popupmenu.cpp */, + FC047AC8151E4FF700C5E9E7 /* popupmenu.h */, + FC047AC9151E4FF700C5E9E7 /* quitdialog.cpp */, + FC047ACA151E4FF700C5E9E7 /* quitdialog.h */, + FC047ACB151E4FF700C5E9E7 /* recorder.cpp */, + FC047ACC151E4FF700C5E9E7 /* recorder.h */, + FC047ACD151E4FF700C5E9E7 /* register.cpp */, + FC047ACE151E4FF700C5E9E7 /* register.h */, + FC047ACF151E4FF700C5E9E7 /* sdlinput.cpp */, + FC047AD0151E4FF700C5E9E7 /* sdlinput.h */, + FC047AD1151E4FF700C5E9E7 /* selldialog.cpp */, + FC047AD2151E4FF700C5E9E7 /* selldialog.h */, + FC047AD3151E4FF700C5E9E7 /* serverdialog.cpp */, + FC047AD4151E4FF700C5E9E7 /* serverdialog.h */, + FC047AD5151E4FF700C5E9E7 /* setup.cpp */, + FC047AD6151E4FF700C5E9E7 /* setup.h */, + FC047AD7151E4FF700C5E9E7 /* setup_audio.cpp */, + FC047AD8151E4FF700C5E9E7 /* setup_audio.h */, + FC047AD9151E4FF700C5E9E7 /* setup_colors.cpp */, + FC047ADA151E4FF700C5E9E7 /* setup_colors.h */, + FC047ADB151E4FF700C5E9E7 /* setup_interface.cpp */, + FC047ADC151E4FF700C5E9E7 /* setup_interface.h */, + FC047ADD151E4FF700C5E9E7 /* setup_joystick.cpp */, + FC047ADE151E4FF700C5E9E7 /* setup_joystick.h */, + FC047ADF151E4FF700C5E9E7 /* setup_keyboard.cpp */, + FC047AE0151E4FF700C5E9E7 /* setup_keyboard.h */, + FC047AE1151E4FF700C5E9E7 /* setup_players.cpp */, + FC047AE2151E4FF700C5E9E7 /* setup_players.h */, + FC047AE3151E4FF700C5E9E7 /* setup_video.cpp */, + FC047AE4151E4FF700C5E9E7 /* setup_video.h */, + FC047AE5151E4FF700C5E9E7 /* shortcutwindow.cpp */, + FC047AE6151E4FF700C5E9E7 /* shortcutwindow.h */, + FC047AE7151E4FF700C5E9E7 /* skilldialog.cpp */, + FC047AE8151E4FF700C5E9E7 /* skilldialog.h */, + FC047AE9151E4FF700C5E9E7 /* socialwindow.cpp */, + FC047AEA151E4FF700C5E9E7 /* socialwindow.h */, + FC047AEB151E4FF700C5E9E7 /* specialswindow.cpp */, + FC047AEC151E4FF700C5E9E7 /* specialswindow.h */, + FC047AED151E4FF700C5E9E7 /* speechbubble.cpp */, + FC047AEE151E4FF700C5E9E7 /* speechbubble.h */, + FC047AEF151E4FF700C5E9E7 /* statuswindow.cpp */, + FC047AF0151E4FF700C5E9E7 /* statuswindow.h */, + FC047AF1151E4FF700C5E9E7 /* textdialog.cpp */, + FC047AF2151E4FF700C5E9E7 /* textdialog.h */, + FC047AF3151E4FF700C5E9E7 /* textpopup.cpp */, + FC047AF4151E4FF700C5E9E7 /* textpopup.h */, + FC047AF5151E4FF700C5E9E7 /* tradewindow.cpp */, + FC047AF6151E4FF700C5E9E7 /* tradewindow.h */, + FC047AF7151E4FF700C5E9E7 /* truetypefont.cpp */, + FC047AF8151E4FF700C5E9E7 /* truetypefont.h */, + FC047AF9151E4FF700C5E9E7 /* unregisterdialog.cpp */, + FC047AFA151E4FF700C5E9E7 /* unregisterdialog.h */, + FC047AFB151E4FF700C5E9E7 /* updaterwindow.cpp */, + FC047AFC151E4FF700C5E9E7 /* updaterwindow.h */, + FC047AFD151E4FF700C5E9E7 /* viewport.cpp */, + FC047AFE151E4FF700C5E9E7 /* viewport.h */, + FC047AFF151E4FF700C5E9E7 /* widgets */, + FC047B5B151E4FF700C5E9E7 /* windowmenu.cpp */, + FC047B5C151E4FF700C5E9E7 /* windowmenu.h */, + FC047B5D151E4FF700C5E9E7 /* worldselectdialog.cpp */, + FC047B5E151E4FF700C5E9E7 /* worldselectdialog.h */, + ); + name = gui; + path = ../../src/gui; + sourceTree = ""; + }; + FC047AFF151E4FF700C5E9E7 /* widgets */ = { + isa = PBXGroup; + children = ( + FC047B00151E4FF700C5E9E7 /* avatarlistbox.cpp */, + FC047B01151E4FF700C5E9E7 /* avatarlistbox.h */, + FC047B02151E4FF700C5E9E7 /* browserbox.cpp */, + FC047B03151E4FF700C5E9E7 /* browserbox.h */, + FC047B04151E4FF700C5E9E7 /* button.cpp */, + FC047B05151E4FF700C5E9E7 /* button.h */, + FC047B06151E4FF700C5E9E7 /* channeltab.cpp */, + FC047B07151E4FF700C5E9E7 /* channeltab.h */, + FC047B08151E4FF700C5E9E7 /* chattab.cpp */, + FC047B09151E4FF700C5E9E7 /* chattab.h */, + FC047B0A151E4FF700C5E9E7 /* checkbox.cpp */, + FC047B0B151E4FF700C5E9E7 /* checkbox.h */, + FC047B0C151E4FF700C5E9E7 /* container.cpp */, + FC047B0D151E4FF700C5E9E7 /* container.h */, + FC047B0E151E4FF700C5E9E7 /* desktop.cpp */, + FC047B0F151E4FF700C5E9E7 /* desktop.h */, + FC047B10151E4FF700C5E9E7 /* dropdown.cpp */, + FC047B11151E4FF700C5E9E7 /* dropdown.h */, + FC047B12151E4FF700C5E9E7 /* emoteshortcutcontainer.cpp */, + FC047B13151E4FF700C5E9E7 /* emoteshortcutcontainer.h */, + FC047B14151E4FF700C5E9E7 /* flowcontainer.cpp */, + FC047B15151E4FF700C5E9E7 /* flowcontainer.h */, + FC047B16151E4FF700C5E9E7 /* icon.cpp */, + FC047B17151E4FF700C5E9E7 /* icon.h */, + FC047B18151E4FF700C5E9E7 /* inttextfield.cpp */, + FC047B19151E4FF700C5E9E7 /* inttextfield.h */, + FC047B1A151E4FF700C5E9E7 /* itemcontainer.cpp */, + FC047B1B151E4FF700C5E9E7 /* itemcontainer.h */, + FC047B1C151E4FF700C5E9E7 /* itemlinkhandler.cpp */, + FC047B1D151E4FF700C5E9E7 /* itemlinkhandler.h */, + FC047B1E151E4FF700C5E9E7 /* itemshortcutcontainer.cpp */, + FC047B1F151E4FF700C5E9E7 /* itemshortcutcontainer.h */, + FC047B20151E4FF700C5E9E7 /* label.cpp */, + FC047B21151E4FF700C5E9E7 /* label.h */, + FC047B22151E4FF700C5E9E7 /* layout.cpp */, + FC047B23151E4FF700C5E9E7 /* layout.h */, + FC047B24151E4FF700C5E9E7 /* layouthelper.cpp */, + FC047B25151E4FF700C5E9E7 /* layouthelper.h */, + FC047B26151E4FF700C5E9E7 /* linkhandler.h */, + FC047B27151E4FF700C5E9E7 /* listbox.cpp */, + FC047B28151E4FF700C5E9E7 /* listbox.h */, + FC047B29151E4FF700C5E9E7 /* passwordfield.cpp */, + FC047B2A151E4FF700C5E9E7 /* passwordfield.h */, + FC047B2B151E4FF700C5E9E7 /* playerbox.cpp */, + FC047B2C151E4FF700C5E9E7 /* playerbox.h */, + FC047B2D151E4FF700C5E9E7 /* popup.cpp */, + FC047B2E151E4FF700C5E9E7 /* popup.h */, + FC047B2F151E4FF700C5E9E7 /* progressbar.cpp */, + FC047B30151E4FF700C5E9E7 /* progressbar.h */, + FC047B31151E4FF700C5E9E7 /* progressindicator.cpp */, + FC047B32151E4FF700C5E9E7 /* progressindicator.h */, + FC047B33151E4FF700C5E9E7 /* radiobutton.cpp */, + FC047B34151E4FF700C5E9E7 /* radiobutton.h */, + FC047B35151E4FF700C5E9E7 /* resizegrip.cpp */, + FC047B36151E4FF700C5E9E7 /* resizegrip.h */, + FC047B37151E4FF700C5E9E7 /* scrollarea.cpp */, + FC047B38151E4FF700C5E9E7 /* scrollarea.h */, + FC047B39151E4FF700C5E9E7 /* setuptab.cpp */, + FC047B3A151E4FF700C5E9E7 /* setuptab.h */, + FC047B3B151E4FF700C5E9E7 /* shopitems.cpp */, + FC047B3C151E4FF700C5E9E7 /* shopitems.h */, + FC047B3D151E4FF700C5E9E7 /* shoplistbox.cpp */, + FC047B3E151E4FF700C5E9E7 /* shoplistbox.h */, + FC047B3F151E4FF700C5E9E7 /* shortcutcontainer.cpp */, + FC047B40151E4FF700C5E9E7 /* shortcutcontainer.h */, + FC047B41151E4FF700C5E9E7 /* slider.cpp */, + FC047B42151E4FF700C5E9E7 /* slider.h */, + FC047B43151E4FF700C5E9E7 /* spacer.cpp */, + FC047B44151E4FF700C5E9E7 /* spacer.h */, + FC047B45151E4FF700C5E9E7 /* tab.cpp */, + FC047B46151E4FF700C5E9E7 /* tab.h */, + FC047B47151E4FF700C5E9E7 /* tabbedarea.cpp */, + FC047B48151E4FF700C5E9E7 /* tabbedarea.h */, + FC047B49151E4FF700C5E9E7 /* table.cpp */, + FC047B4A151E4FF700C5E9E7 /* table.h */, + FC047B4B151E4FF700C5E9E7 /* tablemodel.cpp */, + FC047B4C151E4FF700C5E9E7 /* tablemodel.h */, + FC047B4D151E4FF700C5E9E7 /* textbox.cpp */, + FC047B4E151E4FF700C5E9E7 /* textbox.h */, + FC047B4F151E4FF700C5E9E7 /* textfield.cpp */, + FC047B50151E4FF700C5E9E7 /* textfield.h */, + FC047B51151E4FF700C5E9E7 /* textpreview.cpp */, + FC047B52151E4FF700C5E9E7 /* textpreview.h */, + FC047B53151E4FF700C5E9E7 /* vertcontainer.cpp */, + FC047B54151E4FF700C5E9E7 /* vertcontainer.h */, + FC047B55151E4FF700C5E9E7 /* whispertab.cpp */, + FC047B56151E4FF700C5E9E7 /* whispertab.h */, + FC047B57151E4FF700C5E9E7 /* window.cpp */, + FC047B58151E4FF700C5E9E7 /* window.h */, + FC047B59151E4FF700C5E9E7 /* windowcontainer.cpp */, + FC047B5A151E4FF700C5E9E7 /* windowcontainer.h */, + ); + path = widgets; + sourceTree = ""; + }; + FC047BC6151E500100C5E9E7 /* net */ = { + isa = PBXGroup; + children = ( + FC047BC7151E500100C5E9E7 /* adminhandler.h */, + FC047BC8151E500100C5E9E7 /* charhandler.cpp */, + FC047BC9151E500100C5E9E7 /* charhandler.h */, + FC047BCA151E500100C5E9E7 /* chathandler.h */, + FC047BCB151E500100C5E9E7 /* download.cpp */, + FC047BCC151E500100C5E9E7 /* download.h */, + FC047BCD151E500100C5E9E7 /* gamehandler.h */, + FC047BCE151E500100C5E9E7 /* generalhandler.h */, + FC047BCF151E500100C5E9E7 /* guildhandler.h */, + FC047BD0151E500100C5E9E7 /* inventoryhandler.h */, + FC047BD1151E500100C5E9E7 /* logindata.h */, + FC047BD2151E500100C5E9E7 /* loginhandler.h */, + FC047BD3151E500100C5E9E7 /* manaserv */, + FC047C06151E500100C5E9E7 /* messagehandler.h */, + FC047C0B151E500100C5E9E7 /* net.cpp */, + FC047C0C151E500100C5E9E7 /* net.h */, + FC047C0D151E500100C5E9E7 /* npchandler.h */, + FC047C0E151E500100C5E9E7 /* partyhandler.h */, + FC047C0F151E500100C5E9E7 /* playerhandler.h */, + FC047C10151E500100C5E9E7 /* serverinfo.h */, + FC047C11151E500100C5E9E7 /* specialhandler.h */, + FC047C12151E500100C5E9E7 /* tmwa */, + FC047C42151E500100C5E9E7 /* tradehandler.h */, + FC047C43151E500100C5E9E7 /* worldinfo.h */, + ); + name = net; + path = ../../src/net; + sourceTree = ""; + }; + FC047BD3151E500100C5E9E7 /* manaserv */ = { + isa = PBXGroup; + children = ( + FC047BD4151E500100C5E9E7 /* adminhandler.cpp */, + FC047BD5151E500100C5E9E7 /* adminhandler.h */, + FC047BD6151E500100C5E9E7 /* attributes.cpp */, + FC047BD7151E500100C5E9E7 /* attributes.h */, + FC047BD8151E500100C5E9E7 /* beinghandler.cpp */, + FC047BD9151E500100C5E9E7 /* beinghandler.h */, + FC047BDA151E500100C5E9E7 /* buysellhandler.cpp */, + FC047BDB151E500100C5E9E7 /* buysellhandler.h */, + FC047BDC151E500100C5E9E7 /* charhandler.cpp */, + FC047BDD151E500100C5E9E7 /* charhandler.h */, + FC047BDE151E500100C5E9E7 /* chathandler.cpp */, + FC047BDF151E500100C5E9E7 /* chathandler.h */, + FC047BE0151E500100C5E9E7 /* connection.cpp */, + FC047BE1151E500100C5E9E7 /* connection.h */, + FC047BE2151E500100C5E9E7 /* defines.h */, + FC047BE3151E500100C5E9E7 /* effecthandler.cpp */, + FC047BE4151E500100C5E9E7 /* effecthandler.h */, + FC047BE5151E500100C5E9E7 /* gamehandler.cpp */, + FC047BE6151E500100C5E9E7 /* gamehandler.h */, + FC047BE7151E500100C5E9E7 /* generalhandler.cpp */, + FC047BE8151E500100C5E9E7 /* generalhandler.h */, + FC047BE9151E500100C5E9E7 /* guildhandler.cpp */, + FC047BEA151E500100C5E9E7 /* guildhandler.h */, + FC047BEB151E500100C5E9E7 /* internal.cpp */, + FC047BEC151E500100C5E9E7 /* internal.h */, + FC047BED151E500100C5E9E7 /* inventoryhandler.cpp */, + FC047BEE151E500100C5E9E7 /* inventoryhandler.h */, + FC047BEF151E500100C5E9E7 /* itemhandler.cpp */, + FC047BF0151E500100C5E9E7 /* itemhandler.h */, + FC047BF1151E500100C5E9E7 /* loginhandler.cpp */, + FC047BF2151E500100C5E9E7 /* loginhandler.h */, + FC047BF3151E500100C5E9E7 /* manaserv_protocol.h */, + FC047BF4151E500100C5E9E7 /* messagehandler.cpp */, + FC047BF5151E500100C5E9E7 /* messagehandler.h */, + FC047BF6151E500100C5E9E7 /* messagein.cpp */, + FC047BF7151E500100C5E9E7 /* messagein.h */, + FC047BF8151E500100C5E9E7 /* messageout.cpp */, + FC047BF9151E500100C5E9E7 /* messageout.h */, + FC047BFA151E500100C5E9E7 /* network.cpp */, + FC047BFB151E500100C5E9E7 /* network.h */, + FC047BFC151E500100C5E9E7 /* npchandler.cpp */, + FC047BFD151E500100C5E9E7 /* npchandler.h */, + FC047BFE151E500100C5E9E7 /* partyhandler.cpp */, + FC047BFF151E500100C5E9E7 /* partyhandler.h */, + FC047C00151E500100C5E9E7 /* playerhandler.cpp */, + FC047C01151E500100C5E9E7 /* playerhandler.h */, + FC047C02151E500100C5E9E7 /* specialhandler.cpp */, + FC047C03151E500100C5E9E7 /* specialhandler.h */, + FC047C04151E500100C5E9E7 /* tradehandler.cpp */, + FC047C05151E500100C5E9E7 /* tradehandler.h */, + ); + path = manaserv; + sourceTree = ""; + }; + FC047C12151E500100C5E9E7 /* tmwa */ = { + isa = PBXGroup; + children = ( + FC047C13151E500100C5E9E7 /* adminhandler.cpp */, + FC047C14151E500100C5E9E7 /* adminhandler.h */, + FC047C15151E500100C5E9E7 /* beinghandler.cpp */, + FC047C16151E500100C5E9E7 /* beinghandler.h */, + FC047C17151E500100C5E9E7 /* buysellhandler.cpp */, + FC047C18151E500100C5E9E7 /* buysellhandler.h */, + FC047C19151E500100C5E9E7 /* charserverhandler.cpp */, + FC047C1A151E500100C5E9E7 /* charserverhandler.h */, + FC047C1B151E500100C5E9E7 /* chathandler.cpp */, + FC047C1C151E500100C5E9E7 /* chathandler.h */, + FC047C1D151E500100C5E9E7 /* gamehandler.cpp */, + FC047C1E151E500100C5E9E7 /* gamehandler.h */, + FC047C1F151E500100C5E9E7 /* generalhandler.cpp */, + FC047C20151E500100C5E9E7 /* generalhandler.h */, + FC047C21151E500100C5E9E7 /* gui */, + FC047C26151E500100C5E9E7 /* guildhandler.cpp */, + FC047C27151E500100C5E9E7 /* guildhandler.h */, + FC047C28151E500100C5E9E7 /* inventoryhandler.cpp */, + FC047C29151E500100C5E9E7 /* inventoryhandler.h */, + FC047C2A151E500100C5E9E7 /* itemhandler.cpp */, + FC047C2B151E500100C5E9E7 /* itemhandler.h */, + FC047C2C151E500100C5E9E7 /* loginhandler.cpp */, + FC047C2D151E500100C5E9E7 /* loginhandler.h */, + FC047C2E151E500100C5E9E7 /* messagehandler.cpp */, + FC047C2F151E500100C5E9E7 /* messagehandler.h */, + FC047C30151E500100C5E9E7 /* messagein.cpp */, + FC047C31151E500100C5E9E7 /* messagein.h */, + FC047C32151E500100C5E9E7 /* messageout.cpp */, + FC047C33151E500100C5E9E7 /* messageout.h */, + FC047C34151E500100C5E9E7 /* network.cpp */, + FC047C35151E500100C5E9E7 /* network.h */, + FC047C36151E500100C5E9E7 /* npchandler.cpp */, + FC047C37151E500100C5E9E7 /* npchandler.h */, + FC047C38151E500100C5E9E7 /* partyhandler.cpp */, + FC047C39151E500100C5E9E7 /* partyhandler.h */, + FC047C3A151E500100C5E9E7 /* playerhandler.cpp */, + FC047C3B151E500100C5E9E7 /* playerhandler.h */, + FC047C3C151E500100C5E9E7 /* protocol.h */, + FC047C3D151E500100C5E9E7 /* specialhandler.cpp */, + FC047C3E151E500100C5E9E7 /* specialhandler.h */, + FC047C3F151E500100C5E9E7 /* token.h */, + FC047C40151E500100C5E9E7 /* tradehandler.cpp */, + FC047C41151E500100C5E9E7 /* tradehandler.h */, + ); + path = tmwa; + sourceTree = ""; + }; + FC047C21151E500100C5E9E7 /* gui */ = { + isa = PBXGroup; + children = ( + FC047C22151E500100C5E9E7 /* guildtab.cpp */, + FC047C23151E500100C5E9E7 /* guildtab.h */, + FC047C24151E500100C5E9E7 /* partytab.cpp */, + FC047C25151E500100C5E9E7 /* partytab.h */, + ); + path = gui; + sourceTree = ""; + }; + FC047C77151E500C00C5E9E7 /* resources */ = { + isa = PBXGroup; + children = ( + FC047C78151E500C00C5E9E7 /* action.cpp */, + FC047C79151E500C00C5E9E7 /* action.h */, + FC047C7A151E500C00C5E9E7 /* ambientlayer.cpp */, + FC047C7B151E500C00C5E9E7 /* ambientlayer.h */, + FC047C7C151E500C00C5E9E7 /* animation.cpp */, + FC047C7D151E500C00C5E9E7 /* animation.h */, + FC047C7E151E500C00C5E9E7 /* beinginfo.cpp */, + FC047C7F151E500C00C5E9E7 /* beinginfo.h */, + FC047C80151E500C00C5E9E7 /* dye.cpp */, + FC047C81151E500C00C5E9E7 /* dye.h */, + FC047C82151E500C00C5E9E7 /* emotedb.cpp */, + FC047C83151E500C00C5E9E7 /* emotedb.h */, + FC047C84151E500C00C5E9E7 /* hairdb.cpp */, + FC047C85151E500C00C5E9E7 /* hairdb.h */, + FC047C86151E500C00C5E9E7 /* image.cpp */, + FC047C87151E500C00C5E9E7 /* image.h */, + FC047C8A151E500C00C5E9E7 /* imageset.cpp */, + FC047C8B151E500C00C5E9E7 /* imageset.h */, + FC047C8C151E500C00C5E9E7 /* imagewriter.cpp */, + FC047C8D151E500C00C5E9E7 /* imagewriter.h */, + FC047C8E151E500C00C5E9E7 /* itemdb.cpp */, + FC047C8F151E500C00C5E9E7 /* itemdb.h */, + FC047C90151E500C00C5E9E7 /* iteminfo.cpp */, + FC047C91151E500C00C5E9E7 /* iteminfo.h */, + FC047C92151E500C00C5E9E7 /* mapreader.cpp */, + FC047C93151E500C00C5E9E7 /* mapreader.h */, + FC047C94151E500C00C5E9E7 /* monsterdb.cpp */, + FC047C95151E500C00C5E9E7 /* monsterdb.h */, + FC047C96151E500C00C5E9E7 /* music.cpp */, + FC047C97151E500C00C5E9E7 /* music.h */, + FC047C98151E500C00C5E9E7 /* npcdb.cpp */, + FC047C99151E500C00C5E9E7 /* npcdb.h */, + FC047C9A151E500C00C5E9E7 /* resource.cpp */, + FC047C9B151E500C00C5E9E7 /* resource.h */, + FC047C9C151E500C00C5E9E7 /* resourcemanager.cpp */, + FC047C9D151E500C00C5E9E7 /* resourcemanager.h */, + FC047C9E151E500C00C5E9E7 /* soundeffect.cpp */, + FC047C9F151E500C00C5E9E7 /* soundeffect.h */, + FC047CA0151E500C00C5E9E7 /* specialdb.cpp */, + FC047CA1151E500C00C5E9E7 /* specialdb.h */, + FC047CA2151E500C00C5E9E7 /* spritedef.cpp */, + FC047CA3151E500C00C5E9E7 /* spritedef.h */, + FC047CA4151E500C00C5E9E7 /* theme.cpp */, + FC047CA5151E500C00C5E9E7 /* theme.h */, + FC047CA6151E500C00C5E9E7 /* userpalette.cpp */, + FC047CA7151E500C00C5E9E7 /* userpalette.h */, + FC047CA8151E500C00C5E9E7 /* wallpaper.cpp */, + FC047CA9151E500C00C5E9E7 /* wallpaper.h */, + ); + name = resources; + path = ../../src/resources; + sourceTree = ""; + }; + FC047CC3151E501400C5E9E7 /* utils */ = { + isa = PBXGroup; + children = ( + FC047CC4151E501400C5E9E7 /* base64.cpp */, + FC047CC5151E501400C5E9E7 /* base64.h */, + FC047CC6151E501400C5E9E7 /* copynpaste.cpp */, + FC047CC7151E501400C5E9E7 /* copynpaste.h */, + FC047CC8151E501400C5E9E7 /* dtor.h */, + FC047CC9151E501400C5E9E7 /* gettext.h */, + FC047CCA151E501400C5E9E7 /* mathutils.h */, + FC047CCB151E501400C5E9E7 /* mkdir.cpp */, + FC047CCC151E501400C5E9E7 /* mkdir.h */, + FC047CCD151E501400C5E9E7 /* mutex.h */, + FC047CCE151E501400C5E9E7 /* physfsrwops.c */, + FC047CCF151E501400C5E9E7 /* physfsrwops.h */, + FC047CD0151E501400C5E9E7 /* sha256.cpp */, + FC047CD1151E501400C5E9E7 /* sha256.h */, + FC047CD2151E501400C5E9E7 /* specialfolder.cpp */, + FC047CD3151E501400C5E9E7 /* specialfolder.h */, + FC047CD4151E501400C5E9E7 /* stringutils.cpp */, + FC047CD5151E501400C5E9E7 /* stringutils.h */, + FC047CD6151E501400C5E9E7 /* xml.cpp */, + FC047CD7151E501400C5E9E7 /* xml.h */, + FC047CD8151E501400C5E9E7 /* zlib.cpp */, + FC047CD9151E501400C5E9E7 /* zlib.h */, + ); + name = utils; + path = ../../src/utils; + sourceTree = ""; + }; + FC047CE7151E7C8500C5E9E7 /* cpp0x_compat */ = { + isa = PBXGroup; + children = ( + FC047CE8151E7C8500C5E9E7 /* cstdint */, + ); + name = cpp0x_compat; + path = ../../src/cpp0x_compat; + sourceTree = ""; + }; + FC047CEA151E820000C5E9E7 /* enet */ = { + isa = PBXGroup; + children = ( + FC047CEB151E820000C5E9E7 /* callbacks.c */, + FC047CEE151E820000C5E9E7 /* compress.c */, + FC047CF0151E820000C5E9E7 /* host.c */, + FC047CF1151E820000C5E9E7 /* include */, + FC047CFD151E820000C5E9E7 /* list.c */, + FC047CFE151E820000C5E9E7 /* packet.c */, + FC047CFF151E820000C5E9E7 /* peer.c */, + FC047D00151E820000C5E9E7 /* protocol.c */, + FC047D02151E820000C5E9E7 /* unix.c */, + ); + name = enet; + path = ../../libs/enet; + sourceTree = ""; + }; + FC047CF1151E820000C5E9E7 /* include */ = { + isa = PBXGroup; + children = ( + FC047CF2151E820000C5E9E7 /* enet */, + ); + path = include; + sourceTree = ""; + }; + FC047CF2151E820000C5E9E7 /* enet */ = { + isa = PBXGroup; + children = ( + FC047CF3151E820000C5E9E7 /* callbacks.h */, + FC047CF4151E820000C5E9E7 /* enet.h */, + FC047CF5151E820000C5E9E7 /* list.h */, + FC047CF6151E820000C5E9E7 /* protocol.h */, + FC047CF7151E820000C5E9E7 /* time.h */, + FC047CF8151E820000C5E9E7 /* types.h */, + FC047CF9151E820000C5E9E7 /* unix.h */, + FC047CFA151E820000C5E9E7 /* utility.h */, + FC047CFB151E820000C5E9E7 /* win32.h */, + ); + path = enet; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + FC0479C5151E4DB700C5E9E7 /* mana */ = { + isa = PBXNativeTarget; + buildConfigurationList = FC0479E4151E4DB800C5E9E7 /* Build configuration list for PBXNativeTarget "mana" */; + buildPhases = ( + FC0479C2151E4DB700C5E9E7 /* Sources */, + FC0479C3151E4DB700C5E9E7 /* Frameworks */, + FC0479C4151E4DB700C5E9E7 /* Resources */, + FC047D32151E920100C5E9E7 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = mana; + productName = mana; + productReference = FC0479C6151E4DB700C5E9E7 /* mana.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FC0479BD151E4DB700C5E9E7 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0430; + }; + buildConfigurationList = FC0479C0151E4DB700C5E9E7 /* Build configuration list for PBXProject "mana-10.7" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = FC0479BB151E4DB700C5E9E7; + productRefGroup = FC0479C7151E4DB700C5E9E7 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FC0479C5151E4DB700C5E9E7 /* mana */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FC0479C4151E4DB700C5E9E7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FC0479D5151E4DB700C5E9E7 /* InfoPlist.strings in Resources */, + FC0479E1151E4DB800C5E9E7 /* MainMenu.xib in Resources */, + FC047CE9151E7C8500C5E9E7 /* cstdint in Resources */, + FC047D31151E8F8200C5E9E7 /* data in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FC0479C2151E4DB700C5E9E7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FC047A13151E4F8800C5E9E7 /* actor.cpp in Sources */, + FC047A14151E4F8800C5E9E7 /* actorsprite.cpp in Sources */, + FC047A15151E4F8800C5E9E7 /* actorspritemanager.cpp in Sources */, + FC047A16151E4F8800C5E9E7 /* animatedsprite.cpp in Sources */, + FC047A17151E4F8800C5E9E7 /* animationparticle.cpp in Sources */, + FC047A18151E4F8800C5E9E7 /* avatar.cpp in Sources */, + FC047A19151E4F8800C5E9E7 /* being.cpp in Sources */, + FC047A1A151E4F8800C5E9E7 /* channel.cpp in Sources */, + FC047A1B151E4F8800C5E9E7 /* channelmanager.cpp in Sources */, + FC047A1C151E4F8800C5E9E7 /* chatlogger.cpp in Sources */, + FC047A1D151E4F8800C5E9E7 /* client.cpp in Sources */, + FC047A1E151E4F8800C5E9E7 /* commandhandler.cpp in Sources */, + FC047A1F151E4F8800C5E9E7 /* compoundsprite.cpp in Sources */, + FC047A20151E4F8800C5E9E7 /* configuration.cpp in Sources */, + FC047A21151E4F8800C5E9E7 /* defaults.cpp in Sources */, + FC047A22151E4F8800C5E9E7 /* effectmanager.cpp in Sources */, + FC047A23151E4F8800C5E9E7 /* emoteshortcut.cpp in Sources */, + FC047A24151E4F8800C5E9E7 /* event.cpp in Sources */, + FC047A25151E4F8800C5E9E7 /* eventlistener.cpp in Sources */, + FC047A26151E4F8800C5E9E7 /* flooritem.cpp in Sources */, + FC047A27151E4F8800C5E9E7 /* game.cpp in Sources */, + FC047A28151E4F8800C5E9E7 /* graphics.cpp in Sources */, + FC047A6F151E4FC700C5E9E7 /* guild.cpp in Sources */, + FC047A70151E4FC700C5E9E7 /* imageparticle.cpp in Sources */, + FC047A71151E4FC700C5E9E7 /* imagesprite.cpp in Sources */, + FC047A72151E4FC700C5E9E7 /* inventory.cpp in Sources */, + FC047A73151E4FC700C5E9E7 /* item.cpp in Sources */, + FC047A74151E4FC700C5E9E7 /* itemshortcut.cpp in Sources */, + FC047A75151E4FC700C5E9E7 /* joystick.cpp in Sources */, + FC047A76151E4FC700C5E9E7 /* keyboardconfig.cpp in Sources */, + FC047A77151E4FC700C5E9E7 /* localplayer.cpp in Sources */, + FC047A78151E4FC700C5E9E7 /* log.cpp in Sources */, + FC047A79151E4FC700C5E9E7 /* main.cpp in Sources */, + FC047A7A151E4FC700C5E9E7 /* map.cpp in Sources */, + FC047A7B151E4FC700C5E9E7 /* openglgraphics.cpp in Sources */, + FC047A7C151E4FC700C5E9E7 /* particle.cpp in Sources */, + FC047A7D151E4FC700C5E9E7 /* particlecontainer.cpp in Sources */, + FC047A7E151E4FC700C5E9E7 /* particleemitter.cpp in Sources */, + FC047A7F151E4FC700C5E9E7 /* party.cpp in Sources */, + FC047A80151E4FC700C5E9E7 /* playerinfo.cpp in Sources */, + FC047A81151E4FC700C5E9E7 /* playerrelations.cpp in Sources */, + FC047A82151E4FC700C5E9E7 /* position.cpp in Sources */, + FC047A83151E4FC700C5E9E7 /* rotationalparticle.cpp in Sources */, + FC047A84151E4FC700C5E9E7 /* SDLMain.m in Sources */, + FC047A85151E4FC700C5E9E7 /* shopitem.cpp in Sources */, + FC047A86151E4FC700C5E9E7 /* simpleanimation.cpp in Sources */, + FC047A87151E4FC700C5E9E7 /* sound.cpp in Sources */, + FC047A88151E4FC700C5E9E7 /* statuseffect.cpp in Sources */, + FC047A89151E4FC700C5E9E7 /* text.cpp in Sources */, + FC047A8A151E4FC700C5E9E7 /* textmanager.cpp in Sources */, + FC047A8B151E4FC700C5E9E7 /* textparticle.cpp in Sources */, + FC047A8C151E4FC700C5E9E7 /* units.cpp in Sources */, + FC047A8D151E4FC700C5E9E7 /* vector.cpp in Sources */, + FC047B5F151E4FF700C5E9E7 /* beingpopup.cpp in Sources */, + FC047B60151E4FF700C5E9E7 /* buydialog.cpp in Sources */, + FC047B61151E4FF700C5E9E7 /* buyselldialog.cpp in Sources */, + FC047B62151E4FF700C5E9E7 /* changeemaildialog.cpp in Sources */, + FC047B63151E4FF700C5E9E7 /* changepassworddialog.cpp in Sources */, + FC047B64151E4FF700C5E9E7 /* charcreatedialog.cpp in Sources */, + FC047B65151E4FF700C5E9E7 /* charselectdialog.cpp in Sources */, + FC047B66151E4FF700C5E9E7 /* chatwindow.cpp in Sources */, + FC047B67151E4FF700C5E9E7 /* confirmdialog.cpp in Sources */, + FC047B68151E4FF700C5E9E7 /* connectiondialog.cpp in Sources */, + FC047B69151E4FF700C5E9E7 /* customserverdialog.cpp in Sources */, + FC047B6A151E4FF700C5E9E7 /* debugwindow.cpp in Sources */, + FC047B6B151E4FF700C5E9E7 /* emotepopup.cpp in Sources */, + FC047B6C151E4FF700C5E9E7 /* equipmentwindow.cpp in Sources */, + FC047B6D151E4FF700C5E9E7 /* focushandler.cpp in Sources */, + FC047B6E151E4FF700C5E9E7 /* gui.cpp in Sources */, + FC047B6F151E4FF700C5E9E7 /* helpwindow.cpp in Sources */, + FC047B70151E4FF700C5E9E7 /* inventorywindow.cpp in Sources */, + FC047B71151E4FF700C5E9E7 /* itemamountwindow.cpp in Sources */, + FC047B72151E4FF700C5E9E7 /* itempopup.cpp in Sources */, + FC047B73151E4FF700C5E9E7 /* logindialog.cpp in Sources */, + FC047B74151E4FF700C5E9E7 /* minimap.cpp in Sources */, + FC047B75151E4FF700C5E9E7 /* ministatuswindow.cpp in Sources */, + FC047B76151E4FF700C5E9E7 /* npcdialog.cpp in Sources */, + FC047B77151E4FF700C5E9E7 /* npcpostdialog.cpp in Sources */, + FC047B78151E4FF700C5E9E7 /* okdialog.cpp in Sources */, + FC047B79151E4FF700C5E9E7 /* outfitwindow.cpp in Sources */, + FC047B7A151E4FF700C5E9E7 /* palette.cpp in Sources */, + FC047B7B151E4FF700C5E9E7 /* popupmenu.cpp in Sources */, + FC047B7C151E4FF700C5E9E7 /* quitdialog.cpp in Sources */, + FC047B7D151E4FF700C5E9E7 /* recorder.cpp in Sources */, + FC047B7E151E4FF700C5E9E7 /* register.cpp in Sources */, + FC047B7F151E4FF700C5E9E7 /* sdlinput.cpp in Sources */, + FC047B80151E4FF700C5E9E7 /* selldialog.cpp in Sources */, + FC047B81151E4FF700C5E9E7 /* serverdialog.cpp in Sources */, + FC047B82151E4FF700C5E9E7 /* setup.cpp in Sources */, + FC047B83151E4FF700C5E9E7 /* setup_audio.cpp in Sources */, + FC047B84151E4FF700C5E9E7 /* setup_colors.cpp in Sources */, + FC047B85151E4FF700C5E9E7 /* setup_interface.cpp in Sources */, + FC047B86151E4FF700C5E9E7 /* setup_joystick.cpp in Sources */, + FC047B87151E4FF700C5E9E7 /* setup_keyboard.cpp in Sources */, + FC047B88151E4FF700C5E9E7 /* setup_players.cpp in Sources */, + FC047B89151E4FF700C5E9E7 /* setup_video.cpp in Sources */, + FC047B8A151E4FF700C5E9E7 /* shortcutwindow.cpp in Sources */, + FC047B8B151E4FF700C5E9E7 /* skilldialog.cpp in Sources */, + FC047B8C151E4FF700C5E9E7 /* socialwindow.cpp in Sources */, + FC047B8D151E4FF700C5E9E7 /* specialswindow.cpp in Sources */, + FC047B8E151E4FF700C5E9E7 /* speechbubble.cpp in Sources */, + FC047B8F151E4FF700C5E9E7 /* statuswindow.cpp in Sources */, + FC047B90151E4FF700C5E9E7 /* textdialog.cpp in Sources */, + FC047B91151E4FF700C5E9E7 /* textpopup.cpp in Sources */, + FC047B92151E4FF700C5E9E7 /* tradewindow.cpp in Sources */, + FC047B93151E4FF700C5E9E7 /* truetypefont.cpp in Sources */, + FC047B94151E4FF700C5E9E7 /* unregisterdialog.cpp in Sources */, + FC047B95151E4FF700C5E9E7 /* updaterwindow.cpp in Sources */, + FC047B96151E4FF700C5E9E7 /* viewport.cpp in Sources */, + FC047B97151E4FF700C5E9E7 /* avatarlistbox.cpp in Sources */, + FC047B98151E4FF700C5E9E7 /* browserbox.cpp in Sources */, + FC047B99151E4FF700C5E9E7 /* button.cpp in Sources */, + FC047B9A151E4FF700C5E9E7 /* channeltab.cpp in Sources */, + FC047B9B151E4FF700C5E9E7 /* chattab.cpp in Sources */, + FC047B9C151E4FF700C5E9E7 /* checkbox.cpp in Sources */, + FC047B9D151E4FF700C5E9E7 /* container.cpp in Sources */, + FC047B9E151E4FF700C5E9E7 /* desktop.cpp in Sources */, + FC047B9F151E4FF700C5E9E7 /* dropdown.cpp in Sources */, + FC047BA0151E4FF700C5E9E7 /* emoteshortcutcontainer.cpp in Sources */, + FC047BA1151E4FF700C5E9E7 /* flowcontainer.cpp in Sources */, + FC047BA2151E4FF700C5E9E7 /* icon.cpp in Sources */, + FC047BA3151E4FF700C5E9E7 /* inttextfield.cpp in Sources */, + FC047BA4151E4FF700C5E9E7 /* itemcontainer.cpp in Sources */, + FC047BA5151E4FF700C5E9E7 /* itemlinkhandler.cpp in Sources */, + FC047BA6151E4FF700C5E9E7 /* itemshortcutcontainer.cpp in Sources */, + FC047BA7151E4FF700C5E9E7 /* label.cpp in Sources */, + FC047BA8151E4FF700C5E9E7 /* layout.cpp in Sources */, + FC047BA9151E4FF700C5E9E7 /* layouthelper.cpp in Sources */, + FC047BAA151E4FF700C5E9E7 /* listbox.cpp in Sources */, + FC047BAB151E4FF700C5E9E7 /* passwordfield.cpp in Sources */, + FC047BAC151E4FF700C5E9E7 /* playerbox.cpp in Sources */, + FC047BAD151E4FF700C5E9E7 /* popup.cpp in Sources */, + FC047BAE151E4FF700C5E9E7 /* progressbar.cpp in Sources */, + FC047BAF151E4FF700C5E9E7 /* progressindicator.cpp in Sources */, + FC047BB0151E4FF700C5E9E7 /* radiobutton.cpp in Sources */, + FC047BB1151E4FF700C5E9E7 /* resizegrip.cpp in Sources */, + FC047BB2151E4FF700C5E9E7 /* scrollarea.cpp in Sources */, + FC047BB3151E4FF700C5E9E7 /* setuptab.cpp in Sources */, + FC047BB4151E4FF700C5E9E7 /* shopitems.cpp in Sources */, + FC047BB5151E4FF700C5E9E7 /* shoplistbox.cpp in Sources */, + FC047BB6151E4FF700C5E9E7 /* shortcutcontainer.cpp in Sources */, + FC047BB7151E4FF700C5E9E7 /* slider.cpp in Sources */, + FC047BB8151E4FF700C5E9E7 /* spacer.cpp in Sources */, + FC047BB9151E4FF700C5E9E7 /* tab.cpp in Sources */, + FC047BBA151E4FF700C5E9E7 /* tabbedarea.cpp in Sources */, + FC047BBB151E4FF700C5E9E7 /* table.cpp in Sources */, + FC047BBC151E4FF700C5E9E7 /* tablemodel.cpp in Sources */, + FC047BBD151E4FF700C5E9E7 /* textbox.cpp in Sources */, + FC047BBE151E4FF700C5E9E7 /* textfield.cpp in Sources */, + FC047BBF151E4FF700C5E9E7 /* textpreview.cpp in Sources */, + FC047BC0151E4FF700C5E9E7 /* vertcontainer.cpp in Sources */, + FC047BC1151E4FF700C5E9E7 /* whispertab.cpp in Sources */, + FC047BC2151E4FF700C5E9E7 /* window.cpp in Sources */, + FC047BC3151E4FF700C5E9E7 /* windowcontainer.cpp in Sources */, + FC047BC4151E4FF700C5E9E7 /* windowmenu.cpp in Sources */, + FC047BC5151E4FF700C5E9E7 /* worldselectdialog.cpp in Sources */, + FC047C44151E500100C5E9E7 /* charhandler.cpp in Sources */, + FC047C45151E500100C5E9E7 /* download.cpp in Sources */, + FC047C46151E500100C5E9E7 /* adminhandler.cpp in Sources */, + FC047C47151E500100C5E9E7 /* attributes.cpp in Sources */, + FC047C48151E500100C5E9E7 /* beinghandler.cpp in Sources */, + FC047C49151E500100C5E9E7 /* buysellhandler.cpp in Sources */, + FC047C4A151E500100C5E9E7 /* charhandler.cpp in Sources */, + FC047C4B151E500100C5E9E7 /* chathandler.cpp in Sources */, + FC047C4C151E500100C5E9E7 /* connection.cpp in Sources */, + FC047C4D151E500100C5E9E7 /* effecthandler.cpp in Sources */, + FC047C4E151E500100C5E9E7 /* gamehandler.cpp in Sources */, + FC047C4F151E500100C5E9E7 /* generalhandler.cpp in Sources */, + FC047C50151E500100C5E9E7 /* guildhandler.cpp in Sources */, + FC047C51151E500100C5E9E7 /* internal.cpp in Sources */, + FC047C52151E500100C5E9E7 /* inventoryhandler.cpp in Sources */, + FC047C53151E500100C5E9E7 /* itemhandler.cpp in Sources */, + FC047C54151E500100C5E9E7 /* loginhandler.cpp in Sources */, + FC047C55151E500100C5E9E7 /* messagehandler.cpp in Sources */, + FC047C56151E500100C5E9E7 /* messagein.cpp in Sources */, + FC047C57151E500100C5E9E7 /* messageout.cpp in Sources */, + FC047C58151E500100C5E9E7 /* network.cpp in Sources */, + FC047C59151E500100C5E9E7 /* npchandler.cpp in Sources */, + FC047C5A151E500100C5E9E7 /* partyhandler.cpp in Sources */, + FC047C5B151E500100C5E9E7 /* playerhandler.cpp in Sources */, + FC047C5C151E500100C5E9E7 /* specialhandler.cpp in Sources */, + FC047C5D151E500100C5E9E7 /* tradehandler.cpp in Sources */, + FC047C60151E500100C5E9E7 /* net.cpp in Sources */, + FC047C61151E500100C5E9E7 /* adminhandler.cpp in Sources */, + FC047C62151E500100C5E9E7 /* beinghandler.cpp in Sources */, + FC047C63151E500100C5E9E7 /* buysellhandler.cpp in Sources */, + FC047C64151E500100C5E9E7 /* charserverhandler.cpp in Sources */, + FC047C65151E500100C5E9E7 /* chathandler.cpp in Sources */, + FC047C66151E500100C5E9E7 /* gamehandler.cpp in Sources */, + FC047C67151E500100C5E9E7 /* generalhandler.cpp in Sources */, + FC047C68151E500100C5E9E7 /* guildtab.cpp in Sources */, + FC047C69151E500100C5E9E7 /* partytab.cpp in Sources */, + FC047C6A151E500100C5E9E7 /* guildhandler.cpp in Sources */, + FC047C6B151E500100C5E9E7 /* inventoryhandler.cpp in Sources */, + FC047C6C151E500100C5E9E7 /* itemhandler.cpp in Sources */, + FC047C6D151E500100C5E9E7 /* loginhandler.cpp in Sources */, + FC047C6E151E500100C5E9E7 /* messagehandler.cpp in Sources */, + FC047C6F151E500100C5E9E7 /* messagein.cpp in Sources */, + FC047C70151E500100C5E9E7 /* messageout.cpp in Sources */, + FC047C71151E500100C5E9E7 /* network.cpp in Sources */, + FC047C72151E500100C5E9E7 /* npchandler.cpp in Sources */, + FC047C73151E500100C5E9E7 /* partyhandler.cpp in Sources */, + FC047C74151E500100C5E9E7 /* playerhandler.cpp in Sources */, + FC047C75151E500100C5E9E7 /* specialhandler.cpp in Sources */, + FC047C76151E500100C5E9E7 /* tradehandler.cpp in Sources */, + FC047CAA151E500C00C5E9E7 /* action.cpp in Sources */, + FC047CAB151E500C00C5E9E7 /* ambientlayer.cpp in Sources */, + FC047CAC151E500C00C5E9E7 /* animation.cpp in Sources */, + FC047CAD151E500C00C5E9E7 /* beinginfo.cpp in Sources */, + FC047CAE151E500C00C5E9E7 /* dye.cpp in Sources */, + FC047CAF151E500C00C5E9E7 /* emotedb.cpp in Sources */, + FC047CB0151E500C00C5E9E7 /* hairdb.cpp in Sources */, + FC047CB1151E500C00C5E9E7 /* image.cpp in Sources */, + FC047CB3151E500C00C5E9E7 /* imageset.cpp in Sources */, + FC047CB4151E500C00C5E9E7 /* imagewriter.cpp in Sources */, + FC047CB5151E500C00C5E9E7 /* itemdb.cpp in Sources */, + FC047CB6151E500C00C5E9E7 /* iteminfo.cpp in Sources */, + FC047CB7151E500C00C5E9E7 /* mapreader.cpp in Sources */, + FC047CB8151E500C00C5E9E7 /* monsterdb.cpp in Sources */, + FC047CB9151E500C00C5E9E7 /* music.cpp in Sources */, + FC047CBA151E500C00C5E9E7 /* npcdb.cpp in Sources */, + FC047CBB151E500C00C5E9E7 /* resource.cpp in Sources */, + FC047CBC151E500C00C5E9E7 /* resourcemanager.cpp in Sources */, + FC047CBD151E500C00C5E9E7 /* soundeffect.cpp in Sources */, + FC047CBE151E500C00C5E9E7 /* specialdb.cpp in Sources */, + FC047CBF151E500C00C5E9E7 /* spritedef.cpp in Sources */, + FC047CC0151E500C00C5E9E7 /* theme.cpp in Sources */, + FC047CC1151E500C00C5E9E7 /* userpalette.cpp in Sources */, + FC047CC2151E500C00C5E9E7 /* wallpaper.cpp in Sources */, + FC047CDA151E501400C5E9E7 /* base64.cpp in Sources */, + FC047CDB151E501400C5E9E7 /* copynpaste.cpp in Sources */, + FC047CDC151E501400C5E9E7 /* mkdir.cpp in Sources */, + FC047CDD151E501400C5E9E7 /* physfsrwops.c in Sources */, + FC047CDE151E501400C5E9E7 /* sha256.cpp in Sources */, + FC047CDF151E501400C5E9E7 /* specialfolder.cpp in Sources */, + FC047CE0151E501400C5E9E7 /* stringutils.cpp in Sources */, + FC047CE1151E501400C5E9E7 /* xml.cpp in Sources */, + FC047CE2151E501400C5E9E7 /* zlib.cpp in Sources */, + FC047CE6151E747B00C5E9E7 /* log.mm in Sources */, + FC047D04151E820000C5E9E7 /* callbacks.c in Sources */, + FC047D07151E820000C5E9E7 /* compress.c in Sources */, + FC047D09151E820000C5E9E7 /* host.c in Sources */, + FC047D0B151E820000C5E9E7 /* list.c in Sources */, + FC047D0C151E820000C5E9E7 /* packet.c in Sources */, + FC047D0D151E820000C5E9E7 /* peer.c in Sources */, + FC047D0E151E820000C5E9E7 /* protocol.c in Sources */, + FC047D10151E820000C5E9E7 /* unix.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + FC0479D3151E4DB700C5E9E7 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + FC0479D4151E4DB700C5E9E7 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + FC0479DF151E4DB800C5E9E7 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + FC0479E0151E4DB800C5E9E7 /* en */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + FC0479E2151E4DB800C5E9E7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../src, + ../src/cpp0x_compat, + ../libs/enet/include, + /Library/Frameworks/SDL.framework/Headers, + /opt/local/include/libxml2, + /opt/local/include/SDL, + /opt/local/include, + ); + LIBRARY_SEARCH_PATHS = ../libs; + MACOSX_DEPLOYMENT_TARGET = 10.6; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DWITH_OPENGL", + "-DENABLE_MANASERV", + "-DHAS_SOCKLEN_T", + ); + SDKROOT = macosx10.7; + }; + name = Debug; + }; + FC0479E3151E4DB800C5E9E7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "VERSION=\"0.6.0\""; + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + "GCC_SYMBOLS_PRIVATE_EXTERN[arch=i386]" = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../src, + ../src/cpp0x_compat, + ../libs/enet/include, + /Library/Frameworks/SDL.framework/Headers, + /opt/local/include/libxml2, + /opt/local/include/SDL, + /opt/local/include, + ); + LIBRARY_SEARCH_PATHS = ../libs; + MACOSX_DEPLOYMENT_TARGET = 10.6; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DWITH_OPENGL", + "-DENABLE_MANASERV", + "-DHAS_SOCKLEN_T", + ); + SDKROOT = macosx10.7; + }; + name = Release; + }; + FC0479E5151E4DB800C5E9E7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + HEADER_SEARCH_PATHS = ( + ../src, + ../src/cpp0x_compat, + ../libs/enet/include, + /Library/Frameworks/SDL.framework/Headers, + /opt/local/include/libxml2, + /opt/local/include/SDL, + /opt/local/include, + /Library/Frameworks/SDL_image.framework/Headers, + /Library/Frameworks/SDL_net.framework/Headers, + /Library/Frameworks/SDL_ttf.framework/Headers, + /Library/Frameworks/SDL_mixer.framework/Headers, + ); + INFOPLIST_FILE = "mana/mana-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../libs\"", + /opt/local/lib, + ); + MACOSX_DEPLOYMENT_TARGET = 10.6; + OTHER_CFLAGS = "-DHAS_SOCKLEN_T"; + OTHER_LDFLAGS = ( + "-lz", + "-lbz2", + "-lcurl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx10.7; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + FC0479E6151E4DB800C5E9E7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + "GCC_SYMBOLS_PRIVATE_EXTERN[arch=i386]" = YES; + HEADER_SEARCH_PATHS = ( + ../src, + ../src/cpp0x_compat, + ../libs/enet/include, + /Library/Frameworks/SDL.framework/Headers, + /opt/local/include/libxml2, + /opt/local/include/SDL, + /opt/local/include, + /Library/Frameworks/SDL_image.framework/Headers, + /Library/Frameworks/SDL_net.framework/Headers, + /Library/Frameworks/SDL_ttf.framework/Headers, + /Library/Frameworks/SDL_mixer.framework/Headers, + ); + INFOPLIST_FILE = "mana/mana-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../libs\"", + /opt/local/lib, + ); + MACOSX_DEPLOYMENT_TARGET = 10.6; + OTHER_CFLAGS = "-DHAS_SOCKLEN_T"; + OTHER_LDFLAGS = ( + "-lz", + "-lbz2", + "-lcurl", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx10.7; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FC0479C0151E4DB700C5E9E7 /* Build configuration list for PBXProject "mana-10.7" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FC0479E2151E4DB800C5E9E7 /* Debug */, + FC0479E3151E4DB800C5E9E7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FC0479E4151E4DB800C5E9E7 /* Build configuration list for PBXNativeTarget "mana" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FC0479E5151E4DB800C5E9E7 /* Debug */, + FC0479E6151E4DB800C5E9E7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FC0479BD151E4DB700C5E9E7 /* Project object */; +} diff --git a/Xcode/mana-10.7.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Xcode/mana-10.7.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..e5425171 --- /dev/null +++ b/Xcode/mana-10.7.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + -- cgit v1.2.3-70-g09d2 From 4730e1ad0783f08b804ae0771960a3e436824ff8 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Wed, 15 Aug 2012 23:20:59 +0200 Subject: Removed outdated FAQ.txt Reviewed-by: bjorn. --- docs/FAQ.txt | 88 ------------------------------------------------------------ 1 file changed, 88 deletions(-) delete mode 100644 docs/FAQ.txt diff --git a/docs/FAQ.txt b/docs/FAQ.txt deleted file mode 100644 index 17860836..00000000 --- a/docs/FAQ.txt +++ /dev/null @@ -1,88 +0,0 @@ -F.A.Q. ------- - -HELP - -Q: How to get help? - -A: The fastest way is to come on our IRC channel. There you can find a lot of - nice people that will help you until you solve your problem. - - Server: irc.freenode.net Channel: #themanaworld. - - If you don't like IRC just come to our forums: - - http://forums.themanaworld.org. - - Ok, do you think forums are evil? Don't worry, send us an e-mail at - themanaworld-devel@lists.sourceforge.net and you're done. That's not enough? - No, we don't share our phone numbers! ;P - - -GAME - -Q: I always get "Unregistered ID" error message, why? - -A: Is the first time you login? Have you registered an account? If not use the - "Register" button. If you already succesfully connected before, but now - you're getting this message, please get in touch (see "How to get help"). - -Q: I always get "Wrong password" but I'm sure I typed it right, why? - -A: If is the first time you login be sure you're not adding _M at the end of - your username. Otherwise just get in touch (see "How to get help"). - -Q: How can I talk to NPCs? - -A: Did you read README? Are you really sure? If not go read it and you'll find - all the known commands. Or just press F1 in game. If you notice the - README/ingame help is not up to date/wrong, please report it to the - developers. - -Q: I can't recover HP anymore. - -A: Check your inventory, if you've got lots of stuff probably you're - overweight, try to give away some of them. You get overweight when you're - carrying 50% of your maximum weight. - - -Git - -Q: What's Git? - -A: It's a system where is stored the latest development version. It's not - assured that it's stable, but surely it has the latest updates. (Git version - is updated quite frequently). If you want to check it out, read this guide - - http://wiki.themanaworld.org/index.php/Git - - -DEVELOPMENT - -Q: When will the next version be released? - -A: We don't have scheduled releases, but usually a new release is available - every few months. Check http://themanaworld.org/ for further info. - - -Q: How can I contribute? - -A: There are a lot of ways: - - - If you're a programmer, an artist or just willing to help in any way, you - can become part of the development team. Join our irc channel: - - #themanaworld @ irc.freenode.net. - - There's also a wiki page about how to get involved: - - http://wiki.themanaworld.org/index.php/Joining_the_project - - - You can donate money. Follow the link on the project page: - - http://sourceforge.net/projects/themanaworld/ - - - You can be a beta tester. Just play The Mana World and report every - error to the bug tracker or on the forum. - - - Play with The Mana World: more players, more fun! Simple as that! ;-) -- cgit v1.2.3-70-g09d2 From 78c5784861c2d12a572ebce312f4a325d5dcd499 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Sun, 26 Aug 2012 17:10:27 +0200 Subject: Fixed incorrect-fsf-address error by rpmlint The COPYING file was not 100% equal to the original license file. rpmlint raises an error here. Reviewed-by: Stefan Beller. --- COPYING | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/COPYING b/COPYING index 5b6e7c66..d159169d 100644 --- a/COPYING +++ b/COPYING @@ -1,12 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public @@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to +the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not @@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. - - GNU GENERAL PUBLIC LICENSE + + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains @@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions: License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in @@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - + 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is @@ -225,7 +225,7 @@ impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - + 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License @@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN @@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found. 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - + 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. Also add information on how to contact you by electronic and paper mail. @@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names: This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General +library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. -- cgit v1.2.3-70-g09d2 From 7c13687e7af7f3d39f0f7c11b27bfab4f85204fa Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Sun, 26 Aug 2012 09:44:20 -0700 Subject: Convert AUTHORS from ISO-8859-1 to UTF-8 --- AUTHORS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AUTHORS b/AUTHORS index 1a3761e2..031495a5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -14,7 +14,7 @@ Andrei Karas (4144) Andrej Sinicyn Bernd Wachter (Aard) Blue Sans Douze (Blue112) -Bjrn Steinbrink (Doener) +Björn Steinbrink (Doener) Cedric Borgese (moi1392) Chuck Miller (Kage) Daniel Bradshaw @@ -32,7 +32,7 @@ Guillaume Melquiond (Silene) Ira Rice (Tametomo) Jan-Fabian Humann (Mra) Jared Adams -Jos vila +José Ávila Joshua Langley Kess Vargavind Kiyoshi Kyokai @@ -48,7 +48,7 @@ Scott Ellis Simon Edwardsson Stefan Dombrowski Steve Cotton -Thorbjrn Lindeijer +Thorbjørn Lindeijer Maximilian Philipps Yohann Ferreira @@ -69,7 +69,7 @@ Matthias Hartmann (German) Natsuki Sumon (Spanish) Rodrigo Chaparro (Spanish) Sini Ruohomaa (Finnish) -Thorbjrn Lindeijer (Dutch) +Thorbjørn Lindeijer (Dutch) Yohann Ferreira (French) == Other contributors == -- cgit v1.2.3-70-g09d2 From 9be7d7c64246e44bbadd16c617ad6d4286563d9c Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Fri, 31 Aug 2012 22:27:57 +0200 Subject: Turned off C++11 mode by default to avoid linker issues Compiling in C++11 mode causes trouble when using GCC 4.7 and linking to a version of Guichan that was not compiled in C++11 mode. Reviewed-by: bjorn. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2cf65803..20695d1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ FIND_PACKAGE(Gettext) OPTION(WITH_OPENGL "Enable OpenGL support" ON) OPTION(ENABLE_NLS "Enable building of tranlations" ON) OPTION(ENABLE_MANASERV "Enable Manaserv support" ON) -OPTION(ENABLE_CPP0X "Enable use of C++0x features" ON) +OPTION(ENABLE_CPP0X "Enable use of C++0x features" OFF) IF (WIN32) SET(PKG_DATADIR ".") -- cgit v1.2.3-70-g09d2 From f01e59de269895978162ca62e6c0d21e717b6705 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Tue, 18 Sep 2012 14:57:49 +0200 Subject: Added travis build information file --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..3894890b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +language: cpp +compiler: + - gcc + - clang +before_install: + - sudo apt-get update -qq + - sudo apt-get install -qq build-essential libcurl4-openssl-dev libguichan-dev libphysfs-dev libpng12-dev libpthread-stubs0-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev libxml2-dev zlib1g-dev libsdl-gfx1.2-dev +script: cmake . && make -- cgit v1.2.3-70-g09d2 From 03a14c66c3ad45cc6fed417a78e9f4648f1df073 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Mon, 13 Aug 2012 23:21:47 +0200 Subject: Give feedback when guild invite failed Server was already sending a error message. But the client ignored it. Reviewed-by: Stefan Beller. --- src/net/manaserv/guildhandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/net/manaserv/guildhandler.cpp b/src/net/manaserv/guildhandler.cpp index cd22fcec..19fa03ca 100644 --- a/src/net/manaserv/guildhandler.cpp +++ b/src/net/manaserv/guildhandler.cpp @@ -105,6 +105,10 @@ void GuildHandler::handleMessage(MessageIn &msg) { SERVER_NOTICE(_("Invited player can't join another guild.")); } + else // any other failure + { + SERVER_NOTICE(_("Invite failed.")); + } } break; case CPMSG_GUILD_ACCEPT_RESPONSE: -- cgit v1.2.3-70-g09d2 From acaab21e301cb91b1098db311bdd9ce66ab678dd Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Thu, 11 Oct 2012 20:12:07 +0200 Subject: Client side patch for change of sending order of gender Reviewed-by: Stefan Beller. --- src/net/manaserv/beinghandler.cpp | 13 +++++++++---- src/net/manaserv/manaserv_protocol.h | 8 ++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/net/manaserv/beinghandler.cpp b/src/net/manaserv/beinghandler.cpp index b744e53c..52f6dab4 100644 --- a/src/net/manaserv/beinghandler.cpp +++ b/src/net/manaserv/beinghandler.cpp @@ -117,6 +117,14 @@ void BeingHandler::handleBeingEnterMessage(MessageIn &msg) int px = msg.readInt16(); int py = msg.readInt16(); BeingDirection direction = (BeingDirection)msg.readInt8(); + Gender gender; + int genderAsInt = msg.readInt8(); + if (genderAsInt == ::GENDER_FEMALE) + gender = ::GENDER_FEMALE; + else if (genderAsInt == ::GENDER_MALE) + gender = ::GENDER_MALE; + else + gender = ::GENDER_UNSPECIFIED; Being *being; switch (type) @@ -138,8 +146,6 @@ void BeingHandler::handleBeingEnterMessage(MessageIn &msg) int hs = msg.readInt8(), hc = msg.readInt8(); being->setSprite(SPRITE_LAYER_HAIR, hs * -1, hairDB.getHairColor(hc)); - being->setGender(msg.readInt8() == ManaServ::GENDER_MALE ? - ::GENDER_MALE : ::GENDER_FEMALE); handleLooks(being, msg); } break; @@ -151,8 +157,6 @@ void BeingHandler::handleBeingEnterMessage(MessageIn &msg) ? ActorSprite::MONSTER : ActorSprite::NPC, subtype); std::string name = msg.readString(); if (name.length() > 0) being->setName(name); - being->setGender(msg.readInt8() == ManaServ::GENDER_MALE ? - ::GENDER_MALE : ::GENDER_FEMALE); } break; default: @@ -163,6 +167,7 @@ void BeingHandler::handleBeingEnterMessage(MessageIn &msg) being->setDestination(px, py); being->setDirection(direction); being->setAction(action); + being->setGender(gender); } void BeingHandler::handleBeingLeaveMessage(MessageIn &msg) diff --git a/src/net/manaserv/manaserv_protocol.h b/src/net/manaserv/manaserv_protocol.h index 0cc4524c..319d7070 100644 --- a/src/net/manaserv/manaserv_protocol.h +++ b/src/net/manaserv/manaserv_protocol.h @@ -122,10 +122,10 @@ enum { PGMSG_LOWER_ATTRIBUTE = 0x0170, // W attribute GPMSG_LOWER_ATTRIBUTE_RESPONSE = 0x0171, // B error, W attribute PGMSG_RESPAWN = 0x0180, // - - GPMSG_BEING_ENTER = 0x0200, // B type, W being id, B action, W*2 position, B direction - // character: S name, B hair style, B hair color, B gender, B sprite layers changed, { B slot type, W item id }* - // monster: W type id gender - // npc: W type id gender + GPMSG_BEING_ENTER = 0x0200, // B type, W being id, B action, W*2 position, B direction, B gender + // character: S name, B hair style, B hair color, B sprite layers changed, { B slot type, W item id }* + // monster: W type id + // npc: W type id GPMSG_BEING_LEAVE = 0x0201, // W being id GPMSG_ITEM_APPEAR = 0x0202, // W item id, W*2 position GPMSG_BEING_LOOKS_CHANGE = 0x0210, // B sprite layers changed, { B slot type, W item id }* -- cgit v1.2.3-70-g09d2 From d4a407254cfffbb79087c1248650fbaed5d568d8 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 6 Dec 2012 00:40:46 +0300 Subject: Ignore unsupported messages in public chat Reviewed-by: Erik Schilling. --- src/net/tmwa/chathandler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp index 9e5e7b19..155263b5 100644 --- a/src/net/tmwa/chathandler.cpp +++ b/src/net/tmwa/chathandler.cpp @@ -181,6 +181,11 @@ void ChatHandler::handleMessage(MessageIn &msg) | PlayerRelation::SPEECH_FLOAT); } + // This is a sure sign of some special command of manaplus, + // none of those are supported at the moment. + if (chatMsg.compare(0, 2, "\302\202") == 0) + return; + trim(chatMsg); std::string reducedMessage = chatMsg; -- cgit v1.2.3-70-g09d2