aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix player coordinate rounding in collisionMoveSimple() (#6197)Jens Rottmann2017-08-05
| | | | | | | | | | | | | | | | | | | | To determine the area (nodes) where a player movement took place collisionMoveSimple() first took the old/new player coordinates and rounded them to integers, then added the player character's collision box and implicitely rounded the result. This has 2 problems: Rounding the position and the box seperately, then adding the resulting integers means you get twice the rounding error. And implicit rounding always rounds towards 0.0, unlike floatToInt(), which rounds towards the closest integer. Previous (simplified) behavior: round(pos)+(int)box, for example player at Y=0.9, body is 1.75m high: round(0.9)+(int)1.75 = 1+1 = 2. ==> A character's height of 1.75m always got rounded down to 1m, its width of +/-0.3 even became 0. Fixed by adding the floats first, then rounding properly: round(pos+box) = round(0.9+1.75) = round(2.65) = 3.
* Sort box corners correctlyThomas--S2017-08-04
|
* Update minetest.conf.example for keymap_slot*Wuzzy2017-08-04
|
* Fix crash when using --go in command lineJuozas Pocius2017-08-03
|
* Dungeons: Use biome 'node_stone' if normal stone types not detectedparamat2017-07-30
| | | | | | | Construct dungeons from the node defined as biome 'node_stone' if 'mapgen_stone', 'mapgen_desert_stone' and 'mapgen_sandstone' are not detected. Feature long-intended by kwolekr/hmmmm and present in code as a TODO.
* GenericCAO: Fix dark model below y = 0paramat2017-07-30
| | | | | | Move point at which light is sampled up to 0.5 nodes above foot level, to avoid that point sometimes passing into the node below causing the model to go dark.
* Darkness detection: Reduce chance of false positives darkening the skyboxLars Hofhansl2017-07-30
| | | | | | | | | The getBackgroundBrightness() function detects darkness in the view direction to decide when to make the skybox dark. The volume checked was too narrow and missed the left and right edges of the view, too easily causing a dark skybox. Widen the checked volume to match a FOV of 72 degrees and a 16:9 aspect ratio game window.
* Make direct item selection keys freely bindableWuzzy2017-07-30
|
* Move the nametag back to the top of the player (#6179)TeTpaAka2017-07-29
| | | read the actual height of the collisionbox
* Noise: Prevent unittest crash caused by division by zeroSmallJoker2017-07-29
|
* Revert "Noise::perlinMap2D,3D: replace a loop init with a single memset call"Loïc Blot2017-07-27
| | | | This reverts commit bc1654feedc90caa8c26328ca6f0fc59fbe5b76c.
* Fix a warning introduced by 4eb59aeeb2f2b535f4eb2a1608189bb03098454eLoïc Blot2017-07-27
|
* Add LuaEntity on_death callback (#6177)Loïc Blot2017-07-27
| | | | | | Add LuaEntity on_death callback This fixes #5474
* Rename previous_was_found to previous_existsLoic Blot2017-07-27
|
* MapBlock::actuallyUpdateDayNightDiff(): little performance optimizationLoic Blot2017-07-27
| | | | don't check isLightDayNightEq if checked on previous node
* compressZlib: don't use a SharedBuffer but a raw u8 * pointerLoic Blot2017-07-27
| | | | | | | | Remove usage of the SharedBuffer in zlib compression which has two problems: * We copied the whole memory block to compress it (not good with mapblocks) * We copied sometimes strings to SharedBuffer to SharedBuffer (2nd time) Use this method in MapNode::serializeBulk + optimize serialization but merging 3 identical loops in a single loop
* Massive performance improvement on correctBlockNodeIdsLoic Blot2017-07-27
| | | | | | correctBlockNodeIds does 2 lookups for each loaded node, one to translate DB ID to name and a second to translate name to real ID. Name to real ID is very consumming if done on every node. As mapblocks are in most cases composed of many identical adjacent nodes, cache previous source and destination id and use them on the next node to prevent any lookup on those maps. This reduce the function load from 15% of my CPU usage to ~0.7%, on the test, calls was reduced from 2.5M lookups to 42k lookups, it's a huge performance gain
* Noise::perlinMap2D,3D: replace a loop init with a single memset callLoic Blot2017-07-27
|
* Remove one unused variable in Server::Receive functionLoic Blot2017-07-27
|
* Remove unused Map::getDayNightDiff + fix one undefined variable in mapblock.cppLoic Blot2017-07-26
|
* 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
* VoxelManip cleanups (const ref, const move) + function removal (#6169)Loïc Blot2017-07-26
| | | | | | | | | | * VoxelManip cleanups (const ref, const move) permitting to improve a little bit performance * VoxelArea: precalculate extent (performance enhancement) This permits to reduce extend high cost to zero and drop many v3s16 object creation/removal to calculate extent It rebalance the client thread update to updateFastFaceRow instead of MapBlockMesh generation This will also benefits to mapgen
* Create_schematic documentation: Update for per-node force-placeparamat2017-07-26
| | | | The probability list has to also encode per-node force-place.
* Mgv7: Add 'mount_zero_level' parameterparamat2017-07-26
| | | | | | | | Allows setting of the mountain 'zero level' (y where density gradient is zero). It is easy to vertically shift smooth terrain by editing noise parameter 'offset', but vertically shifting mountain terrain was complex and imprecise, involving making a calculation based on an average of the mountain height parameter.
* Move MapEditEventAreaIgnorer to emerge.cppLoic Blot2017-07-25
| | | | It's only used in emerge threads and it's a local object, don't expose it to the whole Minetest
* Network protocol: Document settable player collisionbox (#6168)Paramat2017-07-25
|
* Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs (#6164)Ben Deutsch2017-07-24
|
* LBM: use range based for and fixed a loop variable overloading in applyLBMsLoic Blot2017-07-24
|
* Mgv7: Add option to repeat surface biomes in floatlandsparamat2017-07-22
|
* Player collisionbox: Make settableTeTpaAka2017-07-21
| | | | Breaks compatibility with old clients.
* In-cloud fog: Strengthen effect when small view range is usedLars Hofhansl2017-07-18
| | | | | | | Ensure in-cloud fog is always stronger than outside-of-cloud-fog even when using a small view range. Also limit in-cloud fog range to a maximum of 32 nodes to keep it fairly strong when using a large view range.
* Window size: use 1024x600 to avoid a smaller UIparamat2017-07-18
| | | | | | The change from 800x600 to 1024x576 (16:9) was a reduction in height which caused user interface to become smaller. Continue to use width 1024 as it is a common small screen width.
* [CSM] Add flavour limits controlled by server (#5930)Loïc Blot2017-07-18
| | | | | | | | | | | | | | | | | | | | * [CSM] Add flavour limits controlled by server Server send flavour limits to client permitting to disable or limit some Lua calls * Add limits for reading nodedefs and itemdefs * flavour: Add lookup node limits * Merge get_node_or_nil into get_node. Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason * Add node range customization when noderange flavour is enabled (default 8 nodes) * Limit nodes range & disable chat message sending by default * Bump protocol version
* Copy lua51.dll (luajit) to bindir (#6148)adrido2017-07-18
|
* LBM content mapping map doesn't need to be ordered, use std::unordered_mapLoic Blot2017-07-18
| | | | Also rename helper to lbm_map instead of container_map
* Very little performance fix on correctBlockNodeIdsLoic Blot2017-07-18
| | | | + C++11 codestyle
* Mgfractal: Improve spawning behaviourparamat2017-07-17
| | | | | | | | | Spawn player 1 node higher to avoid spawning waist-deep in a possible biome 'dust' node, such as tundra snowblock. Tune default offset to spawn players in a more interesting location on the mandelbrot sets, on a raised area that looks like a spawn platform. Tune julia parameters to help avoid spawn search failing, especially for fractal 6.
* Mesh generation: Fix performance regression caused by 'plantlike_rooted' PRnumber Zero2017-07-17
| | | | Regression caused by ef285b2815962a7a01791059ed984cb12fdba4dd
* Chat: Move chat text down to not overlap 3rd line of debug text (#6145)Paramat2017-07-17
|
* Add information about the button heightcx3842017-07-16
|
* F5 debug display: Reformat and remove some information (#6125)Paramat2017-07-16
| | | | | | | | | | | | | | | | | | | | For consistency return to 'FPS =', add comma before FPS. Remove 'R' from 'range_all' as may be re-keymapped. Remove inconsistent brackets from 'range_all'. Change 'v_range' to 'view_range'. Add 'pos = ' before co-ordinates. Add spaces around '=' in yaw display. Remove brackets from around 'yaw' and 'seed'. Move 'pointing_at' to 3rd line. Remove 'param1' (0 for all solid nodes and unreadable for light sources due to light bank encoding). Remove file name of pointed node top tile (this also removes the need to get ContentFeatures for the node, slightly improving performance). Replace quotes around node data with brackets, looks better and more consistent. Add 'guitext3' for third line. Use 'setVisible' for all 3 lines to control the setting of each text rectangle. Improve logic of 3rd line to only run code it needs to depending on whether pointing data is avaialble and whether node is not 'ignore' and not 'unknown'.
* Chat protocol rewrite (#5117)Loïc Blot2017-07-16
| | | | | | | | | | | | | * New TOCLIENT_CHAT_MESSAGE packet * Rename old packet to TOCLIENT_CHAT_MESSAGE_OLD for compat * Handle TOCLIENT_CHAT_MESSAGE new structure client side * Client chat queue should use a specific object * SendChatMessage: use the right packet depending on protocol version (not complete yet) * Add chatmessage(type) objects and handle them client side (partially) * Use ChatMessage instead of std::wstring server side * Update with timestamp support
* Camera: Fix wieldmesh glitch after teleporting (#6138)kilbith2017-07-15
|
* Revert "CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand""Loic Blot2017-07-15
| | | | This reverts commit bdac12761cd92960c3df83c932aa610f2322215f.
* Default window size: Increase to 1024x576, aspect ratio 16:9paramat2017-07-15
|
* CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand"rubenwardy2017-07-15
| | | | | Original PR: #5747. This reverts commit 39f4a2f607d44738d60db84eba4b30e3d7450204.
* Sneak: Stripped down versionSmallJoker2017-07-15
| | | | | | | Fix taking damage caused by sneaking over a nodebox gap. Fix strange behaviour on stair nodeboxes. Enable jumping from node edges while sneaking. Enable movement around corners while sneaking on a 1-node-high groove in a wall.
* Remove remaining modstore code (#6120)Elijah Duffy2017-07-14
|
* Dont search for locale folders if gettext is disabled (#6133)adrido2017-07-14
| | | If gettext is disabled, it is defined as 0.
* Advanced settings: Reformat noise parameter format exampleparamat2017-07-11
| | | | | Previously the example ran off the edge of the formspec. Also include 'lacunarity' in the format instead of treating it as an option.