From b50649ee5e28511df72cc3a08023747727c5b6f0 Mon Sep 17 00:00:00 2001
From: David Athay <ko2fan@gmail.com>
Date: Fri, 11 Apr 2008 14:12:30 +0000
Subject:  Players now need to         click on the monster sprites rather than
 the tile. Players will now         move to the target before attacking it.

---
 ChangeLog            |   9 +-
 src/beingmanager.cpp |  21 ++
 src/beingmanager.h   |   1 +
 src/gui/viewport.cpp |  21 +-
 src/localplayer.cpp  |  33 ++-
 src/localplayer.h    |  11 +
 tmw.cbp              | 575 +++++++++++++++++++++++++++------------------------
 7 files changed, 394 insertions(+), 277 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5cc5335b..6f2fe4e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,11 @@
-2008-04-12  Dennis Friis  <peavey@placid.dk>
+2008-04-11  David Athay  <ko2fan@gmail.com>
+
+	* src/localplayer.cpp, src/beingmanager.h, src/gui/viewport.cpp,
+	src/beingmanager.cpp, src/localplayer.h, tmw.cbp: Players now need to
+	click on the monster sprites rather than the tile. Players will now
+	move to the target before attacking it.
+
+2008-04-10  Dennis Friis  <peavey@placid.dk>
 
 	* src/gui/chat.h, src/gui/chat.cpp, src/net/protocol.h,
 	src/net/chathandler.cpp: Implemented support for whispering to other
diff --git a/src/beingmanager.cpp b/src/beingmanager.cpp
index daceca5e..4e3ab0fa 100644
--- a/src/beingmanager.cpp
+++ b/src/beingmanager.cpp
@@ -124,6 +124,27 @@ Being* BeingManager::findBeing(Uint16 x, Uint16 y, Being::Type type)
     return (i == mBeings.end()) ? NULL : *i;
 }
 
+Being* BeingManager::findBeingByPixel(Uint16 x, Uint16 y)
+{
+    BeingIterator itr = mBeings.begin();
+    BeingIterator itr_end = mBeings.end();
+
+    for (; itr != itr_end; ++itr)
+    {
+        Being *being = (*itr);
+        if ((being->mAction != Being::DEAD) &&
+            (being->getPixelX() <= x) &&
+            (being->getPixelX() + being->getWidth() >= x) &&
+            (being->getPixelY() <= y) &&
+            (being->getPixelY() + being->getHeight() >= y))
+        {
+            return being;
+        }
+    }
+
+    return NULL;
+}
+
 Beings& BeingManager::getAll()
 {
     return mBeings;
diff --git a/src/beingmanager.h b/src/beingmanager.h
index a9d0db35..d001c377 100644
--- a/src/beingmanager.h
+++ b/src/beingmanager.h
@@ -67,6 +67,7 @@ class BeingManager
          * Return a being at specific coordinates.
          */
         Being* findBeing(Uint16 x, Uint16 y, Being::Type type = Being::UNKNOWN);
+        Being* findBeingByPixel(Uint16 x, Uint16 y);
 
         /**
          * Return a being nearest to specific coordinates.
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index ecd70d69..d53204b6 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -398,7 +398,10 @@ Viewport::mousePressed(gcn::MouseEvent &event)
         FloorItem *item;
 
         // Interact with some being
-        if ((being = beingManager->findBeing(tilex, tiley)))
+//      if ((being = beingManager->findBeing(tilex, tiley))
+        int x = event.getX() + mPixelViewX;
+        int y = event.getY() + mPixelViewY;
+        if ((being = beingManager->findBeingByPixel(x, y)))
         {
             switch (being->getType())
             {
@@ -410,8 +413,22 @@ Viewport::mousePressed(gcn::MouseEvent &event)
                 case Being::PLAYER:
                     if (being->mAction == Being::DEAD)
                         break;
+                    if (being == player_node)
+                        break;
 
-                    player_node->attack(being, true);
+                    if (player_node->withinAttackRange(being))
+                    {
+                        player_node->attack(being, true);
+                    }
+                    else
+                    {
+                        Uint8 *keys = SDL_GetKeyState(NULL);
+                        if (!(keys[SDLK_LSHIFT] || keys[SDLK_RSHIFT]))
+                        {
+                            player_node->stopAttack();
+                            player_node->setGotoTarget(being);
+                        }
+                    }
                     break;
 
                 default:
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 0ed23892..2aae199e 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -48,7 +48,8 @@ LocalPlayer::LocalPlayer(Uint32 id, Uint16 job, Map *map):
     mInventory(new Inventory),
     mXp(0), mNetwork(0),
     mTarget(NULL), mPickUpTarget(NULL),
-    mTrading(false), mLastAction(-1),
+    mTrading(false), mGoingToTarget(false),
+    mLastAction(-1),
     mWalkingDir(0), mDestX(0), mDestY(0)
 {
 }
@@ -104,6 +105,16 @@ void LocalPlayer::nextStep()
         {
             walk(mWalkingDir);
         }
+
+    }
+
+    if (mGoingToTarget && mTarget && withinAttackRange(mTarget))
+    {
+        mAction = Being::STAND;
+        attack(mTarget, true);
+        mGoingToTarget = false;
+        mPath.clear();
+        return;
     }
 
     Player::nextStep();
@@ -453,3 +464,23 @@ void LocalPlayer::setXp(int xp)
     }
     mXp = xp;
 }
+
+bool LocalPlayer::withinAttackRange(Being *target)
+{
+    int dist_x = abs(target->mX - mX);
+    int dist_y = abs(target->mY - mY);
+
+    if (dist_x > getAttackRange() || dist_y > getAttackRange())
+    {
+        return false;
+    }
+
+    return true;
+}
+
+void LocalPlayer::setGotoTarget(Being *target)
+{
+    mTarget = target;
+    mGoingToTarget = true;
+    setDestination(target->mX, target->mY);
+}
diff --git a/src/localplayer.h b/src/localplayer.h
index b19a0c3f..bdf43fff 100644
--- a/src/localplayer.h
+++ b/src/localplayer.h
@@ -160,6 +160,16 @@ class LocalPlayer : public Player
          */
         void setWalkingDir(int dir);
 
+        /**
+         * Sets going to being to attack
+         */
+        void setGotoTarget(Being *target);
+
+        /**
+         * Returns whether the target is in range to attack
+         */
+        bool withinAttackRange(Being *target);
+
         void raiseAttribute(Attribute attr);
         void raiseSkill(Uint16 skillId);
 
@@ -215,6 +225,7 @@ class LocalPlayer : public Player
         FloorItem *mPickUpTarget;
 
         bool mTrading;
+        bool mGoingToTarget;
         int mLastAction;    /**< Time stamp of the last action, -1 if none. */
         int mWalkingDir;    /**< The direction the player is walking in. */
         int mDestX;         /**< X coordinate of destination. */
diff --git a/tmw.cbp b/tmw.cbp
index 68c5492e..e3ee08ea 100644
--- a/tmw.cbp
+++ b/tmw.cbp
@@ -35,287 +35,316 @@
 					<Add library="curl.dll" />
 				</Linker>
 			</Target>
+			<Target title="unix">
+				<Option platforms="Unix;" />
+				<Option output="tmw" prefix_auto="1" extension_auto="1" />
+				<Option type="0" />
+				<Option compiler="gcc" />
+				<Compiler>
+					<Add option="-Wall" />
+					<Add option="-g" />
+					<Add option="`sdl-config --cflags`" />
+					<Add directory="/usr/local/include/libxml2" />
+				</Compiler>
+				<Linker>
+					<Add option="`sdl-config --libs`" />
+					<Add library="guichan" />
+					<Add library="guichan_sdl" />
+					<Add library="guichan_opengl" />
+					<Add library="GL" />
+					<Add library="physfs" />
+					<Add library="curl" />
+					<Add library="xml2" />
+					<Add library="SDL_mixer" />
+					<Add library="SDL_net" />
+					<Add library="SDL_image" />
+					<Add library="png" />
+				</Linker>
+			</Target>
 		</Build>
 		<VirtualTargets>
 			<Add alias="All" targets="default;" />
 		</VirtualTargets>
 		<Compiler>
-			<Add directory="..\..\..\..\..\..\mingw\include\SDL" />
+			<Add directory="../../../../../../mingw/include/SDL" />
 		</Compiler>
-		<Unit filename="src\animatedsprite.cpp" />
-		<Unit filename="src\animatedsprite.h" />
-		<Unit filename="src\animationparticle.cpp" />
-		<Unit filename="src\animationparticle.h" />
-		<Unit filename="src\being.cpp" />
-		<Unit filename="src\being.h" />
-		<Unit filename="src\beingmanager.cpp" />
-		<Unit filename="src\beingmanager.h" />
-		<Unit filename="src\configlistener.h" />
-		<Unit filename="src\configuration.cpp" />
-		<Unit filename="src\configuration.h" />
-		<Unit filename="src\engine.cpp" />
-		<Unit filename="src\engine.h" />
-		<Unit filename="src\equipment.cpp" />
-		<Unit filename="src\equipment.h" />
-		<Unit filename="src\floor_item.cpp" />
-		<Unit filename="src\floor_item.h" />
-		<Unit filename="src\flooritemmanager.cpp" />
-		<Unit filename="src\flooritemmanager.h" />
-		<Unit filename="src\game.cpp" />
-		<Unit filename="src\game.h" />
-		<Unit filename="src\graphics.cpp" />
-		<Unit filename="src\graphics.h" />
-		<Unit filename="src\gui\box.cpp" />
-		<Unit filename="src\gui\box.h" />
-		<Unit filename="src\gui\browserbox.cpp" />
-		<Unit filename="src\gui\browserbox.h" />
-		<Unit filename="src\gui\button.cpp" />
-		<Unit filename="src\gui\button.h" />
-		<Unit filename="src\gui\buy.cpp" />
-		<Unit filename="src\gui\buy.h" />
-		<Unit filename="src\gui\buysell.cpp" />
-		<Unit filename="src\gui\buysell.h" />
-		<Unit filename="src\gui\char_select.cpp" />
-		<Unit filename="src\gui\char_select.h" />
-		<Unit filename="src\gui\char_server.cpp" />
-		<Unit filename="src\gui\char_server.h" />
-		<Unit filename="src\gui\chat.cpp" />
-		<Unit filename="src\gui\chat.h" />
-		<Unit filename="src\gui\chatinput.cpp" />
-		<Unit filename="src\gui\chatinput.h" />
-		<Unit filename="src\gui\checkbox.cpp" />
-		<Unit filename="src\gui\checkbox.h" />
-		<Unit filename="src\gui\confirm_dialog.cpp" />
-		<Unit filename="src\gui\confirm_dialog.h" />
-		<Unit filename="src\gui\connection.cpp" />
-		<Unit filename="src\gui\connection.h" />
-		<Unit filename="src\gui\debugwindow.cpp" />
-		<Unit filename="src\gui\debugwindow.h" />
-		<Unit filename="src\gui\equipmentwindow.cpp" />
-		<Unit filename="src\gui\equipmentwindow.h" />
-		<Unit filename="src\gui\focushandler.cpp" />
-		<Unit filename="src\gui\focushandler.h" />
-		<Unit filename="src\gui\gccontainer.cpp" />
-		<Unit filename="src\gui\gccontainer.h" />
-		<Unit filename="src\gui\gui.cpp" />
-		<Unit filename="src\gui\gui.h" />
-		<Unit filename="src\gui\hbox.cpp" />
-		<Unit filename="src\gui\hbox.h" />
-		<Unit filename="src\gui\help.cpp" />
-		<Unit filename="src\gui\help.h" />
-		<Unit filename="src\gui\inttextbox.cpp" />
-		<Unit filename="src\gui\inttextbox.h" />
-		<Unit filename="src\gui\inventorywindow.cpp" />
-		<Unit filename="src\gui\inventorywindow.h" />
-		<Unit filename="src\gui\item_amount.cpp" />
-		<Unit filename="src\gui\item_amount.h" />
-		<Unit filename="src\gui\itemcontainer.cpp" />
-		<Unit filename="src\gui\itemcontainer.h" />
-		<Unit filename="src\gui\itemshortcutcontainer.cpp" />
-		<Unit filename="src\gui\itemshortcutcontainer.h" />
-		<Unit filename="src\gui\itemshortcutwindow.cpp" />
-		<Unit filename="src\gui\itemshortcutwindow.h" />
-		<Unit filename="src\gui\linkhandler.h" />
-		<Unit filename="src\gui\listbox.cpp" />
-		<Unit filename="src\gui\listbox.h" />
-		<Unit filename="src\gui\login.cpp" />
-		<Unit filename="src\gui\login.h" />
-		<Unit filename="src\gui\menuwindow.cpp" />
-		<Unit filename="src\gui\menuwindow.h" />
-		<Unit filename="src\gui\minimap.cpp" />
-		<Unit filename="src\gui\minimap.h" />
-		<Unit filename="src\gui\ministatus.cpp" />
-		<Unit filename="src\gui\ministatus.h" />
-		<Unit filename="src\gui\npc_text.cpp" />
-		<Unit filename="src\gui\npc_text.h" />
-		<Unit filename="src\gui\npclistdialog.cpp" />
-		<Unit filename="src\gui\npclistdialog.h" />
-		<Unit filename="src\gui\ok_dialog.cpp" />
-		<Unit filename="src\gui\ok_dialog.h" />
-		<Unit filename="src\gui\passwordfield.cpp" />
-		<Unit filename="src\gui\passwordfield.h" />
-		<Unit filename="src\gui\playerbox.cpp" />
-		<Unit filename="src\gui\playerbox.h" />
-		<Unit filename="src\gui\popupmenu.cpp" />
-		<Unit filename="src\gui\popupmenu.h" />
-		<Unit filename="src\gui\progressbar.cpp" />
-		<Unit filename="src\gui\progressbar.h" />
-		<Unit filename="src\gui\radiobutton.cpp" />
-		<Unit filename="src\gui\radiobutton.h" />
-		<Unit filename="src\gui\register.cpp" />
-		<Unit filename="src\gui\register.h" />
-		<Unit filename="src\gui\scrollarea.cpp" />
-		<Unit filename="src\gui\scrollarea.h" />
-		<Unit filename="src\gui\sell.cpp" />
-		<Unit filename="src\gui\sell.h" />
-		<Unit filename="src\gui\setup.cpp" />
-		<Unit filename="src\gui\setup.h" />
-		<Unit filename="src\gui\setup_audio.cpp" />
-		<Unit filename="src\gui\setup_audio.h" />
-		<Unit filename="src\gui\setup_joystick.cpp" />
-		<Unit filename="src\gui\setup_joystick.h" />
-		<Unit filename="src\gui\setup_keyboard.cpp" />
-		<Unit filename="src\gui\setup_keyboard.h" />
-		<Unit filename="src\gui\setup_video.cpp" />
-		<Unit filename="src\gui\setup_video.h" />
-		<Unit filename="src\gui\setuptab.h" />
-		<Unit filename="src\gui\shop.cpp" />
-		<Unit filename="src\gui\shop.h" />
-		<Unit filename="src\gui\shoplistbox.cpp" />
-		<Unit filename="src\gui\shoplistbox.h" />
-		<Unit filename="src\gui\skill.cpp" />
-		<Unit filename="src\gui\skill.h" />
-		<Unit filename="src\gui\slider.cpp" />
-		<Unit filename="src\gui\slider.h" />
-		<Unit filename="src\gui\status.cpp" />
-		<Unit filename="src\gui\status.h" />
-		<Unit filename="src\gui\tabbedcontainer.cpp" />
-		<Unit filename="src\gui\tabbedcontainer.h" />
-		<Unit filename="src\gui\textbox.cpp" />
-		<Unit filename="src\gui\textbox.h" />
-		<Unit filename="src\gui\textfield.cpp" />
-		<Unit filename="src\gui\textfield.h" />
-		<Unit filename="src\gui\trade.cpp" />
-		<Unit filename="src\gui\trade.h" />
-		<Unit filename="src\gui\updatewindow.cpp" />
-		<Unit filename="src\gui\updatewindow.h" />
-		<Unit filename="src\gui\vbox.cpp" />
-		<Unit filename="src\gui\vbox.h" />
-		<Unit filename="src\gui\viewport.cpp" />
-		<Unit filename="src\gui\viewport.h" />
-		<Unit filename="src\gui\widgets\resizegrip.cpp" />
-		<Unit filename="src\gui\widgets\resizegrip.h" />
-		<Unit filename="src\gui\window.cpp" />
-		<Unit filename="src\gui\window.h" />
-		<Unit filename="src\gui\windowcontainer.cpp" />
-		<Unit filename="src\gui\windowcontainer.h" />
-		<Unit filename="src\guichanfwd.h" />
-		<Unit filename="src\imageparticle.cpp" />
-		<Unit filename="src\imageparticle.h" />
-		<Unit filename="src\inventory.cpp" />
-		<Unit filename="src\inventory.h" />
-		<Unit filename="src\item.cpp" />
-		<Unit filename="src\item.h" />
-		<Unit filename="src\itemshortcut.cpp" />
-		<Unit filename="src\itemshortcut.h" />
-		<Unit filename="src\joystick.cpp" />
-		<Unit filename="src\joystick.h" />
-		<Unit filename="src\keyboardconfig.cpp" />
-		<Unit filename="src\keyboardconfig.h" />
-		<Unit filename="src\localplayer.cpp" />
-		<Unit filename="src\localplayer.h" />
-		<Unit filename="src\lockedarray.h" />
-		<Unit filename="src\log.cpp" />
-		<Unit filename="src\log.h" />
-		<Unit filename="src\logindata.h" />
-		<Unit filename="src\main.cpp" />
-		<Unit filename="src\main.h" />
-		<Unit filename="src\map.cpp" />
-		<Unit filename="src\map.h" />
-		<Unit filename="src\monster.cpp" />
-		<Unit filename="src\monster.h" />
-		<Unit filename="src\net\beinghandler.cpp" />
-		<Unit filename="src\net\beinghandler.h" />
-		<Unit filename="src\net\buysellhandler.cpp" />
-		<Unit filename="src\net\buysellhandler.h" />
-		<Unit filename="src\net\charserverhandler.cpp" />
-		<Unit filename="src\net\charserverhandler.h" />
-		<Unit filename="src\net\chathandler.cpp" />
-		<Unit filename="src\net\chathandler.h" />
-		<Unit filename="src\net\equipmenthandler.cpp" />
-		<Unit filename="src\net\equipmenthandler.h" />
-		<Unit filename="src\net\inventoryhandler.cpp" />
-		<Unit filename="src\net\inventoryhandler.h" />
-		<Unit filename="src\net\itemhandler.cpp" />
-		<Unit filename="src\net\itemhandler.h" />
-		<Unit filename="src\net\loginhandler.cpp" />
-		<Unit filename="src\net\loginhandler.h" />
-		<Unit filename="src\net\maploginhandler.cpp" />
-		<Unit filename="src\net\maploginhandler.h" />
-		<Unit filename="src\net\messagehandler.cpp" />
-		<Unit filename="src\net\messagehandler.h" />
-		<Unit filename="src\net\messagein.cpp" />
-		<Unit filename="src\net\messagein.h" />
-		<Unit filename="src\net\messageout.cpp" />
-		<Unit filename="src\net\messageout.h" />
-		<Unit filename="src\net\network.cpp" />
-		<Unit filename="src\net\network.h" />
-		<Unit filename="src\net\npchandler.cpp" />
-		<Unit filename="src\net\npchandler.h" />
-		<Unit filename="src\net\playerhandler.cpp" />
-		<Unit filename="src\net\playerhandler.h" />
-		<Unit filename="src\net\protocol.cpp" />
-		<Unit filename="src\net\protocol.h" />
-		<Unit filename="src\net\skillhandler.cpp" />
-		<Unit filename="src\net\skillhandler.h" />
-		<Unit filename="src\net\tradehandler.cpp" />
-		<Unit filename="src\net\tradehandler.h" />
-		<Unit filename="src\npc.cpp" />
-		<Unit filename="src\npc.h" />
-		<Unit filename="src\openglgraphics.cpp" />
-		<Unit filename="src\openglgraphics.h" />
-		<Unit filename="src\particle.cpp" />
-		<Unit filename="src\particle.h" />
-		<Unit filename="src\particleemitter.cpp" />
-		<Unit filename="src\particleemitter.h" />
-		<Unit filename="src\player.cpp" />
-		<Unit filename="src\player.h" />
-		<Unit filename="src\properties.h" />
-		<Unit filename="src\resources\action.cpp" />
-		<Unit filename="src\resources\action.h" />
-		<Unit filename="src\resources\ambientoverlay.cpp" />
-		<Unit filename="src\resources\ambientoverlay.h" />
-		<Unit filename="src\resources\animation.cpp" />
-		<Unit filename="src\resources\animation.h" />
-		<Unit filename="src\resources\dye.cpp" />
-		<Unit filename="src\resources\dye.h" />
-		<Unit filename="src\resources\image.cpp" />
-		<Unit filename="src\resources\image.h" />
-		<Unit filename="src\resources\imageloader.cpp" />
-		<Unit filename="src\resources\imageloader.h" />
-		<Unit filename="src\resources\imageset.cpp" />
-		<Unit filename="src\resources\imageset.h" />
-		<Unit filename="src\resources\imagewriter.cpp" />
-		<Unit filename="src\resources\imagewriter.h" />
-		<Unit filename="src\resources\itemdb.cpp" />
-		<Unit filename="src\resources\itemdb.h" />
-		<Unit filename="src\resources\iteminfo.cpp" />
-		<Unit filename="src\resources\iteminfo.h" />
-		<Unit filename="src\resources\mapreader.cpp" />
-		<Unit filename="src\resources\mapreader.h" />
-		<Unit filename="src\resources\monsterdb.cpp" />
-		<Unit filename="src\resources\monsterdb.h" />
-		<Unit filename="src\resources\monsterinfo.cpp" />
-		<Unit filename="src\resources\monsterinfo.h" />
-		<Unit filename="src\resources\music.cpp" />
-		<Unit filename="src\resources\music.h" />
-		<Unit filename="src\resources\resource.cpp" />
-		<Unit filename="src\resources\resource.h" />
-		<Unit filename="src\resources\resourcemanager.cpp" />
-		<Unit filename="src\resources\resourcemanager.h" />
-		<Unit filename="src\resources\soundeffect.cpp" />
-		<Unit filename="src\resources\soundeffect.h" />
-		<Unit filename="src\resources\spritedef.cpp" />
-		<Unit filename="src\resources\spritedef.h" />
-		<Unit filename="src\serverinfo.h" />
-		<Unit filename="src\simpleanimation.cpp" />
-		<Unit filename="src\simpleanimation.h" />
-		<Unit filename="src\sound.cpp" />
-		<Unit filename="src\sound.h" />
-		<Unit filename="src\sprite.h" />
-		<Unit filename="src\textparticle.cpp" />
-		<Unit filename="src\textparticle.h" />
-		<Unit filename="src\tileset.h" />
-		<Unit filename="src\tmw.rc">
+		<Unit filename="src/animatedsprite.cpp" />
+		<Unit filename="src/animatedsprite.h" />
+		<Unit filename="src/animationparticle.cpp" />
+		<Unit filename="src/animationparticle.h" />
+		<Unit filename="src/being.cpp" />
+		<Unit filename="src/being.h" />
+		<Unit filename="src/beingmanager.cpp" />
+		<Unit filename="src/beingmanager.h" />
+		<Unit filename="src/configlistener.h" />
+		<Unit filename="src/configuration.cpp" />
+		<Unit filename="src/configuration.h" />
+		<Unit filename="src/engine.cpp" />
+		<Unit filename="src/engine.h" />
+		<Unit filename="src/equipment.cpp" />
+		<Unit filename="src/equipment.h" />
+		<Unit filename="src/floor_item.cpp" />
+		<Unit filename="src/floor_item.h" />
+		<Unit filename="src/flooritemmanager.cpp" />
+		<Unit filename="src/flooritemmanager.h" />
+		<Unit filename="src/game.cpp" />
+		<Unit filename="src/game.h" />
+		<Unit filename="src/graphics.cpp" />
+		<Unit filename="src/graphics.h" />
+		<Unit filename="src/gui/box.cpp" />
+		<Unit filename="src/gui/box.h" />
+		<Unit filename="src/gui/browserbox.cpp" />
+		<Unit filename="src/gui/browserbox.h" />
+		<Unit filename="src/gui/button.cpp" />
+		<Unit filename="src/gui/button.h" />
+		<Unit filename="src/gui/buy.cpp" />
+		<Unit filename="src/gui/buy.h" />
+		<Unit filename="src/gui/buysell.cpp" />
+		<Unit filename="src/gui/buysell.h" />
+		<Unit filename="src/gui/char_select.cpp" />
+		<Unit filename="src/gui/char_select.h" />
+		<Unit filename="src/gui/char_server.cpp" />
+		<Unit filename="src/gui/char_server.h" />
+		<Unit filename="src/gui/chat.cpp" />
+		<Unit filename="src/gui/chat.h" />
+		<Unit filename="src/gui/chatinput.cpp" />
+		<Unit filename="src/gui/chatinput.h" />
+		<Unit filename="src/gui/checkbox.cpp" />
+		<Unit filename="src/gui/checkbox.h" />
+		<Unit filename="src/gui/confirm_dialog.cpp" />
+		<Unit filename="src/gui/confirm_dialog.h" />
+		<Unit filename="src/gui/connection.cpp" />
+		<Unit filename="src/gui/connection.h" />
+		<Unit filename="src/gui/debugwindow.cpp" />
+		<Unit filename="src/gui/debugwindow.h" />
+		<Unit filename="src/gui/equipmentwindow.cpp" />
+		<Unit filename="src/gui/equipmentwindow.h" />
+		<Unit filename="src/gui/focushandler.cpp" />
+		<Unit filename="src/gui/focushandler.h" />
+		<Unit filename="src/gui/gccontainer.cpp" />
+		<Unit filename="src/gui/gccontainer.h" />
+		<Unit filename="src/gui/gui.cpp" />
+		<Unit filename="src/gui/gui.h" />
+		<Unit filename="src/gui/hbox.cpp" />
+		<Unit filename="src/gui/hbox.h" />
+		<Unit filename="src/gui/help.cpp" />
+		<Unit filename="src/gui/help.h" />
+		<Unit filename="src/gui/inttextbox.cpp" />
+		<Unit filename="src/gui/inttextbox.h" />
+		<Unit filename="src/gui/inventorywindow.cpp" />
+		<Unit filename="src/gui/inventorywindow.h" />
+		<Unit filename="src/gui/item_amount.cpp" />
+		<Unit filename="src/gui/item_amount.h" />
+		<Unit filename="src/gui/itemcontainer.cpp" />
+		<Unit filename="src/gui/itemcontainer.h" />
+		<Unit filename="src/gui/itemshortcutcontainer.cpp" />
+		<Unit filename="src/gui/itemshortcutcontainer.h" />
+		<Unit filename="src/gui/itemshortcutwindow.cpp" />
+		<Unit filename="src/gui/itemshortcutwindow.h" />
+		<Unit filename="src/gui/linkhandler.h" />
+		<Unit filename="src/gui/listbox.cpp" />
+		<Unit filename="src/gui/listbox.h" />
+		<Unit filename="src/gui/login.cpp" />
+		<Unit filename="src/gui/login.h" />
+		<Unit filename="src/gui/menuwindow.cpp" />
+		<Unit filename="src/gui/menuwindow.h" />
+		<Unit filename="src/gui/minimap.cpp" />
+		<Unit filename="src/gui/minimap.h" />
+		<Unit filename="src/gui/ministatus.cpp" />
+		<Unit filename="src/gui/ministatus.h" />
+		<Unit filename="src/gui/npc_text.cpp" />
+		<Unit filename="src/gui/npc_text.h" />
+		<Unit filename="src/gui/npclistdialog.cpp" />
+		<Unit filename="src/gui/npclistdialog.h" />
+		<Unit filename="src/gui/ok_dialog.cpp" />
+		<Unit filename="src/gui/ok_dialog.h" />
+		<Unit filename="src/gui/passwordfield.cpp" />
+		<Unit filename="src/gui/passwordfield.h" />
+		<Unit filename="src/gui/playerbox.cpp" />
+		<Unit filename="src/gui/playerbox.h" />
+		<Unit filename="src/gui/popupmenu.cpp" />
+		<Unit filename="src/gui/popupmenu.h" />
+		<Unit filename="src/gui/progressbar.cpp" />
+		<Unit filename="src/gui/progressbar.h" />
+		<Unit filename="src/gui/radiobutton.cpp" />
+		<Unit filename="src/gui/radiobutton.h" />
+		<Unit filename="src/gui/register.cpp" />
+		<Unit filename="src/gui/register.h" />
+		<Unit filename="src/gui/scrollarea.cpp" />
+		<Unit filename="src/gui/scrollarea.h" />
+		<Unit filename="src/gui/sell.cpp" />
+		<Unit filename="src/gui/sell.h" />
+		<Unit filename="src/gui/setup.cpp" />
+		<Unit filename="src/gui/setup.h" />
+		<Unit filename="src/gui/setup_audio.cpp" />
+		<Unit filename="src/gui/setup_audio.h" />
+		<Unit filename="src/gui/setup_joystick.cpp" />
+		<Unit filename="src/gui/setup_joystick.h" />
+		<Unit filename="src/gui/setup_keyboard.cpp" />
+		<Unit filename="src/gui/setup_keyboard.h" />
+		<Unit filename="src/gui/setup_video.cpp" />
+		<Unit filename="src/gui/setup_video.h" />
+		<Unit filename="src/gui/setuptab.h" />
+		<Unit filename="src/gui/shop.cpp" />
+		<Unit filename="src/gui/shop.h" />
+		<Unit filename="src/gui/shoplistbox.cpp" />
+		<Unit filename="src/gui/shoplistbox.h" />
+		<Unit filename="src/gui/skill.cpp" />
+		<Unit filename="src/gui/skill.h" />
+		<Unit filename="src/gui/slider.cpp" />
+		<Unit filename="src/gui/slider.h" />
+		<Unit filename="src/gui/status.cpp" />
+		<Unit filename="src/gui/status.h" />
+		<Unit filename="src/gui/tabbedcontainer.cpp" />
+		<Unit filename="src/gui/tabbedcontainer.h" />
+		<Unit filename="src/gui/textbox.cpp" />
+		<Unit filename="src/gui/textbox.h" />
+		<Unit filename="src/gui/textfield.cpp" />
+		<Unit filename="src/gui/textfield.h" />
+		<Unit filename="src/gui/trade.cpp" />
+		<Unit filename="src/gui/trade.h" />
+		<Unit filename="src/gui/updatewindow.cpp" />
+		<Unit filename="src/gui/updatewindow.h" />
+		<Unit filename="src/gui/vbox.cpp" />
+		<Unit filename="src/gui/vbox.h" />
+		<Unit filename="src/gui/viewport.cpp" />
+		<Unit filename="src/gui/viewport.h" />
+		<Unit filename="src/gui/widgets/resizegrip.cpp" />
+		<Unit filename="src/gui/widgets/resizegrip.h" />
+		<Unit filename="src/gui/window.cpp" />
+		<Unit filename="src/gui/window.h" />
+		<Unit filename="src/gui/windowcontainer.cpp" />
+		<Unit filename="src/gui/windowcontainer.h" />
+		<Unit filename="src/guichanfwd.h" />
+		<Unit filename="src/imageparticle.cpp" />
+		<Unit filename="src/imageparticle.h" />
+		<Unit filename="src/inventory.cpp" />
+		<Unit filename="src/inventory.h" />
+		<Unit filename="src/item.cpp" />
+		<Unit filename="src/item.h" />
+		<Unit filename="src/itemshortcut.cpp" />
+		<Unit filename="src/itemshortcut.h" />
+		<Unit filename="src/joystick.cpp" />
+		<Unit filename="src/joystick.h" />
+		<Unit filename="src/keyboardconfig.cpp" />
+		<Unit filename="src/keyboardconfig.h" />
+		<Unit filename="src/localplayer.cpp" />
+		<Unit filename="src/localplayer.h" />
+		<Unit filename="src/lockedarray.h" />
+		<Unit filename="src/log.cpp" />
+		<Unit filename="src/log.h" />
+		<Unit filename="src/logindata.h" />
+		<Unit filename="src/main.cpp" />
+		<Unit filename="src/main.h" />
+		<Unit filename="src/map.cpp" />
+		<Unit filename="src/map.h" />
+		<Unit filename="src/monster.cpp" />
+		<Unit filename="src/monster.h" />
+		<Unit filename="src/net/beinghandler.cpp" />
+		<Unit filename="src/net/beinghandler.h" />
+		<Unit filename="src/net/buysellhandler.cpp" />
+		<Unit filename="src/net/buysellhandler.h" />
+		<Unit filename="src/net/charserverhandler.cpp" />
+		<Unit filename="src/net/charserverhandler.h" />
+		<Unit filename="src/net/chathandler.cpp" />
+		<Unit filename="src/net/chathandler.h" />
+		<Unit filename="src/net/equipmenthandler.cpp" />
+		<Unit filename="src/net/equipmenthandler.h" />
+		<Unit filename="src/net/inventoryhandler.cpp" />
+		<Unit filename="src/net/inventoryhandler.h" />
+		<Unit filename="src/net/itemhandler.cpp" />
+		<Unit filename="src/net/itemhandler.h" />
+		<Unit filename="src/net/loginhandler.cpp" />
+		<Unit filename="src/net/loginhandler.h" />
+		<Unit filename="src/net/maploginhandler.cpp" />
+		<Unit filename="src/net/maploginhandler.h" />
+		<Unit filename="src/net/messagehandler.cpp" />
+		<Unit filename="src/net/messagehandler.h" />
+		<Unit filename="src/net/messagein.cpp" />
+		<Unit filename="src/net/messagein.h" />
+		<Unit filename="src/net/messageout.cpp" />
+		<Unit filename="src/net/messageout.h" />
+		<Unit filename="src/net/network.cpp" />
+		<Unit filename="src/net/network.h" />
+		<Unit filename="src/net/npchandler.cpp" />
+		<Unit filename="src/net/npchandler.h" />
+		<Unit filename="src/net/playerhandler.cpp" />
+		<Unit filename="src/net/playerhandler.h" />
+		<Unit filename="src/net/protocol.cpp" />
+		<Unit filename="src/net/protocol.h" />
+		<Unit filename="src/net/skillhandler.cpp" />
+		<Unit filename="src/net/skillhandler.h" />
+		<Unit filename="src/net/tradehandler.cpp" />
+		<Unit filename="src/net/tradehandler.h" />
+		<Unit filename="src/npc.cpp" />
+		<Unit filename="src/npc.h" />
+		<Unit filename="src/openglgraphics.cpp" />
+		<Unit filename="src/openglgraphics.h" />
+		<Unit filename="src/particle.cpp" />
+		<Unit filename="src/particle.h" />
+		<Unit filename="src/particleemitter.cpp" />
+		<Unit filename="src/particleemitter.h" />
+		<Unit filename="src/player.cpp" />
+		<Unit filename="src/player.h" />
+		<Unit filename="src/properties.h" />
+		<Unit filename="src/resources/action.cpp" />
+		<Unit filename="src/resources/action.h" />
+		<Unit filename="src/resources/ambientoverlay.cpp" />
+		<Unit filename="src/resources/ambientoverlay.h" />
+		<Unit filename="src/resources/animation.cpp" />
+		<Unit filename="src/resources/animation.h" />
+		<Unit filename="src/resources/dye.cpp" />
+		<Unit filename="src/resources/dye.h" />
+		<Unit filename="src/resources/image.cpp" />
+		<Unit filename="src/resources/image.h" />
+		<Unit filename="src/resources/imageloader.cpp" />
+		<Unit filename="src/resources/imageloader.h" />
+		<Unit filename="src/resources/imageset.cpp" />
+		<Unit filename="src/resources/imageset.h" />
+		<Unit filename="src/resources/imagewriter.cpp" />
+		<Unit filename="src/resources/imagewriter.h" />
+		<Unit filename="src/resources/itemdb.cpp" />
+		<Unit filename="src/resources/itemdb.h" />
+		<Unit filename="src/resources/iteminfo.cpp" />
+		<Unit filename="src/resources/iteminfo.h" />
+		<Unit filename="src/resources/mapreader.cpp" />
+		<Unit filename="src/resources/mapreader.h" />
+		<Unit filename="src/resources/monsterdb.cpp" />
+		<Unit filename="src/resources/monsterdb.h" />
+		<Unit filename="src/resources/monsterinfo.cpp" />
+		<Unit filename="src/resources/monsterinfo.h" />
+		<Unit filename="src/resources/music.cpp" />
+		<Unit filename="src/resources/music.h" />
+		<Unit filename="src/resources/resource.cpp" />
+		<Unit filename="src/resources/resource.h" />
+		<Unit filename="src/resources/resourcemanager.cpp" />
+		<Unit filename="src/resources/resourcemanager.h" />
+		<Unit filename="src/resources/soundeffect.cpp" />
+		<Unit filename="src/resources/soundeffect.h" />
+		<Unit filename="src/resources/spritedef.cpp" />
+		<Unit filename="src/resources/spritedef.h" />
+		<Unit filename="src/serverinfo.h" />
+		<Unit filename="src/simpleanimation.cpp" />
+		<Unit filename="src/simpleanimation.h" />
+		<Unit filename="src/sound.cpp" />
+		<Unit filename="src/sound.h" />
+		<Unit filename="src/sprite.h" />
+		<Unit filename="src/textparticle.cpp" />
+		<Unit filename="src/textparticle.h" />
+		<Unit filename="src/tileset.h" />
+		<Unit filename="src/tmw.rc">
 			<Option compilerVar="WINDRES" />
+			<Option target="unix" />
+		</Unit>
+		<Unit filename="src/utils/base64.cpp" />
+		<Unit filename="src/utils/base64.h" />
+		<Unit filename="src/utils/dtor.h" />
+		<Unit filename="src/utils/tostring.h" />
+		<Unit filename="src/utils/xml.cpp" />
+		<Unit filename="src/utils/xml.h" />
+		<Unit filename="src/winver.h">
+			<Option target="unix" />
 		</Unit>
-		<Unit filename="src\utils\base64.cpp" />
-		<Unit filename="src\utils\base64.h" />
-		<Unit filename="src\utils\dtor.h" />
-		<Unit filename="src\utils\tostring.h" />
-		<Unit filename="src\utils\xml.cpp" />
-		<Unit filename="src\utils\xml.h" />
-		<Unit filename="src\winver.h" />
 		<Extensions>
 			<code_completion />
 			<envvars />
-- 
cgit v1.2.3-70-g09d2