Commit Graph

223 Commits

Author SHA1 Message Date
Lars Mueller
e2ea359925 JSON: Support consistent larger max. depth of 1024 2024-10-15 12:19:49 +02:00
Lars Mueller
4c419c4020 Improve minetest.parse_json
Let modders handle parsing errors, get rid of two unnecessary copies.
2024-10-15 12:19:49 +02:00
Lars Müller
c7938ce81c
Improve glTF logging (#15274)
Also removes all animations but the first one from gltf_frog.gltf
to address the corresponding warning.

Catches some more possible exceptions (out of bounds, optional access)
which might be caused by a broken model to properly log them.
2024-10-15 12:19:19 +02:00
cx384
ecf8488406 Fix HUD inventory direction position 2024-10-13 18:40:29 +02:00
y5nw
e3aa79cffb
Gettext and plural support for client-side translations (#14726)
---------

Co-authored-by: Ekdohibs <nathanael.courant@laposte.net>
Co-authored-by: y5nw <y5nw@protonmail.com>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2024-10-13 11:29:08 +02:00
sfan5
cbc741f464 Various improvements to push_json_value 2024-10-13 10:57:25 +02:00
sfan5
d2b4c27f21 Implement minetest.ipc_poll() 2024-10-11 12:00:59 +02:00
sfan5
72801d0233 Implement minetest.ipc_cas() 2024-10-11 12:00:59 +02:00
sfan5
f1a436619f Add generic IPC mechanism between Lua envs 2024-10-11 12:00:59 +02:00
Lars Mueller
06907aa99b Support floating-point animation frame numbers 2024-10-10 21:39:57 +02:00
Lars Mueller
323fc0a798 Add glTF animation support 2024-10-10 21:39:57 +02:00
Lars Mueller
521e678d39 Add binary glTF (.glb) support 2024-10-10 21:02:05 +02:00
grorp
6ac4447134
Make bloom parameters server-controlled (#15231) 2024-10-09 15:08:03 +02:00
SmallJoker
13f533d490
scrollcontainer: Add automatic scrollbar calculation (#14623)
New parameter 'content padding'. When specified, the scrollbar
max value is calculated automatically. This aims to reduce manual
calculation functions.
2024-10-08 21:45:27 +02:00
SmallJoker
95d7348a08
Client: upscale [mask or base image (#15205)
This improves texture pack compatibility. Masks are expected to be of the same
size as the base texture. This change upscales the smaller texture if needed.
The behaviour is now the same as a.png^b.png and a.png^[overlay:b.png (to mention a few).
2024-10-04 10:44:03 +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
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
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
Gregor Parzefall
f9c0354af1 Add colorspec_to_table to the Lua API 2024-09-14 12:13:11 +02:00
grorp
041d67ceca
Improve formspec scaling (#14840) 2024-09-06 12:11:03 +02:00
Gregor Parzefall
2e567b7d40 Replace removed rare_controls.png in Devtest /test_formspec
removed by 013c6ee1663f2bdd93a6d30690a96a5914dc27dc / #14918
2024-09-04 15:18:34 +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
grorp
5c171f6d61
Basic unittest for HP change calculation 2024-08-31 20:45:53 +02:00
cx384
52376fd87a Add hotbar Lua HUD element and replace hardcoded hotbar 2024-08-31 16:04:14 +02:00
Lars Müller
21ed680b10
Make getting bone overrides return the "same" euler angles (#15007) 2024-08-26 21:22:38 +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
DS
603eb57943
Fix comment and alpha test node oopsies from #14852 2024-08-16 22:01:16 +02:00
1F616EMO~nya
98e51a0159
Clamp hotbar selection to slots that exist (#14869) 2024-08-12 15:35:13 +02:00
sfan5
85e717fcd1
Rework object attachment handling to fix bugs (#14825) 2024-08-12 15:32:18 +02:00
Lars Müller
5b19d315b3
devtest: Add sam to testentities (#14882) 2024-08-11 20:18:30 +02:00
y5nw
8bff2f23c6
Rename minetest.register_async_metatable to minetest.register_portable_metatable (#14895) 2024-08-02 00:13:25 +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
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
cx384
7a64527db5
Fix connected_players on_shutdown (#14739) 2024-06-15 16:00:33 +02:00
sfan5
c03894321a Fix file write warning in devtest
closes #14721
2024-06-10 18:49:43 +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
bd4572cfd1 Fix broken CI 2024-05-21 18:10:09 +02:00
Lars Mueller
567f85752d Fix broken unit test
Also makes devtest unit test results a bit more prominent
2024-05-21 16:31:05 +02:00
Lars Mueller
5009259473 Add unit test and feature flag for override_item 2024-05-21 15:46:33 +02:00
rubenwardy
3017b0213b
Allow quoting hypertext attribute values (#14550) 2024-05-05 14:27:17 +02:00
sfence
72cb4e9bea
Allow nil puncher in object:punch (#14319) 2024-04-28 17:55:04 +02:00
OgelGames
05d5dc4cec
Fix InvRef bugs and add unit tests (#14591) 2024-04-28 00:13:44 +02:00
SmallJoker
c8a41409d9
HUD: Text element color support (#14558) 2024-04-20 20:36:44 +02:00
rubenwardy
b2057a5da7
Hypertext: Fix missing space after single letter word (#14551)
Fixes #11727
2024-04-16 08:48:16 +01:00
Wuzzy
9f263319ca
Fix 4dir nodebox sometimes not rendering face (#14533) 2024-04-14 11:57:13 +02:00
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