aboutsummaryrefslogtreecommitdiff
path: root/src/particles.cpp
AgeCommit message (Collapse)Author
2016-05-28Particles: Add option to remove particles on collisionAuke Kok
Adds the particle option `collision_removal = bool` Some particles are hard to use right now since they either go through solid blocks (without collision detection), and with collision detection enabled they (e.g. raindrops) would just stop dead on the floor and sit there until they expire, or worse, scrape along a wall or ceiling. We can solve the problem by adding a boolean flag that tells the particle to be removed if it ever collides with something. This will make it easier to add rain that doesn't fall through your roof or stick on the top of it. Or clouds and smoke that don't go through trees. Particles that collide with this flag are marked expired unconditionally, causing them to be treated like normal expired particles and cleaned up normally. Documentation is adjusted accordingly. An added bonus of this patch is that particles can potentially collide many times with nodes, and this reduces the amount of collisions to 1 (max), which may end up reducing particle load on the client.
2016-03-30ParticleManager::handleParticleEvent: use switchLoic Blot
Use a proper switch with breaks.
2016-02-11v2d & aabbox3d<f32> & sky cleanupsnerzhul
* Sky: rename Box => m_box and inline getBoundingBox * Uniformize aabbox3d<f32> to aabb3f
2016-01-29Don't pass non-const references to collision methodsest31
Non const references cause a lot of confusion with behaviour of code, and are disallowed by minetest style guide.
2015-08-25Change i++ to ++iDavid Jones
2015-08-23Clean up threadingShadowNinja
* Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
2015-04-18fix infinite spawnersobneq
2015-04-01Move globals from main.cpp to more sane locationsCraig Robbins
Move debug streams to log.cpp|h Move GUI-related globals to clientlauncher Move g_settings and g_settings_path to settings.cpp|h Move g_menuclouds to clouds.cpp|h Move g_profiler to profiler.cpp|h
2015-03-31Move texture_min_size even further down the pipe. Now, textures are ↵Aaron Suen
JIT-upscaled using an image transformation, right at the time they're added to a mesh or particle; images used in 2D elements are left unscaled. This should fix any remaining issues with HUD elements.
2015-03-05Replace std::list to std::vector into tile.cpp (m_texture_trash) and move ↵Loic Blot
tile.hpp to src/client/
2015-03-05Fix some rendering glitchesBlockMen
- Fixes particle draworder - Fixes nodehighlighting
2015-02-27Revert "Fix particles draworder" (issue #2388)Loic Blot
This reverts commit c09d026f0561ee3c6db821a7e193716f724a0e4a.
2015-02-21Fix particles draworderBlockMen
2015-01-18Fix particles causing unitialised data being used due to use of incorrect ↵Craig Robbins
union member
2015-01-09Fix memory leaks due to messed up memory handling for particles as well as ↵sapier
their spawners
2014-11-14Remove most exceptions from getNode() (and variants)Craig Robbins
2014-03-04Fix rendering glitches when far from the center of the mapNovatux
2014-01-13Allow vertical axis particle rotation constraintkhonkhortisan
Use tables for adding particles, deprecate former way. separate particles(pawner) definition, add default values, work with no arguments
2013-12-23Fix particle code ignoring return value of std::vector::erase(). Wat.Kahrl
2013-07-02Remove texture atlas / AtlasPointer, rename getTextureRaw to getTextureKahrl
2013-03-28Closed add object <-> object collision handlingsapier
2013-03-23Allow spawning particles from the server, from luaJeija
Spawn single particles or make use of ParticleSpawner for many randomly spawned particles. Accessible in Lua using minetest.spawn_particle and minetest.add_particlespawner. Increase Protocol Version to 17. Conflicts: src/clientserver.h
2013-02-24Update Copyright YearsSfan5
2013-02-24Change Minetest-c55 to MinetestPilzAdam
2013-01-14Add particlesJeija