Commit Graph

5155 Commits

Author SHA1 Message Date
Loic Blot
bcdb3d56c0 Variable name fix + structure creation unrolling in lighting code 2018-03-09 23:27:26 +01:00
Loic Blot
6036f865cb Drop less performant Server::setBlockNotSent for ClientInterface::markBlockposAsNotSent 2018-03-09 23:27:26 +01:00
paramat
1a88c4b7a5 Getv3intfield: Fix logic of return bool 2018-03-09 03:16:25 +00:00
paramat
cbb9301bea Biomes: Add 'min_pos'/'max_pos' xyz biome limits
'y_min' and 'y_max' are still accepted for compatibility.
2018-03-09 03:16:25 +00:00
Loic Blot
c7c03ad7a6 Cleanup & bugfix
* ObjectRef::set_local_animation: fix wrong lua return (should push a boolean, currently returns nil)
* ObjectRef::set_eye_offset: fix wrong lua return (should push a boolean, currently returns nil)
* Fix various Server functions which depends on RemotePlayer objet and return true/false when player object is nil whereas it's a caller implementation error. Change those bool functions to void and add sanitize_check call instead. Current callers are always checking player object validity
* Optimize Server::setClouds : use CloudParams object ref instead of attribute deserialization from structure & perform RemotePlayer::setCloudParams directly in server class like many other calls
* Optimize Server::SendCloudParams: use CloudParams object ref instead of deserialized attributes
2018-03-08 23:00:17 +01:00
Loic Blot
c7656edaa5 Cleanup: drop Server::hudGetHotbarSelectedImage()
Call directly accessible RemotePlayer::getHotbarSelectedImage() from server api
2018-03-08 23:00:17 +01:00
Loic Blot
4be46aeeb1 Cleanup: drop Server::hudGetHotbarImage()
Call directly accessible RemotePlayer::getHotbarImage() from server api & make it const ref
2018-03-08 23:00:17 +01:00
Loic Blot
373f1bfb4a Cleanup: drop Server::hudGetHotbarItemcount()
Call directly accessible RemotePlayer::getHotbarItemcount() from server api
2018-03-08 23:00:17 +01:00
Loïc Blot
f35236afea
mods.cpp/h: little performance improvement in getModsInPath (+ codestyle) (#7108)
* mods.cpp/h: little performance improvement in getModsInPath
2018-03-08 20:03:43 +01:00
you
540e07e3ef Fix missing warningstream (or similar problem) (#7034)
Use the --color command line parameter instead of a setting for coloured logs

This fixes the missing warningstream bug, g_settings->get mustn't be used there.
Also, the decision about en- or disabling log colours fits better to the command line parameters than minetest settings.
2018-03-04 17:34:36 +01:00
Brian
929792e15e Allow for getting world name and path separately on the command line (#6555)
Change to --worldlist instead of --world list.

Gets rid of --worldpath parameter added as part of this pull request,
instead moving the listing function to a command --worldlist that
accepts either name, path, or both and prints out the corresponding
information.
2018-03-04 17:34:09 +01:00
paramat
48493a979b Gennotify: Add 'minetest.get_decoration_id' API
Returns the decoration ID for the provided decoration name string.
For use with gennotify, to know the decoration IDs for use in
'minetest.set_gen_notify'.
2018-03-03 23:00:08 +00:00
paramat
07622bf9b4 Generate Notifier: Clear events once after all 'on generated' functions 2018-03-03 22:59:49 +00:00
Gael-de-Sailly
b952d42000 MapgenValleys: Fixed submarine valleys shape 2018-03-03 22:59:26 +00:00
SmallJoker
ebbd158774
c_converter: Function template for numeric fields, add v3s16 default (#7090) 2018-03-03 10:59:43 +01:00
SmallJoker
a1cf8a127c
Slippery: Simplify, make more efficient (#7086)
Use already existing collision results for the nearest colliding node
Fix slippery effect in free_move mode
2018-03-03 10:59:14 +01:00
Vitaliy
f5fd4a0af1 Cleanup in flat lighting (#7051) 2018-03-03 10:58:45 +01:00
red-001
e7f1611991 Fix liquid post effect colour behaviour in third person view 2018-02-27 19:40:10 +00:00
paramat
c610643c4c Place schematic (on vmanip): Enable use of 'place center' flags
For 'place schematic' and 'place schematic on vmanip' APIs.
Fix 'place center' code to properly centre schematics.
Fix some comments.
2018-02-27 19:39:05 +00:00
paramat
6c9df2ffa7 CollisionMoveSimple: Collide with 'ignore' nodes 2018-02-26 17:21:45 +00:00
paramat
359a940dde SAO limits: Allow SAOs to exist outside the set 'mapgen limit' 2018-02-26 17:21:45 +00:00
nOOb3167
88a7160ad8 Fix CMake error (#7074) by bumping the required CMake version past 3.8.1 (#7075) 2018-02-25 12:26:41 +01:00
nOOb3167
4118e150f8 CMakeLists use the source_group command to improve look and feel when generating Visual Studio projects.
The TREE argument of source_group appears in CMake 3.8 therefore check for version.
2018-02-23 17:02:02 +01:00
nOOb3167
cbf891ef1d CMakeLists pass windows sources (manifest and resource file) to executable targets separately from common_SRCS 2018-02-23 17:02:02 +01:00
SmallJoker
57418111a8
Registration dialog: Larger text field with scrollbars (#7047)
Center text, text area doubled now
2018-02-23 17:01:05 +01:00
paramat
673f7196a2 Find nodes in area (under air): Raise volume limit and document it 2018-02-21 15:54:06 +00:00
paramat
f9ad061910 Vertical biome blend: Tune blend patterns 2018-02-20 15:28:52 +00:00
paramat
2bc7c5ff93 Dungeons: Add Y limits in all mapgens
Preserve the upper limit used in mgvalleys.
2018-02-20 15:25:37 +00:00
red-001
4bb41a19dc Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (#6878)
This doesn't check the fields in anyway whatsoever so it should only be seen as a way to mitigate exploits, a last line of defense to make it harder to exploit bugs in mods, not as a reason to not do all the usually checks.
2018-02-18 22:33:42 +01:00
sfan5
3f2e0c1206 Check argument types inside MetaDataRef Lua API (#7045) 2018-02-18 10:40:45 +01:00
red-001
ae6aed15cf Remove legacy chat network code. (#6954) 2018-02-17 19:23:21 +01:00
Vitaliy
11928b7af1 Render copyright notice: Fix name spelling (#7042) 2018-02-15 21:19:34 +01:00
red-001
338d645fcf Add on_auth_fail callback (#7039)
Called when a client fails to supply the correct password for the account it's attempting to login as.
2018-02-15 21:18:54 +01:00
paramat
861cfd8484 Dungeons: Avoid generation in multiple liquid nodes and 'airlike'
Previously only 'mapgen water source' and 'mapgen river water source'
were checked for. Games can use multiple liquid nodes defined for biomes,
many of which will not be aliased to those 2 mapgen aliases, causing
floating dungeons to generate in some liquids.

Now we check for liquid drawtype instead, so can remove liquid nodes
from dungeonparams.

Also check for 'airlike' drawtype instead of 'CONTENT_AIR' to avoid
generation in 'airlike' nodes in some rare situations. This will also be
needed for when we add definable biome air nodes.
2018-02-13 03:48:39 +00:00
Loic Blot
359c8f82ce
map.cpp: Initialize NodeNeighbor, set NeighborType to u8 & cleanup
Cleanup:
* Drop unused Map::transforming_liquid_size()
* NodeNeighbor must use const ref for v3s16
* Add a missing default in a switch case
2018-02-11 09:23:25 +01:00
Dániel Juhász
3face01a20 Node definition manager refactor (#7016)
* Rename IWritableNodeDefManager to NodeDefManager
* Make INodeDefManager functions const
* Use "const *NodeDefManager" instead of "*INodeDefManager"
* Remove unused INodeDefManager class
* Merge NodeDefManager and CNodeDefManager
* Document NodeDefManager
2018-02-10 21:04:16 +01:00
stujones11
617d94c803 Position entity nametags relative to selection-box (#7031) 2018-02-10 10:42:33 +01:00
SmallJoker
af89a25ff3 Fix 'Change Keys' menu crash caused by 501f936 2018-02-09 09:39:34 +01:00
ThomasMonroe314
501f936b37 Switch F3 to use 'enable_fog' setting 2018-02-08 15:40:16 +01:00
stujones11
e87b410a33 Include alpha channel reference in MaterialTypeParam 2018-02-08 15:38:49 +01:00
red-001
1e94a7feaf Move setlocale from Lua to C++. 2018-02-08 15:38:34 +01:00
PorygonZRocks
0e4c467a82 Add main_menu_style setting 2018-02-08 15:38:24 +01:00
lisacvuk
4f5090ff68 Make hud_get return aligment, offset and size. (#7006)
* Make hud_get return aligment and offset.

* Return size aswell.
2018-02-04 10:17:46 +01:00
Dániel Juhász
735fc2a1f2 Remove unused light updating code
Also remove the unit test that tests the removed algorithms.
2018-02-04 03:16:45 +00:00
sfan5
cf0bcebc76 Refine movement anticheat again (#7004)
* Account for walking speed in vertical dir
* Avoid undefined behaviour due to division-by-zero
2018-02-02 23:34:09 +01:00
number Zero
49b65a5593 Fix liquid bottoms not being rendered 2018-01-30 21:13:24 +01:00
Loïc Blot
584d00a01c
Add minetest.bulk_set_node call + optimize Environment::set_node call (#6958)
* Add minetest.bulk_set_node call + experimental mod unittest

* Optimize set_node function to prevent triple lookup on contentfeatures

Do only one lookup for old, and try to merge old and new lookup if node is same than previous node

* Add benchmark function + optimize vector population to have real results
2018-01-30 00:30:02 +01:00
sfan5
de2c40c8fc Apply physics overrides correctly during anticheat calculations (#6970) 2018-01-28 10:21:21 +01:00
SmallJoker
7d3295e21f [CSM] HUD Fix not updating server HUDs caused by 4f688d5 2018-01-26 21:27:30 +01:00
red-001
4f688d5616 Fix issues with earlier CSM HUD commit (#6940)
The CSM HUD PR caused some strange behavior including aborts due to parts of it using some slightly hacky code, the event refactor changing how events are processed and a minor oversight.
2018-01-26 16:05:47 +01:00
lisacvuk
62c10e3d08 Disable fall damage when "immortal" group set (#6946) 2018-01-23 19:28:21 +01:00
red-001
0425c6b8c8 CSM: Remove screenshot API
Reverted from commit 19960e26c672c6337f8c6ffbe27f2c6bca49750c
(* [CSM] add screenshot api lua)
2018-01-23 05:27:38 +00:00
red-001
d6050bee51 [CSM] Don't Load the package library (#6944)
Already removed by a latter step in CSM init so this just saves on pointless work.
2018-01-22 08:34:49 +01:00
Wayward One
684e70477d Change include from "cmake_config.h" to "config.h"
Fixes #6894
2018-01-21 23:25:04 +01:00
red-001
49ff1d2ea8 [CSM] Remove on_connect callback (#6941)
Fixes #6939
2018-01-21 18:27:27 +01:00
red-001
5dab742645 [CSM] Add functions to create particles and particlespawners. (#6072) 2018-01-20 23:31:53 +01:00
Loic Blot
99c9e7a986 Game refactor [4/X]: keycache is now owned by InputHandler
* Make InputHandler own the key cache
* Add a helper function InputHandler::cancelPressed to avoid multiple similar calls in game.cpp
* Move RandomInputHandler::step definition into cpp file
2018-01-20 16:38:38 +01:00
Loic Blot
f5a006dce7 Game refactor [3/X]: Move keycache to inputhandler 2018-01-20 16:38:38 +01:00
Loic Blot
64fe79b53b Game refactor [2/X]: Various moves (profilergraph, nodePlacementPrediction, create_formspec_menu)
* Move profilergraph to dedicated files
* Move nodePlacementPrediction to Game class
* Rename create_formspec_menu to GUIFormSpecMenu::create
2018-01-20 16:38:38 +01:00
Loic Blot
362323cdc2 Game/Input refactor [1/X]: make RealInputHandler handle joystick inputs with standard input
Joystick input is a RealInputHandler only usage, make it intelligent and handle the joystick with keyboard direct.
This permits to remove many getters in game which should be owned by RealInputHandler
2018-01-20 16:38:38 +01:00
red-001
9649e47214 [CSM] Add basic HUD manipulation. (#6067)
* [CSM] Add basic HUD manipulation.

Workaround for on_connect not working right now.
2018-01-20 14:09:58 +01:00
paramat
d45e5da8ca Biomes: Add 'get heat', 'get humidity', 'get biome data' APIs
'get biome data' returns biome id, heat and humidity.
Clean up nearby lines in lua_api.txt.
2018-01-16 08:47:07 +00:00
red-001
4c0d4e4105 Load a texturepack from the 'textures' subfolder of a game 2018-01-16 08:45:17 +00:00
paramat
142474196a Mapgen folder: Update and improve copyright information of files 2018-01-15 04:42:08 +00:00
Muhammad Rifqi Priyo Susanto
670f8afd18 Registration confirmation dialog: Fix grammar
Fixes commit 792752997c5ae2aaa4f54d0a2e2af2a96d7d1e9f.
2018-01-13 19:30:34 +00:00
Muhammad Rifqi Priyo Susanto
792752997c Add confirmation on new player registration (#6849)
* Attempt to add registration confirmation

Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist.
Also tell player about the server and chosen username.
Local game has localhost as IP address of the server.
Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background.
aborted -> connection_aborted

* Rewrite information message text

Client::promptConfirmRegister() -> Client::promptConfirmRegistration()
2018-01-13 12:07:16 +01:00
Lars Hofhansl
fad263dec9 Revert "Add an active object step time budget #6721"
This reverts commit 9c669016d1578a5c62f932c6ccb7a2b4b1e21f0a.
See #6907
2018-01-12 23:47:39 -08:00
Loic Blot
6f2fe8a554
Forget to fix non freetype build in StaticText 2018-01-12 08:36:38 +01:00
number Zero
b4df0d67dd Fix ambient occlusion and dark lines at mapblock borders 2018-01-12 05:44:11 +00:00
Pedro Gimeno
f77f19a941 Fix off-by-one in log output line length (#6896) 2018-01-09 19:07:14 +01:00
Pedro Gimeno
63f4ee21b0 Fix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice() 2018-01-08 20:32:15 +00:00
rubenwardy
0a83c42dfd
Fix naming conventions of noise userdata 2018-01-07 01:06:18 +00:00
Loic Blot
9146c6a50f Don't recalculate statustext initial color everytime & review fixes 2018-01-05 20:59:30 +01:00
Loic Blot
f40f4143df GameUI refactor (part 7/7): Finish to include profiler things to GameUI
Other changes:
* Add GameUI clarification comment
* Move force_fog_off & disable_camera_update flags from GameUI to Game, it's not UI related
* Properly init GameUI::Flags
* Move toggleChat toggleHud & toggleProfiler to GameUI
* Add gameui.cpp to LINT whitelist
2018-01-05 20:59:30 +01:00
Loic Blot
02f82eca0b GameUI refactor (part 6/X): Move Game::guitext_profiler & showStatusTextSimple to GameUI class
Other enhancements:
* Move showStatusTextSimple to GameUI class & rename to showTranslatedStatusText
2018-01-05 20:59:30 +01:00
Loic Blot
326b0faa5e GameUI refactor (part 5/X): Move Game::guitext_chat to GameUI class
Other enhancements:
* Move update_profiler_gui to Game class
* Move updateChat to Game class
2018-01-05 20:59:30 +01:00
Loic Blot
fe510d90c1 GameUI refactor (part 4/X): Move Game::guitext_status, Game::m_statustext, GameRunData::statustext_time to GameUI class
Other enhancements:
* Simplify setStatusText to showStatusText, as it shows the label too (preventing almost every setStatusText to call setStatusTextTime(0)
* Add unittests
2018-01-05 20:59:30 +01:00
Loic Blot
aab3b18e4b GameUI refactor (part 3/X): Move Game::guitext2, Game::guitext_info, Game::infotext to GameUI class
Other enhancements:
* Drop unused GameRunData::time_of_day
* Little GameUI::update code path optimizations
2018-01-05 20:59:30 +01:00
Loic Blot
3a772e7ed6 GameUI refactor (part 2/X): Move Game::guitext to GameUI + enhancements on StaticText
Other enhancements:
* C++ friendlyness for addStaticText() -> move to static StaticText::add()
2018-01-05 20:59:30 +01:00
Loic Blot
0ebaed430a GameUI refactor (part 1/X): GameUI object creation + GameUIFlags move to GameUI
Game class is too huge and has too specialization on various subjects, like UI, formspecs, client, renderer. Start to move UI related things to GameUI object and cleanup them

Other improvements:
* updateChat: more performance on error messages by remove string copies
* Initialize all game class members in definition instead of constructor (with nullptr instead of NULL)
* Drop unused Client::show{GameChat,GameHud,Profiler,GameFog}
* Add GameUI unittests
2018-01-05 20:59:30 +01:00
Paramat
549cfd9db8 Biomes: Add vertical biome blend (#6853)
Add 'vertical blend' parameter to biome registration that defines how
many nodes above the biome's 'y max' limit the blend will extend.
2018-01-05 00:10:55 +01:00
you
e7b44c3295 Fix Wstringop-overflow warning from util/srp.cpp (#6855)
* Fix Wstringop-overflow warning from util/srp.cpp
2018-01-04 14:25:20 +01:00
red-001
30821ad8de [CSM] Don't load the IO library. (#6087)
* [CSM] Don't load the IO library.

* Rename the function to match the Lua API function name and add a missing `const`

* Add a comment to explain some strange code and fix the other issues pointed out by shadowninja.
2018-01-04 08:21:12 +01:00
rubenwardy
2af47e6f5f Fix crash on can_bypass_userlimit returning non-boolean 2018-01-03 14:18:13 +00:00
paramat
2aad3be2cb Mgv7 floatlands: Add exponent parameter
Allows more control over shape of floatland mountain terrain.
Terrain shape is unchanged.
2018-01-03 04:05:55 +00:00
Thomas--S
f3b9d87076 Connected Nodeboxes: Add disconnected boxes
The `disconnected_*` boxes are the opposites of the `connect_*` ones,
i.e. when a node has no suitable neighbours on the respective side, the
according disconnected box is drawn.

* disconnected_top
* disconnected_bottom
* disconnected_front
* disconnected_left
* disconnected_back
* disconnected_right
* disconnected (when there is *no* neighbour)
* disconnected_sides (when there are *no* neighbours to the sides)
2018-01-03 04:05:21 +00:00
Hybrid Dog
345e1041a2 Tool.cpp/.h, lua_api/l_util.cpp: Tidy up code and remove dead code 2018-01-03 04:01:15 +00:00
Hybrid Dog
d7c1f6c92e Tool getDigParams: Fix selecting the best fitting time
Previously, time was compared with result_time before dividing it by
the level difference.
2018-01-03 03:58:11 +00:00
Loïc Blot
0d6b58a772
Add unittests on ActiveObject and BanManager class (#6866)
* Add unittests on ActiveObject and BanManager class

This also permit to fix a bug in ban manager setting bans modified when no modification occurs
2018-01-01 18:48:52 +01:00
rubenwardy
026ad912af Fix rounding error in g/set_node caused by truncation to float 2017-12-26 21:55:08 +00:00
rubenwardy
0bcc2f33eb Add check to pause game on lost window focus 2017-12-26 21:53:45 +00:00
Dániel Juhász
2153965cf9 Line_of_sight: Improve using VoxelLineIterator
This commit rewrites line_of_sight with VoxelLineIterator.
Stepsize is no longer needed, the results will be always accurate.
2017-12-26 21:51:32 +00:00
number Zero
189daf87a0 Fix dancing text 2017-12-25 15:00:50 +01:00
Rob Blanckaert
787cd15c14 - Clear colors when reading property info.
- Set vertex colors on upright_sprites.
2017-12-25 15:00:25 +01:00
nOOb3167
7354d0f3d8 Fix undefined behaviour on getting pointer to data in empty vector
`&vector[0]` is undefined if vector.empty(), causing build failure on MSVC
2017-12-22 10:39:25 +00:00
Vitaliy
257626ceed Fix wrong scrolling (#6809) 2017-12-21 20:58:06 +01:00
Jordan Irwin
18b921015a Allow 'default' parameter in 'settings:get_bool' function
Default value is used when the setting key is not found in the config
file. If default value is not set, 'nil' is returned.

#6188
2017-12-17 15:27:37 +00:00
Ezhh
26c7e98e3d Adjust default console height
#6797
2017-12-17 04:38:54 +00:00
Vitaliy
770eb09adc Fix items turning black (#6780) 2017-12-16 17:01:37 +01:00
paramat
f1d2bc0965 Zoom: Add 'disabled by game or mod' message 2017-12-14 20:59:54 +00:00