1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-10-23 20:55:43 +02:00
Commit Graph

990 Commits

Author SHA1 Message Date
sfan5
7a6ca85081 Expose OpenGL debugging as a normal setting 2024-04-15 17:48:33 +02:00
Wuzzy
9f263319ca Fix 4dir nodebox sometimes not rendering face (#14533) 2024-04-14 11:57:13 +02:00
Gregor Parzefall
07fdf7158d Migrate the Android port to SDL2 2024-04-08 20:15:37 +02:00
DS
e12db0c182 Sounds: Queue more than two buffers if pitch is high (#14515)
Pitch changes playback speed. So always enqueuing 2 buffers did not suffice
(and it was unnecessary complicated).
2024-04-07 22:06:34 +02:00
DS
1d673ce075 Print filenames in irrlicht png warnings (#14525)
Makes warnings like this more informative:
`WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile`
2024-04-07 22:06:13 +02:00
grorp
9bee6d899b Fix invisible crosshair with effective HUD scaling < 1 2024-04-06 12:10:12 +02:00
Gregor Parzefall
fd8e02195e Fix local server startup and shutdown blocking the main thread
Co-authored-by: sfan5 <sfan5@live.de>
2024-04-05 13:00:21 +02:00
Gregor Parzefall
b2982a6f14 Fix all cached media being loaded at once on the main thread 2024-04-05 13:00:21 +02:00
sfan5
a9a0f1e129 Fix GLES shader precision issues (#14516) 2024-04-05 13:00:10 +02:00
sfan5
f8bff346f4 Batched rendering of particles (#14489)
Co-authored-by: x2048 <codeforsmile@gmail.com>
Co-authored-by: Desour <ds.desour@proton.me>
2024-04-03 13:56:49 +02:00
sfan5
57a737c417 Improve logging of driver probing 2024-04-03 13:56:27 +02:00
Gregor Parzefall
517f1602aa Re-add "long tap to punch" as a client-side setting 2024-03-30 11:40:50 +01:00
grorp
6e3246c5fd Limit crosshair scaling to integer multiples to avoid distortion (#14501) 2024-03-30 11:07:36 +01:00
cx384
673d2499e8 Refactor texturepaths.cpp and SourceImageCache 2024-03-30 11:06:44 +01:00
cx384
6ac053bbaa Extract image generation/cache from texturesource.cpp 2024-03-30 11:06:44 +01:00
Elias Åström
bb6782ca58 Add repeat_dig_time setting (#14295) 2024-03-30 11:05:58 +01:00
sfan5
d53ef90a73 Remove Irrlicht versioning 2024-03-27 20:55:48 +01: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
sfan5
5727d74d37 Avoid including client headers on server builds 2024-03-20 16:37:32 +01:00
sfan5
bc4ab8b99e General code refactoring/improvements in server, treegen and connection 2024-03-20 16:37:32 +01: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
Gregor Parzefall
4f84b01356 Touchscreen: Fix virtual joystick sometimes going backwards
This fixes a regression introduced by 34286d77c7 / #14075.
2024-03-17 15:00:37 +01:00
grorp
c8b615acc9 Remove excessive touchscreengui.h includes (#14466) 2024-03-17 14:59:50 +01:00
SmallJoker
02a893d613 Client: fix failing assert on empty texture name 2024-03-10 10:50:04 +01:00
Lars Müller
bf52d1e624 Fix attached sounds stopping if objects are removed serverside (#14436)
Restores backwards compatibility for death sounds or other sounds that are not supposed to be "cut off" abruptly.

---------

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: grorp <gregor.parzefall@posteo.de>
2024-03-06 20:36:02 +01:00
sfan5
badd42789a Move PlayerSettings class to client code 2024-03-06 18:03:57 +01:00
sfan5
9b97147637 Fix assertion failure in clientlauncher.cpp 2024-03-03 19:11:37 +01:00
cx384
879f7e9f03 Refactor tile.cpp/h parts except texturesource.cpp 2024-03-03 15:52:05 +01:00
cx384
aaf77025b6 Split up tile.cpp/h 2024-03-03 15:52:05 +01:00
sfan5
bb7f57b095 VBO-related optimizations and improvements (#14395) 2024-02-29 17:20:57 +01:00
sfan5
d85c842ce9 Refactor fog shader to reuse Irrlicht values 2024-02-29 17:20:50 +01:00
sfan5
dce166dc93 Support deleting shader materials 2024-02-29 17:20:50 +01:00
sfan5
13a0e5fb4a Share FpsControl code between game and menu 2024-02-29 17:20:50 +01:00
sfan5
0c3a4cc7b9 Improve ergonomics of CachedShaderSetting 2024-02-29 17:20:49 +01:00
sfan5
e9ab5bc223 Factor shadow constants out of MainShaderConstantSetter 2024-02-29 17:20:49 +01:00
sfan5
5da18d34ba Properly warn that shader queue is unimplemented 2024-02-29 17:20:49 +01:00
sfan5
09d542dfe0 Drop enable_vbo setting
Consistently applying this setting requires some code work,
because Irrlicht does not provide a global toggle.
At the same time I don't see any reason for someone to disable this.
2024-02-29 17:20:49 +01:00
sfan5
5280863300 Set VBO hints in more places 2024-02-29 17:20:49 +01:00
sfan5
fbec378869 Fix more type promotion mistakes
Someone of these are probably actual bugs and gcc totally doesn't care to warn about them, wtf?
This issue seems to be new with the IrrlichtMt update.
2024-02-26 22:07:40 +01:00
sfan5
9fcd7f2dc0 Fix clang-tidy type promotion errors 2024-02-26 20:47:47 +01:00
sfan5
5d8a22066c Change how max_lag is calculated and reported (#14378)
-Change how max_lag is calculated and reported

- Cap singleplayer step at 60Hz

- Clarify dedicated_server_step
2024-02-26 20:46:57 +01:00
sfence
63a9853811 Remove attached sounds when the active object is removed (#14341) 2024-02-25 22:10:39 +00:00
sfan5
492aab20fe Fix compiler warnings 2024-02-24 12:39:12 +01:00
numzero
bf2098c07f Decouple MeshMakeData from Client 2024-02-22 15:45:17 +00:00
numzero
2f35b121a4 Const correctness 2024-02-22 15:45:17 +00:00
David Heidelberg
34286d77c7 Allow toggling touchscreen mode at runtime (#14075)
Signed-off-by: David Heidelberg <david@ixit.cz>
Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2024-02-22 15:44:49 +00:00
sfan5
e3cc26cb7c Irrlicht support changes (#14383) 2024-02-19 21:14:47 +01:00
Lars Müller
4acbd59162 Support absent scene node names (#14330)
Contains a hack to support IrrlichtMT revision 14 for now (until we release revision 15)
2024-02-18 11:39:16 +01:00
sfan5
6ca214fefc Introduce std::string_view into wider use (#14368) 2024-02-17 15:35:33 +01:00