summaryrefslogtreecommitdiff
path: root/src/particle.h
AgeCommit message (Collapse)AuthorFilesLines
2024-03-12General code cleanupsThorbjørn Lindeijer1-21/+21
* Use default member initializers * Use range-based for loops * Avoid needless pointer references for ShopItem::mDuplicates * Removed type aliases that are only used once or twice * Removed more unused includes * Removed some unused functions * Removed superfluous .c_str() * Rely on default copy and assignment operators for Vector class * Use std::unique_ptr in some places * Removed duplicated mPlayerMoney updating in SellDialog * Removed duplicated Game::handleInput call * Removed unused SDLInput::mMouseInWindow * Removed remnant of manual widget positioning in HelpWindow * Removed superfluous initialization of static pointers
2024-03-06General code cleanupsThorbjørn Lindeijer1-3/+1
* Use final for all message handlers, Client, LocalPlayer, Being::getType, Being::setPosition and Being::setMap. (avoids some warnings about virtual dispatch in constructors) * Use auto in more places * Use emplace_back instead of push_back in some places * Use default member initializers * Less else after return * Removed superfluous .c_str() * Removed type aliases that are only used once * Removed more unused includes
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer1-10/+10
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2012-02-13Fixed drawing order of particlesThorbjørn Lindeijer1-5/+0
This getDrawOrder hack is no longer necessary. It basically moved to the ActorSprite, in the other direction. Reviewed-by: Erik Schilling
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2011-09-02The draw order of particles is now Y - 16 pixels.unknown1-2/+7
This means that the order point of the sprites relative to the particles is no longer the lowest point of the image but instead a point which is approximately between the feet of the characters. The intent of the latest commits to treat sprites as perpendicular to the ground instead of perpendicular to the view line is retained by this approach. I tested this with various particle effects and it results in exactly the expected behavior. Note that this does NOT fix the current problems on TMW with the snail slime effect, because the TMW content team accidently placed this one 10px in the air. Sorry, garbage in, garbage out. getDrawPixelY was re-renamed to getPixelY to be consistent with getPixelX, while getPixelY was renamed to getDrawOrder, to make its purpose clear. Further, particles are no longer drawn when behind other objects. This is implemented by adding a drawnWhenBehind member function to Actor, which currently returns true for everything except particles and compound- sprites with more than one sub-sprites (the later case is consistent with the previous behavior of them). An exception are text particles which are excempt from this exception and whose drawing order is also biased by 16 pixels south instead of north to make them more visible. Plus some minor changes from Bertram. Reviewed-by: Bertram. Resolves: Mana-Mantis #362.
2011-06-07Fix particle positionsJared Adams1-1/+1
Particles were being drawn with wrong positions due to their Z coordinate being taken into account when sorting actors. Z is now only taken into account when drawing them. Reviewed-by: Bertram
2011-04-09Removed a lot of useless "documentation"Thorbjørn Lindeijer1-3/+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
2010-11-01Merge branch '0.5' of gitorious.org:mana/manaYohann Ferreira1-1/+6
Conflicts: src/being.cpp src/client.cpp src/commandhandler.cpp src/gui/setup_video.cpp src/gui/socialwindow.cpp src/gui/viewport.cpp src/gui/widgets/browserbox.cpp src/gui/widgets/itemcontainer.cpp src/imageparticle.cpp src/localplayer.cpp src/localplayer.h src/map.cpp src/net/tmwa/beinghandler.cpp src/particle.cpp src/particle.h src/player.cpp src/player.h
2010-10-17Added death effects to particle engine.Philipp Sehmisch1-7/+23
Every particle can now have a death effect. This is an effect which is created when the particle dies. Which death reasons (timeout, touching floor, touching sky, reaching target or deleted by external call) trigger the effect can also be specified. This is useful for exploding projectiles and many other effects. Reviewed-by: Bertram
2010-10-17Fixed wrong alpha calculation of text particlesPhilipp Sehmisch1-0/+3
This resolves: http://bugs.manasource.org/view.php?id=51 Reviewed-by: Bertram
2010-05-06Add support for floor item spritesJared Adams1-1/+7
This commit adds a sprite hierarchy (Sprite->ImageSprite,AnimatedSprite,CompundSprite; CompoundSprite,Actor->ActorSprite;ActorSprite->Being,FloorItem) to collect common functionailty into new base classes which will make other Mantis tickets easier to do. Also allows monsters to use particle effects. Reviewed-by: Bertram
2010-04-23Add an Actor class to replace the Sprite classJared Adams1-44/+2
The Actor class manages the Map reference, position vector, and alpha float. These are the common parts from it's children.
2010-03-07Added a property to particle files which says if they may be resized based ↵Philipp Sehmisch1-0/+4
on the dimensions in the map file or not. Reviewed-by: Jared Adams
2010-03-04Implemented markers for warp portals defined in map files in form of ↵Philipp Sehmisch1-0/+6
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-10Adds missile-particle attribute to items and monster attacksChuck Miller1-0/+7
To use simply add something like: missile-particle="graphics/particles/arrow.particle.xml" to the item's or monster's xml entry This will only work on equipped weapons, and on specified monster attacks. This patch also fixes a memory leak with target particles
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-12Standardize header orderJared Adams1-3/+3
Also remove some extra new lines and fix eAthena's PartyTab define guards.
2009-12-16Stored the cached config value which says if non-crucial particle effects ↵Philipp Sehmisch1-0/+1
are enabled or not in a static member of class Particle instead of an instanced member of Being.
2009-09-17Partially (but mainly) resolved Mantis #753 by making monsters, NPC, and ↵Bertram1-0/+10
Floor Items visible even covered. Next Step would be to add a caching system for multi-layered sprites + copy functions for SDL and OpenGL. Then, I'll be able to finish this, by making also players visible when covered... But Kage asked me (each and every hour) to do something else first ;)
2009-05-04Remove a superscript 2 from a source fileJared Adams1-1/+1
2009-05-03Added rotational particles, and added code to show arrows when a player ↵Chuck Miller1-1/+0
shoots them.
2009-03-25Merge branch 'eathena/master'Bjørn Lindeijer1-6/+5
Conflicts: A lot of files.
2009-03-22Merged the tmwserv client with the eAthena clientBjørn Lindeijer1-1/+2
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-12Make use of the new available colorsMajin Sniper1-8/+6
This patch lets all being derivatives use the palette to set their name's colors. Text Particle Effects all respect the new settings. Some widgets were updated to use the colors.
2009-02-19Added a pickup notification as particle effect. Also make a ui option to ↵Majin Sniper1-3/+5
enable/disable this effect (default is off) and another option to disable the pickup notification in the chat log (default is on).
2009-02-15Allow pressing enter with focus in port fieldBjørn Lindeijer1-2/+2
Added action event id to port field of login dialog.
2009-02-09Merged with Aethyra master as of 2009-02-09Bjørn Lindeijer1-2/+0
Conflicts: A lot of files...
2009-02-09Merged with Aethyra master as of 2009-01-27Bjørn Lindeijer1-1/+1
Conflicts: Almost everywhere.
2009-02-07Some more include cleanups.Ira Rice1-2/+0
Signed-off-by: Ira Rice <irarice@gmail.com>
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-05Removed a redundant directory, as well as got rid of Windows typeIra Rice1-295/+295
newlines. Signed-off-by: Ira Rice <irarice@gmail.com>
2008-12-14Code reformattingBjørn Lindeijer1-54/+30
I wish I had never fallen for this weird style, and I hope removing it will prevent others from introducing new code like this. :-) (cherry picked from eAthena branch, commit 68760426532b9ca4c6939d7a7b8faa1586ee82e0) Conflicts: src/being.cpp src/being.h src/gui/tabbedcontainer.cpp src/particle.cpp src/particle.h
2008-12-14Passing vectors by referencePhilipp Sehmisch1-295/+295
2008-12-14Fixed some linebreaksPhilipp Sehmisch1-296/+296
2008-12-14Fixed follow-parent of nested and being-following particle emittersPhilipp Sehmisch1-12/+5
2008-12-14Passing vectors by referencePhilipp Sehmisch1-296/+296
2008-12-14Fixed follow-parent of nested and being-following particle emittersPhilipp Sehmisch1-12/+5
2008-12-13Added support for being effects through the eAthena levelup message, and checkBjørn Lindeijer1-0/+9
whether the being exists before referencing it. Re-enabled proper MP bar display. Improved handling of a warp to the same map. (patch by Fate) (cherry picked from eAthena client, the part about the levelup message doesn't apply, and we now seem to have a second "effect manager"...) Conflicts: ChangeLog src/being.cpp src/being.h src/engine.cpp src/engine.h src/gui/ministatus.cpp src/net/beinghandler.cpp src/net/playerhandler.cpp src/net/protocol.h
2008-12-08Code reformattingBjørn Lindeijer1-52/+29
I wish I had never fallen for this weird style, and I hope removing it will prevent others from introducing new code like this. :-)
2008-12-08Code reformattingBjørn Lindeijer1-52/+29
I wish I had never fallen for this weird style, and I hope removing it will prevent others from introducing new code like this. :-)
2008-11-18Pedantic fixes to the client, where I alphabetized all of the include Ira Rice1-2/+0
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-26Merged revisions 4302,4338,4360-4362,4526,4528,4534,4547 via svnmerge from Bjørn Lindeijer1-3/+30
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/branches/0.0 ........ r4302 | crush_tmw | 2008-05-28 18:51:26 +0200 (Wed, 28 May 2008) | 1 line Changed the way particle emitter skip is handled to make linear and circular emitters work with particleEmitterSkip enabled. ........ r4338 | crush_tmw | 2008-06-05 20:41:39 +0200 (Thu, 05 Jun 2008) | 1 line Lowered default particle detail level. ........ r4360 | crush_tmw | 2008-06-23 16:44:20 +0200 (Mon, 23 Jun 2008) | 1 line Implemented "alpha" particle property. ........ r4361 | crush_tmw | 2008-06-23 22:20:05 +0200 (Mon, 23 Jun 2008) | 1 line Forgot changelog with last commit. ........ r4362 | crush_tmw | 2008-06-24 14:29:33 +0200 (Tue, 24 Jun 2008) | 1 line Added particle property "follow-parent" which makes the particle move when its parent particle is moved. ........ r4526 | crush_tmw | 2008-08-24 20:52:00 +0200 (Sun, 24 Aug 2008) | 1 line Added new particle emitter property "output-pause" which allows to define a fixed (or random) interval between two outputs. ........ r4528 | crush_tmw | 2008-08-24 20:58:39 +0200 (Sun, 24 Aug 2008) | 1 line fix for an error in the last commit ........ r4534 | b_lindeijer | 2008-08-27 20:48:13 +0200 (Wed, 27 Aug 2008) | 3 lines Renamed "randomnes" to "randomness", so that it won't show up as part of Fate's patch. ........ r4547 | crush_tmw | 2008-08-29 00:44:43 +0200 (Fri, 29 Aug 2008) | 1 line Added output-pause to copy constructor of particle emitters. ........
2008-10-13Added mob particle attack effects to mobs. Inspired by the TMW patch in Ira Rice1-2/+2
their trunk client.
2008-09-25Merged the Tametomo branch into trunk.Ira Rice1-4/+13