oweals/minetest.git
8 years agoRemove debug.getupvalue from the Lua sandbox whitelist
ShadowNinja [Thu, 3 Mar 2016 04:59:42 +0000 (23:59 -0500)]
Remove debug.getupvalue from the Lua sandbox whitelist

This function could be used to steal insecure environments from trusted mods.

8 years agoAdd support for non-ASCII characters to chat console
ShadowNinja [Sun, 28 Feb 2016 18:27:54 +0000 (13:27 -0500)]
Add support for non-ASCII characters to chat console

This still only supports 256 characters, but that's because
Irrlicht's clipboard handlers don't support wide characters.

8 years agoAdd Android chat form
ShadowNinja [Sun, 28 Feb 2016 01:10:35 +0000 (20:10 -0500)]
Add Android chat form

8 years agoAdd text selection and copying to console
ShadowNinja [Sat, 27 Feb 2016 21:04:44 +0000 (16:04 -0500)]
Add text selection and copying to console

8 years agoUnlock cursor when opening console
ShadowNinja [Sat, 27 Feb 2016 20:51:09 +0000 (15:51 -0500)]
Unlock cursor when opening console

8 years agoUse the console instead of a dedicated window when pressing keymap_chat/cmd
Esteban I. Ruiz Moreno [Mon, 3 Jun 2013 00:16:32 +0000 (21:16 -0300)]
Use the console instead of a dedicated window when pressing keymap_chat/cmd

keymap_console opens a full window for chat history browsing.

8 years agoFix a mistake in the world format documentation
Aleksey Vorona [Wed, 2 Mar 2016 18:13:11 +0000 (10:13 -0800)]
Fix a mistake in the world format documentation

Fixed a minor mistake that made it appear as if the inventory
is serialized multiple times - once per each variable. In fact
it is serialized once per each node.

8 years agoRevert "Fix jumping at node edge"
nerzhul [Tue, 1 Mar 2016 10:15:08 +0000 (11:15 +0100)]
Revert "Fix jumping at node edge"

This reverts commit 60dc01dc258db842e229351b871d0989e3e7d62c.

This fixes issue #3773

8 years agoResize object_marker_red.png to 16x16
ShadowNinja [Sun, 28 Feb 2016 01:11:32 +0000 (20:11 -0500)]
Resize object_marker_red.png to 16x16

Having a non-power-of-two image broke the Android app.

8 years agoNodedef: Restore smooth lighting to water
paramat [Fri, 26 Feb 2016 22:30:50 +0000 (22:30 +0000)]
Nodedef: Restore smooth lighting to water

8 years agoMgvalleys: Add Dry Riverbeds
Duane Robertson [Sat, 27 Feb 2016 02:41:13 +0000 (20:41 -0600)]
Mgvalleys: Add Dry Riverbeds

Lower water table where base humidity is low.
Alter heat and humidity to compensate for river humidity and altitude
chill.
Correct misuse of surface_max_y in generateTerrain.
Remove sand trails in the water at river mouths.
Remove river water below water_level.
Correct heat/humidity calculations where noises are less than zero.
Correct heightmap errors as much as possible.
Make humidity calculations more readable.

8 years agoUpdate po files, minetest.conf.example and settings_translation_file.cpp
est31 [Sat, 27 Feb 2016 04:50:42 +0000 (05:50 +0100)]
Update po files, minetest.conf.example and settings_translation_file.cpp

8 years agoDon't generate trailing spaces in minetest.conf.example
est31 [Sat, 27 Feb 2016 04:26:58 +0000 (05:26 +0100)]
Don't generate trailing spaces in minetest.conf.example

If the default value of a setting was empty,
it previously generated a trailing space.

8 years agoTranslated using Weblate (Russian)
Dmitry Smirnov [Sun, 21 Feb 2016 08:46:02 +0000 (09:46 +0100)]
Translated using Weblate (Russian)

Currently translated at 61.3% (483 of 787 strings)

(Merger of five commits)

8 years agoTranslated using Weblate (Russian)
Vasily Pavlov [Sun, 21 Feb 2016 08:45:44 +0000 (09:45 +0100)]
Translated using Weblate (Russian)

Currently translated at 49.5% (390 of 787 strings)

(Merger of three commits)

8 years agoTranslated using Weblate (Spanish)
Miguel Isaac [Thu, 11 Feb 2016 00:41:06 +0000 (01:41 +0100)]
Translated using Weblate (Spanish)

Currently translated at 47.0% (370 of 787 strings)

(Merger of two commits from the same author)

8 years agoTranslated using Weblate (Catalan)
Joan Ciprià Moreno [Sat, 6 Feb 2016 00:25:33 +0000 (01:25 +0100)]
Translated using Weblate (Catalan)

Currently translated at 37.3% (294 of 787 strings)

8 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Tue, 2 Feb 2016 18:22:47 +0000 (19:22 +0100)]
Translated using Weblate (Spanish)

Currently translated at 46.6% (367 of 787 strings)

8 years agoTranslated using Weblate (Portuguese (Brazil))
Bruno Borges [Wed, 3 Feb 2016 19:31:55 +0000 (20:31 +0100)]
Translated using Weblate (Portuguese (Brazil))

Currently translated at 65.5% (516 of 787 strings)

8 years agoTranslated using Weblate (Polish)
Amadeo [Sun, 31 Jan 2016 16:19:31 +0000 (17:19 +0100)]
Translated using Weblate (Polish)

Currently translated at 33.9% (267 of 787 strings)

8 years agoTranslated using Weblate (Ukrainian)
Fixer [Mon, 25 Jan 2016 22:23:31 +0000 (23:23 +0100)]
Translated using Weblate (Ukrainian)

Currently translated at 30.4% (240 of 787 strings)

8 years agoTranslated using Weblate (Spanish)
Diego Martínez [Mon, 25 Jan 2016 07:35:47 +0000 (08:35 +0100)]
Translated using Weblate (Spanish)

Currently translated at 45.9% (362 of 787 strings)

8 years agoTranslated using Weblate (Italian)
Paolo DGZ [Mon, 25 Jan 2016 17:13:15 +0000 (18:13 +0100)]
Translated using Weblate (Italian)

Currently translated at 52.7% (415 of 787 strings)

8 years agoTranslated using Weblate (Indonesian)
Muhammad Rifqi Priyo Susanto [Tue, 26 Jan 2016 15:32:41 +0000 (16:32 +0100)]
Translated using Weblate (Indonesian)

Currently translated at 42.4% (334 of 787 strings)

8 years agoTranslated using Weblate (Hungarian)
Kisbenedek Márton [Thu, 28 Jan 2016 19:32:40 +0000 (20:32 +0100)]
Translated using Weblate (Hungarian)

Currently translated at 69.1% (544 of 787 strings)

(Merger of three commits)

8 years agoFix minetest.request_insecure_environment() always returning nil
Jeija [Thu, 25 Feb 2016 08:47:28 +0000 (09:47 +0100)]
Fix minetest.request_insecure_environment() always returning nil

Fixes #3765

8 years agoMapblock mesh: Allow to use VBO
RealBadAngel [Mon, 22 Feb 2016 03:26:32 +0000 (04:26 +0100)]
Mapblock mesh: Allow to use VBO

8 years agoRemove new_style_water
RealBadAngel [Sun, 21 Feb 2016 06:34:29 +0000 (07:34 +0100)]
Remove new_style_water

8 years agoCache some settings
rubenwardy [Wed, 2 Sep 2015 19:21:55 +0000 (20:21 +0100)]
Cache some settings

8 years agoAdd dependencies for Fedora systems
Nathaniel Olsen [Thu, 25 Feb 2016 00:22:22 +0000 (18:22 -0600)]
Add dependencies for Fedora systems

8 years agoShaders: fix fog not affecting opaque liquids
RealBadAngel [Tue, 23 Feb 2016 19:32:57 +0000 (20:32 +0100)]
Shaders: fix fog not affecting opaque liquids

8 years agoSheet Ore: Eliminate crash caused by PcgRandom range max < min
paramat [Sun, 21 Feb 2016 13:28:34 +0000 (13:28 +0000)]
Sheet Ore: Eliminate crash caused by PcgRandom range max < min

In the calculation of y_start,
when 'column height max' was large it caused
nmin.Y + max_height > nmax.Y - max_height
Now, in this situation y_start is set to the
midpoint between nmin.Y and nmax.Y

Limit y0 and y1 to between nmin.Y and nmax.Y,
otherwise index calculation, which has no checks for limits,
places them at unwanted locations in the voxelmanip

8 years agoGOTBLOCKS & DELETEBLOCKS: test packet size only once 3771/head
nerzhul [Tue, 23 Feb 2016 09:58:13 +0000 (10:58 +0100)]
GOTBLOCKS & DELETEBLOCKS: test packet size only once

8 years agoFix android build
est31 [Tue, 23 Feb 2016 00:14:00 +0000 (01:14 +0100)]
Fix android build

Android had a linker error since commit:

31e0667a4a53a238d0321194b57b083bd74c0a5b "Add Lua interface to HTTPFetchRequest"

Fixes #3766. Thanks to @MoNTE48 for reporting the bug.

8 years agoReset block send timer when invoking setBlock(s)NotSent()
orwell96 [Mon, 1 Feb 2016 18:29:53 +0000 (19:29 +0100)]
Reset block send timer when invoking setBlock(s)NotSent()

As stated in this forum thread [1], I noticed that there is a
2 second interval in which inventory changes are shown on the
client. @yyt16384 found the source of these 2 seconds:
m_nothing_to_send_pause_timer is set to 2.0 every time there
are no changes to make, but this timer is not reset when
SetBlockNotSent or setBlocksNotSent are invoked. So in worst
case, the changed block will be sent over 2 seconds too late.

With this change, changed inventories are updated almost
immediately, but it causes additional connection load.

8 years agoAndroid: hardcode leveldb revision
est31 [Mon, 22 Feb 2016 16:43:42 +0000 (17:43 +0100)]
Android: hardcode leveldb revision

Newest leveldb commit breaks build.
With no fix in sight, there is no other way
than to fall back to the last working leveldb
revision, and hardcode it.

Workaround for upstream bug

https://github.com/google/leveldb/issues/340

8 years agoFix getting pointed node
RealBadAngel [Sat, 20 Feb 2016 09:58:40 +0000 (10:58 +0100)]
Fix getting pointed node

Fixes #3719
Closes #3753

8 years agoAdd Lua interface to HTTPFetchRequest
Jeija [Thu, 18 Feb 2016 10:38:47 +0000 (11:38 +0100)]
Add Lua interface to HTTPFetchRequest

This allows mods to perform both asynchronous and synchronous HTTP
requests. Mods are only granted access to HTTP APIs if either mod
security is disabled or if they are whitelisted in any of the
the secure.http_mods and secure.trusted_mods settings.

Adds httpfetch_caller_alloc_secure to generate random, non-predictable
caller IDs so that lua mods cannot spy on each others HTTP queries.

8 years agoFix HTTPFetchRequest performing a GET request if post_data is supplied
Jeija [Wed, 17 Feb 2016 19:36:51 +0000 (20:36 +0100)]
Fix HTTPFetchRequest performing a GET request if post_data is supplied

Instead, perform a POST request with post_data.

8 years agoCamera: remove auto tune FPS, single view range setting
RealBadAngel [Sat, 20 Feb 2016 03:42:35 +0000 (04:42 +0100)]
Camera: remove auto tune FPS, single view range setting

8 years agoRemove preload_item_visuals code
RealBadAngel [Sat, 20 Feb 2016 02:37:26 +0000 (03:37 +0100)]
Remove preload_item_visuals code

Closes #3748

8 years agoDont make fastface if tile is not seamless
RealBadAngel [Sat, 20 Feb 2016 05:53:56 +0000 (06:53 +0100)]
Dont make fastface if tile is not seamless

Fixes #3378
Closes #3751

8 years agoRestore simple settings tab and add advanced settings as dialog
BlockMen [Fri, 19 Feb 2016 09:03:02 +0000 (10:03 +0100)]
Restore simple settings tab and add advanced settings as dialog

8 years agoLittle collision.cpp cleanups 3752/head
Loic Blot [Sat, 20 Feb 2016 08:44:22 +0000 (09:44 +0100)]
Little collision.cpp cleanups

8 years agoFix jumping at node edge
gregorycu [Tue, 27 Jan 2015 12:33:54 +0000 (23:33 +1100)]
Fix jumping at node edge

8 years agoDon't print locale directory error message when GetText is disabled
ShadowNinja [Sat, 20 Feb 2016 00:55:31 +0000 (19:55 -0500)]
Don't print locale directory error message when GetText is disabled

Also, downgrade the error to a warning.

8 years agoIgnore spaces in secure.trusted_mods setting
Jeija [Fri, 19 Feb 2016 20:14:38 +0000 (21:14 +0100)]
Ignore spaces in secure.trusted_mods setting

8 years agoMinimap: show player markers
RealBadAngel [Thu, 18 Feb 2016 16:17:17 +0000 (17:17 +0100)]
Minimap: show player markers

8 years agoCamera: Don't count camera offset twice for Nametagged CAOs
RealBadAngel [Fri, 19 Feb 2016 13:13:21 +0000 (14:13 +0100)]
Camera: Don't count camera offset twice for Nametagged CAOs

8 years agoRequire request_insecure_environment to be called from the mod's main scope
ShadowNinja [Thu, 18 Feb 2016 21:06:07 +0000 (16:06 -0500)]
Require request_insecure_environment to be called from the mod's main scope

Previously you could steal a secure environment from a trusted mod by wrapping
request_insecure_environment with some code like this:

local rie_cp = minetest.request_insecure_environment
local stolen_ie
function minetest.request_insecure_environment()
local ie = rie_cp()
stolen_ie = stolen_ie or ie
return ie
end

8 years agoClientmap: Define p_nodes_min/max as v3s32 instead of v3s16
paramat [Wed, 17 Feb 2016 02:39:21 +0000 (02:39 +0000)]
Clientmap: Define p_nodes_min/max as v3s32 instead of v3s16

'cam_pos_nodes -/+ box_nodes_d' can exceed the range of v3s16
when a player is near the world edge using a large view range
This previously caused world to disappear
Create new function getBlocksInViewRange() called from
updateDrawList() and renderMap()
Correct code style throughout updateDrawList() and renderMap()

8 years agoHOTFIX: fix too agressive block culling
RealBadAngel [Sat, 13 Feb 2016 22:39:37 +0000 (23:39 +0100)]
HOTFIX: fix too agressive block culling

8 years agoMove object nametags to camera
RealBadAngel [Mon, 15 Feb 2016 13:01:01 +0000 (14:01 +0100)]
Move object nametags to camera

8 years agoClientiface: remove "value is dummy" from docs
est31 [Tue, 16 Feb 2016 22:58:30 +0000 (23:58 +0100)]
Clientiface: remove "value is dummy" from docs

Commit

6a1670dbc31cc0e44178bbd9ad34ff0d5981a060 "Migrate to STL containers/algorithms."

has replaced core::map<T, bool> with std::set<T>, but didn't update
the accompanying comment saying "value is dummy". This happened at
two places.

8 years agoMapblock mesh: Eliminate meshgen lags
RealBadAngel [Tue, 16 Feb 2016 02:51:57 +0000 (03:51 +0100)]
Mapblock mesh: Eliminate meshgen lags

8 years agoUse vertices with tangents only when its needed.
RealBadAngel [Fri, 12 Feb 2016 11:25:20 +0000 (12:25 +0100)]
Use vertices with tangents only when its needed.

8 years agoPlayer::accelerateHorizontal/Vertical should be member of LocalPlayer 3708/head
Loic Blot [Sun, 14 Feb 2016 16:45:06 +0000 (17:45 +0100)]
Player::accelerateHorizontal/Vertical should be member of LocalPlayer

8 years agoUse proper variable types for uniform sampler layers
RealBadAngel [Sun, 14 Feb 2016 08:00:34 +0000 (09:00 +0100)]
Use proper variable types for uniform sampler layers

8 years agoFormspec: fix broken irrlicht 1.7 build
RealBadAngel [Sat, 13 Feb 2016 21:08:58 +0000 (22:08 +0100)]
Formspec: fix broken irrlicht 1.7 build

Fixes #3701.

8 years agoFormspec: recreate item_image_button pressed state for its image and label
RealBadAngel [Tue, 9 Feb 2016 09:43:38 +0000 (10:43 +0100)]
Formspec: recreate item_image_button pressed state for its image and label

8 years agoRemove unused 'm_selection_active' field
est31 [Sat, 13 Feb 2016 00:45:06 +0000 (01:45 +0100)]
Remove unused 'm_selection_active' field

Thanks @ExcaliburZero for noticing. Fixes #3698.

8 years agov2d & aabbox3d<f32> & sky cleanups
nerzhul [Thu, 11 Feb 2016 14:21:21 +0000 (15:21 +0100)]
v2d & aabbox3d<f32> & sky cleanups

* Sky: rename Box => m_box and inline getBoundingBox
* Uniformize aabbox3d<f32> to aabb3f

8 years agoDrop luaentity_common.h which is not included anywhere
Loic Blot [Wed, 10 Feb 2016 23:10:05 +0000 (00:10 +0100)]
Drop luaentity_common.h which is not included anywhere

8 years agoUse single box for halo mesh
RealBadAngel [Thu, 11 Feb 2016 03:57:01 +0000 (04:57 +0100)]
Use single box for halo mesh

8 years agoSet proper GLSL pixel shader version
RealBadAngel [Thu, 11 Feb 2016 06:22:15 +0000 (07:22 +0100)]
Set proper GLSL pixel shader version

8 years agoDump shader programs on compile errors
RealBadAngel [Wed, 10 Feb 2016 03:27:45 +0000 (04:27 +0100)]
Dump shader programs on compile errors

8 years agoDocumentation: Remove now unused 'vertical spawn range'
paramat [Thu, 11 Feb 2016 03:40:50 +0000 (03:40 +0000)]
Documentation: Remove now unused 'vertical spawn range'

8 years agoInitialize facedir and wallmounted tables only once.
Diego Martinez [Wed, 10 Feb 2016 00:46:22 +0000 (21:46 -0300)]
Initialize facedir and wallmounted tables only once.

This makes the functions a bit faster since they don't
have to recreate the tables every invocation, and makes
the code more readable.

Also, document `wallmounted_to_dir`.

The function was implemented but not documented in `lua_api.txt`.

8 years agoLog /clearobjects mode
Kahrl [Tue, 9 Feb 2016 07:56:40 +0000 (08:56 +0100)]
Log /clearobjects mode

8 years agoAdd '/clearobjects quick'
Kahrl [Mon, 8 Feb 2016 21:20:04 +0000 (22:20 +0100)]
Add '/clearobjects quick'

8 years agoFix backface culling when connecting to new servers.
Auke Kok [Sun, 24 Jan 2016 03:53:27 +0000 (19:53 -0800)]
Fix backface culling when connecting to new servers.

Introduce a new contentfeatures version (8). When clients
connect using v27 protocol version, they can assume that
the tiledef.backface_culling is trustable, but if clients
connect to servers providing contentfeatures version 7,
then the v27 clients know that backface culling settings
provided by the server in tiledefs are bogus for mesh,
plantlike, firelike or liquid drawtype nodes.

thanks to hmmmm, est31, nerzhul.

Tested on new client - new server, new client - old server
old client - new server.

8 years agoFix inverted conditions in shader.cpp
Loic Blot [Tue, 9 Feb 2016 22:46:20 +0000 (23:46 +0100)]
Fix inverted conditions in shader.cpp

8 years agoshader.cpp: don't test twice if shader programs are present
Loic Blot [Tue, 9 Feb 2016 22:03:54 +0000 (23:03 +0100)]
shader.cpp: don't test twice if shader programs are present

Also use string::empty method, it is better than comparing with empty strings.

8 years agoFormSpec: Add StaticTextSpec and superimpose over item image buttons
RealBadAngel [Tue, 9 Feb 2016 05:06:10 +0000 (06:06 +0100)]
FormSpec: Add StaticTextSpec and superimpose over item image buttons

8 years agoFilmic HDR tone mapping
RealBadAngel [Mon, 25 Jan 2016 12:33:22 +0000 (13:33 +0100)]
Filmic HDR tone mapping

8 years agoRemove ClientMap::m_camera_mutex
Kahrl [Sun, 7 Feb 2016 03:24:24 +0000 (04:24 +0100)]
Remove ClientMap::m_camera_mutex

All places that lock this mutex are only called by the main thread:
ClientMap::updateCamera(), ClientMap::updateDrawList(), ClientMap::renderMap(), ClientMap::renderPostFx().

8 years agoFindSpawnPos: Let mapgens decide what spawn altitude is suitable
paramat [Thu, 4 Feb 2016 01:03:31 +0000 (01:03 +0000)]
FindSpawnPos: Let mapgens decide what spawn altitude is suitable

To avoid spawn search failing in new specialised mapgens
Increase spawn search range to 4000 nodes
Add getSpawnLevelAtPoint() functions to EmergeManager, class Mapgen
and all mapgens
Remove getGroundLevelAtPoint() functions from all mapgens except mgv6
(possibly to be re-added later in the correct form to return actual
ground level)
Make mgvalleys flag names consistent with other mapgens
Remove now unused 'vertical spawn range' setting

8 years agoUse inventory_image in the first place for inventory item mesh
RealBadAngel [Mon, 8 Feb 2016 00:40:05 +0000 (01:40 +0100)]
Use inventory_image in the first place for inventory item mesh

8 years agoCleanup selection mesh code, add shaders for halo and selection boxes
RealBadAngel [Sun, 7 Feb 2016 03:08:43 +0000 (04:08 +0100)]
Cleanup selection mesh code, add shaders for halo and selection boxes

8 years agobuiltin: Fix `print` crashing on nil "holes".
Diego Martinez [Thu, 4 Feb 2016 12:58:44 +0000 (09:58 -0300)]
builtin: Fix `print` crashing on nil "holes".

The engine implementation of `print` packs the varargs into a
table and passes the table directly to `table.concat`. If you
pass any value not supported by `table.concat` (particularly
`nil`), the server crashes. This is unexpected behavior, as
`print` is supposed to be able to work with anything.

This patch changes the implementation so it first converts
all arguments using `tostring`, which fixes the issue and
makes the custom `print` function compatible with the stock
Lua behavior.

8 years agosmall drawItemStack cleanup
est31 [Sun, 7 Feb 2016 19:27:50 +0000 (20:27 +0100)]
small drawItemStack cleanup

-> Replace the three bool params with an enum
-> Add struct for the static content, leads to less repetition
-> cache enable_animations setting

8 years agoUse meshes to display inventory items
RealBadAngel [Sun, 24 Jan 2016 13:19:17 +0000 (14:19 +0100)]
Use meshes to display inventory items

8 years agoUse tangent space meshes only when shaders are enabled
RealBadAngel [Sat, 6 Feb 2016 04:49:12 +0000 (05:49 +0100)]
Use tangent space meshes only when shaders are enabled

8 years agoAdd admin command which says who the administator is for the server.
Splizard [Wed, 3 Feb 2016 06:09:13 +0000 (19:09 +1300)]
Add admin command which says who the administator is for the server.

8 years agoImplement OSX Travis builds
Pavel Puchkin [Fri, 29 Jan 2016 14:15:58 +0000 (16:15 +0200)]
Implement OSX Travis builds

8 years agoMgvalleys: fix riverbeds below sea level
Duane Robertson [Mon, 1 Feb 2016 08:09:43 +0000 (02:09 -0600)]
Mgvalleys: fix riverbeds below sea level

Stop riverbeds from forming plateaus under sea. Minor corrections to
random lava/water placement.

8 years agoMgv5/v7/flat/fractal: Move tunnel noise calculation into generateCaves
paramat [Sun, 31 Jan 2016 04:23:46 +0000 (04:23 +0000)]
Mgv5/v7/flat/fractal: Move tunnel noise calculation into generateCaves

Tunnel 3D noises are only calculated when solid terrain is present
in mapchunk, avoiding large amounts of unnecessary calculations
Change 'int' to 's16' in calculateNoise
Change 'i' to 'vi' for voxelmanip indexes for consistency
Keep 'u32 index3d' local to a smaller part of tunnel code
Mgv7: Don't call CaveV7 if no solid terrain in mapchunk
Give 'open' bool a more descriptive name

8 years agoMgvalleys: use standard caves
Duane Robertson [Sun, 31 Jan 2016 08:59:15 +0000 (02:59 -0600)]
Mgvalleys: use standard caves

Replace simple caves with V5 caves, adding unpredictable water and lava
settings and massive caves based on subterrain. Remove fast terrain mode
and accompanying settings. Remove superfluous temperature/humidity
settings. Remove lava/water height setting. Fix errors in humidity
handling and remove humidity_break_point setting. Move cave noises to
generateCaves. Fix minor formatting/naming issues and use
MYMAX/MYMIN/myround.

8 years agoFix OSX building issue caused by ad884f2
Pavel Puchkin [Fri, 29 Jan 2016 14:43:29 +0000 (16:43 +0200)]
Fix OSX building issue caused by ad884f2

8 years agoDon't pass non-const references to collision methods
est31 [Sun, 24 Jan 2016 23:06:01 +0000 (00:06 +0100)]
Don't pass non-const references to collision methods

Non const references cause a lot of confusion with behaviour of code,
and are disallowed by minetest style guide.

8 years agoNew timer design.
Auke Kok [Thu, 21 Jan 2016 09:07:38 +0000 (01:07 -0800)]
New timer design.

I could honestly not make much sense of the timer implementation
that was here. Instead I've implemented the type of timer algorithm
that I've used before, and tested it instead.

The concept is extremely simple: all timers are put in an ordered
list. We check every server tick if any of the timers have
elapsed, and execute the function associated with this timer.

We know that many timers by themselves cause new timers to be
added to this list, so we iterate *backwards* over the timer
list. This means that new timers being added while timers are
being executed, can never be executed in the same function pass,
as they are always appended to the table *after* the end of
the table, which we will never reach in the current pass over
all the table elements.

We switch time keeping to minetest.get_us_time(). dtime is
likely unreliable and we have our own high-res timer that we
can fix if it is indeed broken. This removes the need to do
any sort of time keeping.

8 years agoClocksource: use a better clock if available.
Auke Kok [Sun, 24 Jan 2016 07:06:26 +0000 (23:06 -0800)]
Clocksource: use a better clock if available.

clock_gettime() is a far better clock than gettimeofday().

Even better than clock_gettime() is that you can select either
CLOCK_MONOTONIC, or even CLOCK_MONOTONIC_RAW. These clocks offer
high precision time. And the _RAW variant will never roll back
due to NTP drift or daylight savings, or otherwise.

I've adjusted this code to select the right clock method auto-
matically based on what's available in the OS. This means that
if you're running a very old linux version, MacOS or other,
you will automatically get the best clocksource available.

I've tested all Linux clocksources by selectively compiling and
running a 10k+ timer test suite. In all cases I confirmed that
the 3 POSIX Linux clocksources worked properly, and were
selected properly.

I've modified the OS X compile path to use the high-res clock
source for all time functions, but I can't confirm it works or
that it compiles.

As for WIN32, I confirmed that the used clocksource is indeed
a Monotonic clocksource, so good news: that code section appears
to be exactly what it should be.

8 years agoDon't print whole json data buffer to errorstream on error
est31 [Thu, 28 Jan 2016 22:53:58 +0000 (23:53 +0100)]
Don't print whole json data buffer to errorstream on error

`errorstream` must not be overly verbose as clientside it is directly printed
onto the ingame chat window. These days, the serverlist can contain > 200k bytes,
so better print it to warningstream if the data buffer is too long.

8 years agoTranslated using Weblate (Italian)
Paolo DGZ [Sun, 24 Jan 2016 14:00:55 +0000 (15:00 +0100)]
Translated using Weblate (Italian)

Currently translated at 52.0% (410 of 787 strings)

8 years agoTranslated using Weblate (Hungarian)
Kisbenedek Márton [Sun, 24 Jan 2016 23:59:19 +0000 (00:59 +0100)]
Translated using Weblate (Hungarian)

Currently translated at 32.4% (255 of 787 strings)

8 years agoTranslated using Weblate (Dutch)
Tobyplowy [Sat, 23 Jan 2016 03:35:25 +0000 (04:35 +0100)]
Translated using Weblate (Dutch)

Currently translated at 95.5% (752 of 787 strings)

8 years agoTranslated using Weblate (Portuguese (Brazil))
Ian giestas pauli [Thu, 14 Jan 2016 19:25:46 +0000 (20:25 +0100)]
Translated using Weblate (Portuguese (Brazil))

Currently translated at 41.6% (328 of 787 strings)

8 years agoTranslated using Weblate (Portuguese (Brazil))
Ian giestas pauli [Thu, 14 Jan 2016 17:32:23 +0000 (18:32 +0100)]
Translated using Weblate (Portuguese (Brazil))

Currently translated at 26.6% (210 of 787 strings)

8 years agoTranslated using Weblate (Portuguese)
Ian giestas pauli [Thu, 14 Jan 2016 17:20:14 +0000 (18:20 +0100)]
Translated using Weblate (Portuguese)

Currently translated at 23.6% (186 of 787 strings)

8 years agoTranslated using Weblate (Japanese)
Rui [Thu, 14 Jan 2016 07:53:58 +0000 (08:53 +0100)]
Translated using Weblate (Japanese)

Currently translated at 43.4% (342 of 787 strings)