sfan5
933432e62d
Annotate Lua packer with more comments
2024-02-16 12:34:40 +01:00
sfan5
2b97fead9e
Fix some potential iterator invalidation issues
2024-02-16 12:34:40 +01:00
cx384
9ac6d330b4
Fix minimap textures overwrite ( #14349 )
2024-02-15 21:52:41 +01:00
DS
4843890c56
Inline g/setPixel in imageCleanTransparent ( #14323 )
2024-02-15 19:38:23 +01:00
lhofhansl
c81e0b7433
Allow shaders with disabled post processing pipeline ( #14338 )
...
- Allow disabling of the post processing pipeline while leaving shaders enabled
- Also disable post processing on Android by default
2024-02-15 08:25:33 -08:00
sfan5
ce97210eb1
Refactor how script api reads current mod name
...
This is to prevent future mistakes and make it clearer whether
the mod name can be trusted depending on how it is retrieved.
2024-02-15 11:06:21 +01:00
sfan5
cb5fa56e17
Remove insecure environment from async and emerge environment
2024-02-15 11:06:21 +01:00
fuzun
6cbb9193ea
Fix undefined behaviors ( #14365 )
...
* Initialize member `floats` in ContentFeatures
* Do not assign big double to u32
* Do not assign negative floating point number to unsigned integer
2024-02-15 11:05:42 +01:00
sfan5
3cac17d23e
Lua on each mapgen thread ( #13092 )
2024-02-13 22:47:30 +01:00
sfan5
d4b107e2e8
Enable dynamic_add_media to take the file data instead of a path
2024-02-13 22:44:10 +01:00
sfan5
c90ebad46b
Allow specifying name for dynamic media files
2024-02-13 22:44:10 +01:00
sfan5
af69d4f7a9
Allow dynamic_add_media at mod load time
2024-02-13 22:44:10 +01:00
cx384
7901087466
Rename MINETEST_SUBGAME_PATH
to MINETEST_GAME_PATH
( #14351 )
2024-02-12 23:21:19 +01:00
paradust7
e2ccd14c05
Allow using VBOs for meshes all the way down to 4 vertices ( #14366 )
...
This may improve performance substantially if there are many meshes with "few" vertices that would otherwise be retransmitted to the GPU every frame. In testing, this does not seem to decrease performance, even if as few as 4 vertices are used (e.g. particles).
2024-02-12 23:20:48 +01:00
Lars Mueller
a14320fc44
Improve deprecation error messages
2024-02-12 22:58:26 +01:00
David Heidelberg
eb52a149a0
Enable IPO/LTO by default except for debug builds ( #14198 )
...
Test case:
```
$ cmake . -DRUN_IN_PLACE=TRUE -DCMAKE_BUILD_TYPE=Release -DBUILD_SERVER=TRUE -DENABLE_TOUCH=FALSE
minetest minetestserver
W/o LTO: 13M 7.3M
W/ LTO: 11M 5.9M
difference: 15% 19%
```
Also fixes various compiler warnings resulting from compilation using LTO.
---------
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-02-09 00:01:12 +01:00
cx384
adaa4cc2f3
Move hard coded minimap to builtin ( #14071 )
2024-02-07 20:13:23 +01:00
grorp
f2b99332d9
Add Lua API function to resolve node/collision/selection boxes ( #13964 )
2024-02-06 20:45:16 +01:00
sfence
83f779c52d
Fix active object adding to not generated block ( #14311 )
2024-02-04 21:24:08 +01:00
sfan5
c9e10e1dd9
Drop valgrind from CI and instead enable ASan
...
The recently added ioctl use is reported as a false-positive by valgrind.
I tried moving it to different compilers/versions two times and only
hit further issues that were valgrind's fault.
Also includes a tiny fix.
2024-02-04 21:23:05 +01:00
sfan5
4259ac96ea
Optimize fs::CopyFileContents on Linux and Windows
2024-02-04 21:23:05 +01:00
sfan5
714c9361ea
Add unit tests for fs::CopyFileContents
2024-02-04 21:23:05 +01:00
sfan5
93381014a0
Bypass media transfer in single player
2024-02-04 21:23:05 +01:00
Lars Müller
1d9c9710d7
Fix short raycasts missing large objects ( #14339 )
...
Increases the tolerance from one node to five nodes.
Also optimizes the "sphere" used for pre-filtering entities
to start in the middle of the line segment rather than at the start.
2024-02-04 14:04:05 +01:00
SmallJoker
e7dbd325d2
RemotePlayer: make peer ID always reflect the validity of PlayerSAO ( #14317 )
...
Upon disconnect, RemotePlayer still had a peer ID assigned even though
the PlayerSAO object was maked as gone (for removal). This commit makes
that the following always holds true:
(!sao || sao->isGone()) === (peer_id == PEER_ID_INEXISTENT)
2024-02-02 22:13:24 +01:00
techno-sam
176e674a51
Add wear bar color API ( #13328 )
...
---------
Co-authored-by: Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
Co-authored-by: grorp <gregor.parzefall@posteo.de>
2024-02-02 21:21:00 +01:00
sfan5
e10d8080ba
Add flag to control mgv6 temple generation ( #14293 )
2024-01-30 21:52:04 +01:00
sfan5
9da1354f3a
Fix missing limit check for block y pos ( #14320 )
2024-01-30 21:51:51 +01:00
sfan5
e1f6108789
Revert class forward declaration in {client,server}opcodes.h
...
closes #14324
2024-01-30 17:04:12 +01:00
Lars Mueller
40bf88ac74
Performance: Limit blitting work to overlapping area
2024-01-28 13:01:54 +01:00
sfan5
ffec698d3e
Change how [combine parameters are checked
...
the old checks were too strict
2024-01-28 13:01:54 +01:00
grorp
fbec168e91
Only pause rendering if the Android activity is stopped ( #14211 )
2024-01-27 14:37:00 +01:00
sfan5
89f3502b56
Move Server ban check to different point
2024-01-27 10:33:32 +01:00
sfan5
5dbc1d4c08
Move some files to src/server/
2024-01-27 10:33:32 +01:00
sfan5
c0f852e016
Change NetworkPacket to reserve instead of resize
...
also make the bool serialization clearer and move the constructor
to the header file
2024-01-27 10:33:32 +01:00
sfan5
397682a5b0
Clean up client and server command sending / tables
2024-01-27 10:33:32 +01:00
grorp
2b99dabdac
Touchscreen: Abort ongoing short taps if touch interaction mode changes ( #14305 )
2024-01-26 23:19:06 +01:00
sfan5
4158759265
Move mtevent.h to src/client/
2024-01-26 22:10:36 +01:00
sfan5
8927e7caf6
Handle some edge cases in tile images
2024-01-26 22:10:36 +01:00
sfan5
a46fe79939
Reduce code duplication in tile.cpp
2024-01-26 22:10:36 +01:00
lhofhansl
2ef080a51b
Slight simplification of RemoteClient::getNextBlocks(...) ( #14302 )
2024-01-25 11:32:18 -08:00
Sokomine
4468813d47
Show more lines in chat scrollback buffer ( #14290 )
2024-01-24 19:41:29 +01:00
Lars Mueller
6a2eb4da07
Restore pointability backwards compatibility
2024-01-23 23:30:28 +01:00
sfan5
731b84d725
Reduce some instances of useless data shuffling
2024-01-23 22:34:36 +01:00
sfan5
362e4505e8
Minor improvements to media request / announce code
...
I had to throw away the code switching sendRequestedMedia to
a bin packing algorithm because it actually performed worse. :(
2024-01-23 22:34:36 +01:00
sfan5
13013d1b8b
Fix client loading not aborting correctly in certain cases
2024-01-23 22:34:36 +01:00
sfan5
6df0de565f
Check media requests on the server more carefully
2024-01-23 22:34:36 +01:00
sfan5
89eabb5803
Drop speed tests and some other unused code from clientlauncher.cpp
2024-01-23 22:34:36 +01:00
sfan5
6aa4f14a28
Drop some unneeded MOD_REASONs
2024-01-23 22:34:36 +01:00
sfan5
be7844192b
Don't save blocks asap for only lighting updates
2024-01-23 22:34:36 +01:00
sfan5
9e3a11534f
Allow fog color to be overriden properly ( #14296 )
2024-01-23 22:33:33 +01:00
grorp
a29d3cf074
Save the settings in more cases to avoid losing setting changes (especially on Android) ( #14266 )
2024-01-23 21:33:27 +01:00
cx384
5958714309
Tool specific pointing and blocking pointable type ( #13992 )
2024-01-22 18:27:08 +01:00
Lars Mueller
fb461d21a5
Fix waypoint precision wraparound, add bounds check
2024-01-21 21:00:09 +01:00
grorp
404a063fdf
Touchscreen: Allow mods to swap the meaning of short and long taps (punch with single tap) ( #14087 )
...
This works through a new field "touch_interaction" in item definitions.
The two most important use cases are:
- Punching players/entities with short tap instead of long tap (enabled by default)
- Making items usable that require holding the place button (e.g. bows and shields in MC-like games)
2024-01-21 17:44:08 +01:00
sfan5
8cbd629010
Fix bugs in ModifySafeMap ( #14276 )
2024-01-20 15:37:30 +01:00
David Heidelberg
371b9a7fc2
Move check for strlcpy before config.h generation
...
Fixes: 225aa107f671 ("Define strlcpy only on platforms where it's not available")
2024-01-19 22:48:43 +01:00
sfan5
699d1bf27c
Use newer IrrlichtMt
...
now with SDL2
2024-01-19 11:54:40 +01:00
David Heidelberg
225aa107f6
Define strlcpy only on platforms where it's not available
...
Linux musl-libc and recent glibc > 2.38 have it.
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-01-19 11:53:08 +01:00
DS
e416c99419
Fix signed overflow UB in PseudoRandom::next()
2024-01-19 11:52:53 +01:00
Lars
7c9706fdcf
Remove unused meshgen_block_cache_size setting
2024-01-19 11:52:39 +01:00
HybridDog
f08e4bb27d
Return to the main menu if a shader compilation fails ( #14256 )
...
Before this change, if the shaders are broken, only an error message is shown and the player enters the world nonetheless, where he/she sees broken graphics.
2024-01-19 11:51:46 +01:00
savilli
432988a4ad
Fix multiple password changes in one session
2024-01-19 11:50:55 +01:00
sfan5
e985b7a0bf
Initialize random with better seed
2024-01-17 20:06:26 +01:00
sfan5
6caa06eaed
Remove mistaken exec mode from three files
2024-01-17 20:06:26 +01:00
sfan5
5ceb327e55
Replace SHA256 implementation with one from LibreSSL
...
They have cleaner code than OpenSSL :)
from here: https://github.com/libressl/openbsd/tree/master/src/lib/libcrypto
and https://github.com/libressl/portable
2024-01-17 20:06:26 +01:00
sfan5
b0f76d82c5
Remove references to SHA1 and SHA512 from SRP code
2024-01-17 20:06:26 +01:00
sfan5
5756d6262e
Minor improvements and fixes in httpfetch.cpp
2024-01-17 20:06:11 +01:00
sfan5
56943bef48
Use modern libcurl poll/wait methods
2024-01-17 20:06:11 +01:00
sfan5
ee727eb65e
Migrate UDPSocket to use poll()
2024-01-17 20:06:11 +01:00
sfan5
e8008c1b21
Sanitize lang_code and full_version received from client
...
fixes #14262
2024-01-17 20:05:57 +01:00
sfan5
bdc124ba41
Require client to consistently use peer ID
2024-01-17 20:05:57 +01:00
sfan5
f27f701251
Make server disconnect lingering clients
2024-01-17 20:05:57 +01:00
sfan5
b2f0a37b18
Rate-limit client connection attempts
2024-01-17 20:05:57 +01:00
sfan5
050152eb90
Do not allocate packet quota to half-open connections
2024-01-17 20:05:57 +01:00
sfan5
3987318f09
Time out when reliables can't be delivered
...
If one of the channels stalls for whatever reason we can't pretend the connection is fine.
2024-01-17 20:05:57 +01:00
sfan5
9f684eac92
Remove weird command procession limit
...
it was set to 1 too, wtf?!
2024-01-17 20:05:57 +01:00
sfan5
abf3142b26
Send initial dummy packet as empty
...
No functional change and no compatibility implicatons
but this better matches what is documented everywhere.
2024-01-17 20:05:57 +01:00
sfan5
eeb873b23c
Minor code corrections
2024-01-17 20:05:57 +01:00
sfan5
84d4647329
Scale resend timeout exponentially
2024-01-17 20:05:57 +01:00
sfan5
7acb14f7a1
Use fixed, lower timeout for half-open connections
2024-01-17 20:05:57 +01:00
sfan5
2587302987
Assign peer IDs randomly
2024-01-17 20:05:57 +01:00
sfan5
db88d24ff8
Track connection half-open state
2024-01-17 20:05:57 +01:00
cx384
2ea8d9ca11
Fix out of range enum casts in deSerialize functions ( #14090 )
2024-01-17 20:05:46 +01:00
sfan5
0383c44f0d
Custom data structure for active objects to get performance *and* safety ( #13880 )
2024-01-17 20:04:56 +01:00
Wuzzy
08ee6d8d4b
Add rotation support for wallmounted nodes in 'ceiling' or 'floor' mode ( #11073 )
2024-01-17 17:47:06 +01:00
sfence
ceaa7e2fb0
Add API for restoring PseudoRandom and PcgRandom state ( #14123 )
2024-01-16 23:20:52 +01:00
Vitaliy
8093044f07
Support OpenGL 3 ( #13321 )
2024-01-16 21:09:18 +01:00
cx384
92c55c27cf
Add function to get all HUD elements ( #14042 )
2024-01-14 17:46:29 +01:00
SmallJoker
ed7d4037b2
Client: fix possible division by zero in [crack modifier
2024-01-14 16:28:03 +01:00
sfan5
1ba26d67bd
Remove excessive includes from porting.h
2024-01-14 13:17:53 +01:00
sfan5
e824e9023f
Simplify LuaPseudoRandom::l_next and fix docs
...
Also extends the allowed range on the C++ side. This has no side-effects.
2024-01-14 13:17:53 +01:00
sfan5
d20f1182f2
Fix Lua PseudoRandom seeds being mangled
...
closes #14237
2024-01-14 13:17:53 +01:00
sfan5
e83530d40b
Use explicit types on PseudoRandom implementation
2024-01-14 13:17:53 +01:00
sfan5
6f494a968d
Move setenv compat code to porting.h
2024-01-14 13:17:53 +01:00
sfan5
133f706bf3
Make unittests less reliant on files in the source distribution
2024-01-14 13:17:53 +01:00
sfan5
863c9b55b4
Remove broken MINETEST_SUBGAME_PATH test
...
The path being tested for is in the default search path for games,
so it would still pass if the env var was not working.
2024-01-14 13:17:53 +01:00
sfan5
45561b89a4
Make sure unittests don't try to write to cwd
2024-01-14 13:17:53 +01:00
grorp
b12be0498e
Don't enable relative mouse mode if in touchscreen mode ( #14118 )
2024-01-13 20:01:10 +01:00
lhofhansl
59abf1bb42
Allow active blocks to be generated ( #14185 )
2024-01-13 10:27:41 -08:00