aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Change default nodetimer_interval to 0.2s. (#5193)Auke Kok2017-02-093-3/+3
| | | | | | | | | | We want to reduce the chance that we get lots and lots of node timers all happening once a second, because we're better off doing small bits of work as they are available. Reducing this to 0.2 seconds will greatly reduce the total amount of nodetimers that elapse at the same instance, while not effecting total work load. This results in a far better chance of the server keeping up with work loads.
* Perform mesh animation only once per frame.Lars Hofhansl2017-02-091-1/+1
|
* OpenAL sound: Use a simpler distance modelparamat2017-02-091-2/+1
| | | | | | | | | | | | | | In createPlayingSoundAt(), AL_ROLLOFF_FACTOR is not set, so it has the default value of 1.0, this makes the equation of the currently used AL_EXPONENT_DISTANCE distance model identical to the equation of the simpler AL_INVERSE_DISTANCE distance model. Using AL_INVERSE_DISTANCE means an exponent is not processed, exponents are quite intensive to process. There is no change in sound attenuation behaviour. The commented-out AL_ROLLOFF_FACTOR value is removed as it would now have a different effect if used.
* No longer auto-generate a 'guest####' player name when name is emptyred-0012017-02-091-4/+5
| | | | | You can't join most servers with a 'guest####' player name anyway so it's only logical to remove them.
* Fix android buildLoic Blot2017-02-081-0/+1
| | | | This fixes #5190
* Add ModMetadata API (#5131)Loïc Blot2017-02-0812-12/+384
| | | | | | | * mod can create a ModMetadata object where store its values and retrieve it. * Modmetadata object can only be fetched at mod loading * Save when modified using same time as map interval or at server stop * add helper function to get mod storage path * ModMetadata has exactly same calls than all every other Metadata
* Fix incompatibility of ItemStack.to_table() introduced by stack metarubenwardy2017-02-072-15/+28
|
* Face shading: Add shade factor commentsparamat2017-02-071-2/+9
|
* Add support for unix socket connection to redis (#5179)Travis Burtrum2017-02-061-1/+2
|
* Prevent SIGFPE on entity tile loading issue. (#5178)Auke Kok2017-02-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | While experimenting with entities I ran into this unresolvable error where the server is sending some texture that the client crashes on. The crash prevents the client from ever reconnecting, resulting in a server that has to use clearobjects. We shouldn't crash but just ignore the object and move on. ``` 0x00000000004dc0de in TextureSource::generateImagePart (this=this@entry=0x7118eb0, part_of_name="[applyfiltersformesh", baseimg=@0x7fffffffbe98: 0x9f1b010) at /home/sofar/git/minetest/src/client/tile.cpp:1744 1744 u32 xscale = scaleto / dim.Width; (gdb) bt #0 0x00000000004dc0de in TextureSource::generateImagePart (this=this@entry=0x7118eb0, part_of_name="[applyfiltersformesh", baseimg=@0x7fffffffbe98: 0x9f1b010) at /home/sofar/git/minetest/src/client/tile.cpp:1744 ``` After reconnecting, the client now can connect without issues and displays an error message: ``` ERROR[Main]: generateImagePart(): Illegal 0 dimension for part_of_name="[applyfiltersformesh", cancelling. ERROR[Main]: generateImage(): Failed to generate "[applyfiltersformesh" ERROR[Main]: Irrlicht: Invalid size of image for OpenGL Texture. ```
* Improve mesh shading (#5172)numberZero2017-02-051-6/+7
|
* Add per-stack descriptions using ItemStack Metadatarubenwardy2017-02-042-1/+10
|
* Add ItemStack key-value meta storagerubenwardy2017-02-0421-123/+459
|
* Derive NodeMetaRef from MetaDataRefrubenwardy2017-02-049-232/+407
|
* Make NodeMetaRef::getmeta a non-static memberrubenwardy2017-02-042-15/+15
|
* Derive NodeMetadata from Metadatarubenwardy2017-02-046-56/+135
|
* Fix PlayerSAO deletion warning (0eede97af2927dcda3545192403b0a44f30bcd1f)sfan52017-02-041-3/+8
|
* Mgv6: Add fallback node for gravelparamat2017-02-041-0/+2
| | | | | | | | Gravel now falls back to stone. Gravel is not a particularly fundamental node, allowing it to fall back to stone frees up subgames from having to include a gravel node. Non-blob-ore gravel is only present in mgv6 as extremely rare 'gravel biomes'.
* Mgv6: Add stairs to desert stone dungeonsparamat2017-02-042-11/+16
| | | | | | As with the other mapgens, now that wide stairs in dungeons are possible we can now finally add stairs to desert stone dungeons. Re-order some lines.
* MapgenBasic node resolver: Various fixesparamat2017-02-041-5/+7
| | | | | | | | | | | | Add a fallback node for stair_desert_stone to avoid ignore placed in Minimal subgame desert dungeons. Don't allow river_water_source to fallback to water_source as river water needs to be non-renewable and have a short flow range. Make stair_sandstonebrick fall back to sandstonebrick instead of sandstone. Re-order some lines. Add a comment.
* Serverlist: Add ping indicators (#5164)kilbith2017-02-038-1/+29
|
* Tell on_punch to expect a return valueDuane Robertson2017-02-011-1/+1
| | | | | The return value should be interpreted as a boolean saying whether the lua on_punch function handled damage or the system needs to.
* Mgvalleys: Fix missing decorations and incorrect function orderparamat2017-02-011-7/+7
| | | | | | | | | | | | Fix missing decorations at horizontal chunk borders by adding 'updateHeightmap()' after terrain generation. Swap order of 'calculateNoise' and 'calcBiomeNoise' because 'calculateNoise' modifies the heat and humidity maps created in 'calcBiomeNoise'. Remove confusing comment, code block is not just for mods and seems essential for correct mapgen behaviour.
* Fix anticheat resetting client position after the client is teleportedEkdohibs2017-02-012-4/+24
| | | | | | | | | | | | | | | Previously, m_move_pool could accomodate the client moving from the new position to the old one, and the server accepted the client to go back to its old position. However, it couldn't then accomodate the client moving from its old to its new position, and therefore would reset position to the old position. Thus, by emptying m_move_pool after a teleport, the server no longer accepts the client to go back to its old position. A drawback is however that a laggy client *will* trigger a few "moved_too_fast" anticheats before being told about its new position. Don't report player cheated if caused by lag. Fixes #5118
* Make facedir_to_dir and wallmounted_to_dir work with coloured nodes as well. ↵Nathanaël Courant2017-01-311-2/+2
| | | | (#5153)
* Fix fog weirdness (#5146)numberZero2017-01-311-1/+1
|
* Plantlike visual scale: Send sqrt(visual_scale) to old clientsparamat2017-01-302-3/+9
| | | | | | Keep compatibility with protocol < 30 clients now that visual_scale is no longer applied twice to plantlike drawtype and mods are being updated to a new value.
* Add multiply texture modifiersapier2017-01-302-2/+58
| | | | Allows colorizing of textures using a color multiplication method.
* Use fabs() instead of abs() (#5141)Dániel Juhász2017-01-301-2/+2
|
* Re-add halo highlight (#5130)Dániel Juhász2017-01-301-0/+5
| | | | Due to a rebase mistake halo highlighting was disabled. This commit re-adds that feature.
* Add console height setting (#5136)Ezhh2017-01-304-1/+10
|
* Rename height to scale for openConsole() (#5139)Zeno-2017-01-293-7/+11
| | | | | For Game::openConsole() and GUIChatConsole::openConsole() the parameter name 'height' is misleading because it's actually a percentage of the screen/window height.
* Fix AIX threading buildShadowNinja2017-01-281-1/+1
|
* Fix synchronization issue at thread startShadowNinja2017-01-285-2/+27
| | | | | | | | | | | | | | | | If a newly spawned thread called getThreadId or getThreadHandle before the spawning thread finished saving the thread handle, then the handle/id would be used uninitialized. This would cause the threading tests to fail since isCurrentThread would return false, and if Minetest is built with C++11 support the std::thread object pointer would be dereferenced while ininitialized, causing a segmentation fault. This fixes the issue by using a mutex to force the spawned thread to wait for the spawning thread to finish initializing the thread object. An alternative way to handle this would be to also set the thread handle/id in the started thread but this wouldn't work for C++11 builds because there's no way to get the partially constructed object.
* from_table: Fix crash for missing inventory or fieldSmallJoker2017-01-282-20/+29
|
* Make entity on_punch have same signature and behaviour as player on_punchsapier2017-01-284-23/+33
|
* Plantlike: Fix visual_scale being applied squared (#5115)Paramat2017-01-281-2/+0
| | | | | | | | | Visual_scale was applied twice to plantlike by accident sometime between 2011 and 2013, squaring the requested scale value. Visual_scale is correctly applied once in it's other uses in signlike and torchlike. Two lines of code are removed, they also had no effect for the vast majority of nodes with the default visual_scale of 1.0. The texture continues to have it's base at ground level.
* Implement player attribute backend (#4155)Loïc Blot2017-01-279-6/+128
| | | | | | | | | | | | | | | * This backend permit mods to store extra players attributes to a common interface. * Add the obj:set_attribute(attr, value) Lua call * Add the obj:get_attribute(attr) Lua call Examples: * player:set_attribute("home:home", "10,25,-78") * player:get_attribute("default:mana") Attributes are saved as a json in the player file in extended_attributes key They are saved only if a modification on the attributes occurs and loaded when emergePlayer is called (they are attached to PlayerSAO).
* Dungeongen: Fix selection of diagonal corridorsparamat2017-01-261-1/+1
| | | | | | The do .. while loop is waiting for both dir.X and dir.Z to be non-zero, so should continue to loop if either dir.X or dir.Z are zero. The brackets present suggest this was intended to be OR not AND.
* Dungeons: Add nodebox stairs to desert and sandstone dungeonsparamat2017-01-262-2/+4
| | | | | | | | | | Desert and sandstone dungeons have 2 node wide corridors. Previously, nodebox stairs were disabled because dungeon generation code did not support nodebox stairs wider than 1 node, now it does. Add 'stair desert stone' content id to MappgenBasic. Requires 'mapgen stair desert stone' to be added to Minetest Game.
* Fix after hardware node coloring (#5114)Dániel Juhász2017-01-272-6/+6
|
* Dungeongen: Fix out-of-voxelmanip access segfaultparamat2017-01-251-4/+6
| | | | | | | | | | | My recent dungeon commit allowed stairs to be placed across the full width of corridors, but some of the new node positions accessed were missing checks for being within the voxelmanip, causing occasional segfaults near dungeons with corridors wider than 1 node. Add 'vm->m_area.contains(pos)' checks just before stair position voxelmanip access. This allows an earlier check to be removed as it is now redundant.
* Block spam messages before calling on_chatmessage callbacks (#4805)rubenwardy2017-01-251-19/+20
| | | Fixes #4799
* Add smooth lighting for all nodesnumber Zero2017-01-243-129/+396
| | | | Note: Smooth lighting disables the mesh cache.
* Wrap to positive degree values (#5106)raymoo2017-01-241-1/+1
|
* Initialize TileAnimationParams to prevent crashes/bugs for legacy ↵sfan52017-01-241-0/+2
| | | | invocations of add_particle{,spawner} (fixes #5108)
* Zoom FOV: Reduce minimum zoom FOV to 7 degreesparamat2017-01-233-4/+3
| | | | | | | | The default of 15 is unchanged. 7 degrees is x10 magnification which is common for binoculars. Alter hardcoded limits in camera.cpp: Minimum 7 degrees. Maximum 160 degrees to match upper limits in advanced settings.
* Dungeons: Support nodebox stairs wider than 1 nodeparamat2017-01-231-8/+16
| | | | | | | Previously, code did not support stair nodeboxes in corridors wider than 1 node. Make stair nodeboxes full width even in corridors with different widths in X and Z directions.
* core: Add dir_to_yaw and yaw_to_dir helpersAuke Kok2017-01-232-0/+12
| | | | | These are needed to go from things like entity yaw to a vector and vice versa.
* Vector: Add vector.sort(a, b): return box edgesAuke Kok2017-01-232-0/+6
| | | | | This function returns the box corners of the smallest box that includes the two given coordinates.