Commit Graph

176 Commits

Author SHA1 Message Date
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
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
cx384
234b01a8c2
Item meta pointing range (#14347) 2024-03-17 15:55:38 +01:00
SmallJoker
4245a7604b Inventory: Fix order of callbacks when swapping items 2024-03-16 20:14:05 +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
91ea47fddf Fix node callbacks unit test 2024-03-03 20:16:32 +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
grorp
e40417f687
Allow giving "pointabilities" to Lua raycasts (#14390) 2024-03-01 17:12:13 +01: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
sfan5
6ca214fefc
Introduce std::string_view into wider use (#14368) 2024-02-17 15:35:33 +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
kromka-chleba
6c8ae2b72a
Fix liquid falling if in "float" group (#13789)
* Make falling liquid source nodes replace flowing nodes

This makes falling liquid source nodes in group:float replace
flowing nodes on the ground instead of being placed above
the flowing node.

* Make flowing liquids "fall through" for source nodes

This makes liquids in float and falling_node groups fall through
flowing liquid nodes instead of being supported by them in the air.

---------

Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
2024-02-12 23:24:54 +01:00
grorp
f2b99332d9
Add Lua API function to resolve node/collision/selection boxes (#13964) 2024-02-06 20:45:16 +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
cx384
5958714309
Tool specific pointing and blocking pointable type (#13992) 2024-01-22 18:27:08 +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
cx384
92c55c27cf
Add function to get all HUD elements (#14042) 2024-01-14 17:46:29 +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
Lars Müller
7bae8ab838
Fix HUD image (waypoint) docs 2024-01-10 19:32:49 +01:00
sfence
d0753dddb1
Method add_pos for object/player (#14126) 2024-01-01 22:48:56 +01:00
cx384
467d3a8c62
Rename hud_elem_type to type (#14065) 2023-12-29 21:51:02 +01:00
sfan5
93dfa8a6d8
Optimize and improve built-in PNG writer (#14020) 2023-12-27 11:56:48 +01:00
grorp
91ba02449b
Add touch_controls boolean to get_player_window_information() (#14092) 2023-12-17 20:47:07 +01:00
grorp
689aaf50b3
Fix unittest failure for release versions (#14067) 2023-12-08 21:13:33 +01:00
updatepo.sh
30769589bf Remove junk translation file 2023-12-03 19:11:32 +01:00
updatepo.sh
6cf9b7472a Run mod_translation_updater.py 2023-12-03 19:03:45 +01:00
Desour
7199ee4ff8 Devtest: Fix testnodes bouncy color calculation
Values were out of range.
2023-11-19 20:45:18 +01:00
ROllerozxa
570fc90bf6
Debundle Minetest Game (#13818) 2023-11-07 22:18:26 +01:00
Desour
64104585c5 Devtest: Add more connected nodebox test nodes 2023-10-30 21:23:47 +01:00
Thresher
352a403bd0
Optimize PNG files (#13509) 2023-10-09 17:13:44 +02:00
Gregor Parzefall
56965bc814
Android: Add field_enter_after_edit[] formspec element (#13836) 2023-10-01 11:20:50 +02:00
Gregor Parzefall
aea9242a96
Allow nodes to have their post_effect_color affected by lighting (#13637)
Co-authored-by: DS <ds.desour@proton.me>
2023-08-24 20:16:36 +02:00
sfan5
43c9c38a28 Fix itemdef defaults not being applied in async env 2023-08-14 18:16:36 +02:00
sfan5
f6bddc4e8d Fix registered_craftitems not populated in async env 2023-08-14 18:16:36 +02:00
sfan5
f9c881eb5a Add two missing classes to async environment 2023-08-14 18:16:36 +02:00
doxygen-spammer
9f25378ddd
Add performance test nodes, using complex meshes. (#13161) 2023-07-30 14:53:08 +01:00
DS
edcbfa31c9
Sound refactor and improvements (#12764) 2023-06-16 20:15:21 +02:00
Wuzzy
8e1af25738 DevTest: Add example nodes for disable_descend 2023-06-16 20:14:08 +02:00
Thresher
180ec92ef9
Remove trailing whitespace (#13505) 2023-05-18 20:34:18 +02:00
Buckaroo Banzai
65692ad1b5
Add min/max protocol version to minetest.get_version() (#13482) 2023-05-06 16:16:21 +01:00
rubenwardy
4158b72971
Add ability to override item images using meta (#12614) 2023-04-17 19:44:41 +01:00
rubenwardy
9d1ae80e89
Add focused styling to buttons (#13414) 2023-04-14 00:09:29 +01:00
Desour
7283d2495f Devtest: Add bigfoot for footstep sounds 2023-04-13 18:12:13 +01:00
rubenwardy
39f4d26177
Add minetest.get_player_window_information() (#12367) 2023-02-27 22:58:41 +00:00