Commit Graph

7610 Commits

Author SHA1 Message Date
cx384
52376fd87a Add hotbar Lua HUD element and replace hardcoded hotbar 2024-08-31 16:04:14 +02:00
SmallJoker
efd7792add
Debloat IVideoDriver and IrrlichtDevice includes (#15080)
As the project grows, compile time will not go down unless the header mess
is cleaned up one by one to only include exactly what's needed.
2024-08-31 11:44:30 +02:00
Gregor Parzefall
3a59fabefe split enable_touch to touch_controls (for touchscreen controls) and touch_gui
touch_gui provide adjustment to the interface, so it's more touch
friendly

Signed-off-by: David Heidelberg <david@ixit.cz>
2024-08-28 21:32:00 +02:00
Gregor Parzefall
1977517d7a Rename TouchScreenGUI -> TouchControls
to avoid confusion between touchscreen-related settings that affect GUIs
(formspecs) and touchscreen-related settings that affect the touch controls
(TouchControls / formerly TouchScreenGUI)
2024-08-28 21:32:00 +02:00
sfan5
bf4d31227b
Delete OpenGL ES 1.0 driver (#15067) 2024-08-28 20:44:42 +02:00
sfan5
1298d6c020 Fix VBO hint for transparent block parts 2024-08-28 15:38:02 +02:00
sfan5
19a58745c9 Avoid copies when working with EnrichedString 2024-08-28 15:38:02 +02:00
sfan5
fa4529b4f1 Keep stats on hw buffer uploads 2024-08-28 15:38:02 +02:00
sfan5
39970fed38 Consolidate transparent buffers lazily 2024-08-28 15:38:02 +02:00
sfan5
c00fed20b7 Fix re-loading of settings in ClientMap 2024-08-28 15:38:02 +02:00
sfan5
c52a4369eb Fix vertex count accounting in ClientMap 2024-08-28 15:38:02 +02:00
Desour
0f7ee126de Fix transparency sorting and animation faraway check not using mesh chunk bounding sphere 2024-08-28 15:37:54 +02:00
Desour
2e883189c1 Improve block bounds HUD feature
* Use different material than selection box, so it doesn't break
  for non-default `node_highlighting` values.
* Add `show_block_bounds_radius_near` setting.
* Draw mesh chunk edges in a different color (red vs yellow).
2024-08-28 15:37:54 +02:00
Desour
04f0a4a1c6 Fix MeshGrid::isMeshPos()
`(1 + 1 + 0) % 2 = 0`, for example, so it had false positives.
Only minimap generation uses this function. It did useless work.
2024-08-28 15:37:54 +02:00
JosiahWI
c893e0b72b
Convert nodedef tests to Catch2 (#15045)
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
2024-08-28 15:36:02 +02:00
SmallJoker
8109563a02
LocalPlayer: Restore 2u height sneak jump (#15015)
Fix 1: Do not consider LocalPlayer's CAO in the collision data.
Fix 2: work around the "aabbox3d::intersectsWithBox" edge-case.
2024-08-26 21:23:12 +02:00
Lars Müller
21ed680b10
Make getting bone overrides return the "same" euler angles (#15007) 2024-08-26 21:22:38 +02:00
SmallJoker
5583831c40 zstd: Fix minetest.decompress lockup when data ends too early 2024-08-26 18:32:59 +02:00
Desour
da1fc9a536 Meshgen: Don't get lights for not drawn solid faces
`drawCuboid()` doesn't call the face lighter function for masked
faces, so we don't need these values.
This is for performance.
2024-08-26 18:32:51 +02:00
sfan5
56123b2fbe Fix bounding box of clouds
fixes #15031
2024-08-23 18:46:12 +02:00
sfan5
7968ab6928 Move network protocol implementation behind an interface 2024-08-21 21:40:58 +02:00
sfan5
c6ef5ab259
Sanitize formspec fields server-side (#14878) 2024-08-21 21:34:46 +02:00
Gregor Parzefall
ab7af5d15a Fix trailing whitespace from #14179 2024-08-21 20:30:58 +02:00
grorp
66b3db3601
Fix mods folder being read twice with RUN_IN_PLACE=1 (#15024) 2024-08-21 20:25:58 +02:00
Zemtzov7
b2f6a65bc9
Sort clients in minetest.get_server_status and privs in minetest.privs_to_string (#15023) 2024-08-21 20:25:41 +02:00
wrrrzr
1bccb4e48c
Refactor tool.cpp (#14873)
Co-authored-by: sfan5 <sfan5@live.de>
2024-08-21 20:24:59 +02:00
sfence
f2c66b9ceb
Add possibility to easier override HP and breath engine logic by Lua (#14179)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
2024-08-21 20:24:43 +02:00
Lars Müller
dc21924f31
Fix animations not being restartable (#15016) 2024-08-20 11:51:52 +02:00
rubenwardy
2664afd832
Fix Windows enabling touch controls due to existence of touchscreen (#15003)
We want to check for the form factor instead.
2024-08-20 11:50:29 +02:00
Lars Müller
9ccd9d341f
Revert empty form name deprecation warnings 2024-08-20 11:49:41 +02:00
Daniel Hajjar
ec115ffe2a
Make SecureRandom non-failable 2024-08-20 11:49:15 +02:00
cx384
03e600a721 Fix whitespaces 2024-08-17 21:02:54 +02:00
Lars
3df070f352 Remove SAO::onAttach() and SAO::onDetach() 2024-08-17 19:49:38 +02:00
sfan5
5d226268df
Irrlicht cleanups (mostly getting rid of core::array)
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
2024-08-17 19:49:11 +02:00
1F616EMO~nya
5acc2736db
Translate access denied strings (#14842) 2024-08-17 19:48:54 +02:00
j-r
1fb49e9ca7
Add shared mods path to get_modpaths
...because the documentation implies it should be.
2024-08-17 19:48:40 +02:00
Lars Mueller
d3ca269c79 Add minetest.is_valid_player_name utility 2024-08-16 22:13:16 +02:00
Lars Mueller
6874c358ea Allow managing object observers
-----

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2024-08-16 22:13:16 +02:00
Lars Mueller
cc8e7a569e Switch player names to std::string 2024-08-16 22:13:16 +02:00
DS
603eb57943
Fix comment and alpha test node oopsies from #14852 2024-08-16 22:01:16 +02:00
Gregor Parzefall
0fb67ccb34 Add setting to disable smooth scrolling 2024-08-13 18:38:34 +02:00
Loïc Blot
cb0bbea2a5
refacto: rework the GUI element handler function (#14793)
We have a very very old way to perform this handling.
With this new method, we have a more proper and flexible way to extend our UI with comprehensible handlers with common interface parameters

In terms of performance, it took very few more more memory and scraping is more faster, using the unordered_map benefits
2024-08-12 18:52:33 +02:00
1F616EMO~nya
98e51a0159
Clamp hotbar selection to slots that exist (#14869) 2024-08-12 15:35:13 +02:00
sfan5
39c2af9710
Render clouds as flat when thickness is zero (#14897) 2024-08-12 15:35:00 +02:00
grorp
013c6ee166
TouchScreenGUI: Replace buttonbars with grid menu (#14918) 2024-08-12 15:34:50 +02:00
sfan5
85e717fcd1
Rework object attachment handling to fix bugs (#14825) 2024-08-12 15:32:18 +02:00
SmallJoker
e236ad8348
Lua API: fix OOB array access in find_nodes_near (#14948) 2024-08-11 20:21:12 +02:00
1F616EMO~nya
f04cdc00a6
Optionally hide player names on the serverlist (#14820)
This commit adds a setting to anonymize player names when sending data to the server list.
2024-08-11 20:19:53 +02:00
asrelo
cfa9c83d33
Improve fs::PathStartsWith to handle empty strings (#14877)
`""` does not refer to a proper path, and `fs::PathStartsWith(path, "")` should just return `false`. This is also the case in libraries in other languages where I looked, seems to be common.

The new behavior:
* check early, if `prefix` is empty - return if path is empty or not,
* no special processing for when `path` is empty, the function meets characters in `prefix` and returns false anyway.
2024-08-11 20:19:14 +02:00
Lars Müller
20afc762cc
Fix empty tables / text lists emitting row events (#14955)
Also makes these elements no longer show a selected nonexisting row
2024-08-11 17:54:05 +02:00
updatepo.sh
dfb23c8db0 Update minetest.conf.example and settings_translation_file.cpp 2024-08-11 17:35:23 +02:00
grorp
95a0cc8f9a
Avoid infinite recursion with unhandled second touch (#14915) 2024-08-03 18:48:25 +02:00
SmallJoker
26deb26f17
Sounds: Partial revert of #14436 and #14341 (#14889)
This reverts functional changes of:
 * commit bf52d1e6 (#14436)
 * commit 63a98538 (#14341)
2024-07-30 21:25:50 +02:00
sfence
4e1661eded
Fix inventory items unresponsive after tab interaction (#14661)
This was a soft lock until LMB was clicked again.
2024-07-22 19:14:53 +02:00
rubenwardy
60f8c02e18
Add setting to disable Content tab update indicator (#14827) 2024-07-22 16:35:47 +02:00
DS
768fd4adee
Restore buggy texture overlay modifier (#14852)
Required because of backwards compatibility.
2024-07-22 16:35:36 +02:00
sfan5
02f40e5b0d
Fix blockseed for on_generated in mapgen env 2024-07-22 16:31:46 +02:00
sfan5
a7a719261e
Minimize data sent in the default user agent (#14851) 2024-07-20 10:27:04 +02:00
sfan5
569df37442
Un-deprecate redis database backend (#14849)
This reverts commit 83bc362dacfdef2bdf18cae5e2c52f526e8431c5.
2024-07-14 21:56:55 +02:00
Gregor Parzefall
d733e1abea Don't allow sync. HTTP requests on the main thread anymore
Any sync. HTTP request on the main thread is a bug, don't allow introducing one again.
2024-07-12 22:33:17 +02:00
updatepo.sh
f5716ef141 Update minetest.conf.example and settings_translation_file.cpp 2024-07-11 15:13:57 +02:00
sfan5
a6121c7f67 Fix path traversal in mainmenu's extract_zip 2024-07-10 22:37:45 +02:00
grorp
3de42f56c5
Fix and improve particle(spawner) documentation (#14804) 2024-07-06 18:02:31 +02:00
grorp
fcb4f258f5
GUITable: Scale images with display density / row height (#14709) 2024-07-02 20:57:43 +02:00
Lars Müller
8ed55b3aff
Help modders deal with object invalidation (#14769)
* Skip invalid objects in raycasts
* Add `ObjectRef:is_valid` method
* Add object inside radius / area iterators which skip invalid objects
* Update docs to clarify object invalidation and how to deal with it

---------

Co-authored-by: sfan5 <sfan5@live.de>
2024-07-01 20:50:38 +02:00
grorp
ea827e4c5d
Fix new texture properties not being sent for minetest.add_particle (#14760)
Co-authored-by: Lars Müller <appgurulars@gmx.de>
2024-07-01 20:41:54 +02:00
1F616EMO~nya
321b217feb
Log node/ore name when detecting deprecated fields (#14794) 2024-07-01 17:26:15 +02:00
grorp
3958c19f83
Remove enable_touch special case for C++ menu scaling (#14800) 2024-06-30 20:39:36 +02:00
grorp
7709d92289
Restore old inconsistent minimum digging time behavior (#14777)
and restore default of 0.16 for repeat_place_time since it was only changed to be in line with repeat_dig_time.
2024-06-30 20:39:28 +02:00
grorp
4c001bd248
Make button sprites (scrollbar arrows) DPI-aware (#14772) 2024-06-26 15:25:27 +02:00
l-koehler
fe6da3a16b
Disallow formspec debug if the player does not have the debug privilege (#14753) 2024-06-17 15:59:49 +02:00
sfan5
fac9aac821
Move malloc_trim invocations to background thread (#14744) 2024-06-17 15:59:35 +02:00
grorp
d7f4ce6cff
Fix broken default sneak keybind on macOS with SDL (#14754) 2024-06-16 17:50:02 +02:00
grorp
a9cca5e76c
SDL2: Support highdpi (#14703)
and handle DPI changes at runtime
2024-06-16 17:49:42 +02:00
cx384
7a64527db5
Fix connected_players on_shutdown (#14739) 2024-06-15 16:00:33 +02:00
grorp
bc23a610d3
Fix two problems with toggling fullscreen at runtime (#14750) 2024-06-14 16:50:41 +02:00
grorp
85878d894a
Android: Fix back button sometimes not working as ESC (#14743) 2024-06-11 22:37:57 +02:00
Lars Mueller
ae4cd1ebf1 Corresponding code changes 2024-06-10 21:15:30 +02:00
sfan5
b7e886a740 Rename sha256 header
fixes #14710
2024-06-10 18:49:43 +02:00
sfan5
8268c61b9f Make safeWriteToFile safe for thread-concurrent use 2024-06-10 18:49:43 +02:00
sfan5
fee6e8e11b Identify when compiled with openresty LuaJIT
Debian testing ships it
2024-06-10 18:49:43 +02:00
sfan5
558d749d54 A few clean ups in log.cpp 2024-06-10 18:49:43 +02:00
sfan5
27cb54c1db Stop misusing volatile keyword 2024-06-10 18:49:43 +02:00
sfan5
71893807b3
Call malloc_trim() regularly to improve deallocation behavior (#14707) 2024-06-07 16:57:30 +02:00
SmallJoker
08485f6781 Chat: Remove tailing punctuation from clickable links 2024-06-05 20:11:47 +02:00
sfan5
87232358d3
Update some workflows to newer Ubuntu versions (#14668) 2024-06-03 20:39:02 +02:00
grorp
508b5ccc63
Document keymap_toggle_block_bounds, remove unimplemented BLOCK_BOUNDS_MAX (#14722) 2024-06-02 21:05:35 +02:00
grorp
833bb542fc
Allow toggling fullscreen without restart and add keybind (#14714) 2024-06-02 21:05:16 +02:00
sfence
140b9e5a5a
Allow game to specify first and last mod in mod loading order (#14177)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
2024-06-01 16:36:20 +02:00
Lars Mueller
a4768d1638 Fix fog moon tint not working 2024-06-01 16:34:32 +02:00
SmallJoker
670bb32b2c Particles: fix crash caused by absent texture
Introduced in commit f8bff34. The related code does already expect that
'texture.ref' may be nullptr.
2024-05-29 19:46:24 +02:00
Desour
f836a47bc1 Sound loading: Fix issues where ov_read skips samples 2024-05-27 17:12:58 +02:00
Desour
43df39c4f7 Sound loading: Improve error handling 2024-05-27 17:12:58 +02:00
Desour
9da5c5e2d0 Add precompiled header support
Note: the <filesystem> header is not included in the default
precompiled_headers.txt, because we don't use it yet, and it might be big
2024-05-27 17:12:39 +02:00
Desour
cdbbac5b6d Move sha256.c to lib/
Precompiled headers don't work if we're not a pure C++ project.
2024-05-27 17:12:39 +02:00
Gregor Parzefall
f3c91e4f96 Immediately apply gui_scaling changes to IGUISkin 2024-05-26 19:49:48 +02:00
sfan5
83bc362dac
Mark Redis database backend as deprecated (#14679) 2024-05-26 14:28:30 +02:00
grorp
728f643ea7
Scale C++ menus down to fit the window (#14690) 2024-05-24 12:10:46 +02:00
grorp
d5fc040d2d
Consistent width for internal scrollbars of formspec elements (#14689)
also: Make sure that very short, wide scrollbars are still usable
2024-05-24 12:10:19 +02:00
JosiahWI
1298374818
Upgrade client active object mgr tests to Catch2 (#14565)
* Upgrade client active object mgr tests to Catch2

In addition to invoking Catch2's test runner after Minetest's homemade
runner, this refactors the tests to follow the DRY principle, and gives
them expressive names and clear assertions. Catch2 is already bundled
with Minetest, so there are no added dependencies.

* Increment failed modules count for Catch2 tests

* Respect --test-module option for Catch2 tests

* Improve Catch2 --test-module behavior

This switches infostream to rawstream so that test runner output is
displayed, and returns the correct boolean depending on the results. The
tests are now found by setting the configuration instead of invoking the
command line parser.

* Test uniqueness of all IDS instead of just one

Co-Authored-By: Lars Müller <appgurulars@gmx.de>

* Include Catch2 test run in timing and logging

* Flush std::cout after printing Catch results

* Increment total tests run instead of hardcoding to 1

* Flush stderr before printing to stdout

It's necessary to flush stderr before printing to stdout in adition to
flushing stdout before printing to stderr, to make sure all output is
ordered correctly.

* Make Catch write to rawstream

---------

Co-authored-by: Lars Müller <appgurulars@gmx.de>
2024-05-22 18:39:53 +02:00