aboutsummaryrefslogtreecommitdiff
path: root/src/collision.h
Commit message (Expand)AuthorAge
* Expose collided objects in moveresultsfan52020-05-06
* Collision various fixes (#9343)TheTermos2020-04-08
* Add disable_jump to liquids and ladders (#7688)SmallJoker2019-06-10
* Client-side autojump. Remove Android-only stepheight autojump (#7228)Ben Deutsch2018-11-22
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
* clientobject, clouds, collision, clientsimpleobject: code modernization (#6260)Loïc Blot2017-08-17
* C++11 patchset 9: move hardcoded init parameters to class definitions (part 1...Loïc Blot2017-06-16
* Don't pass non-const references to collision methodsest312016-01-29
* Fix jittering sounds on entities (fixes #2974)BlockMen2015-10-26
* Remove profiler.h include where it's not needed. Remove some unreachable and ...Loic Blot2015-07-21
* Add an option to disable object <-> object collision for Lua entitiesPilzAdam2013-07-20
* fix objects colliding with its own collision boxessapier2013-04-09
* Closed add object <-> object collision handlingsapier2013-03-28
* Update Copyright YearsSfan52013-02-24
* Change Minetest-c55 to MinetestPilzAdam2013-02-24
* Add bouncy node groupPerttu Ahola2012-09-01
* Custom boxy nodes (stairs, slabs) and collision changesKahrl2012-06-17
* Optimize headersPerttu Ahola2012-06-17
* Switch the license to be LGPLv2/later, with small parts still remaining as GP...Perttu Ahola2012-06-05
* Relatively snappy object-ground collision detectionPerttu Ahola2011-11-29
* GameDef compilesPerttu Ahola2011-11-29
* reorganized a lot of stuff and modified mapgen and objects slightly while doi...Perttu Ahola2011-06-26
* Some work-in-progress in hp and mobs and a frightening amount of random fixes.Perttu Ahola2011-04-21
* implemented rats in new system to verify that it worksPerttu Ahola2011-04-10
t">::IGUIEnvironment* env); ~FontEngine(); /** get Font */ irr::gui::IGUIFont* getFont(unsigned int font_size=FONT_SIZE_UNSPECIFIED, FontMode mode=FM_Unspecified); /** get text height for a specific font */ unsigned int getTextHeight(unsigned int font_size=FONT_SIZE_UNSPECIFIED, FontMode mode=FM_Unspecified); /** get text width if a text for a specific font */ unsigned int getTextWidth(const std::string& text, unsigned int font_size=FONT_SIZE_UNSPECIFIED, FontMode mode=FM_Unspecified) { return getTextWidth(utf8_to_wide(text)); } /** get text width if a text for a specific font */ unsigned int getTextWidth(const std::wstring& text, unsigned int font_size=FONT_SIZE_UNSPECIFIED, FontMode mode=FM_Unspecified); /** get line height for a specific font (including empty room between lines) */ unsigned int getLineHeight(unsigned int font_size=FONT_SIZE_UNSPECIFIED, FontMode mode=FM_Unspecified); /** get default font size */ unsigned int getDefaultFontSize(); /** initialize font engine */ void initialize(Settings* main_settings, gui::IGUIEnvironment* env); /** update internal parameters from settings */ void readSettings(); private: /** disable copy constructor */ FontEngine() : m_settings(NULL), m_env(NULL), m_font_cache(), m_currentMode(FM_Standard), m_lastMode(), m_lastSize(0), m_lastFont(NULL) {}; /** update content of font cache in case of a setting change made it invalid */ void updateFontCache(); /** initialize a new font */ void initFont(unsigned int basesize, FontMode mode=FM_Unspecified); /** initialize a font without freetype */ void initSimpleFont(unsigned int basesize, FontMode mode); /** update current minetest skin with font changes */ void updateSkin(); /** clean cache */ void cleanCache(); /** pointer to settings for registering callbacks or reading config */ Settings* m_settings; /** pointer to irrlicht gui environment */ gui::IGUIEnvironment* m_env; /** internal storage for caching fonts of different size */ std::map<unsigned int, irr::gui::IGUIFont*> m_font_cache[FM_MaxMode]; /** default font size to use */ unsigned int m_default_size[FM_MaxMode]; /** current font engine mode */ FontMode m_currentMode; /** font mode of last request */ FontMode m_lastMode; /** size of last request */ unsigned int m_lastSize; /** last font returned */ irr::gui::IGUIFont* m_lastFont; }; /** interface to access main font engine*/ extern FontEngine* g_fontengine; #endif