Commit Graph

7741 Commits

Author SHA1 Message Date
sfan5
9e14f5f053 Apply some fixes to server destruction order
was broken by bc4ab8b99e8a9530f2a53152ff03608e278b4351
2024-09-28 15:26:51 +02:00
sfan5
d6da80fe24 Fix vertex color on OpenGL 3
closes #14985
2024-09-28 12:09:58 +02:00
sfan5
700fbc803d Minor improvements to metadata handling 2024-09-27 21:35:27 +02:00
sfence
610ddaba7c
Allow detection of damage greater than HP (#15160)
Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2024-09-27 21:34:52 +02:00
grorp
fbb0e82679
Fix uninitialized shadow tint regression from #14610 (#15197)
* Fix uninitialized shadow tint

This resulted in shadows having a different, random color each time I started a game

* Fix formatting mistakes from the same PR
2024-09-27 11:08:35 +02:00
DragonWrangler1
65ec371b78
Allow allfaces drawtypes to have 6 textures (#15175) 2024-09-26 17:34:16 +02:00
sfence
d08d34d803
ABM without_neighbors (#14116) 2024-09-26 17:32:55 +02:00
sfan5
c1ea49940b Add questionable workaround for env lock contention 2024-09-26 17:31:49 +02:00
sfan5
5f308deb50 Switch env lock to fair mutex implementation 2024-09-26 17:31:49 +02:00
sfan5
0220d0d492 Encapsulate envlock 2024-09-26 17:31:49 +02:00
sfan5
588a0f83e9 Divorce map database locking from env lock (#15151) 2024-09-26 17:31:49 +02:00
grorp
526a2f7b8c
Dehardcode the death formspec (#15155)
Co-authored-by: Paul Ouellette <oue.paul18@gmail.com>
2024-09-24 22:37:44 +02:00
grorp
3c48671076
Fix -Winconsistent-missing-override in unit_sao.h (#15190) 2024-09-24 22:25:46 +02:00
Elias Åström
f65fe80e81
Add minetest.bulk_swap_node (#15043)
Co-authored-by: sfan5 <sfan5@live.de>
2024-09-24 22:25:34 +02:00
GefullteTaubenbrust2
d8f1daac25
Visual Effects Vol. 1 (#14610)
This PR adds a variety of effects to enhance the visual experience.

    "soft" clouds look
    Tinted shadows
    Crude water reflections (sky and sun) and waves
    Translucent foliage
    Node specular highlights
    Adjusted fog color (more saturated where the fog is lighter)
    Minor changes to volumetric lighting (crudely simulates the effect of depth)

Co-authored-by: sfan5 <sfan5@live.de>
2024-09-24 11:14:27 -07:00
Erich Schubert
4ac86db8e3
Simplify getGameTime function usage (#15187) 2024-09-20 15:05:51 +02:00
sfan5
811adf5d42 Bulk LBMs (#14954) 2024-09-20 15:05:26 +02:00
sfan5
7ae51382c8 Refactor ABM/LBM related code 2024-09-20 15:05:26 +02:00
Desour
24efd7dc91 Use smart ptrs for Minimap's member vars 2024-09-18 12:19:40 +02:00
Desour
9827f9df1b Use irr_ptr for MapBlockMesh::m_mesh 2024-09-18 12:19:40 +02:00
Desour
2b2f2dee20 Use make_irr instead of new + drop() in Game::handleCallbacks 2024-09-18 12:19:40 +02:00
Desour
b93ae33f85 Use irr_ptr for Game::sky 2024-09-18 12:19:40 +02:00
Desour
17c041a65c Use irr_ptr for Game::gui_chat_console 2024-09-18 12:19:40 +02:00
Desour
37b374cb92 Use irr_ptr for Game::clouds 2024-09-18 12:19:40 +02:00
Desour
ecf8c7696a Use irr_ptr for ClientEnvironment::m_map 2024-09-18 12:19:40 +02:00
Desour
e3efaa1733 Move irr_ptr.h too irr/include/ 2024-09-18 12:19:40 +02:00
Desour
6d01ed5d74 irr_ptr: Allow to use with forward-declared types
Also add [[nodiscard]] to ::grab() (because similar named irr_ptr::grab() returns void).
And use new std::is_convertible_v.
2024-09-18 12:19:40 +02:00
grorp
70e169f165
Drop fixed pipeline lighting stuff (#15165) 2024-09-18 12:18:28 +02:00
wrrrzr
6dfd61cba0
Fix TODO in joystick code (#15179) 2024-09-18 12:17:55 +02:00
sfan5
cc26b5384c Mark buffer as dirty in mesh helpers
unclear if this fixes any actual bug
2024-09-16 23:12:52 +02:00
sfan5
0fdcba197f Fix VBO hint in content_cao 2024-09-16 23:12:52 +02:00
sfan5
65af606729 Fix CAO mesh lighting with shaders disabled
the 'Lighting' material flag does not have portable behavior
2024-09-16 23:12:52 +02:00
grorp
740dc0162e
Don't use fixed pipeline lighting for stars (#15164) 2024-09-16 10:16:55 +02:00
grorp
47f199e6cb
Avoid cloud jump when switching between mainmenu and loading screen (#15163)
... by using the same Clouds object for both.
The mainmenu clouds already used shaders before. I had to choose between
both or neither, so now both the mainmenu clouds and the loading screen
clouds use shaders if available.
2024-09-16 10:16:27 +02:00
DS
4aec4fbe6f
Add support for Tracy profiler (#15113) 2024-09-15 13:47:45 +02:00
Gregor Parzefall
7bab390413 Add time_to_day_night_ratio to the Lua API 2024-09-14 12:13:11 +02:00
Gregor Parzefall
f9c0354af1 Add colorspec_to_table to the Lua API 2024-09-14 12:13:11 +02:00
DS
c54f5a2137
Move std::tie out of headers 2024-09-14 12:10:11 +02:00
j-r
a6219ab955
Fix alignment in implicit client hotbar definition
Used when an older server doesn't send it.
2024-09-14 12:09:56 +02:00
1F616EMO~nya
38b4505ad7
Allow requesting reconnect when mods kick player (#14971) 2024-09-12 23:42:46 +02:00
sfan5
72c306d920 Improve some protocol code log messages
also get rid of the very noisy socket debug message that are
useless in a world where Wireshark exists.
2024-09-12 23:41:56 +02:00
sfan5
f54f2c1601 Fix RTT set before value is available 2024-09-12 23:41:56 +02:00
sfan5
42af7cc1c5 Nerf protocol window sizes
Probably due to a unit misunderstanding a long time ago the window sizes
were quite insane (especially the default).
In practice this was sometimes hidden by other bugs, games trying their
best to be lightweight or didn't matter on high-quality internet connections.
2024-09-12 23:41:56 +02:00
sfan5
9c2b2c002c Count duplicate packets as congestion indicator 2024-09-12 23:41:56 +02:00
grorp
af67353f7a
Only apply "touch_punch_gesture" when wielded item has no on_use callback (#15098) 2024-09-12 23:41:47 +02:00
sfence
733a019bf5
macOS: make mute sound actually work (#15128) 2024-09-08 13:53:43 +02:00
Gregor Parzefall
2208fc0632 Move Minetest GUISkin -> Irrlicht CGUISkin 2024-09-08 13:53:33 +02:00
sfan5
3feec87d52 Count global number of drawcalls too 2024-09-08 13:53:23 +02:00
sfan5
275bef0633 Remove unused leftovers from normal mapping 2024-09-07 14:23:37 +02:00
sfan5
e90ef85e7d Fix texture matrix handling in our shaders 2024-09-07 14:23:37 +02:00
Lars Müller
9e5d6bc162
Fix upright sprite entities not animating 2024-09-06 12:11:16 +02:00
grorp
041d67ceca
Improve formspec scaling (#14840) 2024-09-06 12:11:03 +02:00
red-001
1527cdf6a4 SRP remove custom memory allocator 2024-09-06 11:30:35 +02:00
red-001
197d09cc53 SRP switch to porting randomness source 2024-09-06 11:30:35 +02:00
sfence
4fd744cdf6
Generate Minetest.app on macOS 12, so at least macOS 12 will be supported 2024-09-06 11:30:27 +02:00
sfan5
3af226cb06
Refactor "Cavegen y biome check" 2024-09-06 11:30:10 +02:00
red-001
486dc3288d
VoxelManipulator code cleanup (#15114)
* Cache node in voxel area index when possible

The index function according to the MSVC profiler actually takes up a significant time slice (around ~5% of total time for the process) during normal game-play.
Might not be accurate but still good to not recalculate it twice.

* Remove `setNodeNoRef` from VM

* VM: remove old commented out print statement
2024-09-04 15:20:39 +02:00
grorp
8349846333
TouchControls: Fix setUseCrosshair not being called (#15100) 2024-09-04 15:18:45 +02:00
Gregor Parzefall
08de047033 TouchScreenGUI: Show status text above grid menu 2024-09-04 15:18:34 +02:00
Gregor Parzefall
88397c2908 TouchScreenGUI: Don't release pointers when toggling grid menu 2024-09-04 15:18:34 +02:00
red-001
d5d8fb629b
Simplify TOSERVER_INIT and TOCLIENT_HELLO
- Network compression support was never added.
- Client hasn't used the returned playername since at least 0.4-stable.
2024-09-02 21:50:43 +02:00
sfan5
e55fb6da71 Mark a bunch of classes as final 2024-09-02 21:50:13 +02:00
sfan5
3fb4049612 Prevent accidentally copy/move of refcounted objects 2024-09-02 21:50:13 +02:00
sfan5
62131fe295 Put all pieces together and clean up leftover code 2024-09-02 21:50:13 +02:00
sfan5
47e4c33a50 Split CIndexBuffer from CMeshBuffer 2024-09-02 21:50:13 +02:00
sfan5
5d6e15bc49 Split CVertexBuffer from CMeshBuffer 2024-09-02 21:50:13 +02:00
sfan5
538b8b9b34 Avoid unsafety with stack-allocated mesh buffer 2024-09-02 21:50:13 +02:00
1F616EMO~nya
6105804f00
Show full texture string in "generateImage(): Failed to generate" errors (#15033) 2024-09-02 16:10:01 +02:00
DS
f23d7459b3
Allow to disable transparency sorting entirely (#15101) 2024-09-02 16:09:42 +02:00
SmallJoker
0c4f03d9a5
Reduce include count in headers 2024-09-02 16:09:32 +02:00
sfan5
b8b99d5cf1 Use std::string_view in logging code 2024-09-02 16:09:14 +02:00
JosiahWI
ac11a14509
Add static glTF support (#14557)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: jordan4ibanez <jordan4ibanez@users.noreply.github.com>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2024-09-02 14:50:30 +02:00
sfan5
8972c80d7d Warn if max_packets_per_iteration reduced 2024-08-31 20:47:38 +02:00
sfan5
1380bf9b88 Fix ordering issue with new server peers 2024-08-31 20:47:38 +02:00
sfan5
7afa78ec82 Remove obsolete client connection init workaround
m_connection_reinit_timer has a head-start of 0.1s and this code
only took effect for the very first game session so it was broken
anyway.
2024-08-31 20:47:38 +02:00
red-001
43363ee066
Disable CRT security warnings in MSVC (#15077)
MSVC by default warns if Annex-K style secure functions with additional parameter validation are not used. For better or worse, afaik other major compilers don't implement it, so it's not a very useful warning for a cross-platform project.
2024-08-31 20:47:29 +02:00
red-001
48e65ac846 Don't attempt to process packets when there are none
Under certain unlikely circumstances the main server loop could attempt to process packets even when the connection didn't return one. This would result in the default empty packet being processed resulting in spurious warnings about a missing client.
2024-08-31 20:46:27 +02:00
red-001
1b8b84bee8 connection: Remove unused timeout feature
Was only used for a unit test and incorrectly at that.
2024-08-31 20:46:27 +02:00
grorp
6608057971
Fix uninitialized SkyboxParams::fog_color 2024-08-31 20:46:14 +02:00
grorp
eae9a70385
TouchControls: Fix outdated player controls in TOSERVER_INTERACT 2024-08-31 20:45:32 +02:00
grorp
322a9c2f74
Restore proportional minimap scaling (#15022) 2024-08-31 18:11:56 +02:00
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