Commit Graph

5461 Commits

Author SHA1 Message Date
rubenwardy
ac86d04784 Fix detach inventory serialisation (#8331) 2019-03-07 07:41:21 +01:00
rubenwardy
82c6363559
Fix incorrect string length check after cast 2019-03-06 22:24:39 +00:00
rubenwardy
c735497a65 Fix clang tidy error due to incorrect use of quotes for character 2019-03-06 14:41:37 +00:00
Paramat
1c87d57e1d
Change 'num_emerge_threads' default to 1 (#8303) 2019-03-05 22:58:38 +00:00
HybridDog
ee698770b9 Fix --color command line parameter ignorance (#7173)
* Fix color command line parameter ignorance

* coloured log: Support detecting the tty on windows

* Print an error message when setting something invalid as color mode instead of silently using mode never

* Revert "coloured log: Support detecting the tty on windows"

This reverts commit 4c9fc6366487ac0e6799e181796ca594797bb6f8.
It didn't work for travis and belongs to a separate PR

* Allow adjusting the log color with an environment variable

If --color is not passed to minetest,  is used to decide on the log colorization.
Minetest settings can not be used instead of an environment variable because logs may appear before loading them.

* fix empty if body
2019-03-05 08:14:33 +01:00
Benjamin Lindley
e19565c170 Replace for loop with call to standard library function (#8194)
This loop makes multiple passes over m_stack (type std::list) in order to remove all elements with a specified value. Replacing the loop with a call to std::list::remove does the same job, but in only one pass.
2019-03-05 08:13:15 +01:00
rubenwardy
5d2624ab82 Hide uninstall package button on unmodifiable paths (#8255) 2019-03-05 08:12:58 +01:00
sofar
b5defcffba Add referer to remote media requests. (#8135)
This sends the following header to a remote media server:

    Referer: minetest://<server_name>:port

This was verified with CTF and the Minetest Public Remove Media
server. If the servername was a plain IPv6 address it will
contain `:` characters and will be encapsulated in `[]` to
be a valid URI.
2019-03-05 08:12:02 +01:00
sofar
61e5fbab72 getS16NoEx() returns true unless syntactical error in conf. (#8304)
The getS16NoEx() handler will return true unless there is a
`[num_emerge_threads]` line in the `minetest.conf` at which
point the excption handler part is reached. Due to the fact that
`defaultsettings.cpp` has a default value set for this setting,
that never will happen.

Because of this, the code will never check the number of threads on
the system, and keep `nthreads = 0`. If that happens, the value is
changed to `1` and only 1 emerge thread will be used.

The default should be set to `1` instead, due to the potential unsafe
consequences for the standard sqlite map files, but that should be a
separate commit that also adds documentation for that setting. This
commit focuses on removing this `hiding` bug instead.
2019-03-05 08:11:13 +01:00
adrido
ad0f20835c Don't include and link to gettext if gettext is not found (#8305) 2019-03-02 10:56:01 +01:00
Loïc Blot
170dd409cb
Fix particle spawners not visible since CSM spawner implementation (#8289)
* Drop the ID mapper, use a big u64 instead. This will permit to resync server ids properly with the manager code
* Modernize some code parts (std::unordered_map, auto)
* generate id on client part on U32_MAX + 1 ids, lower are for server ids
2019-03-01 20:16:11 +01:00
Loïc Blot
111f1dc9c5 Revert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)"
This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e.
2019-02-26 08:53:53 +01:00
Paramat
01cd63bd3b
Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)
Reverts 5dab7426451842793b183fbd961ad2ae83c8acbd
"[CSM] Add functions to create particles and particlespawners."
2019-02-26 04:26:25 +00:00
Paramat
ae1caba6aa
Update minetest.conf.example and settings_translation_file.cpp (#8278) 2019-02-23 20:24:59 +00:00
Nathanaël Courant
eeb67627ec Fix files with CRLF line endings in translations (#8280) 2019-02-23 19:55:54 +00:00
SmallJoker
1942660955 Minimap: Fix radar restriction broken by 9649e47
Server-side radar restriction is now possible again
Thanks to @pgimeno for this nice catch.
2019-02-23 15:54:53 +01:00
Paramat
20fb04d9fb
Attend to LINT sillyness (#8276) 2019-02-23 02:41:36 +00:00
ANAND
242c9bc36e Remove 's' from 'automatic forwards' (#8272) 2019-02-23 01:12:33 +00:00
ANAND
7a0e52acd6 Revert RTT fixes (#8187)
The reverted commit 968ce9af598024ec71e9ffb2d15c3997a13ad754
is suspected (through the use of bisection) of causing network slowdowns.
Revert for now as we are close to release.
2019-02-15 23:39:22 +00:00
random-geek
2153163cbd Fix coloured fog in main menu (#8181)
Fixes #4727. The issue was due to the video driver fog colour never getting reset after closing the game.
2019-02-15 20:44:21 +01:00
Loïc Blot
3dafc007a9 LINT fix 2019-02-15 12:27:29 +01:00
Wuzzy
88c68ce8ec Don't regain breath while in ignore node (#8218)
* Don't regain breath while in ignore node

Fixes #8217
2019-02-15 12:22:30 +01:00
Wuzzy
f290d01abe Update minetest.conf.example, settings strings and locale files (#8230) 2019-02-14 22:38:24 +00:00
rubenwardy
a8311ad57f Fix extract zip writing lowercase files (#8221) 2019-02-14 20:03:45 +00:00
SmallJoker
ffb17f1c9a Consistent HP and damage types (#8167)
Remove deprecated HUDs and chat message handling.
Remove unused m_damage variable (compat break).
HP: s32 for setter/calculations, u16 for getter.
2019-02-10 23:03:26 +00:00
SmallJoker
ba5a9f2b36
Slippery: Do not apply when swimming (#8198) 2019-02-10 17:04:04 +01:00
SmallJoker
6d6a813614
Autojump: Disable in fly mode, support continuous forward (#8200)
Correctly disable in fly mode (issue #8199)
Also autojump in continuous forward mode (issue #8201)
2019-02-09 21:44:04 +01:00
Loic Blot
ff5d4ffe1c
Fix Address::isLocalhost algorithm 2019-02-09 19:52:56 +01:00
rubenwardy
7796a3118d
Disable confirmation dialog on localhost 2019-02-09 19:52:56 +01:00
SmallJoker
b7e1bca28c numeric: Fix clang, broken since d5456da 2019-02-09 18:33:31 +01:00
Wuzzy
f5bdc04ab5 Don't append itemname to itemname in tooltip (#8176) 2019-02-09 15:46:02 +01:00
Paul Ouellette
d5456da69d Use true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019)
Store the rotation in the node as a 4x4 transformation matrix internally (through IDummyTransformationSceneNode), which allows more manipulations without losing precision or having gimbal lock issues.

Network rotation is still transmitted as Eulers, though, not as matrix. But it will stay this way in 5.0.
2019-02-07 21:26:06 +00:00
random-geek
fc566e2e10 Fix cloud color in loading screen and main menu (#8174) 2019-02-04 19:11:02 +00:00
random-geek
2ae794ac45 Update color of main menu clouds (#8172) 2019-02-04 00:12:15 +01:00
rubenwardy
626b0b7e6a
Add setting to hide mature content from ContentDB 2019-02-03 17:54:56 +00:00
rubenwardy
9a071d66a5 Fix core.download_file() creating empty files on HTTP error 2019-02-03 17:31:28 +00:00
Leonid Bobrov
339341ba4e DragonFly BSD is somewhat identical to FreeBSD (#8159) 2019-02-03 09:53:54 +01:00
Loïc Blot
70672e1cb7
Force player save before kicking on player shutdown (#8157) 2019-02-03 09:11:45 +01:00
Nathanaël Courant
91e5a33cfa Move missing translations warnings to verbosestream (#8156)
They should not spam the console and logs.
2019-02-02 12:00:06 +01:00
Paramat
d521e61ba7
Settings: Slightly increase block generate, block send, object send distances (#8147) 2019-01-31 19:28:14 +00:00
rubenwardy
572ba83b30 Content store: Fix storage leak by storing screenshots in cache (#8137) 2019-01-31 16:35:55 +00:00
Muhammad Rifqi Priyo Susanto
9126e1791d Add setting to disable confirmation on new player registration (#8102) 2019-01-26 19:26:37 +00:00
Paul Ouellette
ded522b2ee Fix pkgmgr game install with RUN_IN_PLACE=0 (#8113) 2019-01-26 14:12:20 +01:00
Paramat
922e6ff57e
blitToVManip: Check out-of-bounds using node position not index (#8127)
Previously, when using 'place on vmanip' to add a schematic to a
lua voxelmanip, if part of the schematic was outside the voxelmanip
volume, the outside part would often appear in a strange place
elsewhere inside the voxelmanip instead of being trimmed off.
This was due to the out-of-bounds check checking the index.

A position outside the voxelmanip can have an index that satisfies
'0 <= index <= voxelmanip volume', causing the node to be placed
at a strange position inside the voxelmanip.

Use 'vm->m_area.contains(pos)' instead.
Move index calculation to later in the code to optimise.
2019-01-25 19:01:00 +00:00
Paramat
bc1e54764b Fix warnings about dungeongen.cpp memcpy() and unused variable in MapBlock::deSerializeNetworkSpecific() (#8122)
* Fix warning about dungeongen.cpp memcpy()

* Fix unused variable in MapBlock::deSerializeNetworkSpecific()

* Fix unused variable a simpler way
2019-01-22 22:13:06 +01:00
Jozef Behran
33afe1fb56 Fix randomly rejected form field submits (#8091)
If a formspec is submitted from a form fields handling
callback of another form (or "formspec shown from another
formspec"), the fields submitted for it can get
rejected by the form exploit mitigation subsystem with a
message like "'zorman2000' submitted formspec
('formspec_error:form2') but server hasn't sent formspec to
client, possible exploitation attempt" being sent to logs.
This was already reported as #7374 and a change was made
that fixed the simple testcase included with that bug
report but the bug still kept lurking around and popping
out in more complicated scenarios like the advtrains TSS
route programming UI.

Deep investigation of the problem revealed that this
sequence of events is entirely possible and leads to the
bug:

  1. Server: show form1
  2. Client *shows form1*
  3. Client: submits form1
  4. Server: show form2
  5. Client: says form1 closed
  6. Client *shows form2*
  7. Client: submits form2

What happens inside the code is that when the server in
step 4 sends form2, the registry of opened forms is
updated to reflect the fact that form2 is now the valid
form for the client to submit. Then when in step 5 client
says "form1 was closed", the exploit mitigation subsystem
code deletes the registry entry for the client without
bothering to check whether the form client says was
closed just now is indeed the form that is recorded in
that entry as the valid form. Then later, in step 7 the
client tries to submit its valid form fields, these will
be rejected because the entry is missing.

It turns out the procedure where the broken code resides
already gets the form name so a simple "if" around the
offending piece of code fixes the whole thing. And
advtrains TSS agrees with that.
2019-01-21 09:53:09 +01:00
SmallJoker
80b9015939 Advanced settings noiseparams: Remove '}' left in .conf
Previously, when editing noiseparams then restoring them to the default,
the final '}' was not removed from minetest.conf.
2019-01-19 18:31:41 +00:00
Jozef Behran
6e37fdc21d Optimize subgames search a little bit (#8096)
Reserve space for the list of games in findWorldSubgame. The
performance gain is pretty much negligible but this change
also gets rid of a performance warning by CLANG TIDY.
2019-01-18 10:47:50 +01:00
Paul Ouellette
3fce27ece5 Fix some misspellings (#8104) 2019-01-16 13:39:13 +01:00
SmallJoker
ed1415f78d
world.mt: Only accept true/false/nil values (#8055)
This patch will make distinguishable mods in modpacks possible in the future
`nil` checks are required to provide backwards-compatibility for fresh configured worlds
2019-01-13 16:22:32 +01:00