aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-03-10Confirm registration GUI: Remove positional strings to fix Windows bug (#8258)Paramat
Positional strings don't work on some Windows builds. Remove server address string, leave player name string present.
2019-03-07Abort when trying to set a not registered node (#7011)HybridDog
I removed the MapNode constructor which takes a nodename and gives the node's id or CONTENT_IGNORE The code which used this constructor (two places) now handles the situation of not registered nodes correctly: * minetest.set_node and similar functions make minetest crash when a not registered node is passed * reverting a node with rollback aborts if the node is not registered
2019-03-07Optimize string handling in path search (#8098)Jozef Behran
Use "append" method to construct the various game paths instead of wasteful string concatenation. Additionally, use a temporary to extract and reuse a result of a few common subexpressions to further reduce the overhead.
2019-03-07Optimize interaction distance checker (#8193)Jozef Behran
The "what" parameter is being passed by value, most likely by accident as the type is "const std::string". Convert it to a reference by adding the missing "&".
2019-03-07Fix detach inventory serialisation (#8331)rubenwardy
2019-03-06Fix incorrect string length check after castrubenwardy
2019-03-06Fix clang tidy error due to incorrect use of quotes for characterrubenwardy
2019-03-05Change 'num_emerge_threads' default to 1 (#8303)Paramat
2019-03-05Fix --color command line parameter ignorance (#7173)HybridDog
* 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-05Replace for loop with call to standard library function (#8194)Benjamin Lindley
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-05Hide uninstall package button on unmodifiable paths (#8255)rubenwardy
2019-03-05Add referer to remote media requests. (#8135)sofar
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-05getS16NoEx() returns true unless syntactical error in conf. (#8304)sofar
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-02Don't include and link to gettext if gettext is not found (#8305)adrido
2019-03-01Fix particle spawners not visible since CSM spawner implementation (#8289)Loïc Blot
* 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-02-26Revert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 ↵Loïc Blot
(#8288)" This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e.
2019-02-26Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)Paramat
Reverts 5dab7426451842793b183fbd961ad2ae83c8acbd "[CSM] Add functions to create particles and particlespawners."
2019-02-23Update minetest.conf.example and settings_translation_file.cpp (#8278)Paramat
2019-02-23Fix files with CRLF line endings in translations (#8280)Nathanaël Courant
2019-02-23Minimap: Fix radar restriction broken by 9649e47SmallJoker
Server-side radar restriction is now possible again Thanks to @pgimeno for this nice catch.
2019-02-23Attend to LINT sillyness (#8276)Paramat
2019-02-23Remove 's' from 'automatic forwards' (#8272)ANAND
2019-02-15Revert RTT fixes (#8187)ANAND
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-15Fix coloured fog in main menu (#8181)random-geek
Fixes #4727. The issue was due to the video driver fog colour never getting reset after closing the game.
2019-02-15LINT fixLoïc Blot
2019-02-15Don't regain breath while in ignore node (#8218)Wuzzy
* Don't regain breath while in ignore node Fixes #8217
2019-02-14 Update minetest.conf.example, settings strings and locale files (#8230)Wuzzy
2019-02-14Fix extract zip writing lowercase files (#8221)rubenwardy
2019-02-10Consistent HP and damage types (#8167)SmallJoker
Remove deprecated HUDs and chat message handling. Remove unused m_damage variable (compat break). HP: s32 for setter/calculations, u16 for getter.
2019-02-10Slippery: Do not apply when swimming (#8198)SmallJoker
2019-02-09Autojump: Disable in fly mode, support continuous forward (#8200)SmallJoker
Correctly disable in fly mode (issue #8199) Also autojump in continuous forward mode (issue #8201)
2019-02-09Fix Address::isLocalhost algorithmLoic Blot
2019-02-09Disable confirmation dialog on localhostrubenwardy
2019-02-09numeric: Fix clang, broken since d5456daSmallJoker
2019-02-09Don't append itemname to itemname in tooltip (#8176)Wuzzy
2019-02-07Use true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019)Paul Ouellette
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-04Fix cloud color in loading screen and main menu (#8174)random-geek
2019-02-04Update color of main menu clouds (#8172)random-geek
2019-02-03Add setting to hide mature content from ContentDBrubenwardy
2019-02-03Fix core.download_file() creating empty files on HTTP errorrubenwardy
2019-02-03DragonFly BSD is somewhat identical to FreeBSD (#8159)Leonid Bobrov
2019-02-03Force player save before kicking on player shutdown (#8157)Loïc Blot
2019-02-02Move missing translations warnings to verbosestream (#8156)Nathanaël Courant
They should not spam the console and logs.
2019-01-31Settings: Slightly increase block generate, block send, object send ↵Paramat
distances (#8147)
2019-01-31Content store: Fix storage leak by storing screenshots in cache (#8137)rubenwardy
2019-01-26Add setting to disable confirmation on new player registration (#8102)Muhammad Rifqi Priyo Susanto
2019-01-26Fix pkgmgr game install with RUN_IN_PLACE=0 (#8113)Paul Ouellette
2019-01-25blitToVManip: Check out-of-bounds using node position not index (#8127)Paramat
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-22Fix warnings about dungeongen.cpp memcpy() and unused variable in ↵Paramat
MapBlock::deSerializeNetworkSpecific() (#8122) * Fix warning about dungeongen.cpp memcpy() * Fix unused variable in MapBlock::deSerializeNetworkSpecific() * Fix unused variable a simpler way
2019-01-21Fix randomly rejected form field submits (#8091)Jozef Behran
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.