Commit Graph

1404 Commits

Author SHA1 Message Date
Abdou-31
4586f3342f Fix typos in lua_api.txt 2022-10-17 07:56:52 -04:00
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
Wuzzy
b2a3f53b29
Improve documentation for liquid_alternative_* (#12810) 2022-10-09 08:05:40 -04:00
DS
22cbc05808
Add an item pick up callback (2) (#7712)
Co-authored-by: SmallJoker <mk939@ymail.com>
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2022-10-01 15:21:06 -04:00
Wuzzy
977f656e09
Improve crafting recipe documentation (#12806) 2022-10-01 15:20:28 -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
pecksin
6ac38aa2c8
Restore and enhance bouncy behavior (#11939) 2022-09-27 16:22:36 -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
Aritz Erkiaga
5ced5c9b27
Briefly explain how facedir rotations work (#11934) 2022-09-25 13:45:02 +02:00
Lars Müller
1317cd12d7
Fix formula used for acceleration (#12353) 2022-09-20 10:55:51 +02:00
Wuzzy
9acf2d3db7
Document minetest.parse_relative_number (#12576) 2022-09-18 18:38:55 +02:00
William Breathitt Gray
19e936362a
Add support for MINETEST_USERDATA environment variable (#12639)
The MINETEST_USER_PATH environment variable can be used to define a
custom path for Minetest user data. If MINETEST_USER_PATH is empty or
unset, the HOME (or APPDATA on Windows) environment variable is used as
the default user data path; this ensures backwards compatibility with
existing user setups.
2022-09-16 13:19:44 +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
wsor4035
482cc99b2c
Fix trivial get_armor_groups documentation issue (#12760) 2022-09-12 19:25:25 +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
DS
643971c948
Add documentation of sun/moon orientation/scale differences (#12145) 2022-09-06 11:21:55 +01:00
sfan5
cae7ec1eb4
Cut back on Gitlab-ci & misc pipeline updates 2022-08-15 10:47:47 +02:00
Zughy
760242c076
Docs: add "flip moon texture" into breakage file (#12417) 2022-08-14 20:25:52 +02:00
Jude Melton-Houghton
ab8dfb45b4
Allow buffer argument to VoxelManip:get_light_data (#12682) 2022-08-13 08:53:47 +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
sfan5
ec778508df Continue with 5.7.0-dev 2022-08-04 22:46:02 +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
Wuzzy
f0703f3c5b
Fix lua_api typo: animated_images 2022-07-29 10:18:30 +02:00
sfan5
5cc7329717
More corrections to lua_api.txt (#12505) 2022-07-17 11:37:06 +02:00
rubenwardy
9f41b4f72d Add check_mod_configuration to main menu 2022-07-14 22:12:54 +01: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
Riley
34f15259fa
Fixed spelling inconsistency (#12504)
coloured -> colored
2022-07-03 08:52:40 -04: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
SmallJoker
de8ce9a8ff
Lua API: Refer to the update_translations tool (#12419)
Lost the link too often. This is much needed.
2022-06-29 22:21:00 +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
Zughy
4b087a0de2
Docs: remove background9 incorrect example (#12464) 2022-06-26 14:37:04 +01:00
x2048
0530ec11c0
Add description of privileges (#12021)
* Add description of privileges

* Restructure Privileges section based on feedback

* Suggestion by sfan5

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

* Suggestion by sfan5

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

* Incorporate comments by sfan5

Co-authored-by: sfan5 <sfan5@live.de>
2022-06-15 21:39:39 +02:00
Zughy
0f3f1a001c
lua_api.txt: add missing backticks 2022-06-13 18:31:33 +02:00
sfan5
804c255941 Improve lua_api.txt a bunch 2022-06-13 18:31:03 +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
Jude Melton-Houghton
ba65e0ace7 Fix LBM docs 2022-06-11 00:41:26 +02:00
rubenwardy
4baf56520d
Android: Add support for sharing debug.txt (#12370) 2022-06-05 17:42:09 +01:00
Lars Mueller
e82985c0a1 Document itemstrings with metadata 2022-06-05 15:20:13 +02:00
Wuzzy
6a6b579c54
Add helper functions to make tool usable n times (#12047) 2022-06-03 21:47:04 +02:00
Zughy
b72932b445 Docs: remove unimplemented preserve field in crafting recipes 2022-06-03 21:46:26 +02:00
sfan5
5cd7b0c6e4 Remove remains of video mode querying 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
Zughy
c660218e43
Docs: clarify spawn_by for decorations 2022-05-23 22:49:48 +02:00
Wuzzy
fa682270a9
Add missing comma in example in lua_api.txt (#12339) 2022-05-22 15:23:04 -04:00
Wuzzy
ac5e8176b9
Add relative numbers for commands by prepending ~ (#9588)
* Add relative numbers for commands by prepending ~

* Some builtin code cleanup

* Disallow nan and inf in minetest.string_to_area

* Remove unused local variable teleportee (makes Luacheck happy)

* Clean up core.string_to_pos

* Make area parsing less permissive

* Rewrite tests as busted tests

* /time: Fix negative minutes not working

Co-authored-by: Lars Mueller <appgurulars@gmx.de>
2022-05-22 10:28:24 -04:00
rubenwardy
4e9e230e34
Deprecate game.conf name, use title instead (#12030) 2022-05-21 16:23:30 +01:00
Zughy
4fb4991f5e
Add doc to list breaking changes for the next major release 2022-05-10 22:36:50 +02:00
Lars Müller
53c70b5f27
Docs: Recommend self.name (#12239) 2022-05-09 20:41:47 +02:00
Lars Müller
ae7664597e
Add vector.combine (#11920) 2022-05-04 07:44:14 -04:00
sfan5
e7659883cc Async environment for mods to do concurrent tasks (#11131) 2022-05-02 20:56:06 +02:00
Lars Müller
fccf1e2eac
Support CSS Color Module Level 4 (#12204) 2022-04-27 17:00:02 -04:00
Lars Müller
48d1bca9b8
Fix typo: vector.check() ought to be vector.check(v) 2022-04-24 21:10:03 +02:00
Lars Müller
583257f093 Update docs to reference CSS Color Module Level 3
as the named color "rebeccapurple" is unavailable, Level 4 clearly isn't supported; the link should not point to a dev version of the spec either
2022-04-21 21:45:20 +02:00
Lars Müller
1f27bf6380
Remove unneeded ObjectRef setter return values (#12179) 2022-04-10 23:20:51 +02:00
ShadowNinja
7993909fab Spacing fixes 2022-04-08 14:55:21 +01:00
DS
8d387433b1
Fix the documentation of InvRef:get_lists() and clean up code (#12150) 2022-03-29 18:06:16 +02:00
x2048
0f25fa7af6
Add API to control shadow intensity from the game/mod (#11944)
* Also Disable shadows when sun/moon is hidden. Fixes #11972.
2022-03-26 16:58:26 +01:00
DS
8d55702d13
Improve lua vector helper class doumentation (#12090) 2022-03-19 12:06:55 +01:00
Lars Müller
b9e886726c
Readd basic_debug as a HUD flag (#12020) 2022-03-05 22:16:17 +01:00
Zughy
44fc888bd6
Allow get_sky to return a table (#11963) 2022-03-05 22:15:41 +01:00
SmallJoker
f7311e0d97
Lua API documentation: Various fixes (#12059)
Change 1: Clarify when on_step collision information is provided
Change 2: Document PostgreSQL and Redis settings
Change 3: Overall AreaStore documentation improvements including consistent parameter naming based on community suggestions
2022-02-23 21:21:37 +01:00
Lars Müller
0a0fb11c21
Lua API: Consistently use double vs. single quotes (#12075) 2022-02-22 19:17:08 +01:00
Wuzzy
10cf2f3edd
Add support for 'seed' in disallow_mapgen_settings (#12023) 2022-02-12 20:23:58 +01:00
Dennis Jenkins
0cd9c5b5be
Correct world_format.txt specification (#12061)
The node timers appear at the end of a mapblock for map format version >= 25, not just map format version 25.
2022-02-12 20:23:46 +01:00
DS
a8707158a5
Allow to set the displayed item count and its alignment via meta (#8448)
* Allow to set the displayed item count and its offset via meta

* fix rect constr call

* devtest: add dump_item chatcommand

* fix rect2 constr call (sdim is a position (typedef for v2s32), not a dimension) and remove background because it would work now

* add missing utf8 to wide conversion

* rename to count_meta
2022-02-10 06:17:52 -05:00
DS
d387e9b6d3
Add more documentation for the list[] fs element (#11979) 2022-02-03 11:43:28 +01:00
Lars Mueller
80812b86d6 Document moon orientation relative to sun 2022-01-31 07:36:39 -05:00
rubenwardy
128f6359e9
Use virtual paths to specify exact mod to enable (#11784) 2022-01-30 22:40:53 +00:00
sfan5
8c0331d244 Continue with 5.6.0-dev 2022-01-30 22:58:19 +01:00
Lars Müller
fe0b2d02bf
Define control(bits) as "unset" for entities (#11995) 2022-01-27 22:22:58 +01:00
Vincent Robinson
95a775cd3a
Bump formspec version (#11980) 2022-01-23 00:55:43 +01:00
sfan5
f8cef52ea0 Fix consistency of sky sun/moon texture behaviour
Also cleans up related code somewhat.
2022-01-22 11:18:34 -05:00
Zughy
37d80784dd
Allow resetting celestial vault elements by leaving its arguments empty (#11922) 2022-01-22 12:42:49 +01:00
sfan5
76dbd0d2d0
Fully remove bitmap font support (#11863)
Freetype is now a build requirement.
2022-01-08 14:53:25 +01:00
Jude Melton-Houghton
bf22569019
Use a database for mod storage (#11763) 2022-01-07 20:28:49 +02:00
Wuzzy
b81948a14c
Fix damage wraparound if very high damage (#11872) 2022-01-06 21:16:35 +01:00
Aritz Erkiaga
85da2e284b Fix incorrect bit positions in paramtype documentation 2022-01-06 21:16:23 +01:00
Zughy
8910c7f8ae
Better document sky_color scope (#11892) 2022-01-01 22:46:00 +01:00
Vincent Robinson
544b9d5c72
Add padding[] element to formspecs (#11821) 2021-12-30 12:54:47 -08:00
sfan5
0c4929f025 Remove wrong function from lua_api.txt 2021-12-19 17:03:16 +01:00
ROllerozxa
fcf86ded8f
Disable inventory if player's inventory formspec is blank (#11827) 2021-12-13 17:43:29 +01:00
Francisco
a8c58d5cbb
Add pauloue's ItemStack example to docs (#9853) 2021-12-10 12:24:42 +01:00
Corey Powell
413be76c63
Implemented disconnect_player (#10492)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-11-26 19:19:40 +00:00
Lejo
b9051386ae
Add Lua bitop library (#9847) 2021-11-26 19:31:05 +01:00
sfan5
206e131854
Add backwards-compatible behaviour if too few CAO textures specified
(#11766)
2021-11-22 17:27:49 +00:00
ExeVirus
52bfbf6ed0
Allow for Game-Specific Menu Music (#11241) 2021-11-22 17:26:46 +00:00
Elijah Duffy
cbf658f83d
Lua API: Add rmdir, cpdir and mvdir (#9638)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-11-10 19:10:20 +01:00
Wuzzy
6910c8d920
Fix number of tool uses being off by 1..32767 (#11110) 2021-10-31 22:33:33 +00:00
sfan5
660e63dbae
Fix item duplication if player dies during interact callback (alternative) (#11662) 2021-10-25 20:30:27 +02:00
Wuzzy
86b44ecd82
Add no_texture.png as fallback for unspecified textures 2021-10-20 21:50:16 +02:00
hecks
02292e03e4
Add embedded PNG texture modifier (#11498) 2021-10-13 17:51:37 +02:00
sfan5
2b5075f0e2 Move archive extraction in content store to async job 2021-10-07 00:20:01 +02:00
emixa-d
9fab5d594c
Add "MINETEST_MOD_PATH" environment variable (#11515)
This adds an environment variable MINETEST_MOD_PATH.
When it exists, Minetest will look there for mods in addition to ~/.minetest/mods/.
2021-10-07 00:19:41 +02:00
Wuzzy
4fca601e0c
Add get_server_max_lag() (#11671) 2021-10-05 15:35:55 +03:00
Wuzzy
21113ad410
Split liquid_viscosity to liquid_viscosity and move_resistance (#10810) 2021-10-01 16:21:24 +02:00
sfan5
16a62426d6 Add feature table entry for new dynamic media API 2021-09-19 13:54:06 +02:00
DS
2cefe51d3b
Split vector.new into 3 constructors 2021-09-10 23:16:16 +02:00
sfan5
bbfae0cc67
Dynamic_Add_Media v2 (#11550) 2021-09-09 16:51:35 +02:00
lhofhansl
d1624a5521
Switch MapBlock compression to zstd (#10788)
* Add zstd support.
* Rearrange serialization order
* Compress entire mapblock

Co-authored-by: sfan5 <sfan5@live.de>
2021-08-31 17:32:31 -07:00
Treer
149d8fc8d6
Add group-based tool filtering for node drops (#10141)
Supports both AND and OR requirements, e.g.

 * "a tool that's in any of these groups"
 * "a tool that's in all of these groups"
2021-08-27 20:23:20 +02:00
Wuzzy
63e8224636
Fix 6th line of infotext being cut off in half (#11456) 2021-08-23 22:13:17 +02:00
Wuzzy
2eec997e97
Clarify the meaning of "rightclick"/"use" in documentation (#11471) 2021-08-16 17:57:07 +02:00
Hugues Ross
47c146120a
Add disable_settings to game.conf to get rid of "Enable Damage"/"Creative Mode"/"Host Server" checkboxes (#11524)
This adds support for disable_settings to game.conf. In this you can specify a list of settings that should not be visible in the "local game" (or however it is called nowadays) tab. Enable Damage, Creative Mode and Host Server are supported.

Co-authored-by: Wuzzy <Wuzzy2@mail.ru>
Co-authored-by: Aaron Suen <warr1024@gmail.com>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-08-12 20:08:12 +02:00
hecks
80d12dbedb
Add a simple PNG image encoder with Lua API (#11485)
* Add a simple PNG image encoder with Lua API
Add ColorSpec to RGBA converter
Make a safety wrapper for the encoder
Create devtest examples

Co-authored-by: hecktest <>
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-29 05:10:10 +02:00
sfan5
6e8aebf432
Add bold, italic and monospace font styling for HUD text elements (#11478)
Co-authored-by: Elias Fleckenstein <eliasfleckenstein@web.de>
2021-07-27 19:11:46 +02:00
Wuzzy
216728cc5e
Improve documentation of tools (#11128) 2021-07-27 19:09:14 +02:00
random-geek
5d27cc5096
Document glasslikeliquidlevel merge bits (#11479) 2021-07-25 12:34:53 +02:00
Wuzzy
f4d8cc0f0b
Add wallmounted support for plantlike and plantlike_rooted nodes (#11379) 2021-07-15 21:19:59 +02:00
Hugues Ross
68143ed8ec
Fix documented default colors for set_sky 2021-07-14 17:14:45 +02:00
hecktest
29522017a3 Fix typo in lua_api.txt 2021-07-10 16:37:18 -07:00
Lean Rada
42fbc757b1
Use persistence instead of persist in NoiseParams examples 2021-07-10 14:19:33 +02:00
Warr1024
52128ae11e
Add API for mods to hook liquid transformation events (#11405)
Add API for mods to hook liquid transformation events

Without this API, there is no reliable way for mods to be
notified when liquid transform modifies nodes and mods are
forced to poll for changes.  This allows mods to detect
changes to flowing liquid nodes and liquid renewal using
event-driven logic.
2021-07-09 09:08:40 -04:00
Wuzzy
b5c09ada79
Document hypertext escaping (#11374) 2021-06-22 13:42:40 +01:00
NeroBurner
a7143c2a8c
Move build/android directory to root of project (#11283) 2021-06-21 20:51:42 +01:00
sfence
b10091be9b
Add min_y and max_y checks for Active Block Modifiers (ABM) (#11333)
This check can be used by ABM to reduce CPU usage.
2021-06-20 17:21:35 +02:00
rubenwardy
e1b297a14b
Add roadmap (#10536) 2021-06-17 04:15:30 +01:00
DS
8f085e02a1
Add metatables to lua vectors (#11039)
Add backwards-compatible metatable functions for vectors.
2021-06-04 21:22:33 +02:00
SmallJoker
c9144ae5e2
Add core.compare_block_status function (#11247)
Makes it possible to check the status of the mapblock in a future-extensible way.
2021-05-30 20:24:12 +02:00
Lars Müller
89f3991351
Fix base64 validation and add unittests (#10515)
Implement proper padding character checks
2021-05-30 20:23:12 +02:00
SmallJoker
5bf72468f3
UnitSAO: Prevent circular attachments 2021-05-29 11:44:48 +02:00
Wuzzy
1bb8449734
Improve liquid documentation (#11158) 2021-05-06 19:24:11 +02:00
Vincent Robinson
074e6a67de
Add minetest.colorspec_to_colorstring (#10425) 2021-04-23 21:37:24 +02:00
Wuzzy
90a7bd6a0a
Put torch/signlike node on floor if no paramtype2 (#11074) 2021-04-20 19:50:03 +02:00
benrob0329
a106bfd456
Also return the ObjectRef from minetest.spawn_falling_node() (#11184) 2021-04-13 20:02:43 +02:00
Wuzzy
4b8209d9a4
Modifying fall damage via armor group (#11080)
Adds a new fall_damage_add_percent armor group which influences the fall damage in addition to the existing node group.
2021-04-11 17:09:37 +02:00
DS
2332527765
Add vector.to_string and vector.from_string (#10323)
Writing vectors as strings is very common and should belong to `vector.*`. `minetest.pos_to_string` is also too long to write, implies that one should only use it for positions and leaves no spaces after the commas.
2021-04-05 15:55:56 +02:00
sfan5
34888a914e
Sort out cURL timeouts and increase default 2021-04-02 00:19:39 +02:00
Vincent Robinson
3560691c0a
Add math.round and fix vector.round (#10803) 2021-04-02 00:18:58 +02:00
Lars Müller
88d1fcfe23
Block & report player self-interaction (#11137) 2021-03-30 21:49:50 +02:00
SmallJoker
f4118a4fde
Consistent title bar + render information in mainmenu (#10764) 2021-03-30 21:49:15 +02:00
sfan5
f345d00a43 Add entry in features table for degrotate changes 2021-03-30 14:40:09 +02:00
Vitaliy
3b78a22371
Degrotate support for mesh nodes (#7840) 2021-03-30 00:25:11 +02:00
Hugues Ross
afe988d83d
lua_api.txt: Fix style selector examples 2021-03-21 23:23:14 +01:00
Jean-Patrick Guerrero
285ba74723
GUIScene: Clear depth buffer + replace deprecated clearZBuffer calls 2021-03-16 23:28:16 +01:00
Lars Müller
b5eda416ce
Slap u64 on everything time-y (#10984) 2021-02-24 12:05:17 +01:00
sfan5
02d64a51ee Continue with 5.5.0-dev 2021-02-23 19:50:44 +01:00
DS
4abe4b87b5
Allow overwriting media files of dependencies (#10752) 2021-02-23 19:39:15 +01:00
rubenwardy
f85e9ab925
Add nametag background setting and object property (#10937) 2021-02-17 19:51:28 +00:00
rubenwardy
a8f6befd39
Fix short_description fallback order (#10943) 2021-02-17 18:53:44 +00:00
rubenwardy
3a8c37181a
Use consistent temp folder path (#10892) 2021-02-07 15:27:24 +00:00
Wuzzy
8c19823aa7
Fix documentation of formspec sound style (#10913) 2021-02-04 21:43:12 +01:00
sfan5
40ad976753 Revise dynamic_add_media API to better accomodate future changes 2021-02-01 23:00:13 +01:00
sfan5
a01a02f7a1 Preserve immortal group for players when damage is disabled 2021-01-31 20:38:12 +01:00
rubenwardy
6e0e0324a4
Fix minetest.dig_node returning true when node isn't diggable (#10890) 2021-01-31 18:49:51 +00:00
sfan5
83229921e5 Rework use_texture_alpha to provide three opaque/clip/blend modes
The change that turns nodeboxes and meshes opaque when possible is kept,
as is the compatibility code that warns modders to adjust their nodedefs.
2021-01-29 17:34:41 +01:00
Graham Northup
e6e5910cb4
Clarify key_value_swap's edge case (#10799)
In compiler design especially, leaving behavior as "undefined" is a _strong_ condition that basically states that all possible integrity is violated; it's the kind of thing that happens when, say, dereferencing a pointer with unknown provenance, and most typically leads to a crash, but can result in all sorts of spectacular errors--thus, "it is undefined" how your program will melt down.

The pure-Lua implementation of `key_value_swap` does not permit UB _per se_ (assuming the implementation of Lua itself is sound), but does deterministically choose the value to which a key is mapped (the last in visitation order wins--since visitation order is arbitrary, _some_ value _will_ be chosen). Most importantly, the program won't do something wildly unexpected.
2021-01-29 17:34:00 +01:00