Commit Graph

7524 Commits

Author SHA1 Message Date
grorp
508b5ccc63
Document keymap_toggle_block_bounds, remove unimplemented BLOCK_BOUNDS_MAX (#14722) 2024-06-02 21:05:35 +02:00
grorp
833bb542fc
Allow toggling fullscreen without restart and add keybind (#14714) 2024-06-02 21:05:16 +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
a4768d1638 Fix fog moon tint not working 2024-06-01 16:34:32 +02:00
SmallJoker
670bb32b2c Particles: fix crash caused by absent texture
Introduced in commit f8bff34. The related code does already expect that
'texture.ref' may be nullptr.
2024-05-29 19:46:24 +02:00
Desour
f836a47bc1 Sound loading: Fix issues where ov_read skips samples 2024-05-27 17:12:58 +02:00
Desour
43df39c4f7 Sound loading: Improve error handling 2024-05-27 17:12:58 +02:00
Desour
9da5c5e2d0 Add precompiled header support
Note: the <filesystem> header is not included in the default
precompiled_headers.txt, because we don't use it yet, and it might be big
2024-05-27 17:12:39 +02:00
Desour
cdbbac5b6d Move sha256.c to lib/
Precompiled headers don't work if we're not a pure C++ project.
2024-05-27 17:12:39 +02:00
Gregor Parzefall
f3c91e4f96 Immediately apply gui_scaling changes to IGUISkin 2024-05-26 19:49:48 +02:00
sfan5
83bc362dac
Mark Redis database backend as deprecated (#14679) 2024-05-26 14:28:30 +02:00
grorp
728f643ea7
Scale C++ menus down to fit the window (#14690) 2024-05-24 12:10:46 +02:00
grorp
d5fc040d2d
Consistent width for internal scrollbars of formspec elements (#14689)
also: Make sure that very short, wide scrollbars are still usable
2024-05-24 12:10:19 +02:00
JosiahWI
1298374818
Upgrade client active object mgr tests to Catch2 (#14565)
* Upgrade client active object mgr tests to Catch2

In addition to invoking Catch2's test runner after Minetest's homemade
runner, this refactors the tests to follow the DRY principle, and gives
them expressive names and clear assertions. Catch2 is already bundled
with Minetest, so there are no added dependencies.

* Increment failed modules count for Catch2 tests

* Respect --test-module option for Catch2 tests

* Improve Catch2 --test-module behavior

This switches infostream to rawstream so that test runner output is
displayed, and returns the correct boolean depending on the results. The
tests are now found by setting the configuration instead of invoking the
command line parser.

* Test uniqueness of all IDS instead of just one

Co-Authored-By: Lars Müller <appgurulars@gmx.de>

* Include Catch2 test run in timing and logging

* Flush std::cout after printing Catch results

* Increment total tests run instead of hardcoding to 1

* Flush stderr before printing to stdout

It's necessary to flush stderr before printing to stdout in adition to
flushing stdout before printing to stderr, to make sure all output is
ordered correctly.

* Make Catch write to rawstream

---------

Co-authored-by: Lars Müller <appgurulars@gmx.de>
2024-05-22 18:39:53 +02:00
Xeno333
a078cfee3e
Rename "opaque_water" setting to "translucent_liquids" with inverted meaning (#14660)
The old setting will be migrated properly.

---------

Co-authored-by: grorp <gregor.parzefall@posteo.de>
2024-05-22 16:46:05 +02:00
sfence
df8a600b22
Fix glitch through ceiling with Sneak Glitch (#14332) 2024-05-21 17:52:54 +02:00
sfence
b21a974342
Fix inventory: Quickly picking up item and placing it again no longer works (#14657) 2024-05-21 15:38:12 +02:00
chmodsayshello
ab783b9bb2
Display background & moving progress bar on shutdown screen (#14597)
Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2024-05-21 15:37:35 +02:00
OgelGames
8972e829f2
Restore vector type check (#14663) 2024-05-20 20:36:44 +02:00
Muhammad Rifqi Priyo Susanto
bceef8f529 Trivial fix (forget to remove semicolon) in gettext.cpp 2024-05-16 21:00:00 +07:00
Lars Müller
5c187363b2
Fix some clang compiler warnings (#14654)
* Fix some clang compiler warnings

* Get rid of sdl_supports_primary_selection

* Fix draw2DImage hiding overloaded virtual function
2024-05-15 19:56:25 +02:00
sfan5
93f4844c9c Fix unintentional error message with dynamic media 2024-05-14 23:12:49 +02:00
sfan5
39fd9b93c3 Introduce proper error handling for file streams 2024-05-14 18:33:08 +02:00
sfan5
c38e0d05bf
Reenable fog toggle unless server restricts fog distance (#14634)
see comments in #14539
2024-05-14 18:31:51 +02:00
Josiah VanderZee
5a4d7fb0d6 Do not bother to assert that a u8 is >= 0
This fixes a warning seen in GCC 7 on CI about a comparison in
mapblock.h that is always true.
2024-05-14 16:21:30 +02:00
chmodsayshello
0889048cb5
Add option for random mod load order (#14637) 2024-05-12 14:20:18 +02:00
grorp
57b6e74abb
Fix crash if zip file cannot be opened (#14636)
Helped-by: savilli <78875209+savilli@users.noreply.github.com>
2024-05-12 11:46:39 +02:00
grorp
a8af0c0ca4
Close buttonbars when hiding TouchScreenGUI (#14630)
To open the inventory or the pause menu, you first need to open the buttonbar
containing the respective button. Before this commit, the buttonbar is still
open after closing the menu, so you have to tap twice before you can continue
playing. After this commit, the buttonbar is already closed after closing the
menu, so you only have to tap once before you can continue playing.
2024-05-10 18:54:22 +02:00
grorp
e0e1d0855d
Close formspecs with a single tap outside (#14605) 2024-05-09 19:16:08 +02:00
sfan5
dd475d8af4 Add benchmarks for server::ActiveObjectMgr 2024-05-09 11:31:35 +02:00
sfan5
59bf1d8cd9
Fix curl compatibility issues with colorize_url (#14615)
Also move the escape code safety check to guiOpenURL.
2024-05-09 11:31:10 +02:00
sfan5
de78ffb551 Fix strings in modified_reason_strings
one was also missing
2024-05-09 00:19:24 +02:00
sfan5
1aba7f1fde
Add unit tests for MapBlock (de)serialization (#14560) 2024-05-05 22:54:40 +02:00
rubenwardy
3017b0213b
Allow quoting hypertext attribute values (#14550) 2024-05-05 14:27:17 +02:00
sfan5
d748c8c653 Gate disabling of fog or camera update behind 'debug' priv 2024-05-05 14:26:56 +02:00
grorp
af8cb63292
Add object's own position for each collision to moveresult (#14608) 2024-05-05 13:28:59 +02:00
grorp
d7f9da49eb
Fix shootline not being updated if press and release happen in the same step (#14606) 2024-05-05 13:28:50 +02:00
Lars Mueller
70bddcf318 Fix wrong name for bone override interpolation field 2024-05-04 02:09:35 +02:00
SmallJoker
f0bb5313d3 Chat console: Prevent input loss on double open 2024-05-03 16:29:33 +02:00
DS
c352fbf5c9
Warn on unknown CMAKE_BUILD_TYPE values (#14600) 2024-05-03 16:29:02 +02:00
sfan5
9c3c286aab Optimize code patterns around raycasting 2024-05-03 16:28:29 +02:00
sfan5
e10adf83d5 Reduce wasteful memory allocations in update_lighting_nodes() 2024-05-03 16:28:29 +02:00
sfan5
c24a04d246 Optimize pushing collision data for entity on_step
Since this is fixed overhead for every entity, this is important to optimize.
This optimizes one very common case.

before:
  push_collision_move_result [us] _____________ 64512x   3.562

after:
  push_collision_move_result [us] _____________ 72636x   0.831
2024-05-03 16:28:29 +02:00
sfan5
2e89529eef Optimize env access and structs in collisionMoveSimple 2024-05-03 16:28:29 +02:00
sfan5
92d03f3832 Trivially optimize iteration order in loops
Due to how node data is stored iterating X last provides better cache locality.
2024-05-03 16:28:29 +02:00
Lars Müller
2efd0996e6
Document empty string as form name (#14601) 2024-04-30 13:50:31 +02:00
sfan5
ac4f13e78f
Add minetest.get_gen_notify to mapgen env (#14568) 2024-04-30 13:50:18 +02:00
grorp
2bdd0a6bdb
Add physics overrides for walk speed and Fast Mode (#14475)
Co-authored-by: Wuzzy <Wuzzy@disroot.org>
2024-04-30 13:50:01 +02:00
SmallJoker
c044a3c1ca
Client: fix unknown texture upon shift-move to full inventory list (#14586)
Fixes a regression caused by 4245a760
'moveItemSomewhere' attempted to add a leftover stack to an empty stack, resulting
in an empty name with non-0 ItemStack count.
2024-04-28 19:45:09 +02:00
sfence
72cb4e9bea
Allow nil puncher in object:punch (#14319) 2024-04-28 17:55:04 +02:00
sfan5
fc0ac64277 Fix build errors with curl disabled 2024-04-28 12:31:15 +02:00
sfan5
df4c9e2903 Revert "Clean up some getServer() unsafety"
Turned out to not be a good idea.
This reverts commit 58eccc7a2a67405744ef4a8d7be29f264021d826.
2024-04-28 00:24:22 +02:00
grorp
73dbd2f0ab
Smooth scrolling (#14562) 2024-04-28 00:14:31 +02:00
OgelGames
05d5dc4cec
Fix InvRef bugs and add unit tests (#14591) 2024-04-28 00:13:44 +02:00
Lars Müller
0837d674eb
Fix set_fov-induced grayscreen 2024-04-28 00:12:15 +02:00
Muhammad Rifqi Priyo Susanto
be540043ee
Do not make inventory_items_animations setting static thread_local (#14573)
This removes restart requirement when toggling the setting after the first play/run.
2024-04-24 09:00:04 +07:00
JosiahWI
de8d80dee0
Fix MSVC warning C4172 in ModifySafeMap::get (#14576) 2024-04-23 19:04:26 +02:00
cosin15
15b569fb71
Remove unnecessary copy of a big data structure 2024-04-23 19:03:50 +02:00
sfan5
58eccc7a2a Clean up some getServer() unsafety 2024-04-23 19:03:35 +02:00
sfan5
e39e47b21f Reduce needless copying of KeyPress 2024-04-23 19:03:35 +02:00
sfan5
e7f6e7d7b6 Fix Irrlicht log events not being passed through 2024-04-23 19:03:35 +02:00
sfan5
c8e46749a4 Change some profiler values to microseconds 2024-04-23 19:03:35 +02:00
grorp
eb432d3da0
Fix some Game members not being freed after some startup errors (#14561) 2024-04-21 15:52:46 +02:00
David Heidelberg
4ab3c54f5b
Basic tablet/phone/watch autodetection (#14400)
Until we're able to detect touchscreen itself, let's have a detection
based on a form factor of the device.

Tablets and handhelds are usually equiped with touchscreens, so as a
default enable touchscreen GUI there.

 - Windows and Linux supports autodetection.
 - Android is hardcoded as touch-based.
 - MacOS staying same as before without detection.

Signed-off-by: David Heidelberg <david@ixit.cz>
2024-04-21 15:51:58 +02:00
JosiahWI
de1d8ec070
Do not link /latomic on MSVC (#14564)
MSVC does not recognize /latomic, resulting in a warning upon configure.
2024-04-20 20:37:46 +02:00
SmallJoker
c8a41409d9
HUD: Text element color support (#14558) 2024-04-20 20:36:44 +02:00
Josiah VanderZee
d2a089ffd9 Remove <ctgmath> include from particles.h
The header is deprecated, and we don't even use it.
2024-04-20 18:01:25 +02:00
sfan5
3bd5169aee Fix profiler assertion failures
oops
2024-04-20 14:32:35 +02:00
sfan5
1b89d4d541 Simplify getBlockNodeIdMapping
since commit 0f9c78c3ebf920fac65030e66367b9940055075f nodedef->get()
will never return an entry with empty name, so we can drop the related parts.
2024-04-20 13:03:42 +02:00
sfan5
d8190e1c5f Some globals (un-)init fixes 2024-04-20 13:03:42 +02:00
sfan5
2af5191070 Optimize MapNode::serializeBulk
before
  serializeBulk [us] __________________________ 9047x   9.363

after
  serializeBulk [us] __________________________ 8458x   1.214
2024-04-20 13:03:42 +02:00
sfan5
4027e08cc8 Print profiler at end of session 2024-04-20 13:03:42 +02:00
sfan5
72eeb9fecb Refactor profiler and related classes 2024-04-20 13:03:42 +02:00
DS
5a07f5a652
Fix inconsistent rounding in VoxelLineIterator::VoxelLineIterator (#14555)
floatToInt rounds 0.5 differently depending on sign.
2024-04-20 13:03:34 +02:00
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