-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix: portal to quest would sometimes not spawn if entry portal spawne…
…d on Aphrodite's Garden or the Desolate Forest levels. This was a weird one, initially caught while fuzzing. This started out as an issue with a gold vault spawning on either Aphrodite's garden level or the desolate forest level, and that vault being chosen to spawn a portal to Fort Ludios. Fixed that (I think 😁) and then noticed some more weirdness with the number of rooms spawning on those levels not being as high as they should be. One thing led to another, discovered I did not have to have a special ordinary room spawn on either of those special levels, a portal to the quest could generate just fine without it. Then started to see 'portal on top of portal??' impossible messages when a quest portal would spawn on those special levels - sometimes, but not all the time. This meant there was a non-zero chance that the game could become unwinnable under certain, albeit rare, conditions. This went from a nuicance during fuzzing to a serious issue. Took a bit of doing, but terrapin and I narrowed it down to some issues in the somexyspace() function. Discovered that the creation of grass in those special level rooms would mess with portal generation. Added a couple exclusions for grass (and sand while there), and while poking around in somexyspace(), noticed that the check for (xy_flags & 2) was slightly wrong, and had been this way for a looooong time. So long story short - fixed quest portal placement for those special levels, normal rooms are no longer required there, fixed somexyspace(). I need a drink. Co-authored-by: saltwaterterrapin <[email protected]>
- Loading branch information
1 parent
56fdf14
commit a5114ee
Showing
6 changed files
with
35 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters