SmallJoker [Sat, 12 May 2018 12:30:52 +0000 (14:30 +0200)]
Camera: Improve subpixel movement (#7319)
SmallJoker [Sat, 12 May 2018 08:55:43 +0000 (10:55 +0200)]
Run detach callbacks on player leave
Correct docs regarding non-nil detaching children
Vincent Glize [Thu, 10 May 2018 11:50:06 +0000 (13:50 +0200)]
Fix crash guiConfirmRegistration quit menu (#7313)
rubenwardy [Tue, 8 May 2018 18:06:55 +0000 (19:06 +0100)]
Fix luajit include not being found
Paramat [Mon, 7 May 2018 02:31:55 +0000 (03:31 +0100)]
Mgv7: Code cleanup (#7299)
SmallJoker [Sat, 5 May 2018 20:37:07 +0000 (22:37 +0200)]
Fix builtin inventory list crash when size = 0 (#7297)
Paramat [Fri, 4 May 2018 17:22:56 +0000 (18:22 +0100)]
Cavegen: Allow small RandomWalk caves to generate beyond mapchunk border
Vincent Glize [Tue, 1 May 2018 17:38:37 +0000 (19:38 +0200)]
Fix invisible chat error messages (#7289)
Kuma_jjw [Mon, 30 Apr 2018 17:15:11 +0000 (02:15 +0900)]
nodedef: Delete two unused method definitions (#7288)
JDCodeIt [Mon, 30 Apr 2018 17:14:28 +0000 (11:14 -0600)]
Global new() or grab() to be managed in constuctor only (#7235 partial) (#7236)
* g_extrusion_mesh_cache new() and grab() to be managed in constuctor only (#7235 partial)
This global was getting grab()-ed by each call to getItemMesh, incrementing its reference count. What was to be the final drop() in the destructor ended up with > 0 reference count, so memory not freed by Irrlicht.
SmallJoker [Mon, 30 Apr 2018 16:43:49 +0000 (18:43 +0200)]
Allow damage for attached objects, add attach/detach callbacks (#6786)
* Allow right-clicking on attached LuaEntities
rubenwardy [Mon, 30 Apr 2018 16:42:51 +0000 (17:42 +0100)]
MetaDataRef: Add contains() and get() (#7214)
Paramat [Sun, 29 Apr 2018 06:20:46 +0000 (07:20 +0100)]
Mapgen caves: Re-order generation to fix cavern bug
Previously, caverns confused tunnel generation causing biome top and filler
nodes to appear in caverns.
Split 'generateCaves()' into 2 functions to separate tunnel and large
randomwalk cave generation.
In each mapgen re-order cave generation to generate tunnels before caverns.
paramat [Thu, 26 Apr 2018 12:21:58 +0000 (13:21 +0100)]
Biome-defined cave liquids: Use faster biome calculation
paramat [Thu, 26 Apr 2018 12:33:12 +0000 (13:33 +0100)]
Biome-defined dungeon nodes: Use faster biome calculation
rubenwardy [Wed, 25 Apr 2018 23:19:05 +0000 (00:19 +0100)]
Fix description wrapping in browse online content
Paramat [Tue, 24 Apr 2018 23:44:49 +0000 (00:44 +0100)]
Dungeons: Mostly fix missing stair nodes
Paramat [Tue, 24 Apr 2018 01:25:51 +0000 (02:25 +0100)]
Mgvalleys: Update settingtypes.txt
Paramat [Tue, 24 Apr 2018 00:34:48 +0000 (01:34 +0100)]
Mgvalleys: Code cleanup
Split some long lines.
Edit comments.
Remove unnecessary comments and unnecessary commented-out code.
Use std::fmax/fmin instead of MYMAX/MYMIN.
Remove scope-limiting braces.
Consistently define literals as floats, except in noise parameters.
Cleanup literals in noise parameters.
Remove unnecessary 'near_cavern' line.
Reduce max spawn y to be consistent with other mapgens.
rubenwardy [Mon, 23 Apr 2018 17:27:00 +0000 (18:27 +0100)]
Move ASCII art to std::cerr, to remove it from logs
Thomas--S [Mon, 23 Apr 2018 17:50:50 +0000 (19:50 +0200)]
Formspecs: Allow setting alpha value for the box[] element
Paramat [Sat, 21 Apr 2018 21:50:36 +0000 (22:50 +0100)]
Mgvalleys: Use shared tunnel / cavern code instead of internal
Caverns first appeared in mgvalleys and were later added to other
mapgens as shared code. Now this shared code can replace mgvalley's
internal cavern code.
Also use shared tunnel code instead of internal code.
Changes to mapgen that will affect existing worlds (mgvalleys is not
stable):
Single lava and water sources not added in tunnels.
Previous caverns are unchanged but an equal number of new ones are
added at a distance from the previous.
From y = -256 to 192 nodes below, where the caverns taper at their
upper limit, they will have a slightly different shape as the taper
is now linear.
Paramat [Sat, 21 Apr 2018 19:35:29 +0000 (20:35 +0100)]
Cave liquids: Use a more precise point for calculating biome
Use the centre point of the route being carved for a more precise match
between cave liquids and biome.
mazocomp [Sat, 21 Apr 2018 19:33:38 +0000 (22:33 +0300)]
Fix i386 bit build at OpenBSD (#7259)
SmallJoker [Sat, 21 Apr 2018 08:17:16 +0000 (10:17 +0200)]
Fix Android build, broken since
87ad4d8
Paramat [Fri, 20 Apr 2018 19:26:30 +0000 (20:26 +0100)]
Node resolver: Make error on fallback optional, disable for mapgen aliases
rubenwardy [Tue, 17 Apr 2018 13:54:50 +0000 (14:54 +0100)]
Add online content repository
Replaces mods and texture pack tabs with a single content tab
SmallJoker [Thu, 19 Apr 2018 16:36:10 +0000 (18:36 +0200)]
Builtin auth handler: Speed up file writing (#7252)
SmallJoker [Wed, 18 Apr 2018 19:26:20 +0000 (21:26 +0200)]
Fix wrong channel number representation in logs (#7205)
Ben Deutsch [Wed, 18 Apr 2018 18:56:01 +0000 (20:56 +0200)]
PlayerSettings struct for player movement code (#7243)
Instead of calling g_settings->getBool("flag") multiple times
during each movement step, the current settings are cached
in a new player object member. Updated via registered callbacks.
Muhammad Rifqi Priyo Susanto [Wed, 18 Apr 2018 18:55:42 +0000 (01:55 +0700)]
Android: Modify touch screen GUI's buttons (#7240)
* Android: Add zoom, minimap, and toggle chat button
Zoom button is put above jump button.
Minimap and toggle chat button are put in settings bar.
* Jump button is rotated down button
* Move three buttons on the right screen higher
Paramat [Tue, 17 Apr 2018 21:25:59 +0000 (22:25 +0100)]
Cavegen: Fix variable typo that broke mgvalleys large cave distribution (#7249)
Fix elusive 5 year old bug that caused mgvalleys large caves to be flat and
limited to mapchunk borders.
Error was fixed 2 years ago in 'CavesV6' but not in 'CavesRandomWalk'.
rubenwardy [Tue, 17 Apr 2018 00:45:32 +0000 (01:45 +0100)]
Add CMakeDoxy* to .gitignore
Paramat [Sun, 15 Apr 2018 20:56:05 +0000 (21:56 +0100)]
FOV: Raise lower limit to avoid zoom-loading of distant world (#7234)
In the client, raise lower limit from 30 to 45 degrees, to avoid server
seeing this as a zoom and loading world beyond the server-set limit.
Add minimum in settingtypes.txt and enforce lower limit when set using
minetest.conf.
In the server, distrust the client-sent FOV if below the heuristic zoom
threshold and use the player object property 'zoom_fov' to check it, to
protect against hacked clients.
Muhammad Rifqi Priyo Susanto [Tue, 10 Apr 2018 20:55:17 +0000 (03:55 +0700)]
Android: Replace movement buttons with joystick (#7126)
* Android: Replace movement buttons with joystick
Replace movement control buttons (arrows at bottom left screen) with virtual joystick.
Joystick has 8 directions (same as keyboard). Basically, just map it to keyboard input.
Joystick applies only on left 1/3 of screen.
Joystick's position can be fixed by enabling fixed_virtual_joystick setting.
Three new images:
(1) placeholder joystick,
(2) joystick container (background), and
(3) joystick cursor.
Remove unused images: movement control buttons (*_arrow.png).
New data type: touch_gui_joystick_move_id
Joystick's fixed position is spaced one button size from bottom and from left of screen.
Remove unused variable: m_joystick_downlocation
sfan5 [Mon, 9 Apr 2018 14:25:57 +0000 (16:25 +0200)]
Fix segfault caused by wrong wgettext()
minduser00 [Tue, 27 Mar 2018 11:49:47 +0000 (11:49 +0000)]
Fix for translating empty strings
Fix for incorrect translation of empty strings
In the key change menu, when a button key not have name an empty string is passed to gettext.
The empty string is reserved for gettext to return de header of the .po file an this is shoved in the button
SmallJoker [Mon, 9 Apr 2018 12:58:35 +0000 (14:58 +0200)]
upright_sprite: Fix texture position for players
Fixes #6471
Paramat [Mon, 9 Apr 2018 01:23:47 +0000 (02:23 +0100)]
Sun colour: Undo colour change. Remove double assignment (#7227)
Commit
5070ca2111dd5b3f333a942059ef2c592de8dc24 changed sun colour by
fixing what seemed to be a code mistake.
Return to the standard colour but comment-out the first assignment of the
double-assignment for performance.
Add a comment to explain.
Paramat [Sat, 7 Apr 2018 21:09:54 +0000 (22:09 +0100)]
Biome API / dungeons: Add biome-defined dungeon nodes
Add new biome fields 'node_dungeon', 'node_dungeon_alt', 'node_dungeon_stair'.
If 'node_dungeon' is not defined dungeons fall back to classic behaviour.
Remove messy and imprecise dungeon material code from 'generateBiomes()'.
Code deciding dungeon materials is now in 'generateDungeons()' and uses the
biome at mapchunk centre for more precision.
Remove hardcoded 'MG_STONE' types as long intended.
Vitaliy [Fri, 6 Apr 2018 14:33:43 +0000 (17:33 +0300)]
Fix SAOM (#7200)
* Bugfix
rubenwardy [Fri, 6 Apr 2018 08:52:29 +0000 (09:52 +0100)]
Add player:get_meta(), deprecate player attributes (#7202)
* Add player:get_meta(), deprecate player attributes
Paramat [Thu, 5 Apr 2018 23:10:16 +0000 (00:10 +0100)]
Mgcarpathian: Fix spawn level calculation (#7212)
Paramat [Thu, 5 Apr 2018 20:52:10 +0000 (21:52 +0100)]
Mgcarpathian: Remove insignificant 'base' noise variation (#7209)
Was only +-1 node over a scale of thousands of nodes.
Replace with 'base_level' parameter value.
Paramat [Thu, 5 Apr 2018 19:15:38 +0000 (20:15 +0100)]
Zoom adjustDist(): Improve variable name (#7208)
Paramat [Thu, 5 Apr 2018 16:21:41 +0000 (17:21 +0100)]
Biome API / cavegen: Add definable cave liquid for a biome (#7192)
Add 'node_cave_liquid' as a new field in biome registration.
If field is absent cave liquids fall back to classic behaviour.
Loïc Blot [Wed, 4 Apr 2018 18:49:42 +0000 (20:49 +0200)]
[clang-tidy] Promote some performance-* as a coding error (#7194)
* Promote performance-type-promotion-in-math-fn as a coding error
* Promote performance-faster-string-find too (which is not problematic currently)
* Same for performance-implicit-cast-in-loop
* Fix remaining tidy points
Loïc Blot [Wed, 4 Apr 2018 08:56:46 +0000 (10:56 +0200)]
Huge LBM lookup performance improvement on mapblock loading (#7195)
* Huge LBM lookup performance improvement on mapblock loading
Loic Blot [Wed, 4 Apr 2018 06:40:21 +0000 (08:40 +0200)]
Fix 5 issues reported by PVS studio
* src/sky.cpp 146 warn V519 The 'suncolor_f.r' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 142, 146.
* src/sky.cpp 147 warn V519 The 'suncolor_f.g' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 143, 147.
* src/sky.cpp 148 warn V519 The 'suncolor_f.b' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 144, 148.
* src/threading/thread.cpp 63 err V730 Not all members of a class are initialized inside the constructor. Consider inspecting: m_thread_obj.
* src/server.cpp 3243 err V595 The 'log' pointer was utilized before it was verified against nullptr. Check lines: 3243, 3258.
Loic Blot [Wed, 4 Apr 2018 05:42:40 +0000 (07:42 +0200)]
Fix last performance-type-promotion-in-math-fn problems
Loïc Blot [Tue, 3 Apr 2018 22:43:08 +0000 (00:43 +0200)]
Optimize a little bit isBlockInSight, adjustDist & collisions (#7193)
* Use constexpr + unroll some calculations to cache definitively some calculations
* Unroll some calls in collision code & use a constref instead of a copy in one occurence
Loic Blot [Tue, 3 Apr 2018 21:05:22 +0000 (23:05 +0200)]
Fix last clang-tidy reported problems for performance-type-promotion-in-math-fn
Based on https://travis-ci.org/minetest/minetest/jobs/
361810382 output
Also fix 2 missing copyright notices
Loic Blot [Tue, 3 Apr 2018 19:58:29 +0000 (21:58 +0200)]
Fix more clang-tidy reported problems for performance-type-promotion-in-math-fn
Based on https://travis-ci.org/minetest/minetest/jobs/
361714253 output
Loïc Blot [Tue, 3 Apr 2018 16:16:17 +0000 (18:16 +0200)]
Fix various clang-tidy reported performance-type-promotion-in-math-fn
SmallJoker [Tue, 3 Apr 2018 09:15:58 +0000 (11:15 +0200)]
Selected ItemStack: Reduce black magic (#6520)
* Selected ItemStack: Reduce black magic
Better button variable value naming
Vitaliy [Tue, 3 Apr 2018 06:23:46 +0000 (09:23 +0300)]
Optimize entity-entity collision (#6587)
* Add IrrLicht type aliases
* Add hash for IrrLicht vector
* Add object map
Loïc Blot [Mon, 2 Apr 2018 21:51:08 +0000 (23:51 +0200)]
Fix many issues reported by clang-tidy (#7189)
* Fix many issues reported by clang-tidy
We have many issues in code related to some performance to float <-> double.
Clang-tidy reported it in performance-type-promotion-in-math-fn
I fixed many of them. It's not ready for a promote to blocking
Also fix some value which should be const-ref
SmallJoker [Sun, 1 Apr 2018 20:50:26 +0000 (22:50 +0200)]
'fix' LINT, use InventoryLocation==
SmallJoker [Sat, 31 Mar 2018 11:47:19 +0000 (13:47 +0200)]
Run callback in IDropAction, refactor function arguments
SmallJoker [Sat, 31 Mar 2018 10:30:43 +0000 (12:30 +0200)]
Add player inventory callbacks
you [Mon, 2 Apr 2018 14:52:07 +0000 (16:52 +0200)]
Formspecs: Use mouse wheel to pick up and deposit single items
Loïc Blot [Sun, 1 Apr 2018 21:57:55 +0000 (23:57 +0200)]
LINT: add clang-tidy step (#6295)
* Implement new travis clang-tidy build step
* This step enable some rules and enforce one rule as error
* This permits to have some C++ quality rules based on clang & clang contributor guidelines
* Fix clang-tidy reported problems on push_back -> emplace_back
you [Sat, 31 Mar 2018 12:48:38 +0000 (14:48 +0200)]
ObjectRef: Add add_velocity() (#3208)
Allow changing the velocity of objects relatively to their current velocity
SmallJoker [Sat, 31 Mar 2018 12:33:54 +0000 (14:33 +0200)]
event.h: Fix import GCC warning caused by
ce87310
Loïc Blot [Fri, 30 Mar 2018 16:32:52 +0000 (18:32 +0200)]
Client eventmanager refactor (#7179)
* Drop EventManager from GameDef & do some client cleanups
* EventManager is only used by Client. Don't expose it on Server & GameDef for nothing
* Drop Client::event() in favor of direct calls to getEventManager
* Cleanup some event put from new + put to put(new)
* MtEvent: add Type(u8) enum
* This will enhance event performance & ensure stricter type
* Drop MtEvent::checkIs (unused)
* clang-tidy reported fixes
* Code style
* Move event_manager.h to the client directory as it's only used by client
Add EventManager unittests + switch to unordered_map as order is not important here
Drop a unused function
Paramat [Thu, 29 Mar 2018 20:08:42 +0000 (21:08 +0100)]
Mgcarpathian: Mapgen loop optimisations. fabs() -> std::fabs()
* Mgcarpathian: ZYX -> ZXY mapgen loop optimisation.
* 'pow(n, 3)' to 'n * n * n' type optimisations.
* fabs() -> std::fabs().
SmallJoker [Thu, 29 Mar 2018 19:44:13 +0000 (21:44 +0200)]
core.rotate_node: Do not trigger after_place_node (#6900)
nOOb3167 [Thu, 29 Mar 2018 19:43:57 +0000 (21:43 +0200)]
Sound: fix static initialization order dependency by not having one (#7168)
Ensure singleton is reset
stujones11 [Sun, 18 Mar 2018 17:25:05 +0000 (17:25 +0000)]
Optional alpha channel support for entities
Loic Blot [Thu, 29 Mar 2018 11:41:48 +0000 (13:41 +0200)]
Loic Blot [Thu, 29 Mar 2018 11:36:01 +0000 (13:36 +0200)]
Fix a warning reported by clang
minetest/src/script/cpp_api/s_player.h:27:1: warning: struct 'PlayerHPChangeReason' was previously declared as a class [-Wmismatched-tags]
struct PlayerHPChangeReason;
Loic Blot [Thu, 29 Mar 2018 11:30:18 +0000 (13:30 +0200)]
Fix various Client class functions not marked as override (virtual)
Also switch some of them which are reported by clang-tidy
Andrew Ward [Wed, 28 Mar 2018 21:14:16 +0000 (22:14 +0100)]
Load dependencies and description from mod.conf
Andrew Ward [Wed, 28 Mar 2018 15:05:18 +0000 (16:05 +0100)]
Add reasons to on_dieplayer and on_hpchange
Andrew Ward [Wed, 28 Mar 2018 15:04:41 +0000 (16:04 +0100)]
Add formspec theming using prepended strings
Loïc Blot [Mon, 26 Mar 2018 15:44:54 +0000 (17:44 +0200)]
Update jsoncpp to 1.8.4 (#7172)
nOOb3167 [Mon, 26 Mar 2018 15:44:40 +0000 (17:44 +0200)]
Guard sound manager initialization with "enable_sound" (#7167)
D Tim Cummings [Mon, 26 Mar 2018 15:43:59 +0000 (01:43 +1000)]
macOS: don't require X11 libraries during compilation (#7149)
The xxf86vm needs to be removed from Apple builds to avoid CMake Error XXF86VM_LIBRARY is NOTFOUND
Paramat [Mon, 26 Mar 2018 03:59:49 +0000 (04:59 +0100)]
Mapgen: Remove unused mgv7 code and some unused biometypes
nOOb3167 [Sat, 24 Mar 2018 15:05:26 +0000 (16:05 +0100)]
Make sounds stop playing when entering game or mainmenu
Loïc Blot [Sat, 24 Mar 2018 14:45:25 +0000 (15:45 +0100)]
Cleanup sound manager class (#7158)
* Cleanup sound manager client
* Use some const refs
* Use auto on iterators
* Drop unused parameters
* Move sound_openal.* to client folder
* Move sound.cpp + OnDemandSoundFetcher to client/ folder + reorganize includes properly
you [Fri, 23 Mar 2018 23:31:33 +0000 (00:31 +0100)]
Print the mod loading time (#7137)
* Print the mod loading time
Loic Blot [Fri, 23 Mar 2018 21:12:42 +0000 (22:12 +0100)]
Fix some gcc 7.3 reported warnings
```
src/client/joystick_controller.h:85:2: warning: duplicate 'virtual' declaration specifier [-Wduplicate-decl-specifier]
virtual bool isTriggered(const irr::SEvent::SJoystickEvent &ev) const;
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/ext/new_allocator.h:140:22: warning: destructor called on non-final 'JoystickAxisCmb' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
destroy(_Up* __p) { __p->~_Up(); }
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/ext/new_allocator.h:140:22: warning: destructor called on non-final 'JoystickButtonCmb' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
destroy(_Up* __p) { __p->~_Up(); }
```
nOOb3167 [Fri, 23 Mar 2018 14:31:43 +0000 (15:31 +0100)]
Global initialization of sound using SoundManagerGlobal (#7063)
* Global initialization of sound using SoundManagerGlobal
Vitaliy [Thu, 22 Mar 2018 19:59:49 +0000 (22:59 +0300)]
Update mesh collector and move it to a separate file (#6904)
* Update MeshCollector
* Simplify MeshCollector
Loïc Blot [Thu, 22 Mar 2018 18:44:41 +0000 (19:44 +0100)]
Gitlab CI: Disable currently broken ubuntu 16.10 & 17.04 builds
I will try to repair them later
Paramat [Thu, 22 Mar 2018 02:36:52 +0000 (02:36 +0000)]
Lua_api.txt: Improve noise documentation
paramat [Sat, 17 Mar 2018 22:05:21 +0000 (22:05 +0000)]
Minetest ASCII art: Move from actionstream to rawstream
paramat [Tue, 20 Mar 2018 02:30:25 +0000 (02:30 +0000)]
Mgfractal / chunksize: Improve documentation
paramat [Sun, 18 Mar 2018 05:34:02 +0000 (05:34 +0000)]
Lua_api.txt: Fix hardware colouring documentation
More 'draw type' -> 'paramtype2' changes, missing from a previous commit.
Loïc Blot [Sun, 18 Mar 2018 15:20:08 +0000 (16:20 +0100)]
Add src/unittest/test_world/world.mt to gitignore
Fixes #7146
Loic Blot [Sat, 17 Mar 2018 11:13:37 +0000 (12:13 +0100)]
Add missing file to android build
Vitaliy [Sat, 17 Mar 2018 09:10:16 +0000 (12:10 +0300)]
Fix node-nodebox lighting difference in direct sunlight (#7061)
Loic Blot [Sat, 17 Mar 2018 08:21:49 +0000 (09:21 +0100)]
.gitignore: ignore more files (android, unittests)
paramat [Sat, 17 Mar 2018 05:00:37 +0000 (05:00 +0000)]
Lua_api.txt: Split long lines part 6
Loic Blot [Fri, 16 Mar 2018 18:34:41 +0000 (19:34 +0100)]
Fix a crash or random memory leak when reseting saved environment variable in test_servermodmanager.cpp
Loic Blot [Fri, 16 Mar 2018 08:12:39 +0000 (09:12 +0100)]
Drop Server::m_enable_rollback_recording it's only used in server constructor
Loic Blot [Fri, 16 Mar 2018 07:52:42 +0000 (08:52 +0100)]
ServerEnvironment::loadDefaultMeta: Loading default meta is only possible for ServerEnv itself
Loic Blot [Fri, 16 Mar 2018 07:44:57 +0000 (08:44 +0100)]
Forgot to remove obsolete Server::m_mods
Loïc Blot [Fri, 16 Mar 2018 07:41:33 +0000 (08:41 +0100)]
Server: delegate mod management & config to ServerModConfiguration (#7131)
* Server: delegate mod management & config to ServerModConfiguration (rename it to ServerModManager)
* Use c++11 range based loops
* Add unittests + experimental/default mod as a test case to permit testing mod loading in future tests