mirror of https://github.com/axmolengine/axmol.git
issue #2050: unsigned int to int
This commit is contained in:
parent
524f2867d8
commit
19e1609c27
|
@ -61,7 +61,7 @@ bool TMXLayer::initWithTilesetInfo(TMXTilesetInfo *tilesetInfo, TMXLayerInfo *la
|
||||||
texture = Director::getInstance()->getTextureCache()->addImage(tilesetInfo->_sourceImage.c_str());
|
texture = Director::getInstance()->getTextureCache()->addImage(tilesetInfo->_sourceImage.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SpriteBatchNode::initWithTexture(texture, (unsigned int)capacity))
|
if (SpriteBatchNode::initWithTexture(texture, static_cast<ssize_t>(capacity)))
|
||||||
{
|
{
|
||||||
// layerInfo
|
// layerInfo
|
||||||
_layerName = layerInfo->_name;
|
_layerName = layerInfo->_name;
|
||||||
|
@ -85,7 +85,7 @@ bool TMXLayer::initWithTilesetInfo(TMXTilesetInfo *tilesetInfo, TMXLayerInfo *la
|
||||||
Point offset = this->calculateLayerOffset(layerInfo->_offset);
|
Point offset = this->calculateLayerOffset(layerInfo->_offset);
|
||||||
this->setPosition(CC_POINT_PIXELS_TO_POINTS(offset));
|
this->setPosition(CC_POINT_PIXELS_TO_POINTS(offset));
|
||||||
|
|
||||||
_atlasIndexArray = ccCArrayNew((unsigned int)totalNumberOfTiles);
|
_atlasIndexArray = ccCArrayNew(totalNumberOfTiles);
|
||||||
|
|
||||||
this->setContentSize(CC_SIZE_PIXELS_TO_POINTS(Size(_layerSize.width * _mapTileSize.width, _layerSize.height * _mapTileSize.height)));
|
this->setContentSize(CC_SIZE_PIXELS_TO_POINTS(Size(_layerSize.width * _mapTileSize.width, _layerSize.height * _mapTileSize.height)));
|
||||||
|
|
||||||
|
@ -161,12 +161,12 @@ void TMXLayer::setupTiles()
|
||||||
// Parse cocos2d properties
|
// Parse cocos2d properties
|
||||||
this->parseInternalProperties();
|
this->parseInternalProperties();
|
||||||
|
|
||||||
for (unsigned int y=0; y < _layerSize.height; y++)
|
for (int y=0; y < _layerSize.height; y++)
|
||||||
{
|
{
|
||||||
for (unsigned int x=0; x < _layerSize.width; x++)
|
for (int x=0; x < _layerSize.width; x++)
|
||||||
{
|
{
|
||||||
unsigned int pos = (unsigned int)(x + _layerSize.width * y);
|
int pos = (int)(x + _layerSize.width * y);
|
||||||
unsigned int gid = _tiles[ pos ];
|
int gid = _tiles[ pos ];
|
||||||
|
|
||||||
// gid are stored in little endian.
|
// gid are stored in little endian.
|
||||||
// if host is big endian, then swap
|
// if host is big endian, then swap
|
||||||
|
@ -231,7 +231,7 @@ void TMXLayer::parseInternalProperties()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMXLayer::setupTileSprite(Sprite* sprite, Point pos, unsigned int gid)
|
void TMXLayer::setupTileSprite(Sprite* sprite, Point pos, int gid)
|
||||||
{
|
{
|
||||||
sprite->setPosition(getPositionAt(pos));
|
sprite->setPosition(getPositionAt(pos));
|
||||||
sprite->setVertexZ((float)getVertexZForPos(pos));
|
sprite->setVertexZ((float)getVertexZForPos(pos));
|
||||||
|
@ -252,7 +252,7 @@ void TMXLayer::setupTileSprite(Sprite* sprite, Point pos, unsigned int gid)
|
||||||
sprite->setPosition(Point(getPositionAt(pos).x + sprite->getContentSize().height/2,
|
sprite->setPosition(Point(getPositionAt(pos).x + sprite->getContentSize().height/2,
|
||||||
getPositionAt(pos).y + sprite->getContentSize().width/2 ) );
|
getPositionAt(pos).y + sprite->getContentSize().width/2 ) );
|
||||||
|
|
||||||
unsigned int flag = gid & (kTMXTileHorizontalFlag | kTMXTileVerticalFlag );
|
int flag = gid & (kTMXTileHorizontalFlag | kTMXTileVerticalFlag );
|
||||||
|
|
||||||
// handle the 4 diagonally flipped states.
|
// handle the 4 diagonally flipped states.
|
||||||
if (flag == kTMXTileHorizontalFlag)
|
if (flag == kTMXTileHorizontalFlag)
|
||||||
|
@ -319,7 +319,7 @@ Sprite * TMXLayer::getTileAt(const Point& pos)
|
||||||
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
||||||
|
|
||||||
Sprite *tile = nullptr;
|
Sprite *tile = nullptr;
|
||||||
unsigned int gid = this->getTileGIDAt(pos);
|
int gid = this->getTileGIDAt(pos);
|
||||||
|
|
||||||
// if GID == 0, then no tile is present
|
// if GID == 0, then no tile is present
|
||||||
if (gid)
|
if (gid)
|
||||||
|
@ -348,14 +348,14 @@ Sprite * TMXLayer::getTileAt(const Point& pos)
|
||||||
return tile;
|
return tile;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int TMXLayer::getTileGIDAt(const Point& pos, ccTMXTileFlags* flags/* = nullptr*/)
|
int TMXLayer::getTileGIDAt(const Point& pos, ccTMXTileFlags* flags/* = nullptr*/)
|
||||||
{
|
{
|
||||||
CCASSERT(pos.x < _layerSize.width && pos.y < _layerSize.height && pos.x >=0 && pos.y >=0, "TMXLayer: invalid position");
|
CCASSERT(pos.x < _layerSize.width && pos.y < _layerSize.height && pos.x >=0 && pos.y >=0, "TMXLayer: invalid position");
|
||||||
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
||||||
|
|
||||||
int idx = (int)(pos.x + pos.y * _layerSize.width);
|
int idx = static_cast<int>((pos.x + pos.y * _layerSize.width));
|
||||||
// Bits on the far end of the 32-bit global tile ID are used for tile flags
|
// Bits on the far end of the 32-bit global tile ID are used for tile flags
|
||||||
unsigned int tile = _tiles[idx];
|
int tile = _tiles[idx];
|
||||||
|
|
||||||
// issue1264, flipped tiles can be changed dynamically
|
// issue1264, flipped tiles can be changed dynamically
|
||||||
if (flags)
|
if (flags)
|
||||||
|
@ -367,7 +367,7 @@ unsigned int TMXLayer::getTileGIDAt(const Point& pos, ccTMXTileFlags* flags/* =
|
||||||
}
|
}
|
||||||
|
|
||||||
// TMXLayer - adding helper methods
|
// TMXLayer - adding helper methods
|
||||||
Sprite * TMXLayer::insertTileForGID(unsigned int gid, const Point& pos)
|
Sprite * TMXLayer::insertTileForGID(int gid, const Point& pos)
|
||||||
{
|
{
|
||||||
Rect rect = _tileSet->rectForGID(gid);
|
Rect rect = _tileSet->rectForGID(gid);
|
||||||
rect = CC_RECT_PIXELS_TO_POINTS(rect);
|
rect = CC_RECT_PIXELS_TO_POINTS(rect);
|
||||||
|
@ -405,7 +405,7 @@ Sprite * TMXLayer::insertTileForGID(unsigned int gid, const Point& pos)
|
||||||
return tile;
|
return tile;
|
||||||
}
|
}
|
||||||
|
|
||||||
Sprite * TMXLayer::updateTileForGID(unsigned int gid, const Point& pos)
|
Sprite * TMXLayer::updateTileForGID(int gid, const Point& pos)
|
||||||
{
|
{
|
||||||
Rect rect = _tileSet->rectForGID(gid);
|
Rect rect = _tileSet->rectForGID(gid);
|
||||||
rect = Rect(rect.origin.x / _contentScaleFactor, rect.origin.y / _contentScaleFactor, rect.size.width/ _contentScaleFactor, rect.size.height/ _contentScaleFactor);
|
rect = Rect(rect.origin.x / _contentScaleFactor, rect.origin.y / _contentScaleFactor, rect.size.width/ _contentScaleFactor, rect.size.height/ _contentScaleFactor);
|
||||||
|
@ -427,7 +427,7 @@ Sprite * TMXLayer::updateTileForGID(unsigned int gid, const Point& pos)
|
||||||
|
|
||||||
// used only when parsing the map. useless after the map was parsed
|
// used only when parsing the map. useless after the map was parsed
|
||||||
// since lot's of assumptions are no longer true
|
// since lot's of assumptions are no longer true
|
||||||
Sprite * TMXLayer::appendTileForGID(unsigned int gid, const Point& pos)
|
Sprite * TMXLayer::appendTileForGID(int gid, const Point& pos)
|
||||||
{
|
{
|
||||||
Rect rect = _tileSet->rectForGID(gid);
|
Rect rect = _tileSet->rectForGID(gid);
|
||||||
rect = CC_RECT_PIXELS_TO_POINTS(rect);
|
rect = CC_RECT_PIXELS_TO_POINTS(rect);
|
||||||
|
@ -458,7 +458,7 @@ static inline int compareInts(const void * a, const void * b)
|
||||||
return ((*(int*)a) - (*(int*)b));
|
return ((*(int*)a) - (*(int*)b));
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t TMXLayer::atlasIndexForExistantZ(unsigned int z)
|
ssize_t TMXLayer::atlasIndexForExistantZ(int z)
|
||||||
{
|
{
|
||||||
int key=z;
|
int key=z;
|
||||||
int *item = (int*)bsearch((void*)&key, (void*)&_atlasIndexArray->arr[0], _atlasIndexArray->num, sizeof(void*), compareInts);
|
int *item = (int*)bsearch((void*)&key, (void*)&_atlasIndexArray->arr[0], _atlasIndexArray->num, sizeof(void*), compareInts);
|
||||||
|
@ -486,23 +486,23 @@ ssize_t TMXLayer::atlasIndexForNewZ(int z)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TMXLayer - adding / remove tiles
|
// TMXLayer - adding / remove tiles
|
||||||
void TMXLayer::setTileGID(unsigned int gid, const Point& pos)
|
void TMXLayer::setTileGID(int gid, const Point& pos)
|
||||||
{
|
{
|
||||||
setTileGID(gid, pos, (ccTMXTileFlags)0);
|
setTileGID(gid, pos, (ccTMXTileFlags)0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TMXLayer::setTileGID(unsigned int gid, const Point& pos, ccTMXTileFlags flags)
|
void TMXLayer::setTileGID(int gid, const Point& pos, ccTMXTileFlags flags)
|
||||||
{
|
{
|
||||||
CCASSERT(pos.x < _layerSize.width && pos.y < _layerSize.height && pos.x >=0 && pos.y >=0, "TMXLayer: invalid position");
|
CCASSERT(pos.x < _layerSize.width && pos.y < _layerSize.height && pos.x >=0 && pos.y >=0, "TMXLayer: invalid position");
|
||||||
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
||||||
CCASSERT(gid == 0 || gid >= _tileSet->_firstGid, "TMXLayer: invalid gid" );
|
CCASSERT(gid == 0 || gid >= _tileSet->_firstGid, "TMXLayer: invalid gid" );
|
||||||
|
|
||||||
ccTMXTileFlags currentFlags;
|
ccTMXTileFlags currentFlags;
|
||||||
unsigned int currentGID = getTileGIDAt(pos, ¤tFlags);
|
int currentGID = getTileGIDAt(pos, ¤tFlags);
|
||||||
|
|
||||||
if (currentGID != gid || currentFlags != flags)
|
if (currentGID != gid || currentFlags != flags)
|
||||||
{
|
{
|
||||||
unsigned gidAndFlags = gid | flags;
|
int gidAndFlags = gid | flags;
|
||||||
|
|
||||||
// setting gid=0 is equal to remove the tile
|
// setting gid=0 is equal to remove the tile
|
||||||
if (gid == 0)
|
if (gid == 0)
|
||||||
|
@ -517,7 +517,7 @@ void TMXLayer::setTileGID(unsigned int gid, const Point& pos, ccTMXTileFlags fla
|
||||||
// modifying an existing tile with a non-empty tile
|
// modifying an existing tile with a non-empty tile
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned int z = (unsigned int)(pos.x + pos.y * _layerSize.width);
|
int z = pos.x + pos.y * _layerSize.width;
|
||||||
Sprite *sprite = static_cast<Sprite*>(getChildByTag(z));
|
Sprite *sprite = static_cast<Sprite*>(getChildByTag(z));
|
||||||
if (sprite)
|
if (sprite)
|
||||||
{
|
{
|
||||||
|
@ -570,11 +570,11 @@ void TMXLayer::removeTileAt(const Point& pos)
|
||||||
CCASSERT(pos.x < _layerSize.width && pos.y < _layerSize.height && pos.x >=0 && pos.y >=0, "TMXLayer: invalid position");
|
CCASSERT(pos.x < _layerSize.width && pos.y < _layerSize.height && pos.x >=0 && pos.y >=0, "TMXLayer: invalid position");
|
||||||
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
CCASSERT(_tiles && _atlasIndexArray, "TMXLayer: the tiles map has been released");
|
||||||
|
|
||||||
unsigned int gid = getTileGIDAt(pos);
|
int gid = getTileGIDAt(pos);
|
||||||
|
|
||||||
if (gid)
|
if (gid)
|
||||||
{
|
{
|
||||||
unsigned int z = (unsigned int)(pos.x + pos.y * _layerSize.width);
|
int z = pos.x + pos.y * _layerSize.width;
|
||||||
ssize_t atlasIndex = atlasIndexForExistantZ(z);
|
ssize_t atlasIndex = atlasIndexForExistantZ(z);
|
||||||
|
|
||||||
// remove tile from GID map
|
// remove tile from GID map
|
||||||
|
@ -676,17 +676,17 @@ Point TMXLayer::getPositionForHexAt(const Point& pos)
|
||||||
int TMXLayer::getVertexZForPos(const Point& pos)
|
int TMXLayer::getVertexZForPos(const Point& pos)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
unsigned int maxVal = 0;
|
int maxVal = 0;
|
||||||
if (_useAutomaticVertexZ)
|
if (_useAutomaticVertexZ)
|
||||||
{
|
{
|
||||||
switch (_layerOrientation)
|
switch (_layerOrientation)
|
||||||
{
|
{
|
||||||
case TMXOrientationIso:
|
case TMXOrientationIso:
|
||||||
maxVal = (unsigned int)(_layerSize.width + _layerSize.height);
|
maxVal = static_cast<int>(_layerSize.width + _layerSize.height);
|
||||||
ret = (int)(-(maxVal - (pos.x + pos.y)));
|
ret = static_cast<int>(-(maxVal - (pos.x + pos.y)));
|
||||||
break;
|
break;
|
||||||
case TMXOrientationOrtho:
|
case TMXOrientationOrtho:
|
||||||
ret = (int)(-(_layerSize.height-pos.y));
|
ret = static_cast<int>(-(_layerSize.height-pos.y));
|
||||||
break;
|
break;
|
||||||
case TMXOrientationHex:
|
case TMXOrientationHex:
|
||||||
CCASSERT(0, "TMX Hexa zOrder not supported");
|
CCASSERT(0, "TMX Hexa zOrder not supported");
|
||||||
|
|
|
@ -109,8 +109,8 @@ public:
|
||||||
/** returns the tile gid at a given tile coordinate. It also returns the tile flags.
|
/** returns the tile gid at a given tile coordinate. It also returns the tile flags.
|
||||||
This method requires the the tile map has not been previously released (eg. don't call [layer releaseMap])
|
This method requires the the tile map has not been previously released (eg. don't call [layer releaseMap])
|
||||||
*/
|
*/
|
||||||
unsigned int getTileGIDAt(const Point& tileCoordinate, ccTMXTileFlags* flags = nullptr);
|
int getTileGIDAt(const Point& tileCoordinate, ccTMXTileFlags* flags = nullptr);
|
||||||
CC_DEPRECATED_ATTRIBUTE unsigned int tileGIDAt(const Point& tileCoordinate, ccTMXTileFlags* flags = nullptr){
|
CC_DEPRECATED_ATTRIBUTE int tileGIDAt(const Point& tileCoordinate, ccTMXTileFlags* flags = nullptr){
|
||||||
return getTileGIDAt(tileCoordinate, flags);
|
return getTileGIDAt(tileCoordinate, flags);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ public:
|
||||||
The Tile GID can be obtained by using the method "tileGIDAt" or by using the TMX editor -> Tileset Mgr +1.
|
The Tile GID can be obtained by using the method "tileGIDAt" or by using the TMX editor -> Tileset Mgr +1.
|
||||||
If a tile is already placed at that position, then it will be removed.
|
If a tile is already placed at that position, then it will be removed.
|
||||||
*/
|
*/
|
||||||
void setTileGID(unsigned int gid, const Point& tileCoordinate);
|
void setTileGID(int gid, const Point& tileCoordinate);
|
||||||
|
|
||||||
/** sets the tile gid (gid = tile global id) at a given tile coordinate.
|
/** sets the tile gid (gid = tile global id) at a given tile coordinate.
|
||||||
The Tile GID can be obtained by using the method "tileGIDAt" or by using the TMX editor -> Tileset Mgr +1.
|
The Tile GID can be obtained by using the method "tileGIDAt" or by using the TMX editor -> Tileset Mgr +1.
|
||||||
|
@ -127,7 +127,7 @@ public:
|
||||||
Use withFlags if the tile flags need to be changed as well
|
Use withFlags if the tile flags need to be changed as well
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setTileGID(unsigned int gid, const Point& tileCoordinate, ccTMXTileFlags flags);
|
void setTileGID(int gid, const Point& tileCoordinate, ccTMXTileFlags flags);
|
||||||
|
|
||||||
/** removes a tile at given tile coordinate */
|
/** removes a tile at given tile coordinate */
|
||||||
void removeTileAt(const Point& tileCoordinate);
|
void removeTileAt(const Point& tileCoordinate);
|
||||||
|
@ -158,8 +158,8 @@ public:
|
||||||
* @js NA
|
* @js NA
|
||||||
* @lua NA
|
* @lua NA
|
||||||
*/
|
*/
|
||||||
inline unsigned int* getTiles() const { return _tiles; };
|
inline int* getTiles() const { return _tiles; };
|
||||||
inline void setTiles(unsigned int* tiles) { _tiles = tiles; };
|
inline void setTiles(int* tiles) { _tiles = tiles; };
|
||||||
|
|
||||||
/** Tileset information for the layer */
|
/** Tileset information for the layer */
|
||||||
inline TMXTilesetInfo* getTileSet() const { return _tileSet; };
|
inline TMXTilesetInfo* getTileSet() const { return _tileSet; };
|
||||||
|
@ -170,8 +170,8 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Layer orientation, which is the same as the map orientation */
|
/** Layer orientation, which is the same as the map orientation */
|
||||||
inline unsigned int getLayerOrientation() const { return _layerOrientation; };
|
inline int getLayerOrientation() const { return _layerOrientation; };
|
||||||
inline void setLayerOrientation(unsigned int orientation) { _layerOrientation = orientation; };
|
inline void setLayerOrientation(int orientation) { _layerOrientation = orientation; };
|
||||||
|
|
||||||
/** properties from the layer. They can be added using Tiled */
|
/** properties from the layer. They can be added using Tiled */
|
||||||
inline const ValueMap& getProperties() const { return _properties; };
|
inline const ValueMap& getProperties() const { return _properties; };
|
||||||
|
@ -198,18 +198,18 @@ private:
|
||||||
Point calculateLayerOffset(const Point& offset);
|
Point calculateLayerOffset(const Point& offset);
|
||||||
|
|
||||||
/* optimization methods */
|
/* optimization methods */
|
||||||
Sprite* appendTileForGID(unsigned int gid, const Point& pos);
|
Sprite* appendTileForGID(int gid, const Point& pos);
|
||||||
Sprite* insertTileForGID(unsigned int gid, const Point& pos);
|
Sprite* insertTileForGID(int gid, const Point& pos);
|
||||||
Sprite* updateTileForGID(unsigned int gid, const Point& pos);
|
Sprite* updateTileForGID(int gid, const Point& pos);
|
||||||
|
|
||||||
/* The layer recognizes some special properties, like cc_vertez */
|
/* The layer recognizes some special properties, like cc_vertez */
|
||||||
void parseInternalProperties();
|
void parseInternalProperties();
|
||||||
void setupTileSprite(Sprite* sprite, Point pos, unsigned int gid);
|
void setupTileSprite(Sprite* sprite, Point pos, int gid);
|
||||||
Sprite* reusedTileWithRect(Rect rect);
|
Sprite* reusedTileWithRect(Rect rect);
|
||||||
int getVertexZForPos(const Point& pos);
|
int getVertexZForPos(const Point& pos);
|
||||||
|
|
||||||
// index
|
// index
|
||||||
ssize_t atlasIndexForExistantZ(unsigned int z);
|
ssize_t atlasIndexForExistantZ(int z);
|
||||||
ssize_t atlasIndexForNewZ(int z);
|
ssize_t atlasIndexForNewZ(int z);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -218,8 +218,8 @@ protected:
|
||||||
//! TMX Layer supports opacity
|
//! TMX Layer supports opacity
|
||||||
unsigned char _opacity;
|
unsigned char _opacity;
|
||||||
|
|
||||||
unsigned int _minGID;
|
int _minGID;
|
||||||
unsigned int _maxGID;
|
int _maxGID;
|
||||||
|
|
||||||
//! Only used when vertexZ is used
|
//! Only used when vertexZ is used
|
||||||
int _vertexZvalue;
|
int _vertexZvalue;
|
||||||
|
@ -237,11 +237,11 @@ protected:
|
||||||
/** size of the map's tile (could be different from the tile's size) */
|
/** size of the map's tile (could be different from the tile's size) */
|
||||||
Size _mapTileSize;
|
Size _mapTileSize;
|
||||||
/** pointer to the map of tiles */
|
/** pointer to the map of tiles */
|
||||||
unsigned int* _tiles;
|
int* _tiles;
|
||||||
/** Tileset information for the layer */
|
/** Tileset information for the layer */
|
||||||
TMXTilesetInfo* _tileSet;
|
TMXTilesetInfo* _tileSet;
|
||||||
/** Layer orientation, which is the same as the map orientation */
|
/** Layer orientation, which is the same as the map orientation */
|
||||||
unsigned int _layerOrientation;
|
int _layerOrientation;
|
||||||
/** properties from the layer. They can be added using Tiled */
|
/** properties from the layer. They can be added using Tiled */
|
||||||
ValueMap _properties;
|
ValueMap _properties;
|
||||||
};
|
};
|
||||||
|
|
|
@ -83,7 +83,7 @@ TMXTilesetInfo::~TMXTilesetInfo()
|
||||||
CCLOGINFO("deallocing TMXTilesetInfo: %p", this);
|
CCLOGINFO("deallocing TMXTilesetInfo: %p", this);
|
||||||
}
|
}
|
||||||
|
|
||||||
Rect TMXTilesetInfo::rectForGID(unsigned int gid)
|
Rect TMXTilesetInfo::rectForGID(int gid)
|
||||||
{
|
{
|
||||||
Rect rect;
|
Rect rect;
|
||||||
rect.size = _tileSize;
|
rect.size = _tileSize;
|
||||||
|
@ -265,7 +265,7 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts)
|
||||||
}
|
}
|
||||||
externalTilesetFilename = FileUtils::getInstance()->fullPathForFilename(externalTilesetFilename.c_str());
|
externalTilesetFilename = FileUtils::getInstance()->fullPathForFilename(externalTilesetFilename.c_str());
|
||||||
|
|
||||||
_currentFirstGID = (unsigned int)attributeDict["firstgid"].asInt();
|
_currentFirstGID = attributeDict["firstgid"].asInt();
|
||||||
|
|
||||||
tmxMapInfo->parseXMLFile(externalTilesetFilename.c_str());
|
tmxMapInfo->parseXMLFile(externalTilesetFilename.c_str());
|
||||||
}
|
}
|
||||||
|
@ -275,15 +275,15 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts)
|
||||||
tileset->_name = attributeDict["name"].asString();
|
tileset->_name = attributeDict["name"].asString();
|
||||||
if (_currentFirstGID == 0)
|
if (_currentFirstGID == 0)
|
||||||
{
|
{
|
||||||
tileset->_firstGid = (unsigned int)attributeDict["firstgid"].asInt();
|
tileset->_firstGid = attributeDict["firstgid"].asInt();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tileset->_firstGid = _currentFirstGID;
|
tileset->_firstGid = _currentFirstGID;
|
||||||
_currentFirstGID = 0;
|
_currentFirstGID = 0;
|
||||||
}
|
}
|
||||||
tileset->_spacing = (unsigned int)attributeDict["spacing"].asInt();
|
tileset->_spacing = attributeDict["spacing"].asInt();
|
||||||
tileset->_margin = (unsigned int)attributeDict["margin"].asInt();
|
tileset->_margin = attributeDict["margin"].asInt();
|
||||||
Size s;
|
Size s;
|
||||||
s.width = attributeDict["tilewidth"].asFloat();
|
s.width = attributeDict["tilewidth"].asFloat();
|
||||||
s.height = attributeDict["tileheight"].asFloat();
|
s.height = attributeDict["tileheight"].asFloat();
|
||||||
|
@ -299,7 +299,7 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts)
|
||||||
{
|
{
|
||||||
TMXLayerInfo* layer = tmxMapInfo->getLayers().back();
|
TMXLayerInfo* layer = tmxMapInfo->getLayers().back();
|
||||||
Size layerSize = layer->_layerSize;
|
Size layerSize = layer->_layerSize;
|
||||||
unsigned int gid = (unsigned int)attributeDict["gid"].asInt();
|
int gid = attributeDict["gid"].asInt();
|
||||||
int tilesAmount = layerSize.width*layerSize.height;
|
int tilesAmount = layerSize.width*layerSize.height;
|
||||||
|
|
||||||
do
|
do
|
||||||
|
@ -435,7 +435,7 @@ void TMXMapInfo::startElement(void *ctx, const char *name, const char **atts)
|
||||||
tiles[tilesAmount - 1] = tilesAmount - 1;
|
tiles[tilesAmount - 1] = tilesAmount - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
layer->_tiles = (unsigned int*) tiles;
|
layer->_tiles = tiles;
|
||||||
}
|
}
|
||||||
else if (encoding == "base64")
|
else if (encoding == "base64")
|
||||||
{
|
{
|
||||||
|
@ -678,11 +678,11 @@ void TMXMapInfo::endElement(void *ctx, const char *name)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
layer->_tiles = (unsigned int*) deflated;
|
layer->_tiles = reinterpret_cast<int*>(deflated);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
layer->_tiles = (unsigned int*) buffer;
|
layer->_tiles = reinterpret_cast<int*>(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
tmxMapInfo->setCurrentString("");
|
tmxMapInfo->setCurrentString("");
|
||||||
|
|
|
@ -107,12 +107,12 @@ public:
|
||||||
ValueMap _properties;
|
ValueMap _properties;
|
||||||
std::string _name;
|
std::string _name;
|
||||||
Size _layerSize;
|
Size _layerSize;
|
||||||
unsigned int *_tiles;
|
int *_tiles;
|
||||||
bool _visible;
|
bool _visible;
|
||||||
unsigned char _opacity;
|
unsigned char _opacity;
|
||||||
bool _ownTiles;
|
bool _ownTiles;
|
||||||
unsigned int _minGID;
|
int _minGID;
|
||||||
unsigned int _maxGID;
|
int _maxGID;
|
||||||
Point _offset;
|
Point _offset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -130,14 +130,14 @@ class CC_DLL TMXTilesetInfo : public Object
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::string _name;
|
std::string _name;
|
||||||
unsigned int _firstGid;
|
int _firstGid;
|
||||||
Size _tileSize;
|
Size _tileSize;
|
||||||
unsigned int _spacing;
|
int _spacing;
|
||||||
unsigned int _margin;
|
int _margin;
|
||||||
//! filename containing the tiles (should be spritesheet / texture atlas)
|
//! filename containing the tiles (should be spritesheet / texture atlas)
|
||||||
std::string _sourceImage;
|
std::string _sourceImage;
|
||||||
//! size in pixels of the image
|
//! size in pixels of the image
|
||||||
Size _imageSize;
|
Size _imageSize;
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @js ctor
|
* @js ctor
|
||||||
|
@ -148,7 +148,7 @@ public:
|
||||||
* @lua NA
|
* @lua NA
|
||||||
*/
|
*/
|
||||||
virtual ~TMXTilesetInfo();
|
virtual ~TMXTilesetInfo();
|
||||||
Rect rectForGID(unsigned int gid);
|
Rect rectForGID(int gid);
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @brief TMXMapInfo contains the information about the map like:
|
/** @brief TMXMapInfo contains the information about the map like:
|
||||||
|
@ -238,8 +238,8 @@ public:
|
||||||
inline void setParentElement(int element) { _parentElement = element; };
|
inline void setParentElement(int element) { _parentElement = element; };
|
||||||
|
|
||||||
/// parent GID
|
/// parent GID
|
||||||
inline unsigned int getParentGID() const { return _parentGID; };
|
inline int getParentGID() const { return _parentGID; };
|
||||||
inline void setParentGID(unsigned int gid) { _parentGID = gid; };
|
inline void setParentGID(int gid) { _parentGID = gid; };
|
||||||
|
|
||||||
/// layer attribs
|
/// layer attribs
|
||||||
inline int getLayerAttribs() const { return _layerAttribs; };
|
inline int getLayerAttribs() const { return _layerAttribs; };
|
||||||
|
@ -296,7 +296,7 @@ protected:
|
||||||
/// parent element
|
/// parent element
|
||||||
int _parentElement;
|
int _parentElement;
|
||||||
/// parent GID
|
/// parent GID
|
||||||
unsigned int _parentGID;
|
int _parentGID;
|
||||||
/// layer attribs
|
/// layer attribs
|
||||||
int _layerAttribs;
|
int _layerAttribs;
|
||||||
/// is storing characters?
|
/// is storing characters?
|
||||||
|
@ -312,7 +312,7 @@ protected:
|
||||||
std::string _currentString;
|
std::string _currentString;
|
||||||
//! tile properties
|
//! tile properties
|
||||||
IntValueMap _tileProperties;
|
IntValueMap _tileProperties;
|
||||||
unsigned int _currentFirstGID;
|
int _currentFirstGID;
|
||||||
};
|
};
|
||||||
|
|
||||||
// end of tilemap_parallax_nodes group
|
// end of tilemap_parallax_nodes group
|
||||||
|
|
Loading…
Reference in New Issue