summaryrefslogtreecommitdiff
path: root/src/wieldmesh.cpp
Commit message (Collapse)AuthorAge
* Global new() or grab() to be managed in constuctor only (#7235 partial) (#7236)JDCodeIt2018-04-30
| | | | | | * g_extrusion_mesh_cache new() and grab() to be managed in constuctor only (#7235 partial) This global was getting grab()-ed by each call to getItemMesh, incrementing its reference count. What was to be the final drop() in the destructor ended up with > 0 reference count, so memory not freed by Irrlicht.
* Update mesh collector and move it to a separate file (#6904)Vitaliy2018-03-22
| | | | | | * Update MeshCollector * Simplify MeshCollector
* Node definition manager refactor (#7016)Dániel Juhász2018-02-10
| | | | | | | | | * Rename IWritableNodeDefManager to NodeDefManager * Make INodeDefManager functions const * Use "const *NodeDefManager" instead of "*INodeDefManager" * Remove unused INodeDefManager class * Merge NodeDefManager and CNodeDefManager * Document NodeDefManager
* Fix items turning black (#6780)Vitaliy2017-12-16
|
* Fix item and wield meshes (#6596)Vitaliy2017-11-14
|
* Real global textures (#6105)Vitaliy2017-10-15
| | | | | | | | * Real global textures * Add world-aligned textures * Update minimal to support world-aligned tiles * Update minimal
* Overlays for wield and inventory images (#6107)Dániel Juhász2017-08-25
| | | | * Overlays for wield and inventory images
* Modernize code: very last fixes (#6290)Loïc Blot2017-08-20
| | | Last modernization fixes
* Modernize source code: last part (#6285)Loïc Blot2017-08-20
| | | | | | | | | | | * Modernize source code: last par * Use empty when needed * Use emplace_back instead of push_back when needed * For range-based loops * Initializers fixes * constructors, destructors default * c++ C stl includes
* Optimize headers (part 2) (#6272)Loïc Blot2017-08-18
| | | | | | | | | | | | | | * Optimize headers (part 2) * less debug.h in headers * less remoteplayer.h for everybody * Cleanup (part 2) * camera.h: mesh.h * mapgen.h: mapnode.h * serverenvironment.h: mapblock.h * nodedef.h: shader.h
* TileLayer: use shared_ptr for FrameSpec vector (#6171)Loïc Blot2017-07-26
| | | | | | | | | | | | * TileLayer: use shared_ptr for vector framespec This reduce memory copy of TileLayer from (4 to 16) * FrameSpec where FrameSpec = (sizeof(int) + 3 * sizeof(ptr)) to int + sizeof(ptr) Callgrind difference Before: https://lut.im/RGkiJqQb8T/LeQIEXpAuRzfl7gd.png After: https://lut.im/bcqmwee1xu/cTwtptY5tRuS9lp0.png * Fix one push_back to use vector::emplace_back & optimize inclusions
* Add 'plantlike_rooted' drawtypenumber Zero2017-07-11
| | | | | | | Useful for underwater plants. Node consists of a base cube plus a plantlike extension that can pass through liquid nodes above without creating air bubbles or interfering with liquid flow. Uses paramtype2 'leveled', param2 defines height of plantlike extension.
* Irrlicht cleanup: cleanup various object to use RenderingEngine (#6088)Loïc Blot2017-07-02
| | | | | | | | | | | * Irrlicht cleanup: cleanup various object to use RenderingEngine * CAO doesn't need scenemanager in addToScene * Camera doesn't need VideoDriver pointer or SceneManager in constructor * Hud doesn't need driver & scene manager in constructor * Hud doesn't need scenemanager pointer * Tile.h doesn't need IrrlichtDevice header (just SMaterial) * WieldMeshSceneNode: only take scene, we always use scene root node as parent
* Cpp11 initializers: last src root changeset (#6022)Loïc Blot2017-06-21
| | | | | | * Cpp11 initializers: last src root changeset Finish to migrate all src root folder files to C++11 constructor initializers
* Do not shade inventory items with textures (#5869)Dániel Juhász2017-06-01
| | | | This commit restores the old behavior: if an inventory item has an own inventory texture, it will not be shaded.
* Fix after soft node overlaysDániel Juhász2017-04-21
| | | This removes a segmentation fault and makes node meshes well colorized.
* Soft node overlay (#5186)Dániel Juhász2017-04-21
| | | | This commit adds node overlays, which are tiles that are drawn on top of other tiles.
* Hardware coloring for itemstacksDániel Juhász2017-04-08
| | | | | | | | | | Adds the possibility to colorize item stacks based on their metadata. In the item/node definition you can specify palette (an image file) and color (fallback color if the item has no palette or metadata). Then you can add palette_index to the metadata. Dropped itemstacks with different colors do not merge.
* Add hardware node coloring. Includes:Dániel Juhász2017-01-23
| | | | | | - Increase ContentFeatures serialization version - Color property and palettes for nodes - paramtype2 = "color", "colored facedir" or "colored wallmounted"
* Environment & IGameDef code refactoring (#4985)Ner'zhul2017-01-09
| | | | | | | | | | | | | | | | | | | | | * Environment code refactoring * Cleanup includes & class declarations in client & server environment to improve build speed * ServerEnvironment::m_gamedef is now a pointer to Server instead of IGameDef, permitting to cleanup many casts. * Cleanup IGameDef * Move ITextureSource* IGameDef::getTextureSource() to Client only. * Also move ITextureSource *IGameDef::tsrc() helper * drop getShaderSource, getSceneManager, getSoundManager & getCamera abstract call * drop unused emerge() call * cleanup server unused functions (mentionned before) * Drop one unused parameter from ContentFeatures::updateTextures * move checkLocalPrivilege to Client * Remove some unnecessary casts * create_formspec_menu: remove IWritableTextureSource pointer, as client already knows it * Fix some comments * Change required IGameDef to Server/Client pointers * Previous change that game.cpp sometimes calls functions with Client + InventoryManager + IGameDef in same functions but it's the same objects * Remove duplicate Client pointer in GUIFormSpecMenu::GUIFormSpecMenu * drop ClientMap::sectorWasDrawn which is unused
* Use inventory_image in the first place for inventory item meshRealBadAngel2016-02-08
|
* Use meshes to display inventory itemsRealBadAngel2016-02-07
|
* Revert "Add support for using arbitrary meshes as items"Sapier2015-12-29
| | | | | | This reverts commit 91bafceee6606fab79db1bde4cba01b84fed65c7. Reverted due to missinterpretation of agreement, obvious dislike and me not interested in doing fights for feature I don't actually need
* Add support for using arbitrary meshes as itemsSapier2015-12-29
|
* Re-enable texture pre-filters on wielditems, fixing #3178.Aaron Suen2015-11-24
|
* Remove use of engine sent texture tiling flags - theyre no longer neededRealBadAngel2015-08-20
|
* src/wieldmesh.cpp: Fix mesh extrusion memory leakBřetislav Štec2015-08-02
|
* Add wielded (and CAOs) shaderRealBadAngel2015-07-21
|
* Fix typo in WieldMesh::setItem()kwolekr2015-05-08
|
* Replace Wieldmesh::setItem assertion that could be triggered by the server ↵kwolekr2015-05-08
| | | | with an error
* Add a check for animation when getting an extruded meshKevin Ott2015-05-04
| | | | Fixes issue #2667
* 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.
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Replace std::list to std::vector into tile.cpp (m_texture_trash) and move ↵Loic Blot2015-03-05
| | | | tile.hpp to src/client/
* Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" ↵Craig Robbins2015-02-11
| | | | | | | setting * Increase performance (client) * Avoid changing a global value to solve a local problem
* Revert "Remove workaround in itemdef.cpp to enable/disable/enable ↵Craig Robbins2015-02-11
| | | | | | "enable_shaders" setting" This reverts commit d25ff8fd2592f457b91e8a61240694af3902d23f.
* Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" ↵Craig Robbins2015-02-11
| | | | | | | setting * Increase performance (client) * Avoid changing a global value to solve a local problem
* Prevent client crashing if an NDT_AIRLIKE node is droppedCraig Robbins2015-01-05
| | | | | The player dropping the node can either be themselves or another player (i.e. without this fix you can crash other people's clients) Thanks CWz for reporting the issue
* Silence misc. warningskwolekr2014-12-23
|
* Temporarily fix always bright wieldhand with shaders enabledkwolekr2014-12-22
|
* Change TileSpec::frames to be std::vector not std::mapunknown2014-12-21
| | | | Signed-off-by: Craig Robbins <kde.psych@gmail.com>
* Wield: always obey anisotropic_filter setting, not just for hi res texturesKahrl2014-11-26
|
* EMF_USE_MIP_MAPS was introduced in Irrlicht 1.8, don't use in 1.7.3 or belowKahrl2014-11-26
| | | | | This is not optimal as it will cause minor graphical glitches for Irrlicht 1.7 users, but at least it fixes the build.
* Wieldmesh: don't force anisotropic filtering on, instead disable mipmapsKahrl2014-11-26
| | | | | This should fix #1844. Thanks to oleastre for making the first version of this commit (#1848).
* Wielded fixes. Add shaders support.RealBadAngel2014-11-13
|
* Implement WieldMeshSceneNode which improves wield mesh renderingKahrl2014-11-08
- Don't create and cache an extruded mesh for every (non-node) item. Instead use a single one per image resolution. - For cubic nodes reuse a single wield mesh too - Improve lighting of the wielded item - Increase far value of wield mesh scene camera, fixes #1770 - Also includes some minor refactorings of Camera and GenericCAO.