diff --git a/.circleci/config.yml b/.circleci/config.yml index bfb3f532..ac062c15 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: kemenaran/rgbds:0.6.0 + - image: kemenaran/rgbds:0.8.0 steps: - checkout - run: diff --git a/.circleci/images/rgbds/Dockerfile b/.circleci/images/rgbds/Dockerfile index 31ad1855..d910f003 100644 --- a/.circleci/images/rgbds/Dockerfile +++ b/.circleci/images/rgbds/Dockerfile @@ -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 diff --git a/Makefile b/Makefile index d05ccba9..10114471 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,7 @@ RGBDS := ASM := $(RGBDS)rgbasm ASFLAGS := \ - --export-all\ - --halt-without-nop\ - --preserve-ld + --export-all LD := $(RGBDS)rgblink LDFLAGS := diff --git a/src/code/bank0.asm b/src/code/bank0.asm index 4a3a57d5..27d36226 100644 --- a/src/code/bank0.asm +++ b/src/code/bank0.asm @@ -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 diff --git a/src/code/bank1.asm b/src/code/bank1.asm index 09660fdd..b82a8d4a 100644 --- a/src/code/bank1.asm +++ b/src/code/bank1.asm @@ -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 diff --git a/src/code/bank14.asm b/src/code/bank14.asm index dd172a2c..78a0b4be 100644 --- a/src/code/bank14.asm +++ b/src/code/bank14.asm @@ -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 diff --git a/src/code/bank2.asm b/src/code/bank2.asm index d9e1874e..4938cc14 100644 --- a/src/code/bank2.asm +++ b/src/code/bank2.asm @@ -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 diff --git a/src/code/bank20.asm b/src/code/bank20.asm index 14403d55..7af7b827 100644 --- a/src/code/bank20.asm +++ b/src/code/bank20.asm @@ -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 diff --git a/src/code/entities/06_zol.asm b/src/code/entities/06_zol.asm index c710db5d..1ab02fba 100644 --- a/src/code/entities/06_zol.asm +++ b/src/code/entities/06_zol.asm @@ -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 diff --git a/src/code/entities/07_chest_with_item.asm b/src/code/entities/07_chest_with_item.asm index ef29ab21..22400a0a 100644 --- a/src/code/entities/07_chest_with_item.asm +++ b/src/code/entities/07_chest_with_item.asm @@ -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 diff --git a/src/code/entities/07_master_stalfos.asm b/src/code/entities/07_master_stalfos.asm index f3bee814..17ffd3d7 100644 --- a/src/code/entities/07_master_stalfos.asm +++ b/src/code/entities/07_master_stalfos.asm @@ -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 diff --git a/src/code/entities/07_tradingitem.asm b/src/code/entities/07_tradingitem.asm index 82564903..0bff1298 100644 --- a/src/code/entities/07_tradingitem.asm +++ b/src/code/entities/07_tradingitem.asm @@ -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 diff --git a/src/code/entities/19_animate_dungeon_door_opening.asm b/src/code/entities/19_animate_dungeon_door_opening.asm index bc8ffdcc..eb668a7d 100644 --- a/src/code/entities/19_animate_dungeon_door_opening.asm +++ b/src/code/entities/19_animate_dungeon_door_opening.asm @@ -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 diff --git a/src/code/entities/19_mimic.asm b/src/code/entities/19_mimic.asm index 5a80d0da..3a85070f 100644 --- a/src/code/entities/19_mimic.asm +++ b/src/code/entities/19_mimic.asm @@ -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 diff --git a/src/code/entities/19_warp.asm b/src/code/entities/19_warp.asm index 8b53e083..cae991e8 100644 --- a/src/code/entities/19_warp.asm +++ b/src/code/entities/19_warp.asm @@ -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 diff --git a/src/code/entities/bank3.asm b/src/code/entities/bank3.asm index 2246e871..81490c4a 100644 --- a/src/code/entities/bank3.asm +++ b/src/code/entities/bank3.asm @@ -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 diff --git a/src/code/entities/bank36.asm b/src/code/entities/bank36.asm index 0ca059c4..785ab889 100644 --- a/src/code/entities/bank36.asm +++ b/src/code/entities/bank36.asm @@ -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 diff --git a/src/code/minimap.asm b/src/code/minimap.asm index 01d68a47..46cfb8f5 100644 --- a/src/code/minimap.asm +++ b/src/code/minimap.asm @@ -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 diff --git a/src/code/palettes.asm b/src/code/palettes.asm index 633e4429..3ccb4732 100644 --- a/src/code/palettes.asm +++ b/src/code/palettes.asm @@ -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 diff --git a/src/constants/rooms.asm b/src/constants/rooms.asm index f6f1c653..12572e51 100644 --- a/src/constants/rooms.asm +++ b/src/constants/rooms.asm @@ -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