1
0
mirror of https://github.com/minetest/minetest.git synced 2024-09-20 19:40:18 +02:00
Commit Graph

6819 Commits

Author SHA1 Message Date
SmallJoker
a45859d074 Inventory: Restrict access from too far away 2018-05-13 17:38:57 +02:00
SmallJoker
0628580a5e core.rotate_node: Run callbacks like with any regular placed node (#6648) 2018-05-13 17:38:57 +02:00
paramat
5c5febde06 Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes
No longer decide placement on 'buildable_to' parameter.
Dust nodes only look acceptable placed on cubic nodes.
Modders may not want to make their plantlike decorations 'buildable_to'.
2018-05-13 17:38:57 +02:00
ezhh
18be221f3b Improve Settings tab button alignments 2018-05-13 17:38:57 +02:00
paramat
58d7134850 Lua_api.txt: Add documentation of required mapgen aliases 2018-05-13 17:38:57 +02:00
Ezhh
4bd675e4ff Remove incorrect entry from settingtypes 2018-05-13 17:38:57 +02:00
sfan5
a1b8742599 Make use of safe file writing in auth handler (fixes #6576) 2018-05-13 17:38:57 +02:00
sfan5
bfca901e3a Add minetest.safe_write_file() to script API 2018-05-13 17:38:57 +02:00
Muhammad Rifqi Priyo Susanto
1fe379d899 Fix issue Minetest crash when custom font path is not exist
We try to use default fallback for both mono and main font when custom font path is not exist. This way, if Minetest is not corrupted, we could avoid crash.
2018-05-13 17:38:57 +02:00
Ezhh
c2ea6df596 Fix Settings tab formspec alignment (#6585) 2018-05-13 17:38:57 +02:00
Lars Hofhansl
1b888a0e7e Do not scale texture unless necessary.
This avoids scaling textures to 'texture_min_size' unless it is actually
required (because either auto-scaling or bi/trilinear filtering is enabled)
2018-05-13 17:38:57 +02:00
sfan5
ff2ce83ace httpfetch: Enable gzip support 2018-05-13 17:38:57 +02:00
Rob Blanckaert
e12d77e6d8 Add sha1 to lua utils. (#6563) 2018-05-13 17:38:57 +02:00
rubenwardy
cbd1f34c2e Fix day_night_ratio_do_override not being initialised server-side
Causes get_day_night_ratio() to return unpredictable results.
2018-05-13 17:38:57 +02:00
lhofhansl
f2a452612d Avoid filtering low-res textures for animated meshes (incl. players) (#6562) 2018-05-13 17:38:57 +02:00
raymoo
a66d0784b1 Fix default item callbacks to work with nil users (#5819)
* Fix default item callbacks to work with nil users

* item.lua: Handle node drops for invalid players

The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used.
Remove redundant `local _, dropped_item`
2018-05-13 17:38:57 +02:00
Auke Kok
6c49b641f8 Correct prot_vers in lua_api.txt.
We should avoid providing incorrect struct members in documentation
since people will be coding based on them.
2018-05-13 17:38:57 +02:00
Esteban I. RM
9841e22537 Don't try to craft a non-existent item 2018-05-13 17:38:57 +02:00
rubenwardy
0e21bdad3b Profiler: Fix var args not being passed to callback register function
Fixes #6517
2018-05-13 17:38:57 +02:00
Loïc Blot
507f475ab9 Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (#6515) 2018-05-13 17:38:57 +02:00
Loic Blot
541a16f826 NetworkPacket::putRawPacket: resize m_data to datasize + memcpy
In some cases NetworkPacket was created using default constructor and m_data is not properly sized.
This fixed out of bounds memory copy
Also use memcpy instead of std::vector affectation to enhance packet creation
2018-05-13 17:38:57 +02:00
adrido
85569a9709 Replace deprecated WINAPI GetVersionInfoEx (#6496)
* Replace deprecated WINAPI GetVersionInfoEx
2018-05-13 17:38:57 +02:00
Rob Blanckaert
21d36eff69 Add setting for near plane distance. (#6395)
* Allow setting the near plane

* - Add near_plane limit of 0.5 to prevent x-ray.
- Add more details to near_plane setting.
2018-05-13 17:38:57 +02:00
SmallJoker
02336c78d4 Unkown nodes: Provide position on interact (#6505)
* Unkown nodes: Provide position on interact
2018-05-13 17:38:57 +02:00
SmallJoker
203cb8bfd0 ParticleSpawner::step cleanup and rotation fix (#6486)
* Particles: Move spawner code to a separate fucntion
2018-05-13 17:38:57 +02:00
paramat
7acc3abca9 CAO footstep sounds: Reduce gain to balance volume 2018-05-13 17:38:57 +02:00
raymoo
17b479319b Fix attached particle spawners far from spawn (#6479)
* Fix attached particle spawners far from spawn

When far from spawn, attached particle spawners
did not spawn particles.
2018-05-13 17:38:57 +02:00
SmallJoker
2185cbc5f5 Localplayer: Fix disable_jump effect and getStandingNodePos()
Leave the old move code untouched.
2018-05-13 17:38:57 +02:00
raymoo
a258a2da95 Document orientation parameter of set_attach (#6473) 2018-05-13 17:38:57 +02:00
Paramat
19fdd757d6 Fix recent commit: std::max -> std::fmax for floats (#6469)
Fixes commit a455297d29
<cmath> header was already present in commit.
2018-05-13 17:38:57 +02:00
paramat
52e1895716 Positional sound: Limit volume when closer than 1 node
Change OpenAL distance model from AL_INVERSE_DISTANCE to
AL_INVERSE_DISTANCE_CLAMPED to avoid excessive volume when very close
to the sound location, for example MTG doors, and MTG fire sounds which
are combined at an average position and often located in air nodes.

Because AL_REFERENCE_DISTANCE has been reduced to 1 node (the distance
under which gain is clamped), multiply volume by the same factor to keep
sound gains the same as before, since the gain is calculated as:

gain = (AL_REFERENCE_DISTANCE / distance)
2018-05-13 17:38:57 +02:00
sfan5
45c56f41ec Fix blocks written by vmanip not being marked as modified
This bug can be triggered by e.g. calling minetest.place_schematic()
and stopping the server immediately afterwards.
2018-05-13 17:38:57 +02:00
DTA7
46a3983db7 Set placer to nil instead of a non-functional one in item_OnPlace (#6449)
* Set placer to nil instead of a non-functional one

This requires nil checks in core.rotate_node and core.rotate_and_place.
2018-05-13 17:38:57 +02:00
paramat
222bfca5ea Leveled nodebox: Change levels from 1/63rds to 1/64ths
Add missing documentation of leveled nodebox to lua_api.txt, plus
a little cleaning up nearby.
2018-05-13 17:38:57 +02:00
tenplus1
bd11a009ed Fix Rotate Node Placement (#6424)
This properly checks for creative mode or privilege when using fixed rotate_node() function.
2018-05-13 17:38:57 +02:00
sfan5
e847b8421a ServerEnv: Clean up object lifecycle handling (#6414)
* ServerEnv: Clean up object lifecycle handling
2018-05-13 17:38:57 +02:00
sfan5
1c08602a53 Fix core.wrap_text and make its behaviour consistent with the docs
Code based on initial implementation by @dsohler.
2018-05-13 17:38:57 +02:00
rubenwardy
8d1ef98e93 Fix empty legacy meta being persisted 2018-05-13 17:38:57 +02:00
Nathanaël Courant
21b730477d Statbars: fix incorrect half-images in non-standard orientations (fixes #6198) 2018-05-13 17:38:57 +02:00
Paramat
af645a6a16 Android stepheight: Only increase if 'touching ground' (#6313) 2018-05-13 17:38:57 +02:00
Dániel Juhász
1e417b0742 Fix Android node selection distance (#6187) 2018-02-03 00:38:59 +01:00
Loïc Blot
7ddd0bf229 serialize: use a temporary for SerializeException Exception must always use temporary instead of global copied exception instances, it's not recommended and should have undefined issues 2018-02-03 00:38:59 +01:00
Loic Blot
cbd9e24f52 Typo fix in compat code from commit 1d8d01074f 2018-02-03 00:38:59 +01:00
Loïc Blot
9c263796b5 ClientInterface: add a function to verify (correctly) if user limit was reached (#6258)
* ClientInterface: add a function to verify (correctly) if user limit was reached

CS_HelloSent is a better indicator of active slots than CS_Created, which are session objects created after init packet reception

Switch existing checks to ClientInterface::isUserLimitReached()

Use range-based for loop for getClientIds() used function too

This will fix #6254 (not the memory overhead if init is flooded)
2018-02-03 00:38:59 +01:00
Dániel Juhász
78109d805f Make dropped items colorable 2018-02-03 00:36:57 +01:00
SmallJoker
3cee8938b8 Trigger on_rightclick regardless on the formspec meta field
Document behaviour for older clients.
2018-02-03 00:36:44 +01:00
Fixer
cff65044cb Full viewing range key message clarified
To make it sound less confusing to players
2018-02-03 00:36:44 +01:00
Jens Rottmann
f81c5e5e13 Add tiny Y offset in collisionMoveSimple() to tweak performance
Another small general problem: the player is always standing exactly on the
bondary between 2 nodes e.g. Y=1.5 is exactly between nodes Y=1 and Y=2.
floatToInt() and myround() will round +/-n.5 always 'outwards' to +/-(n+1),
which means they behave differently depending on where you are: they round
upwards above sea level and downwards when underground. This inconsistency
comes from the way the coordinates are calculated, independent of the
specific C++ code.

The result is a tiny bit of lost performance when moving underground,
because 1 node level more than necessary is checked for collisions. This can
be amended by adding a tiny offset to minpos_f.Y, like @paramat suggested.
This is not an elegant solution, but still better than wasting CPU.
2018-02-03 00:36:44 +01:00
Jens Rottmann
4b30c1cf02 Fix player coordinate rounding in collisionMoveSimple() (#6197)
To determine the area (nodes) where a player movement took place
collisionMoveSimple() first took the old/new player coordinates and rounded
them to integers, then added the player character's collision box and
implicitely rounded the result. This has 2 problems:

Rounding the position and the box seperately, then adding the resulting
integers means you get twice the rounding error. And implicit rounding
always rounds towards 0.0, unlike floatToInt(), which rounds towards the
closest integer.

Previous (simplified) behavior: round(pos)+(int)box, for example player at
Y=0.9, body is 1.75m high: round(0.9)+(int)1.75 = 1+1 = 2.
==> A character's height of 1.75m always got rounded down to 1m, its width
of +/-0.3 even became 0.

Fixed by adding the floats first, then rounding properly: round(pos+box) =
round(0.9+1.75) = round(2.65) = 3.
2018-02-03 00:36:44 +01:00
Juozas Pocius
44633cfffb Fix crash when using --go in command line 2018-02-03 00:36:44 +01:00