aboutsummaryrefslogtreecommitdiff
path: root/src/nodemetadata.h
Commit message (Collapse)AuthorAge
* Add a limit to node meta data resolving recursionShadowNinja2014-05-07
|
* Don't lookup node texts in a endless recursion loopsapier2014-01-07
|
* Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl2013-08-14
|
* Update Copyright YearsSfan52013-02-24
|
* Change Minetest-c55 to MinetestPilzAdam2013-02-24
|
* Implement formspecdarkrose2012-07-22
|
* Optimize headersPerttu Ahola2012-06-17
|
* Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola2012-06-05
| | | | GPLv2/later, by agreement of major contributors
* NodeMetaRef:{to,from}_table and lua_api.txt additionsPerttu Ahola2012-06-03
|
* Strip unneeded variables from NodeMetadatadarkrose2012-06-03
|
* WIP node metadata, node timersKahrl2012-06-03
|
* GenericNodeMetadata and an example furnacePerttu Ahola2011-11-29
|
* Mode node definition loading from Lua (still not finished), fix metadata ↵Perttu Ahola2011-11-29
| | | | creation from name
* Add names to NodeMetadataPerttu Ahola2011-11-29
|
* Create framework for getting rid of global definitions of ↵Perttu Ahola2011-11-29
| | | | node/tool/item/whatever types
* Generic NodeMetadata text inputPerttu Ahola2011-11-29
|
* remove content_* things from map.cppdarkrose2011-09-23
|
* moved inventory menu definition of chest and furnace to content_nodemeta.{h,cpp}Perttu Ahola2011-06-18
|
* Created and moved stuff to content_nodemeta.{h,cpp}Perttu Ahola2011-06-18
|
* new object systemPerttu Ahola2011-04-10
|
* Furnace is now usable. Added more tools.Perttu Ahola2011-04-05
| | | | | | --HG-- rename : data/tool_stpick.png => data/tool_stonepick.png rename : data/tool_wpick.png => data/tool_woodpick.png
* initial workings of the furnacePerttu Ahola2011-04-05
|
* changed node metadata format to better accomodate future needs and problemsPerttu Ahola2011-04-05
|
* Chests work now!Perttu Ahola2011-04-04
|
* initial chest metadataPerttu Ahola2011-04-04
|
* forgot some filesPerttu Ahola2011-04-04
; v2f m_texpos; v2f m_texsize; v3f m_pos; v3f m_velocity; v3f m_acceleration; LocalPlayer *m_player; float m_size; u8 m_light; bool m_collisiondetection; bool m_vertical; v3s16 m_camera_offset; }; class ParticleSpawner { public: ParticleSpawner(IGameDef* gamedef, scene::ISceneManager *smgr, LocalPlayer *player, u16 amount, float time, v3f minp, v3f maxp, v3f minvel, v3f maxvel, v3f minacc, v3f maxacc, float minexptime, float maxexptime, float minsize, float maxsize, bool collisiondetection, bool vertical, video::ITexture *texture, u32 id, ParticleManager* p_manager); ~ParticleSpawner(); void step(float dtime, ClientEnvironment *env); bool get_expired () { return (m_amount <= 0) && m_spawntime != 0; } private: ParticleManager* m_particlemanager; float m_time; IGameDef *m_gamedef; scene::ISceneManager *m_smgr; LocalPlayer *m_player; u16 m_amount; float m_spawntime; v3f m_minpos; v3f m_maxpos; v3f m_minvel; v3f m_maxvel; v3f m_minacc; v3f m_maxacc; float m_minexptime; float m_maxexptime; float m_minsize; float m_maxsize; video::ITexture *m_texture; std::vector<float> m_spawntimes; bool m_collisiondetection; bool m_vertical; }; /** * Class doing particle as well as their spawners handling */ class ParticleManager { friend class ParticleSpawner; public: ParticleManager(ClientEnvironment* env); ~ParticleManager(); void step (float dtime); void handleParticleEvent(ClientEvent *event,IGameDef *gamedef, scene::ISceneManager* smgr, LocalPlayer *player); void addDiggingParticles(IGameDef* gamedef, scene::ISceneManager* smgr, LocalPlayer *player, v3s16 pos, const TileSpec tiles[]); void addPunchingParticles(IGameDef* gamedef, scene::ISceneManager* smgr, LocalPlayer *player, v3s16 pos, const TileSpec tiles[]); void addNodeParticle(IGameDef* gamedef, scene::ISceneManager* smgr, LocalPlayer *player, v3s16 pos, const TileSpec tiles[]); protected: void addParticle(Particle* toadd); private: void stepParticles (float dtime); void stepSpawners (float dtime); void clearAll (); std::vector<Particle*> m_particles; std::map<u32, ParticleSpawner*> m_particle_spawners; ClientEnvironment* m_env; Mutex m_particle_list_lock; Mutex m_spawner_list_lock; }; #endif