U433 - infinite loop with place_branch
This solution is mostly a band-aid. Make sure information set by join_map that is overlaid by the MAP is cleared out. This ensures that place_branch will never consider invalid data. A new function, remove_rooms(), with a helper, remove_room(), takes care of this, but only for rooms created by join_map, which addresses the only known case that causes this problem. There's a possibility that some other strange behavior, especially in minetn-6, will be fixed by this as well. The problem of disconnected caves on minetn-6 is not yet addressed. Also, add a check to lev_comp.y to make sure the required fg semantics of joined levels (fg must be ROOM or CORR) are actually met. Doesn't affect any levels currently included in the distro, but might address levels others are trying to make.
This commit is contained in:
@@ -68,6 +68,7 @@ poison missiles were unintentionally more likely to inflict "deadly poison"
|
||||
provide feedback when going invisible after eating a stalker
|
||||
killer on tombstone had no prefix for starvation/exhaustion case
|
||||
ensure proper message ordering for boulder trap messages
|
||||
clean up data set by join_map that is overlaid by MAPs on special levels
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
Reference in New Issue
Block a user