BeefaloKing / randomizer

Lynn's Randomizer
0 stars 0 forks source link

Some map loops invalid and cause crash on mouseover #12

Open BeefaloKing opened 4 years ago

BeefaloKing commented 4 years ago

Run on commit 768136b6c0fc2b8f2839bbb430eeb3e49cc5c095

# Lynn's Diablo II Randomizer
# Please do not leave any space before or after the equal sign

d2path=D:/Program Files (x86)/Diablo II - D2SE

d2se=true
d2se_core=1.13c
d2se_mod=Random

seed=3706061052

rand_npc=true
rand_critters=true
rand_mapnames=true
rand_wpmenu=true
rand_music=false

rand_maplinks=true
force_longmeph=true

rand_supers=true
super_anyact=false
super_actboss=false

rand_uniques=true
rand_sets=true
rand_itemprops=true
rand_gemrunes=true
rand_shopstock=true
rand_charskills=true

Loop created between Flayer Jungle and Durance of Hate Level 2. One entrance pair works, the other crashes.

BeefaloKing commented 4 years ago

It appears as if areas with more than one vis column associated with one or more exits (i.e. Stub.visList contains more than one non 255 value) cannot have a double edge with any other area.

Replacing Durance of Hate Level 2 with maps from either Flayer Dungeon or Swampy Pit allows both links to be made correctly in the example above.

BeefaloKing commented 4 years ago

Additionally, Durance of Hate Level 1 and 2 appear to be the only areas that could be involved in an invalid loop (with how the maps are currently generated). Could either add hard-coded checks for these two areas or fix with a more object-oriented friendly rewrite.