aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fixes for using std:vector in ABMHander and further perf improvementsLars Hofhansl2017-01-04
|
* Use std::vector instead of std::map in class ABMHandlerRogier-52017-01-04
|
* Improve getPointedThing() (#4346)Dániel Juhász2017-01-04
| | | | | | | | | | | | | | | | | | | * 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()).
* Pull occlusion check out of loop, and minor code cleanups.Lars Hofhansl2017-01-03
|
* Add 2D sheet animation for nodessfan52017-01-02
|
* Added "[sheet" to the texture special commands.Luke Puchner-Hardman2017-01-02
| | | | | | | | "[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.
* Move TileAnimation code to seperate filesfan52017-01-02
|
* Fix non reverted change on TOSERVER_BREATH compatLoic Blot2017-01-01
|
* Breath cheat fix: server sideLoic Blot2017-01-01
| | | | | | | | | 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
* Fix interact range check (thanks to @lhofhansl)sfan52016-12-29
|
* Use the outgoing split sequence number for every outgoing packet (#4864)Rogier-52016-12-29
| | | | | (instead of the last incoming sequence number...) Fixes #4848
* Redo light.cpp.Auke Kok2016-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Dont compare short with bool (#4963)adrido2016-12-28
| | | Fixes a compiler warning on MSVC
* Irrlicht 1.9 supportsfan52016-12-26
|
* Various anticheat improvementssfan52016-12-26
| | | | | | | * 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
* Move PP() and PP2() macros to basic_macros.hRogier2016-12-24
| | | | Instead of redefining them everywhere.
* Process ABMs in a spherical volume instead of cubicLars Hofhansl2016-12-24
| | | | Increase active_block_range default to a 3 mapblock radius.
* Make minetest abort on lua panicRogier2016-12-24
| | | | | | | 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.
* Don't ship with broken languages (#4940)est312016-12-21
|
* Disable mod security by default (closes #4944)sfan52016-12-21
|
* Fix warning reported by clang (possible bug in Settings lua api)sfan52016-12-21
|
* Limit drawing rect of selected item to viewport size (fixes #4341)sfan52016-12-20
|
* Security: Fix resolving of some relative pathsShadowNinja2016-12-20
| | | | | | | | | | | | | 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`).
* Fix RemoveRelatvePathComponentsShadowNinja2016-12-20
| | | | | This used to return "/foo" for "../foo" when it should return the enpty string (i.e., error removing all relative components).
* Mod security: Allow read-only access to all mod pathsShadowNinja2016-12-20
|
* Fix occlusion culling, again (#4930)lhofhansl2016-12-19
|
* Fix occlusing counting (#4922)lhofhansl2016-12-18
|
* Fix unnecessary block loading (#4847)Dániel Juhász2016-12-18
| | | | This commit makes the game load blocks only if they are not in the memory.
* Mapgen: Make mgv7 the default in UIAuke Kok2016-12-16
| | | | The actual menu default comes from defaultsettings.cpp.
* Cavegen: Wider tunnels in mgflat, mgfractal, mgvalleysparamat2016-12-14
| | | | | | | 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.
* Update minetest.conf.example and settings_translation_file.cppest312016-12-14
|
* Mgv7: Change default cave width to 0.09sfan52016-12-13
|
* Fix segfault on startup error on Androidrubenwardy2016-12-12
|
* Fix camera jumping on Android when panning past 0/360 markrubenwardy2016-12-12
|
* View range: Set maximum to 4000 nodesRogier2016-12-12
| | | | The network protocol does not support larger than 255 mapblocks.
* Mapgen: Make mgv7 the default mapgenparamat2016-12-12
|
* Fix computation of viewing range (in blocks) sent to server (#4882)Rogier-52016-12-11
| | | | | | | | 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).
* Simple decorations: Fix range check for deco->deco_param2Auke Kok2016-12-08
| | | | Allow any int value, and properly range check it before casting.
* Simple deco: Allow setting param2 value on placementAuke Kok2016-12-07
| | | | | | | | | | | | | 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.
* Fog: Make fraction of visible distance at which fog starts configurableLars Hofhansl2016-12-07
| | | | | | Optimise the fetching of global settings 'camera_smoothing', 'cinematic' and 'cinematic_camera_smoothing'. Cache 'cam_smoothing'.
* Liquids: Update flow on block loadMillersMan2016-12-07
| | | | | When loading a block add liquid-nodes that might flow away or spread to neighbours to the transforming_liquid queue.
* Liquids: Preserve flow state if 'ignore' is a neighbourMillersMan2016-12-07
| | | | | | | 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.
* Map::isValidPosition: Return false instead of throwing exceptionMillersMan2016-12-07
|
* Optimize block sent: Fix rendering issueLars Hofhansl2016-12-03
|
* Biomes: Increase heat and humidity noise spread to 1000paramat2016-12-03
| | | | | | | To avoid smaller biomes when extra biomes are added to MTGame. The addition of bushes in MTGame grasslands makes wood resources easier to find and less distant, so slightly larger biomes are now acceptable, but also desirable to encourage travel and create more sense of adventure.
* Mgv7 floatlands: Various improvementsparamat2016-12-01
| | | | | | | | | | | | Floatland base terrain underside was too thin, causing excessive water leakage through tunnels under lakes, now make it thicker. Floatland mountain terrain had a rim 1 node thick which made it bare stone, now make it 2 nodes thick to merge with the floatland base terrain rim and to have a layer of biome material. Make mountain terrain more exponentially shaped by altering the exponent. Remove unnecessary and potentially ugly MYMAX() applied to n_base_height.
* Optimize/adjust blocks/ActiveObjects sent at the server based on client ↵lhofhansl2016-11-30
| | | | | | | settings. (#4811) Optimize/adjust blocks and active blocks sent at the server based on client settings.
* Allow restricting detached inventories to one playersfan52016-11-28
| | | | | | | This combats the problem of sending the hundreds of "creative" / "armor" or whatever detached invs that exist on popular servers to each and every player on join or on change of said invs.
* Limit light_source in the engine (#4814)juhdanad2016-11-28
| | | Since light_source>15 causes crash, it must be limited.
* Fix filepath > RemoveRelativePathComponent unittestsfan52016-11-27
| | | | (was broken by e4ee6548afd01040046ee3780d0fbb121d141251)