oweals/minetest.git
9 years agoinit_log_streams: check if log_filename is empty.
Jun Zhang [Mon, 19 Oct 2015 03:47:14 +0000 (11:47 +0800)]
init_log_streams: check if log_filename is empty.

Fixes #3262.

9 years agoABMs: Make catch-up behaviour optional
paramat [Tue, 13 Oct 2015 04:17:33 +0000 (05:17 +0100)]
ABMs: Make catch-up behaviour optional

Default is true for backwards compatibility
Update lua_api.txt

9 years agoSettings tab: double click opens/closes trees
Kahrl [Sun, 18 Oct 2015 09:03:59 +0000 (11:03 +0200)]
Settings tab: double click opens/closes trees

9 years agoSettings tab: don't autoscroll when toggling "Show technical names"
Kahrl [Sun, 18 Oct 2015 08:42:44 +0000 (10:42 +0200)]
Settings tab: don't autoscroll when toggling "Show technical names"

9 years agoRemove wstrgettext 3269/head
est31 [Sun, 18 Oct 2015 00:29:06 +0000 (02:29 +0200)]
Remove wstrgettext

Everywhere where wstrgettext was used, its output was converted back
to utf8. As wstrgettext internally converts the return value
from utf8 to wstring, it has been a waste. Remove the function, and
use strgettext instead.

9 years agoDisplay sane output for empty descriptions
est31 [Sun, 18 Oct 2015 00:18:10 +0000 (02:18 +0200)]
Display sane output for empty descriptions

According to its man page, the function gettext(3)
"may return a nonempty string" when msgid is "".

This commit fixes a bug where the comment ""
for some settings caused gettext to return a
"nonempty string", in this case header info of the
po file.

9 years agoFix GUITable selection issues with trees
Kahrl [Sat, 17 Oct 2015 21:34:45 +0000 (23:34 +0200)]
Fix GUITable selection issues with trees

- setOpenedTrees(): this internal function was calling setSelected()
  to update m_selected. Since setSelected() calls autoScroll(),
  this caused the scrollbar to scroll back to the selected row
  in some cases when that shouldn't be done.

  For example, clicking the "+" to open a tree caused autoscroll.

  Fix this by making setOpenedTrees() modify m_selected directly.

- setDynamicData(): set scrollbar position after calling
  setSelected(), not before. This avoids setSelected()'s autoscroll
  messing up the scrollbar position again.

- setSelected(): If an invisible row is selected, open all parents
  of the selected row in order to make the selected row visible.

  This fixes the issue where all the trees are closed again whenever
  you return from the setting edit dialog to the settings tab.

9 years agoRe-add "file" type for --add-location for xgettext call
est31 [Sat, 17 Oct 2015 20:19:04 +0000 (22:19 +0200)]
Re-add "file" type for --add-location for xgettext call

Passing line numbers in the comments is bad.

References:

* Commit 94961b3364f76d5861913af321e9be6200d080b3
* Previous commit

9 years agoNew settings tab contain all possible settings 3258/head
PilzAdam [Thu, 15 Oct 2015 19:32:31 +0000 (21:32 +0200)]
New settings tab contain all possible settings

Settings are automatically parsed from builtin/settingtypes.txt
The edit dialog automatically adjust based on the type of setting

9 years agoFix == to =
Rui [Sat, 17 Oct 2015 10:23:07 +0000 (19:23 +0900)]
Fix == to =

9 years agoFix missing include on AIX
kwolekr [Sat, 17 Oct 2015 05:16:17 +0000 (01:16 -0400)]
Fix missing include on AIX

9 years agoRefactor Thread class to improve readability and portability
kwolekr [Sat, 17 Oct 2015 03:43:29 +0000 (23:43 -0400)]
Refactor Thread class to improve readability and portability

- Fix some incompatibilities with obscure platforms (AIX and WinCE)
- Clean up Thread class interface
- Add m_ prefix to private member variables
- Simplify platform-dependent logic, reducing preprocessor
  conditional clauses and improving readibility
- Add Thread class documentation

9 years agoRefactor thread utility interface
kwolekr [Sat, 17 Oct 2015 01:12:30 +0000 (21:12 -0400)]
Refactor thread utility interface

- Add "thr_" prefix to thread utility functions
- Compare threadid_ts in a portable manner, where possible

9 years agoFix crash regression when invsize formspec gets used
est31 [Fri, 16 Oct 2015 23:01:12 +0000 (01:01 +0200)]
Fix crash regression when invsize formspec gets used

The invsize formspec element is outdated. Even though,
it is still supported, only a deprecation warning is shown,
introduced by commit [1]. The lua context passed to the
log_deprecated method added by commit [1] is NULL for the
invsize deprecation warning, as its run on the client and not
the server.

Commit [1] has removed checks for NULL inside the log_deprecated
method, resulting in a crash when a formspec with an invsize
element is parsed. This commit puts the check back.

Fixes #3260.

Referenced commits:

[1]: b5acec0a3c5701c53854ff7afdf4008863e6e8df "Add proper lua api deprecated handling"

[2]: 7b8d372947aae232ddf598155e972bb4dda157a "Use warningstream for deprecated field messages and refactor log_deprecated"

9 years agoFix enforcing of nametag hiding
est31 [Thu, 15 Oct 2015 21:46:03 +0000 (23:46 +0200)]
Fix enforcing of nametag hiding

Commit

d2ca662569427d36642660314668e416bf68f3c8 "Enforce hiding nametag"

didn't fix the issue for "client" instances, where the nametag update
was received before the object was added to the scene. This resulted
in the grey shadow on the nametag that commit tried to fix.

Thanks to @neoascetic for pointing out that there still is a shadow.

9 years agoCompress textures and fonts
Maksim Gamarnik [Thu, 15 Oct 2015 05:45:59 +0000 (01:45 -0400)]
Compress textures and fonts

Used PNGOUT, OptiPNG and DeflOpt.
Removes ~350 KB without any loss in quality.

9 years agoAdd BufReader and vector-based serialization methods
kwolekr [Thu, 6 Aug 2015 04:26:18 +0000 (00:26 -0400)]
Add BufReader and vector-based serialization methods

9 years agoClean up gettext initialization
ShadowNinja [Thu, 15 Oct 2015 04:45:56 +0000 (00:45 -0400)]
Clean up gettext initialization

9 years agoUse warningstream for deprecated field messages and refactor log_deprecated
ShadowNinja [Thu, 15 Oct 2015 05:08:18 +0000 (01:08 -0400)]
Use warningstream for deprecated field messages and refactor log_deprecated

9 years agoRemove explicit syslog printing for uncaught exceptions on Android
ShadowNinja [Thu, 15 Oct 2015 04:23:29 +0000 (00:23 -0400)]
Remove explicit syslog printing for uncaught exceptions on Android

All log operations are now added to the syslog implicitly.
Also, pass along mutable string to argument vector for main().

9 years agoRename macros with two leading underscores
ShadowNinja [Wed, 14 Oct 2015 06:39:30 +0000 (02:39 -0400)]
Rename macros with two leading underscores

These names are reserved for the compiler/library implementations.

9 years agoAlways use errorstream for DEBUG_EXCEPTION_HANDLER
ShadowNinja [Wed, 14 Oct 2015 06:33:04 +0000 (02:33 -0400)]
Always use errorstream for DEBUG_EXCEPTION_HANDLER

9 years agoLower log level for benign socket errors 3249/head
ShadowNinja [Wed, 14 Oct 2015 06:21:41 +0000 (02:21 -0400)]
Lower log level for benign socket errors

9 years agoUse warningstream for log messages with WARNING
ShadowNinja [Wed, 14 Oct 2015 05:26:03 +0000 (01:26 -0400)]
Use warningstream for log messages with WARNING

Remove DTIME macro and its uses, too

9 years agoRefactor logging
ShadowNinja [Tue, 13 Oct 2015 07:57:44 +0000 (03:57 -0400)]
Refactor logging

- Add warning log level
- Change debug_log_level setting to enumeration string
- Map Irrlicht log events to MT log events
- Encapsulate log_* functions and global variables into a class, Logger
- Unify dstream with standard logging mechanism
- Unify core.debug() with standard core.log() script API

9 years agoFix how address is logged when a wrong password is supplied
Kahrl [Mon, 12 Oct 2015 19:25:11 +0000 (21:25 +0200)]
Fix how address is logged when a wrong password is supplied

- SRP: print the address only once, not twice
- Legacy: previously the address was not printed at all
- Make both messages structurally the same, to facilitate log analyzers

9 years agoLocalize digprop_err function
Rui [Sun, 11 Oct 2015 12:10:26 +0000 (21:10 +0900)]
Localize digprop_err function

9 years agoMgfractal: Independant offset and slice params for mandelbrot and julia
paramat [Sun, 11 Oct 2015 17:11:09 +0000 (18:11 +0100)]
Mgfractal: Independant offset and slice params for mandelbrot and julia

Player now spawns on julia set due to julia offset
Add commented-out '#include profiler.h' for timetaker use
Use v3fs to reduce number of parameters
Tune tunnel width to match mgv7

9 years agoFractal mapgen: Fix mysterious bug
paramat [Sat, 10 Oct 2015 19:56:29 +0000 (20:56 +0100)]
Fractal mapgen: Fix mysterious bug

9 years agoClear list rings when loading a new formspec
est31 [Sat, 10 Oct 2015 15:07:53 +0000 (17:07 +0200)]
Clear list rings when loading a new formspec

Fixes a bug where the old list ring remained when a new formspec
was displayed over the old one. This created the list-ring of the new formspec
to be partly ignored.

Thanks to @VanessaE to report the bug, and @DonBatman to produce the code that
exposed it.

9 years agoMapgen: Use mapgen-specific names for constants in headers
paramat [Thu, 8 Oct 2015 04:17:25 +0000 (05:17 +0100)]
Mapgen: Use mapgen-specific names for constants in headers

Update copyright years in all mapgens
Add myself to copyright notices in mgv5 and mgv7

9 years agoFractal mapgen: Add seabed and large pseudorandom caves
paramat [Wed, 7 Oct 2015 01:05:03 +0000 (02:05 +0100)]
Fractal mapgen: Add seabed and large pseudorandom caves

9 years agoAndroid/Mapgen: Add fractal mapgen file to android makefiles
paramat [Tue, 6 Oct 2015 21:14:44 +0000 (22:14 +0100)]
Android/Mapgen: Add fractal mapgen file to android makefiles

9 years agoCorrect SRP documentation
est31 [Tue, 6 Oct 2015 17:08:53 +0000 (19:08 +0200)]
Correct SRP documentation

Previous statements were wrong.

9 years agoAdd viewing range GUI setting
kilbith [Sat, 3 Oct 2015 14:01:39 +0000 (16:01 +0200)]
Add viewing range GUI setting

9 years agoMapgen: Add 4D fractal mapgen
paramat [Tue, 14 Apr 2015 03:38:01 +0000 (04:38 +0100)]
Mapgen: Add 4D fractal mapgen

9 years agoMgv5: getGroundLevelAtPoint searches a larger range
paramat [Sun, 4 Oct 2015 02:52:55 +0000 (03:52 +0100)]
Mgv5: getGroundLevelAtPoint searches a larger range

9 years agoTranslated using Weblate (Spanish)
OdnetninI [Sun, 4 Oct 2015 10:36:17 +0000 (12:36 +0200)]
Translated using Weblate (Spanish)

Currently translated at 99.6% (277 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Fri, 2 Oct 2015 18:11:01 +0000 (20:11 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
Luca Gronmaier [Sat, 26 Sep 2015 16:47:01 +0000 (18:47 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Sat, 26 Sep 2015 16:45:55 +0000 (18:45 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
Luca Gronmaier [Sat, 26 Sep 2015 16:43:29 +0000 (18:43 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
andrewgigena [Thu, 24 Sep 2015 13:53:00 +0000 (15:53 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Mon, 21 Sep 2015 21:18:50 +0000 (23:18 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 81.6% (227 of 278 strings)

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Sat, 19 Sep 2015 21:15:12 +0000 (23:15 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 78.0% (217 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Sun, 20 Sep 2015 16:00:45 +0000 (18:00 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Norwegian Bokmål)
Christian Haug [Sun, 20 Sep 2015 15:15:21 +0000 (17:15 +0200)]
Translated using Weblate (Norwegian Bokmål)

Currently translated at 3.5% (10 of 278 strings)

9 years agoTranslated using Weblate (Hungarian)
way-hu [Mon, 21 Sep 2015 12:55:05 +0000 (14:55 +0200)]
Translated using Weblate (Hungarian)

Currently translated at 92.8% (258 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Sun, 20 Sep 2015 15:54:26 +0000 (17:54 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Sun, 20 Sep 2015 15:49:52 +0000 (17:49 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Thu, 17 Sep 2015 20:38:55 +0000 (22:38 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 66.5% (185 of 278 strings)

Maybe it is better to describe allowed symbols instead of writing regex?

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Thu, 17 Sep 2015 19:56:08 +0000 (21:56 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 46.4% (129 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Thu, 17 Sep 2015 13:13:06 +0000 (15:13 +0200)]
Translated using Weblate (German)

Currently translated at 99.2% (276 of 278 strings)

9 years agoTranslated using Weblate (Chinese (Taiwan))
Jeff Huang [Thu, 17 Sep 2015 10:48:02 +0000 (12:48 +0200)]
Translated using Weblate (Chinese (Taiwan))

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
Tim [Thu, 17 Sep 2015 13:12:29 +0000 (15:12 +0200)]
Translated using Weblate (German)

Currently translated at 98.9% (275 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Thu, 17 Sep 2015 13:11:25 +0000 (15:11 +0200)]
Translated using Weblate (German)

Currently translated at 98.9% (275 of 278 strings)

9 years agoTranslated using Weblate (German)
Tim [Thu, 17 Sep 2015 13:10:49 +0000 (15:10 +0200)]
Translated using Weblate (German)

Currently translated at 98.9% (275 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Thu, 17 Sep 2015 13:10:20 +0000 (15:10 +0200)]
Translated using Weblate (German)

Currently translated at 98.9% (275 of 278 strings)

9 years agoTranslated using Weblate (Chinese (Taiwan))
Jeff Huang [Thu, 17 Sep 2015 10:44:35 +0000 (12:44 +0200)]
Translated using Weblate (Chinese (Taiwan))

Currently translated at 0.0% (0 of 278 strings)

9 years agoTranslated using Weblate (Chinese (Taiwan))
Jeff Huang [Thu, 17 Sep 2015 10:43:17 +0000 (12:43 +0200)]
Translated using Weblate (Chinese (Taiwan))

Currently translated at 100% (0 of 0 strings)

Created new translation.

9 years agoTranslated using Weblate (Esperanto)
Tim [Sun, 13 Sep 2015 10:36:41 +0000 (12:36 +0200)]
Translated using Weblate (Esperanto)

Currently translated at 99.2% (276 of 278 strings)

9 years agoAdd new ContentParamType2 "CPT2_DEGROTATE"
est31 [Fri, 2 Oct 2015 21:36:28 +0000 (23:36 +0200)]
Add new ContentParamType2 "CPT2_DEGROTATE"

This might break some mods, but it is important for all uses of the param2 to
be documented.

This doesn't need a serialisation version or network protocol version change,
as old clients will still work on new servers, and it is bearable to have
new clients getting non rotated plants on old servers.

9 years agoAllow setting chunksize in core.set_mapgen_params
kwolekr [Sun, 4 Oct 2015 21:26:08 +0000 (17:26 -0400)]
Allow setting chunksize in core.set_mapgen_params

9 years agoHide mapgens from main menu not intended for end users
kwolekr [Sun, 4 Oct 2015 20:37:03 +0000 (16:37 -0400)]
Hide mapgens from main menu not intended for end users

9 years agoAdd emerge completion callback mechanism
kwolekr [Sun, 4 Oct 2015 06:54:25 +0000 (02:54 -0400)]
Add emerge completion callback mechanism

Major refactor of emerge.cpp and Map::init/finishBlockMake

9 years agodoc: Update node callback documentation
kwolekr [Sun, 4 Oct 2015 19:32:17 +0000 (15:32 -0400)]
doc: Update node callback documentation

9 years agoRemove redundant code in player interact handler
kwolekr [Sun, 4 Oct 2015 06:53:52 +0000 (02:53 -0400)]
Remove redundant code in player interact handler

9 years agoDefine and use limit constants for Irrlicht fixed-width types master
kwolekr [Sun, 4 Oct 2015 06:50:04 +0000 (02:50 -0400)]
Define and use limit constants for Irrlicht fixed-width types

9 years agoAdded minetest.wallmounted_to_dir
Fernando Carmona Varo [Fri, 2 Oct 2015 19:18:40 +0000 (21:18 +0200)]
Added minetest.wallmounted_to_dir

9 years agoFix MinGW 32-bit build
ShadowNinja [Sat, 3 Oct 2015 17:19:58 +0000 (13:19 -0400)]
Fix MinGW 32-bit build

9 years agoAdd get_biome_id(biome_name) callback
Duane Robertson [Tue, 29 Sep 2015 17:38:08 +0000 (12:38 -0500)]
Add get_biome_id(biome_name) callback

It returns the index used in mg->biomemap for a given biome name.
The biomemap is useless without this unless you re-register all existing biomes,
which could cause problems for anyone else trying to use biomemap.
With this, you can quickly create a lookup table of ids and names.

9 years agoAdd environment variable MINETEST_WORLD_PATH
SmallJoker [Sat, 26 Sep 2015 07:06:13 +0000 (09:06 +0200)]
Add environment variable MINETEST_WORLD_PATH

Also add PATH_DELIM for Windows compatibility.

9 years agoMapnode: Replace rotateAlongYAxis with improved version
paramat [Fri, 2 Oct 2015 00:07:57 +0000 (01:07 +0100)]
Mapnode: Replace rotateAlongYAxis with improved version

Get facedir by using lowest 5 bits of param2 and limiting to 23
More robust, frees up higher param2 bits for other uses
Change lookup table and table index to u8

9 years agoFix some SRP issues
est31 [Tue, 29 Sep 2015 22:38:05 +0000 (00:38 +0200)]
Fix some SRP issues

-> Remove memory allocation bugs
-> Merge changes from upstream, enabling customizeable memory allocation

9 years agoSome map border related fixes
est31 [Tue, 29 Sep 2015 15:26:07 +0000 (17:26 +0200)]
Some map border related fixes

1. Check for entity addition success in spawn_item implementation
2. Check for success in item_drop callback, so that the player
doesn't lose the item if they are outside bounds and try to drop it.
3. When existing player joins game, check that their position is inside
map bounds. If not, set their position to the return value of findSpawnPos().
4. Make findSpawnPos() respect the border

2 fixes a lua crash if a player drops an item outside map bounds.
3 fixes an assertion crash if a player leaves when being outside map bounds,
and then rejoins.

9 years agoDon't serialize StaticObjectList with > 65535 objects
Kahrl [Mon, 28 Sep 2015 23:55:12 +0000 (01:55 +0200)]
Don't serialize StaticObjectList with > 65535 objects

Because the count is serialized as u16, this would cause overflow.

If minetest later deserialized a mapblock with an incorrect
static object count, it would be unable to find the NameIdMapping
(which comes after the StaticObjectList) and abort with an error
such as "Invalid block data in database: unsupported NameIdMapping
version" (issue #2610).

9 years agoDecorations: Remove error message 'chunksize not divisable by sidelen'
paramat [Fri, 25 Sep 2015 23:28:48 +0000 (00:28 +0100)]
Decorations: Remove error message 'chunksize not divisable by sidelen'

Sidelen larger than 16 is essential for low density decorations
With sidelen > 16 chunksize may not be divisable by sidelen if
chunksize is changed, in this situation setting sidelen = chunksize
is desirable and should not create error messages.

9 years agoAbort at uncatched exceptions
est31 [Sat, 26 Sep 2015 22:18:05 +0000 (00:18 +0200)]
Abort at uncatched exceptions

Change a remaining assert(0) call to FATAL_ERROR(msg).
There was a regression since commit

ced6d20295a8263757d57c02a07ffcb66688a163 "For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives"

where when an "uncatched" exception is thrown inside a "side thread",
the program doesn't abort anymore.

This led to the problem @netinetwalker experienced where the emergethread
got an unhandled exception for loading a mapblock while redis was loading,
(see #3196) and then jmped outside its loop to work down its queue.
This resulted in the server not doing any emerges anymore.

9 years agoFix redis erroring on non found blocks
est31 [Sat, 26 Sep 2015 21:29:08 +0000 (23:29 +0200)]
Fix redis erroring on non found blocks

Thanks to @netinetwalker for spotting the error, proposing a fix, and testing it.

Error due to @est31's merging changes to PR #3202 to add more error reporting for invalid reply types, commit:

524a7656e3e5cd671b05c13e2ad69cb84bad0423 "redis: throw error if block request failed"

Now we branch out on the valid reply type "not found".

9 years agoFindJson: use PATH_SUFFIXES jsoncpp to find incdir
Igor Gnatenko [Mon, 24 Aug 2015 16:05:41 +0000 (19:05 +0300)]
FindJson: use PATH_SUFFIXES jsoncpp to find incdir

For example, on Fedora systems jsoncpp headers is installed in `/usr/include/jsoncpp`.

9 years agoFix falling through nodes on world load (fixes #2784)
Christof Kaufmann [Tue, 18 Aug 2015 10:05:24 +0000 (12:05 +0200)]
Fix falling through nodes on world load (fixes #2784)

On world load the collision code can not see node boxes, since the
nodes have not been loaded. Thus it collided only at the next full
node. However, standing on a slab on world load leaded to sinking into
it until the world finished loading. Then one maybe fell further, if
the node below was not walkable.

Now, with this commit, when no node around the player has been loaded
it simply does not move the player.

9 years agoClarify radii and distance types in documentation
Tim [Sun, 20 Sep 2015 13:19:52 +0000 (15:19 +0200)]
Clarify radii and distance types in documentation

Because not all circles are round:
* circles using an euclidean metric are what we usually call "round"
* circles using a maximum metric look like euclidean rectangles with equal adjacent sides (squares)
* circles using a manhattan metric look like an euclidean right angled rhombus (squares, but 45° rotated to the former one)

[ci skip]

9 years agoUpdate .gitignore to ignore symlinks to non-static Minetest directories and sort...
Tim [Sun, 20 Sep 2015 13:19:52 +0000 (15:19 +0200)]
Update .gitignore to ignore symlinks to non-static Minetest directories and sort into an editor section

[ci skip]

9 years agoredis: throw error if block request failed
netinetwalker [Fri, 25 Sep 2015 22:26:52 +0000 (00:26 +0200)]
redis: throw error if block request failed

Fixes #3196. Before, we didn't throw an error, and the engine thought the
block isn't occupied. But in fact it might be that redis is still loading,
and the block does exist in the database. The result was a cheesy map.

9 years agoAdd /emergeblocks command and core.emerge_area() Lua API
kwolekr [Wed, 23 Sep 2015 04:31:45 +0000 (00:31 -0400)]
Add /emergeblocks command and core.emerge_area() Lua API

9 years agoSave and remove player by pointer
Loic Blot [Wed, 23 Sep 2015 16:53:54 +0000 (18:53 +0200)]
Save and remove player by pointer

Why doing things simple ? Use pointer instead of strings to save players and remove them.
Saving players by name does a lookup to find pointer we already have ! Idem with removePlayer
Also remove unused removePlayer(peer_id), it's never called

9 years agoMapnode: Add rotateAlongYAxisFull supporting 24 facedirs
paramat [Mon, 21 Sep 2015 00:21:28 +0000 (01:21 +0100)]
Mapnode: Add rotateAlongYAxisFull supporting 24 facedirs

9 years agoReplace "self program" with "this program" in fstk boilerplates
est31 [Mon, 21 Sep 2015 18:03:35 +0000 (20:03 +0200)]
Replace "self program" with "this program" in fstk boilerplates

... and remove trailing whitespace.

9 years agoFix another typo in doc/world_format.txt
Kahrl [Mon, 21 Sep 2015 17:26:54 +0000 (19:26 +0200)]
Fix another typo in doc/world_format.txt

9 years agolua_api.txt: fix typo
est31 [Mon, 21 Sep 2015 16:10:05 +0000 (18:10 +0200)]
lua_api.txt: fix typo

Thanks to @kaadmy (NeD) for pointing this out.

9 years agoVarious style cleanups + unused code removal
est31 [Fri, 18 Sep 2015 11:45:42 +0000 (13:45 +0200)]
Various style cleanups + unused code removal

-> Don't pass pointer to whole IGameDef to NodeMetadata constructors
and deserializers, but only to IItemDefManager, which is needed
-> Remove the unused content_mapnode_get_new_name() method
-> Fix style for MapBlock::deSerialize and MapBlock::deSerialize_pre22,
improving accuracy of error messages a bit
-> Fix style at other serialisation methods too
-> Improve accuracy of some comments

9 years agoLittle optimization on getAdded/Removed activeobjects per player loop.
Loic Blot [Wed, 5 Aug 2015 20:29:47 +0000 (22:29 +0200)]
Little optimization on getAdded/Removed activeobjects per player loop.

Use std::queue instead of std::set, we don't need such a heavy container.
Don't convert position to int to convert it back to float in the next function.

9 years agoMgv5/6/7: Re-add #include profiler.h as commented-out option
paramat [Fri, 18 Sep 2015 23:16:23 +0000 (00:16 +0100)]
Mgv5/6/7: Re-add #include profiler.h as commented-out option

9 years agoBlob ore: Fix partial blobs
paramat [Fri, 18 Sep 2015 19:44:15 +0000 (20:44 +0100)]
Blob ore: Fix partial blobs

9 years agoDocument current node metadata format
est31 [Fri, 18 Sep 2015 13:02:02 +0000 (15:02 +0200)]
Document current node metadata format

Document the node metadata changes of the commit (serialisation version >=23):

704782c95b8a4194a9383da55d93f37fd0f7278f "WIP node metadata, node timers"

9 years agoSend proper block to old clients for swap_node calls
est31 [Thu, 17 Sep 2015 18:08:11 +0000 (20:08 +0200)]
Send proper block to old clients for swap_node calls

The legacy code added in commit

d879a539cd19ddd1ee34afec2512fb2238de2822 - "Add minetest.swap_node"

for sending the whole mapblock to older clients on the case of a node
modification with swap_node, had the problem that the block chosen to be
sent to the client was referenced with node coordinates and not with
block coordinates, resulting in getting the wrong block sent to the client.

9 years agoOre: Add puff ore type
kwolekr [Wed, 16 Sep 2015 01:28:16 +0000 (21:28 -0400)]
Ore: Add puff ore type

9 years agoFix object position border checking
est31 [Wed, 16 Sep 2015 14:12:59 +0000 (16:12 +0200)]
Fix object position border checking

Borders have to be converted into BS format in order to be accurately comparable to
object positions.

9 years agoDisallow placing entities outside safe boundaries
est31 [Tue, 15 Sep 2015 16:37:58 +0000 (18:37 +0200)]
Disallow placing entities outside safe boundaries

Entity positions are serialized as F1000. Disallow placing
entities outside safe borders with the minetest.add_entity
call.

Note that this patch only enforces those boundaries for
placing entities, moving entities that move outside boundaries
aren't affected.

Thanks to @nanepiwo for pointing this out.

9 years agoFirelike drawtype: Improve code
paramat [Sat, 12 Sep 2015 21:19:29 +0000 (22:19 +0100)]
Firelike drawtype: Improve code

Remove unusable fine rotation by param2
Remove unused and redundant code
Fix code style issues