summaryrefslogtreecommitdiff
path: root/src/actorspritemanager.cpp
AgeCommit message (Collapse)AuthorFilesLines
2024-08-04Add to npc option targetSelection to allow/disallow npc selection.Thorbjørn Lindeijer1-3/+14
The targetSelection attribute is supported on monsters and NPCs. Also changed return value of Being::getInfo to indicate it can't return nullptr. (cherry picked from M+ commit dbc3b324a0c5dcb1a0ee29b289e71423a06e85fd)
2024-04-02General code cleanupsThorbjørn Lindeijer1-39/+29
* Removed some unused includes * Removed unused ListBox::mFont * Removed wrong cast to SDL_Scancode * Removed superfluous .c_str() * Removed superfluous explicit std::string construction * Removed unused variable * Use more emplace_back * Turned FindBeingFunctor into a lambda * Avoid needless pointer references for ambient layers and use a vector
2024-02-22General code cleanupsThorbjørn Lindeijer1-9/+8
* Use default member initializers * Use range-based loops * Don't use 'else' after 'return' * Removed some unused includes * Construct empty strings with std::string() instead of "" * Clear strings with .clear() instead of assigning "" * Check whether strings are empty with .empty() instead of comparing to "" * Removed redundant initializations
2024-01-29Apply C++11 fixitsThorbjørn Lindeijer1-75/+51
modernize-loop-convert modernize-deprecated-headers
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer1-23/+23
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2013-05-02Fixed network layer doing delayed actor deletionThorbjørn Lindeijer1-1/+8
The delayed actor deletion was meant to be used during the logic calls, to avoid modifying the container while it is being iterated. The deletions happening from the network layer are not done while iterating the set of actors, so it can delete immediately. This fixes an issue where an NPC would disappear when changing appearance on tmwAthena, because this was implemented as a remove + add, which broke due to the delayed deletion. Mantis-issue: 507 Reviewed-by: Jared Adams
2012-04-04Fixed compiler warning because of uninitialized variableErik Schilling1-1/+1
2012-02-17Fixed selecting of beings that are flanked between two othersErik Schilling1-8/+19
Before it was a bit tricky to select the a being if there are two others around. I fixed this by going through all sprites and looking for the closest one to the mouse. Reviewed-by: bjorn.
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2012-01-22Prevented looking at item when picking up while movingErik Schilling1-5/+10
+ Fixes from Bjorns review. Reviewed-by: Bjorn.
2012-01-19Fixed the click area for NPCs and other playersThorbjørn Lindeijer1-8/+17
By taking into account that the sprite is drawn half a tile lower than the position of the being (that is messy on its own, but hard to fix while supporting both pixel and tile based movement). It also makes sure that the click area is at least 32x32 pixels, no matter how small the being. This fixes the lack of a clickable area for NPCs without a sprite (like some chests or signs) and makes small monsters like maggots easier to hit. Reviewed-by: Yohann Ferreira
2012-01-10player_node -> local_playerYohann Ferreira1-9/+9
Reviewed-by: Ablu
2011-06-17First pass on removing tile hard coded values.Yohann Ferreira1-3/+13
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-06-03Replace SDL_types.h with cstdintJared Adams1-2/+2
This required moving to C++0x, so it does that too, and fixes a few errors with that. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2011-03-29Made the flooritems position set back in pixels.Yohann Ferreira1-2/+2
The position is centered to the nearest tile center in tA.
2010-12-06Removed superfluous #includes taken from checkheaders list.Yohann Ferreira1-1/+0
Resolves: Mana-Mantis #265. Trivial fix.
2010-09-25Merge branch '1.0'Thorbjørn Lindeijer1-16/+48
Conflicts: src/actorspritemanager.h src/beingmanager.cpp src/game.cpp src/gui/beingpopup.cpp src/gui/chat.cpp src/gui/chat.h src/gui/inventorywindow.h src/gui/itempopup.cpp src/gui/socialwindow.cpp src/gui/statuswindow.cpp src/gui/widgets/chattab.cpp src/gui/widgets/chattab.h src/net/tmwa/inventoryhandler.cpp src/net/tmwa/partyhandler.cpp src/party.cpp src/sound.cpp src/utils/stringutils.cpp src/utils/stringutils.h
2010-08-16Move more to the event systemJared Adams1-3/+0
Most of Net::InventoryHandler is now done through events. The ActorSpriteManager was also replaced by events. A few odds and ends were taken care of too. Reviewed-by: Bertram
2010-08-04Remove some unused headers and fix some chat eventsJared Adams1-2/+0
Reviewed-by: Chuck Miller
2010-08-02Fix some bugsJared Adams1-0/+3
Trivial fixes.
2010-08-02Remove non-GUI references to MiniStatusWindowJared Adams1-4/+0
Reviewed-by: Freeyorp
2010-06-20Fix ActorSprite double deletionAndrei Karas1-8/+11
Also replaces std::list to std::set in actorspritemanager. Reviewed-by: Chuck Miller <shadowmil@gmail.com>
2010-06-12Fix crash after die.Andrei Karas1-0/+3
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
2010-06-10Merge BeingManager and FloorItemManager as ActorSpriteManagerJared Adams1-0/+312
No need for two different classes to manage ActorSprites. Reviewed-by: Chuck Miller