savilli
1f39948bc3
Fix BSD iconv declaration
2022-06-05 15:20:29 +02:00
JosiahWI
8e5bd82c4d
fix integer overflow in mapgen ( #11641 )
...
* fix integer overflow in mapgen
Some calculations involving the magic seed had overflow because the result of an intermediate arithmetic step could not fit in an s32. By making the magic seed unsigned, the other operand in the equation will be cast to unsigned, and possibly other operands or intermediate operands. This will result in unexpected behavior if an operand is negative, which is technically possible, but logically should not happen.
* comment noise2d bitshift
While working through the code I was momentarily concerned that the right bitshift in noise2d could fill ones in some cases. It turns out that with signed integers, this is indeed true, but this one is shifting an unsigned integer, so the behavior is as expected. I put a comment here to clarify this, in case someone else wonders the same thing down the line.
* noise2d and noise3d unittests
I have added 3 tests each for noise2d and noise3d, testing all zero inputs, a very large seed (case which caused UB in the old implementation) and some fun primes I picked for no particular reason. This should be sufficient to demonstrate that the behavior of the new implementation has not changed. I used uniform initialization because it is a good feature of C++11. Please do not explode.
* uncomment the noise2d bitshift
This reverts commit 583b77ee9f1ad6bb77340ebb5ba51eb9a88ff51c. It's a
well-defined language semantic; it doesn't need to be commented.
* code cleanliness
2022-06-03 20:51:58 -04:00
sfan5
575caa8015
Properly keep noclip state in Game and ClientMap
2022-06-03 21:48:52 +02:00
sfan5
5f3af7d18b
Remove obsolete eye_height related workaround
...
This was added a long time ago in 42bbd5c9ae06a8d8ffb7915599097ead6f848755
and meant to fix prevent the view becoming black when jumping into a
ceiling, this no longer happens today.
2022-06-03 21:48:52 +02:00
Wuzzy
6a6b579c54
Add helper functions to make tool usable n times ( #12047 )
2022-06-03 21:47:04 +02:00
sfan5
9fc018ded1
Fix use-after-free in node meta cleanup
...
bug introduced in 8908a9101608d3343023b470743ef63f1c44b0b7
2022-05-29 16:30:13 +02:00
sfan5
a9a207685a
Reject registering node with empty name
...
fixes #10769
2022-05-29 14:00:19 +02:00
sfan5
c1d03695d4
Minor code improvements around active block keeping
2022-05-29 14:00:19 +02:00
sfan5
ea74680df4
Immediately activate blocks when a player joins
...
issue: #10884
This makes it possible for objects to immediately be activated,
but doesn't guarantee it since blocks may still need be emerged.
2022-05-29 14:00:19 +02:00
stefan
bb671c3089
Remove debug.get/setmetatable from security whitelist
...
fixes #12216
2022-05-29 14:00:19 +02:00
sfan5
303329f2d6
Handle lua entity HP changes correctly (like punches)
...
fixes #11975
2022-05-29 14:00:19 +02:00
sfan5
85c824ed13
Make sure real disconnect reason isn't overwritten
...
bug introduced in 2f32044273d107e82fb1c35d4a0f616fa480cdf0
2022-05-29 14:00:19 +02:00
sfan5
998e4820c9
Fix linking with Postgres libs on older cmake versions
...
closes #12149
2022-05-29 14:00:19 +02:00
sfan5
5cd7b0c6e4
Remove remains of video mode querying
2022-05-29 14:00:19 +02:00
sfan5
8908a91016
Get rid of node metadata when it becomes empty
...
fixes #8943
2022-05-29 14:00:19 +02:00
sfan5
261a8db9dd
Optimize Server::sendMetadataChanged a bit
...
The distance check also never worked as intended, now fixed.
2022-05-29 14:00:19 +02:00
sfan5
f195db2d14
Add API function to invoke player respawn
...
closes #12272
2022-05-29 14:00:19 +02:00
sfan5
da71e86633
Protect a few more settings from being set from mods
...
Of those settings main_menu_script has concrete security impact, the rest are added out of abundance of caution.
2022-05-29 14:00:19 +02:00
sfan5
bccaf5fc2d
Map opaque waving leaves to allfaces drawtype
...
fixes #9842
2022-05-29 14:00:19 +02:00
sfan5
0c6a029413
Improve a translation string
...
fixes #11442
2022-05-29 14:00:19 +02:00
x2048
ef22c0206f
Force-update shadows when the world is changed ( #12364 )
2022-05-26 22:28:34 +02:00
sfan5
8b74257bf3
Reduce size of ContentFeatures structure
...
On my system this is a reduction from 4664 to 3704 bytes.
This is not for the sake of saving RAM but ensuring
commonly used structures fit into caches better.
2022-05-26 15:49:12 +02:00
sfan5
9a01581cdd
Get rid of global buffer that would ruin concurrent MapBlock serialization
2022-05-26 15:49:12 +02:00
sfan5
5d26ac0088
Improve code in mapblock_mesh.cpp a bit
2022-05-26 15:49:12 +02:00
x2048
ed26ed5a1f
Quantize light frustum calculations ( #12357 )
...
* Quantize light frustum calculations
Reduces shadow flicker
* Fix function name to match conventions
2022-05-23 23:45:18 +02:00
sfan5
5daafc9d33
Fix hash implementation for SerializedBlockCache
2022-05-23 22:50:58 +02:00
Richard Try
e16a470d59
Use unordered_map instead of map for MapSectors
2022-05-23 22:50:49 +02:00
paradust7
367a2d4b29
Add missing concurrency protection in logger ( #12325 )
2022-05-23 22:50:25 +02:00
Wuzzy
0f9c78c3eb
Fix no_texture.png for unknown nodes with ID < 125 ( #12329 )
2022-05-23 22:50:10 +02:00
paradust7
9f338f5a56
Replace all uses of core::list with std::list ( #12313 )
2022-05-22 00:11:59 +02:00
paradust7
2742fef458
Fixes needed to use irrArray backed by std::vector ( #12263 )
2022-05-22 00:11:49 +02:00
sfan5
2f32044273
Don't ignore server disconnects in client code
...
If the server stops talking to us without saying bye we
should actually end the in-game session with an error message.
2022-05-21 17:49:55 +02:00
sfan5
9ee3dc71f1
Optimize JSON string (de)serialization routines
...
stringstreams were shown to be slow when reading/writing single characters
and there is lots of potential by having functions perform on existing
buffers whenever possible.
2022-05-21 17:46:10 +02:00
sfan5
70dc23f996
Improve testSerializeJsonString unit tests
...
this also removes the requirement that / is escaped, there is
no reason for doing so.
2022-05-21 17:46:10 +02:00
rubenwardy
4e9e230e34
Deprecate game.conf name, use title instead ( #12030 )
2022-05-21 16:23:30 +01:00
x2048
dc45b85a54
Improve shadow filters ( #12195 )
...
* Rewrite shadow filtering for the new distortion
* Calculate penumbra radius using a single sample
* Avoid peter-panning effect due to filtering of short shadows
* Add adaptive filter quality for soft shadows
* Avoid sharp shadows on surfaces without normals (e.g. plants)
* Increase default and maximum soft shadow radius
* Make line numbers in shader errors match the code
2022-05-21 16:49:30 +02:00
x2048
a4ef62f5b2
Fix lighting of upright_sprite entities ( #12336 )
...
Use MeshNode materials to set the light since ReadOnlyMaterials is now false
2022-05-20 22:35:03 +02:00
x2048
604fb2b738
Fix lighting of the wield mesh ( #12341 )
...
* Assign node light to player before final color blend.
Fixes day/night lightbank ratio for wield meshes
* Update wield mesh light when changing mesh
2022-05-20 22:33:52 +02:00
paradust7
273bfee9a1
Use std::map instead of core::map ( #12301 )
2022-05-18 12:31:49 +02:00
savilli
af37f9dc54
Remove confusing message in keybindings menu
2022-05-17 20:11:08 +02:00
Dmitry Kostenko
8756b7a735
Initialize wield mesh color when wield_image is set
...
#12245
2022-05-15 21:44:55 +02:00
sfan5
ec9f157512
Use native packer to transfer globals into async env(s)
2022-05-10 22:37:42 +02:00
Jude Melton-Houghton
7f58887ae3
Support packing arbitrary graphs ( #12289 )
2022-05-10 22:37:33 +02:00
Jude Melton-Houghton
d17d7eba14
Fix cooking and fuel crafts with aliases
2022-05-10 22:37:05 +02:00
Octavian
0f8c46771e
Fix possible unreliable behavior due to uninitialized variables
2022-05-10 22:36:25 +02:00
sfan5
f5a8593b11
Add more Prometheus metrics ( #12274 )
2022-05-09 21:20:58 +02:00
Lars Müller
c2898f53bc
HUD: Update selection mesh every frame ( #12270 )
...
Fixes outdated selection boxes after entity property changes.
2022-05-09 20:43:47 +02:00
sfan5
a66e6d4dff
Consolidate some data structures in MapBlockMesh
2022-05-08 19:12:10 +02:00
sfan5
1fa4f58080
Cache serialized mapblocks during sending
...
This reduces the
(absolute) time spent in Server::SendBlocks() from 700ms to 300ms
(relative) share of MapBlock::serialize() from 80% to 60%
in a test setup with 10 players and many block changes
2022-05-08 19:12:10 +02:00
ROllerozxa
f128f4cba1
Fix mapblock geometry optimisation not working
...
Caused by the depth sorting PR marking not only transparent nodes to be ignored but also opaque ones with the TILE_MATERIAL_BASIC material type
2022-05-08 19:11:44 +02:00
paradust7
87472150bc
Add benchmarks for json string serialize/deserialize ( #12258 )
...
Co-authored-by: sfan5 <sfan5@live.de>
2022-05-06 21:17:16 +01:00
Froggo
45d318a773
Enable chat clickable weblinks by default ( #12115 )
...
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-05-06 21:15:16 +01:00
LoneWolfHT
47cf257c40
Fix Windows Visual Studio actions ( #11176 )
...
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-05-04 22:55:02 +01:00
x2048
cc56ebd90d
Avoid rendering invisible faces of simple nodeboxes ( #12262 )
...
* Skip rendering faces adjacent to opaque nodes
* Cancel out opposite faces of adjacent nodebox nodes of the same type
Fixes #6409
2022-05-04 23:44:55 +02:00
Lars Müller
89c82035d8
hud_get: Return precision field for waypoints ( #12215 )
2022-05-04 20:55:20 +02:00
SmallJoker
3ce5a68cd1
guiScalingFilter: Fix most memory leaks ( #12256 )
...
Calls to the cache function ended up creating a new texture regardless whether
the texture is already cached.
2022-05-04 20:55:13 +02:00
paradust7
0704ca0550
Make logging cost free when there is no output target ( #12247 )
...
The logging streams now do almost no work when there is no output target for them.
For example, if LL_VERBOSE has no output targets, then `verbosestream << x` will return a StreamProxy with a null target. Any further `<<` operations applied to it will do nothing.
2022-05-04 20:55:01 +02:00
sfan5
71a56c3552
Fix broken FPS/dtime counters in debug info
...
was broken by a89afe1229e327da3c397a3912b2d43d2196ea2b
2022-05-03 20:17:43 +02:00
sfan5
e7659883cc
Async environment for mods to do concurrent tasks ( #11131 )
2022-05-02 20:56:06 +02:00
sfan5
663c936428
Fix synchronization issue at thread start
...
If a newly started thread immediately exits then m_running would
immediately be set to false again and the caller would be stuck
waiting for m_running to become true forever.
Since a mutex for synchronizing startup already exists we can
simply move the while loop into it.
see also: #5134 which introduced m_start_finished_mutex
2022-05-02 20:54:55 +02:00
sfan5
56a558baf8
Refactor some Lua API functions in preparation for async env
2022-05-02 20:54:55 +02:00
sfan5
5362f472ff
Remove some unused variable from Lua class wrappers
2022-05-02 20:54:55 +02:00
x2048
c7bcebb628
Initialize wield mesh colors when changing item. ( #12254 )
...
Fixes #12245
2022-05-01 17:21:00 +02:00
sfan5
a89afe1229
Deal with compiler warnings
2022-04-30 16:49:41 +02:00
sfan5
faecff570c
Enable additional warning flags
...
also make them work with the RelWithDebInfo build type
2022-04-30 16:49:41 +02:00
sfan5
a65f6f07f3
Clean up some auth packet handling related code
2022-04-28 20:05:26 +02:00
sfan5
00f71c3b9d
Fix password changing getting stuck if wrong password is entered once
2022-04-28 19:55:36 +02:00
sfan5
3d2bf8fb02
Apply disallow_empty_password to password changes too
2022-04-28 19:55:36 +02:00
sfan5
391eec9ee7
Fix race condition in registration leading to duplicate create_auth calls
2022-04-28 19:55:36 +02:00
Oblomov
0d91ef78dd
Refactor local time getter functions ( #12221 )
...
This commit introduces mt_localtime() in src/gettime.h, a wrapper
around the OS-specific thread-safe versions of localtime()
(resp. localtime_s on Windows and localtime_r in other systems).
Per the Open Group recommendation,
«portable applications should call tzset() explicitly before using
ctime_r() or localtime_r() because setting timezone information is
optional for those functions», so we also do a one-shot
call of tzset() (_tzset() on Windows to avoid warning C4996).
The function is used to replace the localtime() calls in
getTimestamp() and makeScreenshot().
(The only reminaing call to localtime() in the tree now is the one in
the local copy of the Lua source code.)
2022-04-28 18:53:33 +02:00
paradust7
7e18a1f1be
Remove HW_buffer_counter after IrrlichtMt fix to remove HWBufferMap ( #12232 )
...
Keep code and use version check instead, for backwards compatibility
2022-04-28 18:52:19 +02:00
Wuzzy
7f4fc6f8a7
Show unknown node in debug screen ( #12230 )
2022-04-28 18:51:46 +02:00
Lars Müller
fccf1e2eac
Support CSS Color Module Level 4 ( #12204 )
2022-04-27 17:00:02 -04:00
Giuseppe Bilotta
b55d7cd45a
Fix worldaligned textures
...
As reported in #12197 , b0b9732359d43325c8bd820abeb8417353365a0c
introduces a regression in worldalign textures.
The specific change that seems to be responsible for this issue is the
change in order between the computation of the cuboid texture
coordinates and the box edge correction.
Fix #12197 by moving the box edge correction back to before the cuboid
texture coordinates, as it used to be.
2022-04-24 21:11:24 +02:00
Giuseppe Bilotta
23f981c458
Fix some textures not being sent correctly to older clients
...
Since b2eb44afc50976dc0954c868977b5829f3ff8a19, a texture defined as
`[combine:16x512:0,0=some_file.png;etc`
will not be sent correctly from a 5.5 server to a 5.4 client due to the
overeager detection of unsupported base modifier `[` introducing a
spurious `blank.png^` before the modifier.
Fix this by whitelisting which base modifiers can be passed through
unchanged to the client, and prefix `blank.png` for the others
(which at the moment is just [png:, but the list may grow larger
as new base modifiers are added.)
2022-04-24 21:10:23 +02:00
Lars Müller
4558793caf
Fix some debug info showing despite being disabled in the UI ( #12205 )
2022-04-21 21:45:47 +02:00
paradust7
7cea688a1c
Fix '[combine' when EVDF_TEXTURE_NPOT is disabled. ( #12187 )
...
Stop scaling images to POT immediately when loaded. The 'combine'
modifier hardcodes X and Y coordinates, and so behaves incorrectly
if applied to a scaled image. Images emitted by generateImage()
are already scaled to POT before being used as a texture, so
nothing should break.
2022-04-16 18:50:59 +02:00
SmallJoker
1d07a36552
upright_sprite: Fix walk animation in first person ( #12194 )
2022-04-15 18:55:08 +02:00
x2048
a5d29fa1d4
Implement shadow offsets for the new SM distortion function ( #12191 )
...
* Move shadow position calculation to vertex shaders
* Animate entire scene before rendering shadows to prevent lagging of shadows
* Remove unnecessary use of PolygonOffsetFactor
* Apply normal offset to both nodes and objects
* Rename getPerspectiveFactor -> applyPerspectiveDistortion
* Remove perspective distortion from fragment shaders
2022-04-14 22:49:30 +02:00
Lars Müller
1f27bf6380
Remove unneeded ObjectRef setter return values ( #12179 )
2022-04-10 23:20:51 +02:00
ShadowNinja
2d8eac4e0a
Don't test overflow behavior for VoxelArea extents
2022-04-08 14:55:21 +01:00
ShadowNinja
80db8804c7
Fix typo and update settings files
2022-04-08 14:55:21 +01:00
ShadowNinja
f5e54cd398
Fix OOB read in trim("")
2022-04-08 14:55:21 +01:00
ShadowNinja
c9317a16c5
Remove duplicate test for trim
2022-04-08 14:55:21 +01:00
ShadowNinja
dae6fe91a1
Update directory name sanitization
...
Only ASCII spaces have to be handles specially, and leading spaces are
also disallowed.
2022-04-08 14:55:21 +01:00
ShadowNinja
65fdc7ae50
Add tests for sanitizeDirName
2022-04-08 14:55:21 +01:00
ShadowNinja
00ebedad93
Add additional reserved directory names
2022-04-08 14:55:21 +01:00
ShadowNinja
8af332c9a7
Remove duplication in config.h
2022-04-08 14:55:21 +01:00
ShadowNinja
7993909fab
Spacing fixes
2022-04-08 14:55:21 +01:00
ShadowNinja
88b21a72f1
Treat empty XDG_CACHE_HOME same as unset
...
This matches the XDG base directory spec.
2022-04-08 14:55:21 +01:00
ShadowNinja
5683bb76cc
Fix compiler warnings
2022-04-08 14:55:21 +01:00
Dmitry Kostenko
23516acd0b
Remove obsolete commented code (follow up to #12166 )
2022-04-07 22:38:01 +02:00
x2048
48f7c5603e
Adjust shadowmap distortion to use entire SM texture ( #12166 )
2022-04-07 22:13:50 +02:00
Jude Melton-Houghton
0b5b2b2633
Disentangle map implementations ( #12148 )
...
Fixes violation of Liskov substitution principle
Fixes #12144
2022-04-07 21:58:04 +02:00
Jude Melton-Houghton
21f17e871e
Compile Lua as C++ ( #11683 )
...
Co-authored-by: sfan5 <sfan5@live.de>
2022-04-07 15:54:17 +01:00
sfan5
837cea6b4a
Fix -mwindows flag not being applied anymore
...
closes #12165
2022-04-03 21:44:22 +02:00
x2048
b0b9732359
Add depth sorting for node faces ( #11696 )
...
Use BSP tree to order transparent triangles
https://en.wikipedia.org/wiki/Binary_space_partitioning
2022-04-02 10:42:27 +02:00
Dmitry Kostenko
26c046a563
Increase the ratio between shadow range and viewing range
2022-04-02 10:39:43 +02:00
x2048
3dd7d7867b
Limit shadow map to the viewing range ( #12158 )
2022-03-31 22:40:59 +02:00
x2048
31578303a4
Tune shadow perspective distortion ( #12146 )
...
* Pass perspective distortion parameters as uniforms
* Set all perspective bias parameters via ShadowRenderer
* Recalibrate perspective distortion and shadow range to render less shadow geometry with the same quality and observed shadow distance
2022-03-31 22:40:06 +02:00
Jude Melton-Houghton
06d197cdd0
Store vector metatable in registry
2022-03-29 18:07:00 +02:00
Jude Melton-Houghton
11aab4198b
Optimize swapping nodes with equivalent lighting
2022-03-29 18:06:44 +02:00
DS
8d387433b1
Fix the documentation of InvRef:get_lists() and clean up code ( #12150 )
2022-03-29 18:06:16 +02:00
x2048
0f25fa7af6
Add API to control shadow intensity from the game/mod ( #11944 )
...
* Also Disable shadows when sun/moon is hidden. Fixes #11972 .
2022-03-26 16:58:26 +01:00
Daroc Alden
e54f5e544f
Fix memory leak in EmergeManager
...
EmergeManager keeps a copy of the BiomeGen that it creates, but
never deletes it.
2022-03-14 21:01:36 +01:00
Gregor Parzefall
289c3ff377
Fix footsteps for players whose collision box min y != 0 ( #12110 )
2022-03-14 21:01:18 +01:00
Daroc Alden
11f3f72f1c
Fix undefined behavior in TileLayer ( #12125 )
...
Initialize the values properly
2022-03-11 21:22:49 +01:00
sfan5
ad7c72c164
Remove direct OpenGL(ES) dependency
...
IrrlichtMt now provides this for us (see last commit)
fixes #12041
2022-03-09 22:37:34 +01:00
sfan5
51294163bb
Use Irrlicht bindings for GL call
2022-03-09 22:37:34 +01:00
Daroc Alden
598efbf7f9
Fix memory leak from SpatialAreaStore ( #12120 )
2022-03-09 19:28:12 +01:00
Dmitry Kostenko
4801bdf45a
Correct normal bias for entities
...
Remove use of magic constants.
Apply cameraOffset
Calculate distance projected on SM plane
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
8f652f4e31
Fix shadows for upright sprite nodes
...
Avoid using read only materials in mesh scene node, as
it confuses shadow renderer.
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
d2a3bed240
Avoid possible buffer overflow when checking face normals
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
e4583cb9b7
Use correct indexes when checking mesh normals
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
1175f48d05
Detect 'insane' normals in checkMeshNormals.
...
Detect non-zero normals which point in the opposite direction from the
face plane normal.
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
54dccc480e
Improve lighting of entities.
...
Pass correct natural & artificial light to the shaders
Use natural/artificial light ratio for correct rendering of shadows
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
4e39cdef94
Apply shadow texture to wield-based entities
...
For example, dropped nodes and items.
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
2bba53b2c3
Render shadows on entities.
...
Fixes problem with mod 'drawers'.
2022-03-07 23:45:26 +01:00
Lars Müller
b9e886726c
Readd basic_debug as a HUD flag ( #12020 )
2022-03-05 22:16:17 +01:00
Zughy
44fc888bd6
Allow get_sky to return a table ( #11963 )
2022-03-05 22:15:41 +01:00
sfan5
f2d1295fe6
Fix segfault with autoscale_mode (again)
...
closes #12100
This time add some asserts so there is no misunderstanding about the NULL-ness of layer->texture.
2022-03-02 17:49:45 +01:00
sfan5
04bd253390
Move the codebase to C++14
2022-02-26 14:39:41 +01:00
SmallJoker
f7311e0d97
Lua API documentation: Various fixes ( #12059 )
...
Change 1: Clarify when on_step collision information is provided
Change 2: Document PostgreSQL and Redis settings
Change 3: Overall AreaStore documentation improvements including consistent parameter naming based on community suggestions
2022-02-23 21:21:37 +01:00
DS
633e23bd65
FormspecMenu: make drawing of backgrounds less hacky ( #9517 )
2022-02-22 19:17:53 +01:00
sfan5
c31b301722
Clean up ClientReady packet handling
...
fixes #12073
2022-02-17 23:20:33 +01:00
pecksin
5d0b18a0d0
Use absolute value for bouncy in collision ( #11969 )
...
* use abs(bouncy) in collision
* test case for negative bouncy
* send abs(bouncy) to old clients
2022-02-16 17:06:00 -05:00
DS
a8707158a5
Allow to set the displayed item count and its alignment via meta ( #8448 )
...
* Allow to set the displayed item count and its offset via meta
* fix rect constr call
* devtest: add dump_item chatcommand
* fix rect2 constr call (sdim is a position (typedef for v2s32), not a dimension) and remove background because it would work now
* add missing utf8 to wide conversion
* rename to count_meta
2022-02-10 06:17:52 -05:00
Lars Müller
ad1da994b2
Increase max objects per block defaults ( #12055 )
2022-02-08 19:33:10 +01:00
sfan5
ba6fbc417e
Remove awful Mingw32 workarounds
...
Instead a warning is triggered if an affected compiler is detected.
closes #12022
2022-02-08 19:31:24 +01:00
Lars Müller
b9ee29a945
Send HUD flags only if changed
2022-02-08 19:28:32 +01:00
sfan5
afb061c374
Fix broken server startup if curl is disabled ( #12046 )
2022-02-04 20:29:28 +01:00
Lars Müller
1ee37148a8
Fix types of get_mapgen_setting_noiseparams ( #12025 )
2022-02-04 20:28:43 +01:00
Jude Melton-Houghton
1c73902005
Clean up ClientInterface locking
2022-02-03 11:43:51 +01:00
rubenwardy
c61998bd20
Revert "Disable dynamic shadows for the 5.5.0 release" ( #12032 )
2022-01-31 21:48:14 +00:00
Lars Mueller
1e4d6672be
Fix builtin statbar backgrounds
...
see #12000
2022-01-31 16:35:30 -05:00
rubenwardy
128f6359e9
Use virtual paths to specify exact mod to enable ( #11784 )
2022-01-30 22:40:53 +00:00
sfan5
484a4b518f
Add another very awful workaround to prevent a crash on Mingw32
...
This appears to be the same issue as 70df3d54f37c280f7afe60f6e964b8406577f39f.
Hopefully the next MinGW update will remove the need for this.
2022-01-30 22:57:44 +01:00
sfan5
5da204f5bc
Get rid of basic_debug
last minute
...
This isn't a revert but rather just disables the codepaths. also see #12011
2022-01-30 21:32:49 +01:00
sfan5
b66477c29f
Abort raycasts that go out-of-bounds ( #12006 )
2022-01-30 21:31:18 +01:00
sfan5
f69eead62e
Get rid of empty test file
2022-01-30 13:49:26 +01:00
sfan5
a9bccb964f
Raise max mapgen limit constant to align with mapblock size
2022-01-30 13:49:26 +01:00
SmallJoker
a27362de6a
Disable dynamic shadows for the 5.5.0 release
...
The dynamic shadows are yet not in the desired state to justify the
inclusion into version 5.5.0. A stable release is long overdue, hence
this allows fixes to continue in 5.6.0-dev to finally release an
acceptable version of the dynamic shadows feature.
Reverting this commit is highly recommended to proceed in development.
2022-01-29 18:42:55 -05:00
sfan5
66e8aae9f2
Get rid of legacy workaround in SQLite backend
...
tested on Android 11, fixes #11937
2022-01-28 17:16:02 +01:00
sfan5
91c6728eb8
Add game name to server status string
2022-01-28 17:15:10 +01:00
sfan5
22f0c66abb
Request execution on dedicated GPU on Windows
2022-01-27 22:30:02 +01:00
sfan5
7aea5cb88f
Enable high-res timers on Windows
...
This should fix issues like #11891 , caused by the fps limiting
code being unable to operate correctly.
2022-01-27 22:30:02 +01:00
sfan5
058846d687
Rework drawtime and related timekeeping code to use microseconds
2022-01-27 22:30:02 +01:00
Jude Melton-Houghton
fc161e757c
Automatically migrate client mod storage ( #11960 )
2022-01-27 22:24:30 +01:00
Lars Müller
fe0b2d02bf
Define control(bits) as "unset" for entities ( #11995 )
2022-01-27 22:22:58 +01:00
updatepo.sh
0d0786e414
Update example config and translation .cpp
2022-01-25 23:18:50 +01:00
Jude Melton-Houghton
1b2176a426
Cancel emerge callbacks on shutdown
2022-01-23 00:56:17 +01:00
Vincent Robinson
95a775cd3a
Bump formspec version ( #11980 )
2022-01-23 00:55:43 +01:00
sfan5
f8cef52ea0
Fix consistency of sky sun/moon texture behaviour
...
Also cleans up related code somewhat.
2022-01-22 11:18:34 -05:00
Zughy
37d80784dd
Allow resetting celestial vault elements by leaving its arguments empty ( #11922 )
2022-01-22 12:42:49 +01:00
sfan5
f66ed2c27f
Fix local animation not instantly updating after being set
2022-01-19 23:30:18 +01:00
sfan5
42839fa1db
Optimize folder handling in 'files' mod storage backend
...
This regressed in bf22569019749e421e8ffe0a73cff988a9a9c846.
2022-01-17 21:49:18 +01:00
Dmitry Kostenko
b6555ee6af
Reset override material in anaglyph
...
Reset override material properties before applying the color filter.
2022-01-16 13:10:33 +01:00
Alex
7c93b2d7a3
Give the ASCII console splash a facelift
2022-01-15 17:45:33 +01:00
sfan5
9a12e4499e
Minor improvements to Lua sandbox
2022-01-15 17:45:08 +01:00
sfan5
379473b670
Improve situation around race condition with dynamic_add_media during client join
2022-01-15 17:45:08 +01:00
savilli
72b14bd994
Don't call on_dieplayer callback two times ( #11874 )
2022-01-15 17:44:55 +01:00
SmallJoker
b2eb44afc5
Fix NodeDef backwards compatibility to 5.3.0 ( #11942 )
...
1. Fixes crashes on older clients when [png is used as base image
2. Fixes liquid type assertion fails on debug builds
2022-01-12 18:49:14 +01:00
sfan5
4c8c649779
Mainmenu game-related changes ( #11887 )
...
fixes:
* Switching between games does not immediately hide creative mode / damage buttons if so specified
* World creation menu has a game selection list even though the menu already provides a gamebar
* Showing gameid in world list is unnecessary
* Choice of mapgen parameters in menu persists between games (and was half-broken)
2022-01-09 21:15:35 +01:00
SmallJoker
8fab406c28
Formspec: Fix bgcolor and set_focus checks
2022-01-09 18:47:12 +01:00
sfan5
5eb45e1ea0
Restore pass-through of direction keys ( #11924 )
...
This moves relevant code into the PlayerControl class and gets rid of separate keyPressed variable.
2022-01-09 18:46:36 +01:00
sfan5
76dbd0d2d0
Fully remove bitmap font support ( #11863 )
...
Freetype is now a build requirement.
2022-01-08 14:53:25 +01:00
Jude Melton-Houghton
bf22569019
Use a database for mod storage ( #11763 )
2022-01-07 20:28:49 +02:00
Wuzzy
b81948a14c
Fix damage wraparound if very high damage ( #11872 )
2022-01-06 21:16:35 +01:00
Vincent Robinson
e39b159845
Base formspec coordinate size on padded screensize
2022-01-04 17:47:32 -08:00
SmallJoker
d33ab97434
Inventory: Add ServerEnv checks for calls during script init
...
This fixes 'minetest.get_inventory' calls to players or nodes during the load phase.
2022-01-04 18:39:27 +01:00
Wuzzy
84fdd369d4
Cap damage overlay duration to 1 second ( #11871 )
2022-01-02 22:14:02 -05:00
x2048
e030d9cff0
Recalculate normals before adding mesh to the scene
2022-01-02 14:32:13 +01:00
ShadowNinja
29d2b2ccd0
Print announce error response ( #11878 )
...
Fix HTTPFetch caller and request ID to 64 bits
Check that allocated caller ID is not DISCARD
Print body if serverlist request returns error
Don't print control characters from HTTP responses
Document special HTTPFetch caller IDs
Allow unicode to be printed
2022-01-01 22:44:56 +01:00
Vincent Robinson
544b9d5c72
Add padding[] element to formspecs ( #11821 )
2021-12-30 12:54:47 -08:00
Vincent Robinson
4a16ab3585
Improve TTF support for pixel-style fonts ( #11848 )
2021-12-30 12:54:21 -08:00
SmallJoker
14c7fae378
Formspec: Unify argument checks ( #11851 )
2021-12-29 23:58:26 +01:00
sfan5
0ea8df4d64
Socket-related cleanups
...
Improve error handling on Windows and reduce the size of the `Address` class
2021-12-29 23:01:26 +01:00
ROllerozxa
05573d6d8d
Remove unused (de)serializeAttributes() methods
2021-12-29 23:00:16 +01:00
Vitaliy
9b650b9efb
Add more neighbors on mesh update ( #6765 )
2021-12-29 22:59:53 +01:00
SmallJoker
481bb90eac
Fix segfault in drawItems() due to missing inventory list
...
This fixes a nullptr dereference when the specified inventory list is not known.
Happens when HUD elements are sent before the required inventory list is created.
2021-12-29 19:20:49 +01:00
savilli
0fa54531d4
Fix check that denies new clients from a singleplayer session
2021-12-28 14:08:21 +01:00
William L. DeRieux IV
cc64a0405a
Automatically use SSE registers for FP operations on i386 ( #11853 )
...
use SSE for floating-point operations to avoid issues with improper fp-rounding and
loss of precision when moving fp-data to incompatible or less-precise
registers/storage locations
https://gcc.gnu.org/wiki/FloatingPointMath
https://gcc.gnu.org/wiki/x87note
2021-12-28 14:06:24 +01:00
JosiahWI
7f6306ca96
Restore GCC 5 compatibility ( #11778 )
2021-12-28 14:05:49 +01:00
sfan5
49f7d2494c
Protect font initialization with mutex
...
fixes #4532
2021-12-18 20:38:33 +01:00
sfan5
b2409b14d0
Refactor trusted mod checking code
2021-12-18 20:37:13 +01:00
sfan5
f405459548
Remove setlocal and setupvalue from debug
table whitelist
...
It's likely that these could be used trick mods into revealing the insecure
environment even if they do everything right (which is already hard enough).
2021-12-18 20:37:13 +01:00
sfan5
8c99f2232b
Don't let HTTP API pass through untrusted function
...
This has been a problem since the first day, oops.
2021-12-18 20:37:13 +01:00
sfan5
8472141b79
Restructure devtest's unittests and run them in CI ( #11859 )
2021-12-18 20:36:43 +01:00
ROllerozxa
fcf86ded8f
Disable inventory if player's inventory formspec is blank ( #11827 )
2021-12-13 17:43:29 +01:00
Wuzzy
f71091bf52
Remove creative/damage info in Esc/Pause menu
2021-12-13 17:33:21 +01:00
sfan5
d9d219356a
Fix get_bone_position() on unset bones modifying their position
...
closes #11840
2021-12-06 00:06:49 +01:00
sfan5
ff934d538c
Fix various code & correctness issues ( #11815 )
2021-12-05 14:40:30 +01:00
SmallJoker
57a59ae92d
Network: Delete copy constructor and use std::move instead ( #11642 )
...
This is a follow-up change which disables class copies where possible to avoid unnecessary memory movements.
2021-12-01 20:22:33 +01:00
updatepo.sh
a157256706
Update minetest.conf.example and dummy cpp file
2021-11-27 19:41:45 +01:00
Corey Powell
413be76c63
Implemented disconnect_player ( #10492 )
...
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-11-26 19:19:40 +00:00
sfan5
87ab97da2a
Fix find_nodes_in_area misbehaving with out-of-map coordinates ( #11770 )
...
This ensures that no overflows (side-effects) happen within the find_nodes_in_area function by limiting coordinates like done in the map generation code.
2021-11-26 19:32:41 +01:00
Lejo
b9051386ae
Add Lua bitop library ( #9847 )
2021-11-26 19:31:05 +01:00
HybridDog
7a1464d783
Minimap: gamma-correct average texture colour calculation ( #9249 )
...
This calculates the average texture colour while heeding the sRGB colourspace.
2021-11-26 19:30:49 +01:00
sfan5
206e131854
Add backwards-compatible behaviour if too few CAO textures specified
...
(#11766 )
2021-11-22 17:27:49 +00:00
ExeVirus
52bfbf6ed0
Allow for Game-Specific Menu Music ( #11241 )
2021-11-22 17:26:46 +00:00
savilli
c9070e54bc
Fix local digging animation ( #11772 )
2021-11-19 22:31:04 +00:00
Elijah Duffy
cbf658f83d
Lua API: Add rmdir
, cpdir
and mvdir
( #9638 )
...
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-11-10 19:10:20 +01:00
Riceball LEE
693f98373b
Localize error messages in mainmenu ( #11495 )
...
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-11-01 12:27:46 +00:00
Wuzzy
6910c8d920
Fix number of tool uses being off by 1..32767 ( #11110 )
2021-10-31 22:33:33 +00:00
sfan5
0b95da7ad3
Automatically package MinGW runtime in buildbot
2021-10-31 22:32:48 +00:00
Isabelle COWAN-BERGMAN
532d5b21fd
Add joystick layout for DragonRise GameCube controller ( #11467 )
2021-10-31 19:17:47 +01:00
rubenwardy
8dfeba02b9
Fix crash on hypertext[] with not enough parts
...
The length check used < rather than <=, disabling the check when the formspec version
matches the client's FORMSPEC_API_VERSION.
Additionally, it was possible to have fewer parts than required if the formspec version
was greater than the client's FORMSPEC_API_VERSION.
2021-10-25 21:39:40 +01:00
sfan5
4ee643f472
Fixes around emerge handling
2021-10-25 20:31:52 +02:00
Jude Melton-Houghton
1e26e45530
Limit stepheight smoothing to the stepheight and stop smoothing during jumps ( #11705 )
2021-10-25 20:31:14 +02:00
sfan5
660e63dbae
Fix item duplication if player dies during interact callback (alternative) ( #11662 )
2021-10-25 20:30:27 +02:00
Wuzzy
d4b89eb106
Fix no_texture.png activation w/ simple leaves
2021-10-22 11:01:42 +02:00
Lars Müller
0d345dc1bd
Fix view bobbing not resetting when resting
...
partially fixes #11694 , also fixes #11692
2021-10-20 21:51:21 +02:00
Wuzzy
86b44ecd82
Add no_texture.png as fallback for unspecified textures
2021-10-20 21:50:16 +02:00
LoneWolfHT
c82ec8b210
Fix compiling on Windows with Visual Studio
2021-10-15 18:16:09 +02:00
rubenwardy
6901c5fae5
Use scoped app storage on Android ( #11466 )
...
From November 2021, the Play Store will no longer be accepting
apps which use the deprecated getExternalStorageDirectory() API.
Therefore, this commit replaces uses of deprecated API with the new
scoped API (`getExternalFilesDir()` and `getExternalCacheDir()`).
It also provides a temporary migration to move user data from the
shared external directory to new storage.
Fixes #2097 , #11417 and #11118
2021-10-15 18:14:48 +02:00
Wuzzy
fe7195badb
Make /status message easier to read
2021-10-15 18:13:57 +02:00
hecks
02292e03e4
Add embedded PNG texture modifier ( #11498 )
2021-10-13 17:51:37 +02:00
sfan5
fe5cb2cdfb
Remove broken timeout behaviour
...
Code that relies on `resend_count` was added in 7ea4a03 and 247a1eb, but never worked.
This was fixed in #11607 which caused the problem to surface.
Hence undo the first commit entirely and change the logic of the second.
2021-10-12 20:13:09 +02:00
savilli
6ea558f8ac
Fix player HP desync between client and server
2021-10-12 20:12:49 +02:00
SmallJoker
ecc6f4ba25
Remove a few unused functions reported by callcatcher ( #11658 )
2021-10-12 20:12:20 +02:00
sfan5
6de8d77e17
Move instead of copy during content install if possible
2021-10-07 00:20:01 +02:00
sfan5
2b5075f0e2
Move archive extraction in content store to async job
2021-10-07 00:20:01 +02:00
sfan5
2d5b7b5fb4
Make fs::extractZipFile thread-safe
2021-10-07 00:20:01 +02:00
emixa-d
9fab5d594c
Add "MINETEST_MOD_PATH" environment variable ( #11515 )
...
This adds an environment variable MINETEST_MOD_PATH.
When it exists, Minetest will look there for mods in addition to ~/.minetest/mods/.
2021-10-07 00:19:41 +02:00
lhofhansl
b4b9bee5f2
Reduce shadow jitter ( #11668 )
2021-10-05 21:54:01 +02:00
Wuzzy
bc71622d21
Fix crash when calling remove/kick/ban_player on start ( #11672 )
2021-10-05 21:53:47 +02:00
Jude Melton-Houghton
5aa95fef10
Make MetaDataRef:get return nil instead of nothing ( #11666 )
2021-10-05 15:38:33 +03:00
Wuzzy
4fca601e0c
Add get_server_max_lag() ( #11671 )
2021-10-05 15:35:55 +03:00
x2048
982e03f60d
Improvements to colored shadows ( #11516 )
2021-10-01 16:21:53 +02:00
Wuzzy
21113ad410
Split liquid_viscosity to liquid_viscosity and move_resistance ( #10810 )
2021-10-01 16:21:24 +02:00
x2048
f5040707fe
Order drawlist by distance to the camera when rendering ( #11651 )
2021-09-27 17:46:08 +02:00
SmallJoker
d51d0f3a5a
Various code improvements
...
* Camera: Fix division by 0 after view bobbing
* Remove ignored constness
* Connection: Improve window size range limits
2021-09-27 17:45:44 +02:00
TheBrokenRail
3dcf9e963e
Touch UI support for desktop builds ( #10729 )
2021-09-26 18:04:09 +02:00
sfan5
9f85862b7c
Fix "Could not create ITexture, texture needs to have a non-empty name" warning
2021-09-22 18:43:40 +02:00
nia
2628316842
Fix src/util/string.cpp on NetBSD
...
- iconv() prototype changed from traditional Unix defintion
to POSIX definition in 9.99.x.
- wchar_t is not a valid character set for iconv. Share code
with Android for using UTF-32.
2021-09-19 20:23:52 +02:00
DS
e79d6154fc
Fix client-side performance of chat UI ( #11612 )
2021-09-19 20:23:35 +02:00
Lars Müller
40ea4ddef1
Fix HUD multiline text alignment ( #10795 )
2021-09-19 20:23:22 +02:00
sfan5
e0529da5c8
Fix trivial typos
2021-09-19 13:54:20 +02:00
sfan5
ad076ede85
Add preprocessor check for weird (incorrect) build configurations
2021-09-19 13:53:44 +02:00
sfan5
fd8a8501bc
Shave off buffer copies in networking code ( #11607 )
2021-09-17 18:14:25 +02:00
sfan5
ea250ff5c5
Fix GLES2 discard behaviour (texture transparency)
2021-09-17 18:13:50 +02:00
HybridDog
d1e0f73b77
Hide Wself-assign-overloaded and Wself-move unittest compilation warnings
...
The warnings occured with the clang compiler
2021-09-17 18:13:04 +02:00
ROllerozxa
6fedee16f0
Readd TGA to the list of valid texture formats. ( #11598 )
2021-09-15 11:12:24 +01:00
Lars Müller
719a12ecac
Chop game background in mainmenu ( #10796 )
2021-09-14 20:46:02 +02:00
sfan5
4feb799b7e
Add Windows-specific CreateTempFile() implementation
...
Once again MSVC is the only compiler not supporting basic POSIX functionality.
2021-09-14 20:45:41 +02:00
sfan5
b480a3e9fd
Fix broken handling of NodemetaChanged packets
...
fixes #11610
2021-09-12 14:42:01 +02:00
sfan5
75bf9b75ca
Make sure relevant std::stringstreams are set to binary
2021-09-11 21:06:57 +02:00
sfan5
766e885a1b
Clean up/improve some scriptapi error handling code
2021-09-10 23:16:46 +02:00
Jude Melton-Houghton
7423c4c11e
Send to clients node metadata that changed to become empty ( #11597 )
2021-09-10 23:16:34 +02:00
sfan5
bbfae0cc67
Dynamic_Add_Media v2 ( #11550 )
2021-09-09 16:51:35 +02:00
NeroBurner
7f3401412e
Fix movement in random_input mode ( #11592 )
2021-09-05 19:58:50 +02:00
sfan5
31d2b9edcd
Don't look for zlib and zstd manually on Windows
2021-09-01 22:20:38 +02:00
lhofhansl
d1624a5521
Switch MapBlock compression to zstd ( #10788 )
...
* Add zstd support.
* Rearrange serialization order
* Compress entire mapblock
Co-authored-by: sfan5 <sfan5@live.de>
2021-08-31 17:32:31 -07:00
pecksin
040aed37ab
Remove closing paren as weblink delimiter
2021-08-29 19:30:33 +02:00
sfan5
6a1424f2b1
Async-related script cleanups
2021-08-28 12:15:12 +02:00
savilli
3f1adb49ae
Remove redundant on_dieplayer calls
2021-08-28 12:14:16 +02:00
NeroBurner
1d69a23ba4
Joystick sensitivity for player movement ( #11262 )
...
This commit deprecates the forward, backward, left, and right binary
inputs currently used for player movement in the PlayerControl struct.
In their place, it adds the movement_speed and movement_direction
values, which represents the player movement is a polar coordinate
system.
movement_speed is a scalar from 0.0 to 1.0. movement_direction is
an angle from 0 to +-Pi:
FWD
0
_
LFT / \ RGT
-Pi/2 | | +Pi/2
\_/
+-Pi
BCK
Boolean movement bits will still be set for server telegrams and
Lua script invocations to provide full backward compatibility.
When generating these values from an analog input, a direction is
considered active when it is 22.5 degrees away from either
orthogonal axis.
Co-authored-by: Markus Koch <markus@notsyncing.net>
Co-authored-by: sfan5 <sfan5@live.de>
2021-08-27 20:24:24 +02:00
Wuzzy
63e8224636
Fix 6th line of infotext being cut off in half ( #11456 )
2021-08-23 22:13:17 +02:00
SmallJoker
eea488ed75
Inventory: Fix rare out-of-bounds access
...
Co-authored-by: Thomas--S <info@thomas-stangl.de>
2021-08-23 14:10:17 +02:00
DS
dad87a360b
Use utf-8 for the Irrlicht clipboard ( #11538 )
2021-08-23 14:09:50 +02:00
SmallJoker
0c1e9603db
HUD: Reject and warn on invalid stat types ( #11548 )
...
This comes into play on older servers which do not know the "stat" type.
Warnings are only logged once to avoid spam within globalstep callbacks
2021-08-21 20:04:04 +02:00
Wuzzy
6fd8aede48
Show status message when changing block bounds ( #11556 )
2021-08-21 13:53:49 +02:00
sfan5
e7b05beb7d
Validate staticdata and object property length limits ( #11511 )
...
Some games provide users with enough freedom to create items
with metadata longer than 64KB, preventing this from causing
issues is on them but we'll still do the minimum not to abort
the server if this happens.
2021-08-19 20:14:22 +02:00
Wuzzy
1320c51d8e
Fix scaled world-aligned textures being aligned inconsistently for non-normal drawtypes
2021-08-19 20:14:04 +02:00
rubenwardy
24b66dede0
Add fwgettext util function
2021-08-19 20:13:25 +02:00
SmallJoker
3b842a7e02
Fix inconsistent integer comparison warnings
2021-08-17 20:00:47 +02:00
Lean Rada
328d949225
Start sprite animation at the beginning ( #11509 )
...
When setting a sprite animation, do not keep the last animation's frame number. Setting a new animation should start the animation at the start of the new animation.
2021-08-16 17:56:38 +02:00
sfan5
4419e311a9
Cap iterations of imageCleanTransparent sanely
...
fixes #11513 performance regression with 256x textures
2021-08-16 17:56:11 +02:00
Treer
963fbd1572
Fix access violation in create_schematic() ( #11534 )
...
fixes #11533
Schematics saved from y locations greater than 0 would cause an access violation if layer probabilities were specified
2021-08-16 17:55:35 +02:00
SmallJoker
b3b075ea02
Fix segfault caused by shadow map on exit
2021-08-12 20:08:39 +02:00
x2048
442e48b84f
Move updating shadows outside of RenderingCore::drawAll. ( #11491 )
...
Fixes indirect rendering modes such as some 3D modes mentioned in #11437 and undersampled rendering.
Does not fully fix anaglyph 3d mode.
2021-08-12 20:07:09 +02:00
DS
0709946c75
Fix a segfault caused by wrong textdomain lines in translation files ( #11530 )
...
* The problem were lines like these:
"# textdomain:"
* str_split does not add an empty last part if there is a delimiter
at the end, but this was probably assumed here.
2021-08-12 20:06:18 +02:00
DS
1ab29f1716
Fix GUIEditBoxWithScrollBar using a smaller steps than intlGUIEditBox ( #11519 )
2021-08-08 18:59:45 +02:00
Pevernow
c6eddb0bae
Gettext support on Android ( #11435 )
...
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: =?UTF-8?q?Olivier=20Samyn=20=F0=9F=8E=BB?= <code@oleastre.be>
2021-08-08 18:59:07 +02:00
SmallJoker
4a3728d828
OpenAL: Free buffers on quit
2021-08-03 20:29:55 +02:00
SmallJoker
32cb9d0828
Mods: Combine mod loading checks and deprection logging ( #11503 )
...
This limits the logged deprecation messages to the mods that are loaded
Unifies the mod naming convention check for CSM & SSM
2021-07-31 19:54:52 +02:00
Wuzzy
e7cd4cfa25
Fix /emergeblocks crashing in debug builds ( #11461 )
...
The reason for the bug was an u16 overflow, thus failing the assert. This only happened in Debug build but not in Release builds.
2021-07-31 19:54:40 +02:00
hecks
1e2b638881
Remove unsupported formats from the media enumerator
2021-07-29 22:42:47 +02:00
hecktest
28c98f9fa5
Remove unsupported extensions from list in tile.cpp
2021-07-29 21:47:08 +02:00
hecks
80d12dbedb
Add a simple PNG image encoder with Lua API ( #11485 )
...
* Add a simple PNG image encoder with Lua API
Add ColorSpec to RGBA converter
Make a safety wrapper for the encoder
Create devtest examples
Co-authored-by: hecktest <>
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-29 05:10:10 +02:00
sfan5
6e8aebf432
Add bold, italic and monospace font styling for HUD text elements ( #11478 )
...
Co-authored-by: Elias Fleckenstein <eliasfleckenstein@web.de>
2021-07-27 19:11:46 +02:00
JosiahWI
cf136914cf
Take advantage of IrrlichtMt CMake target ( #11287 )
...
With the CMake changes to IrrlichtMt, it's now possible to use a target for IrrlichtMt.
Besides greatly improving the ease of setting up IrrlichtMt for users building the client, it removes the need for Minetest's CMake to include transitive dependencies such as image libraries, cleaning it up a tiny bit. The PR works by finding the IrrlichtMt package and linking to the target it provides. If the package isn't found and it isn't building the client, it will still fall back to using just the headers of old Irrlicht or IrrlichtMt.
2021-07-27 19:11:27 +02:00
x2048
bf3acbf388
Distribute shadow map update over multiple frames to reduce stutter ( #11422 )
...
Reduces stutter and freezes when playing.
* Maintains double SM and SM Color textures
* Light frustum update triggers incremental generation of shadow map into secondary 'future' textures.
* Every incremental update renders a portion of the shadow draw list (split equally).
* After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen.
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-25 12:36:23 +02:00
hecks
a049e8267f
Remove unused ITextSceneNode header ( #11476 )
...
Co-authored-by: hecktest <>
2021-07-22 00:55:20 +02:00
hecks
850293bae6
Remove unused header includes
2021-07-21 22:07:13 +02:00
sfan5
6caed7073c
Fix no locales being generated when APPLY_LOCALE_BLACKLIST=0
...
Also enable `ky` which appears to work fine.
2021-07-20 17:58:47 +02:00
SmallJoker
40bee27e56
CSM: Do not index files within hidden directories
...
CSM would previously scan for files within .git or .svn directories, and also special files such as .gitignore
2021-07-17 16:44:06 +02:00
Wuzzy
f4d8cc0f0b
Add wallmounted support for plantlike and plantlike_rooted nodes ( #11379 )
2021-07-15 21:19:59 +02:00
Wuzzy
b7b5aad027
Fix revoke debug privs not reliably turn off stuff ( #11409 )
2021-07-12 20:32:18 +02:00
sfan5
5c89a0e12a
Fix build on Ubuntu 16.04 and macOS
...
Apparently the C++ standard library is supposed to provide
specializations of std::hash for enums (even in C++11)
but those don't always work for whatever reason.
2021-07-12 12:03:39 +02:00
x2048
effb5356ca
Avoid draw list and shadow map update in the same frame to reduce dtime jitter ( #11393 )
...
* Separate draw list and shadows update to reduce jitter
* Avoid draw list update and shadow update in the same frame
* Force-update shadows when camera offset changes
2021-07-11 10:57:29 -07:00
x2048
f5706d444b
Improve shadow rendering with non-default camera FOV ( #11385 )
...
* Adjust minimum filter radius for perspective
* Expand shadow frustum when camera FOV changes, reuse FOV distance adjustment from numeric.cpp
* Read shadow_soft_radius setting as float
* Use adaptive filter radius to accomodate for PSM distortion
* Adjust filter radius for texture resolution
2021-07-11 08:15:19 -07:00
hecks
1d25d1f7ad
Refactor video driver name retrieval ( #11413 )
...
Co-authored-by: hecktest <>
2021-07-11 09:50:34 +02:00
SmallJoker
b93bbfde2c
Script API: Fix segfault in remove_detached_inventory
...
when minetest.remove_detached_inventory is called on script init, the environment is yet not set up,
hence m_env is still nullptr until all scripts are loaded
2021-07-10 14:34:36 +02:00
Warr1024
52128ae11e
Add API for mods to hook liquid transformation events ( #11405 )
...
Add API for mods to hook liquid transformation events
Without this API, there is no reliable way for mods to be
notified when liquid transform modifies nodes and mods are
forced to poll for changes. This allows mods to detect
changes to flowing liquid nodes and liquid renewal using
event-driven logic.
2021-07-09 09:08:40 -04:00
SmallJoker
062fd2190e
Auth API: Error when accessed prior to ServerEnv init ( #11398 )
2021-06-30 20:42:26 +02:00
hecks
827a7852e2
Remove unsupported video drivers ( #11395 )
...
This completely removes any mention of the software and D3D drivers from MT, preventing the user from accidentally attempting to use them. Users who need a software renderer should be asked to install Mesa drivers which offer superior fidelity and performance over the 'burningsvideo' driver.
2021-06-30 20:42:15 +02:00
SmallJoker
f2fd443262
Inventory: Make addList() consistent ( #11382 )
...
Fixes list clearing for inv:set_list() using same size, since 2db6b07.
addList() now clears the list in all cases. Use setSize() to resize without clearing.
2021-06-30 20:39:38 +02:00
Wuzzy
63fc728a84
Require 'basic_debug' priv to view gameplay-relevant debug info, require 'debug' priv to view wireframe ( #9315 )
...
Fixes #7245 .
2021-06-24 21:21:19 +03:00
Wuzzy
51bf4a6e26
Perform some quality assurance for translation strings ( #11375 )
2021-06-23 17:35:50 +01:00
sfan5
c60a146e22
Rework Settings to support arbitrary hierarchies ( #11352 )
2021-06-23 15:22:31 +02:00
SmallJoker
a8b7c8ff38
Server: Ignore whitespace-only chat messages
2021-06-22 19:47:18 +02:00
SmallJoker
2db6b07de1
Inventory: show error on invalid list names ( #11368 )
2021-06-20 17:21:50 +02:00
sfence
b10091be9b
Add min_y and max_y checks for Active Block Modifiers (ABM) ( #11333 )
...
This check can be used by ABM to reduce CPU usage.
2021-06-20 17:21:35 +02:00
pecksin
1805775f3d
Make chat web links clickable ( #11092 )
...
If enabled in minetest.conf, provides colored, clickable (middle-mouse or ctrl-left-mouse) weblinks in chat output, to open the OS' default web browser.
2021-06-20 17:20:24 +02:00
updatepo.sh
cb5dd0dae4
Update minetest.conf.example and dummy translation file
2021-06-16 18:27:45 +02:00
sfan5
edf098db63
Drop --videomodes, fullscreen_bpp and high_precision_fpu settings
...
These have been pointless for a while.
2021-06-16 17:41:34 +02:00
Liso
c47313db65
Shadow mapping render pass ( #11244 )
...
Co-authored-by: x2048 <codeforsmile@gmail.com>
2021-06-06 18:51:21 +02:00
DS
8f085e02a1
Add metatables to lua vectors ( #11039 )
...
Add backwards-compatible metatable functions for vectors.
2021-06-04 21:22:33 +02:00
sfan5
e15cae9fa0
fontengine: Fix crash loading PNG/XML fonts from paths without dot
...
fixes #11096
2021-06-01 19:47:41 +02:00
SmallJoker
c9144ae5e2
Add core.compare_block_status function ( #11247 )
...
Makes it possible to check the status of the mapblock in a future-extensible way.
2021-05-30 20:24:12 +02:00
Lars Müller
89f3991351
Fix base64 validation and add unittests ( #10515 )
...
Implement proper padding character checks
2021-05-30 20:23:12 +02:00
sfan5
f30dcdb504
Fix procession ordering issue in content_cao
2021-05-30 11:40:14 +02:00
sfan5
758e3aa1ca
Fix background color of formspec text fields
2021-05-30 11:40:14 +02:00
sfan5
a0047d6edc
script: Replace calls to depreated luaL_openlib
2021-05-30 11:40:14 +02:00
sfan5
a12017c564
Provide exact error message if postgres connection string missing
2021-05-30 11:40:14 +02:00
SmallJoker
5bf72468f3
UnitSAO: Prevent circular attachments
2021-05-29 11:44:48 +02:00
Wuzzy
ff48619a85
Fix cloud fog being broken for high clouds
2021-05-29 11:44:31 +02:00
savilli
673c29f7ea
Fix client crash on when con::PeerNotFoundException is thrown ( #11286 )
2021-05-24 19:40:35 +02:00
SmallJoker
93f43c890b
GUIEditBox: Allow selecting and copying read-only texts
2021-05-22 14:39:41 +02:00
sfan5
b56a028d6b
Fix curl_timeout being ignored for Lua HTTP fetches
2021-05-17 17:12:30 +02:00
Dmitry Marakasov
53dca4f95f
Use --image-base instead of -Ttext-segment for lld linker on FreeBSD ( #9367 ) ( #11263 )
2021-05-15 10:15:03 +02:00
sfan5
2443f1e235
Fix overlays for 2D-drawn items
...
fixes #11248
2021-05-08 19:44:43 +02:00
lhofhansl
7c2826cbc0
Fix build for newer versions of GCC ( #11246 )
2021-05-06 19:24:30 +02:00
Loic Blot
225d4541ff
fix: extractZipFile is not part of Client but more generic.
...
This solve a crash from mainmenu while extracting the zip
2021-05-06 16:01:52 +02:00
sfan5
08f1a7fbed
Use Irrlicht functions to query npot texture support
2021-05-05 22:49:44 +02:00
Loic Blot
de85bc9227
fix: some code tidy about includes & irr namespaces
2021-05-03 19:49:19 +02:00
Loic Blot
48d5abd5be
refacto: remove get_gui_env & draw_load_screen from RenderingEngine singleton
2021-05-03 19:49:19 +02:00
Loic Blot
a93712458b
fix: don't use RenderingEngine singleton when it's possible
2021-05-03 19:49:19 +02:00
Loic Blot
5a02c376ea
refacto: RenderingEngine::get_scene_manager() is now not callable from singleton
...
This permits to make evidence that we have some bad object passing on various code parts. I fixed majority of them to reduce the scope of passed objects
Unfortunately, for some edge cases i should have to expose ISceneManager from client, this should be fixed in the future when our POO will be cleaner client side (we have a mix of rendering and processing in majority of the client objects, it works but it's not clean)
2021-05-03 19:49:19 +02:00
Loic Blot
ccdd886e27
refacto: Hud: make driver, client, player, inventory, tsrc private & drop unused guienv
...
also fix c_content.h, on client it includes the src/client/hud.h instead of src/hud.h, which leads to wrong file dependency on the lua stack
2021-05-03 19:49:19 +02:00
Loic Blot
a47a00228b
refacto: drop unused Hud::smgr
2021-05-03 19:49:19 +02:00
Loic Blot
809e68fdc0
refacto: don't use RenderingEngine singleton on CAO
...
* we don't need on CAO side more than SceneManager, and temporary. Pass only required SceneManager as a parameter to build CAO and add them to the current scene
* Use temporary the RenderingEngine singleton from ClientEnvironment, waitfor for better solution
* Make ClientActiveObject::addToScene virtual function mandatory to be defined by children to ensure we don't forget to properly define it
2021-05-03 19:49:19 +02:00
Loic Blot
1bc855646e
refacto: protect some RenderingEngine::get_scene_manager
...
* protect it from Camera, Sky, ClientMap object calls
* rename Game::sky to Game::m_sky
2021-05-03 19:49:19 +02:00
Loic Blot
258101a910
refacto: RenderingEngine is now better hidden
...
* No more access to the singleton instance from everywhere (RenderingEngine::get_instance dropped)
* RenderingEngine::get_timer_time is now non static
* RenderingEngine::draw_menu_scene is now non static
* RenderingEngine::draw_scene is now non static
* RenderingEngine::{initialize,finalize} are now non static
* RenderingEngine::run is now non static
* RenderingEngine::getWindowSize now have a static helper. It was mandatory to hide the global get_instance access
2021-05-03 19:49:19 +02:00
Loic Blot
74125a74d3
refacto: hide mesh_cache inside the rendering engine
...
This permit cleaner access to meshCache and ensure we don't access to it from all the code
2021-05-03 19:49:19 +02:00
Loic Blot
e0716384d6
refacto: add RenderingEngine::cleanupMeshCache
...
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
2021-05-03 19:49:19 +02:00
Loic Blot
e34d28af9f
refacto: rendering engine singleton removal step 1 (filesystem)
...
Make the RenderingEngine filesystem member non accessible from everywhere
This permits also to determine that some lua code has directly a logic to extract zip file. Move this logic inside client, it's not the lua stack role to perform a such complex operation
Found also another irrlicht <1.8 compat code to remove
2021-05-03 19:49:19 +02:00
Loic Blot
bc1888ff21
fix: drop old irrlicht <1.8 compat on Client::loadMedia
2021-05-03 19:49:19 +02:00
Vincent Robinson
074e6a67de
Add minetest.colorspec_to_colorstring
( #10425 )
2021-04-23 21:37:24 +02:00
sfan5
3e2145d662
Fix two CMake build issues
...
* PostgreSQL fallback code missed the includes (closes #11219 )
* build failed when Freetype enabled but not found
2021-04-21 20:26:43 +02:00
sfan5
a24899bf2d
Look for PostgreSQL library properly and fix CI
2021-04-20 19:50:34 +02:00
sfan5
1da73418cd
Enable cleanTransparent filter for mipmapping and improve its' algorithm ( #11145 )
2021-04-20 19:50:19 +02:00
Wuzzy
90a7bd6a0a
Put torch/signlike node on floor if no paramtype2 ( #11074 )
2021-04-20 19:50:03 +02:00
Seth Traverse
16e5b39e1d
Add a key to toggle map block bounds ( #11172 )
...
It's often useful to know where the map block boundaries are for doing server admin work and the like.
Adds three modes: single mapblock, range of 5, and disabled.
2021-04-20 19:23:31 +02:00
sfan5
0077982fb7
GLES fixes ( #11205 )
...
* Consistently set float precision for GLES
* Enable DPI scaling on Windows+GLES
2021-04-18 16:07:13 +02:00
sfan5
623f0a8613
Isolate library tables between sandbox and insecure env
2021-04-18 16:06:42 +02:00
sfan5
52c0384bd1
Fix ignored OpenGLES2 include path and cmake warning
2021-04-16 23:39:16 +02:00
SmallJoker
bbe120308f
Attachments: Avoid data loss caused by set_attach() in callbacks ( #11181 )
2021-04-13 20:02:18 +02:00
sfan5
4d0fef8ae8
Buildbot changes to allow out-of-tree builds ( #11180 )
...
* Do proper out-of-tree builds with buildbot
* Don't write to bin/ for cross builds
* This allows safely building multiple builds from the same source dir, e.g. with the buildbot.
* Disable Gettext (by default) and Freetype (entirely) for server builds
2021-04-11 17:10:06 +02:00
Wuzzy
4b8209d9a4
Modifying fall damage via armor group ( #11080 )
...
Adds a new fall_damage_add_percent armor group which influences the fall damage in addition to the existing node group.
2021-04-11 17:09:37 +02:00
sfan5
0abc1e98ed
Fix server favorites not saving when client/serverlist/ doesn't exist already ( #11152 )
2021-04-09 22:36:10 +02:00
Wuzzy
e89e6c8380
Don't reseed stars when changing star count
2021-04-09 22:33:45 +02:00
yw05
85163b531f
Make edit boxes respond to string input (IME) ( #11156 )
...
Make edit boxes respond to string input events (introduced in minetest/irrlicht#23 ) that are usually triggered by entering text with an IME.
2021-04-05 15:56:29 +02:00
sfan5
19c283546c
Don't apply connection timeout limit to locally hosted servers
...
fixes #11085
2021-04-05 15:21:43 +02:00
SmallJoker
c11208c4b5
Game: Scale damage flash to max HP
...
The flash intensity is calculated proportionally to the maximal HP.
2021-04-05 13:38:50 +02:00
sfan5
f0bad0e2ba
Reserve vectors before pushing and other code quality changes ( #11161 )
2021-04-05 13:38:31 +02:00
sfan5
024d47e0d3
CGUITTFont optimizations ( #11136 )
2021-04-02 00:20:16 +02:00
sfan5
34888a914e
Sort out cURL timeouts and increase default
2021-04-02 00:19:39 +02:00
sfan5
1e4913cd76
Irrlicht support code maintenance
2021-03-31 13:15:47 +02:00
sfan5
0d90ed6d92
Draw items as 2D images (instead of meshes) when possible
2021-03-30 21:50:39 +02:00
Lars Müller
88d1fcfe23
Block & report player self-interaction ( #11137 )
2021-03-30 21:49:50 +02:00
SmallJoker
f4118a4fde
Consistent title bar + render information in mainmenu ( #10764 )
2021-03-30 21:49:15 +02:00
Wuzzy
6c9be39db0
Fix wield image of plantlike_rooted ( #11067 )
2021-03-30 00:27:46 +02:00
Vitaliy
3b78a22371
Degrotate support for mesh nodes ( #7840 )
2021-03-30 00:25:11 +02:00
sfan5
8d89f5f0cc
Replace fallback font nonsense with automatic per-glyph fallback ( #11084 )
2021-03-29 19:55:24 +02:00
Loic Blot
298bb3d8f7
Drop irrUString from MT, it's owned by irrlicht now
2021-03-26 20:58:45 +01:00
Desour
437d011968
Fix attached-to-object sounds having a higher reference distance
2021-03-23 15:43:40 +01:00
sfan5
2da1eee394
Fix broken BiomeGen
abstraction ( #11107 )
2021-03-23 15:43:26 +01:00
Jean-Patrick Guerrero
c9eba8440d
Fix segfault for model[] without animation speed
2021-03-21 23:23:30 +01:00
Vitaliy
44ed05ddf0
Restore minimal normal texture support (for minimap shading)
2021-03-21 23:22:22 +01:00
sfan5
531e7ef8eb
Serialize tool capabilities JSON without whitespace
...
fixes #11087
2021-03-20 22:06:17 +01:00
SmallJoker
05719913ac
Schematic: Properly deal with before/after node resolving and document ( #11011 )
...
This fixes an out-of-bounds index access when the node resolver was already applied to the schematic (i.e. biome decoration).
Also improves the handling of the two cases: prior node resolving (m_nodenames), and after node resolving (manual lookup)
2021-03-20 13:02:15 +01:00
Elias Fleckenstein
492110a640
Check for duplicate login in TOSERVER_INIT handler ( #11017 )
...
i.e. checks for duplicate logins before sending all media data to the client.
2021-03-19 21:45:29 +01:00
Elias Åström
59a1b53d67
Scale mouse/joystick sensitivity depending on FOV ( #11007 )
2021-03-19 21:43:01 +01:00
sfan5
96d4df995c
Drop old text input workarounds ( #11089 )
...
* Drop unused intlGUIEditBox
* Drop unnecessary Linux text input workarounds
2021-03-19 18:44:32 +01:00
Jean-Patrick Guerrero
285ba74723
GUIScene: Clear depth buffer + replace deprecated clearZBuffer calls
2021-03-16 23:28:16 +01:00
Jean-Patrick Guerrero
66b5c08664
Fix deprecated calls with Irrlicht 1.9
2021-03-16 23:27:15 +01:00
Wuzzy
62e3593944
Tweak duration_to_string formatting
2021-03-16 18:37:46 +01:00
sfan5
051bc9e662
Enable Irrlicht debug logging with --trace
2021-03-12 20:56:02 +01:00
sfan5
1bc85a47cb
Avoid unnecessary copies during media/mesh loading
2021-03-12 20:56:02 +01:00
sfan5
cff35cf0b3
Handle mesh load failure without crashing
2021-03-12 20:56:02 +01:00
sfan5
bb1c4badfb
Clean up cmake DLL installation and other minor things
2021-03-12 20:55:51 +01:00
sfan5
91c9313c87
Switch Irrlicht dependency to our own fork
...
-> https://github.com/minetest/irrlicht
2021-03-09 21:53:17 +01:00
sfan5
3579dd2186
Restore Irrlicht 1.9 support
2021-03-09 21:53:17 +01:00
sfan5
bf8fb2672e
Use place_param2 client-side for item appearance & prediction ( #11024 )
2021-03-09 00:56:53 +01:00
SmallJoker
176f5866cb
Protect dropping from far node inventories
...
Also changes if/if to switch/case
2021-03-07 17:18:02 +01:00
SmallJoker
fc864029b9
Protect per-player detached inventory actions
2021-03-07 17:18:02 +01:00
sfan5
593d5f4465
Clean up ClientEvent hudadd/hudchange internals
2021-03-06 23:02:10 +01:00
sfan5
1c7b69f9cf
Fix function override warnings in mg_ore.h
2021-03-06 14:21:08 +01:00
Vitaliy
abb0c99a6c
Pause animations while game is paused ( #10658 )
...
Pauses all mesh animations while game is paused.
2021-03-05 16:30:01 +01:00
Wuzzy
cafad6ac03
Translate builtin ( #10693 )
...
This PR is the second attempt to translate builtin.
Server-sent translation files can be added to `builtin/locale/`, whereas client-side translations depend on gettext.
2021-03-05 16:29:48 +01:00
sfan5
ac8ac19169
Protect mg_name and mg_flags from being set by Lua ( #11010 )
2021-03-04 20:38:28 +01:00
SmallJoker
3a2f55bc19
Settings: Push groups in to_table as well
2021-03-01 12:14:41 +01:00
hecks
225e69063f
Keep mapblocks in memory if they're in range ( #10714 )
...
Some other minor parts of clientmap.cpp have been cleaned up along the way
2021-02-26 21:23:46 +01:00
savilli
3edb1ddb81
Fix hud_change and hud_remove after hud_add ( #10997 )
2021-02-26 21:21:20 +01:00
Lars Müller
b5eda416ce
Slap u64 on everything time-y ( #10984 )
2021-02-24 12:05:17 +01:00
rubenwardy
9f6167fc3b
Deprecate not providing mod.conf
2021-02-24 11:47:50 +01:00
Wuzzy
827224635b
Use "Aux1" key name consistently everywhere
2021-02-24 11:45:30 +01:00
sfan5
9b59b2f75d
Fix keyWasDown in input handler
...
This was changed 291a6b70d674d9003f522b5875a60f7e2753e32b but should have never been done.
2021-02-23 19:41:38 +01:00