Merge branch 'zladx:main' into main

This commit is contained in:
BlinkingBerry 2024-07-29 18:29:16 +01:00 committed by GitHub
commit b0f123c801
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 181 additions and 141 deletions

View File

@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: kemenaran/rgbds:0.6.0
- image: kemenaran/rgbds:0.8.0
steps:
- checkout
- run:

View File

@ -10,7 +10,7 @@ RUN apt-get install -y build-essential bison pkg-config libpng-dev
# Retrieve rgbds
RUN git clone https://github.com/gbdev/rgbds.git && \
cd rgbds && \
git fetch --tags && git checkout v0.6.0
git fetch --tags && git checkout v0.8.0
# Build rgbds
RUN cd rgbds && make install

View File

@ -13,9 +13,7 @@ RGBDS :=
ASM := $(RGBDS)rgbasm
ASFLAGS := \
--export-all\
--halt-without-nop\
--preserve-ld
--export-all
LD := $(RGBDS)rgblink
LDFLAGS :=

View File

@ -5919,9 +5919,9 @@ LoadRoom::
;
ldh a, [hMapRoom] ; $31BF: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $31C1: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $31C1: $FE $0E
jr nz, .endEaglesTowerAlt ; $31C3: $20 $0C
ld a, [wOverworldRoomStatus + ROOM_OW_EAGLE_TOWER] ; $31C5: $FA $0E $D8
ld a, [wOverworldRoomStatus + ROOM_OW_EAGLES_TOWER] ; $31C5: $FA $0E $D8
and OW_ROOM_STATUS_CHANGED ; $31C8: $E6 $10
jr z, .altRoomsEnd ; $31CA: $28 $55
ld bc, Overworld0EAlt ; Eagle's Tower open ; $31CC: $01 $EC $47
@ -6716,7 +6716,7 @@ label_350E::
cp $E1 ; $350E: $FE $E1
jr nz, label_351D ; $3510: $20 $0B
ldh a, [hMapRoom] ; $3512: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $3514: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $3514: $FE $0E
ret z ; $3516: $C8
cp UNKNOWN_ROOM_0C ; $3517: $FE $0C
ret z ; $3519: $C8
@ -6919,7 +6919,7 @@ SetupDestroyableObjectIfNeeded::
jr nz, .setupDestroyableObject ; $35DB: $20 $0B
ldh a, [hMapRoom] ; $35DD: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $35DF: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $35DF: $FE $0E
ret z ; $35E1: $C8
cp UNKNOWN_ROOM_0C ; $35E2: $FE $0C
ret z ; $35E4: $C8

View File

@ -2087,7 +2087,7 @@ CreateFollowingNpcEntity::
cp TRUE ; $5FD6: $FE $01
jr nz, .roosterEnd ; $5FD8: $20 $3A
; Search existing entities for an already loaded Roster
; Search existing entities for an already loaded Rooster
ld e, $0F ; $5FDA: $1E $0F
ld d, $00 ; $5FDC: $16 $00
.roosterSearchLoop

View File

@ -1633,7 +1633,7 @@ label_014_5630:
ldh a, [hObjectUnderEntity] ; $5630: $F0 $AF
cp $20 ; $5632: $FE $20
jr nz, jr_014_564E ; $5634: $20 $18
; likely mad batter entrance rooms
ldh a, [hMapRoom] ; $5636: $F0 $F6
cp UNKNOWN_ROOM_52 ; $5638: $FE $52
jr z, .jr_5640 ; $563A: $28 $04

View File

@ -1841,7 +1841,7 @@ jr_002_4CC1:
jr nz, .jr_4CD3 ; $4CCC: $20 $05
ldh a, [hMapRoom] ; $4CCE: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $4CD0: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $4CD0: $FE $0E
ret z ; $4CD2: $C8
.jr_4CD3
@ -2579,14 +2579,15 @@ LinkMotionFallingDownHandler::
and a ; $5106: $A7
jr nz, jr_002_512B ; $5107: $20 $22
; overworld warp hole rooms
ldh a, [hMapRoom] ; $5109: $F0 $F6
cp UNKNOWN_ROOM_01 ; $510B: $FE $01
cp ROOM_OW_TURTLE_ROCK_WARP_HOLE ; $510B: $FE $01
jr z, .jr_511B ; $510D: $28 $0C
cp UNKNOWN_ROOM_95 ; $510F: $FE $95
cp ROOM_OW_UKUKU_PRAIRIE_WARP_HOLE ; $510F: $FE $95
jr z, .jr_511B ; $5111: $28 $08
cp UNKNOWN_ROOM_2C ; $5113: $FE $2C
cp ROOM_OW_WATERFALL_WARP_HOLE ; $5113: $FE $2C
jr z, .jr_511B ; $5115: $28 $04
cp UNKNOWN_ROOM_EC ; $5117: $FE $EC
cp ROOM_OW_ANIMAL_VILLAGE_WARP_HOLE ; $5117: $FE $EC
jr nz, jr_002_512B ; $5119: $20 $10
.jr_511B
@ -2654,16 +2655,16 @@ jr_002_516A:
jr nz, jr_002_51AC ; $517A: $20 $30
ldh a, [hMapRoom] ; Underworld 2:
cp MOUNTAIN_CAVE_ROOM_1 ; caves in the mountains where falling in a pit will spit you out of a waterfall
jr z, .jr_518E ;
cp MOUNTAIN_CAVE_ROOM_2 ; $5182: $FE $7B
jr z, .jr_518E ; $5184: $28 $08
cp MOUNTAIN_CAVE_ROOM_3 ; $5186: $FE $7C
jr z, .jr_518E ; $5188: $28 $04
cp MOUNTAIN_CAVE_ROOM_4 ; $518A: $FE $7D
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_1 ; caves in the mountains where falling in a pit will spit you out of a waterfall
jr z, .WaterfallWarp ;
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_2 ; $5182: $FE $7B
jr z, .WaterfallWarp ; $5184: $28 $08
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_3 ; $5186: $FE $7C
jr z, .WaterfallWarp ; $5188: $28 $04
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_4 ; $518A: $FE $7D
jr nz, jr_002_51AC ; $518C: $20 $1E
.jr_518E
.WaterfallWarp
ld a, $00 ; $518E: $3E $00
ld hl, wWarp0MapCategory ; $5190: $21 $01 $D4
ld [hl+], a ; $5193: $22
@ -6068,13 +6069,13 @@ CheckPositionForMapTransition::
;
ldh a, [hMapRoom] ; $6CD1: $F0 $F6
cp ROOM_INDOOR_B_EAGLE_TOWER_BOSS ; $6CD3: $FE $E8
cp ROOM_INDOOR_B_EAGLES_TOWER_BOSS ; $6CD3: $FE $E8
jp z, .manualEntryPointsEnd ; $6CD5: $CA $5C $6D
cp UNKNOWN_ROOM_F8 ; $6CD8: $FE $F8
jp z, .manualEntryPointsEnd ; $6CDA: $CA $5C $6D
cp ROOM_INDOOR_B_MANBO ; $6CDD: $FE $FD
jr z, .jr_002_6D00 ; $6CDF: $28 $1F
cp ROOM_INDOOR_A_WATER_HOLE ; $6CE1: $FE $A3
cp ROOM_INDOOR_A_CATFISHS_MAW_WATER_HOLE ; $6CE1: $FE $A3
jp z, ApplyMapFadeOutTransitionWithNoise ; $6CE3: $CA $7D $0C
cp UNKNOWN_ROOM_C0 ; $6CE6: $FE $C0
jp z, ApplyMapFadeOutTransitionWithNoise ; $6CE8: $CA $7D $0C
@ -6129,7 +6130,7 @@ CheckPositionForMapTransition::
jp z, ApplyMapFadeOutTransition ; $6D28: $CA $83 $0C
cp ROOM_INDOOR_B_SEASHELL_MANSION ; $6D2B: $FE $E9
jp z, ApplyMapFadeOutTransitionWithNoise ; $6D2D: $CA $7D $0C
cp ROOM_INDOOR_B_EAGLE_TOWER_BOSS ; $6D30: $FE $E8
cp ROOM_INDOOR_B_EAGLES_TOWER_BOSS ; $6D30: $FE $E8
jp z, .return ; $6D32: $CA $09 $6E
cp UNKNOWN_ROOM_F8 ; $6D35: $FE $F8
jp z, .return ; $6D37: $CA $09 $6E
@ -6237,7 +6238,7 @@ CheckPositionForMapTransition::
; If room is $E8 (Eagle's Tower boss)…
ldh a, [hMapRoom] ; $6DCC: $F0 $F6
cp ROOM_INDOOR_B_EAGLE_TOWER_BOSS ; $6DCE: $FE $E8
cp ROOM_INDOOR_B_EAGLES_TOWER_BOSS ; $6DCE: $FE $E8
jr nz, .eagleTowerBossEnd ; $6DD0: $20 $12
; … and map is not CAVE_E…
@ -6623,7 +6624,7 @@ ApplyCollisionWithObject::
jp nz, label_002_703B ; $6FAD: $C2 $3B $70
ldh a, [hMapRoom] ; $6FB0: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; L7 Eagle's Tower overworld entrance
cp ROOM_OW_EAGLES_TOWER ; L7 Eagle's Tower overworld entrance
jr nz, .jr_6FBD ; $6FB4: $20 $07
ld a, [wHasBirdKey] ; $6FB6: $FA $14 $DB
@ -7026,7 +7027,7 @@ ApplyCollisionWithDoor:
jr z, .jr_7204 ; $71FA: $28 $08
cp ROOM_OW_FACE_SHRINE_ENTRANCE ; $71FC: $FE $8C
jr z, .jr_7204 ; $71FE: $28 $04
cp ROOM_OW_EAGLE_TOWER ; $7200: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $7200: $FE $0E
jr nz, jr_002_722C ; $7202: $20 $28
.jr_7204

View File

@ -5377,10 +5377,10 @@ LoadRoomObjectsAttributes::
ret nz ; $6DB3: $C0
ldh a, [hMapRoom] ; $6DB4: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $6DB6: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $6DB6: $FE $0E
jr nz, .jr_020_6DC6 ; $6DB8: $20 $0C
ld a, [wOverworldRoomStatus + ROOM_OW_EAGLE_TOWER] ; $6DBA: $FA $0E $D8
ld a, [wOverworldRoomStatus + ROOM_OW_EAGLES_TOWER] ; $6DBA: $FA $0E $D8
and OW_ROOM_STATUS_CHANGED ; $6DBD: $E6 $10
jr z, .jr_020_6E1A ; $6DBF: $28 $59
ld hl, RoomGBCOverlay0EAlt ; $6DC1: $21 $90 $50

View File

@ -5,9 +5,9 @@ ZolGelMakeInvisibleBeforeMagnifyingLens::
ret nz ; $7BE6: $C0
ldh a, [hMapRoom] ; $7BE7: $F0 $F6
cp ROOM_INDOOR_B_97 ; $7BE9: $FE $97
cp ROOM_INDOOR_B_UNDER_MERMAID_STATUE ; $7BE9: $FE $97
jr z, .invisible ; $7BEB: $28 $03
cp ROOM_INDOOR_B_98 ; $7BED: $FE $98
cp ROOM_INDOOR_B_MAGNIFYING_GLASS ; $7BED: $FE $98
ret nz ; $7BEF: $C0
.invisible

View File

@ -145,19 +145,19 @@ notZolChest:
jr nz, .jr_7C49 ; $7C3F: $20 $08
ldh a, [hMapRoom] ; $7C41: $F0 $F6
cp ROOM_INDOOR_A_POWER_BRACELET_LV2 ; $7C43: $FE $CE
jr nz, jr_007_7C58 ; maybe related to incrementing an item level
jr jr_007_7C53 ; $7C47: $18 $0A
cp ROOM_INDOOR_A_FACE_SHRINE_PBRACELET_LV2 ; $7C43: $FE $CE
jr nz, jr_007_7C58 ; use alt sprite for lv2 pickup in these rooms
jr UseAltChestSprite ; $7C47: $18 $0A
.jr_7C49
cp MAP_EAGLES_TOWER
jr nz, jr_007_7C58 ; $7C4B: $20 $0B
ldh a, [hMapRoom] ; $7C4D: $F0 $F6
cp ROOM_INDOOR_B_SHIELD_LV2 ; $7C4F: $FE $1A
cp ROOM_INDOOR_B_EAGLES_TOWER_SHIELD_LV2 ; $7C4F: $FE $1A
jr nz, jr_007_7C58 ; $7C51: $20 $05
jr_007_7C53:
UseAltChestSprite:
ld de, ChestItemSpriteTableAlt ; $7C53: $11 $53 $7B
jr jr_007_7C5B ; $7C56: $18 $03

View File

@ -30,7 +30,7 @@ func_007_698A::
call GetEntityTransitionCountdown ; $698A: $CD $05 $0C
ret nz ; $698D: $C0
.jr_698E
; fallthrough if not zero
ld a, MUSIC_OPEN_ANGLERS_TUNNEL ; $698E: $3E $4C
ld [wMusicTrackToPlay], a ; $6990: $EA $68 $D3
jp IncrementEntityState ; $6993: $C3 $12 $3B
@ -310,11 +310,11 @@ func_007_6B16::
ld_dialog_low e, Dialog112 ; "You found me!" ; $6B1D: $1E $12
ldh a, [hMapRoom] ; $6B1F: $F0 $F6
cp ROOM_INDOOR_A_MASTER_STALFOS_2 ; $6B21: $FE $92
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_2 ; $6B21: $FE $92
jr z, .jr_6B2F ; $6B23: $28 $0A
cp ROOM_INDOOR_A_MASTER_STALFOS_3 ; $6B25: $FE $84
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_3 ; $6B25: $FE $84
jr z, .jr_6B2F ; $6B27: $28 $06
cp ROOM_INDOOR_A_MASTER_STALFOS_FINAL ; $6B29: $FE $80
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_4 ; $6B29: $FE $80
jr nz, jr_007_6B33 ; $6B2B: $20 $06
ld_dialog_low e, Dialog114 ; "I can't outlast you" ; $6B2D: $1E $14

View File

@ -80,15 +80,15 @@ TradingItemEntityHandler::
ldh a, [hMapRoom] ; $5516: $F0 $F6
cp UNKNOWN_ROOM_6B ; $5518: $FE $6B
jr z, .jr_007_5528 ; $551A: $28 $0C
cp MOUNTAIN_CAVE_ROOM_1 ; $551C: $FE $7A
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_1 ; $551C: $FE $7A
jr z, .jr_007_5528 ; $551E: $28 $08
cp UNKNOWN_ROOM_8B ; $5520: $FE $8B
jr z, .jr_007_5528 ; $5522: $28 $04
cp MOUNTAIN_CAVE_ROOM_2 ; $5524: $FE $7B
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_2 ; $5524: $FE $7B
jr nz, .jr_007_552E ; $5526: $20 $06
.jr_007_5528
ld a, [wOverworldRoomStatus + MOUNTAIN_CAVE_ROOM_2] ; $5528: $FA $7B $D8
ld a, [wOverworldRoomStatus + ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_2] ; $5528: $FA $7B $D8
and OW_ROOM_STATUS_CHANGED ; $552B: $E6 $10
ret z ; $552D: $C8

View File

@ -578,7 +578,7 @@ Data_019_6839::
AnimateDungeonDoorOpening:
ldh a, [hMapRoom] ; $6841: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $6843: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $6843: $FE $0E
jp z, AnimateEaglesTowerOpening ; $6845: $CA $F8 $61
ld a, $02 ; $6848: $3E $02

View File

@ -46,10 +46,10 @@ MimicEntityHandler::
jr nz, jr_019_6ACE ; $6ABC: $20 $10
ldh a, [hMapRoom] ; $6ABE: $F0 $F6
cp ROOM_INDOOR_B_97 ; $6AC0: $FE $97
cp ROOM_INDOOR_B_UNDER_MERMAID_STATUE ; $6AC0: $FE $97
jr z, .jr_6AC8 ; $6AC2: $28 $04
cp ROOM_INDOOR_B_98 ; $6AC4: $FE $98
cp ROOM_INDOOR_B_MAGNIFYING_GLASS ; $6AC4: $FE $98
jr nz, jr_019_6ACE ; $6AC6: $20 $06
.jr_6AC8

View File

@ -1,20 +1,20 @@
Data_019_4201:: ; Warp points ?
db UNKNOWN_ROOM_17
db UNKNOWN_ROOM_11
db UNKNOWN_ROOM_36
db UNKNOWN_ROOM_28
db UNKNOWN_ROOM_45
db UNKNOWN_ROOM_52
db MOUNTAIN_CAVE_ROOM_1
db UNKNOWN_ROOM_64
db UNKNOWN_ROOM_93
db UNKNOWN_ROOM_A1
db UNKNOWN_ROOM_C5
db UNKNOWN_ROOM_D4
db UNKNOWN_ROOM_28
db ROOM_OW_EAGLE_TOWER
db UNKNOWN_ROOM_3F
db UNKNOWN_ROOM_5D
DungeonWarps:: ; Rooms containing miniboss dungeon warp points.
db ROOM_INDOOR_A_TAIL_CAVE_ENTRANCE
db ROOM_INDOOR_A_TAIL_CAVE_ROLLING_BONES
db ROOM_INDOOR_A_BOTTLE_GROTTO_ENTRANCE
db ROOM_INDOOR_A_BOTTLE_GROTTO_HINOX
db ROOM_INDOOR_A_KEY_CAVERN_DODONGO
db ROOM_INDOOR_A_KEY_CAVERN_ENTRANCE
db ROOM_INDOOR_A_ANGLERS_TUNNEL_ENTRANCE
db ROOM_INDOOR_A_ANGLERS_TUNNEL_CUE_BALL
db ROOM_INDOOR_A_CATFISHS_MAW_GOHMA
db ROOM_INDOOR_A_CATFISHS_MAW_ENTRANCE
db ROOM_INDOOR_A_FACE_SHRINE_SMASHER
db ROOM_INDOOR_A_FACE_SHRINE_ENTRANCE
db ROOM_INDOOR_B_EAGLES_TOWER_GRIM_CREEPER
db ROOM_INDOOR_B_EAGLES_TOWER_ENTRANCE
db ROOM_INDOOR_B_TURTLE_ROCK_BLAINO
db ROOM_INDOOR_B_TURTLE_ROCK_ENTRANCE
WarpEntityHandler::
ld a, [wIsIndoor] ; $4211: $FA $A5 $DB
@ -177,7 +177,7 @@ WarpState3Handler::
ld e, a ; $432E: $5F
sla e ; $432F: $CB $23
ld d, $00 ; $4331: $16 $00
ld hl, Data_019_4201 ; $4333: $21 $01 $42
ld hl, DungeonWarps ; $4333: $21 $01 $42
add hl, de ; $4336: $19
ldh a, [hMapRoom] ; $4337: $F0 $F6
cp [hl] ; $4339: $BE

View File

@ -213,23 +213,23 @@ ENDC
jr nz, .masterStalfosEnd ; $48CB: $20 $23
ldh a, [hMapRoom] ; $48CD: $F0 $F6
cp ROOM_INDOOR_A_MASTER_STALFOS_1 ; $48CF: $FE $95
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_1 ; $48CF: $FE $95
jr z, .masterStalfosEnd ; $48D1: $28 $1D
cp ROOM_INDOOR_A_MASTER_STALFOS_2 ; $48D3: $FE $92
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_2 ; $48D3: $FE $92
jr z, .masterStalfosEnd ; $48D5: $28 $19
cp ROOM_INDOOR_A_MASTER_STALFOS_3 ; $48D7: $FE $84
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_3 ; $48D7: $FE $84
jr z, .jr_003_48E2 ; $48D9: $28 $07
ld a, [wIndoorARoomStatus + ROOM_INDOOR_A_MASTER_STALFOS_3] ; $48DB: $FA $84 $D9
ld a, [wIndoorARoomStatus + ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_3] ; $48DB: $FA $84 $D9
and $30 ; $48DE: $E6 $30
jr z, MasterStalfosDefeated ; $48E0: $28 $CB
.jr_003_48E2
ld a, [wIndoorARoomStatus + ROOM_INDOOR_A_MASTER_STALFOS_2] ; $48E2: $FA $92 $D9
ld a, [wIndoorARoomStatus + ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_2] ; $48E2: $FA $92 $D9
and $30 ; $48E5: $E6 $30
jr z, MasterStalfosDefeated ; $48E7: $28 $C4
ld a, [wIndoorARoomStatus + ROOM_INDOOR_A_MASTER_STALFOS_1] ; $48E9: $FA $95 $D9
ld a, [wIndoorARoomStatus + ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_1] ; $48E9: $FA $95 $D9
and $30 ; $48EC: $E6 $30
jr z, MasterStalfosDefeated ; $48EE: $28 $BD
.masterStalfosEnd
@ -1415,7 +1415,7 @@ jr_003_4F24:
EntityInitKeyDropPoint::
ldh a, [hMapRoom] ; $4F2D: $F0 $F6
cp UNKNOWN_ROOM_F8 ; In the Yarna Desert quicksand pit
cp ROOM_INDOOR_A_QUICKSAND_CAVE ; In the Yarna Desert quicksand pit
jr nz, .jr_4F44 ; $4F31: $20 $11
; check if the angler key has dropped, and not dropped down the hole yet
@ -1431,7 +1431,7 @@ EntityInitKeyDropPoint::
.jr_4F44
; Handle the sprite change for the bird key
cp MOUNTAIN_CAVE_ROOM_1 ; $4F44: $FE $7A
cp ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_1 ; $4F44: $FE $7A
jr nz, .jr_4F54 ; $4F46: $20 $0C
IF __PATCH_0__
@ -1450,7 +1450,7 @@ ENDC
.jr_4F54
; handle the key in the sidescroll room in dungeon 4 where
; the key drops in the hole down into the sidescrolling room with water
cp MOUNTAIN_CAVE_ROOM_3 ; $4F54: $FE $7C
cp ROOM_INDOOR_A_ANGLERS_TUNNEL_KEY_FALL ; $4F54: $FE $7C
jr nz, .ret_4F67 ; $4F56: $20 $0F
ld a, [wIndoorARoomStatus + ROOM_OW_ANGLERS_TUNNEL] ; $4F58: $FA $69 $D9
@ -3262,7 +3262,7 @@ KeyDropPointEntityHandler::
.jr_5C99
ldh a, [hMapRoom] ; $5C99: $F0 $F6
cp ROOM_INDOOR_A_MASTER_STALFOS_FINAL ; $5C9B: $FE $80
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_4 ; $5C9B: $FE $80
jp z, label_003_5C49 ; $5C9D: $CA $49 $5C
ld de, KeyDropSpriteTable ; $5CA0: $11 $78 $5C
@ -4678,11 +4678,11 @@ GiveInventoryItem:: ; @TODO GivePlayerItem or w/e - inserts item in [d] into
PickDroppableKey::
ldh a, [hMapRoom] ; $648F: $F0 $F6
cp ROOM_INDOOR_A_MASTER_STALFOS_FINAL ; $6491: $FE $80
cp ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_4 ; Hookshot drops after Master Stalfos is defeated.
jr z, jr_003_64A5 ; $6493: $28 $10
ldh a, [hMapRoom] ; $6495: $F0 $F6
cp MOUNTAIN_CAVE_ROOM_3 ; L4 Side-view room where the key drops
cp ROOM_INDOOR_A_ANGLERS_TUNNEL_KEY_FALL ; L4 Side-view room where the key drops
jr nz, .jr_64A0 ; $6499: $20 $05
ld hl, wIndoorARoomStatus + $69 ; $649B: $21 $69 $D9

View File

@ -1742,7 +1742,7 @@ TurtleRockHints::
db_dialog_low Dialog293
; Indexed by hMapId
Data_036_4A14::
HintTable::
._0 dw TailCaveHints
._1 dw BottleGrottoHints
._2 dw KeyCavernHints
@ -1752,39 +1752,39 @@ Data_036_4A14::
._6 dw EaglesTowerHints
._7 dw TurtleRockHints
Data_036_4A24::
db UNKNOWN_ROOM_03, UNKNOWN_ROOM_0A, UNKNOWN_ROOM_04
TailCaveHintRooms::
db ROOM_INDOOR_A_TAIL_CAVE_SPIKED_BEETLES, ROOM_INDOOR_A_TAIL_CAVE_THREE_OF_A_KIND, ROOM_INDOOR_A_TAIL_CAVE_MOVABLE_BLOCK
Data_036_4A27::
db UNKNOWN_ROOM_29, UNKNOWN_ROOM_33, UNKNOWN_ROOM_2F
BottleGrottoHintRooms::
db ROOM_INDOOR_A_BOTTLE_GROTTO_POT_STAIRS, ROOM_INDOOR_A_BOTTLE_GROTTO_FIRST_SWITCH, ROOM_INDOOR_A_BOTTLE_GROTTO_PUSH_BLOCKS
Data_036_4A2A::
db UNKNOWN_ROOM_54, UNKNOWN_ROOM_40, UNKNOWN_ROOM_47
KeyCavernHintRooms::
db ROOM_INDOOR_A_KEY_CAVERN_SWITCH, ROOM_INDOOR_A_KEY_CAVERN_BOMBITE_CORNER, ROOM_INDOOR_A_KEY_CAVERN_FLOOR_ARROW
Data_036_4A2D::
db UNKNOWN_ROOM_6F, UNKNOWN_ROOM_00, UNKNOWN_ROOM_00
AnglersTunnelHintRooms::
db ROOM_INDOOR_A_ANGLERS_TUNNEL_HINT_STATUE, ROOM_NULL, ROOM_NULL
Data_036_4A30::
db UNKNOWN_ROOM_8A, UNKNOWN_ROOM_9A, UNKNOWN_ROOM_00
CatfishsMawHintRooms::
db ROOM_INDOOR_A_CATFISHS_MAW_HINT_CRYSTAL, ROOM_INDOOR_A_CATFISHS_MAW_HINT_STAR, ROOM_NULL
Data_036_4A33::
db UNKNOWN_ROOM_BB, UNKNOWN_ROOM_B6, UNKNOWN_ROOM_D7
FaceShrineHintRooms::
db ROOM_INDOOR_A_FACE_SHRINE_CORRIDOR_HINT, ROOM_INDOOR_A_FACE_SHRINE_POT_CHEST, ROOM_INDOOR_A_FACE_SHRINE_CRYSTAL_JUMP
Data_036_4A36::
db UNKNOWN_ROOM_16, UNKNOWN_ROOM_1C, UNKNOWN_ROOM_04
EaglesTowerHintRooms::
db ROOM_INDOOR_B_EAGLES_TOWER_WRECKING_BALL, ROOM_INDOOR_B_EAGLES_TOWER_3_OF_A_KIND, ROOM_INDOOR_B_EAGLES_TOWER_NE_CHEST
Data_036_4A39::
db UNKNOWN_ROOM_53, UNKNOWN_ROOM_45, UNKNOWN_ROOM_41
TurtleRockHintRooms::
db ROOM_INDOOR_B_TURTLE_ROCK_BEAMOS_HINT, ROOM_INDOOR_B_TURTLE_ROCK_BOMB_ZOL, ROOM_INDOOR_B_TURTLE_ROCK_ARROW_STATUE
Data_036_4A3C::
dw Data_036_4A24
dw Data_036_4A27
dw Data_036_4A2A
dw Data_036_4A2D
dw Data_036_4A30
dw Data_036_4A33
dw Data_036_4A36
dw Data_036_4A39
HintRoomTable::
dw TailCaveHintRooms
dw BottleGrottoHintRooms
dw KeyCavernHintRooms
dw AnglersTunnelHintRooms
dw CatfishsMawHintRooms
dw FaceShrineHintRooms
dw EaglesTowerHintRooms
dw TurtleRockHintRooms
; Returns a dialog id for an owl statue hint, depending on the
; current map and room.
@ -1793,7 +1793,7 @@ Data_036_4A3C::
; hMultiPurpose0 the lower part of the dialog id
GetOwlStatueDialogId::
push bc ; $4A4C: $C5
ld hl, Data_036_4A3C ; $4A4D: $21 $3C $4A
ld hl, HintRoomTable ; $4A4D: $21 $3C $4A
ldh a, [hMapId] ; $4A50: $F0 $F7
sla a ; $4A52: $CB $27
ld e, a ; $4A54: $5F
@ -1818,7 +1818,7 @@ GetOwlStatueDialogId::
jr nz, .loop_4A5E ; $4A68: $20 $F4
.jr_4A6A
ld hl, Data_036_4A14 ; $4A6A: $21 $14 $4A
ld hl, HintTable ; $4A6A: $21 $14 $4A
add hl, de ; $4A6D: $19
ld a, [hl+] ; $4A6E: $2A
ld h, [hl] ; $4A6F: $66
@ -8500,17 +8500,17 @@ IsInteractiveMotionAllowed::
ld a, [wIsIndoor] ; $7267: $FA $A5 $DB
and a ; $726A: $A7
jr nz, jr_036_729E ; $726B: $20 $31
; Photo locations freezing Link in place
ldh a, [hMapRoom] ; $726D: $F0 $F6
cp UNKNOWN_ROOM_F0 ; $726F: $FE $F0
cp ROOM_OW_MARIN_CLIFF_PHOTO ; $726F: $FE $F0
jp z, label_036_7101 ; $7271: $CA $01 $71
cp UNKNOWN_ROOM_92 ; $7274: $FE $92
cp ROOM_OW_MABE_VILLAGE_SQUARE ; $7274: $FE $92
jp z, label_036_712D ; $7276: $CA $2D $71
cp UNKNOWN_ROOM_A1 ; $7279: $FE $A1
cp ROOM_OW_BOWWOW ; $7279: $FE $A1
jp z, label_036_71AD ; $727B: $CA $AD $71
cp UNKNOWN_ROOM_79 ; $727E: $FE $79
cp ROOM_OW_KANALET_GATE ; $727E: $FE $79
jp z, label_036_71FA ; $7280: $CA $FA $71
cp UNKNOWN_ROOM_64 ; $7283: $FE $64
cp ROOM_OW_GHOST_GRAVE ; $7283: $FE $64
jp z, label_036_7228 ; $7285: $CA $28 $72
.allow

View File

@ -6,7 +6,7 @@ IF !__PATCH_0__
; Check if this is room E8, which is Evil Eagle's boss room
; If so, don't actually load the map
ldh a, [hMapRoom] ; $6709: $F0 $F6
cp ROOM_INDOOR_B_EAGLE_TOWER_BOSS ; $670B: $FE $E8
cp ROOM_INDOOR_B_EAGLES_TOWER_BOSS ; $670B: $FE $E8
ret z ; $670D: $C8
ENDC

View File

@ -348,7 +348,7 @@ jr_021_41B4:
jr nz, jr_021_4222 ; $41FB: $20 $25
ldh a, [hMapRoom] ; $41FD: $F0 $F6
cp ROOM_OW_EAGLE_TOWER ; $41FF: $FE $0E
cp ROOM_OW_EAGLES_TOWER ; $41FF: $FE $0E
jr nz, jr_021_4254 ; $4201: $20 $51
ld hl, Data_021_5548 ; $4203: $21 $48 $55

View File

@ -4,13 +4,15 @@
; Overworld rooms
;
DEF ROOM_OW_TURTLE_ROCK_WARP_HOLE EQU $01
DEF ROOM_OW_RIGHT_OF_EGG EQU $07
DEF ROOM_OW_MARIN_BRIDGE EQU $08
DEF ROOM_OW_EAGLE_TOWER EQU $0E
DEF ROOM_OW_EAGLES_TOWER EQU $0E
DEF ROOM_SECTION_OW_SOUTH_OF_TAL_TAL_HEIGHTS EQU $20
DEF ROOM_OW_BOTTLE_GROTTO_ENTRANCE EQU $24
DEF ROOM_OW_WATERFALL_WARP_HOLE EQU $2C
DEF ROOM_OW_ANGLERS_TUNNEL_ENTRANCE EQU $2B
DEF ROOM_OW_CAMERA_SHOP EQU $37
@ -20,21 +22,21 @@ DEF ROOM_SECTION_OW_GHOST_TRIGGER EQU $40
DEF ROOM_OW_KANALET_CASTLE_CROW EQU $58
DEF ROOM_OW_KANALET_CASTLE_FIVE_PITS EQU $5A
DEF ROOM_OW_GHOST_GRAVE EQU $64
DEF ROOM_OW_ANGLERS_TUNNEL EQU $69
DEF ROOM_OW_COLOR_DUNGEON_ENTRANCE EQU $77
DEF ROOM_OW_KANALET_MOAT EQU $78
DEF ROOM_OW_KANALET_GATE EQU $79
DEF MOUNTAIN_CAVE_ROOM_1 EQU $7A
DEF MOUNTAIN_CAVE_ROOM_2 EQU $7B
DEF MOUNTAIN_CAVE_ROOM_3 EQU $7C ; is also Side-view room where the key drops ? double use ?
DEF MOUNTAIN_CAVE_ROOM_4 EQU $7D
DEF ROOM_SECTION_OW_SECOND_HALF EQU $80
DEF ROOM_OW_FACE_SHRINE_ENTRANCE EQU $8C
DEF ROOM_OW_MABE_VILLAGE_SQUARE EQU $92
DEF ROOM_OW_UKUKU_PRAIRIE_WARP_HOLE EQU $95
DEF ROOM_OW_GIANT_SKULL EQU $97
DEF ROOM_OW_BOWWOW EQU $A1
DEF ROOM_OW_SOUTHERN_FACE_SHRINE_ENTRANCE EQU $AC
DEF ROOM_OW_ULRIRA_HOUSE EQU $B1
@ -48,22 +50,54 @@ DEF ROOM_OW_YARNA_LANMOLA EQU $CE
DEF ROOM_OW_TAIL_CAVE_ENTRANCE EQU $D3
DEF ROOM_OW_CATFISHS_MAW_ENTRANCE EQU $D9
DEF ROOM_OW_ANIMAL_VILLAGE_WARP_HOLE EQU $EC
DEF ROOM_OW_MARIN_CLIFF_PHOTO EQU $F0
DEF ROOM_OW_BEACH_WITH_SWORD EQU $F2
DEF ROOM_OW_WALRUS EQU $FD
;
; Indoor A rooms
;
DEF ROOM_INDOOR_A_TAIL_CAVE_SPIKED_BEETLES EQU $03
DEF ROOM_INDOOR_A_TAIL_CAVE_MOVABLE_BLOCK EQU $04
DEF ROOM_INDOOR_A_TAIL_CAVE_THREE_OF_A_KIND EQU $0A
DEF ROOM_INDOOR_A_TAIL_CAVE_ROLLING_BONES EQU $11
DEF ROOM_INDOOR_A_TAIL_CAVE_ENTRANCE EQU $17
DEF ROOM_INDOOR_A_MASTER_STALFOS_FINAL EQU $80
DEF ROOM_INDOOR_A_MASTER_STALFOS_3 EQU $84
DEF ROOM_INDOOR_A_BOTTLE_GROTTO_HINOX EQU $28
DEF ROOM_INDOOR_A_BOTTLE_GROTTO_POT_STAIRS EQU $29
DEF ROOM_INDOOR_A_BOTTLE_GROTTO_PUSH_BLOCKS EQU $2F
DEF ROOM_INDOOR_A_BOTTLE_GROTTO_FIRST_SWITCH EQU $33
DEF ROOM_INDOOR_A_BOTTLE_GROTTO_ENTRANCE EQU $36
DEF ROOM_INDOOR_A_MASTER_STALFOS_2 EQU $92
DEF ROOM_INDOOR_A_MASTER_STALFOS_1 EQU $95
DEF ROOM_INDOOR_A_KEY_CAVERN_BOMBITE_CORNER EQU $40
DEF ROOM_INDOOR_A_KEY_CAVERN_DODONGO EQU $45
DEF ROOM_INDOOR_A_KEY_CAVERN_FLOOR_ARROW EQU $47
DEF ROOM_INDOOR_A_KEY_CAVERN_ENTRANCE EQU $52
DEF ROOM_INDOOR_A_KEY_CAVERN_SWITCH EQU $54
DEF ROOM_INDOOR_A_WATER_HOLE EQU $A3
DEF ROOM_INDOOR_A_ANGLERS_TUNNEL_CUE_BALL EQU $64
DEF ROOM_INDOOR_A_ANGLERS_TUNNEL_HINT_STATUE EQU $6F
DEF ROOM_INDOOR_A_ANGLERS_TUNNEL_ENTRANCE EQU $7A
DEF ROOM_INDOOR_A_ANGLERS_TUNNEL_KEY_FALL EQU $7C
DEF ROOM_INDOOR_A_POWER_BRACELET_LV2 EQU $CE
DEF ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_4 EQU $80
DEF ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_3 EQU $84
DEF ROOM_INDOOR_A_CATFISHS_MAW_HINT_CRYSTAL EQU $8A
DEF ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_2 EQU $92
DEF ROOM_INDOOR_A_CATFISHS_MAW_GOHMA EQU $93
DEF ROOM_INDOOR_A_CATFISHS_MAW_MSTALFOS_1 EQU $95
DEF ROOM_INDOOR_A_CATFISHS_MAW_HINT_STAR EQU $9A
DEF ROOM_INDOOR_A_CATFISHS_MAW_ENTRANCE EQU $A1
DEF ROOM_INDOOR_A_CATFISHS_MAW_WATER_HOLE EQU $A3
DEF ROOM_INDOOR_A_FACE_SHRINE_POT_CHEST EQU $B6
DEF ROOM_INDOOR_A_FACE_SHRINE_CORRIDOR_HINT EQU $BB
DEF ROOM_INDOOR_A_FACE_SHRINE_SMASHER EQU $C5
DEF ROOM_INDOOR_A_FACE_SHRINE_PBRACELET_LV2 EQU $CE
DEF ROOM_INDOOR_A_FACE_SHRINE_ENTRANCE EQU $D4
DEF ROOM_INDOOR_A_FACE_SHRINE_CRYSTAL_JUMP EQU $D7
DEF ROOM_INDOOR_A_WATER_FLOODED_GROTTO EQU $F2
DEF ROOM_INDOOR_A_GORIYA EQU $F5
@ -73,10 +107,26 @@ DEF ROOM_INDOOR_A_QUICKSAND_CAVE EQU $F8
; Indoor B rooms
;
DEF ROOM_INDOOR_B_SHIELD_LV2 EQU $1A
DEF ROOM_INDOOR_B_EAGLES_TOWER_NE_CHEST EQU $04
DEF ROOM_INDOOR_B_EAGLES_TOWER_ENTRANCE EQU $0E
DEF ROOM_INDOOR_B_EAGLES_TOWER_WRECKING_BALL EQU $16
DEF ROOM_INDOOR_B_EAGLES_TOWER_SHIELD_LV2 EQU $1A
DEF ROOM_INDOOR_B_EAGLES_TOWER_3_OF_A_KIND EQU $1C
DEF ROOM_INDOOR_B_EAGLES_TOWER_GRIM_CREEPER EQU $28
DEF ROOM_INDOOR_B_97 EQU $97
DEF ROOM_INDOOR_B_98 EQU $98
DEF ROOM_INDOOR_B_TURTLE_ROCK_BLAINO EQU $3F
DEF ROOM_INDOOR_B_TURTLE_ROCK_ARROW_STATUE EQU $41
DEF ROOM_INDOOR_B_TURTLE_ROCK_BOMB_ZOL EQU $45
DEF ROOM_INDOOR_B_TURTLE_ROCK_BEAMOS_HINT EQU $53
DEF ROOM_INDOOR_B_TURTLE_ROCK_ENTRANCE EQU $5D
DEF ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_1 EQU $7A
DEF ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_2 EQU $7B
DEF ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_3 EQU $7C
DEF ROOM_INDOOR_B_MOUNTAIN_CAVE_ROOM_4 EQU $7D
DEF ROOM_INDOOR_B_UNDER_MERMAID_STATUE EQU $97
DEF ROOM_INDOOR_B_MAGNIFYING_GLASS EQU $98
DEF ROOM_INDOOR_B_TRENDY_MINIGAME EQU $A0
DEF ROOM_INDOOR_B_MARIN_HOUSE EQU $A3
@ -91,10 +141,11 @@ DEF ROOM_INDOOR_B_KANALET_MAIN_ENTRANCE EQU $D3
DEF ROOM_INDOOR_B_CHRISTINE_HOUSE EQU $D9
DEF ROOM_INDOOR_B_SCHULE_HOUSE EQU $DD
DEF ROOM_INDOOR_B_EAGLE_TOWER_BOSS EQU $E8
DEF ROOM_INDOOR_B_EAGLES_TOWER_BOSS EQU $E8
DEF ROOM_INDOOR_B_SEASHELL_MANSION EQU $E9
DEF ROOM_INDOOR_B_FISHERMAN_UNDER_BRIDGE EQU $F5
DEF ROOM_INDOOR_B_EAGLES_TOWER_BOSS_LADDER EQU $F8
DEF ROOM_INDOOR_B_MANBO EQU $FD
;
@ -109,9 +160,8 @@ DEF ROOM_CD_05 EQU $05
; See docs/rooms.png to help identification
;
DEF UNKNOWN_ROOM_00 EQU $00
DEF ROOM_NULL EQU $00 ; Intentionally left null.
DEF UNKNOWN_ROOM_01 EQU $01
DEF UNKNOWN_ROOM_03 EQU $03
DEF UNKNOWN_ROOM_04 EQU $04
DEF UNKNOWN_ROOM_05 EQU $05
DEF UNKNOWN_ROOM_06 EQU $06
@ -127,13 +177,7 @@ DEF UNKNOWN_ROOM_1B EQU $1B ; The drainable water above
DEF UNKNOWN_ROOM_1C EQU $1C
DEF UNKNOWN_ROOM_1E EQU $1E
DEF UNKNOWN_ROOM_28 EQU $28
DEF UNKNOWN_ROOM_29 EQU $29
DEF UNKNOWN_ROOM_2C EQU $2C
DEF UNKNOWN_ROOM_2F EQU $2F
DEF UNKNOWN_ROOM_32 EQU $32
DEF UNKNOWN_ROOM_33 EQU $33
DEF UNKNOWN_ROOM_36 EQU $36 ; 1 room east of Moblin Hideout
DEF UNKNOWN_ROOM_3A EQU $3A ; Overworld room with... no seashell?
DEF UNKNOWN_ROOM_3B EQU $3B
@ -149,9 +193,6 @@ DEF UNKNOWN_ROOM_47 EQU $47
DEF UNKNOWN_ROOM_4A EQU $4A
DEF UNKNOWN_ROOM_52 EQU $52
DEF UNKNOWN_ROOM_53 EQU $53
DEF UNKNOWN_ROOM_54 EQU $54
DEF UNKNOWN_ROOM_5D EQU $5D
DEF UNKNOWN_ROOM_63 EQU $63
DEF UNKNOWN_ROOM_64 EQU $64 ; maybe map screen where you take the ghost after the house