summaryrefslogtreecommitdiff
path: root/src/particleemitter.cpp
AgeCommit message (Collapse)AuthorFilesLines
2024-09-28Replaced all "xmlChildrenNode" with "children"Thorbjørn Lindeijer1-1/+1
Because "xmlChildrenNode" is a macro defined for compatibility with libxml1, which we don't support.
2024-09-27Replaced for_each_xml_child_node macro with helper classThorbjørn Lindeijer1-3/+3
The new XML::Children class enables using a C++11 range-based for loop to iterate over the children of an xmlNodePtr.
2024-04-08Use ResourceRef<Image> in more placesThorbjørn Lindeijer1-10/+3
Automatic reference counting of images is now used by Item, Icon, AnimatedSprite, ImageSprite, ParticleEmitter, Minimap, Desktop and Emote. Since ResourceManager::get automatically adds a reference, it needs to be explicitly subtracted when the resource is managed by ResourceRef. This is taken care of by the new ResourceManager::getImageRef. Also removed the apprently unused and duplicate "mDrawImage" from Item (which also didn't get decRef called on it). Fixes cleanup of emote ImageSet and ImageSprite instances, as well as particle images.
2024-03-07Use the native TMX tile animation formatThorbjørn Lindeijer1-4/+2
Rewrote the tile animation loading code based on XML tags, replacing the code that loaded tile animations from tile properties. Also made a number of code simplifications and optimizations: * Replaced a number of pointer members with value members. * Pass around Animation and TileAnimation by value, using std::move to avoid allocating copies. * push -> emplace * push_front -> emplace_front * push_back -> emplace_back * Use range-based for loops * Use std::vector instead of std::list for storing affected tiles (less fragmentation) * Avoid string copies and allocations while parsing CSV layer data. * Replaced xmlNodeGetContent with directly accessing 'content'.
2024-01-29Apply C++11 fixitsThorbjørn Lindeijer1-4/+2
modernize-loop-convert modernize-deprecated-headers
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer1-4/+4
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2012-07-25Prevented crash with nonexisting particle sprite.Erik Schilling1-2/+10
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2011-06-22Made possible to separate the dye colors and channelsYohann Ferreira1-2/+9
for particle effects. It is now possible to write, for instance: <particlefx>my-particle-file.xml|#cbcb78,345678</particlefx> and in my-particle-file.xml: ... <property image="my-image.png|W" /> ... This will permit the use (and reuse) of generic particle files.
2011-06-17First pass on removing tile hard coded values.Yohann Ferreira1-2/+7
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.
2010-10-17Added death effects to particle engine.Philipp Sehmisch1-0/+29
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-03-04Implemented markers for warp portals defined in map files in form of ↵Philipp Sehmisch1-0/+25
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-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-2/+2
Also remove some extra new lines and fix eAthena's PartyTab define guards.
2010-01-10Change code styleAndrei Karas1-13/+12
2009-05-03Added rotational particles, and added code to show arrows when a player ↵Chuck Miller1-0/+75
shoots them.
2009-02-10Use string::empty() instead of comparing to ""Bjørn Lindeijer1-2/+2
2009-02-07Some more include cleanups.Ira Rice1-3/+2
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-15Style cleanups throughout most of the code. Splitting function type fromIra Rice1-2/+1
the function names should no longer be around. Signed-off-by: Ira Rice <irarice@gmail.com>
2009-01-05Removed a redundant directory, as well as got rid of Windows typeIra Rice1-3/+3
newlines. Signed-off-by: Ira Rice <irarice@gmail.com>
2008-12-14Some systactical sugar for 864e33Philipp Sehmisch1-5/+3
2008-12-14Fixed follow-parent of nested and being-following particle emittersPhilipp Sehmisch1-5/+6
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-10-26Added Crush's recent Particle engine modifications from TMW.Ira Rice1-41/+59
2008-10-13Added mob particle attack effects to mobs. Inspired by the TMW patch in Ira Rice1-1/+3
their trunk client.
2008-10-10Did a little bit of code cleanup (mostly from TMW changes) as well as Ira Rice1-3/+2
properly implemented line wrapping. Now, there are no more visual artifacts for speech boxes, and it always chooses the most optimal box size (which required that npc_text use it also. Do any other gui classes use the textbox class?).
2008-09-25Merged the Tametomo branch into trunk.Ira Rice1-6/+23
2008-07-18Import of client treeLloyd Bryant1-1/+1
2008-06-24Added particle property "follow-parent" which makes the particle move when ↵Philipp Sehmisch1-0/+7
its parent particle is moved.
2008-06-23Implemented "alpha" particle property.Philipp Sehmisch1-0/+7
2007-12-24Fixed compile warning.Bjørn Lindeijer1-0/+2
2007-12-23Particle images are now reference-counted properly. Avoided attempts to load ↵Philipp Sehmisch1-0/+33
"data/graphics/" when a monster or equipment piece has no sprite. Error placeholder is now used when attempting to load a sprite definition file that doesn't exist.
2007-09-20Merged a bunch of small changes from trunk to 0.0 and set svn:eol-style Bjørn Lindeijer1-323/+323
to native for some files that were still missing this property. This is a feeble attempt to reduce the amount of conflicts for future merges.
2007-08-23Removed two useless popup related methods, used generic close buttonBjørn Lindeijer1-17/+13
functionality for the debug window and renamed Particle::mVector to Particle::mVelocity for clarity.
2007-06-27Corrected some perspective issues of the particle engine and fixed a crash ↵Philipp Sehmisch1-6/+6
caused by particles with child emitters that have an image than isn't used elsewhere. Added a particle effect at the spawn point in Tulimshar (we should have at least one particle effect that demonstrates acceleration and particles with emitters)
2007-06-03Have ParticleEmitter load a possible particle image early on and don't cause aBjørn Lindeijer1-22/+36
crash when the image can't be found.
2007-05-04Merged particle engine into main eAthena branch.Philipp Sehmisch1-0/+313