rubenwardy
3017b0213b
Allow quoting hypertext attribute values ( #14550 )
2024-05-05 14:27:17 +02:00
sfan5
d748c8c653
Gate disabling of fog or camera update behind 'debug' priv
2024-05-05 14:26:56 +02:00
grorp
af8cb63292
Add object's own position for each collision to moveresult ( #14608 )
2024-05-05 13:28:59 +02:00
grorp
d7f9da49eb
Fix shootline not being updated if press and release happen in the same step ( #14606 )
2024-05-05 13:28:50 +02:00
Lars Mueller
70bddcf318
Fix wrong name for bone override interpolation field
2024-05-04 02:09:35 +02:00
SmallJoker
f0bb5313d3
Chat console: Prevent input loss on double open
2024-05-03 16:29:33 +02:00
DS
c352fbf5c9
Warn on unknown CMAKE_BUILD_TYPE values ( #14600 )
2024-05-03 16:29:02 +02:00
sfan5
9c3c286aab
Optimize code patterns around raycasting
2024-05-03 16:28:29 +02:00
sfan5
e10adf83d5
Reduce wasteful memory allocations in update_lighting_nodes()
2024-05-03 16:28:29 +02:00
sfan5
c24a04d246
Optimize pushing collision data for entity on_step
...
Since this is fixed overhead for every entity, this is important to optimize.
This optimizes one very common case.
before:
push_collision_move_result [us] _____________ 64512x 3.562
after:
push_collision_move_result [us] _____________ 72636x 0.831
2024-05-03 16:28:29 +02:00
sfan5
2e89529eef
Optimize env access and structs in collisionMoveSimple
2024-05-03 16:28:29 +02:00
sfan5
92d03f3832
Trivially optimize iteration order in loops
...
Due to how node data is stored iterating X last provides better cache locality.
2024-05-03 16:28:29 +02:00
Lars Müller
2efd0996e6
Document empty string as form name ( #14601 )
2024-04-30 13:50:31 +02:00
sfan5
ac4f13e78f
Add minetest.get_gen_notify to mapgen env ( #14568 )
2024-04-30 13:50:18 +02:00
grorp
2bdd0a6bdb
Add physics overrides for walk speed and Fast Mode ( #14475 )
...
Co-authored-by: Wuzzy <Wuzzy@disroot.org>
2024-04-30 13:50:01 +02:00
SmallJoker
c044a3c1ca
Client: fix unknown texture upon shift-move to full inventory list ( #14586 )
...
Fixes a regression caused by 4245a760
'moveItemSomewhere' attempted to add a leftover stack to an empty stack, resulting
in an empty name with non-0 ItemStack count.
2024-04-28 19:45:09 +02:00
sfence
72cb4e9bea
Allow nil
puncher in object:punch
( #14319 )
2024-04-28 17:55:04 +02:00
sfan5
fc0ac64277
Fix build errors with curl disabled
2024-04-28 12:31:15 +02:00
sfan5
df4c9e2903
Revert "Clean up some getServer() unsafety"
...
Turned out to not be a good idea.
This reverts commit 58eccc7a2a67405744ef4a8d7be29f264021d826.
2024-04-28 00:24:22 +02:00
grorp
73dbd2f0ab
Smooth scrolling ( #14562 )
2024-04-28 00:14:31 +02:00
OgelGames
05d5dc4cec
Fix InvRef
bugs and add unit tests ( #14591 )
2024-04-28 00:13:44 +02:00
Lars Müller
0837d674eb
Fix set_fov-induced grayscreen
2024-04-28 00:12:15 +02:00
Muhammad Rifqi Priyo Susanto
be540043ee
Do not make inventory_items_animations setting static thread_local ( #14573 )
...
This removes restart requirement when toggling the setting after the first play/run.
2024-04-24 09:00:04 +07:00
JosiahWI
de8d80dee0
Fix MSVC warning C4172 in ModifySafeMap::get ( #14576 )
2024-04-23 19:04:26 +02:00
cosin15
15b569fb71
Remove unnecessary copy of a big data structure
2024-04-23 19:03:50 +02:00
sfan5
58eccc7a2a
Clean up some getServer() unsafety
2024-04-23 19:03:35 +02:00
sfan5
e39e47b21f
Reduce needless copying of KeyPress
2024-04-23 19:03:35 +02:00
sfan5
e7f6e7d7b6
Fix Irrlicht log events not being passed through
2024-04-23 19:03:35 +02:00
sfan5
c8e46749a4
Change some profiler values to microseconds
2024-04-23 19:03:35 +02:00
grorp
eb432d3da0
Fix some Game members not being freed after some startup errors ( #14561 )
2024-04-21 15:52:46 +02:00
David Heidelberg
4ab3c54f5b
Basic tablet/phone/watch autodetection ( #14400 )
...
Until we're able to detect touchscreen itself, let's have a detection
based on a form factor of the device.
Tablets and handhelds are usually equiped with touchscreens, so as a
default enable touchscreen GUI there.
- Windows and Linux supports autodetection.
- Android is hardcoded as touch-based.
- MacOS staying same as before without detection.
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-04-21 15:51:58 +02:00
JosiahWI
de1d8ec070
Do not link /latomic on MSVC ( #14564 )
...
MSVC does not recognize /latomic, resulting in a warning upon configure.
2024-04-20 20:37:46 +02:00
SmallJoker
c8a41409d9
HUD: Text element color support ( #14558 )
2024-04-20 20:36:44 +02:00
Josiah VanderZee
d2a089ffd9
Remove <ctgmath> include from particles.h
...
The header is deprecated, and we don't even use it.
2024-04-20 18:01:25 +02:00
sfan5
3bd5169aee
Fix profiler assertion failures
...
oops
2024-04-20 14:32:35 +02:00
sfan5
1b89d4d541
Simplify getBlockNodeIdMapping
...
since commit 0f9c78c3ebf920fac65030e66367b9940055075f nodedef->get()
will never return an entry with empty name, so we can drop the related parts.
2024-04-20 13:03:42 +02:00
sfan5
d8190e1c5f
Some globals (un-)init fixes
2024-04-20 13:03:42 +02:00
sfan5
2af5191070
Optimize MapNode::serializeBulk
...
before
serializeBulk [us] __________________________ 9047x 9.363
after
serializeBulk [us] __________________________ 8458x 1.214
2024-04-20 13:03:42 +02:00
sfan5
4027e08cc8
Print profiler at end of session
2024-04-20 13:03:42 +02:00
sfan5
72eeb9fecb
Refactor profiler and related classes
2024-04-20 13:03:42 +02:00
DS
5a07f5a652
Fix inconsistent rounding in VoxelLineIterator::VoxelLineIterator ( #14555 )
...
floatToInt rounds 0.5 differently depending on sign.
2024-04-20 13:03:34 +02:00
sfan5
df2fd399df
Fix missing DLLs in Windows build
2024-04-17 16:58:31 +02:00
grorp
f2b5c35fa2
TouchScreenGUI dehardcoding refactor ( #14472 )
2024-04-17 15:59:52 +02:00
rubenwardy
b2057a5da7
Hypertext: Fix missing space after single letter word ( #14551 )
...
Fixes #11727
2024-04-16 08:48:16 +01:00
sfan5
7a6ca85081
Expose OpenGL debugging as a normal setting
2024-04-15 17:48:33 +02:00
Wuzzy
9f263319ca
Fix 4dir nodebox sometimes not rendering face ( #14533 )
2024-04-14 11:57:13 +02:00
cx384
8a5e49c856
Refactor builtin HUD ( #14346 )
2024-04-10 11:43:15 +02:00
Gregor Parzefall
07fdf7158d
Migrate the Android port to SDL2
2024-04-08 20:15:37 +02:00
DS
e12db0c182
Sounds: Queue more than two buffers if pitch is high ( #14515 )
...
Pitch changes playback speed. So always enqueuing 2 buffers did not suffice
(and it was unnecessary complicated).
2024-04-07 22:06:34 +02:00
DS
1d673ce075
Print filenames in irrlicht png warnings ( #14525 )
...
Makes warnings like this more informative:
`WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile`
2024-04-07 22:06:13 +02:00
sfan5
7e4462e0ac
Better handling of temporary folders
2024-04-06 12:10:21 +02:00
sfan5
ef0c19477c
Fix HAVE_RECENT_LJ false-positives
2024-04-06 12:10:21 +02:00
grorp
9bee6d899b
Fix invisible crosshair with effective HUD scaling < 1
2024-04-06 12:10:12 +02:00
1F616EMO~nya
2d8e4df7bc
Allow optional actor ObjectRef value in node interaction calls ( #14505 )
2024-04-05 13:00:50 +02:00
Gregor Parzefall
fd8e02195e
Fix local server startup and shutdown blocking the main thread
...
Co-authored-by: sfan5 <sfan5@live.de>
2024-04-05 13:00:21 +02:00
Gregor Parzefall
b2982a6f14
Fix all cached media being loaded at once on the main thread
2024-04-05 13:00:21 +02:00
sfan5
a9a0f1e129
Fix GLES shader precision issues ( #14516 )
2024-04-05 13:00:10 +02:00
sfan5
f8bff346f4
Batched rendering of particles ( #14489 )
...
Co-authored-by: x2048 <codeforsmile@gmail.com>
Co-authored-by: Desour <ds.desour@proton.me>
2024-04-03 13:56:49 +02:00
sfan5
57a737c417
Improve logging of driver probing
2024-04-03 13:56:27 +02:00
cx384
3a35db6e67
Turn dos files into unix files
2024-03-31 21:02:47 +02:00
Gregor Parzefall
e79587c934
Add shorthand form for touch_interaction
2024-03-30 11:40:50 +01:00
Gregor Parzefall
8935f2af3c
Make long tap delay customizable and change default to 400ms
2024-03-30 11:40:50 +01:00
Gregor Parzefall
517f1602aa
Re-add "long tap to punch" as a client-side setting
2024-03-30 11:40:50 +01:00
grorp
6e3246c5fd
Limit crosshair scaling to integer multiples to avoid distortion ( #14501 )
2024-03-30 11:07:36 +01:00
sfan5
97066bf795
Sanity-check reliable packet size at earlier point
2024-03-30 11:07:20 +01:00
sfan5
5df60d85f7
Cache iconv context per-thread
2024-03-30 11:07:02 +01:00
sfan5
008d6be900
Rework iconv encoding detection
...
WCHAR_T doesn't seem as portable as we thought, so it's just easier
to detect the right encoding using macros at this point.
2024-03-30 11:07:02 +01:00
sfan5
d1a1aed23e
Reduce unnecessary include in serialize.h
2024-03-30 11:07:02 +01:00
cx384
673d2499e8
Refactor texturepaths.cpp and SourceImageCache
2024-03-30 11:06:44 +01:00
cx384
6ac053bbaa
Extract image generation/cache from texturesource.cpp
2024-03-30 11:06:44 +01:00
sfan5
6c6e48f006
Move values the mainmenu caches to dedicated files ( #14433 )
2024-03-30 11:06:28 +01:00
Elias Åström
bb6782ca58
Add repeat_dig_time setting ( #14295 )
2024-03-30 11:05:58 +01:00
sfan5
d307d01b18
Fix tests that rely on UTF-8 literals
...
and the lowercase function
2024-03-28 16:22:04 +01:00
src-tinkerer
08284e420d
Disable default password check in single player ( #14493 )
2024-03-27 21:46:41 +00:00
sfan5
d53ef90a73
Remove Irrlicht versioning
2024-03-27 20:55:48 +01:00
rubenwardy
b487341c32
Deprecate writing to mod directories ( #14486 )
2024-03-27 18:32:05 +00:00
Desour
9cee9bc279
Build with the imported IrrlichtMt at irr
...
Also remove the now useless options (like IRRLICHT_INCLUDE_DIR)
and update download instructions, CI and similar.
Co-authored-by: sfan5 <sfan5@live.de>
2024-03-26 21:39:02 +01:00
rubenwardy
24cc33e704
Add button_url[] and hypertext element to allow mods to open web pages ( #13825 )
...
Fixes #12500
2024-03-24 17:19:23 +00:00
rubenwardy
6c4a110679
Add world-independent storage directory for mods ( #12315 )
...
Fixes #4821
2024-03-24 17:18:58 +00:00
sfan5
5727d74d37
Avoid including client headers on server builds
2024-03-20 16:37:32 +01:00
sfan5
bc4ab8b99e
General code refactoring/improvements in server, treegen and connection
2024-03-20 16:37:32 +01:00
sfan5
24f2c38093
Split internal parts from connection.h
2024-03-20 16:37:32 +01:00
sfan5
dfba79f8ff
Split servermap.cpp/h off from map.cpp/h
2024-03-20 16:37:32 +01:00
sfan5
0d817ff4ff
Try to fix httpfetch method bug
...
see #14394
2024-03-20 16:37:32 +01:00
sfan5
178943b4b7
Improve ServerEnvironment::getRemovedActiveObjects() in many ways
2024-03-20 16:37:32 +01:00
Desour
751ede516b
ProfilerGraph: Increase buffer size for min/max formatting
...
Fixes values being cut off, e.g. "1.0000e+06" to "1.0000e+0".
2024-03-20 15:28:37 +01:00
HybridDog
cda112493a
Faster blit_with_alpha() ( #14448 )
...
* Add test nodes for alpha compositing and the fill texture modifier
Texture test nodes can be helpful to test if `blit_with_alpha` works correctly.
The alpha compositing test node covers different cases where pixel colors are mixed with each other.
The test currently fails because `blitPixel` does not work correctly if a semi-transparent color
is drawn on top of another semi-transparent color.
The test nodes for the fill texture modifier show if the size and position arguments of the modifier work correctly.
They do not cover special cases such as very large or negative position or size values.
* Faster blit_with_alpha()
The `blit_with_alpha` function has a noticeable effect on the time it takes to join a game.
To reduce the join times, I replace the `blit_with_alpha` function with a new one:
* It does not uses floating-point numbers.
* It directly operates on the raw pixel data instead of using the comparatively
slow `setPixel` and `getPixel` functions from Irrlicht.
Only ECF_A8R8G8B8 base images are supported now.
If the top image does not have the ECF_A8R8G8B8 color format, it is converted;
I assume that this happens rarely.
* There are case distinctions for fully opaque, fully transparent and semi-transparent pixels.
This empirically increases the performance since the mixing between two semi-transparent happens rarely.
* The new function no longer has the `src_pos` argument since it was always the zero vector.
* The function is only documented once where it is declared.
For backwards compatibility, `blit_with_alpha` still mixes colors without gamma correction.
`blit_with_alpha` nonetheless behaves slightly different than before:
If a semi-transparent pixel is drawn on top of another semi-transparent pixel,
the color is mixed in a way which we can consider to be more correct now.
2024-03-19 19:56:47 +01:00
SmallJoker
a862e4290c
Script API: Fix invalid rotation of L-system trees
...
The MapNode struct fields param1 and param2 were previously
not initialized. This commit now sets them to a sane default.
2024-03-17 18:01:48 +01:00
cx384
234b01a8c2
Item meta pointing range ( #14347 )
2024-03-17 15:55:38 +01:00
sfan5
e3b9828f24
Add unit tests for SAO load / unload behaviour
2024-03-17 15:55:24 +01:00
sfan5
8339594206
Handle static_save changes at runtime and between restarts
2024-03-17 15:55:24 +01:00
sfan5
2386bfda7e
Fix static_save=false not working & related cleanups
2024-03-17 15:55:24 +01:00
sfan5
ef0009aea7
Sort out server destruction order
...
fixes #14421
2024-03-17 15:55:24 +01:00
Gregor Parzefall
4f84b01356
Touchscreen: Fix virtual joystick sometimes going backwards
...
This fixes a regression introduced by 34286d77c7ee65be480a372233c5ab7c4b81d9db / #14075 .
2024-03-17 15:00:37 +01:00
grorp
c8b615acc9
Remove excessive touchscreengui.h includes ( #14466 )
2024-03-17 14:59:50 +01:00
SmallJoker
61a5733692
Unittest: Add inventory callback tests
2024-03-16 20:14:05 +01:00
SmallJoker
4245a7604b
Inventory: Fix order of callbacks when swapping items
2024-03-16 20:14:05 +01:00
sfan5
d5d6e36ae0
Create CACHEDIR.TAG in path_cache ( #14458 )
2024-03-15 11:24:08 +01:00
sfan5
658bc9fcc8
Fix infinite loop in Server::stopAttachedSounds
2024-03-13 21:24:50 +01:00
cx384
60810c2d37
Add L-system trees as decorations ( #14355 )
2024-03-12 20:10:28 +01:00
grorp
f07e1026ac
Allow sync HTTP fetches to be interrupted to fix hanging ( #14412 )
...
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2024-03-12 20:09:43 +01:00
SmallJoker
32f68f35cf
Avoid packets getting sent to disconnected players ( #14444 )
...
Many functions expect RemotePlayer to have a valid peer ID,
this however is not the case immediately after disconnecting
where the object is still alive and pending for removal.
ServerEnvironment::getPlayer(const char *, bool) now only
returns players that are connected unless forced to.
2024-03-10 13:24:35 +01:00
SmallJoker
02a893d613
Client: fix failing assert on empty texture name
2024-03-10 10:50:04 +01:00
sfan5
d88f0866b7
Reduce translations log spam
2024-03-06 22:33:32 +01:00
Lars Müller
bf52d1e624
Fix attached sounds stopping if objects are removed serverside ( #14436 )
...
Restores backwards compatibility for death sounds or other sounds that are not supposed to be "cut off" abruptly.
---------
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: grorp <gregor.parzefall@posteo.de>
2024-03-06 20:36:02 +01:00
y5nw
fc80f65a6d
Try to preserve metatable when exchanging data with the async env ( #14369 )
...
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
2024-03-06 18:04:49 +01:00
sfan5
badd42789a
Move PlayerSettings class to client code
2024-03-06 18:03:57 +01:00
sfan5
c524c52baa
Fix some common SAO methods to not generate useless update packets
2024-03-06 18:03:57 +01:00
sfan5
585ca90ae0
Reorder ObjectProperties struct
2024-03-06 18:03:57 +01:00
sfan5
e734b3f0d8
Fix core.get_node_or_nil in emerge env
...
"ignore" does not mean unloaded, we have to properly check it.
2024-03-03 20:16:32 +01:00
sfan5
9b97147637
Fix assertion failure in clientlauncher.cpp
2024-03-03 19:11:37 +01:00
DS
d4d4712361
Implement get_node with a get_node_raw ( #14384 )
...
Add /bench_bulk_get_node
Considerably improves the execution speed of core.get_node
2024-03-03 15:53:23 +01:00
cx384
879f7e9f03
Refactor tile.cpp/h parts except texturesource.cpp
2024-03-03 15:52:05 +01:00
cx384
aaf77025b6
Split up tile.cpp/h
2024-03-03 15:52:05 +01:00
Desour
cdce33dd05
Fix some narrowing warnings
2024-03-02 01:56:25 +01:00
Desour
b10797b3d5
Add missing include in container.h
...
BUILD_BENCHMAKRS builds were broken.
2024-03-02 01:47:03 +01:00
sfan5
e73e562a63
Allow curl to use all content encodings
2024-03-01 18:22:59 +01:00
grorp
e40417f687
Allow giving "pointabilities" to Lua raycasts ( #14390 )
2024-03-01 17:12:13 +01:00
Gregor Parzefall
aac616fcc5
Avoid visible camera jumps because of touchscreen_threshold
2024-03-01 17:11:46 +01:00
Gregor Parzefall
fa0745f7da
Adjust touchscreen_sensitivity to display density
2024-03-01 17:11:46 +01:00
Gregor Parzefall
00a3e6bbd7
Touchscreen: Allow camera movement while digging without touch_use_crosshair
2024-03-01 17:11:46 +01:00
sfan5
bb7f57b095
VBO-related optimizations and improvements ( #14395 )
2024-02-29 17:20:57 +01:00
sfan5
d85c842ce9
Refactor fog shader to reuse Irrlicht values
2024-02-29 17:20:50 +01:00
sfan5
dce166dc93
Support deleting shader materials
2024-02-29 17:20:50 +01:00
sfan5
13a0e5fb4a
Share FpsControl code between game and menu
2024-02-29 17:20:50 +01:00
sfan5
0c3a4cc7b9
Improve ergonomics of CachedShaderSetting
2024-02-29 17:20:49 +01:00
sfan5
e9ab5bc223
Factor shadow constants out of MainShaderConstantSetter
2024-02-29 17:20:49 +01:00
sfan5
5da18d34ba
Properly warn that shader queue is unimplemented
2024-02-29 17:20:49 +01:00
sfan5
09d542dfe0
Drop enable_vbo setting
...
Consistently applying this setting requires some code work,
because Irrlicht does not provide a global toggle.
At the same time I don't see any reason for someone to disable this.
2024-02-29 17:20:49 +01:00
sfan5
5280863300
Set VBO hints in more places
2024-02-29 17:20:49 +01:00
sfan5
fbec378869
Fix more type promotion mistakes
...
Someone of these are probably actual bugs and gcc totally doesn't care to warn about them, wtf?
This issue seems to be new with the IrrlichtMt update.
2024-02-26 22:07:40 +01:00
sfan5
9fcd7f2dc0
Fix clang-tidy type promotion errors
2024-02-26 20:47:47 +01:00
sfan5
5d8a22066c
Change how max_lag is calculated and reported ( #14378 )
...
-Change how max_lag is calculated and reported
- Cap singleplayer step at 60Hz
- Clarify dedicated_server_step
2024-02-26 20:46:57 +01:00
sfence
63a9853811
Remove attached sounds when the active object is removed ( #14341 )
2024-02-25 22:10:39 +00:00
rubenwardy
f4eba3bfba
Add support for ContentDB package translation ( #14410 )
2024-02-25 22:09:52 +00:00
sfan5
762fca538c
Expose SHA256 algorithm to Lua ( #14403 )
...
Co-authored-by: chmodsayshello <chmodsayshello@hotmail.com>
2024-02-25 18:12:23 +01:00
SmallJoker
fa1d80b53b
MetaData: restore undocumented set_string behaviour ( #14396 )
2024-02-25 16:03:05 +01:00
rubenwardy
b4be483d3e
Add support for translating content titles and descriptions ( #12208 )
2024-02-24 19:13:07 +00:00
grorp
57de599a29
Restore pre-5.9.0-dev behavior of touch_use_crosshair=false shootline ( #14389 )
...
* Fix incorrect shootline after releasing pointer if touch_use_crosshair=false
This happened because Android reuses pointer IDs.
Also includes a refactor to merge "m_known_ids" and "m_pointer_pos".
* Restore pre-5.9.0-dev behavior of shootline when !m_has_move_id
2024-02-24 13:12:53 +01:00
sfan5
492aab20fe
Fix compiler warnings
2024-02-24 12:39:12 +01:00
lhofhansl
0d4b489545
Detect air-only blocks instead of day/night differences ( #14264 )
...
* Detect air-only blocks instead day/night differences
* Write !is_air into the former day-night-diff bit on disk, so that old server can still read maps written by new servers
* Only set is_air bit when reading from disk
2024-02-22 21:47:42 -08:00
numzero
0d30a3071a
Add meshgen tests
2024-02-22 15:45:17 +00:00
numzero
753f03ff6a
Add mesh comparison functions, for tests
2024-02-22 15:45:17 +00:00
numzero
bf2098c07f
Decouple MeshMakeData from Client
2024-02-22 15:45:17 +00:00
numzero
2f35b121a4
Const correctness
2024-02-22 15:45:17 +00:00
David Heidelberg
34286d77c7
Allow toggling touchscreen mode at runtime ( #14075 )
...
Signed-off-by: David Heidelberg <david@ixit.cz>
Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2024-02-22 15:44:49 +00:00
sfan5
e3cc26cb7c
Irrlicht support changes ( #14383 )
2024-02-19 21:14:47 +01:00
Lars Müller
4acbd59162
Support absent scene node names ( #14330 )
...
Contains a hack to support IrrlichtMT revision 14 for now (until we release revision 15)
2024-02-18 11:39:16 +01:00
DS
1e316a9704
Don't use a reference for RaycastState::m_pointabilities ( #14376 )
2024-02-17 18:36:20 +01:00
sfan5
6ca214fefc
Introduce std::string_view
into wider use ( #14368 )
2024-02-17 15:35:33 +01:00
sfan5
f483d10c95
Switch to LLVM-based MinGW toolchain ( #14329 )
2024-02-16 21:36:19 +01:00
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
lhofhansl
518ecd7f4e
Slight optimizations in ClientMap ( #14251 )
2024-01-12 16:53:08 -08:00
HybridDog
345e93d19c
Code style: Use non-static member initialisation instead of member initialiser lists for shader uniform names
...
Before this change,
the member type and member name are at one place,
and the member name and uniform name are at another place.
If the uniform name is written directly at the member declaration,
the member type, member name and uniform name are all at one place,
which leads to shorter code and may be easier to read.
2024-01-11 20:04:42 +01:00
SmallJoker
a7eaee77ca
ContentCAO: Fix threshold of alpha channel textures ( #14213 )
...
With disabled shaders, the material EMT_TRANSPARENT_ALPHA_CHANNEL uses the
parameter as an alpha threshold to decide whether to draw the texture.
Thus lowering this limit fixes the issue of vanishing textures below alpha 128.
2024-01-10 19:34:52 +01:00
Muhammad Rifqi Priyo Susanto
0d41996562
MSVC: Fix locale workaround code
2024-01-10 19:33:04 +01:00
lhofhansl
4bf95703a0
Allow access into MapSector::m_blocks ( #14232 )
...
* New API to allow access into MapSector::m_blocks
* Use this API on ClientMap::touchMapBlocks(), ClientMap::updateDrawList(), and ClientMap::updateDrawListShadow() to speed them up
2024-01-10 09:17:26 -08:00
cx384
2766c70ad3
Fix dividing by zero crashes in texture modifiers
2024-01-07 21:49:26 +01:00
sfan5
2c390b5473
Rework client connecting and enable fallback address use
2024-01-07 21:49:05 +01:00
sfan5
20692d54de
Some minor cleanups for UDPSocket class
2024-01-07 21:49:05 +01:00
sfan5
dc7fb26921
Extend capabilities of Address class
2024-01-07 21:49:05 +01:00
Muhammad Rifqi Priyo Susanto
171f911237
Android: Add selection dialog (drop down/combo box) ( #13814 )
...
- The handling of IGUIComboBox uses the new setAndSendSelected() method.
- getDialogState() is now getInputDialogState() and returns the state of the input dialog.
- getLastDialogType() is added and returns current/last shown dialog's type.
- getInputDialogState() now returns an enum instead of int.
- getAndroidUIInput() now returns void instead of bool.
- New data types (enum) are added:
(1) GameActivity.DialogType (Java) and porting::AndroidDialogType (C++)
(2) GameActivity.DialogState (Java) and porting::AndroidDialogState (C++)
- When showing a text input dialog, there is no custom accept button text any more.
- showDialog()/showDialogUI() for text input is now showTextInputDialog()/showTextInputDialogUI().
- showInputDialog()/showDialogUI() for text input is now showTextInputDialog()/showTextInputDialogUI().
- getDialogValue()/getInputDialogValue() is now getDialogMessage()/getInputDialogMessage().
Co-authored-by: Gregor Parzefall <82708541+grorp@users.noreply.github.com>
2024-01-07 19:00:04 +07:00
lhofhansl
bd42cc2c77
Ensure deterministic client occlusion culling and minor improvements ( #14212 )
...
* Ensure deterministic client occlusion culling
* Increase culling optimize distance slightly
* More accurate culling when sampling
2024-01-06 18:43:46 -08:00
sfan5
8db4ba9e58
Fix some console window behavior on Windows
2024-01-06 15:38:09 +01:00
sfan5
7c7ae79f9f
Fix native thread handle usage on win32
2024-01-06 15:38:09 +01:00
sfan5
8674dc831d
Avoid unused argument spam with MinGW-clang
2024-01-06 15:38:09 +01:00
sfan5
3fbe42c3a2
Add unittest to check thread_local destructor brokenness
2024-01-06 15:38:09 +01:00
sfan5
6550bc252f
Fix logic in porting::attachOrCreateConsole()
...
No functional change but now the comment is actually correct.
2024-01-06 15:38:09 +01:00
Zughy
c2c8d4d410
Remove controls listed in the pause menu (no touchscreen) ( #13282 )
2024-01-05 20:10:07 +00:00
Maintainer_
34ce86a8f5
Fix GameUI text staying visible during shutdown. ( #14197 )
2024-01-05 00:39:56 +01:00
grorp
05a53cd330
Touchscreen: Recognize double-taps as double-clicks ( #14187 )
2024-01-05 00:39:40 +01:00
Muhammad Rifqi Priyo Susanto
e17455cb22
Remove server's address and port from pause menu ( #14082 )
2024-01-05 00:39:11 +01:00
grorp
995c192874
Don't apply gui_scaling & DPI twice to table[] / textlist[] scrollbar ( #14206 )
2024-01-03 21:58:58 +01:00
DS
c9cd0d20ef
Use AL_SOFT_direct_channels_remix extension for non-positional stereo sounds ( #14195 )
2024-01-03 21:57:00 +01:00
DS
3eab5e9002
Replace clientmap's MeshBufListList with a hashmap
2024-01-03 21:56:38 +01:00
Lars Müller
2c44620e5e
Comply with base64 license terms ( #14199 )
2024-01-01 22:49:12 +01:00
sfence
d0753dddb1
Method add_pos for object/player ( #14126 )
2024-01-01 22:48:56 +01:00
Alfred Wingate
c9ab61aa8c
Add missing header for gcc-14
...
https://gcc.gnu.org/gcc-14/porting_to.html
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2023-12-31 19:26:33 +01:00
sfan5
431444ba9f
Extend sanity checks in ActiveBlockList::update
...
also fixes the space indentation
2023-12-30 00:31:03 +01:00
lhofhansl
c99196d363
Do not emerge blocks in the active_object_send_range_blocks range ( #14152 )
...
The active object range is about active objects (not blocks). Activate blocks (and hence any object "in" them) in the cone define by the active object range (and fov) when they are loaded (i.e. visible), otherwise ignore them.
2023-12-29 14:18:06 -08:00
lhofhansl
22a1653702
Perform server occlusion check before a block is loaded or generated ( #14148 )
2023-12-29 21:53:27 +01:00
sfan5
edd947b645
Enable some runtime hardening on win32
2023-12-29 21:52:08 +01:00
sfan5
b8dc349099
Clean up gettext initialization
2023-12-29 21:52:08 +01:00
sfan5
93c2aff2cf
Clean up OS-specific initialization
2023-12-29 21:52:08 +01:00
Desour
ad5e9aa5e3
Fix AsyncRunStep() skipping steps when dtime < 1 ms
2023-12-29 21:51:19 +01:00
cx384
467d3a8c62
Rename hud_elem_type
to type
( #14065 )
2023-12-29 21:51:02 +01:00
lhofhansl
bc336480e6
Avoid short overflow with large viewing ranges ( #14175 )
2023-12-28 09:10:11 -08:00
grorp
32e492837c
Support both mouse and touch input in GUIs in a single binary ( #14146 )
2023-12-27 22:37:36 +01:00
superfloh247
4f1dbb127a
Update CMakeLists.txt to fix MacOS build ( #14160 )
...
Co-authored-by: sfan5 <sfan5@live.de>
2023-12-27 22:19:56 +01:00
sfan5
93dfa8a6d8
Optimize and improve built-in PNG writer ( #14020 )
2023-12-27 11:56:48 +01:00
Gregor Parzefall
335af393f0
Make the loading screen progress bar respect "gui_scaling"
2023-12-26 20:21:15 +01:00
sfan5
5405a558fd
Fix minor issue with log_deprecated()
2023-12-25 19:47:34 +01:00
sfan5
961652c2e9
Address some clang-tidy warnings
2023-12-25 10:07:28 +01:00
Desour
322c4a5b2b
Rework server stepping and dtime calculation
2023-12-25 10:07:03 +01:00
Desour
b6c7c5a7ab
Link with -latomic
2023-12-25 10:07:03 +01:00
grorp
46c930cf70
Touchscreen: Make server-sent overrides of button textures work ( #14145 )
2023-12-23 14:39:42 +01:00
Lars
e0d4a9d575
Make volumetric light effect strength server controllable
...
- Make volumetric light effect strength server controllable
- Separate volumetric and bloom shader pipeline
- Require bloom to be enable, scale godrays with bloom
2023-12-21 16:21:01 -08:00
x2048
04f0d545da
Initial implementation of 'Godrays'
2023-12-21 16:21:01 -08:00
Lars Müller
cad8e895f2
Fix set_bone_position regression (error on passing none)
2023-12-21 18:55:12 +01:00
Warr1024
7e143cb33d
Manually configurable minimum protocol version ( #14054 )
...
Partially address #13483 . Server operators can set a minimum
protocol version to match the game requirements (or any other
restriction they may want), and it's applied as an additional
constraint on top of the baseline compatibility range, optional
strict_protocol_version_checking, and any kick-on-join used by
the game/mods.
2023-12-21 18:53:30 +01:00
Gregor Parzefall
04dc4a10f0
Fix TouchScreenGUI ignoring server-sent pitch changes
2023-12-20 21:24:10 +01:00
Gregor Parzefall
3b346fd3c9
Fix touch input on Linux
...
The code relied on touch IDs being consecutive. This is true on Android, but not on Linux.
Therefore, touch input on Linux was broken since 53886dcdb52de80d862539e22950c84fbf88df88.
2023-12-20 21:22:15 +01:00
Lars Müller
0d61598d8a
Extend bone override capabilities ( #12388 )
2023-12-20 21:21:53 +01:00
sfan5
61d0f613df
Hand roll UTF-16 conversion in CGUITTFont ( #14121 )
2023-12-19 20:18:43 +01:00
grorp
00d9d96e48
Android: Pause rendering while the app is paused ( #14058 )
2023-12-19 20:18:28 +01:00
HybridDog
b1aec1b5c8
Add dithering ( #9014 )
2023-12-19 20:18:11 +01:00
grorp
91ba02449b
Add touch_controls
boolean to get_player_window_information()
( #14092 )
2023-12-17 20:47:07 +01:00
JosiahWI
7162b536eb
Extract Game::drawScene from Game::updateFrame
2023-12-17 20:44:45 +01:00
lhofhansl
ca1a723890
Allow cheaper culling checks at a distance ( #14073 )
...
* Allow cheaper culling checks at a distance
* Pick a random ray, so that far missing block will eventually be shown
2023-12-16 15:04:21 -08:00
superfloh247
16c22477c2
Update porting.h to fix build errors on macOS 14 / Xcode 15
2023-12-16 12:52:07 +01:00
sfan5
128ed87dd8
Reorder members of MapBlock for performance
...
Before and after as obtained via `pahole -C MapBlock bin/minetest`:
/* size: 336, cachelines: 6, members: 23 */
/* sum members: 329, holes: 4, sum holes: 7 */
vs.
/* size: 336, cachelines: 6, members: 23 */
/* sum members: 329, holes: 2, sum holes: 7 */
There is not much to be gained by packing but I made sure
to move the most important data (mainly for the client) into
the first cache line.
2023-12-16 12:51:42 +01:00
sfan5
9408a1a025
Reduce size of some MapBlock members
...
Also adds assertions to catch refcounting errors (on a debug build).
2023-12-16 12:51:42 +01:00
sfan5
777dca7043
Elide MapBlock::contents_cached
2023-12-16 12:51:42 +01:00
sfan5
f5b35a074f
Get rid of parent pointer in MapBlock
2023-12-16 12:51:42 +01:00
sfan5
c6cf90f67b
Change MapBlock content cache to a vector
2023-12-16 12:51:42 +01:00
sfan5
cb6e3ac6e1
Allocate data seperately from MapBlock class again
...
This effectively reverts commit b3503e7853a52a8c16431f6b983e30c9d25951bc.
2023-12-16 12:51:42 +01:00
sfan5
2c2bc4a427
Try to benchmark common MapBlock usage
2023-12-16 12:51:42 +01:00
sfan5
e5a6048eec
Allow running individual benchmarks
...
mirrors and reuses the option from 2f6a9d12f1db84322e0b69fd5ddc986f1f143606
2023-12-16 12:51:42 +01:00
Gregor Parzefall
3c60d359ed
Remove usage of removed "PP" macro
...
This fixes a compilation error introduced by e7be135.
2023-12-15 10:28:07 +01:00
SmallJoker
94a54375e2
Inventory: prevent item loss when stacking oversized ItemStacks ( #14072 )
2023-12-15 10:24:04 +01:00
sfan5
a292cc42aa
Fix Windows architecture reporting in sysinfo
2023-12-15 10:23:52 +01:00
Gary Miguel
da832a295e
Delete clang-format files and comments ( #14079 )
2023-12-15 10:23:44 +01:00
Vitaliy
64b59184d1
Reduce test framework macrosity
2023-12-15 10:23:32 +01:00
sfan5
bd06466d3a
Improve clock_gettime usage
...
- correctly use value of _POSIX_MONOTONIC_CLOCK
- drop special path for macOS: it supports clock_gettime since macOS 10.12
2023-12-15 10:23:19 +01:00
sfan5
d4123a387c
Clean up porting.h a bit
2023-12-15 10:23:19 +01:00
mazes-80
e7be135b78
Warning: inform about entity name when bug detected about attachement ( #13354 )
2023-12-15 10:22:58 +01:00
sfan5
d1a55e9ca4
Remove use_texture_alpha compatibility code for nodeboxes & meshes ( #13929 )
2023-12-13 13:15:59 +01:00
Gary Miguel
6eb9269741
Try to fix safeWriteToFile producing empty files on Windows ( #14085 )
...
Use win32 APIs to write the temporary file before copying to the final
destination. Because we've observed the final file being empty, we
suspect that std::ostream::flush is not flushing.
Also add a test for it.
2023-12-13 13:15:37 +01:00
lhofhansl
a98200bb4c
Avoid movement jitter ( #13093 )
...
This allows the client and server to agree on the position of objects and attached players even when there is lag.
2023-12-10 19:12:37 +01:00
Muhammad Rifqi Priyo Susanto
55fafb7d25
Add sound volume when unfocused setting ( #14083 )
...
This adds a new setting to set sound volume multiplier when Minetest window is unfocused/inactive (sound_volume_unfocused, located in Settings > Graphics and Audio > Audio > Volume when unfocused).
If the window is not focused, the sound volume will be multiplied by sound_volume_unfocused setting. The sound volume will be set back to sound_volume again when the window is focused.
2023-12-10 19:11:39 +01:00
SmallJoker
321bcf5c44
GUIFormspecMenu: Fix race condition between quit event and cleanup in Game ( #14010 )
...
To not instantly free GUIFormSpec upon close/quit, Game periodically
cleans up the remaining instance on the next frame.
When a new formspec is received and processed after closing the previous formspec
but before the cleanup in Game, the formspec would be closed regardless.
This now re-creates the formspec when the old one is already pending for removal.
2023-12-10 19:09:51 +01:00
ZenonSeth
2ec3325381
Check if liquid can flow into empty node before picking it as source ( #14057 )
2023-12-08 21:13:18 +01:00
updatepo.sh
bae9f65411
Update from builtin/settingtypes.txt
2023-12-03 18:47:50 +01:00
Desour
bf53e7e1ca
Fix anticheat false positives whith speed physics override
2023-12-03 12:23:17 +01:00
Muhammad Rifqi Priyo Susanto
047520d91e
Inventory: Add remaining items into the source slot directly ( #14021 )
...
Remaining items are added into the source slot directly when left-dragging over the source slot.
2023-12-03 15:00:07 +07:00
DS
6106e4e72b
Fix sound and particlespawner id generation ( #14059 )
...
* Fix server sound ids being reused to early
* Fix particlespawner id generation
It always returned 0.
Also, now the ids always grow, to make a conflict with ids in lua unlikely.
2023-12-01 00:09:53 +01:00
SmallJoker
a7e5456099
Server: avoid re-use of recent ParticleSpawner and Sound IDs ( #14045 )
...
This improves the reliability when removing and re-adding handles quickly.
Looping through the entire ID range avoids collisions caused by any race condition.
2023-11-29 21:10:19 +01:00
sfan5
d6a8b546e4
Enable clean transparent filter in more cases
...
It was determined that this fixes scaling artifacts that can happen with bilinear,
trilinear or anisotropic filtering alone.
Since the previous commit did not bring back the relevant setting, we fix this
shortcoming by just enabling it in all cases where it is known to help.
2023-11-29 21:09:21 +01:00
sfan5
7f9326805c
Return texture filter settings to previous state
...
This partially reverts commit 72ef90885d5030bf6f7f9dd60a475339bde9a929.
fixes #14007
2023-11-29 21:09:21 +01:00
Muhammad Rifqi Priyo Susanto
53886dcdb5
Formspec: Pass the second-touch event as is ( #13872 )
...
The second-touch event is passed to the GUIFormSpecMenu::OnEvent() function as a touch event.
There are two types of event for inventory formspec: (1) mouse event and (2) touch event.
The touch event is just a modifier of the mouse event.
Co-authored-by: Gregor Parzefall <82708541+grorp@users.noreply.github.com>
2023-11-28 07:00:07 +07:00
grorp
771da80bbb
Make it possible again to see item tooltips on Android ( #14029 )
...
This change is a quick fix so that item tooltips show again on Android.
2023-11-25 17:07:07 +01:00
grorp
4255ac3022
Mainmenu: Avoid the header being displayed behind the formspec ( #13924 )
...
This change keeps the current header placement code, but adds additional code to make sure the header doesn't end up behind the formspec.
2023-11-25 17:04:33 +01:00
Desour
585e6aa80b
Clamp values in read_ARGB8
2023-11-19 20:45:18 +01:00
Desour
1bc74b0ba1
Fix undefined inf to s32 cast in GUIScrollBar::setPos
2023-11-19 20:45:18 +01:00
Desour
73e85b2ebb
Fix cached wanted_range and camera_fov being written with out-of-range value
2023-11-19 20:45:18 +01:00
Muhammad Rifqi Priyo Susanto
aa912e90a7
Make text containers wider in the Volume Change dialog ( #13995 )
...
These containers are widened to account for translations.
2023-11-15 07:00:03 +07:00
superfloh247
7cb20dd6c2
Fix undefined behaviour in modulo360f ( #13976 )
...
Resolves a crash on macOS/arm64 by no longer depending on UB.
2023-11-12 20:08:33 +01:00
updatepo.sh
8abb5796ed
Update example conf and settings translations
2023-11-11 12:09:35 +01:00
JosiahWI
56902745c8
Extract updateClouds method from updateFrame ( #13939 )
...
Co-authored-by: Gregor Parzefall <82708541+grorp@users.noreply.github.com>
2023-11-08 07:00:59 +07:00
corpserot
9e952603b2
Lump MT_LOGCOLOR env together with other color env ( #13887 )
2023-11-08 07:00:36 +07:00
Muhammad Rifqi Priyo Susanto
7213ff7a00
Resolves some warnings for Android version ( #13862 )
2023-11-05 19:02:01 +01:00