Cataclysm-dda: more like bubble WARP

Created on 8 Sep 2017  路  8Comments  路  Source: CleverRaven/Cataclysm-DDA

bubblewrap-morelikebubblewarp

Game version: 0.C-23662-g69d83fa (tiles)

Operating system: Windows 10 Pro

Tiles or curses: Chesthole32

Mods active: No fungal, explosive, corrosive zombies, all default available building additions, vehicles, boats, more survival tools, so and so's realistic guns, nothing else that should remotely affect this...

Expected behavior

Bubble wrap doesn't appear in a square around me whenever I take a step

Actual behavior

actual fucking armed bubblewrap appears every time I take a step and is irremovable. Bubblewrap taken is immediately replaced; passing time with the . key curiously has no effect. Entities/buildings properly spawned, no other indication of an issue or error other than the fucking bubblewrap appearing at my feet. Entities popped the bubble wrap, but didn't produce their own. The bubble wrap when burned immediately was extinguished and replaced with a fresh bubble wrap. Very very bizarre.

Steps to reproduce the behavior

?????? seems isolated??????? Still really weird??????
Haven't been able to replicate in probably 20 new world generations, with the same settings and world.

(S1 - Need confirmation) <Bug> Spawn

Most helpful comment

I'm pretty sure this has happened before.
It was caused by null trap somehow being replaced by the bubble trap, making the game think that bubble wrap trap is the lack of trap, warping bubble wrap on the map and making removal of any trap spawn more of this crap.

I suspect it's caused by terrain finalization in mapdata.cpp using the int_id tr_null, but this int_id is not really set until trap::finalize, meaning that the terrain is linked to old int_ids which may be reassigned if load order is altered in any way. It shouldn't be caused by vector relocation and the like and most mods should depend on "dda", but if any mod doesn't, it may be loaded before "dda" thus causing scrambling of those int_ids.

The simplest ways to solve this is to either finalize terrain after traps (instead of before - traps don't depend on terrain, terrain depends on traps) or have two finalization phases for things ("local" finalization that only sets ids, "global" finalization that sets interconnections).

All 8 comments

this may be the weirdest most unexpected bug I've seen in near any game, and I've seen some weird shit.

I'm pretty sure this has happened before.
It was caused by null trap somehow being replaced by the bubble trap, making the game think that bubble wrap trap is the lack of trap, warping bubble wrap on the map and making removal of any trap spawn more of this crap.

I suspect it's caused by terrain finalization in mapdata.cpp using the int_id tr_null, but this int_id is not really set until trap::finalize, meaning that the terrain is linked to old int_ids which may be reassigned if load order is altered in any way. It shouldn't be caused by vector relocation and the like and most mods should depend on "dda", but if any mod doesn't, it may be loaded before "dda" thus causing scrambling of those int_ids.

The simplest ways to solve this is to either finalize terrain after traps (instead of before - traps don't depend on terrain, terrain depends on traps) or have two finalization phases for things ("local" finalization that only sets ids, "global" finalization that sets interconnections).

This would be a nice hallucination event lol.

Apparently we had another incident of this happen on the forums where the person played in defense mode first, so that might be something to look into.

There is nothing more to look into here, I described the bug in detail.
Also, I silently fixed the bug in #21867 (by reordering the two initialization functions to avoid dependency problem) which is ready for merging.

Also, I silently fixed the bug in #21867

If you had bothered to call out that there was a bugfix in there, I would have looked into it sooner, the main goal of that PR is a very low priority ui change that I'm not certain I agree with, so it's been on the backburner.

Supposedly fixed by #21867, please confirm.

I had it happen a couple times a while after the issue was originally posted, and I haven't seen it since #21867 . Hopefully fixed?

Was this page helpful?
0 / 5 - 0 ratings