Commit Graph

7114 Commits

Author SHA1 Message Date
sfan5
659828b142 Rename ModApiEnvMod and ModApiItemMod
The 'mod' could have meant module in the past but no other classes do this.
2023-06-23 09:05:26 +02:00
sfan5
610578e3e2 Use swapNode for set_node_level and add_node_level
While this is a behaviour change I don't think the old one made any sense.
It's possible that someone hit this before and wrote a workaround for it,
they won't be affected by this change.
It only makes things work that didn't before.
2023-06-23 09:05:26 +02:00
sfan5
62629939ff Genericize find_node_near and find_node_in implementations in C++ 2023-06-23 09:05:26 +02:00
sfan5
20b10b5691 Refactor EmergeParams owner 2023-06-23 09:05:26 +02:00
sfan5
32ff832108 Save Lua globals after mod loading
These are used for the async env currently and will be needed elsewhere soon.
2023-06-23 09:05:26 +02:00
sfan5
524d446757 Minor script api fixes/cleanups 2023-06-23 09:05:26 +02:00
wsor4035
5b6bc8a12b
Remove unsupported media formats from client.cpp 2023-06-22 17:52:48 +02:00
Gregor Parzefall
03ffc2618c
TouchScreenGUI: Add an exit / "ESC" button to the rare controls bar (#13574) 2023-06-22 17:50:36 +02:00
numzero
7c26cb1c35 Drop unused tile rotations 2023-06-22 17:50:20 +02:00
numzero
1102f92dac Use a enum for tile rotation 2023-06-22 17:50:20 +02:00
numzero
729671d6ae In getNodeTile, use a descriptive struct for the lookup table 2023-06-22 17:50:20 +02:00
numzero
d676520526 Optimize trigonometry out of MapblockMeshGenerator::drawCuboid 2023-06-22 17:50:20 +02:00
numzero
c29d897854 Optimize trigonometry out of MapblockMeshGenerator::drawLiquidTop 2023-06-22 17:50:09 +02:00
numzero
b8ddde0a96 Store liquid data as dimensionless fractions instead of BS multiplies 2023-06-22 17:50:09 +02:00
Desour
03dda13910 OpenALSoundManager: Fix a buffer overflow 2023-06-20 20:54:39 +02:00
lhofhansl
8f25f487fe
Instrument touchMapBlocks and block loading/deserialization. (#13314) 2023-06-19 16:59:08 -07:00
Vitaliy
f1feeb319c
Cull liquid back face on liquid-glasslike interface (#13594) 2023-06-18 13:52:14 -07:00
DS
edcbfa31c9
Sound refactor and improvements (#12764) 2023-06-16 20:15:21 +02:00
Wuzzy
6b3deaa170 Add disable_descend to disable active node sinking 2023-06-16 20:14:08 +02:00
Muhammad Rifqi Priyo Susanto
a4e69d6843
TouchScreenGUI: Read coordinates directly for virtual joystick (#13567)
The movement's direction and speed are calculated directly from the button's relative screen coordinate. The previous method was to trigger the movement using a keyboard event.
The only virtual joystick status left is Aux1 button.

---------

Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2023-06-16 22:40:16 +07:00
Desour
c549e84abb Silence a -Wsign-compare warning for invlist indices 2023-06-15 13:55:20 +02:00
Desour
dade95e142 Fix curl deprecation warnings, and set minimum curl version to 7.56.0 2023-06-15 13:55:20 +02:00
Desour
f947e2afec Fix some gcc -Wself-move warnings 2023-06-15 13:55:20 +02:00
Desour
6a05d63993 Use [[noreturn]] 2023-06-15 10:38:44 +02:00
Desour
5e6d144567 Enable -Wimplicit-fallthrough and use [[fallthrough]] attribute 2023-06-15 10:38:44 +02:00
Desour
9c348d057e Replace the old STATIC_ASSERT macro with static_assert 2023-06-15 10:38:44 +02:00
Desour
8b108ed5f2 Use nicer syntax for nested namespace definitions 2023-06-15 10:38:44 +02:00
Desour
e700182f44 Replace Optional with std::optional 2023-06-15 10:38:44 +02:00
Desour
34ad551efc Use MutexAutoLock for Thread::m_start_finished_mutex 2023-06-15 10:38:44 +02:00
Pascal Abresch
ba80d1ce1f Implement check_offset for decorations 2023-06-15 10:36:46 +02:00
DS
c91182e1b3
Move the platform-dependent stuff in renderingengine.cpp to irrlicht (#13348) 2023-06-11 14:17:39 +02:00
DS
553dc02deb
Fix some memleaks from GUIButtonImage (#13564)
* `m_foreground_image` was grabbed, but not dropped in the destructor.
* `m_image` was created with new. It is grabbed by itself and by the env (not only by the env!, so it's an owning ptr). This owning ptr also was never dropped.
2023-06-06 19:01:32 +02:00
Desour
1b51ff333a Use unique_ptr for ServerInventoryManager::DetachedInventory::inventory 2023-06-05 20:43:33 +02:00
Desour
1780d1bbde Use unique_ptrs for MapSector::m_blocks 2023-06-05 20:43:33 +02:00
Desour
08ea467bfe Use unique_ptr for g_httpfetch_thread 2023-06-05 20:43:33 +02:00
Desour
cfb1b879e0 Use unique_ptrs for CurlFetchThread::m_all_ongoing 2023-06-05 20:43:33 +02:00
Desour
d0bcdff5ce Use unique_ptrs for leveldb db and iterators 2023-06-05 20:43:33 +02:00
Gregor Parzefall
a1463263b5
Auto-detect locale on Android (#13561) 2023-06-05 12:02:10 +02:00
Gregor Parzefall
a857c46e6e
Make the settings GUI more usable on Android (#13543) 2023-06-05 12:01:54 +02:00
Desour
d9f478cbfb Remove a misleading MutexAutoLock in l_to_table
The temporary is immediately destructed, so the mutex isn't locked
after the line.
Removed the lock, because the Settings member-functions used by
push_settings_table lock the mutex and are thread-safe, but would
cause a dead-lock.
2023-06-05 12:01:08 +02:00
OgelGames
252c79d53a
Inventory mouse shortcut improvements (#13146)
Co-authored-by: Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>
2023-06-05 12:00:32 +02:00
Riley Adams
29b7aea38b
Cavegen y biome check (#13472) 2023-06-05 11:59:22 +02:00
Muhammad Rifqi Priyo Susanto
7221de6ede Option to invert direction or disable mouse wheel for hotbar item selection
More changed callbacks for the settings are added in readSettings(). Those are also deregistered when the Game object is destroyed.
2023-05-31 12:40:00 +07:00
Treer
8cd1296049
Add additional texture modifiers (#10100)
* Adjust hue, saturation, and lightness
* Colorize using hue, saturation, and lightness
* Adjust contrast & brightness
* Hard light
* Overlay
* Screen
* Create texture of a given size and color
2023-05-29 20:17:39 +01:00
lhofhansl
a8ec6092e2
Load blocks and objects behind player when in third-persion front-view (#13431) 2023-05-29 10:26:42 -07:00
Gregor Parzefall
fc3d6c1dd9
Place nodes with single tap on Android (+ bugfix) (#13187)
Don't place nodes when closing button bars.
Update docs (also in-game).
Rename "Default controls" -> "Controls" in Android pause menu since players can't change them (normally), so calling them "default" doesn't make sense.
2023-05-29 12:30:30 +07:00
lhofhansl
6832bf044e
Avoid jittering when player is attached (#12439)
* Avoid very jittering when player is attached.

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Vitaliy <numzer0@yandex.ru>
2023-05-28 11:36:34 -07:00
sfan5
8cccd75e81
Android build via CMake (#13528)
* the thing

* the thing 2
2023-05-26 15:21:23 +02:00
Thresher
00c647e4cc
Convert spaces to tabs (#13506)
* Convert spaces to tabs

* Desour reviews 1-3 fix

* Desour fixes

* Undo alignment changes
2023-05-26 15:13:57 +02:00
ROllerozxa
f4cb16cc2d
Disable desynchronize_mapblock_texture_animation by default (#13514) 2023-05-26 13:48:37 +02:00
Zughy
d6eb6ff973
Reset player lighting when passing no arguments (#13525)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2023-05-26 13:47:16 +02:00
Zughy
b60d38b7f9
Reset day/night ratio even when passing no arguments (#13524)
* reset day_night_ratio when passing zero fields

* Update lua_api.md

---------

Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2023-05-26 13:45:42 +02:00
Thresher
180ec92ef9
Remove trailing whitespace (#13505) 2023-05-18 20:34:18 +02:00
SmallJoker
95a9f4ab7c
Inventory: Allow InvRef:set_list with new_size >= old_size (#13497)
Fixes a regression introduced by enforced checks to work with
valid pointers within inventory actions.
2023-05-18 20:32:55 +02:00
Gregor Parzefall
f393214fef
Settings menu improvements regarding default values (#13489)
The reset button now removes the setting from minetest.conf instead of setting it to its default value.
The reset button is now shown whenever a value is present in minetest.conf
Float settings now get a .0 suffix if they have no decimal places.
2023-05-18 20:32:26 +02:00
savilli
5ba70cf5ef
Fix crash on handling wallmounted nodes with invalid param2 (#13487) 2023-05-18 20:31:04 +02:00
Zemtzov7
35112f2453
Disable vertical movement when both jump and sneak keys are pressed (#13426) 2023-05-18 20:30:21 +02:00
Gregor Parzefall
15fb4cab15
Fix Android segfault when game exits before TouchScreenGUI is initalized 2023-05-11 22:51:16 +02:00
sfan5
15445a0fbe Raise and clean up _WIN32_WINNT constant 2023-05-11 22:51:01 +02:00
Wuzzy
80574cdbe8
Fix rotation of 4dir in schematic placement (#13432) 2023-05-11 22:50:52 +02:00
Buckaroo Banzai
65692ad1b5
Add min/max protocol version to minetest.get_version() (#13482) 2023-05-06 16:16:21 +01:00
DS
bec9c68bf3
Release invlist resizelock while doing the recursive callback in move_somewhere mode (#13470)
Fixes a crash in popular creative inventory mods that set the list when you put
something into trash.
2023-04-30 18:20:48 +02:00
lhofhansl
b35aa10579
Guarantee ActiveObjectMgr::m_active_object is not modified while iterating (#13468)
Currently if a mod creates new active objects in on_deactivate the server could crash.
2023-04-28 11:17:48 -07:00
Desour
7f6b09dce8 Use json forward-declarations 2023-04-27 18:50:33 +02:00
Desour
8b73743baa Reduce number of recursively included headers
This should improve compilation speed.

Things changed:
* Prefer forward-declarations in headers.
* Move header-includes out of headers if possible.
* Move some functions definitions out of headers.
* Put some member variables into unique_ptrs (see Client).
2023-04-27 18:50:33 +02:00
Desour
e9e8eed360 GUIChatConsole: Use primary selection 2023-04-27 18:50:17 +02:00
Desour
062b4d036a GUIEditBox: Use primary selection 2023-04-27 18:50:17 +02:00
SmallJoker
0fb6dbab36
InventoryManager: Disallow resizing or deleting inventory lists that are in use (#13360)
Naive solution to prevent InventoryList UAF and OOB ItemStack access caused by shrink/clear operations on InventoryLists within callbacks of an inventory action.

Co-authored-by: Desour <ds.desour@proton.me>
2023-04-22 17:42:36 +02:00
rubenwardy
4158b72971
Add ability to override item images using meta (#12614) 2023-04-17 19:44:41 +01:00
rubenwardy
b1786e88ac Use .md extension for markdown files
Linking to line numbers is brittle, linking to sections/headings is better.

If you still want to link to a line number, you can append ?plain=1 to GitHub's URL
2023-04-16 20:23:53 +01:00
rubenwardy
5cd6a22dd3
Update settingtypes (#13428)
* Move settings to correct sections
* Improve titles and descriptions
* Make defaults in settingtypes.txt and defaultsettings.cpp match

Fixes #9002
2023-04-14 22:32:25 +01:00
Desour
ccd696c49a Throw Hocroft-Karp onto shapeless recipes 2023-04-14 21:10:09 +02:00
Desour
50e91b882c Add some simple unittests for shapeless recipes
Note: devtest also has craft unittests (see devtest/mods/unittests/crafting.lua),
      but those aren't run at load-time.
2023-04-14 21:10:09 +02:00
DS
ae7271b725
Fix background[] pos-offset lower-right-corner being at least (1,1) (#13320)
IGUIElement has a MinSize for the RelativeRect, which is at least (1,1).
This means a pos offset of (0,0) will cause a seemingly off-by-1 error at the
lower right corner, and (0.1,0.1) for example will just not work on the lower
right corner.
Ergo, we can't use the AbsoluteRect for storing the pos offset.
2023-04-14 21:05:09 +02:00
DS
d49d80a4a0
Store whether window is maximized (#12861) 2023-04-14 21:04:03 +02:00
Lars
f9b1176fa9 Track server's max AsyncRunStep 2023-04-14 00:09:48 +01:00
Lars
3d232e2345 Add MAX profiler option 2023-04-14 00:09:48 +01:00
rubenwardy
9d1ae80e89
Add focused styling to buttons (#13414) 2023-04-14 00:09:29 +01:00
Gregor Parzefall
2a1bc82887
Fix black loading screen background if menu_clouds = false (#13322) 2023-04-13 18:12:48 +01:00
Wuzzy
d1e5dbefc7
Clarify documentation of punch key (#13238) 2023-04-13 18:12:26 +01:00
Desour
fc116ec950 Play object footstep sound at feet 2023-04-13 18:12:13 +01:00
Zardshard
e139749b5c
Simulate all keys being released when when game loses focus (#13336) 2023-04-13 18:06:21 +02:00
rubenwardy
2fc7eb3ea2
Remove formspec_default_bg_color/opacity settings (#13419)
These settings are unnecessary. They only apply when formspecs don't have a background/bgcolor set. In practice, most games do theme their GUIs. Removing low value settings simplifies code and improves UX by decluttering the settings menu

Split out from #12140
2023-04-11 19:57:36 +01:00
Desour
1dd13da37d Get rid of global dummySoundManager
There is no need for this to be globally unique.
2023-04-11 20:06:15 +02:00
Desour
b201c03625 Use smart-ptrs in GUIEngine 2023-04-11 20:06:15 +02:00
Desour
ceec560779 Add make_irr 2023-04-11 20:06:15 +02:00
Riley Adams
73391013f7
Add node pos to node damage HP change reason (#13196) 2023-04-10 23:04:52 +01:00
Lars
4a742be73e Do not call updateDrawList, updateDrawListShadow, and touchMapBlocks in the same frame 2023-04-09 07:10:17 -10:00
Lars
8982998681 Add a default direction light for shadows 2023-04-09 07:10:17 -10:00
sfan5
9d736e8b8b Drop ENABLE_GLES option
ENABLE_GLES predates forking Irrlicht. Its primary use was to distinguish Irrlicht-ogles from upstream version as Minetest could be compiled with either.
That's not necessary anymore and gets in the way sometimes.
2023-04-08 20:19:35 +02:00
sfan5
c26e122485 Move video_driver default selection to runtime 2023-04-08 20:19:35 +02:00
Desour
67068cfaf4 Get rid of wgettext 2023-04-08 20:17:50 +02:00
Vitaliy
35929d27e3
Remove fast faces (#13216)
Co-authored-by: Lars <larsh@apache.org>
2023-04-08 20:17:15 +02:00
SmallJoker
ba2fee0751 Particle spawner: Fix missing parameters
The changes done to clientpackethandler.cpp and server.cpp move the
compatibility code into a protocol version check so that older code
parts can easily be removed in the future (e.g. bump of minimal version).
2023-04-08 17:23:17 +02:00
SmallJoker
f8e0778fc9 Particle spawner: Move definitions to source
Long functions were moved to the source file to keep the header
short to speed up compiling. This has no functional change.
2023-04-08 17:23:17 +02:00
SmallJoker
9c9309cdbb
Lua API: Catch serialization error for chat messages (#13337)
Prevents server errors caused by too long chat messages from the Lua API.
2023-04-07 12:49:35 +02:00
SmallJoker
d975ebdcb9
Limit formspec fields to 640K (#13380)
Fixes an issue where long inputs could cause issues when dealing with formspecs.
The expected data is usually below 1 KiB, however that's not a technical limit.
2023-04-07 12:49:23 +02:00
Lars
7048fc25dd Take mesh-bounding-sphere into account in updateDrawListShadow 2023-04-03 13:57:05 -07:00
Lars
b01f85d573 Revert "Add mesh-holding blocks to shadow drawlist. (#13203)"
This reverts commit 2a8becd650a8adaa86fd7f76122ea75f11f49dad.
2023-04-03 13:57:05 -07:00
SmallJoker
1c1f1b1615 Revert "Enable connected glass by default (#13242)"
This reverts commit a93f3542d92e87c3d728f067358e6f42b31cfe96 for
the upcoming 5.7.0 release.

See https://github.com/minetest/minetest/issues/8290 for a detailed discussion.
2023-04-02 20:56:31 +02:00
x2048
6c0a6925fc
Corrections to loops and BFS cullers (#13375)
* Reset usage timers in loops culler
* Correctly touch map blocks when using bfs culler
* Align use of variables
* Report statistics when using loop culler
2023-04-01 22:41:00 +02:00
sfan5
819e9fc615 Do not rely on ZSTD_CLEVEL_DEFAULT define 2023-04-01 22:06:03 +02:00
lhofhansl
48fc286a95
Restart map-send cycle if visible blocks are soon to be unloaded. (#13277)
* Restart map-send cycle if visible blocks are soon to be unloaded.
* Reset completion timer when camera or position changed.

Co-authored-by: sfan5 <sfan5@live.de>
2023-03-30 09:19:13 -07:00
x2048
93898957b6
Return 'loops' occlusion culler under a setting (#13352)
* Add occlusion_culler setting to minetest.conf.example
* Add raytraced occlusion culling to 'loops' algorithm

---------

Co-authored-by: sfan5 <sfan5@live.de>
2023-03-30 00:10:23 +02:00
sfan5
bd88d299b9 Bump protocol version
and correct documentation of previous version
2023-03-29 23:19:39 +02:00
DS
2180dc14ef
Fix safeLoadFile() skipping 2 chars too much from the shebang (#13310) 2023-03-27 20:01:05 +02:00
DS
ed632f3854
Safely handle block deletion (#13315)
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2023-03-24 12:34:44 +01:00
x2048
f3b198e490
Return shadow_sky_body_orbit_tilt setting
Used as a default value when the game does not change the value via API (e.g. legacy server)
2023-03-24 12:34:21 +01:00
x2048
9af587c54e
Move rendering engine reset after deletion of game objects 2023-03-20 11:42:16 +01:00
x2048
6cd2eea487
Move drawing of wield tool into a dedicated step of the pipeline (#13338) 2023-03-19 21:31:15 +01:00
luk3yx
5fa63a0b0c
Fix server-side formspec state keeping issue (#13332) 2023-03-19 20:23:11 +01:00
x2048
6fe9bc8ae1
Remove obsolete rendering core init code (#13341)
Also removes duplicate call to shadow render step
2023-03-19 20:22:45 +01:00
Gregor Parzefall
38e005294f
Remove default keybind for pitchmove (#13319) 2023-03-16 14:57:44 +01:00
x2048
2bed338ef7
Fix occasional black screen on startup 2023-03-16 14:56:27 +01:00
Jude Melton-Houghton
b7359f5fa9 Update nodes in LBM loop 2023-03-13 18:17:07 +01:00
DS
cac1dca95b
Improvement of #12974: better linear independent vector (#12979) 2023-03-13 18:16:07 +01:00
DS
02346819f9
Fix rendertarget size being saved as screensize (#13313) 2023-03-12 19:56:49 +01:00
lhofhansl
3e148e2810
Fix infinite viewing_range (#13225)
Use a simplified version of the old loops culler for infinite viewing range.
2023-03-12 09:37:47 -07:00
DS
b1ed0ef721
Fix ChatPrompt crash in very narrow windows (#13305)
In very narrow windows, `m_cols` can be small (i.e. 0).
Hence, `m_view <= m_line.size() + 1 - m_cols` does not guarantee
`m_view <= m_line.size()`.
`std::string::substr(pos, npos)` requires `pos <= size()`.
2023-03-11 17:46:49 +01:00
x2048
705195b43e
Scale culler steps proportionally to the mesh sizes (#13250) 2023-03-11 14:10:26 +01:00
updatepo.sh
c77f3d4dc4 Update minetest.conf.example and translation file 2023-03-09 15:38:46 +01:00
lhofhansl
1f0d042377
Reduce server CPU consumed by occlusion culling. (#13260)
Cache blocks already occluded at a specific distance. The RemoteClient typically visits the same distance multiple time - especially at larger distances, so this saves significant CPU from recalculating the occlusion state of blocks.
2023-03-05 21:33:41 -08:00
ROllerozxa
c91f3f99fd
Minor adjustments now that OpenGLES 2 is the default driver on Android (#12391) 2023-03-05 15:07:40 +01:00
SmallJoker
847ed04e0a Tile: Fix segfault caused by invalid PNG data 2023-03-05 14:41:55 +01:00
Lars
e66e583f5e Remove accidental emacs files. 2023-03-03 17:51:45 -08:00
lhofhansl
dcf6a6a67b
Log server map send cycle time. (#13259)
* Measure server map send time per player.
2023-03-03 17:41:30 -08:00
sfan5
915befecc5 Re-enable verbose logging on Android
Without recompiling, there's no way to see it in logcat otherwise.
2023-03-02 19:57:18 +01:00
PrairieWind
a93f3542d9
Enable connected glass by default (#13242) 2023-03-02 19:56:55 +01:00
numzero
d6be6682ec Drop dependency on IrrCompileConfig
The only remaining thing is IRRLICHT_SDK_VERSION via irrlicht.h
2023-03-01 09:06:23 +01:00
rubenwardy
39f4d26177
Add minetest.get_player_window_information() (#12367) 2023-02-27 22:58:41 +00:00
lhofhansl
fbbdae93ee
Fix for #13255: Check if client has a block even if the server has unloaded it. (#13256) 2023-02-27 09:57:03 -08:00
lhofhansl
fe3ea090d1
Don't expire blocks visible to the client. (#13255) 2023-02-26 14:18:18 -08:00
sofar
2083252c05
Sky: transmit body_orbit_tilt to client. (#13193)
This obsoletes the current client-side setting entirely. The server can
transmit the tilt to the client directly and will send 0.0f as default
value.

Co-authored-by: x2048 <codeforsmile@gmail.com>
Co-authored-by: sfan5 <sfan5@live.de>
2023-02-26 01:08:33 +01:00
DS
6e1c70e02b
Fix a -Wreorder warning 2023-02-22 11:06:48 +01:00
lhofhansl
63c378fb5b
Reduce client's packet processing budget per iteration from 100 to 10ms. (#13237) 2023-02-21 16:33:21 -08:00
x2048
2553db5c81
Fix rounding errors when slicing the shadow draw list (#13226) 2023-02-20 21:01:05 +01:00
Alex
af4009d924
Add chat HUD flag (#13189) 2023-02-20 21:00:37 +01:00
paradust7
aa5dc0968b
Fix typo and missing entry in serveropcodes 2023-02-18 16:47:08 +01:00
sfan5
3bafbaac49 Remove dead code behind Irrlicht version checks 2023-02-18 16:46:51 +01:00
20kdc
75e6cc190a
Source image tracking in tile generation (#12514) 2023-02-18 00:03:03 +01:00
lhofhansl
2a8becd650
Add mesh-holding blocks to shadow drawlist. (#13203)
When mesh chunking and shadows are enabled, make sure that the mesh-holding blocks are added to the shadow drawlist.
Otherwise those portions of the shadows will not be rendered.
2023-02-16 15:43:08 -10:00
lhofhansl
d3a6ee00e6
Generalize mesh chunking, and make it configurable. (#13179)
* Generalize mesh chunking. Set 3x3x3 chunks.

* Make mesh chunk size configurable... Default to 1 (off).

* Extract all mesh grid maths into a dedicated class

---------

Co-authored-by: x2048 <codeforsmile@gmail.com>
2023-02-08 13:42:12 -08:00
lhofhansl
56d2567b5d
Separate drawlist from non-rendered blocks. (#13176) 2023-02-01 08:41:23 -08:00
x2048
69fc206109
8x block meshes (#13133)
Reduce the number of drawcalls by generating a mesh per 8 blocks (2x2x2). Only blocks with even coordinates (lowest bit set to 0) will get a mesh.

Note: This also removes the old 'loops' algorithm for building the draw list, because it produces visual artifacts and cannot be made compatible with the approach of having a mesh for every 8th block without hurting performance.

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
Co-authored-by: Lars <larsh@apache.org>
Co-authored-by: sfan5 <sfan5@live.de>
2023-01-31 17:30:59 +01:00
lhofhansl
cded6a3945
Display whole profiler numbers up to 999999 without scientific notation. (#13155) 2023-01-24 17:40:23 -08:00
x2048
b8aaad4f1e
Remove the 'loops' occlusion culler (#13169) 2023-01-23 10:58:29 +01:00
DS
8478796226
Decrease minimum for repeat_place_time (#13165) 2023-01-23 00:20:12 +01:00
sfan5
87d509e462
Implement --debugger option to improve UX when debugging crashes (#13157) 2023-01-23 00:19:30 +01:00
x2048
6f5703baf1
Clear exposure compensation state textures on creation (#13151) 2023-01-23 00:18:48 +01:00
x2048
ca13c51024
Fix concurrency in texture source (#13150) 2023-01-19 21:44:27 +01:00
SmallJoker
ecd6d61697
Revisit F6 statistics formatting (#13126) 2023-01-16 20:16:23 +01:00
Jude Melton-Houghton
2f9f0c0900
Improve chat history (#12975) 2023-01-14 16:14:37 -05:00
sfan5
8fded9d990
Disable Prometheus in singleplayer mode 2023-01-14 13:11:15 +01:00
Jude Melton-Houghton
3992a13f24
Improve MetaDataRef:{get,set}_float precision (#13130) 2023-01-12 15:40:34 -05:00
Jude Melton-Houghton
5f2925c59c
Increase ftos precision (#13141) 2023-01-12 14:12:31 -05:00
Jude Melton-Houghton
956026bb6b
Break long lines of option help (#13136) 2023-01-12 14:12:05 -05:00
x2048
139db66901
Remove mapblock cache for mesh generation. (#13124)
Reduces memory consumption and improves performance
2023-01-09 21:40:08 +01:00
ROllerozxa
390b5caaaa
Fix crash on Android with IrrlichtMt9 (#13123)
Caused by mouse control
2023-01-08 14:04:17 +01:00
iliekprogrammar
fb28ca463e
Clamp player wieldindex when processing hotbar item selection (#13098) 2023-01-08 14:03:16 +01:00
lhofhansl
55804c56e9
Report collisionMoveSimple for client and server. (#13105) 2023-01-07 16:31:31 -08:00
ROllerozxa
bb74da5903
Remove old rollback migration code (#13082) 2023-01-06 22:35:20 +01:00
x2048
6d45c243f8
Add dynamic exposure correction (#12959)
* Add uniform for frame delta time
* Adjust exposure in logarithmic (EV) space
* Add network support and LUA API
* Add testing mod
2023-01-06 22:33:25 +01:00
x2048
2715cc8bf6
Occlusion culling algorithm based on recursive descend (#13104)
Co-authored-by: DS <vorunbekannt75@web.de>
2023-01-06 22:31:06 +01:00
sfan5
059f62d7d6 Use consistent optimization flags for *BSD
This was added for seemingly no reason in c410e9182d322a8c095ef94fbadf4d8f541e6b98 (2014)
2023-01-05 23:09:51 +01:00
x2048
89e7f72c92
Use multiple threads for mesh generation (#13062)
Co-authored-by: sfan5 <sfan5@live.de>
2022-12-27 18:44:18 +01:00
SmallJoker
03e710160f
Lua API: Document shader dependencies of set_lighting() (#13079) 2022-12-26 21:59:55 +01:00
lhofhansl
1e7804aaf6
Allow saturation to be controlled by the server. (#13075) 2022-12-25 16:15:32 -08:00
ROllerozxa
afd5caa26a
Fully remove pageflip 3D mode (#13074) 2022-12-25 10:57:39 -05:00
Jean-Patrick Guerrero
33363c2a7e
Fix progress bar look on HiDPI displays (#13055) 2022-12-24 12:26:56 -05:00
Jude Melton-Houghton
d13b12b791
Store MapEditEvent blocks in a vector (#13071) 2022-12-24 12:21:59 -05:00
Jude Melton-Houghton
5c248c2d7d Add callback on_mapblocks_changed 2022-12-24 08:24:59 -05:00
Jude Melton-Houghton
7701e70dc9 Make MapEditEvent more complete
SetBlocksNotSent is no longer used.
2022-12-24 08:24:59 -05:00
ndren
62ee02b8ba
Set and unset relative mouse mode where necessary (#12636)
* Set and unset relative mouse mode where necessary

Co-authored-by: sfan5 <sfan5@live.de>
2022-12-24 09:38:30 +01:00
Jude Melton-Houghton
0fc97a1483
Use a Lua error handler that calls tostring (#11913) 2022-12-15 07:37:49 -05:00
Jude Melton-Houghton
1f3b5e553b
Fix plantlike_rooted world-aligned node base textures (#12994)
Co-authored-by: Wuzzy <Wuzzy@disroot.org>
2022-12-12 08:45:09 -05:00
updatepo.sh
111d047b0a Update minetest.conf.example 2022-12-10 15:35:46 +01:00
Jude Melton-Houghton
c18c082059
Prevent air acceleration with 0 jump speed (#13036) 2022-12-10 09:08:50 -05:00
Jude Melton-Houghton
1798ad0ec4
Avoid out-of-bounds memory access in attached node placement prediction (#13038) 2022-12-10 09:00:27 -05:00
sfan5
37386b9c3c
Expose dtime_s to LBM handler 2022-12-04 12:35:14 +01:00
Jude Melton-Houghton
b3ffc4b327
Add minetest.get_mapgen_edges (#12999) 2022-12-03 10:40:46 -05:00
lhofhansl
e84d259ec7
Remove shader caching hack. (#12991) 2022-11-30 13:56:14 -08:00
Muhammad Rifqi Priyo Susanto
281f9a9f88
Android: Segmentation fault fix, PendingIntent flag, and other fixes (#12960)
* Android: Segmentation fault fix, PendingIntent flag, and other fixes

- Information about the crosshair is sent after camera initialization.
- Since API 31, PendingIntent requires mutability flag.
- super (class) is called in onRequestPermissionsResult().
- GameActivity suppresses "unused" warning since most of its methods are called from native code.
- Non-null safety is added for nullable function calls.
- Warning/error logging is added for various function calls' return value.

* Move utility functions into Utils.java

- Some nullable functions are changed to be non-null functions.
- Some null checking outside it is removed.
- More annotations are added to functions and parameters.
2022-11-30 10:50:06 -05:00
Jude Melton-Houghton
055fc69c11
Handle num lock in chat (#12984) 2022-11-30 10:43:12 -05:00
Jude Melton-Houghton
38169db765
Wrap debug text on screen (#12978) 2022-11-28 12:17:36 -05:00
Jude Melton-Houghton
d0a118f5b1
Add minetest.get_game_info and allow reading game.conf (#12989)
Co-authored-by: sfan5 <sfan5@live.de>
2022-11-28 07:21:43 -05:00
Jude Melton-Houghton
3fd5bff128
Abort active ABM iteration when content changes (#12998) 2022-11-27 15:55:10 -05:00
Muhammad Rifqi Priyo Susanto
40a45b8c99
Virtual joystick: Use s32 when using m_screensize as a subtrahend (#12814)
If still uses u32, m_screensize will yield a big value (underflow) when used as a subtrahend.
ETIE_MOVED is allowed to be run if joystick's ID is available and virtual joystick is fixed.
Add .0f for some float values.
2022-11-26 09:16:14 -05:00
savilli
f04d4d0291 Fix touchscreen crash due to missing rangeselect 2022-11-25 19:57:03 +01:00
Jude Melton-Houghton
8b26bab37d Remove unnecessary bool return types 2022-11-24 17:58:25 -05:00
Jude Melton-Houghton
7c21347a40 Rename "mod metadata" to "mod storage" everywhere 2022-11-24 17:58:25 -05:00
Jude Melton-Houghton
8817af07fb
Deprecate special handling of ${key} syntax in metadata values (#12970) 2022-11-24 17:56:43 -05:00
Wuzzy
3c7f26d937
Add support for attached facedir/4dir nodes (#11432) 2022-11-24 17:56:07 -05:00
x2048
1c10988d6a
Fix entity visiblity in bright artificial light (#12906) 2022-11-23 22:40:26 +01:00
Jude Melton-Houghton
9527cc3fa0
avoid clearChildAttachments iterator invalidation (#12987) 2022-11-23 14:48:12 -05:00
Jude Melton-Houghton
386bfcda2b
Fix reading schematics after their resolution (#12985) 2022-11-23 11:53:21 -05:00
Jude Melton-Houghton
4da8a18c8c
Check specific outputs for isatty (#12980) 2022-11-21 12:08:40 -05:00
x2048
70a82b0784
Avoid shadow flicker at certain angles (#12961)
Change the way look direction and camera position are quantized when calculating light frustum
2022-11-20 21:28:01 +01:00
DS
5f24a3c0c7
Object selection: Improve distance checks (#12974) 2022-11-20 21:27:47 +01:00
lhofhansl
7bf64fc61a
Add configurable saturation (#12865)
* Add configurable saturation

Co-authored-by: Pevernow <3450354617@qq.com>
Co-authored-by: x2048 <codeforsmile@gmail.com>

Author:    Lars <larsh@apache.org>
2022-11-18 11:49:52 -08:00
Riceball LEE
6bf662cb9e
set_nametag_attributes: don't reset nametags if text param is not touched
fixes #12901
2022-11-15 16:46:26 +01:00