aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-01-08Minor: Fix indentation in serverenvironment.cppLars Hofhansl
2017-01-08Move ServerEnvironment to dedicated cpp/header filesLoic Blot
* also cleanup some unneeded inclusions
2017-01-08Move ClientEnvironment to dedicated cpp/header filesLoic Blot
2017-01-08Get neighbor from same map block if possible in ABMHandler (#4998)lhofhansl
2017-01-07Revert "Extend minetest.is_yes()"sfan5
This reverts commit c435eabf3ffb77eab955d5faeb5450da1befc149.
2017-01-07Extend minetest.is_yes()red-001
2017-01-04Fixes for using std:vector in ABMHander and further perf improvementsLars Hofhansl
2017-01-04Use std::vector instead of std::map in class ABMHandlerRogier-5
2017-01-04Improve getPointedThing() (#4346)Dániel Juhász
* Improved getPointedThing() The new algorithm checks every node exactly once. Now the point and normal vector of the collision is also returned in the PointedThing (currently they are not used outside of the function). Now the CNodeDefManager keeps the union of all possible nodeboxes, so the raycast won't miss any nodes. Also if there are only small nodeboxes, getPointedThing() is exceptionally fast. Also adds unit test for VoxelLineIterator. * Cleanup, code move This commit moves getPointedThing() and Client::getSelectedActiveObject() to ClientEnvironment. The map nodes now can decide which neighbors they are connecting to (MapNode::getNeighbors()).
2017-01-03Pull occlusion check out of loop, and minor code cleanups.Lars Hofhansl
2017-01-02Add 2D sheet animation for nodessfan5
2017-01-02Added "[sheet" to the texture special commands.Luke Puchner-Hardman
"[sheet:WxH:X,Y" assumes the base image is a tilesheet with W*H tiles on it and crops to the tile at position X,Y. Basically it works like "[verticalframe" but in 2D. For testing, I combined the four default_chest images into one.
2017-01-02Move TileAnimation code to seperate filesfan5
2017-01-01Fix non reverted change on TOSERVER_BREATH compatLoic Blot
2017-01-01Breath cheat fix: server sideLoic Blot
Breath is now handled server side. Changing this behaviour required some modifications to core: * Ignore TOSERVER_BREATH package, marking it as obsolete * Clients doesn't send the breath to server anymore * Use PlayerSAO pointer instead of peer_id in Server::SendPlayerBreath to prevent a useless lookup (little perf gain) * drop a useless static_cast in emergePlayer
2016-12-29Fix interact range check (thanks to @lhofhansl)sfan5
2016-12-29Use the outgoing split sequence number for every outgoing packet (#4864)Rogier-5
(instead of the last incoming sequence number...) Fixes #4848
2016-12-28Redo light.cpp.Auke Kok
Remake the light_decode_table. The table starts out without pre-filled in values since those are always discarded by the code apparently. We calculate a pseudo curve with gamma power function, and then apply a new adjustment table. The adjustment table is setup to make the default gamma of 2.2 look decent: not too dark at light level 3 or so, but too dark at 1 and below to be playable. The curve is much smoother than before and looks reasonable at the whole range, offering a pleasant decay of light levels away from lights. The `display_gamma` setting now actually does something logical: the game is darker at values below 2.2, and brighter at values above 2.2. At 3.0, the game is very bright, but still has a good light scale. At 1.1 or so, the bottom 5 light levels are virtually black, but you can still see enough detail at light levels 7-8, so the range and spread is adequate. I must add that my monitor is somewhat dark to begin with, since I have a `hc` screen that doesn't dynamic range colors or try to pull up `black` pixels for me (it is tuned for accurate color and light levels), so this should look even better on more dynamic display tunings.
2016-12-28Dont compare short with bool (#4963)adrido
Fixes a compiler warning on MSVC
2016-12-26Irrlicht 1.9 supportsfan5
2016-12-26Various anticheat improvementssfan5
* Calculate maximum interact distance from wielded tool * New "interacted_while_dead" cheat_type for the Lua API * Disallow dropping items while dead * Move player to spawn before resurrecting them
2016-12-24Move PP() and PP2() macros to basic_macros.hRogier
Instead of redefining them everywhere.
2016-12-24Process ABMs in a spherical volume instead of cubicLars Hofhansl
Increase active_block_range default to a 3 mapblock radius.
2016-12-24Make minetest abort on lua panicRogier
Currently, lua does a regular exit() after a lua panic, which can make a problem hard to debug. Invoking FATAL_ERROR() instead will print some useful information, and abort() minetest, so that a debugger can be used to analyze the situation.
2016-12-21Don't ship with broken languages (#4940)est31
2016-12-21Disable mod security by default (closes #4944)sfan5
2016-12-21Fix warning reported by clang (possible bug in Settings lua api)sfan5
2016-12-20Limit drawing rect of selected item to viewport size (fixes #4341)sfan5
2016-12-20Security: Fix resolving of some relative pathsShadowNinja
Trying to resolve a path with RemoveRelativePathComponents that can't be resolved without leaving leading parent components (e.g. "../worlds/foo" or "bar/../../worlds/foo") will fail. To work around this, we leave the relative components and simply remove the trailing components one at a time, and bail out when we find a parent component. This will still fail for paths like "worlds/foo/noexist/../auth.txt" (the path before the last parent component must not exist), but this is fine since you won't be able to open a file with a path like that anyways (the O.S. will determine that the path doesn't exist. Try `cat /a/../etc/passwd`).
2016-12-20Fix RemoveRelatvePathComponentsShadowNinja
This used to return "/foo" for "../foo" when it should return the enpty string (i.e., error removing all relative components).
2016-12-20Mod security: Allow read-only access to all mod pathsShadowNinja
2016-12-19Fix occlusion culling, again (#4930)lhofhansl
2016-12-18Fix occlusing counting (#4922)lhofhansl
2016-12-18Fix unnecessary block loading (#4847)Dániel Juhász
This commit makes the game load blocks only if they are not in the memory.
2016-12-16Mapgen: Make mgv7 the default in UIAuke Kok
The actual menu default comes from defaultsettings.cpp.
2016-12-14Cavegen: Wider tunnels in mgflat, mgfractal, mgvalleysparamat
As mgv7 is now the default mapgen i re-checked its tunnel width on request, discovered they needed to be wider, and have made this change. This commit widens the identical 3D noise tunnels in the other mapgens in exactly the same way.
2016-12-14Update minetest.conf.example and settings_translation_file.cppest31
2016-12-13Mgv7: Change default cave width to 0.09sfan5
2016-12-12Fix segfault on startup error on Androidrubenwardy
2016-12-12Fix camera jumping on Android when panning past 0/360 markrubenwardy
2016-12-12View range: Set maximum to 4000 nodesRogier
The network protocol does not support larger than 255 mapblocks.
2016-12-12Mapgen: Make mgv7 the default mapgenparamat
2016-12-11Fix computation of viewing range (in blocks) sent to server (#4882)Rogier-5
Fixes #4878 Also remove an artificial viewing range reduction that (presumably) was added to compensate for miscomputed viewing ranges, and that doesn't seem to be needed any more (thanks to lhofhansl).
2016-12-08Simple decorations: Fix range check for deco->deco_param2Auke Kok
Allow any int value, and properly range check it before casting.
2016-12-07Simple deco: Allow setting param2 value on placementAuke Kok
Schematics can already be placed with a param2 value, but not simple 1-node plant decorations of the simple type. This adds a `param2` field to the simple deco type that is checked to be between 0 and 255, and put to the placed node at mapgen. This can be used to put a degrotate value in, or e.g. a fill value for leveltype nodes, or a place_param2 value at mapgen placement, or vary the shape of meshoptions plantlike drawtype.
2016-12-07Fog: Make fraction of visible distance at which fog starts configurableLars Hofhansl
Optimise the fetching of global settings 'camera_smoothing', 'cinematic' and 'cinematic_camera_smoothing'. Cache 'cam_smoothing'.
2016-12-07Liquids: Update flow on block loadMillersMan
When loading a block add liquid-nodes that might flow away or spread to neighbours to the transforming_liquid queue.
2016-12-07Liquids: Preserve flow state if 'ignore' is a neighbourMillersMan
Prevent waterfalls from falling down or streams from flowing away when the source node is in an unloaded block - Nodes near a CONTENT_IGNORE node will be interpreted as if the ignored node is a liquid node that just supports the current state of the nodes in question.
2016-12-07Map::isValidPosition: Return false instead of throwing exceptionMillersMan
2016-12-03Optimize block sent: Fix rendering issueLars Hofhansl