diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-09-13 18:08:22 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-09-13 18:08:22 +0200 |
commit | d6248271842aa6edc26135568d92150f69491292 (patch) | |
tree | cc8c659fb55215f5f60d1ad56c79612004e212cd | |
parent | 135da0b9b7604d3348bf6955f4dae35211dd307c (diff) | |
parent | 7b68fc4ec5c2779a83ecfd214d23687132b3432a (diff) | |
download | mana-d6248271842aa6edc26135568d92150f69491292.tar.gz mana-d6248271842aa6edc26135568d92150f69491292.tar.bz2 mana-d6248271842aa6edc26135568d92150f69491292.tar.xz mana-d6248271842aa6edc26135568d92150f69491292.zip |
Merge github.com:mana/mana
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | data/help/changes.txt | 13 | ||||
-rw-r--r-- | data/help/header.txt | 4 | ||||
-rw-r--r-- | src/main.h | 2 | ||||
-rw-r--r-- | src/map.cpp | 15 | ||||
-rw-r--r-- | src/map.h | 3 |
7 files changed, 28 insertions, 18 deletions
@@ -1,3 +1,10 @@ +0.5.3 (11 September 2011) +- Fixed endless loop when a sprite definition promises too many images +- Fixed crash when selecting a character that has a Dark Talisman equipped +- Fixed drawing glitch with overwide tiles +- Fixed scaling of overlays in OpenGL mode +- Fixed building without OpenGL + 0.5.2 (17 April 2011) - Removed NPC "Thanks for buying/selling" messages from the chat - Added a few missing authentication failure reasons @@ -1,7 +1,7 @@ THE MANA CLIENT =============== - Version: 0.5.2 Date: 2011-04-17 + Version: 0.5.3 Date: 2011-09-11 Development team: - See AUTHORS file for a list diff --git a/data/help/changes.txt b/data/help/changes.txt index 2453a608..33fb2845 100644 --- a/data/help/changes.txt +++ b/data/help/changes.txt @@ -3,6 +3,11 @@ ##3 === RECENT CHANGES === + 0.5.3 (11 September 2011) + - Fixed endless loop when a sprite definition promises too many images + - Fixed crash when selecting a character that has a Dark Talisman equipped + - Fixed building without OpenGL + 0.5.2 (17 April 2011) - Removed NPC "Thanks for buying/selling" messages from the chat - Added a few missing authentication failure reasons @@ -142,11 +147,3 @@ - Fixed inability to chat while talking to NPCs - Updated Swedish translation - 0.0.28 (25 January 2009) - - Added support for animated map tiles - - Added support for internationalization, plus many translations - - Added support for TrueType fonts - - Trade window is now resizable - - Obscure precise home directory name when making screenshots - - Fixed follow-parent of nested and being-following particle emitters - diff --git a/data/help/header.txt b/data/help/header.txt index 505ae25c..52ecedae 100644 --- a/data/help/header.txt +++ b/data/help/header.txt @@ -1,8 +1,8 @@ -##1 M A N A S O U R C E +##1 M A N A C L I E N T ##1 ========================================== - ##2Version:##6 0.5.2 ##2Date:##3 17 April 2011 + ##2Version:##6 0.5.3 ##2Date:##3 11 September 2011 ##2 Website: http://manasource.org @@ -55,7 +55,7 @@ #elif defined WIN32 #include "winver.h" #elif defined __APPLE__ -#define PACKAGE_VERSION "0.5.2" +#define PACKAGE_VERSION "0.5.3" #endif #ifdef PACKAGE_VERSION diff --git a/src/map.cpp b/src/map.cpp index ac287be4..3e5e8e12 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -121,8 +121,10 @@ Image* MapLayer::getTile(int x, int y) const return mTiles[x + y * mWidth]; } -void MapLayer::draw(Graphics *graphics, int startX, int startY, - int endX, int endY, int scrollX, int scrollY, +void MapLayer::draw(Graphics *graphics, + int startX, int startY, + int endX, int endY, + int scrollX, int scrollY, const Actors &actors, int debugFlags) const { startX -= mX; @@ -218,8 +220,9 @@ int MapLayer::getTileDrawWidth(int x1, int y1, int endX, int &width) const Map::Map(int width, int height, int tileWidth, int tileHeight): mWidth(width), mHeight(height), mTileWidth(tileWidth), mTileHeight(tileHeight), - mMaxTileHeight(height), - mDebugFlags(0), + mMaxTileHeight(tileHeight), + mMaxTileWidth(tileWidth), + mDebugFlags(MAP_NORMAL), mOnClosedList(1), mOnOpenList(2), mLastScrollX(0.0f), mLastScrollY(0.0f) { @@ -321,6 +324,8 @@ void Map::addTileset(Tileset *tileset) if (tileset->getHeight() > mMaxTileHeight) mMaxTileHeight = tileset->getHeight(); + if (tileset->getWidth() > mMaxTileWidth) + mMaxTileWidth = tileset->getWidth(); } bool actorCompare(const Actor *a, const Actor *b) @@ -344,7 +349,7 @@ void Map::draw(Graphics *graphics, int scrollX, int scrollY) // Calculate range of tiles which are on-screen int endPixelY = graphics->getHeight() + scrollY + mTileHeight - 1; endPixelY += mMaxTileHeight - mTileHeight; - int startX = scrollX / mTileWidth; + int startX = (scrollX - mMaxTileWidth + mTileWidth) / mTileWidth; int startY = scrollY / mTileHeight; int endX = (graphics->getWidth() + scrollX + mTileWidth - 1) / mTileWidth; int endY = endPixelY / mTileHeight; @@ -162,6 +162,7 @@ class Map : public Properties enum DebugFlags { + MAP_NORMAL = 0x0, MAP_GRID = 0x1, MAP_COLLISION_TILES = 0x2, MAP_BEING_COLLISION_RADIUS = 0x4, @@ -386,7 +387,7 @@ class Map : public Properties int mWidth, mHeight; int mTileWidth, mTileHeight; - int mMaxTileHeight; + int mMaxTileHeight, mMaxTileWidth; MetaTile *mMetaTiles; Layers mLayers; Tilesets mTilesets; |