aboutsummaryrefslogtreecommitdiff
path: root/src/particles.cpp
Commit message (Collapse)AuthorAge
* Particles: Add option to remove particles on collisionAuke Kok2016-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* ParticleManager::handleParticleEvent: use switchLoic Blot2016-03-30
| | | | Use a proper switch with breaks.
* v2d & aabbox3d<f32> & sky cleanupsnerzhul2016-02-11
| | | | | * Sky: rename Box => m_box and inline getBoundingBox * Uniformize aabbox3d<f32> to aabb3f
* Don't pass non-const references to collision methodsest312016-01-29
| | | | | Non const references cause a lot of confusion with behaviour of code, and are disallowed by minetest style guide.
* Change i++ to ++iDavid Jones2015-08-25
|
* Clean up threadingShadowNinja2015-08-23
| | | | | | | | | | | | | | | | | | | | * 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.
* fix infinite spawnersobneq2015-04-18
|
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | 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
* Move texture_min_size even further down the pipe. Now, textures are ↵Aaron Suen2015-03-31
| | | | 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.
* Replace std::list to std::vector into tile.cpp (m_texture_trash) and move ↵Loic Blot2015-03-05
| | | | tile.hpp to src/client/
* Fix some rendering glitchesBlockMen2015-03-05
| | | | | - Fixes particle draworder - Fixes nodehighlighting
* Revert "Fix particles draworder" (issue #2388)Loic Blot2015-02-27
| | | | This reverts commit c09d026f0561ee3c6db821a7e193716f724a0e4a.
* Fix particles draworderBlockMen2015-02-21
|
* Fix particles causing unitialised data being used due to use of incorrect ↵Craig Robbins2015-01-18
| | | | union member
* Fix memory leaks due to messed up memory handling for particles as well as ↵sapier2015-01-09
| | | | their spawners
* Remove most exceptions from getNode() (and variants)Craig Robbins2014-11-14
|
* Fix rendering glitches when far from the center of the mapNovatux2014-03-04
|
* Allow vertical axis particle rotation constraintkhonkhortisan2014-01-13
| | | | | | | Use tables for adding particles, deprecate former way. separate particles(pawner) definition, add default values, work with no arguments
* Fix particle code ignoring return value of std::vector::erase(). Wat.Kahrl2013-12-23
|
* Remove texture atlas / AtlasPointer, rename getTextureRaw to getTextureKahrl2013-07-02
|
* Closed add object <-> object collision handlingsapier2013-03-28
|
* Allow spawning particles from the server, from luaJeija2013-03-23
| | | | | | | | | 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
* Update Copyright YearsSfan52013-02-24
|
* Change Minetest-c55 to MinetestPilzAdam2013-02-24
|
* Add particlesJeija2013-01-14