Commit Graph

6026 Commits (715fba6f3927d30ba68c434dd9857d9dec18173d)

Author SHA1 Message Date
Craig Robbins d864c13333 Fix holding down F10 (open console) causing GUI to freeze 2016-05-04 21:31:23 +10:00
paramat b22de6470b Settings_translation_file: Update mapgen with cave width parameter 2016-05-03 00:44:34 +01:00
Craig Robbins c92cff5d52 Fix Windows build
Fixes the issue introduced by c1a0ebb (Fix use of uninitialised variable
in class Event) causing Windows builds to fail
2016-05-02 15:01:17 +10:00
Kahrl 8fe753c3d9 FileSelectMenu: Fix formspec parsing broken by Irrlicht file-chooser 2016-05-01 16:32:12 +02:00
Auke Kok aa8c88cf4a find_path: consider walkable instead of CONTENT_AIR
The path finding code works fairly well except that it considers
anythin not CONTENT_AIR to be "above the surface". This results in
paths that are unwalkable for entities since e.g. plants are not
walkable. The path would force them to jump on top of grass plants,
etc..

The obvious solution is not to use CONTENT_AIR as a criteria, but
instead distinguish between walkable and non-walkable nodes. This
results in paths that properly walk through grass nodes.

This was extensively tested by a flock of electric sheep.

Note that for underwater purposes this changes the behaviour from
"the surface is walkable" to "ignore water entirely" making the
path go across the water bottom, and pathing fail likely from the
water surface. This is intentional.
2016-05-01 15:32:03 +02:00
est31 9aec701a4c Pathfinder: improve GridNode storage
Before, the GridNodes were stored in vector<vector<vector<T>>>,
and initialized in advance. Putting three vectors inside each other
puts lots of unneccessary stress onto the allocator, costs more memory,
and has worse cache locality than a flat vector<T>.

For larger search distances, an the array getting initialized means
essentially O(distance^3) complexity in both time and memory,
which makes the current path search a joke. In order to really
profit from the dijkstra/A* algorithms, other data structures
need to be used for larger distances.

For shorter distances, a map based GridNode storage may be slow as
it requires lots of levels of indirection, which is bad for things like
cache locality, and an array based storage may be faster.

This commit does:

1. remove the vector<vector<vector<T>>> based GridNodes storage that
	is allocated and initialized in advance and for the whole
	possible area.

2. Add a vector<T> based GridNodes storage that is allocated and
	initialized in advance for the whole possible area.

3. Add a map<P,T> based GridNodes storage whose elements are
	allocated and initialized, when the path search code
	demands it.

4. Add code to decide between approach 2 and 3,
	based on the length of the path.

5. Remove the unused "surfaces" member of the PathGridnode class.
	Setting this isn't as easy anymore for the
	map based GridNodes storage.
2016-05-01 15:32:03 +02:00
est31 f0de237de7 Pathfinder: use core::aabbox3d instead of own type
There is no need to reinvent the wheel here, we have
great classes from irrlicht.
2016-05-01 15:32:03 +02:00
est31 ac8bb457aa Pathfinder: Fix style
* Fix naming style for methods and classes:
	Use camelCase for methods and PascalCase for classes as
	code style demands it. And use sneak_case for methods that
	are not member of a class.
* Replace "* " with " *" for Pointers
* Same for references
* Put function body opening braces on new line
* Other misc minor non functional style improvements
2016-05-01 15:32:02 +02:00
est31 46e5ef4e9a Move pathfinder classes to cpp file
There is no need to put them into the header, they are solely used
inside the pathfinder.

Another advantage of this change is that only the pathfinder.cpp has
to be compiled if PATHFINDER_DEBUG gets defined or undefined, not
all files including the .h.

This commit moves the pathfinder classes to the cpp file without
modifications.
Also, the PATHFINDER_DEBUG macro gets moved to the cpp file and
the PATHFINDER_CALC_TIME macro gets moved to a plce where it
actually does work.
2016-05-01 15:32:02 +02:00
Craig Robbins c1a0ebb725 Fix use of uninitialised variable in class Event 2016-05-01 17:32:00 +10:00
gregorycu c95734654c Use MoveFileEx to rename files on Windows (not rename) 2016-05-01 17:28:16 +10:00
Rui 29877dfb45 Mainmenu: Remove space under mod list 2016-05-01 14:16:37 +10:00
Rui 0d40bb83a7 Translated using Weblate (Japanese)
Currently translated at 51.7% (448 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:24 +02:00
Emon Omen 6667ffc0ab Translated using Weblate (Italian)
Currently translated at 100.0% (865 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:24 +02:00
Claybiokiller 3de452e0d2 Translated using Weblate (Chinese (China))
Currently translated at 75.4% (653 of 865 strings)
2016-05-01 01:13:23 +02:00
Joan Ciprià Moreno Teodoro 2a12ebd652 Translated using Weblate (Catalan)
Currently translated at 46.5% (403 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:23 +02:00
Thomas Wagner Nielsen b2b8c49d04 Translated using Weblate (Danish)
Currently translated at 28.7% (249 of 865 strings)
2016-05-01 01:13:23 +02:00
Muhammad Rifqi Priyo Susanto e9c3824d1b Translated using Weblate (Indonesian)
Currently translated at 57.4% (497 of 865 strings)

This is a merger of three commits.
2016-05-01 01:13:23 +02:00
Jan Harald 9fc4415f9d Translated using Weblate (Estonian)
Currently translated at 21.8% (189 of 865 strings)
2016-05-01 01:13:23 +02:00
Fernando Reis cd9177964a Translated using Weblate (Portuguese)
Currently translated at 67.5% (584 of 865 strings)

This is a merger of 5 commits.
2016-05-01 01:13:23 +02:00
Wuzzy 01517e210c Translated using Weblate (German)
Currently translated at 100.0% (865 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:22 +02:00
YFdyh000 1e103d0850 Translated using Weblate (Chinese (China))
Currently translated at 75.3% (652 of 865 strings)

This is a merger of 3 commits.
2016-05-01 01:13:22 +02:00
Stas Kies fe64f93170 Translated using Weblate (Russian)
Currently translated at 59.3% (513 of 865 strings)

This is a merger of 5 commits.
2016-05-01 01:13:22 +02:00
Pavel Sokolov 2b1ad6a4dc Translated using Weblate (Russian)
Currently translated at 58.9% (510 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:22 +02:00
Anton Tsyganenko 7a923f5b0b Translated using Weblate (Russian)
Currently translated at 58.9% (510 of 865 strings)
2016-05-01 01:13:22 +02:00
Alex “XShell” Schekoldin ac38f4ec99 Translated using Weblate (Russian)
Currently translated at 58.9% (510 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:21 +02:00
Stas Kies aec0979b27 Translated using Weblate (Russian)
Currently translated at 58.9% (510 of 865 strings)
2016-05-01 01:13:21 +02:00
Ever Medina a760359391 Translated using Weblate (Spanish)
Currently translated at 46.2% (400 of 865 strings)
2016-05-01 01:13:21 +02:00
Ian Giestas Pauli 93fc5556ca Translated using Weblate (Portuguese (Brazil))
Currently translated at 71.3% (617 of 865 strings)

This is a merger of two commits.
2016-05-01 01:13:21 +02:00
Jean-Patrick G 6e6bd7e774 Translated using Weblate (French)
Currently translated at 94.1% (814 of 865 strings)

This is a merger of two commits.
2016-04-30 23:52:11 +02:00
ShadowNinja a53357d291 Fix POSIX C++11 build
I broke this in 46fd114e9a.
2016-04-30 13:41:04 -04:00
Craig Robbins ae75073944 Fix prepreprocessor error in thread.h (related to C++11 threads) 2016-04-30 12:29:52 +10:00
paramat 8b1f8e99cf Mapgen: Make 3D noise tunnels' width settable
Correct parameter names mg_valleys to mgvalleys
Remove biome NoiseParams from MapgenValleysParams
Improve format of parameter code
2016-04-28 23:36:19 -04:00
ShadowNinja 46fd114e9a Fix race on thread creation
This often broke the threading tests on OSX.
2016-04-28 13:21:46 -04:00
ShadowNinja e41673820f Upgrade Android build to Gradle build system
The old Ant build system has been deprecated for a while and new development is focused on Gradle.
I also removed a hardcoded string that lint caught and moved the patch files to a subdirectory.
I left the JNI files in the root directory.
2016-04-28 12:28:42 -04:00
tenplus1 7baddd1735 Avoid teleporting player if /teleport coords are out-of-range 2016-04-29 00:00:35 +10:00
kilbith dc35091aff Android menu: Unified serverlist 2016-04-28 07:19:31 +01:00
rubenwardy 17bfe2fe5b Builtin: Add basic_privs setting 2016-04-28 07:19:07 +01:00
SmallJoker 30083d1e00 Mainmenu: Standardize the menu button order and sizes 2016-04-28 07:16:58 +01:00
obneq 6278da296b Handle particle spawners in env and delete expired ids
Rebased by Zeno (2016-04-2016)
2016-04-28 02:09:36 +10:00
Maksim Gamarnik 26a9a85129 Android: Update dependencies, GMP was required as a dependency 2016-04-26 10:17:04 +01:00
Xunto ae7fb9b5be Inventory: Make ItemStack with different metadata not stackable 2016-04-26 10:16:20 +01:00
SmallJoker 31c1fca6fd tile.cpp: Automatically upscale lower resolution texture 2016-04-25 06:39:32 +01:00
gregorycu 46da0e8b3b Make GUIEngine use pause_fps_max not fps_max 2016-04-24 17:40:16 +10:00
Ekdohibs 48939df9a5 Escape more strings: formspecs, item descriptions, infotexts...
Also, change the escape character to the more standard \x1b
Thus, it can be used in the future for translation or colored text,
for example.
2016-04-24 03:54:11 +10:00
Xunto 21079cc8eb Fix bug that was leading to oversized tooltips containing multiline text when it have multiple lines 2016-04-23 21:12:53 +10:00
Ekdohibs 2177f3090e Fix mainmenu code downloading the public serverlist twice.
Also, fix a nil error that can happen sometimes in
menu_handle_key_up_down
2016-04-22 23:39:54 +10:00
est31 7a6502a7a5 CONTRIBUTING: disallow signed git commits
They break bzr-git, and bzr-git breaks the Minetest PPAs.
2016-04-22 00:46:07 +02:00
Ekdohibs c350cfb50b Make logging use a fixed-length buffer to avoid race conditions.
Previously, race conditions occurred inside logging, that caused
segfaults because a thread was trying to use an old pointer that
was freed when the string was reallocated. Using a fixed-length buffer
avoids this, at the cost of cutting too long messages over seveal lines.
2016-04-21 10:15:17 +01:00
paramat 5c32c5e945 Biomes: Make dust fallback 'ignore' to fix y = 63 lighting
The shadow bug at y = 63 was caused by dark air being placed as dust,
when the biome dust was unspecified it was falling back to 'air'
In dustTopNodes only dust == 'ignore' will disable dust placement
2016-04-21 10:15:12 +01:00