oweals/minetest.git
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)

8 years agoTranslated using Weblate (Japanese)
Rui [Wed, 13 Jan 2016 07:54:13 +0000 (08:54 +0100)]
Translated using Weblate (Japanese)

Currently translated at 42.0% (331 of 787 strings)

8 years agoTranslated using Weblate (Danish)
Peter Mikkelsen [Wed, 13 Jan 2016 08:23:08 +0000 (09:23 +0100)]
Translated using Weblate (Danish)

Currently translated at 30.1% (237 of 787 strings)

8 years agoTranslated using Weblate (Chinese (China))
Jun Zhang [Wed, 30 Dec 2015 15:01:36 +0000 (16:01 +0100)]
Translated using Weblate (Chinese (China))

Currently translated at 34.8% (274 of 787 strings)

8 years agoFix world config menu ignoring `name` in `mod.conf`.
Diego Martinez [Mon, 7 Dec 2015 03:49:01 +0000 (00:49 -0300)]
Fix world config menu ignoring `name` in `mod.conf`.

8 years agoBackface culling: Ignore setting in tiledef from old servers.
Auke Kok [Thu, 21 Jan 2016 22:40:24 +0000 (14:40 -0800)]
Backface culling: Ignore setting in tiledef from old servers.

Outdated servers are always sending tiledefs with culling
enabled no matter what, as the value was previously entirely
ignored.

To compensate, we must (1) detect that we're running against
an old server with a new client, and (2) disable culling for
mesh, plantlike, firelike and liquid draw types no matter what
the server is telling us.

In order to achieve this, we need to bump the protocol version
since we cannot rely on the tiledef version, and test for it
being older. I've bumped the protocol version, although that
should have likely happened in the actual change that introduced
the new backface_culling PR #3578. Fortunately that's only 2
commits back at this point.

We also explicitly test for the drawtype to assure we are not
changing the culling value for other nodes, where it should
remain enabled.

This was tested against various pub servers, including 0.4.13 and
0.4.12.

Fixes #3598

8 years agoFix compilation warning if compiling for android with c++11
est31 [Sat, 23 Jan 2016 05:26:58 +0000 (06:26 +0100)]
Fix compilation warning if compiling for android with c++11

8 years agoFix texture tear issue
RealBadAngel [Thu, 21 Jan 2016 15:04:41 +0000 (16:04 +0100)]
Fix texture tear issue

8 years agoFix C++11 compilability
est31 [Sat, 23 Jan 2016 04:45:00 +0000 (05:45 +0100)]
Fix C++11 compilability

Previous commits broke it... :(

8 years agoLiquid flow: Prevent water spreading on ignore
paramat [Sun, 17 Jan 2016 05:11:35 +0000 (05:11 +0000)]
Liquid flow: Prevent water spreading on ignore

8 years agoAllow per-tiles culling.
Auke Kok [Tue, 19 Jan 2016 04:44:46 +0000 (20:44 -0800)]
Allow per-tiles culling.

Backface culling is enabled by default for all tiles, as this
is how the lua parser initializes each tiledef. We revert to
always using the value from the tiledef since it is always
read and serialized.

Mods that wish to enable culling for e.g. mesh nodes, now can
specify the following to enable backface culling:

    tiles = {{ name = "tex.png", backface_culling = true }},

Note the double '{' and use of 'name' key here! In the same
fashion, backface_culling can be disabled for any node now.

I've tested this against the new door models and this properly
allows me to disable culling per node. I've also tested this
against my crops mod which uses mesh nodes where culling needs
to be disabled, and tested also with plantlike drawtype nodes
where we want this to continue to be disabled.

No default setting has changed. The defaults are just migrated
from nodedef.cpp to c_content.cpp.

8 years agoEmergeManager: Do not queue duplicate block requests
kwolekr [Sat, 14 Nov 2015 08:07:21 +0000 (03:07 -0500)]
EmergeManager: Do not queue duplicate block requests

8 years agoFix Settings::remove() always returning true
Kahrl [Tue, 19 Jan 2016 09:15:01 +0000 (10:15 +0100)]
Fix Settings::remove() always returning true

8 years agoShow infotext with description for item entities
RealBadAngel [Fri, 8 Jan 2016 14:59:36 +0000 (15:59 +0100)]
Show infotext with description for item entities

8 years agoCorrect overflowing rivers in Valleys mapgen.
Duane Robertson [Mon, 18 Jan 2016 07:55:08 +0000 (01:55 -0600)]
Correct overflowing rivers in Valleys mapgen.

8 years agoFix wield item glitch
RealBadAngel [Mon, 18 Jan 2016 05:08:54 +0000 (06:08 +0100)]
Fix wield item glitch

8 years agocorrected minetest.pos_to_string()
Pinky Snow [Sat, 16 Jan 2016 10:23:00 +0000 (05:23 -0500)]
corrected minetest.pos_to_string()

corrected this bit reflect the function properly.

8 years agoFix error message in settings tab overlapping 'save' button
Rogier [Fri, 8 Jan 2016 08:29:39 +0000 (09:29 +0100)]
Fix error message in settings tab overlapping 'save' button

The save button is now fully functional again when an error message
is shown.

After an invalid value is entered in the settings tab dialog, the GUI
label for the error message that is shown was partly overlapping the
'save' button, so that the top half of the button could not be clicked
on.

8 years agoPrevent spawning in rivers with valleys mapgen. Remove unecessary whitespace.
Duane Robertson [Sat, 16 Jan 2016 09:53:02 +0000 (03:53 -0600)]
Prevent spawning in rivers with valleys mapgen. Remove unecessary whitespace.

8 years agoMake ItemStack:set_count(0) clear the item stack
sfan5 [Fri, 15 Jan 2016 12:40:59 +0000 (13:40 +0100)]
Make ItemStack:set_count(0) clear the item stack

fixes minetest/minetest_game#786

8 years agoMake all mesh manipulators in mesh.cpp work with any vertex type
Kahrl [Fri, 15 Jan 2016 01:16:21 +0000 (02:16 +0100)]
Make all mesh manipulators in mesh.cpp work with any vertex type

cloneMesh() has to use a switch in order to create a different
mesh buffer type depending on vertex type. (Credit: the new cloneMesh
was written by RealBadAngel.)

To avoid repetitive code, all other methods use getVertexPitchFromType()
to automatically adapt the indexing to the vertex type at runtime.

8 years agoAdd Valleys mapgen.
Duane Robertson [Thu, 14 Jan 2016 03:57:02 +0000 (21:57 -0600)]
Add Valleys mapgen.

8 years agoMgv7/flat/fractal: Place biome top node on tunnel entrance floor
paramat [Mon, 11 Jan 2016 05:46:41 +0000 (05:46 +0000)]
Mgv7/flat/fractal: Place biome top node on tunnel entrance floor

8 years agoMapgen: Various fixes and improvements
paramat [Mon, 11 Jan 2016 00:30:03 +0000 (00:30 +0000)]
Mapgen: Various fixes and improvements

Lua_api.txt: Document 'minetest.registered_biomes'
Minimal: Remove 'mapgen_air' alias
Cavegen: Add fallback node for 'mapgen_ice'
Dungeongen: Add fallback node for 'mapgen_river_water_source'
Mgv5: Remove unnecessary '#include util/directiontables.h'
Add missing 'this->'s in makeChunk()
Mgv6: Edit empty line formatting
Remove leading spaces in makeChunk()
Add missing spaces after 'for' and 'if'
Mgv7: Edit empty line formatting

8 years agoMgflat: Set blank default spflags. Unhide
paramat [Sun, 10 Jan 2016 03:27:32 +0000 (03:27 +0000)]
Mgflat: Set blank default spflags. Unhide

8 years agoFix the checking of flags values in the settings tab
Rogier [Thu, 7 Jan 2016 19:59:35 +0000 (20:59 +0100)]
Fix the checking of flags values in the settings tab

Changes:
- Accept setting an empty flags-type value in the settings tab
  if the variable specification permits it
- Don't accept substrings of flag values
  E.g. with values: 'one,two,three', 'hree', 'w', etc. used to
  be accepted. Not any more
- Don't accept flags with random pattern-matching special characters
  E.g. with values: 'one,two,three', 'on.', '(o)[n]e*' etc. used
  to be accepted. Not any more.

8 years agoImprove parsing of setting types from settingtypes.txt for settings tab
Rogier [Thu, 7 Jan 2016 11:33:26 +0000 (12:33 +0100)]
Improve parsing of setting types from settingtypes.txt for settings tab

- Accept numbers prefixed with '+'
- Accept multiple spaces instead of just a single one where spaces are expected
- Allow flags to have an empty default value

8 years agoCache disable_anticheat and check it for "interacted_too_far"
ASL97 [Mon, 7 Dec 2015 09:39:48 +0000 (17:39 +0800)]
Cache disable_anticheat and check it for "interacted_too_far"

8 years agoActually add Doxygen main page
ShadowNinja [Sat, 9 Jan 2016 20:11:43 +0000 (15:11 -0500)]
Actually add Doxygen main page

I apparently forgot to add this file in my previous commit (bd40ee2b95138139a8cfbef878b3461176688c15).

8 years agoNew 3D Mode: Pageflip
Dalai Felinto [Mon, 14 Dec 2015 21:01:32 +0000 (19:01 -0200)]
New 3D Mode: Pageflip

The pageflip mode requires a stereo quadbuffer, and a modern graphic
card. Patch tested with NVidia 3D Vision.

The mini-map is not drawn, but that's what is done for topbottom and
sidebyside modes as well.

Also most of the time the user would prefer the HUD to be off. That's
for the user to decide though, and toggle it manually.

Finally, the interocular distance (aka eye separation) is twice as much
as the "3d_paralax_strength" settings. I find this a strange design
decision. I didn't want to chance this though, since it's how the other
3d modes interpret this settings.

8 years agoSimplify custom games packaging
Pavel Puchkin [Fri, 13 Mar 2015 11:09:58 +0000 (13:09 +0200)]
Simplify custom games packaging