Commit Graph

7145 Commits

Author SHA1 Message Date
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 53886dcdb5.
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 b3503e7853.
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 2f6a9d12f1
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 72ef90885d.

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