Commit Graph

4424 Commits

Author SHA1 Message Date
adelcoding1 6de83a2756 FormSpec: Add position and anchor elements (#5284) 2017-03-04 10:46:55 +01:00
paramat a901a56859 Dungeongen: Add and improve parameters
Add:
Bool for 'only_in_ground'.
Min and max corridor length.
Min and max room size with X, Y, Z components.
Min and max large room size with X, Y, Z components.

'only_in_ground = false' allows core mapgens to create structures
in air and water using dungeongen.
Corridor length parameters replace a fixed random range.
Room size parameters replace the former system where one parameter
'roomsize' was added to fixed random ranges.

All parameters are set for no change to current dungeon behaviour.

Remove some now-redundant and long-unused code.
2017-02-26 06:46:14 +00:00
rubenwardy 2d1fca51e9 Fix wrong meta key in item meta on ItemStack construction 2017-02-22 10:14:12 -08:00
Dániel Juhász 00123ee04d Fixes for colorwallmounted and colorfacedir nodes
Correct node placement prediction for attached colorwallmounted nodes.
Correct placement direction for colorfacedir and colorwallmounted nodes.
Correct detatch mechanism for attached colorwallmounted nodes.
2017-02-18 22:47:24 +00:00
paramat 111e7e1cc8 Voxelmanip: Do not emerge or blit to blocks over map gen limit
Placing a structure that extends into mapblocks that extend past
map_gen_limit causes a crash. For example a sapling growing at the
world edge which adds leaves beyond the edge, or placing a structure
using the lua voxelmanip, or placing a schematic or l-system tree.

Do not run the 'load_if_inexistent' block of code if the mapblock
is over limit, this also marks the mapblock with the flag
VMANIP_BLOCK_DATA_INEXIST which later prevents blitting back those
mapblocks.

This fix therefore uses existing functionality by having the same
effect as the 'load_if_inexistent' bool being false.
2017-02-18 22:47:24 +00:00
red-001 d988f9b769 Use the `ARRLEN` macro in more places and remove an unused macro. (#5260) 2017-02-18 15:24:49 +01:00
Auke Kok d0ce27edd8 Revert part of eb49009d02 (#5230)
This reverts the removal of Droid Sans as fallback font. The
license for this font used to be GPL2. I've updated the font
files to Liberation 2.00, which are SIL, and do not require
us to ship source code.

I've attempted to fix all the attribution and license strings,
and used the strings as provided by redhat for attribution
to make sure they're correct.

Last, I've removed a bunch of executable bits on files that do
not need them.

Fixes #5231
2017-02-16 20:18:22 -08:00
paramat 9aabfd5188 Cavegen: Place correct biome surface in tunnel entrances
Previously in tunnel entrance floors only a single biome 'top' node was
placed and 'filler' nodes were missing.

Place 'top' and 'filler' nodes in tunnel entrance floors with depths
defined by the biome.
In tunnel entrances under rivers 'riverbed' nodes are placed to the
biome-defined depth.
2017-02-16 22:25:14 +00:00
paramat 3955f51253 Objectpos over limit: Avoid crash caused by sector over limit
Reduce the object limit by mapblock size, to avoid objects being
added just inside the map generation limit but in a block and sector
that extend beyond the map generation limit.

Change notification of 'objectpos over limit' from red in-chat ERROR
to in-terminal only WARNING, since this will happen often using mob
mods near the world's edge.
2017-02-16 22:25:07 +00:00
red-001 2dcbc01904 Fix a small regression caused by e2ad76f. 2017-02-16 12:59:19 +01:00
sfan5 a5e4273575 Fix >5 year old PlayerSAO deletion bug
force_delete=true is usually set at shutdown in order to
also remove PlayerSAOs, however when too many objects
per block are detected force_delete is also set to true.
This was intended only for the current loop iteration but
obviously persisted to the next iterations thereby
deleting all other remaining SAOs.
2017-02-15 17:36:47 +01:00
Auke Kok eb49009d02 FreeType: address font license issues (#5230)
It appears we were shipping font files without license text, and I
had my doubts about the bitmap fonts being usable directly.

This replaces existing TTF fonts with Apache-2.0 licensed fonts from
chome core (Cousine, Arimo, Tinos). Include the full license file
for all three fonts.

The Lucida Sans font bitmap is removed entirely for non-freetype
builds. There is therefore only mono fonts for non-freetype builds.
2017-02-14 01:08:17 -08:00
Dániel Juhász f17c9c45dc Lighting: Update lighting at block loading
This commit updates mapblocks' light if necessary when they are loaded.
This removes ghost lighting.
2017-02-13 00:05:49 +00:00
paramat 984e063374 Footsteps: Fix offset footstep and shallow water sound bugs
Fix footstep sounds coming from nodes to either side when walking on a
1 node wide row of nodebox slabs such as default:snow.
Fix sand footsteps when swimming in 1 node deep water.

Use a new function 'getFootstepNodePos()' instead of 'getStandingNodePos()'
to avoid using a horizontally-offset 'sneak node' for sounds.

Sound is selected from the node BS * 0.05 below the player's feet, so
that 1/16th slabs will play the slab sound but 1/32nd slabs will not.
If the player is not 'touching ground' the node detection position is
changed to BS * 0.5 below to preserve footstep sounds when landing after
a jump or fall.
2017-02-12 01:52:12 +00:00
paramat 1de08e1961 Plantlike: Fix visual_scale being applied squared
This re-applies 2 commits that were reverted.

Visual_scale was applied twice to plantlike by accident sometime between
2011 and 2013, squaring the requested scale value. Visual_scale is
correctly applied once in it's other uses in signlike and torchlike.

Two lines of code are removed, they also had no effect for the vast
majority of nodes with the default visual_scale of 1.0.
The texture continues to have it's base at ground level.

Send sqrt(visual_scale) to old clients.

Keep compatibility with protocol < 30 clients now that visual_scale
is no longer applied twice to plantlike drawtype and mods are being
updated to a new value.
2017-02-10 17:59:31 +00:00
Craig Robbins 7760948b7c Revert "Plantlike: Fix visual_scale being applied squared (#5115)"
This reverts commit 953cbb3b15.
2017-02-10 22:21:49 +10:00
Craig Robbins 7bd3e2bceb Revert "Plantlike visual scale: Send sqrt(visual_scale) to old clients"
This reverts commit cdc538e0a2.
2017-02-10 22:21:23 +10:00
Auke Kok 5707b739f3 Change default nodetimer_interval to 0.2s. (#5193)
We want to reduce the chance that we get lots and lots of node
timers all happening once a second, because we're better off doing
small bits of work as they are available.

Reducing this to 0.2 seconds will greatly reduce the total amount
of nodetimers that elapse at the same instance, while not effecting
total work load. This results in a far better chance of the server
keeping up with work loads.
2017-02-09 08:00:37 +01:00
Lars Hofhansl 3ad68c052b Perform mesh animation only once per frame. 2017-02-09 00:10:41 +00:00
paramat a5ee7139a5 OpenAL sound: Use a simpler distance model
In createPlayingSoundAt(), AL_ROLLOFF_FACTOR is not set, so it has
the default value of 1.0, this makes the equation of the currently
used AL_EXPONENT_DISTANCE distance model identical to the equation
of the simpler AL_INVERSE_DISTANCE distance model.

Using AL_INVERSE_DISTANCE means an exponent is not processed,
exponents are quite intensive to process.
There is no change in sound attenuation behaviour.

The commented-out AL_ROLLOFF_FACTOR value is removed as it would
now have a different effect if used.
2017-02-09 00:10:35 +00:00
red-001 e2ad76f910 No longer auto-generate a 'guest####' player name when name is empty
You can't join most servers with a 'guest####' player name anyway so
it's only logical to remove them.
2017-02-09 00:05:19 +00:00
Loïc Blot ef6feca501 Add ModMetadata API (#5131)
* mod can create a ModMetadata object where store its values and retrieve it.
* Modmetadata object can only be fetched at mod loading
* Save when modified using same time as map interval or at server stop
* add helper function to get mod storage path
* ModMetadata has exactly same calls than all every other Metadata
2017-02-08 00:15:55 +01:00
rubenwardy 0680c47d6c Fix incompatibility of ItemStack.to_table() introduced by stack meta 2017-02-07 21:18:17 +00:00
paramat 8bc6a303b4 Face shading: Add shade factor comments 2017-02-07 00:19:52 +00:00
Travis Burtrum 5da3ed19a3 Add support for unix socket connection to redis (#5179) 2017-02-06 19:10:03 +01:00
Auke Kok 3e30731c1a Prevent SIGFPE on entity tile loading issue. (#5178)
While experimenting with entities I ran into this unresolvable
error where the server is sending some texture that the client
crashes on. The crash prevents the client from ever reconnecting,
resulting in a server that has to use clearobjects.

We shouldn't crash but just ignore the object and move on.

```
0x00000000004dc0de in TextureSource::generateImagePart (this=this@entry=0x7118eb0, part_of_name="[applyfiltersformesh",
    baseimg=@0x7fffffffbe98: 0x9f1b010) at /home/sofar/git/minetest/src/client/tile.cpp:1744
    1744					u32 xscale = scaleto / dim.Width;
    (gdb) bt
    #0  0x00000000004dc0de in TextureSource::generateImagePart (this=this@entry=0x7118eb0, part_of_name="[applyfiltersformesh",
        baseimg=@0x7fffffffbe98: 0x9f1b010) at /home/sofar/git/minetest/src/client/tile.cpp:1744
```

After reconnecting, the client now can connect without issues
and displays an error message:

```
ERROR[Main]: generateImagePart(): Illegal 0 dimension for part_of_name="[applyfiltersformesh", cancelling.
ERROR[Main]: generateImage(): Failed to generate "[applyfiltersformesh"
ERROR[Main]: Irrlicht: Invalid size of image for OpenGL Texture.
```
2017-02-05 23:59:18 -08:00
numberZero 80c75272a6 Improve mesh shading (#5172) 2017-02-05 10:27:58 +01:00
rubenwardy f2f9a92351 Add per-stack descriptions using ItemStack Metadata 2017-02-04 22:07:55 +00:00
rubenwardy f2aa2c6a98 Add ItemStack key-value meta storage 2017-02-04 22:07:55 +00:00
rubenwardy c2e7b1f579 Derive NodeMetaRef from MetaDataRef 2017-02-04 22:07:55 +00:00
rubenwardy 13f94ecad5 Make NodeMetaRef::getmeta a non-static member 2017-02-04 22:07:55 +00:00
rubenwardy bbdd869d72 Derive NodeMetadata from Metadata 2017-02-04 22:07:55 +00:00
sfan5 de664b1c6d Fix PlayerSAO deletion warning (0eede97af2) 2017-02-04 13:31:21 +01:00
paramat 047168ca83 Mgv6: Add fallback node for gravel
Gravel now falls back to stone.
Gravel is not a particularly fundamental node, allowing it to fall back
to stone frees up subgames from having to include a gravel node.
Non-blob-ore gravel is only present in mgv6 as extremely rare 'gravel
biomes'.
2017-02-04 07:21:23 +00:00
paramat 8e4c11406e Mgv6: Add stairs to desert stone dungeons
As with the other mapgens, now that wide stairs in dungeons are
possible we can now finally add stairs to desert stone dungeons.
Re-order some lines.
2017-02-04 07:21:23 +00:00
paramat 2d03cfd24c MapgenBasic node resolver: Various fixes
Add a fallback node for stair_desert_stone to avoid ignore placed
in Minimal subgame desert dungeons.
Don't allow river_water_source to fallback to water_source as river
water needs to be non-renewable and have a short flow range.
Make stair_sandstonebrick fall back to sandstonebrick instead of
sandstone.

Re-order some lines.
Add a comment.
2017-02-04 07:21:16 +00:00
kilbith 03b34cb3dd Serverlist: Add ping indicators (#5164) 2017-02-03 23:53:43 +10:00
Duane Robertson 3b9ae409c7 Tell on_punch to expect a return value
The return value should be interpreted as a boolean saying whether
the lua on_punch function handled damage or the system needs to.
2017-02-01 22:13:49 +01:00
paramat 326cc5df74 Mgvalleys: Fix missing decorations and incorrect function order
Fix missing decorations at horizontal chunk borders by adding
'updateHeightmap()' after terrain generation.

Swap order of 'calculateNoise' and 'calcBiomeNoise' because
'calculateNoise' modifies the heat and humidity maps created in
'calcBiomeNoise'.

Remove confusing comment, code block is not just for mods and
seems essential for correct mapgen behaviour.
2017-02-01 15:05:35 +00:00
Ekdohibs d873545ac7 Fix anticheat resetting client position after the client is teleported
Previously, m_move_pool could accomodate the client moving from the new
position to the old one, and the server accepted the client to go back
to its old position. However, it couldn't then accomodate the client
moving from its old to its new position, and therefore would reset position
to the old position. Thus, by emptying m_move_pool after a teleport, the
server no longer accepts the client to go back to its old position. A
drawback is however that a laggy client *will* trigger a few
"moved_too_fast" anticheats before being told about its new position.

Don't report player cheated if caused by lag.

Fixes #5118
2017-02-01 15:03:57 +00:00
paramat cdc538e0a2 Plantlike visual scale: Send sqrt(visual_scale) to old clients
Keep compatibility with protocol < 30 clients now that visual_scale
is no longer applied twice to plantlike drawtype and mods are being
updated to a new value.
2017-01-30 16:38:28 +00:00
sapier e761b9f486 Add multiply texture modifier
Allows colorizing of textures using a color multiplication method.
2017-01-30 16:37:17 +00:00
Dániel Juhász 6642c8583a Use fabs() instead of abs() (#5141) 2017-01-30 08:18:18 +01:00
Dániel Juhász f0e3abc64d Re-add halo highlight (#5130)
Due to a rebase mistake halo highlighting was disabled. This commit
re-adds that feature.
2017-01-30 11:47:36 +10:00
Ezhh 0c9189d109 Add console height setting (#5136) 2017-01-30 02:10:17 +10:00
Zeno- 707e27b5c2 Rename height to scale for openConsole() (#5139)
For Game::openConsole() and GUIChatConsole::openConsole() the
parameter name 'height' is misleading because it's actually a
percentage of the screen/window height.
2017-01-29 19:26:00 +10:00
ShadowNinja 3eecc6ff44 Fix AIX threading build 2017-01-28 18:52:07 -05:00
ShadowNinja c93f7f5cea Fix synchronization issue at thread start
If a newly spawned thread called getThreadId or getThreadHandle before
the spawning thread finished saving the thread handle, then the
handle/id would be used uninitialized.  This would cause the threading
tests to fail since isCurrentThread would return false, and if Minetest
is built with C++11 support the std::thread object pointer would be
dereferenced while ininitialized, causing a segmentation fault.

This fixes the issue by using a mutex to force the spawned thread to
wait for the spawning thread to finish initializing the thread object.

An alternative way to handle this would be to also set the thread
handle/id in the started thread but this wouldn't work for C++11
builds because there's no way to get the partially constructed object.
2017-01-28 18:52:07 -05:00
SmallJoker 79d752ba4f from_table: Fix crash for missing inventory or field 2017-01-28 16:38:46 +01:00
sapier 814ee971f7 Make entity on_punch have same signature and behaviour as player on_punch 2017-01-28 15:57:54 +01:00
Paramat 953cbb3b15 Plantlike: Fix visual_scale being applied squared (#5115)
Visual_scale was applied twice to plantlike by accident sometime between
2011 and 2013, squaring the requested scale value. Visual_scale is
correctly applied once in it's other uses in signlike and torchlike.

Two lines of code are removed, they also had no effect for the vast
majority of nodes with the default visual_scale of 1.0.
The texture continues to have it's base at ground level.
2017-01-28 20:07:35 +10:00
Loïc Blot b7a98e9850 Implement player attribute backend (#4155)
* This backend permit mods to store extra players attributes to a common interface.
* Add the obj:set_attribute(attr, value) Lua call
* Add the obj:get_attribute(attr) Lua call

Examples:
* player:set_attribute("home:home", "10,25,-78")
* player:get_attribute("default:mana")

Attributes are saved as a json in the player file in extended_attributes
key

They are saved only if a modification on the attributes occurs and loaded
when emergePlayer is called (they are attached to PlayerSAO).
2017-01-27 08:59:30 +01:00
paramat 2a89531071 Dungeongen: Fix selection of diagonal corridors
The do .. while loop is waiting for both dir.X and dir.Z to be non-zero,
so should continue to loop if either dir.X or dir.Z are zero. The brackets
present suggest this was intended to be OR not AND.
2017-01-26 20:19:05 +00:00
paramat ae929ce2fd Dungeons: Add nodebox stairs to desert and sandstone dungeons
Desert and sandstone dungeons have 2 node wide corridors. Previously,
nodebox stairs were disabled because dungeon generation code did not
support nodebox stairs wider than 1 node, now it does.

Add 'stair desert stone' content id to MappgenBasic.

Requires 'mapgen stair desert stone' to be added to Minetest Game.
2017-01-26 20:18:54 +00:00
Dániel Juhász c268db7b46 Fix after hardware node coloring (#5114) 2017-01-27 01:10:56 +10:00
paramat 9f108b56d3 Dungeongen: Fix out-of-voxelmanip access segfault
My recent dungeon commit allowed stairs to be placed across the full
width of corridors, but some of the new node positions accessed were
missing checks for being within the voxelmanip, causing occasional
segfaults near dungeons with corridors wider than 1 node.

Add 'vm->m_area.contains(pos)' checks just before stair position
voxelmanip access. This allows an earlier check to be removed as it
is now redundant.
2017-01-25 20:34:03 +01:00
rubenwardy 08911160aa Block spam messages before calling on_chatmessage callbacks (#4805)
Fixes #4799
2017-01-25 10:57:33 +01:00
number Zero 33e0eedbfb Add smooth lighting for all nodes
Note: Smooth lighting disables the mesh cache.
2017-01-24 13:59:40 -08:00
raymoo 87e9466caf Wrap to positive degree values (#5106) 2017-01-24 17:25:11 +01:00
sfan5 0cde270bf5 Initialize TileAnimationParams to prevent crashes/bugs for legacy invocations of add_particle{,spawner} (fixes #5108) 2017-01-24 15:19:29 +01:00
paramat 59fdf57134 Zoom FOV: Reduce minimum zoom FOV to 7 degrees
The default of 15 is unchanged.
7 degrees is x10 magnification which is common for binoculars.
Alter hardcoded limits in camera.cpp:
Minimum 7 degrees.
Maximum 160 degrees to match upper limits in advanced settings.
2017-01-23 07:39:58 +00:00
paramat d413dfe87c Dungeons: Support nodebox stairs wider than 1 node
Previously, code did not support stair nodeboxes in corridors wider
than 1 node.
Make stair nodeboxes full width even in corridors with different
widths in X and Z directions.
2017-01-23 07:39:50 +00:00
Dániel Juhász d04d8aba70 Add hardware node coloring. Includes:
- Increase ContentFeatures serialization version
- Color property and palettes for nodes
- paramtype2 = "color", "colored facedir" or "colored wallmounted"
2017-01-23 07:27:12 +01:00
sfan5 43822de5c6 Fix potential crash in chat handling (since 2f56a00d9e) 2017-01-22 20:17:13 +01:00
Loïc Blot 39123fcce5 Remove os.exit from the Lua secure sandbox (#5090)
os.exit will exit not using proper resource liberation paths.

Mods should call the proper exit mod using our API
2017-01-21 22:05:54 +01:00
Loïc Blot 6d5a407133 Add show_statusline_on_connect setting (#5084)
Add show_statusline_on_connect setting
2017-01-21 19:30:42 +01:00
Loïc Blot bc29e03b59 Revert "Detach the player from entities on death." (#5087) 2017-01-21 17:30:55 +01:00
sapier b9c1a758a1 Fix unknown command message not providing number of cmd 2017-01-21 17:16:22 +01:00
sapier c57b4ff9b5 Add Entity get_texture_mod() to Lua API
Send texture modifier to clients connecting later too
2017-01-21 17:01:02 +01:00
red-001 72535d3328 Detach the player from entities on death. (#5077) 2017-01-21 16:11:55 +01:00
Loïc Blot 0eede97af2 Warning fix for 2ea6015643 (#5082)
Neither flag as force delete nor show the warning when mapblock is full and object is a player
2017-01-21 20:29:18 +10:00
Loïc Blot 2ea6015643 Do not force deletion of players when mapblock is full (#5081)
This fixes #4067
2017-01-21 10:41:00 +01:00
red-001 0dada51a55 Remove `mathconstants.h` and use the correct way to get `M_PI` in MSVC. (#5072) 2017-01-20 23:19:41 +01:00
SmallJoker dd282e646c Fix MSVC build Build broken by 98e36d7 2017-01-19 20:19:53 +01:00
sfan5 7279f0b373 Add particle animation, glow
This is implemented by reusing and extending the
TileAnimation code for the methods used by particles.
2017-01-18 23:21:01 +01:00
sapier 51746ca910 Fix typo in alias for deprecated settexturemod 2017-01-17 19:41:52 +01:00
red-001 2f56a00d9e Remove client-side chat prediction. (#5055)
Network lag isn't really a big issue with chat and chat prediction makes writing mods harder.
2017-01-17 00:09:47 +01:00
rubenwardy 63c892eedf Rename ObjectRef methods to be consistent and predictable 2017-01-16 15:34:44 +00:00
sapier f5070b4454 Added lua tracebacks to some errors where you have been blind to what… (#5043)
* Added lua tracebacks to some errors where you have been blind to what actually went wrong
2017-01-15 13:36:53 +01:00
sapier d03b4fb627 Add color names from web page referenced in luaapi doc 2017-01-15 02:03:51 +00:00
lhofhansl c41352a1c7 Only set material flag on rendered meshes (#5023) 2017-01-14 22:30:14 +01:00
sfan5 f0c6feca97 Fix build with freetype support disabled 2017-01-14 12:39:20 +01:00
Loic Blot ee9b59a7fe Fix another missing const reported by clang & @sfan5
Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
2017-01-14 12:20:59 +01:00
Loic Blot ee6d8c10ce Fix missing const in ServerActiveObject::getStaticData
This fixes #5033

Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
2017-01-14 12:03:50 +01:00
ShadowNinja 8002366097 Organize defaultsettings.cpp 2017-01-13 19:06:51 -05:00
ShadowNinja bb154c2e1c Main menu tweaks 2017-01-13 18:13:43 -05:00
Loic Blot ef0aa7d5b5 Optimize SAO getStaticData by using std::string pointer instead of return copy
Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
2017-01-13 21:56:24 +01:00
Rogier e2dd96b432 Cleanup content_sao by factorizing similar code parts
Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
2017-01-13 21:56:24 +01:00
ShadowNinja 7ae7f1ea4c Enable mod security by default 2017-01-13 14:08:24 -05:00
paramat 25ba96fcac Meshes: Make object mesh face shading consistent
Previously, object meshes had their North and South faces darker than
East and West faces, the opposite of nodes and meshnodes. This commit
corrects this.
State constants as float-literals not double-literals.
Simplify code.
Add comment.
2017-01-13 02:42:18 +00:00
Rui 5d60a6c533 Make nametag removable with set_nametag_attributes (#5021) 2017-01-11 20:25:25 +01:00
Loic Blot 430d3b28e4 Cleanup some header inclusions to improve compilation times 2017-01-11 15:53:56 +01:00
Rogier 6647939403 Performance fix + SAO factorization
Original credits goes to @Rogier-5

* Merge common attributes between LuaEntitySAO & PlayerSAO to UnitSAO
* Make some functions const
* Improve some lists performance by returning const ref

Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
2017-01-11 15:53:56 +01:00
Rui ec30d49e02 Add staticdata parameter to add_entity (#5009)
* Add staticdata parameter to add_entity
* Add add_entity_with_staticdata to core.features
2017-01-09 20:39:45 +01:00
Ner'zhul 8e7449e092 Environment & IGameDef code refactoring (#4985)
* Environment code refactoring
* Cleanup includes & class declarations in client & server environment to improve build speed
* ServerEnvironment::m_gamedef is now a pointer to Server instead of IGameDef, permitting to cleanup many casts.
* Cleanup IGameDef
  * Move ITextureSource* IGameDef::getTextureSource() to Client only.
  * Also move ITextureSource *IGameDef::tsrc() helper
  * drop getShaderSource, getSceneManager, getSoundManager & getCamera abstract call
  * drop unused emerge() call
  * cleanup server unused functions (mentionned before)
* Drop one unused parameter from ContentFeatures::updateTextures
* move checkLocalPrivilege to Client
* Remove some unnecessary casts
* create_formspec_menu: remove IWritableTextureSource pointer, as client already knows it
* Fix some comments
* Change required IGameDef to Server/Client pointers
* Previous change that game.cpp sometimes calls functions with Client + InventoryManager + IGameDef in same functions but it's the same objects
* Remove duplicate Client pointer in GUIFormSpecMenu::GUIFormSpecMenu
* drop ClientMap::sectorWasDrawn which is unused
2017-01-09 20:39:22 +01:00
zeuner 11df7e886a support older PostGreSQL versions (#4999)
* support older PostGreSQL versions
* documentation accuracy

* improve performance by affecting less rows in UPDATE queries
2017-01-09 17:03:13 +01:00
paramat 8c1b4f298e Map generation limit: Cache as 'const' not 'const static' 2017-01-08 21:18:11 +00:00
paramat ddcf8422a2 Map generation limit: Fix checks for block/sector over-limit
Fix the maths that check if any part of a mapblock or sector is over the
set map_generation_limit.
Therefore avoid the loading of any over-limit blocks that were previously
generated when map_generation_limit was larger. The set limit can vary
for a world because it is not yet a per-world mapgen parameter, even when
it is sometimes it will be changed deliberately.
Therefore avoid a player being returned to world centre if they re-enter
a world while being over-limit.

Fix the createSector() crash caused by a mob spawning over-limit in an
over-limit mapblock
2017-01-08 21:18:11 +00:00
Lars Hofhansl 1fee649f15 Minor: Fix indentation in serverenvironment.cpp 2017-01-08 19:22:33 +01:00
Loic Blot 98e36d7d68 Move ServerEnvironment to dedicated cpp/header files
* also cleanup some unneeded inclusions
2017-01-08 12:16:06 +01:00