Commit 75ca987e authored by Leeor Dicker's avatar Leeor Dicker

First commit with source code.

parents
*.dll
*.exe
/proj/vc14/Debug
/proj/vc14/*.db
/proj/vc14/Release
/proj/vc14/*.opendb
<!--Automatically generated Configuration file. This is best left untouched.-->
<configuration>
<graphics screenwidth="800" screenheight="600" bitdepth="32" fullscreen="false" vsync="true" texturequality="good" />
<audio mixrate="22050" channels="2" sfxvolume="128" musicvolume="100" bufferlength="1024" mixer="SDL" />
<options>
<option name="editor-maps-path" value="maps/" />
<option name="editor-new-map-name" value="New Map" />
<option name="editor-tilesets-path" value="tsets/" />
<option name="ui-button-create-new-map" value="Create New" />
<option name="ui-button-load-existing-map" value="Load Map" />
<option name="ui-button-refresh-lists" value="Refresh Lists" />
<option name="ui-main-font-path" value="fonts/Signika-Regular.ttf" />
<option name="ui-main-font-size" value="12" />
<option name="ui-map-name-font-path" value="fonts/Fresca-Regular.ttf" />
<option name="ui-map-name-font-size" value="12" />
<option name="ui-mouse-pointer-image" value="sys/editor_pointer.png" />
<option name="ui-textfield-default-map-height" value="50" />
<option name="ui-textfield-default-map-width" value="50" />
<option name="ui-tilepalette-bucket-image" value="sys/paintcan.png" />
<option name="ui-tilepalette-down-image" value="sys/down.png" />
<option name="ui-tilepalette-next-image" value="sys/next.png" />
<option name="ui-tilepalette-prev-image" value="sys/prev.png" />
<option name="ui-tilepalette-show-image" value="sys/up.png" />
</options>
</configuration>
B// Microsoft Visual C++ generated resource script.

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Landlord", "Landlord.vcxproj", "{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}.Debug|x64.ActiveCfg = Debug|Win32
{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}.Debug|x86.ActiveCfg = Debug|Win32
{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}.Debug|x86.Build.0 = Debug|Win32
{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}.Release|x64.ActiveCfg = Release|Win32
{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}.Release|x86.ActiveCfg = Release|Win32
{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C20CE4F0-394C-4120-B52C-A7D1DC5785F4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Landlord</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>C:\API\glew-1.13.0\include;C:\API\physfs-2.0.3\;C:\API\SDL2-2.0.3\include;C:\API\SDL2_image-2.0.0\include;C:\API\SDL2_mixer-2.0.0\include;C:\API\SDL2_ttf-2.0.12\include;C:\API\NAS2D\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\API\NAS2D\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>C:\API\glew-1.13.0\include;C:\API\physfs-2.0.3\;C:\API\SDL2-2.0.3\include;C:\API\SDL2_image-2.0.0\include;C:\API\SDL2_mixer-2.0.0\include;C:\API\SDL2_ttf-2.0.12\include;C:\API\NAS2D\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\API\NAS2D\lib\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WINDOWS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>NAS2D_d.lib;SDL2.lib;SDL2main.lib;SDL2_image.lib;SDL2_mixer.lib;SDL2_ttf.lib;physfs.lib;opengl32.lib;glew32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(Configuration)\$(ProjectName).exe" "..\..\$(ProjectName).exe"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WINDOWS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>NAS2D.lib;SDL2.lib;SDL2main.lib;SDL2_image.lib;SDL2_mixer.lib;SDL2_ttf.lib;physfs.lib;opengl32.lib;glew32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>copy "$(Configuration)\$(ProjectName).exe" "..\..\$(ProjectName).exe"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\src\Button.h" />
<ClInclude Include="..\..\src\Cell.h" />
<ClInclude Include="..\..\src\Common.h" />
<ClInclude Include="..\..\src\ConfigStrings.h" />
<ClInclude Include="..\..\src\Control.h" />
<ClInclude Include="..\..\src\Defaults.h" />
<ClInclude Include="..\..\src\EditorState.h" />
<ClInclude Include="..\..\src\Entity.h" />
<ClInclude Include="..\..\src\GameField.h" />
<ClInclude Include="..\..\src\Map.h" />
<ClInclude Include="..\..\src\Menu.h" />
<ClInclude Include="..\..\src\Pattern.h" />
<ClInclude Include="..\..\src\StartState.h" />
<ClInclude Include="..\..\src\TextField.h" />
<ClInclude Include="..\..\src\TilePalette.h" />
<ClInclude Include="..\..\src\Tileset.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\Button.cpp" />
<ClCompile Include="..\..\src\Cell.cpp" />
<ClCompile Include="..\..\src\Common.cpp" />
<ClCompile Include="..\..\src\Control.cpp" />
<ClCompile Include="..\..\src\EditorState.cpp" />
<ClCompile Include="..\..\src\Entity.cpp" />
<ClCompile Include="..\..\src\GameField.cpp" />
<ClCompile Include="..\..\src\main.cpp" />
<ClCompile Include="..\..\src\Map.cpp" />
<ClCompile Include="..\..\src\Menu.cpp" />
<ClCompile Include="..\..\src\StartState.cpp" />
<ClCompile Include="..\..\src\TextField.cpp" />
<ClCompile Include="..\..\src\TilePalette.cpp" />
<ClCompile Include="..\..\src\Tileset.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Landlord.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="lom_tools.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\ConfigStrings.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Defaults.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\EditorState.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Pattern.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\StartState.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\TilePalette.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Entity.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\GameField.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Map.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Tileset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Cell.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Button.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Control.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Menu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\TextField.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\Common.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\EditorState.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\StartState.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\TilePalette.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Entity.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Map.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Tileset.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\GameField.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Cell.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Button.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Control.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Menu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\TextField.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\Common.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Landlord.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<Image Include="lom_tools.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerCommand>c:\dev\landlord\$(ProjectName).exe</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>c:\dev\landlord</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerCommand>c:\dev\landlord\$(ProjectName).exe</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>c:\dev\landlord</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>
\ No newline at end of file
B//{{NO_DEPENDENCIES}}
#include "Button.h"
#include "Common.h"
using namespace std;
Button::Button(): mState(STATE_NORMAL),
mType(BUTTON_NORMAL),
mMouseHover(false)
{
Utility<EventHandler>::get().mouseButtonDown().Connect(this, &Button::onMouseDown);
Utility<EventHandler>::get().mouseButtonUp().Connect(this, &Button::onMouseUp);
Utility<EventHandler>::get().mouseMotion().Connect(this, &Button::onMouseMotion);
hasFocus(true);
}
Button::~Button()
{
Utility<EventHandler>::get().mouseButtonDown().Disconnect(this, &Button::onMouseDown);
Utility<EventHandler>::get().mouseButtonUp().Disconnect(this, &Button::onMouseUp);
Utility<EventHandler>::get().mouseMotion().Disconnect(this, &Button::onMouseMotion);
}
void Button::type(Type type)
{
type ? mType = BUTTON_TOGGLE : mType = BUTTON_NORMAL;
}
void Button::toggle(bool toggle)
{
toggle ? mState = STATE_PRESSED : mState = STATE_NORMAL;
}
bool Button::toggled() const
{
if(mState == STATE_PRESSED)
return true;
return false;
}
void Button::onMouseDown(MouseButton button, int x, int y)
{
if(!enabled() || !visible() || !hasFocus())
return;
if(button == BUTTON_LEFT)
{
Point_2d click(x, y);
if(isPointInRect(click, rect()))
{
if(mType == BUTTON_NORMAL)
{
mState = STATE_PRESSED;
}
else
{
mState == STATE_PRESSED ? mState = STATE_NORMAL : mState = STATE_PRESSED;
mCallback();
}
}
}
}
void Button::onMouseUp(MouseButton button, int x, int y)
{
if(!enabled() || !visible() || !hasFocus())
return;
if(button == BUTTON_LEFT)
{
Point_2d click(x, y);
if(mType == BUTTON_NORMAL)
{
mState = STATE_NORMAL;
if(isPointInRect(click, rect()))
mCallback();
}
}
}
void Button::onMouseMotion(int x, int y, int dX, int dY)
{
if (isPointInRect(x, y, rect().x(), rect().y(), rect().w(), rect().h()))
{
mMouseHover = true;
return;
}
mMouseHover = false;
}
void Button::update()
{
draw();
}
/**
* Draws the button.
*/
void Button::draw()
{
if(!visible())
return;
Renderer& r = Utility<Renderer>::get();
if (mState == STATE_NORMAL)
{
bevelBox(rect().x(), rect().y(), rect().w(), rect().h(), false);
}
else //(mState == STATE_PRESSED)
{
bevelBox(rect().x(), rect().y(), rect().w(), rect().h(), true);
}
if (fontSet() && !text().empty())
{
int x = static_cast<int>(rect().x() + (rect().w() / 2) - (font().width(text()) / 2));
int y = static_cast<int>(rect().y() + (rect().h() / 2) - (font().height() / 2));
if (mState == STATE_PRESSED) r.drawText(font(), text(), x + 1, y + 1, 0, 0, 0);
else r.drawText(font(), text(), x, y, 0, 0, 0);
}
if (!enabled())
r.drawBoxFilled(rect(), 125, 125, 125, 100);
}
#pragma once
#include "NAS2D/NAS2D.h"
#include "Control.h"
#include <string>
using namespace NAS2D;
class Button: public Control
{
public:
typedef Gallant::Signal0<void> ClickCallback;
enum Type
{
BUTTON_NORMAL,
BUTTON_TOGGLE
};
Button();
~Button();
void type(Type type);
void toggle(bool toggle);
bool toggled() const;
ClickCallback& click() { return mCallback; }
void update();
protected:
virtual void onMouseDown(MouseButton button, int x, int y);
virtual void onMouseUp(MouseButton button, int x, int y);
virtual void onMouseMotion(int x, int y, int dX, int dY);
private:
enum State
{
STATE_NORMAL,
STATE_PRESSED
};
void draw();
State mState; /**< Current state of the Button. */
Type mType; /**< Modifies Button behavior. */
ClickCallback mCallback; /**< Object to notify when the Button is activated. */
bool mMouseHover; /**< Mouse is within the bounds of the Button. */
};
#include "Cell.h"
/**
* C'tor
*/
Cell::Cell(): mLinkX(0),
mLinkY(0),
mBaseIndex(0),
mBaseDetailIndex(EMPTY_INDEX),
mDetailIndex(EMPTY_INDEX),
mFgIndex(EMPTY_INDEX),
mBlocked(false)
{}
/**
* C'tor
*/
Cell::Cell(int baseIndex, int baseDetailIndex, int detailIndex, int fgIndex, bool blocked): mLinkX(0),
mLinkY(0),
mBaseIndex(baseIndex),
mBaseDetailIndex(baseDetailIndex),
mDetailIndex(detailIndex),
mFgIndex(fgIndex),
mBlocked(blocked)
{}
/**
*
*/
int Cell::index(TileLayer layer) const
{
switch(layer)
{
case LAYER_BASE:
return mBaseIndex;
break;
case LAYER_BASE_DETAIL:
return mBaseDetailIndex;
break;
case LAYER_DETAIL:
return mDetailIndex;
break;
case LAYER_FOREGROUND:
return mFgIndex;
break;
default:
return 0;
break;
}
}
/**
*
*/
void Cell::index(TileLayer layer, int index)
{
switch(layer)
{
case LAYER_BASE:
mBaseIndex = index;
break;
case LAYER_BASE_DETAIL:
mBaseDetailIndex = index;
break;
case LAYER_DETAIL:
mDetailIndex = index;
break;
case LAYER_FOREGROUND:
mFgIndex = index;
break;
default:
break;
}
}
/**
*
*/
bool Cell::blocked() const
{
return mBlocked;
}
/**
*
*/
void Cell::blocked(bool blocked)
{
mBlocked = blocked;
}
\ No newline at end of file
#ifndef __NAS_CELL__
#define __NAS_CELL__
#include <string>
#include "NAS2D/NAS2D.h"
using namespace NAS2D;
/**
*
*/
class Cell
{
public:
enum TileLayer
{
LAYER_BASE,
LAYER_BASE_DETAIL,
LAYER_DETAIL,
LAYER_FOREGROUND
};
static const int EMPTY_INDEX = -1;
Cell();
Cell(int baseIndex, int baseDetailIndex, int detailIndex, int fgIndex, bool blocked);
int index(TileLayer layer = LAYER_BASE) const;
void index(TileLayer layer, int index);
bool blocked() const;
void blocked(bool blocked);
bool linked() const { return !mLink.empty(); }
Point_2d link_destination() const { return Point_2d(mLinkX, mLinkY); }
void link_destination(const Point_2d& pt) { mLinkX = pt.x(); mLinkY = pt.y(); }
const std::string& link() const { return mLink; };
void link(const std::string& link) { mLink = link; }
private:
std::string mLink; /**< Map to link to. */
int mLinkX; /**< */
int mLinkY; /**< */
int mBaseIndex; /**< Tile index for the Sub-Background tile. */
int mBaseDetailIndex; /**< Tile index for the Background tile */
int mDetailIndex; /**< Tile index for the Detail tile. */
int mFgIndex; /**< Tile index for the Foreground index. */
bool mBlocked; /**< Indicates that this tile can't be walked on. */
};
#endif
\ No newline at end of file
#include "Common.h"