mirror of
https://github.com/ScrelliCopter/tmx2gba.git
synced 2025-02-21 03:29:25 +11:00
tmxlite: further cleanup
This commit is contained in:
@@ -27,9 +27,8 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/detail/Android.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
@@ -96,17 +95,8 @@ namespace tmx
|
||||
outPath = outPath.substr(0, result);
|
||||
}
|
||||
}
|
||||
// this does only work on windows
|
||||
#ifndef __ANDROID__
|
||||
|
||||
return outPath + '/' + path;
|
||||
#endif
|
||||
|
||||
// todo: make resolveFilePath work with subfolders on
|
||||
// android - currently only the root folder is working
|
||||
|
||||
#ifdef __ANDROID__
|
||||
return path;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline std::string getFilePath(const std::string& path)
|
||||
|
||||
@@ -27,9 +27,9 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Layer.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Layer.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
namespace tmx
|
||||
{
|
||||
@@ -59,7 +59,7 @@ namespace tmx
|
||||
const Colour& getTransparencyColour() const { return m_transparencyColour; }
|
||||
|
||||
/*!
|
||||
\brief Returns true if the image used by this layer specifically states a
|
||||
\brief Returns true if the image used by this layer specifically states a
|
||||
colour to use as transparency
|
||||
*/
|
||||
bool hasTransparency() const { return m_hasTransparency; }
|
||||
@@ -70,13 +70,13 @@ namespace tmx
|
||||
const Vector2u& getImageSize() const { return m_imageSize; }
|
||||
|
||||
/*!
|
||||
\brief Returns true if the image drawn by this layer is repeated along
|
||||
\brief Returns true if the image drawn by this layer is repeated along
|
||||
the X axis.
|
||||
*/
|
||||
bool hasRepeatX() const { return m_hasRepeatX; }
|
||||
|
||||
/*!
|
||||
\brief Returns true if the image drawn by this layer is repeated along
|
||||
\brief Returns true if the image drawn by this layer is repeated along
|
||||
the Y axis.
|
||||
*/
|
||||
bool hasRepeatY() const { return m_hasRepeatY; }
|
||||
|
||||
@@ -27,9 +27,9 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Property.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Property.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <memory>
|
||||
|
||||
@@ -26,9 +26,9 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Layer.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Layer.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
@@ -83,4 +83,4 @@ namespace tmx
|
||||
assert(getType() == Type::Group);
|
||||
return *static_cast<const LayerGroup*>(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,11 +27,11 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Tileset.hpp>
|
||||
#include <tmxlite/Layer.hpp>
|
||||
#include <tmxlite/Property.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include <tmxlite/Object.hpp>
|
||||
#include "tmxlite/Tileset.hpp"
|
||||
#include "tmxlite/Layer.hpp"
|
||||
#include "tmxlite/Property.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
#include "tmxlite/Object.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -45,13 +45,13 @@ namespace tmx
|
||||
*/
|
||||
struct TMXLITE_EXPORT_API Version
|
||||
{
|
||||
//major/minor are apparently reserved by gcc
|
||||
//major/minor are apparently reserved by gcc
|
||||
std::uint16_t upper;
|
||||
std::uint16_t lower;
|
||||
Version(std::uint16_t maj = 0, std::uint16_t min = 0)
|
||||
: upper(maj), lower(min) {}
|
||||
};
|
||||
|
||||
|
||||
enum class Orientation
|
||||
{
|
||||
Orthogonal,
|
||||
@@ -93,7 +93,7 @@ namespace tmx
|
||||
class TMXLITE_EXPORT_API Map final
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
Map();
|
||||
~Map() = default;
|
||||
Map(const Map&) = delete;
|
||||
@@ -203,7 +203,7 @@ namespace tmx
|
||||
/*!
|
||||
\brief Returns a vector of Property objects loaded by the map
|
||||
*/
|
||||
const std::vector<Property>& getProperties() const { return m_properties; }
|
||||
const std::vector<Property>& getProperties() const { return m_properties; }
|
||||
|
||||
/*!
|
||||
\brief Returns a Hashmap of all animated tiles accessible by TileID
|
||||
@@ -279,4 +279,4 @@ namespace tmx
|
||||
//on load failure
|
||||
bool reset();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Property.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Property.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -70,13 +70,13 @@ namespace tmx
|
||||
|
||||
std::string content; //!< actual string content
|
||||
};
|
||||
|
||||
|
||||
/*!
|
||||
\brief Objects are stored in ObjectGroup layers.
|
||||
Objects may be rectangular, elliptical, polygonal or
|
||||
a polyline. Rectangular and elliptical Objects have their
|
||||
size determined via the AABB, whereas polygon and polyline
|
||||
shapes are defined by a list of points. Objects are
|
||||
shapes are defined by a list of points. Objects are
|
||||
rectangular by default. Since version 1.0 Objects also
|
||||
support Text nodes.
|
||||
*/
|
||||
@@ -105,12 +105,12 @@ namespace tmx
|
||||
\brief Returns the unique ID of the Object
|
||||
*/
|
||||
std::uint32_t getUID() const { return m_UID; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the name of the Object
|
||||
*/
|
||||
const std::string& getName() const { return m_name; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the type (equal to class) of the Object, as defined in the editor Tiled < 1.9
|
||||
*/
|
||||
@@ -125,7 +125,7 @@ namespace tmx
|
||||
\brief Returns the position of the Object in pixels
|
||||
*/
|
||||
const Vector2f& getPosition() const { return m_position; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the global Axis Aligned Bounding Box.
|
||||
The AABB is positioned via the left and top properties, and
|
||||
@@ -133,19 +133,19 @@ namespace tmx
|
||||
the shape of the Object if it is rectangular or elliptical.
|
||||
*/
|
||||
const FloatRect& getAABB() const { return m_AABB; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the rotation of the Object in degrees clockwise
|
||||
*/
|
||||
float getRotation() const { return m_rotation; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the global tile ID associated with the Object
|
||||
if there is one. This is used to draw the Object (and therefore
|
||||
the Object must be rectangular)
|
||||
*/
|
||||
std::uint32_t getTileID() const { return m_tileID; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the flip flags if the objects uses a TileID to
|
||||
draw it.
|
||||
@@ -157,12 +157,12 @@ namespace tmx
|
||||
\brief Returns whether or not the Object is visible
|
||||
*/
|
||||
bool visible() const { return m_visible; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns the Shape type of the Object
|
||||
*/
|
||||
Shape getShape() const { return m_shape; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns a reference to the vector of points which
|
||||
make up the Object. If the Object is rectangular or elliptical
|
||||
@@ -170,7 +170,7 @@ namespace tmx
|
||||
relative to the object position.
|
||||
*/
|
||||
const std::vector<Vector2f>& getPoints() const { return m_points; }
|
||||
|
||||
|
||||
/*!
|
||||
\brief Returns a reference to the vector of properties belonging to
|
||||
the Object.
|
||||
@@ -188,7 +188,7 @@ namespace tmx
|
||||
Text& getText() { return m_textData; }
|
||||
|
||||
/*!
|
||||
\brief Returns the tileset name used by this object if it is derived
|
||||
\brief Returns the tileset name used by this object if it is derived
|
||||
from a template, else returns an empty string.
|
||||
If the string is not empty use it to index the unordered_map returned
|
||||
by Map::getTemplateTilesets()
|
||||
@@ -218,4 +218,4 @@ namespace tmx
|
||||
void parseText(const pugi::xml_node&);
|
||||
void parseTemplate(const std::string&, Map*);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Layer.hpp>
|
||||
#include <tmxlite/Object.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Layer.hpp"
|
||||
#include "tmxlite/Object.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
@@ -96,4 +96,4 @@ namespace tmx
|
||||
assert(getType() == Type::Object);
|
||||
return *static_cast<const ObjectGroup*>(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Property.hpp>
|
||||
#include "tmxlite/Property.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -83,4 +83,4 @@ namespace tmx
|
||||
//on load failure
|
||||
bool reset();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <cassert>
|
||||
@@ -43,14 +43,14 @@ namespace tmx
|
||||
/*!
|
||||
\brief Represents a custom property.
|
||||
Tiles, objects and layers of a tmx map may have custom
|
||||
properties assigned to them. This class represents a
|
||||
properties assigned to them. This class represents a
|
||||
single property and provides access to its value, the
|
||||
type of which can be determined with getType()
|
||||
*/
|
||||
class TMXLITE_EXPORT_API Property final
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
enum class Type
|
||||
{
|
||||
Boolean,
|
||||
@@ -62,7 +62,7 @@ namespace tmx
|
||||
Object,
|
||||
Undef
|
||||
};
|
||||
|
||||
|
||||
Property();
|
||||
|
||||
static Property fromBoolean(bool value);
|
||||
|
||||
@@ -27,8 +27,8 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Layer.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include "tmxlite/Layer.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
|
||||
namespace tmx
|
||||
{
|
||||
@@ -66,7 +66,7 @@ namespace tmx
|
||||
Vertical = 0x4,
|
||||
Diagonal = 0x2
|
||||
};
|
||||
|
||||
|
||||
explicit TileLayer(std::size_t);
|
||||
|
||||
Type getType() const override { return Layer::Type::Tile; }
|
||||
@@ -113,4 +113,4 @@ namespace tmx
|
||||
assert(getType() == Type::Tile);
|
||||
return *static_cast<const TileLayer*>(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include <tmxlite/Property.hpp>
|
||||
#include <tmxlite/ObjectGroup.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
#include "tmxlite/Property.hpp"
|
||||
#include "tmxlite/ObjectGroup.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -101,7 +101,7 @@ namespace tmx
|
||||
Vector2u imagePosition;
|
||||
std::string className;
|
||||
};
|
||||
|
||||
|
||||
/*!
|
||||
\brief Terrain information with which one
|
||||
or more tiles may be associated.
|
||||
@@ -247,7 +247,7 @@ namespace tmx
|
||||
/*!
|
||||
\brief Checks if a tiled ID is in the range of the first ID and the last ID
|
||||
\param id Tile ID
|
||||
\return
|
||||
\return
|
||||
*/
|
||||
bool hasTile(std::uint32_t id) const { return id >= m_firstGID && id <= getLastGID(); };
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ source distribution.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tmxlite/Config.hpp>
|
||||
#include "tmxlite/Config.hpp"
|
||||
|
||||
#include <cstdint>
|
||||
#include <ostream>
|
||||
@@ -147,4 +147,4 @@ std::ostream& operator << (std::ostream& os, const tmx::Rectangle<T>& t)
|
||||
return os;
|
||||
}
|
||||
|
||||
std::ostream& operator << (std::ostream& os, const tmx::Colour& c);
|
||||
std::ostream& operator << (std::ostream& os, const tmx::Colour& c);
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
/*********************************************************************
|
||||
Matt Marchant 2016
|
||||
http://trederia.blogspot.com
|
||||
|
||||
tmxlite - Zlib license.
|
||||
|
||||
This software is provided 'as-is', without any express or
|
||||
implied warranty. In no event will the authors be held
|
||||
liable for any damages arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute
|
||||
it freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented;
|
||||
you must not claim that you wrote the original software.
|
||||
If you use this software in a product, an acknowledgment
|
||||
in the product documentation would be appreciated but
|
||||
is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such,
|
||||
and must not be misrepresented as being the original software.
|
||||
|
||||
3. This notice may not be removed or altered from any
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#ifndef ANDROID_INC_HPP_
|
||||
#define ANDROID_INC_HPP_
|
||||
#ifdef __ANDROID__
|
||||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
namespace std
|
||||
{
|
||||
template <typename T>
|
||||
std::string to_string(T value)
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << value;
|
||||
return os.str();
|
||||
}
|
||||
}
|
||||
|
||||
#define STOI(str) std::strtol(str.c_str(), 0, 10)
|
||||
#else
|
||||
#define STOI(str) std::stoi(str)
|
||||
|
||||
#endif // __ANDROID__
|
||||
#endif // ANDROID_INC_HPP_
|
||||
@@ -43,18 +43,6 @@ source distribution.
|
||||
#include <windows.h>
|
||||
#endif //_MSC_VER
|
||||
|
||||
|
||||
#ifdef __ANDROID__
|
||||
#include <android/log.h>
|
||||
#include <cstring>
|
||||
|
||||
#define LOG_TAG "TMXlite-Debug"
|
||||
//#define ALOG(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
|
||||
|
||||
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
|
||||
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
|
||||
#endif // __ANDROID__
|
||||
|
||||
namespace tmx
|
||||
{
|
||||
/*!
|
||||
@@ -105,23 +93,10 @@ namespace tmx
|
||||
{
|
||||
if (type == Type::Error)
|
||||
{
|
||||
#ifdef __ANDROID__
|
||||
|
||||
int outstringLength = outstring.length();
|
||||
char outstring_chararray[outstringLength+1];
|
||||
std::strcpy(outstring_chararray, outstring.c_str());
|
||||
LOGE("%s",outstring_chararray);
|
||||
#endif
|
||||
std::cerr << outstring << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef __ANDROID__
|
||||
int outstringLength = outstring.length();
|
||||
char outstring_chararray[outstringLength+1];
|
||||
std::strcpy(outstring_chararray, outstring.c_str());
|
||||
LOGI("%s", outstring_chararray);
|
||||
#endif
|
||||
std::cout << outstring << std::endl;
|
||||
}
|
||||
const std::size_t maxBuffer = 30;
|
||||
@@ -140,13 +115,11 @@ namespace tmx
|
||||
std::ofstream file("output.log", std::ios::app);
|
||||
if (file.good())
|
||||
{
|
||||
#ifndef __ANDROID__
|
||||
std::time_t time = std::time(nullptr);
|
||||
auto tm = *std::localtime(&time);
|
||||
//put_time isn't implemented by the ndk versions of the stl
|
||||
file.imbue(std::locale());
|
||||
file << std::put_time(&tm, "%d/%m/%y-%H:%M:%S: ");
|
||||
#endif //__ANDROID__
|
||||
file << outstring << std::endl;
|
||||
file.close();
|
||||
}
|
||||
|
||||
@@ -25,15 +25,14 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/Types.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
#ifndef USE_ZLIB
|
||||
#include "miniz.h"
|
||||
# include "miniz.h"
|
||||
#else
|
||||
#include <zlib.h>
|
||||
# include <zlib.h>
|
||||
#endif
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/Types.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
|
||||
#include <cstring>
|
||||
|
||||
bool tmx::decompress(const char* source, std::vector<unsigned char>& dest, std::size_t inSize, std::size_t expectedSize)
|
||||
@@ -59,7 +58,7 @@ bool tmx::decompress(const char* source, std::vector<unsigned char>& dest, std::
|
||||
stream.next_out = (Bytef*)byteArray.data();
|
||||
stream.avail_out = static_cast<unsigned int>(expectedSize);
|
||||
|
||||
//we'd prefer to use inflateInit2 but it appears
|
||||
//we'd prefer to use inflateInit2 but it appears
|
||||
//to be incorrect in miniz. This is fine for zlib
|
||||
//compressed data, but gzip compressed streams
|
||||
//will fail to inflate.
|
||||
|
||||
@@ -25,10 +25,11 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include "tmxlite/ImageLayer.hpp"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/ImageLayer.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
|
||||
using namespace tmx;
|
||||
|
||||
|
||||
@@ -25,13 +25,14 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include "tmxlite/LayerGroup.hpp"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/ObjectGroup.hpp"
|
||||
#include "tmxlite/ImageLayer.hpp"
|
||||
#include "tmxlite/TileLayer.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/LayerGroup.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/ObjectGroup.hpp>
|
||||
#include <tmxlite/ImageLayer.hpp>
|
||||
#include <tmxlite/TileLayer.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
|
||||
using namespace tmx;
|
||||
|
||||
|
||||
@@ -25,16 +25,15 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/Map.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/ObjectGroup.hpp>
|
||||
#include <tmxlite/ImageLayer.hpp>
|
||||
#include <tmxlite/TileLayer.hpp>
|
||||
#include <tmxlite/LayerGroup.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
#include <tmxlite/detail/Android.hpp>
|
||||
#include "tmxlite/Map.hpp"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/ObjectGroup.hpp"
|
||||
#include "tmxlite/ImageLayer.hpp"
|
||||
#include "tmxlite/TileLayer.hpp"
|
||||
#include "tmxlite/LayerGroup.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <queue>
|
||||
|
||||
using namespace tmx;
|
||||
@@ -136,8 +135,8 @@ bool Map::parseMapNode(const pugi::xml_node& mapNode)
|
||||
return reset();
|
||||
}
|
||||
|
||||
m_version.upper = STOI(attribString.substr(0, pointPos));
|
||||
m_version.lower = STOI(attribString.substr(pointPos + 1));
|
||||
m_version.upper = std::stoi(attribString.substr(0, pointPos));
|
||||
m_version.lower = std::stoi(attribString.substr(pointPos + 1));
|
||||
|
||||
m_class = mapNode.attribute("class").as_string();
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/Object.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/Map.hpp>
|
||||
#include <tmxlite/Tileset.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
#include "tmxlite/Object.hpp"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/Map.hpp"
|
||||
#include "tmxlite/Tileset.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <sstream>
|
||||
|
||||
using namespace tmx;
|
||||
@@ -65,7 +65,7 @@ void Object::parse(const pugi::xml_node& node, Map* map)
|
||||
{
|
||||
m_class = node.attribute("class").as_string();
|
||||
}
|
||||
|
||||
|
||||
m_position.x = node.attribute("x").as_float();
|
||||
m_AABB.left = m_position.x;
|
||||
m_position.y = node.attribute("y").as_float();
|
||||
@@ -272,7 +272,7 @@ void Object::parseTemplate(const std::string& path, Map* map)
|
||||
{
|
||||
m_AABB.height = obj.m_AABB.height;
|
||||
}
|
||||
|
||||
|
||||
m_tilesetName = obj.m_tilesetName;
|
||||
|
||||
if (m_name.empty())
|
||||
@@ -313,7 +313,7 @@ void Object::parseTemplate(const std::string& path, Map* map)
|
||||
//compare properties and only copy ones that don't exist
|
||||
for (const auto& p : obj.m_properties)
|
||||
{
|
||||
auto result = std::find_if(m_properties.begin(), m_properties.end(),
|
||||
auto result = std::find_if(m_properties.begin(), m_properties.end(),
|
||||
[&p](const Property& a)
|
||||
{
|
||||
return a.getName() == p.getName();
|
||||
|
||||
@@ -25,10 +25,11 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/ObjectGroup.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/ObjectGroup.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
|
||||
using namespace tmx;
|
||||
|
||||
|
||||
@@ -24,10 +24,11 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/ObjectTypes.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/ObjectTypes.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
|
||||
using namespace tmx;
|
||||
|
||||
|
||||
@@ -25,10 +25,11 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include "tmxlite/Property.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/Property.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
|
||||
using namespace tmx;
|
||||
|
||||
|
||||
@@ -25,12 +25,13 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <zstd.h>
|
||||
#include "base64.h"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/TileLayer.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <zstd.h>
|
||||
#include <sstream>
|
||||
|
||||
using namespace tmx;
|
||||
|
||||
@@ -25,11 +25,11 @@ and must not be misrepresented as being the original software.
|
||||
source distribution.
|
||||
*********************************************************************/
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <tmxlite/Tileset.hpp>
|
||||
#include <tmxlite/FreeFuncs.hpp>
|
||||
#include <tmxlite/detail/Log.hpp>
|
||||
#include "tmxlite/Tileset.hpp"
|
||||
#include "tmxlite/FreeFuncs.hpp"
|
||||
#include "tmxlite/detail/Log.hpp"
|
||||
|
||||
#include <pugixml.hpp>
|
||||
#include <ctype.h>
|
||||
|
||||
using namespace tmx;
|
||||
@@ -59,7 +59,7 @@ void Tileset::parse(pugi::xml_node node, Map* map)
|
||||
Logger::log(attribString + ": not a tileset node! Node will be skipped.", Logger::Type::Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
m_firstGID = node.attribute("firstgid").as_int();
|
||||
if (m_firstGID == 0)
|
||||
{
|
||||
@@ -237,7 +237,7 @@ const Tileset::Tile* Tileset::getTile(std::uint32_t id) const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
//corrects the ID. Indices and IDs are different.
|
||||
id -= m_firstGID;
|
||||
id = m_tileIndex[id];
|
||||
@@ -368,12 +368,12 @@ void Tileset::parseTileNode(const pugi::xml_node& node, Map* map)
|
||||
{
|
||||
tile.className = node.attribute("class").as_string();
|
||||
}
|
||||
|
||||
|
||||
//by default we set the tile's values as in an Image tileset
|
||||
tile.imagePath = m_imagePath;
|
||||
tile.imageSize = m_tileSize;
|
||||
|
||||
if (m_columnCount != 0)
|
||||
if (m_columnCount != 0)
|
||||
{
|
||||
std::uint32_t rowIndex = tile.ID % m_columnCount;
|
||||
std::uint32_t columnIndex = tile.ID / m_columnCount;
|
||||
|
||||
Reference in New Issue
Block a user