6351 Commits

Author SHA1 Message Date
Loic Blot
c808bc4a39 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
e992e9457e 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
9fce01220c Enable mod security by default 2017-01-13 14:08:24 -05:00
paramat
4d7ba22694 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
d773473add Make nametag removable with set_nametag_attributes (#5021) 2017-01-11 20:25:25 +01:00
Loic Blot
4fca654fcf Cleanup some header inclusions to improve compilation times 2017-01-11 15:53:56 +01:00
Rogier
1386ba186e 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
f1b3f9d929 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
14a094c1a2 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
e4f09cf65f 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
sfan5
2554664321 builtin/.../falling.lua: Avoid crash when hitting unknown nodes 2017-01-09 16:39:40 +01:00
paramat
6713bafd04 Map generation limit: Cache as 'const' not 'const static' 2017-01-08 21:18:11 +00:00
paramat
24169eeb26 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
bda11a89bd Minor: Fix indentation in serverenvironment.cpp 2017-01-08 19:22:33 +01:00
Loic Blot
4e008ba0bb Move ServerEnvironment to dedicated cpp/header files
* also cleanup some unneeded inclusions
2017-01-08 12:16:06 +01:00
Loic Blot
2a98cf38f6 Move ClientEnvironment to dedicated cpp/header files 2017-01-08 12:16:06 +01:00
lhofhansl
5fed72cf35 Get neighbor from same map block if possible in ABMHandler (#4998) 2017-01-08 17:42:25 +10:00
Ezhh
2907e2be9b Make column alignment consistent in advanced settings (#5004) 2017-01-07 21:33:38 +10:00
sfan5
60a0eeb3f2 Revert "Extend minetest.is_yes()"
This reverts commit c435eabf3ffb77eab955d5faeb5450da1befc149.
2017-01-07 11:05:05 +01:00
red-001
4e5f3e9d94 Extend minetest.is_yes() 2017-01-07 09:54:51 +01:00
LNJ
e919cae20f README.txt: Update the License to 2010-2017 2017-01-05 22:58:37 +01:00
LNJ
b9ad3d4bc8 lua_api.txt: Add registered_chatcommands to global tables 2017-01-05 21:38:43 +00:00
Wayward1
6ca8c6a51d Add raycast.cpp and tileanimation.cpp to Android.mk 2017-01-05 08:19:54 +01:00
rubenwardy
2f942ce148 Expose and document chatcommands as minetest.registered_chatcommands 2017-01-04 20:56:07 +00:00
Lars Hofhansl
a6e265b0ff Fixes for using std:vector in ABMHander and further perf improvements 2017-01-04 21:37:29 +01:00
Rogier-5
cea6742b66 Use std::vector instead of std::map in class ABMHandler 2017-01-04 21:37:29 +01:00
Dániel Juhász
46aff27445 Improve getPointedThing() (#4346)
* Improved getPointedThing()

The new algorithm checks every node exactly once.
Now the point and normal vector of the collision is also returned in the
PointedThing (currently they are not used outside of the function).
Now the CNodeDefManager keeps the union of all possible nodeboxes, so
the raycast won't miss any nodes. Also if there are only small
nodeboxes, getPointedThing() is exceptionally fast.
Also adds unit test for VoxelLineIterator.

* Cleanup, code move

This commit moves getPointedThing() and
Client::getSelectedActiveObject() to ClientEnvironment.
The map nodes now can decide which neighbors they are connecting to
(MapNode::getNeighbors()).
2017-01-04 19:18:40 +01:00
Loïc Blot
f22f819df0 Travis: Build server too for UNIX 2017-01-04 15:13:17 +01:00
Lars Hofhansl
3af2a959cf Pull occlusion check out of loop, and minor code cleanups. 2017-01-03 08:14:58 +01:00
Thomas--S
9685b33bd3 Fix display gamma documentation
Overlooked in #4873
2017-01-02 21:42:50 +00:00
sfan5
c68d446afa Add 2D sheet animation for nodes 2017-01-02 15:28:06 +01:00
Luke Puchner-Hardman
c83a1e6c5f Added "[sheet" to the texture special commands.
"[sheet:WxH:X,Y" assumes the base image is a tilesheet with W*H tiles
on it and crops to the tile at position X,Y.  Basically it works
like "[verticalframe" but in 2D.

For testing, I combined the four default_chest images into one.
2017-01-02 15:28:06 +01:00
sfan5
779eb70e7e Move TileAnimation code to seperate file 2017-01-02 15:28:06 +01:00
Loic Blot
a4f455f428 Fix non reverted change on TOSERVER_BREATH compat 2017-01-01 23:57:37 +01:00
Loic Blot
295d6102c0 Breath cheat fix: server side
Breath is now handled server side. Changing this behaviour required some modifications to core:

* Ignore TOSERVER_BREATH package, marking it as obsolete
* Clients doesn't send the breath to server anymore
* Use PlayerSAO pointer instead of peer_id in Server::SendPlayerBreath to prevent a useless lookup (little perf gain)
* drop a useless static_cast in emergePlayer
2017-01-01 23:11:26 +01:00
Dorian Wouters
6ba3df87e2 Fix /grant & /revoke not working with custom auth handler (#4974)
core.auth_table is not supposed to be accessed directly.
2016-12-31 18:12:26 +01:00
sfan5
78e9ce1587 Fix interact range check (thanks to @lhofhansl) 2016-12-29 19:35:22 +01:00
Rogier-5
bd864de335 Use the outgoing split sequence number for every outgoing packet (#4864)
(instead of the last incoming sequence number...)

Fixes #4848
2016-12-29 13:44:47 +01:00
sfan5
17c247e432 Buildbot: Update Gettext version (#4971) 2016-12-29 13:17:24 +01:00
Auke Kok
a76bf415a3 Redo light.cpp.
Remake the light_decode_table.

The table starts out without pre-filled in values since those
are always discarded by the code apparently. We calculate a
pseudo curve with gamma power function, and then apply a new
adjustment table.

The adjustment table is setup to make the default gamma of 2.2
look decent: not too dark at light level 3 or so, but too dark
at 1 and below to be playable. The curve is much smoother than
before and looks reasonable at the whole range, offering a
pleasant decay of light levels away from lights.

The `display_gamma` setting now actually does something logical:
the game is darker at values below 2.2, and brighter at values
above 2.2. At 3.0, the game is very bright, but still has a good
light scale. At 1.1 or so, the bottom 5 light levels are virtually
black, but you can still see enough detail at light levels 7-8,
so the range and spread is adequate.

I must add that my monitor is somewhat dark to begin with, since
I have a `hc` screen that doesn't dynamic range colors or try to
pull up `black` pixels for me (it is tuned for accurate color and
light levels), so this should look even better on more dynamic
display tunings.
2016-12-28 14:16:39 -08:00
adrido
a0d2cea433 Dont compare short with bool (#4963)
Fixes a compiler warning on MSVC
2016-12-28 21:22:01 +01:00
sfan5
a3448cca81 Irrlicht 1.9 support 2016-12-26 22:36:22 +01:00
sfan5
e171949b92 Various anticheat improvements
* Calculate maximum interact distance from wielded tool
* New "interacted_while_dead" cheat_type for the Lua API
* Disallow dropping items while dead
* Move player to spawn before resurrecting them
2016-12-26 22:34:29 +01:00
Ner'zhul
52a4b7d72e Add gradle wrapper (#4954)
Gradle wrapper permit to use multiple gradle versions across OS versions
2016-12-24 12:30:18 +01:00
rubenwardy
4c57f7b440 Update Android build tools to latest version (#4872) 2016-12-24 08:34:19 +01:00
Rogier
18bdc18f75 Move PP() and PP2() macros to basic_macros.h
Instead of redefining them everywhere.
2016-12-24 00:32:50 +00:00
Lars Hofhansl
117a7ec57a Process ABMs in a spherical volume instead of cubic
Increase active_block_range default to a 3 mapblock radius.
2016-12-24 00:28:39 +00:00
Lars Hofhansl
587e4b23f2 Shaders: Remove unnecessary 'if' statements
Pull if GENERATE_NORMALMAPS == 1 into the template to avoid evaluating
it for each fragment.
Remove if (fogDistance != 0.0).
2016-12-24 00:22:16 +00:00
Rogier
7bf89e4b5b Make minetest abort on lua panic
Currently, lua does a regular exit() after a lua panic, which can make
a problem hard to debug. Invoking FATAL_ERROR() instead will print
some useful information, and abort() minetest, so that a debugger can
be used to analyze the situation.
2016-12-24 00:18:45 +00:00
sfan5
72415a324b Continue with 0.4.15-dev 2016-12-22 23:14:17 +01:00