summaryrefslogtreecommitdiff
path: root/src/map.h
AgeCommit message (Collapse)AuthorFilesLines
2012-02-05Revert "Checking being positions send by the server"Thorbjørn Lindeijer1-5/+0
This reverts commit 92fd074aa85e2357bfe1ab642209dd5a0d87e4d5. Reverting because these checks should be done server-side and because having them in the client would currently require wrapping them up in checks if there is even a current map due to the reliance on tile size (we need to handle the case where the current map didn't load properly without crashing). Conflicts: src/map.cpp src/net/manaserv/beinghandler.cpp Reviewed-by: Erik Schilling
2012-02-03Clear tile flags from the gid before further processingThorbjørn Lindeijer1-1/+1
Better to show non-rotated/flipped tiles than no tile at all. This also fixes interpretation of collision tiles that happen to be flipped. Also interpret the gid as an unsigned number, since that's how they are written in the TMX file since the introduction of these flags. Reviewed-by: Yohann Ferreira
2012-02-03Simplified and made generic the way the pickup is handled.Yohann Ferreira1-1/+1
I also made the range be taken from the server type as for the pickup and npc talk ranges. Last but no least, I fixed the parameters sent with PGMSG_PICKUP to send the (item) position where to pickup at as described in the manaserv protocol. The pickup is still not 100% functional due certainly to two problems: 1. The client item coordinates might not be the exact same as in the server. 2. The client seems to try to pick up the item a bit too soon, probably for the reason given in 1. I'll investigate this in another patch. Reviewed-by: Thorbjørn Lindeijer, Erik Schilling.
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2011-09-16Renamed Map::DebugFlags enumeratorsThorbjørn Lindeijer1-13/+13
Their name is a bit more clear with DEBUG prefix rather than MAP prefix. They're already scoped in the Map class anyway. MAP_NORMAL was changed to DEBUG_NONE to represent no debug flags. Acked-by: Bertram
2011-09-13Fix compilation by readding a missing enum value.Yohann Ferreira1-0/+1
Trivial.
2011-09-11Merge branch '0.5'Thorbjørn Lindeijer1-1/+1
Conflicts: CMakeLists.txt src/map.cpp src/winver.h
2011-09-11Fixed drawing glitch with overwide tilesThorbjørn Lindeijer1-1/+1
The layer rendering code was not prepared to handle tiles that were wider than the tile width of the map. This commit also fixes the initialization of the maximum tile height, which was based on the map height rather than the tile height. This could slightly reduce overdraw for some maps. Reviewed-by: Stefan Beller <stefanbeller@googlemail.com>
2011-06-17Removed dehardcoded values from the Map and MapLayer classes.Yohann Ferreira1-1/+3
2011-06-17First pass on removing tile hard coded values.Yohann Ferreira1-0/+2
Every files has been checked against the hard coded 32 values except the map.cpp file. I also added convenience functions in the Game class, centralized the default item icon size, and removed two unused defines in being.cpp.
2011-05-25Refining switches in the debug viewStefan Dombrowski1-6/+10
Reviewed-by: Bjorn
2011-05-01Checking being positions send by the serverStefan Dombrowski1-0/+5
Reviewed-by: Bertram
2011-04-26Made the client use a unique kind of movement code.Yohann Ferreira1-7/+22
This is fixng many issues and (hopefully) will make the movement rendering much smoother. Merge branch 'master' of gitorious.org:~bertram/mana/mana-movement-code-merge Conflicts: src/being.cpp src/net/manaserv/beinghandler.cpp Resolves: TMW-Mantis #946. Reviewed-by: Thorbjorn.
2011-04-16Post-review fixes.Yohann Ferreira1-1/+1
- Removed unnecessary comments - Removed a useless contains() check in getTileCenter() - Fix the above function documentation - Don't permit FloorItem to be created without a map object. Reviewed-by: Thorbjorn Lindeijer.
2011-04-09Removed a lot of useless "documentation"Thorbjørn Lindeijer1-9/+0
I have to admit I contributed a large part of these. Sorry for that. Less empty space, more attention to the code. Acked-by: Jared Adams
2011-03-29Made the Map::findPath() private as it should be used internally.Yohann Ferreira1-9/+8
I also precised the find/Pixel/Tile/Path() documentation.
2011-03-29Added the Map::getTileCenter() convenience function.Yohann Ferreira1-0/+8
and made use of it through the tA code. I also remove the obsolete TODO in the flooritem class.
2011-03-17Now the client centers the pixel positions when using tA.Yohann Ferreira1-0/+8
I made it so that the behaviour can be changed with only a boolean setting in the playerhandler.
2011-03-10Wrap the open and closed list members in path finding.Yohann Ferreira1-3/+3
This prevent some weird things happening in path finding when playing for a very long time. Reviewed-by: Thorbjorn.
2010-07-22Add two debug map modes and improve slightly map drawing.Andrei Karas1-1/+8
Reviewed-by: Bertram
2010-06-13Merge remote branch '1.0/1.0'Jared Adams1-1/+1
Conflicts: data/graphics/CMakeLists.txt data/graphics/Makefile.am src/client.cpp
2010-06-05Fix memory leak in minimapAndrei Karas1-1/+1
Reviewed-by: Thorbjørn Lindeijer
2010-04-23Add an Actor class to replace the Sprite classJared Adams1-20/+20
The Actor class manages the Map reference, position vector, and alpha float. These are the common parts from it's children.
2010-04-12Move path finding related code to the Map class and small fixes.Bertram1-0/+17
It permits two things: 1. It simplifies and demystifies Being::SetDestination() code. 2. It will permit to show the *real* calulated path when using the drawDebugPath feature for ManaServ.
2010-03-08Fix properties bug.Andrei Karas1-2/+2
Fix Random crushes and valgrind memory errors. Reviewed-by: thorbjorn
2010-03-04Implemented markers for warp portals defined in map files in form of ↵Philipp Sehmisch1-1/+3
particle effects. Reviewed-by: Jared Adams <jaxad0127@gmail.com>
2010-02-22Modify copyright headersFreeyorp1-1/+2
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-09Got successfully rid of tile width/height fallback values as asked by Jaxad.Bertram1-6/+2
But I added some logs when speed and other actions where refused due to game/map uninitialized. This could help.
2010-02-09Separated fallback defaults for tile width and height.Bertram1-3/+5
2010-02-09Made the Beings' logic be able to handle any tile height/width.Bertram1-2/+4
This is the First step to get rid of most hardcoded 32 values.
2010-02-07Updated Copyright year to 2010!Bertram1-1/+1
Also added the update copyright tool from the Wormux Team. ( And not forgetting credit's due. :P )
2010-01-23Chaning the method name Map::getMapId() to map::getFilename()Blue Sans Douze1-1/+1
2010-01-23Autoload a minimap is no minimap info is givenBlue Sans Douze1-0/+5
Looks for "graphics/minimap/MAPID.png"
2010-01-12Standardize header orderJared Adams1-3/+3
Also remove some extra new lines and fix eAthena's PartyTab define guards.
2010-01-10Change code styleAndrei Karas1-1/+1
2010-01-09Add special map mode.Andrei Karas1-2/+18
This mode hide big map objects and show collisions.
2009-12-25Added support for map background images which work exactly like overlays, ↵Philipp Sehmisch1-6/+20
just that they are drawn before the tiles instead of afterwards. Renamed overlays to foregrounds (but kept backward compatibility intact)
2009-12-03Remove some unneeded _SUPPORt ifdefsJared Adams1-2/+0
2009-10-15Speed code unification part 3: Made the client handle the speed in tiles per ↵Bertram1-0/+2
second in TMWserv. While I was on it, I tweaked the default speed value to its final 6 tiles per second value, which seems to be nice to me. Another notice, the server does already send speed value to the player. The keyboard movement protocol is one step ahead Release Candidate, enjoy ;)
2009-10-04Introduced Net::LoginHandler::SetEmailOnRegisterThorbjørn Lindeijer1-1/+1
This "optional action" specifies whether the server expects to get an email address during registration. It is used now instead of having the general handlers of eAthena and tmwserv set a pointer to an email string on the GUI dialogs (to keep things understandable, the dependency should preferably go one way).
2009-08-13Clean up Being and it's derivativesJared Adams1-6/+6
Move stuff only needed for Players into Player (like slots and sprite limits). Move name handling into Being (no need for three copies of this code). Clean up terminology (including Map terminology). Remove hair-related variables.
2009-08-01Remove some unused movement methodsChuck Miller1-7/+0
2009-07-01Remove complex path finding for players. Add a simple path finding algorithm ↵Roderic Morris1-0/+7
to map.
2009-06-08Reintroduced the 'occupied' check for eAthena movement codeBjørn Lindeijer1-0/+7
Makes sure the player walks around other players and beings when reasonably possible. This was meant to be based on the blockmask stuff, but I half removed that a few months ago.
2009-06-08Attempt to clear some of the block/walkmask confusionBjørn Lindeijer1-4/+9
2009-05-25Handle map not found gracefullyBjørn Lindeijer1-4/+7
Instead of shutting down, the client will now draw a gray background. This allows the player to still contact a GM in order to be helped out of the situation. It also helps me warp out of the non-existing map I accidentally warped myself onto. ;)
2009-04-15Assorted random cleanupsBjørn Lindeijer1-1/+1
2009-04-15Moved tile animations outside of the clock time polling loop. There's noTametomo1-3/+3
need to poll the CPU for them, when they already can compensate for missed clock ticks. Signed-off-by: Tametomo <irarice@gmail.com> Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
2009-03-22Merged the tmwserv client with the eAthena clientBjørn Lindeijer1-12/+31
This merge involved major changes on both sides, and as such took several weeks. Lots of things are expected to be broken now, however, we now have a single code base to improve and extend, which can be compiled to support either eAthena or tmwserv. In the coming months, the plan is to work towards a client that supports both eAthena and tmwserv, without needing to be recompiled. Conflicts: Everywhere!