1117 Commits

Author SHA1 Message Date
fluxionary
440d966b93 add an 'equals' method to ItemStack and compatibility w/ lua '==' (#12771)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
Co-authored-by: sfan5 <sfan5@live.de>
2022-10-09 08:06:09 -04:00
Jude Melton-Houghton
7632af3c73 Consolidate API object code (#12728)
Co-authored-by: sfan5 <sfan5@live.de>
2022-10-04 08:31:36 -04:00
sfan5
525fc3833c Implement tool use sounds 2022-09-30 14:02:14 +02:00
20kdc
b1233056b7 Add zstd compression support (#12515) 2022-09-28 09:06:14 -04:00
Jude Melton-Houghton
f4a01f3a5d Avoid duplication of mod metadata in memory (#12562)
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-26 17:03:43 -04:00
Jude Melton-Houghton
03428d9825 Modify PUC Lua to wrap C++ exceptions (#12445) 2022-09-26 07:23:48 -04:00
Jude Melton-Houghton
6f5a68b7f7 Allow getmetatable in CSM (#12776) 2022-09-18 17:32:18 +02:00
Wuzzy
1d04903c19 Add paramtype2s for 4 horizontal rotations and 64 colors (#11431)
4dir is like facedir, but only for 4 horizontal directions: NESW. It is identical in behavior to facedir otherwise. The reason why game makers would want to use this over facedir is 1) simplicity and 2) you get 6 free bits.
It can be used for things like chests and furnaces and you don't need or want them to "flip them on the side" (like you could with facedir).

color4dir is like colorfacedir, but you get 64 colors instead of only 8.
2022-09-16 13:18:55 +02:00
SmallJoker
bc3dccca5c Mainmenu: Properly sort mods and games (#12758)
This also removes trivial and unused pkgmgr functions
Fixes a bug caused by sorting in 2133fc8
2022-09-12 19:24:54 +02:00
Jude Melton-Houghton
fe13f9dfd1 Fix potential use-after-free with item metadata (#12729)
This fixes a use-after-free bug in the case where itemstack metadata is accessed after the itemstack has been garbage-collected.
2022-09-11 19:28:37 +02:00
Herman Semenov
038da00e79 Code optimizations / refactor (#12704)
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-06 11:21:09 +01: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
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
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
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
rubenwardy
a871115889 Fix some warnings (#12615) 2022-07-30 12:51:23 +01:00
Jude Melton-Houghton
d631f21024 Let core.get_mod_storage be called multiple times (#12572) 2022-07-23 22:27:07 +02:00
rubenwardy
9f41b4f72d Add check_mod_configuration to main menu 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
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
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
Wuzzy
142928e944 Allow to set maximum star opacity at daytime (#11663) 2022-07-02 19:57:48 +01: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
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
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
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
rubenwardy
4baf56520d Android: Add support for sharing debug.txt (#12370) 2022-06-05 17:42:09 +01: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
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 8908a9101608d3343023b470743ef63f1c44b0b7
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
stefan
bb671c3089 Remove debug.get/setmetatable from security whitelist
fixes #12216
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
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
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
rubenwardy
4e9e230e34 Deprecate game.conf name, use title instead (#12030) 2022-05-21 16:23:30 +01:00
sfan5
ec9f157512 Use native packer to transfer globals into async env(s) 2022-05-10 22:37:42 +02:00
Jude Melton-Houghton
7f58887ae3 Support packing arbitrary graphs (#12289) 2022-05-10 22:37:33 +02:00
Lars Müller
89c82035d8 hud_get: Return precision field for waypoints (#12215) 2022-05-04 20:55:20 +02:00
sfan5
e7659883cc Async environment for mods to do concurrent tasks (#11131) 2022-05-02 20:56:06 +02:00
sfan5
56a558baf8 Refactor some Lua API functions in preparation for async env 2022-05-02 20:54:55 +02:00
sfan5
5362f472ff Remove some unused variable from Lua class wrappers 2022-05-02 20:54:55 +02:00
sfan5
a65f6f07f3 Clean up some auth packet handling related code 2022-04-28 20:05:26 +02:00
Lars Müller
1f27bf6380 Remove unneeded ObjectRef setter return values (#12179) 2022-04-10 23:20:51 +02:00