aerinon
19e9738c42
Merge branch 'MinorCleanup' into DoorDev
...
# Conflicts:
# DoorShuffle.py
# Doors.py
2019-11-01 16:18:37 -06:00
aerinon
e08bf3776a
Ice Palace added
...
Dynamic logical doors added for ice cross w/ push block
Improved crystal switch pathing
Minor update to PoD
2019-11-01 16:13:23 -06:00
aerinon
90c3368f9d
Revamped dungeon generation
...
Revamped key logic generation
Prevent key floods in playthrough/can_beat_game checks
2019-10-31 11:09:58 -06:00
aerinon
bc30cc3b42
Minor fix to basic generation for now
2019-10-28 13:55:07 -06:00
aerinon
417fc0797f
Shuffling sectors is improved slightly
...
Changing many logging statements to debug only
2019-10-25 13:56:44 -06:00
aerinon
050ae66bf6
Thieves Town
2019-10-25 13:50:37 -06:00
aerinon
b27dd2f64f
Finishing up interior doors for Eastern
2019-10-24 22:45:03 -06:00
aerinon
be03fc214d
Adding some more interior doors to HC and Eastern
2019-10-22 23:00:07 -06:00
aerinon
8db8d066b4
PoD and Swamp logical dead end detection improved
2019-10-22 15:49:36 -06:00
aerinon
01a4d4b872
Generation tweaks and fixes
...
- Flooding the keys in swamp
- Logical dead ends
- The pinball exception
2019-10-21 22:32:49 -06:00
aerinon
c090bd7003
Early bad loop detection.
2019-10-18 11:56:56 -06:00
aerinon
beb15951a0
Skull Woods added
...
Fixed polarity for stairs
Some swamp fixes
Prep work for dungeons that can require traversal through overworld - like skull woods
Special case for pinball room so it can be in Skull 2 or Skull 1
2019-10-17 16:35:13 -06:00
aerinon
7db3c82e70
More swamp fixes
...
Removed Left Drain to Right (switch resets)
2019-10-16 06:57:57 -06:00
aerinon
4d35265e5c
Key flood protection in sweep for events
...
Better loop validation
Small key validation tweaks
2019-10-15 15:15:29 -06:00
aerinon
ce626bd093
Unification of exploration logic
...
Crystal stuff for PoD/Hera
Minor fixes to key logic
2019-10-15 13:01:32 -06:00
aerinon
a0fdb25b43
Spirals for Swamp
...
Swamp Logic
Door definition cleanup
Stabs at Swamp events and Crystal Switches
2019-10-11 16:53:46 -06:00
aerinon
87ff92ba7c
Swamp regions and doors
2019-10-09 16:46:26 -06:00
aerinon
dc6791da08
Door Types in Spoiler
...
Some fixes for rooms with ToggleFlag "doors"
2019-10-09 14:26:18 -06:00
aerinon
2ced48c691
Incorporated key logic prototype in the rules.
...
Relaxed key_layout_validation more (allows keys to lead to more keys)
2019-10-08 16:57:27 -06:00
aerinon
db155950f2
Not allowing Lower Layer keydoors for now. vanilla Lttp engine does not handle them
...
Killed the restrictive Eastern key rules - in prep for real key logic
2019-10-07 14:32:34 -06:00
aerinon
19a78f2a0c
Fixed a few spiral bugs
...
Fixed a problem with door pairing system
2019-10-05 23:15:06 -06:00
aerinon
92ad60bedf
Key Door Shuffle algorithm added
2019-10-03 16:27:44 -06:00
aerinon
5cc4fdfa1f
Added PoD
...
Added Logic for Desert,Hera,Aga,PoD
Revamped Logic for HC, Eastern
2019-10-03 09:24:27 -06:00
aerinon
8719a4919d
Door pairing system initial pass complete
...
Sucessfully de-coupling of Big Key doors with dumb small key doors behind
Added a bit to trap door fixer so that we can hit the 3rd door in the door list
Added door list position info
2019-10-01 11:26:10 -06:00
aerinon
f12659af9d
Fixes to Aga Tower staircases
...
Lots of initial work on key doors and other door pairs
2019-09-27 22:00:45 -06:00
aerinon
5eb0e6e379
Aga Tower preliminary check in
2019-09-20 21:24:46 -06:00
aerinon
e66908816d
Kill Landing/Warp End "Doors"
2019-09-19 14:44:33 -06:00
aerinon
6534aaecc6
Tower of Hera Door
...
Logical Doors
2019-09-19 14:40:16 -06:00
randall.rupper
292af3241c
Minor logging problem
2019-09-17 14:02:21 -06:00
randall.rupper
27ea522499
Experimental and Crossed mode updated with monte carlo division of sectors
2019-09-17 13:53:30 -06:00
aerinon
a38ef2820a
Incremental improvements to algorithm.
...
Can get stuck in loop because it ran into a dead end only option early, not sure how to avoid that.
Also, some landings are considered outstanding doors, that shouldn't happen.
2019-09-16 22:10:25 -06:00
randall.rupper
49e782b050
Intermediate commit to switch from work to home
2019-09-16 21:12:55 -06:00
randall.rupper
6f5121c028
Updated desert to be more compatible with logic changes (no logic yet)
...
Refactored doors to clean up builder flags.
2019-09-16 15:10:37 -06:00
randall.rupper
dc74df793c
Merge branch 'DoorDev' into DoorExtension
...
# Conflicts:
# DoorShuffle.py
# Doors.py
# Regions.py
2019-09-16 14:02:32 -06:00
tolmar
dda7dbaad4
"Ugly door" support
...
Ugly doors are doors that we don't want to see from the front:
- south-facing side of a BK door
- other side of one of those keyed staircases that don't actually have a matching key on the other side
This rejects layouts where one would appear.
2019-09-15 23:40:06 -07:00
tolmar
9fa26ef067
Handle multiple startpoints and some blocked doors
...
Better blocked door handling:
- Start dungeon layout at the entrance
- Hold off on linking from blocked doors until the end of the dungeon, so they either point deeper in, or get added as a loop.
- Now that we care what the start is, properly handle the fact that dungeons have multiple starts.
2019-09-15 21:14:51 -07:00
tolmar
6ac00c2968
Eastern Palace Logic
...
Works sometimes. Either needs a south-facing big key door hack, or a way to avoid placing big key doors in places where you can see their back.
2019-09-15 11:35:35 -07:00
tolmar
3a872723b0
Use connect_one_way when doors are blocked
...
Shuffler doesn't respect blocked doors yet so it may create an unbeatable layout, and the item placer will panic. But that's better than silently giving the player something impossible
2019-09-15 02:24:48 -07:00
tolmar
c8bd17042e
More door fixes
2019-09-15 00:08:30 -07:00
tolmar
fcd810b4f3
Force pair keydoors
2019-09-14 22:09:21 -07:00
aerinon
4982ef0d9c
Starting thinking about a backtracking algorithm
2019-09-14 22:27:38 -06:00
randall.rupper
97c225ab2f
Desert Regions, Doors, and fixes associate with the new stuff
...
Updated generation algorithm to use new Sector object
Moved Dungeon items back for now
Created region lists for ease of grouping
2019-09-13 16:38:23 -06:00
tolmar
861195eb8b
Add internal key data
...
Adds forced keys (enemy and pot drops) to regions, adds key doors within supertiles.
2019-09-07 16:39:39 -07:00
tolmar
a0b9b1fefe
Clean up shuffle_dungeon
...
Use logger instead of print, loop shuffling until it works.
2019-09-06 18:14:48 -07:00
tolmar
cd3735fc2f
Add spiral staircases to basic shuffle
...
Makes the basic shuffler attempt to link spiral stairs.
2019-09-05 11:29:15 -07:00
randall.rupper
ac01262a31
Refactored normal doors to use a lookup table. Now the door table is <4k
...
Fixed graphics between HC/Sewers and cross dungeons.
Added base work for spiral staircases in HC/Eastern. (More data needed for other dungeons.)
Added new region to deal with push blocks in Sewers Secret Room
Refactored asm to be in multiple files.
2019-09-04 16:34:59 -06:00
tolmar
5a891c68d1
Fill in standard mode shuffle
...
A bit ugly for now, but it basically works. Still needs logic.
2019-08-26 21:37:31 -07:00
aerinon
1e495de31c
Spoiler additions for doors
2019-08-26 21:59:02 -06:00
randall.rupper
7f6c593df0
Bug with sanc/pull switch doors fixed.
...
Bug with doors with offset 2 going to doors with offset 2 was fixed in asm.
Refactor asm code to use Y as 2nd index, which cleaned up code.
Also learned the phb:phk:plb ... plb trick (cleaner than what I was doing)
2019-08-26 15:03:42 -06:00
randall.rupper
c87c767835
Upgrades doors to be written out by the rom. (No testing today)
...
Added some various modes to play around with.
Fixed prototype's generation code to run
2019-08-23 16:52:53 -06:00