Commit Graph

7400 Commits

Author SHA1 Message Date
sfan5 df2fd399df Fix missing DLLs in Windows build 2024-04-17 16:58:31 +02:00
grorp f2b5c35fa2
TouchScreenGUI dehardcoding refactor (#14472) 2024-04-17 15:59:52 +02:00
rubenwardy b2057a5da7
Hypertext: Fix missing space after single letter word (#14551)
Fixes #11727
2024-04-16 08:48:16 +01:00
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
cx384 8a5e49c856
Refactor builtin HUD (#14346) 2024-04-10 11:43:15 +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
sfan5 7e4462e0ac Better handling of temporary folders 2024-04-06 12:10:21 +02:00
sfan5 ef0c19477c Fix HAVE_RECENT_LJ false-positives 2024-04-06 12:10:21 +02:00
grorp 9bee6d899b Fix invisible crosshair with effective HUD scaling < 1 2024-04-06 12:10:12 +02:00
1F616EMO~nya 2d8e4df7bc
Allow optional actor ObjectRef value in node interaction calls (#14505) 2024-04-05 13:00:50 +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
cx384 3a35db6e67 Turn dos files into unix files 2024-03-31 21:02:47 +02:00
Gregor Parzefall e79587c934 Add shorthand form for touch_interaction 2024-03-30 11:40:50 +01:00
Gregor Parzefall 8935f2af3c Make long tap delay customizable and change default to 400ms 2024-03-30 11:40:50 +01: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
sfan5 97066bf795 Sanity-check reliable packet size at earlier point 2024-03-30 11:07:20 +01:00
sfan5 5df60d85f7 Cache iconv context per-thread 2024-03-30 11:07:02 +01:00
sfan5 008d6be900 Rework iconv encoding detection
WCHAR_T doesn't seem as portable as we thought, so it's just easier
to detect the right encoding using macros at this point.
2024-03-30 11:07:02 +01:00
sfan5 d1a1aed23e Reduce unnecessary include in serialize.h 2024-03-30 11:07:02 +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
sfan5 6c6e48f006
Move values the mainmenu caches to dedicated files (#14433) 2024-03-30 11:06:28 +01:00
Elias Åström bb6782ca58
Add repeat_dig_time setting (#14295) 2024-03-30 11:05:58 +01:00
sfan5 d307d01b18 Fix tests that rely on UTF-8 literals
and the lowercase function
2024-03-28 16:22:04 +01:00
src-tinkerer 08284e420d
Disable default password check in single player (#14493) 2024-03-27 21:46:41 +00:00
sfan5 d53ef90a73 Remove Irrlicht versioning 2024-03-27 20:55:48 +01:00
rubenwardy b487341c32
Deprecate writing to mod directories (#14486) 2024-03-27 18:32:05 +00:00
Desour 9cee9bc279 Build with the imported IrrlichtMt at irr
Also remove the now useless options (like IRRLICHT_INCLUDE_DIR)
and update download instructions, CI and similar.

Co-authored-by: sfan5 <sfan5@live.de>
2024-03-26 21:39:02 +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
rubenwardy 6c4a110679
Add world-independent storage directory for mods (#12315)
Fixes #4821
2024-03-24 17:18:58 +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
sfan5 24f2c38093 Split internal parts from connection.h 2024-03-20 16:37:32 +01:00
sfan5 dfba79f8ff Split servermap.cpp/h off from map.cpp/h 2024-03-20 16:37:32 +01:00
sfan5 0d817ff4ff Try to fix httpfetch method bug
see #14394
2024-03-20 16:37:32 +01:00
sfan5 178943b4b7 Improve ServerEnvironment::getRemovedActiveObjects() in many ways 2024-03-20 16:37:32 +01:00
Desour 751ede516b ProfilerGraph: Increase buffer size for min/max formatting
Fixes values being cut off, e.g. "1.0000e+06" to "1.0000e+0".
2024-03-20 15:28:37 +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
SmallJoker a862e4290c Script API: Fix invalid rotation of L-system trees
The MapNode struct fields param1 and param2 were previously
not initialized. This commit now sets them to a sane default.
2024-03-17 18:01:48 +01:00
cx384 234b01a8c2
Item meta pointing range (#14347) 2024-03-17 15:55:38 +01:00
sfan5 e3b9828f24 Add unit tests for SAO load / unload behaviour 2024-03-17 15:55:24 +01:00
sfan5 8339594206 Handle static_save changes at runtime and between restarts 2024-03-17 15:55:24 +01:00