aboutsummaryrefslogtreecommitdiff
path: root/src/client/tile.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Real global textures (#6105)Vitaliy2017-10-151-1/+7
| | | | | | | | * Real global textures * Add world-aligned textures * Update minimal to support world-aligned tiles * Update minimal
* Code modernization: subfolders (#6283)Loïc Blot2017-08-191-2/+4
| | | | | | | | | | | | | * Code modernization: subfolders Modernize various code on subfolders client, network, script, threading, unittests, util * empty function * default constructor/destructor * for range-based loops * use emplace_back instead of push_back * C++ STL header style * Make connection.cpp readable in a pointed place + typo
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-171-3/+1
| | | | * Migrate cpp headers to pragma once
* Modernize client code (#6250)Loïc Blot2017-08-151-13/+18
| | | | | | | | * Various code style fixes * Use range based for loops * Use empty instead of empty objects * Use C++11 default keyword for trivial constructors and destructors * Drop some useless casts * Use emplace_back instead of push_back to improve performance of some vectors push
* TileLayer: use shared_ptr for FrameSpec vector (#6171)Loïc Blot2017-07-261-1/+2
| | | | | | | | | | | | * 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
* Irrlicht cleanup: cleanup various object to use RenderingEngine (#6088)Loïc Blot2017-07-021-1/+1
| | | | | | | | | | | * 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
* Tile material: Add 'TILE_MATERIAL_OPAQUE', use for drawtype 'NDT_NORMAL'stujones112017-07-011-4/+6
| | | | | Prevents normal drawtype nodes having transparency. Avoids clients cheating by using 'x-ray' texture packs with transparent textures.
* Isolate irrlicht references and use a singleton (#6041)Loïc Blot2017-06-261-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Device3D class which will contain IrrlichtDevice interface move getSupportedVideoDrivers to Device3D Add Device3D singleton & use it in various places Rename Device3D to Rendering engine & add helper functions to various device pointers More singleton work RenderingEngine owns draw_load_screen move draw functions to RenderingEngine Reduce IrrlichtDevice exposure and guienvironment RenderingEngine: Expose get_timer_time() to remove device from guiEngine Make irrlichtdevice & scene manager less exposed * Code style fixes * Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly * enum paralax => enum parallax
* C++11 cleanup on constructors dir client (#6012)Vincent Glize2017-06-211-51/+28
| | | | * C++11 cleanup on constructors dir client
* Remove threads.h and replace its definitions with their C++11 equivalents ↵ShadowNinja2017-06-111-1/+0
| | | | | | (#5957) This also changes threadProc's signature, since C++11 supports arbitrary thread function signatures.
* Reorder TileLayer. (#5638)Auke Kok2017-04-291-18/+23
| | | | | | | | | | | | | | Despite the split of TileSpec into TileDef and TileLayer, the TileLayer struct is still 66 bytes large, and doesn't fit in a single cacheline. I'm moving the color member to cacheline 2, in the hope that it is less used and the compiler loads all the hot members in a single cacheline instead. Only color sits now in cacheline 2, all the other members are in cacheline 1. Note: is_color is probably rarely set, most nodes will likely not use hardware coloring, but this may change in the future. Ideally, this class is shrunk to 64 bytes.
* Soft node overlay (#5186)Dániel Juhász2017-04-211-33/+63
| | | | This commit adds node overlays, which are tiles that are drawn on top of other tiles.
* Reorder TileSpec. (#5591)Auke Kok2017-04-181-24/+27
| | | | Put accessed members that are needed by updateFastFaceRow() all in the same cacheline.
* Hardware coloring for itemstacksDániel Juhász2017-04-081-6/+9
| | | | | | | | | | 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-231-7/+27
| | | | | | - Increase ContentFeatures serialization version - Color property and palettes for nodes - paramtype2 = "color", "colored facedir" or "colored wallmounted"
* Move TileAnimation code to seperate filesfan52017-01-021-3/+1
|
* v2d & aabbox3d<f32> & sky cleanupsnerzhul2016-02-111-1/+0
| | | | | * Sky: rename Box => m_box and inline getBoundingBox * Uniformize aabbox3d<f32> to aabb3f
* tileable flags are needed also without shaders because of filtersRealBadAngel2015-08-201-0/+6
|
* Remove use of engine sent texture tiling flags - theyre no longer neededRealBadAngel2015-08-201-13/+3
|
* Fix tiling issues for PLANTLIKE and FIRELIKE with FSAARealBadAngel2015-08-051-1/+19
|
* Add wielded (and CAOs) shaderRealBadAngel2015-07-211-2/+4
|
* Fix relief mapping issuesRealBadAngel2015-07-161-2/+9
|
* Add minimap featureRealBadAngel2015-06-271-0/+2
|
* Clean scaling pre-filter for formspec/HUD.Aaron Suen2015-04-011-15/+1
|
* Move texture_min_size even further down the pipe. Now, textures are ↵Aaron Suen2015-03-311-0/+2
| | | | 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-051-0/+280
tile.hpp to src/client/