summaryrefslogtreecommitdiff
path: root/src/map.cpp
AgeCommit message (Collapse)AuthorFilesLines
2009-07-01Remove complex path finding for players. Add a simple path finding algorithm ↵Roderic Morris1-0/+44
to map.
2009-06-08Reintroduced the 'occupied' check for eAthena movement codeBjørn Lindeijer1-2/+21
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-08Fixed the problem where the player would skip cornersBjørn Lindeijer1-5/+5
Skipping corners is only allowed around other beings (you can even walk through them), but not for collision tiles. The server doesn't allow this, so allowing it client-side leads to synchronization problems. Mantis-issue: 730
2009-06-08Attempt to clear some of the block/walkmask confusionBjørn Lindeijer1-1/+1
2009-05-25Handle map not found gracefullyBjørn Lindeijer1-0/+13
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-29Some random cleanupsBjørn Lindeijer1-5/+5
2009-04-15Moved tile animations outside of the clock time polling loop. There's noTametomo1-5/+5
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-27Moved the inventory and storage offset handling into netcodeBjørn Lindeijer1-1/+3
No need to complicate the item containers and inventory classes with a silly offset used by the eAthena server. Also fixed the logToStandardOut option by reading it from the config after the configuration has been initialized.
2009-03-27Clean up some ifdefs and start cleanup of partiesJared Adams1-4/+0
2009-03-27Fixed some positioning issuesBjørn Lindeijer1-1/+1
Started with not being able to click NPCs properly, and I ended up correcting the draw positions of overhead text, targets and sprite ordering. It's now a bit more straight-forward. The position of a being is simply in the middle of the sprite at the bottom. When drawing the sprite, an offset remains because all the sprites are compensating for getting drawn half a tile to the left and one tile up.
2009-03-25Merge branch 'eathena/master'Bjørn Lindeijer1-7/+7
Conflicts: A lot of files.
2009-03-23Merge branch 'aethyra/master'Bjørn Lindeijer1-6/+6
Conflicts: Many files.
2009-03-22Merged the tmwserv client with the eAthena clientBjørn Lindeijer1-30/+132
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!
2009-03-17Added an image merge feature loosely based on a merge function found inIra Rice1-6/+6
the open source project Wormux. To improve SDL performance, the number of layers that are pushed out to the hardware or software buffers should be reduced, which is where this function comes into play, as it combines two surfaces together so that the number of blit operations is reduced. This function is currently not used, but will be used once a good way to link each of the target systems is determined so that it only initiates when SDL is enabled, as well as making sure that each hook that uses this function is benefiting from it sufficiently. At the moment, it's suspected that the particle engine will likely be the most likely to benefit from this function, followed by tile drawing, then sprite drawing. Signed-off-by: Ira Rice <irarice@gmail.com>
2009-03-10Remove some tabs and trailing whitespaceJared Adams1-1/+1
2009-03-10Remove some tabs and trailing whitespaceJared Adams1-1/+1
2009-02-18Introduced a toLower method and grouped string utilsBjørn Lindeijer1-1/+1
The string utility methods are now grouped together in the stringutils.h header. Also, a toLower method was added for convenience.
2009-02-18Introduced a toLower method and grouped string utilsBjørn Lindeijer1-1/+1
The string utility methods are now grouped together in the stringutils.h header. Also, a toLower method was added for convenience.
2009-02-15Merge commit 'aethyra/master'Bjørn Lindeijer1-12/+19
Conflicts: CMakeLists.txt configure.ac data/help/header.txt packaging/windows/setup.nsi po/POTFILES.in src/being.cpp src/being.h src/game.cpp src/gui/color.cpp src/gui/color.h src/gui/equipmentwindow.h src/gui/popupmenu.cpp src/gui/recorder.cpp src/gui/setup_colors.h src/gui/setup_keyboard.cpp src/gui/setup_keyboard.h src/gui/skill.cpp src/gui/speechbubble.cpp src/gui/speechbubble.h src/gui/table.cpp src/keyboardconfig.cpp src/keyboardconfig.h src/localplayer.cpp src/main.cpp src/main.h src/map.cpp src/resources/colordb.cpp src/resources/colordb.h src/resources/emotedb.cpp src/resources/emotedb.h src/text.cpp src/text.h src/tmw.rc src/winver.h
2009-02-10Fixed header files, as well as removed the unused buddy list class (notIra Rice1-2/+3
useful since buddy lists are tracked through the player relation interface instead) Signed-off-by: Ira Rice <irarice@gmail.com>
2009-02-10Simplified target drawing so that it actually uses the SimpleAnimationIra Rice1-13/+16
that it creates when initializing the target cursors in the first place. This behavior was carried over in the first place from the Viewport class. Also moved target drawing responsibility from the map to the being being targeted in the first place. This allows for assuring that targets are always drawn below the sprite being targeted (which the previous solution was designed to do, but didn't do correctly). Signed-off-by: Ira Rice <irarice@gmail.com>
2009-02-10Removed crash introduced by Aethyra.Philipp Sehmisch1-5/+0
2009-02-10Fix segfault when leaving maps with animated tilesJared Adams1-1/+2
2009-02-09Merged with Aethyra master as of 2009-02-09Bjørn Lindeijer1-0/+5
Conflicts: A lot of files...
2009-02-09Merged with Aethyra master as of 2009-01-27Bjørn Lindeijer1-9/+14
Conflicts: Almost everywhere.
2009-02-07Some more include cleanups.Ira Rice1-0/+5
Signed-off-by: Ira Rice <irarice@gmail.com>
2009-01-25Fixed performance hickups caused by animations due to buggy tick timer. A ↵Philipp Sehmisch1-11/+12
tad less performant than the intended solution but at least it is constantly so.
2009-01-25Fixed performance hickups caused by animations due to buggy tick timer. A ↵Philipp Sehmisch1-11/+12
tad less performant than the intended solution but at least it is constantly so.
2009-01-23Removed unnecessary references to The Mana World in code headersBjørn Lindeijer1-4/+4
This dates back to the old days of TMW, but the usage instructions of GPLv2 don't mention this being necessary. Since it doesn't add anything, avoid the branding in these sections.
2009-01-23Removed unnecessary references to The Mana World in code headersBjørn Lindeijer1-4/+4
This dates back to the old days of TMW, but the usage instructions of GPLv2 don't mention this being necessary. Since it doesn't add anything, avoid the branding in these sections.
2009-01-06Added support for animated tiles.Philipp Sehmisch1-1/+50
2009-01-06Added support for animated tiles.Philipp Sehmisch1-1/+50
2009-01-05Renamed PATH_NODE to Position as on mainlineBjørn Lindeijer1-1/+1
2009-01-05Renamed PATH_NODE to Position as on mainlineBjørn Lindeijer1-1/+1
2008-12-08Introduced another template to make deleting all values in a container easier.Bjørn Lindeijer1-4/+3
Inspired by qDeleteAll() from Qt. Conflicts: ChangeLog src/beingmanager.cpp src/channelmanager.cpp src/gui/skill.cpp src/map.cpp src/resources/monsterinfo.cpp (cherry picked from mainline)
2008-12-07Merge commit 'a7c21e6f8add37af7412449742ec55c8daa8571a'Ira Rice1-26/+26
Conflicts: AUTHORS CMakeLists.txt ChangeLog INSTALL README aethyra.cbp configure.ac data/help/changes.txt data/help/commands.txt data/help/header.txt data/help/support.txt src/Makefile.am src/aethyra.rc src/being.cpp src/being.h src/equipment.cpp src/equipment.h src/floor_item.h src/game.cpp src/gui/buddywindow.cpp src/gui/char_select.cpp src/gui/char_server.cpp src/gui/chat.cpp src/gui/chat.h src/gui/equipmentwindow.cpp src/gui/equipmentwindow.h src/gui/gui.cpp src/gui/inventorywindow.cpp src/gui/inventorywindow.h src/gui/itemcontainer.cpp src/gui/itemcontainer.h src/gui/minimap.cpp src/gui/ministatus.cpp src/gui/newskill.cpp src/gui/npc_text.cpp src/gui/npclistdialog.h src/gui/ok_dialog.cpp src/gui/setup_video.cpp src/gui/skill.cpp src/gui/skill.h src/gui/status.h src/gui/table_model.h src/gui/updatewindow.cpp src/gui/viewport.cpp src/inventory.cpp src/inventory.h src/keyboardconfig.cpp src/keyboardconfig.h src/localplayer.cpp src/localplayer.h src/logindata.h src/main.cpp src/map.cpp src/monster.cpp src/monster.h src/net/beinghandler.cpp src/net/beinghandler.h src/net/buysellhandler.cpp src/net/equipmenthandler.cpp src/net/loginhandler.cpp src/net/loginhandler.h src/net/network.h src/net/npchandler.cpp src/net/playerhandler.cpp src/net/protocol.h src/net/tradehandler.cpp src/npc.cpp src/npc.h src/particleemitter.cpp src/particleemitterprop.h src/player.cpp src/player.h src/player_relations.cpp src/resources/imageset.cpp src/resources/imageset.h src/resources/itemdb.cpp src/resources/mapreader.cpp src/resources/monsterinfo.h src/text.cpp src/text.h src/textmanager.cpp src/textmanager.h src/tileset.h src/utils/fastsqrt.h src/utils/strprintf.cpp src/winver.h tools/tmxcopy/Makefile tools/tmxcopy/base64.cpp tools/tmxcopy/base64.h tools/tmxcopy/tostring.h Signed-off-by: Ira Rice <irarice@gmail.com>
2008-11-18Pedantic fixes to the client, where I alphabetized all of the include Ira Rice1-5/+2
statements, as well as removing the new skill dialog, which we do not, nor will we use (if we do, it'd be a new one that we'd make). WARNING!!! This, and all other previous builds have a linker error for the Gnome libraries version 4.3.2 on my setup. It's assumed that this is also the case for other users of this library as well. I'm currently assuming that there's a bug in the compiler itself, and will look into reporting this, but in the mean time, it doesn't build for these users, unfortunately. Sorry about this.
2008-11-16Got rid of CVS/Subversion $Id$ markersBjørn Lindeijer1-2/+0
I don't know why we dealt with these things for so long. Did we ever get anything out of it?
2008-11-16Got rid of CVS/Subversion $Id$ markersBjørn Lindeijer1-2/+0
I don't know why we dealt with these things for so long. Did we ever get anything out of it?
2008-10-27Made targets draw on the fringe layer, as well as added t for talking to Ira Rice1-0/+2
an NPC, n for targeting an NPC, and changed basic targeting code so that it'll time out after being on a target for longer than a minute.
2008-10-14Early addition of a particle effect disabling option. Would like to Ira Rice1-5/+8
change this in the future to update instantaneously.
2008-10-09Merged the movement branch into trunkBjørn Lindeijer1-32/+3
I consider this the only way forward. In my tests this code isn't actually doing worse than what was there before. Of course some cases are a bit broken, and I'm open to any kind of feedback so that we can fix those issues.
2008-10-01Possible fix for the arrow crashing bug. Confirmation needed.Ira Rice1-6/+3
2008-09-25Merged the Tametomo branch into trunk.Ira Rice1-109/+117
2008-09-04Introduced another template to make deleting all values in a container easier.Bjørn Lindeijer1-5/+4
Inspired by qDeleteAll() from Qt.
2008-07-18Import of client treeLloyd Bryant1-1/+1
2008-07-01Merged revisions 4044-4067 via svnmerge from Bjørn Lindeijer1-97/+109
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk ........ r4044 | b_lindeijer | 2008-04-07 11:02:38 +0200 (Mon, 07 Apr 2008) | 2 lines Added support for basing one sprite definition on another by including it. ........ r4057 | b_lindeijer | 2008-04-08 20:43:44 +0200 (Tue, 08 Apr 2008) | 4 lines Implemented support for an arbitrary number of map layers. The only layer requirement for map layers are now that the fringe layer is called "Fringe" and that the collision layer is called "Collision". ........ r4067 | b_lindeijer | 2008-04-11 00:03:57 +0200 (Fri, 11 Apr 2008) | 3 lines Fixed some compiler warnings and don't try to load particle effects when no file is set. ........
2008-04-22Fixed a bug, thanks GCC 4.3!Bjørn Lindeijer1-1/+2
2008-04-08Implemented support for an arbitrary number of map layers. The only layerBjørn Lindeijer1-100/+108
requirement for map layers are now that the fringe layer is called "Fringe" and that the collision layer is called "Collision".
2008-03-15Fixed a crash caused by the new blocking system.Philipp Sehmisch1-4/+9