Commit Graph

44 Commits

Author SHA1 Message Date
Nils Dagsson Moskopp 4b91ae9522
Fix C stack overflow on Nether portal destruction
Before this patch, destroying an obsidian Nether portal frame destroyed
Nether portal nodes recursively. In Minetest binaries compiled with Lua
5.1 (i.e. without LuaJIT) this would cause a stack overflow when a huge
portal (23×23) was destroyed, crashing the server.

This patch implements Nether portal destruction using node timers. When
a portal node's timer triggers, it starts the timers of adjacent portal
nodes with the same orientation and no active timer and deletes itself.

Attempts to solve this problem using minetest.after() seemed promising,
but rubenwardy pointed out that anything relying on minetest.after() is
bound to fail if a server shuts down while portal nodes are destroyed.
2022-02-20 13:50:24 +01:00
kay27 0e37188ad1 Fix https://git.minetest.land/MineClone2/MineClone2/issues/1108 2021-02-26 02:48:22 +04:00
Elias Fleckenstein 82e113f0fc Update usages of alpha to the 5.4 convention 2021-02-18 10:58:50 +01:00
Elias Fleckenstein bec5339fc6 Update existing occurences of use_texture_alpha to the Minetest 5.4 convention if the feature is detected 2021-02-18 10:39:19 +01:00
kay27 827d7ec538 Fix attempt to index local 'pos' at ITEMS/mcl_portals/portal_nether.lua:728 2020-12-06 22:45:44 +04:00
Wuzzy d952c79cb7 Slower nether portal anim 2020-11-12 12:01:16 +01:00
Wuzzy 5f820c6bf9 Update helptext of obsidian 2020-09-30 17:31:19 +02:00
Wuzzy b0ee0a475b Remove "Loading terrain" msg (too spammy) 2020-09-30 17:27:34 +02:00
Wuzzy 3bed1c5bf8 Fix accidental global in mcl_portals 2020-09-30 17:10:06 +02:00
kay27 339f7c6359 Add calculation of mcl_vars.mapgen_edge_min/max in mcl_init and use them for Nether portal fast travelling 2020-09-26 02:17:49 +04:00
kay27 446b0e6602 Merge updated Nether portals, https://git.minetest.land/Wuzzy/MineClone2/issues/804 2020-09-21 22:21:46 +04:00
Wuzzy c5e4ec5e27 Use ephemeral sounds 2020-04-07 00:55:45 +02:00
aldum 82f851e20d Add theoretical support for larger nether portals 2020-01-06 15:11:29 +01:00
Wuzzy 1a02ccd36f Add more node groups 2019-12-13 10:20:08 +01:00
Wuzzy 47c817d75a New translation system, part 8: Items, part 4 2019-03-08 00:22:28 +01:00
Wuzzy 2f74aea6f5 Replace deprecated functions 2019-03-06 04:38:57 +01:00
Wuzzy 3ec7914962 Allow to use Minetest's original flat mapgen again 2019-02-09 03:07:18 +01:00
Wuzzy e789801662 Replace getpos() with get_pos() 2019-02-01 06:33:07 +01:00
Wuzzy e64518dd24 Fix crash when creating Nether portal 2019-02-01 01:21:08 +01:00
Wuzzy fe60b2c8bb More Nether portal generating refactor stuff 2018-06-15 19:15:39 +02:00
Wuzzy c1614dabc5 Rewrite emerge algorithm of Netherportal gen. 2018-06-15 19:07:20 +02:00
Wuzzy f68e835087 Fix Nether portal not teleporting players anymore 2018-06-15 18:26:59 +02:00
Wuzzy f022b747b0 Harden a number of minetest.after player checks 2018-06-03 16:44:37 +02:00
Wuzzy c2d0414255 Fix crash when obj tele's Nether→Overworld @ rain 2018-01-26 19:37:00 +01:00
Wuzzy b1d15fb667 Update sky instant if teleport between dimensions 2017-11-24 03:48:32 +01:00
Wuzzy b0c87f74fe Move world-related functions to mcl_worlds 2017-11-24 03:10:02 +01:00
Wuzzy 71be25f44a Only play tele sound for players 2017-11-21 06:03:07 +01:00
Wuzzy 526217a21b Disable Nether portals in the End 2017-11-21 02:05:52 +01:00
Wuzzy 1d37bec032 Update obsidian help 2017-09-19 15:47:00 +02:00
Wuzzy 70198eb50b Allow to light Nether portal with any fire 2017-09-19 15:45:23 +02:00
Wuzzy 3857ff43ef Fix creation of broken Nether portals 2017-09-19 15:08:46 +02:00
Wuzzy e9b2a26cd4 No double-check of air in portal_nether.lua 2017-09-19 14:15:31 +02:00
Wuzzy 39ad79dbe8 Fix Nether portals sometimes being generated out of range 2017-09-15 22:00:03 +02:00
Wuzzy 602058716f Add achievement for building a Nether portal 2017-09-15 18:03:37 +02:00
Wuzzy 10f50d972f Move Nether portal particle texture 2017-09-02 14:20:40 +02:00
Wuzzy 8d9e46b535 Add flat Nether; fix portals in flat world 2017-08-21 18:30:37 +02:00
Wuzzy 5766218e57 Tweak Nether portal post effect color 2017-08-21 04:34:50 +02:00
Wuzzy 5302a92baa Fix aggressive 2nd removal after portal generation 2017-08-21 04:31:56 +02:00
Wuzzy 987ad8eaf4 Add portal help texts, rewrite help of other items 2017-08-17 19:05:13 +02:00
Wuzzy c178a60a6b Add portal help texts 2017-08-17 18:41:58 +02:00
Wuzzy 14678af2ed Portals: Fix rapid back-and-forth teleportation 2017-08-17 18:14:49 +02:00
Wuzzy 3318c2f5f3 Move Nether portal frame size into vars 2017-08-17 15:20:10 +02:00
Wuzzy 130f05b9cd Nether portals now work without corners, too 2017-08-17 15:08:07 +02:00
Wuzzy 04ec0929a8 Move mcl_portals to ITEMS 2017-08-17 13:39:25 +02:00
Renamed from mods/MAPGEN/mcl_portals/portal_nether.lua (Browse further)