Commit Graph

6733 Commits

Author SHA1 Message Date
x2048 464043b8ab Convert entity glow value to color space before adding to the light 2022-09-04 16:00:13 +02:00
fluxionary 0ab9bf926d
Fix texture_min_size 2022-08-24 22:38:14 +02:00
rubenwardy 2d10fa7867
Prevent loading a world with unresolved dependencies (#12542) 2022-08-19 12:31:36 +01:00
x2048 8c29c4f620
Use Sky class to obtain directional light source position for shadows (#12662)
* Also remove unused Sky::getSkyBodyOrbitTilt method

Fixes misalignment of sun position and shadow direction at high tilt values.
2022-08-17 16:30:05 +02:00
celeron55 3f67215df9
Log sockets into tracestream instead of dstream (#12701) 2022-08-16 15:18:11 +01:00
Elliott Lester 7c5e3cac6a
Apply DPI Scaling to GUIModalMenu (#12693)
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-15 21:19:47 +01:00
x2048 aa2fdc6ef6
Limit force shadow update to urgent blocks (#12692) 2022-08-14 20:29:20 +02:00
Lion 2690585e99
Add handling of environment variables to control terminal/logging colors (#12641) 2022-08-14 20:27:28 +02:00
x2048 d1cbb4bd8a
Reduce the use of porting::getTimeMs() when rendering frames (#12679)
* Avoid calling TimeTaker too frequently in renderMapXXX
* Calculate animation timer once per frame
* Remove code that breaks rendering frame at 2000ms

Co-authored-by: sfan5 <sfan5@live.de>

Co-authored-by: sfan5 <sfan5@live.de>
2022-08-13 22:33:26 +02:00
Lars Müller 0e439b2fa3
Check hp_max > 0 for entities (#12667) 2022-08-13 15:35:41 +01:00
Jude Melton-Houghton ab8dfb45b4
Allow buffer argument to VoxelManip:get_light_data (#12682) 2022-08-13 08:53:47 +02:00
fluxionary 59601eb922
Remove default keybind for range select (#12632)
Reason: accidental key presses, few use-cases.
2022-08-13 08:53:30 +02:00
SmallJoker 023a1c2427
Textures: introduce world-align overrides (#12540)
Many games do not care about world align textures, however texture packs should have the capabilities to change that if they have suitable textures. This commmit now introduces a node property override for world-align in particular to force a certain scale on the selected override tiles.
2022-08-13 08:52:16 +02:00
SmallJoker c8ee755c05
Physics overrides: Move values to a common struct (#12591)
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-12 10:17:02 +01:00
Zughy bcc56803d7
Fix crash when stars are reset 2022-08-10 18:03:57 +02:00
sfan5 4fbcc33ee0 Enable C++ stdlib assertions in debug flags 2022-08-05 13:04:01 +02:00
sfan5 c4277877b6 Bump protocol version
Better late than never.
2022-08-04 22:45:52 +02:00
ROllerozxa eb49b6d85c
Disable dynamic shadow dropdown on OGLES2 (#12637)
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-04 20:42:43 +02:00
x2048 644f145ff2 Explicitly initialize value of particle parameter. Fixes #12621. 2022-08-02 23:51:50 +02:00
SmallJoker a81259d19a
Run Minetest update checker on startup (#7629)
This feature is enabled by default for non-Android release builds. Package
maintainers may use -DENABLE_UPDATE_CHECKER=0 to disable it.

Co-authored-by: rubenwardy <rw@rubenwardy.com>
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-02 21:34:17 +02:00
sfan5 f22d40975e Switch MeshUpdateQueue to better data structure 2022-08-02 11:58:26 +02:00
sfan5 4c1ef1b72b Ratelimit MeshUpdateQueue::cleanupCache() runs 2022-08-02 11:58:26 +02:00
AFCMS 6ec6acc539
Add `minetest.settings` to CSM API and allow CSMs to provide `settingtypes.txt` (#12131)
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2022-08-02 11:58:08 +02:00
x2048 839600ed70
Use legacy image implementation (no NNAA filter) when not using 9-slice image (#12608) 2022-07-31 21:57:13 +02:00
Mantar 95d7fcb949
Apply NetBSD string conversion workaround to OpenBSD as well (#12618) 2022-07-31 15:18:19 +02:00
ROllerozxa de509d05e6
Fix Android blank screen (#12604)
Hardcode the variables to 0 on Android
2022-07-31 15:18:04 +02:00
SmallJoker c14b7536a4 HUD: Fix wrong minimum scale since 051181f
Caused by wrong interpretation of the settingtypes.txt format
2022-07-31 14:57:19 +02:00
rubenwardy a871115889
Fix some warnings (#12615) 2022-07-30 12:51:23 +01:00
Lars Müller 99c8295e71
Fix media overriding regression (#12602) 2022-07-29 10:19:36 +02:00
sfan5 6611d7e1ee Allow direction keys with autoforward again
This was unintentionally removed in commit 1d69a23.
fixes #12048
2022-07-29 10:19:23 +02:00
Jude Melton-Houghton d631f21024
Let core.get_mod_storage be called multiple times (#12572) 2022-07-23 22:27:07 +02:00
updatepo.sh eea2a97475 Update minetest.conf.example 2022-07-20 21:36:03 +02:00
x2048 70c54abc2a
Restore flags texture to fix interlaced stereo mode (#12560) 2022-07-19 20:26:57 +02:00
x2048 b270a46e53
Offset cuboid origin after scaling the cuboid. (#12558)
This avoids the problem of offset nodes with visual_scale > 1.
2022-07-19 10:48:00 +02:00
Lars Müller d400a98ef0
Fix automatic rotate for attached entities (#12392) 2022-07-17 14:45:57 +01:00
x2048 7b6c4bf2e0
Remove workaround for normals not matching winding order (#12460)
Co-authored-by: sfan5 <sfan5@live.de>
2022-07-17 14:45:42 +01:00
rubenwardy 4648d8f499
Deprecate loading a world with unresolved dependencies (#12541)
Co-authored-by: sfan5 <sfan5@live.de>
2022-07-17 14:45:20 +01:00
rubenwardy 9f41b4f72d Add check_mod_configuration to main menu 2022-07-14 22:12:54 +01:00
rubenwardy 06de82fd86 Refactor ModConfiguration 2022-07-14 22:12:54 +01:00
sfan5 1d512ef7f4 Reduce code duplication between c_converter.cpp and helper.cpp 2022-07-14 20:55:45 +02:00
sfan5 8ff3fadba0 Remove unnecessary float limits from script API
Leaves a check for NaN and inf.
2022-07-14 20:55:45 +02:00
sfan5 137eef6590 Move f1000 sanitizing to the places that still use this type 2022-07-14 20:55:45 +02:00
SmallJoker f4c6ed863d
GUIFormSpecMenu: Fix label multiline translation (#12527) 2022-07-14 20:51:01 +02:00
Dmitry Kostenko 6df69f9b5b Make BlendMode::alpha the fallback for unknown future blend modes 2022-07-13 22:45:05 +02:00
Lexi Hale 20bd6bdb68
Animated particlespawners and more (#11545)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Dmitry Kostenko <codeforsmile@gmail.com>
2022-07-13 11:57:12 +02:00
SmallJoker 8724fe6e3f GUIFormSpecMenu: Fix parameter order
Fixes a regression caused by e51f47461 because C++ implicitly converts boolean to float. no matter what.
2022-07-10 15:34:53 +02:00
SmallJoker e51f474613
Sounds: Various little improvements (#12486)
Use SimpleSoundSpec where reasonable (OpenAL)
Ensure the sound IDs do not underflow or get overwritten -> loop in u16
Proper use of an enum.
2022-07-09 22:32:24 +02:00
SmallJoker 051181fa6e
Enforce limits of settings that could cause buggy behaviour (#12450)
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
2022-07-09 22:32:08 +02:00
x2048 7c261118e0
Release shadow mapping resources when not needed (#12497) 2022-07-09 22:26:39 +02:00
Vincent Robinson f7bcf7fa46
FormSpec: 9-slice images, animated_images, and fgimg_middle (#12453)
* FormSpec: 9-slice images and animated_images

* Add fgimg_middle; clean up code

* Address issues, add tests

* Fix stupid error; bump formspec version

* Re-add image[] elements without a size
2022-07-03 08:52:26 -04:00
Wuzzy 142928e944
Allow to set maximum star opacity at daytime (#11663) 2022-07-02 19:57:48 +01:00
sfan5 a5f385917d Remove an unused method and header includes 2022-06-28 12:21:12 +02:00
Zughy 18fbc0394b
Remove tile_images and special_materials obsolete code (#12455)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2022-06-28 00:55:01 +01:00
ROllerozxa 35ad006234
Increase max FPS on Android to 60 (#12373) 2022-06-26 14:38:11 +01:00
JosiahWI 4163c872af
Fix two memleak reports from Coverity (#12466) 2022-06-26 14:37:50 +01:00
SmallJoker a463620edb
Re-order sound-related code (#12382)
Dropped ServerSoundParams -> moved to ServerPlayingSound. This gets rid of the duplicated
'fade' and 'pitch' values on server-side where only one was used anyway.
SimpleSoundSpec is the basic sound without positional information, hence 'loop' is included.

Recursively added PROTOCOL_VERSION to most functions to reduce the versioning mess in the
future. Per-type version numbers are kept for now as a safety rope in a special case.
2022-06-20 21:56:12 +02:00
sfan5 0b41533763
Annotate light spread functions with comments 2022-06-20 21:24:28 +02:00
sfan5 e92a217bd1 Fix CAO light calculation issue 2022-06-19 13:30:11 +02:00
sfan5 a83d81ff45 Fix updating glow on entities
was broken in #10021 more than 2 years ago(!)
2022-06-17 20:50:24 +02:00
savilli ae555465ba
Fix zlib (de)compressor memory leaks 2022-06-16 23:53:23 +02:00
Nathanaël Courant 622d857bed Update my name 2022-06-16 21:38:32 +02:00
sfan5 e9e721b937 Fix entity related bugs
* Make minetest.add_entity() binary-safe
* Fix on_death pushing dummy ObjectRef instead of nil
2022-06-15 17:20:07 +02:00
ROllerozxa 992f501159 Fix Android input box crash 2022-06-14 19:22:22 +02:00
paradust7 7ffc0268df
Inline triLinearInterpolationNoEase and triLinearInterpolation (#12421)
Performance profiling on Linux AMD64 showed this to be a significant bottleneck. The non-inlined functions are expensive due to XMM registers spilling onto the stack.
2022-06-11 20:01:30 +02:00
Lars Müller e7d4ec6834
on_deactivate: distinguish removal and unloading (#11931)
Sometimes you need to be able to do removal-related cleanup, such as removing files from disk, or entries from a database. staticdata obviously isn't suitable for large data. The data shouldn't be removed if the entity is unloaded, only if it is removed.
2022-06-11 20:01:14 +02:00
Lars Müller f4a53f7ee6
No damage effects on hp_max change (#11846) 2022-06-11 20:00:40 +02:00
sfan5 3ac5a24b12
Sanitize player position and speed server-side (#12396) 2022-06-07 21:27:05 +02:00
x2048 3107c98591
Mapblock Mesh BspTree: Increase the depth of block-level splits
... before going node-level triangle search.
Fixes transparent grass on transparent land
2022-06-07 21:26:31 +02:00
paradust7 951604e29f Remove invalid fps_max on Mac 2022-06-06 12:03:28 +02:00
sfan5 14c283a623 Fix crash in commit a69b7abe00 2022-06-05 19:00:14 +02:00
rubenwardy 4baf56520d
Android: Add support for sharing debug.txt (#12370) 2022-06-05 17:42:09 +01:00
sfan5 a69b7abe00 Improve LBMManager::applyLBMs() code
Fixes a possible bug for lbms on content ID zero and removes unsafe casts.
2022-06-05 17:48:51 +02:00
rubenwardy 03d86ea0b4
Add register dialog to separate login/register (#12185)
New users find Minetest's account system confusing.
This change moves username/password to a new dialog,
with login and register buttons added to the Join Game tab.

The old registration confirmation dialog is removed in
favour of the new dialog.

Fixes #8138
2022-06-05 17:47:38 +02:00
savilli 1f39948bc3
Fix BSD iconv declaration 2022-06-05 15:20:29 +02:00
JosiahWI 8e5bd82c4d
fix integer overflow in mapgen (#11641)
* fix integer overflow in mapgen

Some calculations involving the magic seed had overflow because the result of an intermediate arithmetic step could not fit in an s32. By making the magic seed unsigned, the other operand in the equation will be cast to unsigned, and possibly other operands or intermediate operands. This will result in unexpected behavior if an operand is negative, which is technically possible, but logically should not happen.

* comment noise2d bitshift

While working through the code I was momentarily concerned that the right bitshift in noise2d could fill ones in some cases. It turns out that with signed integers, this is indeed true, but this one is shifting an unsigned integer, so the behavior is as expected. I put a comment here to clarify this, in case someone else wonders the same thing down the line.

* noise2d and noise3d unittests

I have added 3 tests each for noise2d and noise3d, testing all zero inputs, a very large seed (case which caused UB in the old implementation) and some fun primes I picked for no particular reason. This should be sufficient to demonstrate that the behavior of the new implementation has not changed. I used uniform initialization because it is a good feature of C++11. Please do not explode.

* uncomment the noise2d bitshift

This reverts commit 583b77ee9f. It's a
well-defined language semantic; it doesn't need to be commented.

* code cleanliness
2022-06-03 20:51:58 -04:00
sfan5 575caa8015 Properly keep noclip state in Game and ClientMap 2022-06-03 21:48:52 +02:00
sfan5 5f3af7d18b Remove obsolete eye_height related workaround
This was added a long time ago in 42bbd5c9ae
and meant to fix prevent the view becoming black when jumping into a
ceiling, this no longer happens today.
2022-06-03 21:48:52 +02:00
Wuzzy 6a6b579c54
Add helper functions to make tool usable n times (#12047) 2022-06-03 21:47:04 +02:00
sfan5 9fc018ded1 Fix use-after-free in node meta cleanup
bug introduced in 8908a91016
2022-05-29 16:30:13 +02:00
sfan5 a9a207685a Reject registering node with empty name
fixes #10769
2022-05-29 14:00:19 +02:00
sfan5 c1d03695d4 Minor code improvements around active block keeping 2022-05-29 14:00:19 +02:00
sfan5 ea74680df4 Immediately activate blocks when a player joins
issue: #10884
This makes it possible for objects to immediately be activated,
but doesn't guarantee it since blocks may still need be emerged.
2022-05-29 14:00:19 +02:00
stefan bb671c3089 Remove debug.get/setmetatable from security whitelist
fixes #12216
2022-05-29 14:00:19 +02:00
sfan5 303329f2d6 Handle lua entity HP changes correctly (like punches)
fixes #11975
2022-05-29 14:00:19 +02:00
sfan5 85c824ed13 Make sure real disconnect reason isn't overwritten
bug introduced in 2f32044273
2022-05-29 14:00:19 +02:00
sfan5 998e4820c9 Fix linking with Postgres libs on older cmake versions
closes #12149
2022-05-29 14:00:19 +02:00
sfan5 5cd7b0c6e4 Remove remains of video mode querying 2022-05-29 14:00:19 +02:00
sfan5 8908a91016 Get rid of node metadata when it becomes empty
fixes #8943
2022-05-29 14:00:19 +02:00
sfan5 261a8db9dd Optimize Server::sendMetadataChanged a bit
The distance check also never worked as intended, now fixed.
2022-05-29 14:00:19 +02:00
sfan5 f195db2d14 Add API function to invoke player respawn
closes #12272
2022-05-29 14:00:19 +02:00
sfan5 da71e86633 Protect a few more settings from being set from mods
Of those settings main_menu_script has concrete security impact, the rest are added out of abundance of caution.
2022-05-29 14:00:19 +02:00
sfan5 bccaf5fc2d Map opaque waving leaves to allfaces drawtype
fixes #9842
2022-05-29 14:00:19 +02:00
sfan5 0c6a029413 Improve a translation string
fixes #11442
2022-05-29 14:00:19 +02:00
x2048 ef22c0206f
Force-update shadows when the world is changed (#12364) 2022-05-26 22:28:34 +02:00
sfan5 8b74257bf3 Reduce size of ContentFeatures structure
On my system this is a reduction from 4664 to 3704 bytes.
This is not for the sake of saving RAM but ensuring
commonly used structures fit into caches better.
2022-05-26 15:49:12 +02:00
sfan5 9a01581cdd Get rid of global buffer that would ruin concurrent MapBlock serialization 2022-05-26 15:49:12 +02:00
sfan5 5d26ac0088 Improve code in mapblock_mesh.cpp a bit 2022-05-26 15:49:12 +02:00
x2048 ed26ed5a1f
Quantize light frustum calculations (#12357)
* Quantize light frustum calculations

Reduces shadow flicker

* Fix function name to match conventions
2022-05-23 23:45:18 +02:00
sfan5 5daafc9d33 Fix hash implementation for SerializedBlockCache 2022-05-23 22:50:58 +02:00
Richard Try e16a470d59
Use unordered_map instead of map for MapSectors 2022-05-23 22:50:49 +02:00