aboutsummaryrefslogtreecommitdiff
path: root/src/nodedef.cpp
AgeCommit message (Collapse)Author
2022-11-09Fix typos and en_US/en_GB inconsistency in various files (#12902)Abdou-31
2022-10-18Check for falling `float` nodes in liquid transform (#12862)Jude Melton-Houghton
2022-10-09Optimize lighting calculation (#12797)Jude Melton-Houghton
2022-09-26Fix liquid drawtype faces sometimes not rendering (#12807)Wuzzy
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2022-09-16Add paramtype2s for 4 horizontal rotations and 64 colors (#11431)Wuzzy
4dir is like facedir, but only for 4 horizontal directions: NESW. It is identical in behavior to facedir otherwise. The reason why game makers would want to use this over facedir is 1) simplicity and 2) you get 6 free bits. It can be used for things like chests and furnaces and you don't need or want them to "flip them on the side" (like you could with facedir). color4dir is like colorfacedir, but you get 64 colors instead of only 8.
2022-09-06Code optimizations / refactor (#12704)Herman Semenov
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com> Co-authored-by: sfan5 <sfan5@live.de>
2022-08-24Fix texture_min_sizefluxionary
2022-08-13Textures: introduce world-align overrides (#12540)SmallJoker
Many games do not care about world align textures, however texture packs should have the capabilities to change that if they have suitable textures. This commmit now introduces a node property override for world-align in particular to force a certain scale on the selected override tiles.
2022-07-09Enforce limits of settings that could cause buggy behaviour (#12450)SmallJoker
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
2022-06-20Re-order sound-related code (#12382)SmallJoker
Dropped ServerSoundParams -> moved to ServerPlayingSound. This gets rid of the duplicated 'fade' and 'pitch' values on server-side where only one was used anyway. SimpleSoundSpec is the basic sound without positional information, hence 'loop' is included. Recursively added PROTOCOL_VERSION to most functions to reduce the versioning mess in the future. Per-type version numbers are kept for now as a safety rope in a special case.
2022-05-29Map opaque waving leaves to allfaces drawtypesfan5
fixes #9842
2022-05-26Reduce size of ContentFeatures structuresfan5
On my system this is a reduction from 4664 to 3704 bytes. This is not for the sake of saving RAM but ensuring commonly used structures fit into caches better.
2022-04-24Fix some textures not being sent correctly to older clientsGiuseppe Bilotta
Since b2eb44afc50976dc0954c868977b5829f3ff8a19, a texture defined as `[combine:16x512:0,0=some_file.png;etc` will not be sent correctly from a 5.5 server to a 5.4 client due to the overeager detection of unsupported base modifier `[` introducing a spurious `blank.png^` before the modifier. Fix this by whitelisting which base modifiers can be passed through unchanged to the client, and prefix `blank.png` for the others (which at the moment is just [png:, but the list may grow larger as new base modifiers are added.)
2022-03-02Fix segfault with autoscale_mode (again)sfan5
closes #12100 This time add some asserts so there is no misunderstanding about the NULL-ness of layer->texture.
2022-02-16Use absolute value for bouncy in collision (#11969)pecksin
* use abs(bouncy) in collision * test case for negative bouncy * send abs(bouncy) to old clients
2022-01-12Fix NodeDef backwards compatibility to 5.3.0 (#11942)SmallJoker
1. Fixes crashes on older clients when [png is used as base image 2. Fixes liquid type assertion fails on debug builds
2021-10-22Fix no_texture.png activation w/ simple leavesWuzzy
2021-10-20Add no_texture.png as fallback for unspecified texturesWuzzy
2021-10-01Split liquid_viscosity to liquid_viscosity and move_resistance (#10810)Wuzzy
2021-05-03refacto: remove get_gui_env & draw_load_screen from RenderingEngine singletonLoic Blot
2021-05-03refacto: RenderingEngine::get_scene_manager() is now not callable from singletonLoic Blot
This permits to make evidence that we have some bad object passing on various code parts. I fixed majority of them to reduce the scope of passed objects Unfortunately, for some edge cases i should have to expose ISceneManager from client, this should be fixed in the future when our POO will be cleaner client side (we have a mix of rendering and processing in majority of the client objects, it works but it's not clean)
2021-04-05Reserve vectors before pushing and other code quality changes (#11161)sfan5
2021-03-30Degrotate support for mesh nodes (#7840)Vitaliy
2021-03-20Schematic: Properly deal with before/after node resolving and document (#11011)SmallJoker
This fixes an out-of-bounds index access when the node resolver was already applied to the schematic (i.e. biome decoration). Also improves the handling of the two cases: prior node resolving (m_nodenames), and after node resolving (manual lookup)
2021-01-29Rework use_texture_alpha to provide three opaque/clip/blend modessfan5
The change that turns nodeboxes and meshes opaque when possible is kept, as is the compatibility code that warns modders to adjust their nodedefs.
2021-01-29Drop never documented 'alpha' property from nodedefsfan5
Includes minimal support code for practical reasons. We'll need it for a slightly different purpose next commit.
2021-01-21Allow "liquid" and "flowingliquid" drawtypes even if liquidtype=none (#10737)Wuzzy
2020-12-24Fix some minor code issues all over the placesfan5
2020-12-19Cleanup shader generation code (#10663)Vitaliy
Shader generation is a mess. This commit cleans some parts up, including dropping remains of HLSL support which was never actually implemented.
2020-10-17Remove all bump mapping and parallax occlusion related code.Lars
2020-10-01(se)SerializeString: Include max length in the nameSmallJoker
This commit clarifies the maximal length of the serialized strings. It will avoid accidental use of serializeString() when a larger string can be expected. Removes unused Wide String serialization functions
2020-08-12Render nodeboxes with opaque material if possible (#10122)sfan5
2020-08-04Implement override.txt support for special tiles (#10140)Hugues Ross
Add override targets for all special_tiles entries in node definitions, allowing texture packs to replace these textures. This makes overrides work properly with a variety of drawtypes. The targets are named special1 through special6, covering the the current length of the special_tiles array.
2020-07-10Remove std::shared_ptr use in TileLayer (#10090)sfan5
2020-06-01Fix autoscale_mode segfault if tile doesn't have texturesfan5
closes #9965
2020-05-20Cache liquid alternative IDs (#8053)Vitaliy
2020-05-19Rework functionality of leveled nodes (#9852)Wuzzy
Co-authored-by: sfan5 <sfan5@live.de> Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-05-05Allow ObjDefManager instances to be clonedsfan5
2020-04-14Refactor texture overrides and add new features (#9600)Hugues Ross
* Refactor texture overrides, and add new features: - Texture overrides can support multiple targets in one line - Texture override files can have comment lines - Item images/wield images can be overridden * Formatting changes * Address soime feedback - Pass vectors by const reference - Log syntax errors as warnings - Remove 'C' prefix from TextureOverrideSource * Simplify override target checks with an inline helper function * make linter happy * Apply feedback suggestions Co-Authored-By: rubenwardy <rw@rubenwardy.com> * Remove remaining != 0 checks * Update copyright notice Co-authored-by: sfan5 <sfan5@live.de> Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-04-08Overall improvements to log messages (#9598)sfan5
Hide some unnecessarily verbose ones behind --trace or disable them entirely. Remove duplicate ones. Improve their contents in some places.
2019-08-12Clear old item groups when they are overridden. (#8753)Beha
This fixes overridden items keeping their old groups in the group to items mapping even after their groups have been changed in lua. It also prevents a more widespread issue where overriding an item will add its content ID *twice* to the mapping, resulting in odd behaviour in features such as ABMs.
2019-05-25override.txt: Fix crash due to CRLF endings (#8439)David G
2019-03-27Require 'waving = 3' in a nodedef to apply the liquid waving shader (#8418)Paramat
Makes the liquid waving shader per-nodedef like waving leaves/plants, instead of being applied to all liquids. Like the waving leaves/plants shaders, the liquid waving shader can also be applied to meshes and nodeboxes. Derived from a PR by t0ny2.
2019-01-03Proselytize the network. Use IEEE F32 (#8030)SmallJoker
* Proselytize the network. Use IEEE F32 * Remove unused V2F1000 functions
2018-11-28Move client-specific files to 'src/client' (#7902)Quentin Bazin
Update Android.mk Remove 'src/client' from include_directories
2018-05-20Fix missing ignore textures (#7326)you
2018-04-20Node resolver: Make error on fallback optional, disable for mapgen aliasesParamat
2018-02-10Node definition manager refactor (#7016)Dániel Juhász
* Rename IWritableNodeDefManager to NodeDefManager * Make INodeDefManager functions const * Use "const *NodeDefManager" instead of "*INodeDefManager" * Remove unused INodeDefManager class * Merge NodeDefManager and CNodeDefManager * Document NodeDefManager
2018-01-03Connected Nodeboxes: Add `disconnected` boxesThomas--S
The `disconnected_*` boxes are the opposites of the `connect_*` ones, i.e. when a node has no suitable neighbours on the respective side, the according disconnected box is drawn. * disconnected_top * disconnected_bottom * disconnected_front * disconnected_left * disconnected_back * disconnected_right * disconnected (when there is *no* neighbour) * disconnected_sides (when there are *no* neighbours to the sides)
2017-10-26Add missing? includeEsteban I. Ruiz Moreno