From 1d93d0da4b1c576a1ed155bc76991daca772966c Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 18:19:38 -0400 Subject: Remaining maps in Bank 16 --- data/map_header_banks.asm | 6 +++--- data/map_header_pointers.asm | 18 +++++++++--------- main.asm | 16 +++++++++++++++- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 04bee42f..d605c3ea 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -207,8 +207,8 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $01 ; unused db $01 ; unused db $01 ; unused - db $16 ; db BANK(SilphCo2_h) - db $16 ; db BANK(SilphCo3_h) + db BANK(SilphCo2_h) + db BANK(SilphCo3_h) db $06 ; db BANK(SilphCo4_h) db $06 ; db BANK(SilphCo5_h) db $06 ; db BANK(SilphCo6_h) @@ -234,7 +234,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $01 ; unused db $11 ; db BANK(RockTunnel2_h) db $17 ; db BANK(SilphCo9_h) - db $16 ; db BANK(SilphCo10_h) + db BANK(SilphCo10_h) db $18 ; db BANK(SilphCo11_h) db $11 ; db BANK(SilphCoElevator_h) db $11 ; unused diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 501724af..6bb5806f 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -207,8 +207,8 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw RocketHideoutElevator_h ; unused dw RocketHideoutElevator_h ; unused dw RocketHideoutElevator_h ; unused - dw $5c80 ; dw SilphCo2_h - dw $5eea ; dw SilphCo3_h + dw SilphCo2_h + dw SilphCo3_h dw $5e09 ; dw SilphCo4_h dw $6035 ; dw SilphCo5_h ;210 dw $62a7 ; dw SilphCo6_h @@ -234,17 +234,17 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $5649 ; dw Route16Gate_h ; unused dw $624e ; dw RockTunnel2_h dw $56ba ; dw SilphCo9_h - dw $60c8 ; dw SilphCo10_h + dw SilphCo10_h dw $6105 ; dw SilphCo11_h dw $5a08 ; dw SilphCoElevator_h - dw $5c80 ; dw SilphCo2_h ; unused - dw $5c80 ; dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused dw TradeCenter_h dw Colosseum_h - dw $5c80 ; dw SilphCo2_h ; unused - dw $5c80 ; dw SilphCo2_h ; unused - dw $5c80 ; dw SilphCo2_h ; unused - dw $5c80 ; dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused + dw SilphCo2_h ; unused dw $59ef ; dw Lorelei_h dw $5b4a ; dw Bruno_h dw $5ca1 ; dw Agatha_h ;247 diff --git a/main.asm b/main.asm index 3a445583..f3807631 100755 --- a/main.asm +++ b/main.asm @@ -1387,7 +1387,21 @@ INCLUDE "data/mapHeaders/fanclub.asm" INCLUDE "scripts/fanclub.asm" INCLUDE "data/mapObjects/fanclub.asm" FanClubBlocks: INCBIN "maps/fanclub.blk" - dr $59c80,$5a23d + +INCLUDE "data/mapHeaders/silphco2.asm" +INCLUDE "scripts/silphco2.asm" +INCLUDE "data/mapObjects/silphco2.asm" +SilphCo2Blocks: INCBIN "maps/silphco2.blk" + +INCLUDE "data/mapHeaders/silphco3.asm" +INCLUDE "scripts/silphco3.asm" +INCLUDE "data/mapObjects/silphco3.asm" +SilphCo3Blocks: INCBIN "maps/silphco3.blk" + +INCLUDE "data/mapHeaders/silphco10.asm" +INCLUDE "scripts/silphco10.asm" +INCLUDE "data/mapObjects/silphco10.asm" +SilphCo10Blocks: INCBIN "maps/silphco10.blk" INCLUDE "data/mapHeaders/lance.asm" INCLUDE "scripts/lance.asm" -- cgit v1.2.3 From e1bc6849b844d819e13cc6b4fe246bc73cf7b5c2 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 19:09:30 -0400 Subject: Remaining maps in Bank 06 --- data/map_header_banks.asm | 6 +++--- data/map_header_pointers.asm | 6 +++--- main.asm | 16 +++++++++++++++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index d605c3ea..14c096dd 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -209,9 +209,9 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $01 ; unused db BANK(SilphCo2_h) db BANK(SilphCo3_h) - db $06 ; db BANK(SilphCo4_h) - db $06 ; db BANK(SilphCo5_h) - db $06 ; db BANK(SilphCo6_h) + db BANK(SilphCo4_h) + db BANK(SilphCo5_h) + db BANK(SilphCo6_h) db $14 ; db BANK(SilphCo7_h) db $15 ; db BANK(SilphCo8_h) db $14 ; db BANK(Mansion2_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 6bb5806f..672f8c75 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -209,9 +209,9 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw RocketHideoutElevator_h ; unused dw SilphCo2_h dw SilphCo3_h - dw $5e09 ; dw SilphCo4_h - dw $6035 ; dw SilphCo5_h ;210 - dw $62a7 ; dw SilphCo6_h + dw SilphCo4_h + dw SilphCo5_h ;210 + dw SilphCo6_h dw $5b97 ; dw SilphCo7_h dw $652a ; dw SilphCo8_h dw $5ff5 ; dw Mansion2_h diff --git a/main.asm b/main.asm index f3807631..bf650f4b 100755 --- a/main.asm +++ b/main.asm @@ -282,7 +282,21 @@ INCLUDE "data/mapHeaders/indigoplateaulobby.asm" INCLUDE "scripts/indigoplateaulobby.asm" INCLUDE "data/mapObjects/indigoplateaulobby.asm" IndigoPlateauLobbyBlocks: INCBIN "maps/indigoplateaulobby.blk" - dr $19e09,$1a4ea + +INCLUDE "data/mapHeaders/silphco4.asm" +INCLUDE "scripts/silphco4.asm" +INCLUDE "data/mapObjects/silphco4.asm" +SilphCo4Blocks: INCBIN "maps/silphco4.blk" + +INCLUDE "data/mapHeaders/silphco5.asm" +INCLUDE "scripts/silphco5.asm" +INCLUDE "data/mapObjects/silphco5.asm" +SilphCo5Blocks: INCBIN "maps/silphco5.blk" + +INCLUDE "data/mapHeaders/silphco6.asm" +INCLUDE "scripts/silphco6.asm" +INCLUDE "data/mapObjects/silphco6.asm" +SilphCo6Blocks: INCBIN "maps/silphco6.blk" INCLUDE "engine/overworld/npc_movement.asm" INCLUDE "engine/overworld/doors.asm" -- cgit v1.2.3 From 718ae4194bb53e50419f9cdbb8e40294bd568aaa Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 19:25:57 -0400 Subject: Remaining maps in bank 14 --- data/map_header_banks.asm | 10 +++++----- data/map_header_pointers.asm | 10 +++++----- main.asm | 35 ++++++++++++++++++++++++++--------- scripts/silphco7.asm | 24 +++++------------------- 4 files changed, 41 insertions(+), 38 deletions(-) diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 14c096dd..3f4e1298 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -212,11 +212,11 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(SilphCo4_h) db BANK(SilphCo5_h) db BANK(SilphCo6_h) - db $14 ; db BANK(SilphCo7_h) + db BANK(SilphCo7_h) db $15 ; db BANK(SilphCo8_h) - db $14 ; db BANK(Mansion2_h) - db $14 ; db BANK(Mansion3_h) - db $14 ; db BANK(Mansion4_h) + db BANK(Mansion2_h) + db BANK(Mansion3_h) + db BANK(Mansion4_h) db $11 ; db BANK(SafariZoneEast_h) db $11 ; db BANK(SafariZoneNorth_h) db $12 ; db BANK(SafariZoneWest_h) @@ -229,7 +229,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $11 ; db BANK(UnknownDungeon2_h) db $11 ; db BANK(UnknownDungeon3_h) db $1d ; db BANK(UnknownDungeon1_h) - db $07 ; db BANK(NameRater_h) + db BANK(NameRater_h) db $1d ; db BANK(CeruleanHouse2_h) db $01 ; unused db $11 ; db BANK(RockTunnel2_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 672f8c75..fde48bbc 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -212,11 +212,11 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw SilphCo4_h dw SilphCo5_h ;210 dw SilphCo6_h - dw $5b97 ; dw SilphCo7_h + dw SilphCo7_h dw $652a ; dw SilphCo8_h - dw $5ff5 ; dw Mansion2_h - dw $620b ; dw Mansion3_h - dw $63d6 ; dw Mansion4_h + dw Mansion2_h + dw Mansion3_h + dw Mansion4_h dw $5ab3 ; dw SafariZoneEast_h dw $5bf3 ; dw SafariZoneNorth_h dw $635a ; dw SafariZoneWest_h @@ -229,7 +229,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $6053 ; dw UnknownDungeon2_h dw $6141 ; dw UnknownDungeon3_h dw $453d ; dw UnknownDungeon1_h - dw $530e ; dw NameRater_h + dw NameRater_h dw $4643 ; dw CeruleanHouse2_h dw $5649 ; dw Route16Gate_h ; unused dw $624e ; dw RockTunnel2_h diff --git a/main.asm b/main.asm index bf650f4b..d9d4089e 100755 --- a/main.asm +++ b/main.asm @@ -323,7 +323,8 @@ LavenderHouse1Blocks: LavenderHouse2Blocks: SaffronHouse1Blocks: SaffronHouse2Blocks: -Route16HouseBlocks: INCBIN "maps/viridianhouse.blk" +Route16HouseBlocks: +NameRaterBlocks: INCBIN "maps/viridianhouse.blk" SchoolBlocks: CeladonMansion5Blocks: INCBIN "maps/school.blk" CeruleanHouseTrashedBlocks: INCBIN "maps/ceruleanhousetrashed.blk" @@ -382,7 +383,10 @@ INCLUDE "data/mapObjects/lavenderhouse1.asm" INCLUDE "data/mapHeaders/lavenderhouse2.asm" INCLUDE "scripts/lavenderhouse2.asm" INCLUDE "data/mapObjects/lavenderhouse2.asm" - dr $1d30e,$1d3f8 ; map scripts + +INCLUDE "data/mapHeaders/namerater.asm" +INCLUDE "scripts/namerater.asm" +INCLUDE "data/mapObjects/namerater.asm" INCLUDE "data/mapHeaders/vermilionhouse1.asm" INCLUDE "scripts/vermilionhouse1.asm" @@ -1248,13 +1252,26 @@ INCLUDE "scripts/mtmoon2.asm" INCLUDE "data/mapObjects/mtmoon2.asm" MtMoon2Blocks: INCBIN "maps/mtmoon2.blk" - dr $51b97,$52060 -Mansion2Script_Switches: - dr $52060,$522a3 -Mansion3Script_Switches: - dr $522a3,$52449 -Mansion4Script_Switches: - dr $52449,$525d8 +INCLUDE "data/mapHeaders/silphco7.asm" +INCLUDE "scripts/silphco7.asm" +INCLUDE "data/mapObjects/silphco7.asm" +SilphCo7Blocks: INCBIN "maps/silphco7.blk" + +INCLUDE "data/mapHeaders/mansion2.asm" +INCLUDE "scripts/mansion2.asm" +INCLUDE "data/mapObjects/mansion2.asm" +Mansion2Blocks: INCBIN "maps/mansion2.blk" + +INCLUDE "data/mapHeaders/mansion3.asm" +INCLUDE "scripts/mansion3.asm" +INCLUDE "data/mapObjects/mansion3.asm" +Mansion3Blocks: INCBIN "maps/mansion3.blk" + +INCLUDE "data/mapHeaders/mansion4.asm" +INCLUDE "scripts/mansion4.asm" +INCLUDE "data/mapObjects/mansion4.asm" +Mansion4Blocks: INCBIN "maps/mansion4.blk" + INCLUDE "engine/overworld/card_key.asm" INCLUDE "engine/menu/prize_menu.asm" diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm index 0735d437..1634472b 100755 --- a/scripts/silphco7.asm +++ b/scripts/silphco7.asm @@ -130,9 +130,7 @@ SilphCo7Script0: ; 51c23 (14:5c23) ld [wJoyIgnore], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic @@ -186,21 +184,11 @@ SilphCo7Script3: ; 51c82 (14:5c82) ld a, OPP_SONY2 ld [wCurOpponent], a ld a, [W_RIVALSTARTER] - cp STARTER2 - jr nz, .asm_51cb6 - ld a, $7 - jr .asm_51cc0 -.asm_51cb6 - cp STARTER3 - jr nz, .asm_51cbe - ld a, $8 - jr .asm_51cc0 -.asm_51cbe - ld a, $9 -.asm_51cc0 + add 4 ld [wTrainerNo], a ld a, $4 - jp SilphCo7Text_51c10 + call SilphCo7Text_51c10 + ret SilphCo7Script4: ; 51cc8 (14:5cc8) ld a, [wIsInBattle] @@ -219,9 +207,7 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) ld a, $f ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic callba Music_RivalAlternateStart ld de, MovementData_51d1d ld a, [wcf0d] -- cgit v1.2.3 From a4aae63a38867c65473756a265b7808e497812cb Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 19:31:07 -0400 Subject: Remaining map in bank 15 --- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 3f4e1298..d0379b37 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -213,7 +213,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(SilphCo5_h) db BANK(SilphCo6_h) db BANK(SilphCo7_h) - db $15 ; db BANK(SilphCo8_h) + db BANK(SilphCo8_h) db BANK(Mansion2_h) db BANK(Mansion3_h) db BANK(Mansion4_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index fde48bbc..54e7dc96 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -213,7 +213,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw SilphCo5_h ;210 dw SilphCo6_h dw SilphCo7_h - dw $652a ; dw SilphCo8_h + dw SilphCo8_h dw Mansion2_h dw Mansion3_h dw Mansion4_h diff --git a/main.asm b/main.asm index d9d4089e..fb68b65a 100755 --- a/main.asm +++ b/main.asm @@ -1357,7 +1357,11 @@ INCLUDE "data/mapObjects/daycarem.asm" INCLUDE "data/mapHeaders/route12house.asm" INCLUDE "scripts/route12house.asm" INCLUDE "data/mapObjects/route12house.asm" - dr $5652a,$56714 + +INCLUDE "data/mapHeaders/silphco8.asm" +INCLUDE "scripts/silphco8.asm" +INCLUDE "data/mapObjects/silphco8.asm" +SilphCo8Blocks: INCBIN "maps/silphco8.blk" INCLUDE "engine/menu/diploma_1.asm" -- cgit v1.2.3 From 11e4037756a6eb9978a4fe8917552f08c4ee1b7a Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 19:36:12 -0400 Subject: Remaining map in bank 17 --- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 9 +++++++-- maps/unusedblocks58d7d.blk | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index d0379b37..728b8675 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -233,7 +233,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $1d ; db BANK(CeruleanHouse2_h) db $01 ; unused db $11 ; db BANK(RockTunnel2_h) - db $17 ; db BANK(SilphCo9_h) + db BANK(SilphCo9_h) db BANK(SilphCo10_h) db $18 ; db BANK(SilphCo11_h) db $11 ; db BANK(SilphCoElevator_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 54e7dc96..5b224ec3 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -233,7 +233,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $4643 ; dw CeruleanHouse2_h dw $5649 ; dw Route16Gate_h ; unused dw $624e ; dw RockTunnel2_h - dw $56ba ; dw SilphCo9_h + dw SilphCo9_h dw SilphCo10_h dw $6105 ; dw SilphCo11_h dw $5a08 ; dw SilphCoElevator_h diff --git a/main.asm b/main.asm index fb68b65a..1aaf8e29 100755 --- a/main.asm +++ b/main.asm @@ -1401,7 +1401,8 @@ Route16Blocks: INCBIN "maps/route16.blk" ; 58b84 INCLUDE "data/mapHeaders/route18.asm" INCLUDE "data/mapObjects/route18.asm" Route18Blocks: INCBIN "maps/route18.blk" - dr $58d7d,$58d99 + +INCBIN "maps/unusedblocks58d7d.blk" INCLUDE "engine/experience.asm" @@ -1590,7 +1591,11 @@ INCLUDE "data/mapObjects/undergroundpathentranceroute7.asm" INCLUDE "data/mapHeaders/undergroundpathentranceroute7copy.asm" INCLUDE "scripts/undergroundpathentranceroute7copy.asm" INCLUDE "data/mapObjects/undergroundpathentranceroute7copy.asm" - dr $5d6ba,$5d909 + +INCLUDE "data/mapHeaders/silphco9.asm" +INCLUDE "scripts/silphco9.asm" +INCLUDE "data/mapObjects/silphco9.asm" +SilphCo9Blocks: INCBIN "maps/silphco9.blk" INCLUDE "data/mapHeaders/victoryroad1.asm" INCLUDE "scripts/victoryroad1.asm" diff --git a/maps/unusedblocks58d7d.blk b/maps/unusedblocks58d7d.blk index 9641efe4..dd54efd9 100755 --- a/maps/unusedblocks58d7d.blk +++ b/maps/unusedblocks58d7d.blk @@ -1,2 +1,2 @@ -  !"# +  '"#  \ No newline at end of file -- cgit v1.2.3 From 35cc755f663be0810576c9348d39b6d5e811e623 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 21:16:31 -0400 Subject: Remaining maps in Bank 11 --- data/mapObjects/unknowndungeon2.asm | 9 +++--- data/mapObjects/unknowndungeon3.asm | 8 ++++-- data/map_header_banks.asm | 20 ++++++------- data/map_header_pointers.asm | 22 +++++++------- main.asm | 57 +++++++++++++++++++++++++++++++++++-- maps/unknowndungeon1.blk | 5 ++-- maps/unknowndungeon2.blk | 10 +++++-- maps/unknowndungeon3.blk | 3 +- scripts/unknowndungeon2.asm | 1 + scripts/unknowndungeon3.asm | 2 ++ 10 files changed, 101 insertions(+), 36 deletions(-) diff --git a/data/mapObjects/unknowndungeon2.asm b/data/mapObjects/unknowndungeon2.asm index e5ebca56..88cc6ba0 100755 --- a/data/mapObjects/unknowndungeon2.asm +++ b/data/mapObjects/unknowndungeon2.asm @@ -11,10 +11,11 @@ UnknownDungeon2Object: ; 0x45e14 (size=73) db $0 ; signs - db $3 ; objects - object SPRITE_BALL, $1d, $9, STAY, NONE, $1, PP_UP - object SPRITE_BALL, $4, $f, STAY, NONE, $2, ULTRA_BALL - object SPRITE_BALL, $d, $6, STAY, NONE, $3, FULL_RESTORE + db $4 ; objects + object SPRITE_BALL, $0, $b, STAY, NONE, $1, RARE_CANDY + object SPRITE_BALL, $10, $7, STAY, NONE, $2, ULTRA_BALL + object SPRITE_BALL, $13, $b, STAY, NONE, $3, MAX_REVIVE + object SPRITE_BALL, $1b, $9, STAY, NONE, $4, FULL_RESTORE ; warp-to EVENT_DISP UNKNOWN_DUNGEON_2_WIDTH, $1, $1d ; UNKNOWN_DUNGEON_1 diff --git a/data/mapObjects/unknowndungeon3.asm b/data/mapObjects/unknowndungeon3.asm index 8b733e6b..cb2d8f83 100755 --- a/data/mapObjects/unknowndungeon3.asm +++ b/data/mapObjects/unknowndungeon3.asm @@ -6,10 +6,12 @@ UnknownDungeon3Object: ; 0x45f36 (size=34) db $0 ; signs - db $3 ; objects + db $5 ; objects object SPRITE_SLOWBRO, $1b, $d, STAY, DOWN, $1, MEWTWO, 70 - object SPRITE_BALL, $10, $9, STAY, NONE, $2, ULTRA_BALL - object SPRITE_BALL, $12, $1, STAY, NONE, $3, MAX_REVIVE + object SPRITE_BALL, $1a, $1, STAY, NONE, $2, ULTRA_BALL + object SPRITE_BALL, $2, $d, STAY, NONE, $3, ULTRA_BALL + object SPRITE_BALL, $3, $d, STAY, NONE, $4, MAX_REVIVE + object SPRITE_BALL, $f, $3, STAY, NONE, $5, MAX_ELIXER ; warp-to EVENT_DISP UNKNOWN_DUNGEON_3_WIDTH, $6, $3 ; UNKNOWN_DUNGEON_1 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 728b8675..ab536b39 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -217,22 +217,22 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(Mansion2_h) db BANK(Mansion3_h) db BANK(Mansion4_h) - db $11 ; db BANK(SafariZoneEast_h) - db $11 ; db BANK(SafariZoneNorth_h) + db BANK(SafariZoneEast_h) + db BANK(SafariZoneNorth_h) db $12 ; db BANK(SafariZoneWest_h) - db $11 ; db BANK(SafariZoneCenter_h) - db $11 ; db BANK(SafariZoneRestHouse1_h) + db BANK(SafariZoneCenter_h) + db BANK(SafariZoneRestHouse1_h) db $12 ; db BANK(SafariZoneSecretHouse_h) - db $11 ; db BANK(SafariZoneRestHouse2_h) - db $11 ; db BANK(SafariZoneRestHouse3_h) - db $11 ; db BANK(SafariZoneRestHouse4_h) - db $11 ; db BANK(UnknownDungeon2_h) - db $11 ; db BANK(UnknownDungeon3_h) + db BANK(SafariZoneRestHouse2_h) + db BANK(SafariZoneRestHouse3_h) + db BANK(SafariZoneRestHouse4_h) + db BANK(UnknownDungeon2_h) + db BANK(UnknownDungeon3_h) db $1d ; db BANK(UnknownDungeon1_h) db BANK(NameRater_h) db $1d ; db BANK(CeruleanHouse2_h) db $01 ; unused - db $11 ; db BANK(RockTunnel2_h) + db BANK(RockTunnel2_h) db BANK(SilphCo9_h) db BANK(SilphCo10_h) db $18 ; db BANK(SilphCo11_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 5b224ec3..d476cd56 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -217,22 +217,22 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw Mansion2_h dw Mansion3_h dw Mansion4_h - dw $5ab3 ; dw SafariZoneEast_h - dw $5bf3 ; dw SafariZoneNorth_h + dw SafariZoneEast_h + dw SafariZoneNorth_h dw $635a ; dw SafariZoneWest_h - dw $5dfa ; dw SafariZoneCenter_h ;220 - dw $5f35 ; dw SafariZoneRestHouse1_h + dw SafariZoneCenter_h ;220 + dw SafariZoneRestHouse1_h dw $64bc ; dw SafariZoneSecretHouse_h - dw $5f72 ; dw SafariZoneRestHouse2_h - dw $5fbd ; dw SafariZoneRestHouse3_h - dw $6008 ; dw SafariZoneRestHouse4_h - dw $6053 ; dw UnknownDungeon2_h - dw $6141 ; dw UnknownDungeon3_h + dw SafariZoneRestHouse2_h + dw SafariZoneRestHouse3_h + dw SafariZoneRestHouse4_h + dw UnknownDungeon2_h + dw UnknownDungeon3_h dw $453d ; dw UnknownDungeon1_h dw NameRater_h dw $4643 ; dw CeruleanHouse2_h - dw $5649 ; dw Route16Gate_h ; unused - dw $624e ; dw RockTunnel2_h + dw Route16Gate_h ; unused + dw RockTunnel2_h dw SilphCo9_h dw SilphCo10_h dw $6105 ; dw SilphCo11_h diff --git a/main.asm b/main.asm index 1aaf8e29..9bf78bc9 100755 --- a/main.asm +++ b/main.asm @@ -858,7 +858,10 @@ INCLUDE "data/mapHeaders/lavendertown.asm" INCLUDE "data/mapObjects/lavendertown.asm" LavenderTownBlocks: INCBIN "maps/lavendertown.blk" ViridianPokecenterBlocks: INCBIN "maps/viridianpokecenter.blk" - dr $440fb,$4410b +SafariZoneRestHouse1Blocks: +SafariZoneRestHouse2Blocks: +SafariZoneRestHouse3Blocks: +SafariZoneRestHouse4Blocks: INCBIN "maps/safarizoneresthouse1.blk" INCLUDE "scripts/lavendertown.asm" @@ -922,7 +925,57 @@ INCLUDE "data/mapHeaders/rockethideoutelevator.asm" INCLUDE "scripts/rockethideoutelevator.asm" INCLUDE "data/mapObjects/rockethideoutelevator.asm" RocketHideoutElevatorBlocks: INCBIN "maps/rockethideoutelevator.blk" - dr $45a08,$46578 + +INCLUDE "data/mapHeaders/silphcoelevator.asm" +INCLUDE "scripts/silphcoelevator.asm" +INCLUDE "data/mapObjects/silphcoelevator.asm" +SilphCoElevatorBlocks: INCBIN "maps/silphcoelevator.blk" + +INCLUDE "data/mapHeaders/safarizoneeast.asm" +INCLUDE "scripts/safarizoneeast.asm" +INCLUDE "data/mapObjects/safarizoneeast.asm" +SafariZoneEastBlocks: INCBIN "maps/safarizoneeast.blk" + +INCLUDE "data/mapHeaders/safarizonenorth.asm" +INCLUDE "scripts/safarizonenorth.asm" +INCLUDE "data/mapObjects/safarizonenorth.asm" +SafariZoneNorthBlocks: INCBIN "maps/safarizonenorth.blk" + +INCLUDE "data/mapHeaders/safarizonecenter.asm" +INCLUDE "scripts/safarizonecenter.asm" +INCLUDE "data/mapObjects/safarizonecenter.asm" +SafariZoneCenterBlocks: INCBIN "maps/safarizonecenter.blk" + +INCLUDE "data/mapHeaders/safarizoneresthouse1.asm" +INCLUDE "scripts/safarizoneresthouse1.asm" +INCLUDE "data/mapObjects/safarizoneresthouse1.asm" + +INCLUDE "data/mapHeaders/safarizoneresthouse2.asm" +INCLUDE "scripts/safarizoneresthouse2.asm" +INCLUDE "data/mapObjects/safarizoneresthouse2.asm" + +INCLUDE "data/mapHeaders/safarizoneresthouse3.asm" +INCLUDE "scripts/safarizoneresthouse3.asm" +INCLUDE "data/mapObjects/safarizoneresthouse3.asm" + +INCLUDE "data/mapHeaders/safarizoneresthouse4.asm" +INCLUDE "scripts/safarizoneresthouse4.asm" +INCLUDE "data/mapObjects/safarizoneresthouse4.asm" + +INCLUDE "data/mapHeaders/unknowndungeon2.asm" +INCLUDE "scripts/unknowndungeon2.asm" +INCLUDE "data/mapObjects/unknowndungeon2.asm" +UnknownDungeon2Blocks: INCBIN "maps/unknowndungeon2.blk" + +INCLUDE "data/mapHeaders/unknowndungeon3.asm" +INCLUDE "scripts/unknowndungeon3.asm" +INCLUDE "data/mapObjects/unknowndungeon3.asm" +UnknownDungeon3Blocks: INCBIN "maps/unknowndungeon3.blk" + +INCLUDE "data/mapHeaders/rocktunnel2.asm" +INCLUDE "scripts/rocktunnel2.asm" +INCLUDE "data/mapObjects/rocktunnel2.asm" +RockTunnel2Blocks: INCBIN "maps/rocktunnel2.blk" INCLUDE "data/mapHeaders/seafoamislands2.asm" INCLUDE "scripts/seafoamislands2.asm" diff --git a/maps/unknowndungeon1.blk b/maps/unknowndungeon1.blk index 574613af..7cc9d4d5 100644 --- a/maps/unknowndungeon1.blk +++ b/maps/unknowndungeon1.blk @@ -1,2 +1,3 @@ - "||b -}f N_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv- - } "$ \ No newline at end of file + "b ^|bz qmf_fX +z'n  n>}MMt "__ ">nzr fvvv_r "  +^t "vv "_ "_Onnvvvvvvvvvvvv$L \ No newline at end of file diff --git a/maps/unknowndungeon2.blk b/maps/unknowndungeon2.blk index 6eb27eee..f82b5aed 100644 --- a/maps/unknowndungeon2.blk +++ b/maps/unknowndungeon2.blk @@ -1,3 +1,7 @@ -}( ((   -  -}( #  (      }    \ No newline at end of file +  ( ((   } +   (# }(  +  } +} + +  +  \ No newline at end of file diff --git a/maps/unknowndungeon3.blk b/maps/unknowndungeon3.blk index 858f0529..581ade79 100644 --- a/maps/unknowndungeon3.blk +++ b/maps/unknowndungeon3.blk @@ -1 +1,2 @@ -,--Nr02a}f D+,v "pfvvv} fXfvv^tvvtvv)   "vvvSvvvv \ No newline at end of file +  n z " rf- j[o  "nrfaX rO "} + Qmn } "__rv "m v}vvv) r "vvQr)Svvvvvvvvvvvvr \ No newline at end of file diff --git a/scripts/unknowndungeon2.asm b/scripts/unknowndungeon2.asm index f3cbb6a5..2bf9fdb4 100755 --- a/scripts/unknowndungeon2.asm +++ b/scripts/unknowndungeon2.asm @@ -5,3 +5,4 @@ UnknownDungeon2TextPointers: ; 45e0e (11:5e0e) dw PickUpItemText dw PickUpItemText dw PickUpItemText + dw PickUpItemText diff --git a/scripts/unknowndungeon3.asm b/scripts/unknowndungeon3.asm index 42459766..265df358 100755 --- a/scripts/unknowndungeon3.asm +++ b/scripts/unknowndungeon3.asm @@ -16,6 +16,8 @@ UnknownDungeon3TextPointers: ; 45f09 (11:5f09) dw UnknownDungeon3Text1 dw PickUpItemText dw PickUpItemText + dw PickUpItemText + dw PickUpItemText UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f) UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) -- cgit v1.2.3 From 27e6f58c35072d279e6794064ce4b854df815797 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 21:20:08 -0400 Subject: Remaining maps in Bank 12 --- data/map_header_banks.asm | 6 +++--- data/map_header_pointers.asm | 6 +++--- main.asm | 10 +++++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index ab536b39..6de9bbcb 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -219,10 +219,10 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(Mansion4_h) db BANK(SafariZoneEast_h) db BANK(SafariZoneNorth_h) - db $12 ; db BANK(SafariZoneWest_h) + db BANK(SafariZoneWest_h) db BANK(SafariZoneCenter_h) db BANK(SafariZoneRestHouse1_h) - db $12 ; db BANK(SafariZoneSecretHouse_h) + db BANK(SafariZoneSecretHouse_h) db BANK(SafariZoneRestHouse2_h) db BANK(SafariZoneRestHouse3_h) db BANK(SafariZoneRestHouse4_h) @@ -236,7 +236,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(SilphCo9_h) db BANK(SilphCo10_h) db $18 ; db BANK(SilphCo11_h) - db $11 ; db BANK(SilphCoElevator_h) + db BANK(SilphCoElevator_h) db $11 ; unused db $11 ; unused db BANK(TradeCenter_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index d476cd56..6a4fc9f2 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -219,10 +219,10 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw Mansion4_h dw SafariZoneEast_h dw SafariZoneNorth_h - dw $635a ; dw SafariZoneWest_h + dw SafariZoneWest_h dw SafariZoneCenter_h ;220 dw SafariZoneRestHouse1_h - dw $64bc ; dw SafariZoneSecretHouse_h + dw SafariZoneSecretHouse_h dw SafariZoneRestHouse2_h dw SafariZoneRestHouse3_h dw SafariZoneRestHouse4_h @@ -236,7 +236,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw SilphCo9_h dw SilphCo10_h dw $6105 ; dw SilphCo11_h - dw $5a08 ; dw SilphCoElevator_h + dw SilphCoElevator_h dw SilphCo2_h ; unused dw SilphCo2_h ; unused dw TradeCenter_h diff --git a/main.asm b/main.asm index 9bf78bc9..bc659d85 100755 --- a/main.asm +++ b/main.asm @@ -1189,7 +1189,15 @@ MtMoon3Script_4a325: ; pikachu-related function? call Func_159b ret - dr $4a35a,$4a540 +INCLUDE "data/mapHeaders/safarizonewest.asm" +INCLUDE "scripts/safarizonewest.asm" +INCLUDE "data/mapObjects/safarizonewest.asm" +SafariZoneWestBlocks: INCBIN "maps/safarizonewest.blk" + +INCLUDE "data/mapHeaders/safarizonesecrethouse.asm" +INCLUDE "scripts/safarizonesecrethouse.asm" +INCLUDE "data/mapObjects/safarizonesecrethouse.asm" +SafariZoneSecretHouseBlocks: INCBIN "maps/safarizonesecrethouse.blk" SECTION "bank13",ROMX,BANK[$13] -- cgit v1.2.3 From b170bb4f1318e349ade1e8a208766b06afb2cad7 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 23:06:52 -0400 Subject: Silph Co 11F --- constants/hide_show_constants.asm | 6 +- data/mapObjects/silphco11.asm | 5 +- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 9 +- scripts/silphco11.asm | 566 +++++++++++++++++++++++++------------- scripts/silphco11_2.asm | 2 +- 7 files changed, 395 insertions(+), 197 deletions(-) diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 4ca9e178..10cffac8 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -192,9 +192,9 @@ const HS_SILPH_CO_10F_ITEM_2 ; B9 const HS_SILPH_CO_10F_ITEM_3 ; BA const HS_SILPH_CO_11F_1 ; BB - const HS_SILPH_CO_11F_2 ; BC - const HS_SILPH_CO_11F_JESSIE ; BD - const HS_SILPH_CO_11F_JAMES ; BE + const HS_SILPH_CO_11F_JAMES ; BC + const HS_SILPH_CO_11F_2 ; BD + const HS_SILPH_CO_11F_JESSIE ; BE const HS_MAP_F4_1 ; BF const HS_MANSION_2_ITEM ; C0 const HS_MANSION_3_ITEM_1 ; C1 diff --git a/data/mapObjects/silphco11.asm b/data/mapObjects/silphco11.asm index 8cba618e..bae7eda5 100755 --- a/data/mapObjects/silphco11.asm +++ b/data/mapObjects/silphco11.asm @@ -9,12 +9,13 @@ SilphCo11Object: ; 0x62380 (size=72) db $0 ; signs - db $5 ; objects + db $6 ; objects object SPRITE_MR_MASTERBALL, $7, $5, STAY, DOWN, $1 ; person object SPRITE_FOULARD_WOMAN, $a, $5, STAY, DOWN, $2 ; person object SPRITE_GIOVANNI, $6, $9, STAY, DOWN, $3, OPP_GIOVANNI, $2 - object SPRITE_ROCKET, $3, $10, STAY, UP, $4, OPP_ROCKET, $29 + object SPRITE_JAMES, $2, $8, STAY, UP, $4 object SPRITE_ROCKET, $f, $9, STAY, UP, $5, OPP_ROCKET, $28 + object SPRITE_JESSIE, $3, $8, STAY, UP, $6 ; warp-to EVENT_DISP SILPH_CO_11F_WIDTH, $0, $9 ; SILPH_CO_10F diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 6de9bbcb..01d33040 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -235,7 +235,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(RockTunnel2_h) db BANK(SilphCo9_h) db BANK(SilphCo10_h) - db $18 ; db BANK(SilphCo11_h) + db BANK(SilphCo11_h) db BANK(SilphCoElevator_h) db $11 ; unused db $11 ; unused diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 6a4fc9f2..259ab1bd 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -235,7 +235,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw RockTunnel2_h dw SilphCo9_h dw SilphCo10_h - dw $6105 ; dw SilphCo11_h + dw SilphCo11_h dw SilphCoElevator_h dw SilphCo2_h ; unused dw SilphCo2_h ; unused diff --git a/main.asm b/main.asm index bc659d85..40549f9d 100755 --- a/main.asm +++ b/main.asm @@ -1686,7 +1686,8 @@ SECTION "bank18",ROMX,BANK[$18] ViridianForestBlocks: INCBIN "maps/viridianforest.blk" UndergroundPathNSBlocks: INCBIN "maps/undergroundpathns.blk" UndergroundPathWEBlocks: INCBIN "maps/undergroundpathwe.blk" - dr $60258,$603c0 + +INCBIN "maps/unusedblocks60258.blk" SSAnne9Blocks: SSAnne10Blocks: INCBIN "maps/ssanne9.blk" @@ -1789,7 +1790,11 @@ INCLUDE "data/mapHeaders/diglettscave.asm" INCLUDE "scripts/diglettscave.asm" INCLUDE "data/mapObjects/diglettscave.asm" DiglettsCaveBlocks: INCBIN "maps/diglettscave.blk" - dr $62105,$625e8 + +INCLUDE "data/mapHeaders/silphco11.asm" +INCLUDE "scripts/silphco11.asm" +INCLUDE "data/mapObjects/silphco11.asm" +SilphCo11Blocks: INCBIN "maps/silphco11.blk" INCLUDE "engine/hidden_object_functions18.asm" diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm index 6cb2e7ed..a2354a69 100755 --- a/scripts/silphco11.asm +++ b/scripts/silphco11.asm @@ -1,5 +1,5 @@ -SilphCo11Script: ; 620fa (18:60fa) - call SilphCo11Script_62110 +SilphCo11Script: ; 62111 (18:60fa) + call SilphCo11Script_62127 call EnableAutoTextBoxDrawing ld hl, SilphCo11TrainerHeaders ld de, SilphCo11ScriptPointers @@ -8,26 +8,27 @@ SilphCo11Script: ; 620fa (18:60fa) ld [W_SILPHCO11CURSCRIPT], a ret -SilphCo11Script_62110: ; 62110 (18:6110) +SilphCo11Script_62127: ; 62127 (18:6110) ld hl, wd126 bit 5, [hl] res 5, [hl] ret z ld hl, SilphCo11GateCoords - call SilphCo11Script_62137 - call SilphCo11Script_62163 + call SilphCo11Script_6214f + call SilphCo11Script_6217b CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret nz ld a, $20 ld [wNewTileBlockID], a lb bc, 6, 3 - predef_jump ReplaceTileBlock + predef ReplaceTileBlock + ret SilphCo11GateCoords: ; 62134 (18:6134) db $06,$03 db $FF -SilphCo11Script_62137: ; 62137 (18:6137) +SilphCo11Script_6214f: ; 6214f (18:6137) push hl ld hl, wCardKeyDoorY ld a, [hli] @@ -63,108 +64,48 @@ SilphCo11Script_62137: ; 62137 (18:6137) ld [$ffe0], a ret -SilphCo11Script_62163: ; 62163 (18:6163) +SilphCo11Script_6217b: ; 6217b (18:6163) ld a, [$ffe0] and a ret z SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR ret -SilphCo11Script_6216d: ; 6216d (18:616d) - ld hl, MissableObjectIDs_6219b -.asm_62170 - ld a, [hli] - cp $ff - jr z, .asm_62181 - push hl - ld [wMissableObjectIndex], a - predef HideObject - pop hl - jr .asm_62170 -.asm_62181 - ld hl, MissableObjectIDs_62194 -.asm_62184 - ld a, [hli] - cp $ff - ret z - push hl - ld [wMissableObjectIndex], a - predef ShowObject - pop hl - jr .asm_62184 - -MissableObjectIDs_62194: ; 62194 (18:6194) - db HS_SAFFRON_CITY_8 - db HS_SAFFRON_CITY_9 - db HS_SAFFRON_CITY_A - db HS_SAFFRON_CITY_B - db HS_SAFFRON_CITY_C - db HS_SAFFRON_CITY_D - db $FF - -MissableObjectIDs_6219b: ; 6219b (18:619b) - db HS_SAFFRON_CITY_1 - db HS_SAFFRON_CITY_2 - db HS_SAFFRON_CITY_3 - db HS_SAFFRON_CITY_4 - db HS_SAFFRON_CITY_5 - db HS_SAFFRON_CITY_6 - db HS_SAFFRON_CITY_7 - db HS_SAFFRON_CITY_E - db HS_SAFFRON_CITY_F - db HS_SILPH_CO_2F_2 - db HS_SILPH_CO_2F_3 - db HS_SILPH_CO_2F_4 - db HS_SILPH_CO_2F_5 - db HS_SILPH_CO_3F_1 - db HS_SILPH_CO_3F_2 - db HS_SILPH_CO_4F_1 - db HS_SILPH_CO_4F_2 - db HS_SILPH_CO_4F_3 - db HS_SILPH_CO_5F_1 - db HS_SILPH_CO_5F_2 - db HS_SILPH_CO_5F_3 - db HS_SILPH_CO_5F_4 - db HS_SILPH_CO_6F_1 - db HS_SILPH_CO_6F_2 - db HS_SILPH_CO_6F_3 - db HS_SILPH_CO_7F_1 - db HS_SILPH_CO_7F_2 - db HS_SILPH_CO_7F_3 - db HS_SILPH_CO_7F_4 - db HS_SILPH_CO_8F_1 - db HS_SILPH_CO_8F_2 - db HS_SILPH_CO_8F_3 - db HS_SILPH_CO_9F_1 - db HS_SILPH_CO_9F_2 - db HS_SILPH_CO_9F_3 - db HS_SILPH_CO_10F_1 - db HS_SILPH_CO_10F_2 - db HS_SILPH_CO_11F_1 - db HS_SILPH_CO_11F_2 - db HS_SILPH_CO_11F_3 - db $FF - -SilphCo11Script_621c4: ; 621c4 (18:61c4) +SilphCo11Script_62185: ; 62185 (18:61c4) xor a ld [wJoyIgnore], a - -SilphCo11Script_621c8: ; 621c8 (18:61c8) +SilphCo11Script_62189: ; 62189 (18:61c8) ld [W_SILPHCO11CURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -SilphCo11ScriptPointers: ; 621cf (18:61cf) - dw SilphCo11Script0 +SilphCo11ScriptPointers: ; 62190 (18:6190) + dw SilphCo11Script0 ; 61ae dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw SilphCo11Script3 - dw SilphCo11Script4 - dw SilphCo11Script5 + dw SilphCo11Script3 ; 620c + dw SilphCo11Script4 ; 6254 + dw SilphCo11Script5 ; 6318 + dw SilphCo11Script6 ; 633f + dw SilphCo11Script7 ; 634a + dw SilphCo11Script8 ; 6366 + dw SilphCo11Script9 ; 638d + dw SilphCo11Script10 ; 639d + dw SilphCo11Script11 ; 63bb + dw SilphCo11Script12 ; 63e1 + dw SilphCo11Script13 ; 6427 + dw SilphCo11Script14 ; 6448 SilphCo11Script0: ; 621db (18:61db) - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + CheckEvent EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + call z, SilphCo11Script_6229c + CheckEvent EVENT_782 ret nz + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + call z, SilphCo11Script_621c5 + ret + +SilphCo11Script_621c5: ld hl, CoordsData_62211 call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers @@ -182,8 +123,9 @@ SilphCo11Script0: ; 621db (18:61db) call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite - ld a, $3 - jp SilphCo11Script_621c8 + ld a, $4 + call SilphCo11Script_62189 + ret CoordsData_62211: ; 62211 (18:6211) db $0D,$06 @@ -196,18 +138,18 @@ MovementData_62216: ; 62216 (18:6216) db NPC_MOVEMENT_DOWN db $FF -SilphCo11Script_6221a: ; 6221a (18:621a) +SilphCo11Script_621ff: ld [wPlayerMovingDirection], a - ld a, $3 - ld [H_SPRITEINDEX], a ld a, b - ld [hSpriteFacingDirection], a - jp SetSpriteFacingDirectionAndDelay + ld [wSpriteStateData1 + 3 * $10 + 9], a + ld a, $2 + ld [wSpriteStateData1 + 3 * $10 + 1], a + ret -SilphCo11Script5: ; 62227 (18:6227) +SilphCo11Script3: ; 62227 (18:6227) ld a, [wIsInBattle] cp $ff - jp z, SilphCo11Script_621c4 + jp z, SilphCo11Script_62185 ld a, [wcf0d] cp $1 jr z, .asm_6223c @@ -218,23 +160,23 @@ SilphCo11Script5: ; 62227 (18:6227) ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN .asm_62240 - call SilphCo11Script_6221a + call SilphCo11Script_621ff ld a, $f0 ld [wJoyIgnore], a - ld a, $6 + ld a, $7 ld [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack - call SilphCo11Script_6216d + callba Func_f25a0 call UpdateSprites call Delay3 call GBFadeInFromBlack SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI xor a ld [wJoyIgnore], a - jp SilphCo11Script_621c8 + jp SilphCo11Script_62189 -SilphCo11Script3: ; 6226a (18:626a) +SilphCo11Script4: ; 62254 (18:626a) ld a, [wd730] bit 0, a ret nz @@ -251,155 +193,405 @@ SilphCo11Script3: ; 6226a (18:626a) ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN .asm_62288 - call SilphCo11Script_6221a + call SilphCo11Script_621ff call Delay3 - ld a, $4 - jp SilphCo11Script_621c8 - -SilphCo11Script4: ; 62293 (18:6293) + xor a + ld [wJoyIgnore], a ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, SilphCo10Text_62330 - ld de, SilphCo10Text_62330 + ld hl, SilphCo10Text_62528 + ld de, SilphCo10Text_62528 call SaveEndBattleTextPointers ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters + ld a, $3 + jp SilphCo11Script_62189 + +SilphCo11Script_6229c: + ld a, [wYCoord] + cp $3 + ret nz + ld a, [wXCoord] + cp $4 + ret nc + ResetEvents EVENT_780, EVENT_781 + ld a, [wXCoord] + cp $3 + jr z, .asm_622c3 + SetEventReuseHL EVENT_780 + ld a, [wXCoord] + cp $2 + jr z, .asm_622c3 + ResetEventReuseHL EVENT_780 + SetEventReuseHL EVENT_781 +.asm_622c3 + call StopAllMusic + ld c, BANK(Music_JessieAndJames) + ld a, MUSIC_JESSIE_AND_JAMES + call PlayMusic + xor a + ld [hJoyHeld], a + ld a, $fc + ld [wJoyIgnore], a + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $8 + ld [hSpriteIndexOrTextID], a + call DisplayTextID xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $ff ld [wJoyIgnore], a + SetEvent EVENT_782 ld a, $5 - jp SilphCo11Script_621c8 + call SilphCo11Script_62189 + ret +; 622f4 + +SilphCo11MovementData_622f5: + db $5 + db $5 + db $5 + db $5 + db $5 + db $ff + +SilphCo11MovementData_622fb: + db $5 + db $5 + db $5 + db $5 + db $ff + +SilphCo11MovementData_62300: + db $5 + db $5 + db $5 + db $5 + db $ff + +SilphCo11MovementData_62305: + db $5 + db $5 + db $5 + db $5 + db $5 + db $ff + +SilphCo11MovementData_6230b: + db $5 + db $5 + db $6 + db $5 + db $5 + db $ff + +SilphCo11MovementData_62311: + db $5 + db $5 + db $5 + db $6 + db $5 + db $5 + db $ff + +SilphCo11Script5: + ld de, SilphCo11MovementData_622f5 + CheckEitherEventSet EVENT_780, EVENT_781 + and a + jr z, .asm_6232d + ld de, SilphCo11MovementData_62300 + cp $1 + jr z, .asm_6232d + ld de, SilphCo11MovementData_6230b +.asm_6232d + ld a, $4 + ld [hSpriteIndexOrTextID], a + call MoveSprite + ld a, $ff + ld [wJoyIgnore], a + ld a, $6 + call SilphCo11Script_62189 + ret + +SilphCo11Script6: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wd730] + bit 0, a + ret nz +SilphCo11Script7: + ld a, $2 + ld [wSpriteStateData1 + 4 * $10 + 1], a + ld hl, wSpriteStateData1 + 4 * $10 + 9 + ld [hl], SPRITE_FACING_RIGHT + CheckEitherEventSet EVENT_780, EVENT_781 + and a + jr z, .asm_6235e + ld [hl], SPRITE_FACING_UP +.asm_6235e + call Delay3 + ld a, $fc + ld [wJoyIgnore], a +SilphCo11Script8: + ld de, SilphCo11MovementData_622fb + CheckEitherEventSet EVENT_780, EVENT_781 + and a + jr z, .asm_6237b + ld de, SilphCo11MovementData_62305 + cp $1 + jr z, .asm_6237b + ld de, SilphCo11MovementData_62311 +.asm_6237b + ld a, $6 + ld [hSpriteIndexOrTextID], a + call MoveSprite + ld a, $ff + ld [wJoyIgnore], a + ld a, $9 + call SilphCo11Script_62189 + ret + +SilphCo11Script9: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wd730] + bit 0, a + ret nz + ld a, $fc + ld [wJoyIgnore], a +SilphCo11Script10: + ld a, $2 + ld [wSpriteStateData1 + 6 * $10 + 1], a + ld hl, wSpriteStateData1 + 6 * $10 + 9 + ld [hl], SPRITE_FACING_UP + CheckEitherEventSet EVENT_780, EVENT_781 + and a + jr z, .asm_623b1 + ld [hl], SPRITE_FACING_LEFT +.asm_623b1 + call Delay3 + ld a, $9 + ld [hSpriteIndexOrTextID], a + call DisplayTextID +SilphCo11Script11: + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, SilphCo11Text_624c2 + ld de, SilphCo11Text_624c2 + call SaveEndBattleTextPointers + ld a, OPP_ROCKET + ld [wCurOpponent], a + ld a, $2d + ld [wTrainerNo], a + xor a + ld [hJoyHeld], a + ld [wJoyIgnore], a + ld a, $c + call SilphCo11Script_62189 + ret + +SilphCo11Script12: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wIsInBattle] + cp $ff + jp z, SilphCo11Script_62185 + ld a, $2 + ld [wSpriteStateData1 + 4 * $10 + 1], a + ld [wSpriteStateData1 + 6 * $10 + 1], a + xor a + ld [wSpriteStateData1 + 4 * $10 + 9], a + ld [wSpriteStateData1 + 6 * $10 + 9], a + ld a, $fc + ld [wJoyIgnore], a + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call StopAllMusic + ld c, BANK(Music_JessieAndJames) + ld a, MUSIC_JESSIE_AND_JAMES + call PlayMusic + ld a, $ff + ld [wJoyIgnore], a + ld a, $d + call SilphCo11Script_62189 + ret + +SilphCo11Script13: + ld a, $ff + ld [wJoyIgnore], a + call GBFadeOutToBlack + ld a, HS_SILPH_CO_11F_JAMES + call SilphCo11Script_6246d + ld a, HS_SILPH_CO_11F_JESSIE + call SilphCo11Script_6246d + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + ld a, $e + call SilphCo11Script_62189 + ret + +SilphCo11Script14: + call PlayDefaultMusic + xor a + ld [hJoyHeld], a + ld [wJoyIgnore], a + ResetEvent EVENT_782 + SetEventReuseHL EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + ld a, $0 + call SilphCo11Script_62189 + ret + +SilphCo11Script_6245e: + ld [wMissableObjectIndex], a + predef ShowObject + call UpdateSprites + call Delay3 + ret -SilphCo11TextPointers: ; 622b7 (18:62b7) +SilphCo11Script_6246d: + ld [wMissableObjectIndex], a + predef HideObject + ret + +SilphCo11TextPointers: ; 62476 (18:62b7) dw SilphCo11Text1 dw SilphCo11Text2 dw SilphCo11Text3 dw SilphCo11Text4 dw SilphCo11Text5 dw SilphCo11Text6 + dw SilphCo11Text7 + dw SilphCo11Text8 + dw SilphCo11Text9 + dw SilphCo11Text10 -SilphCo11TrainerHeaders: ; 622c3 (18:62c3) -SilphCo11TrainerHeader0: ; 622c3 (18:62c3) - dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0 - dw SilphCo11BattleText1 ; TextBeforeBattle - dw SilphCo11AfterBattleText1 ; TextAfterBattle - dw SilphCo11EndBattleText1 ; TextEndBattle - dw SilphCo11EndBattleText1 ; TextEndBattle - -SilphCo11TrainerHeader1: ; 622cf (18:62cf) +SilphCo11TrainerHeaders: ; 6248a +SilphCo11TrainerHeader0: ; 6248a dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - db ($3 << 4) ; trainer's view range + db ($3 << 4) dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - dw SilphCo11BattleText2 ; TextBeforeBattle - dw SilphCo11AfterBattleText2 ; TextAfterBattle - dw SilphCo11EndBattleText2 ; TextEndBattle - dw SilphCo11EndBattleText2 ; TextEndBattle + dw SilphCo11Trainer1BattleText + dw SilphCo11Trainer1AfterBattleText + dw SilphCo11Trainer1EndBattleText + dw SilphCo11Trainer1EndBattleText - db $ff + db $ff ; no more trainers + +SilphCo11Text4: +SilphCo11Text6: +SilphCo11Text8: + TX_FAR _SilphCoJessieJamesText1 + TX_ASM + ld c, 10 + call DelayFrames + ld a, $4 + ld [wPlayerMovingDirection], a + ld a, $0 + ld [wEmotionBubbleSpriteIndex], a + ld a, $0 + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld c, 20 + call DelayFrames + jp TextScriptEnd + +SilphCo11Text9: + TX_FAR _SilphCoJessieJamesText2 + db "@" + +SilphCo11Text_624c2: + TX_FAR _SilphCoJessieJamesText3 + db "@" + +SilphCo11Text10: + TX_FAR _SilphCoJessieJamesText4 + TX_ASM + ld c, 64 + call DelayFrames + jp TextScriptEnd -SilphCo11Text1: ; 622dc (18:62dc) +SilphCo11Text1: TX_ASM CheckEvent EVENT_GOT_MASTER_BALL - jp nz, .asm_62308 - ld hl, SilphCoPresidentText + jp nz, .asm_62500 + ld hl, SilphCo11Text_62509 call PrintText lb bc, MASTER_BALL, 1 call GiveItem - jr nc, .BagFull - ld hl, ReceivedSilphCoMasterBallText + jr nc, .asm_624f8 + ld hl, SilphCo11Text_6250e call PrintText SetEvent EVENT_GOT_MASTER_BALL - jr .asm_6230e -.BagFull - ld hl, SilphCoMasterBallNoRoomText + jr .asm_62506 +.asm_624f8 + ld hl, SilphCo11Text_62519 call PrintText - jr .asm_6230e -.asm_62308 - ld hl, SilphCo10Text_6231c + jr .asm_62506 + +.asm_62500 + ld hl, SilphCo11Text_62514 call PrintText -.asm_6230e +.asm_62506 jp TextScriptEnd -SilphCoPresidentText: ; 62311 (18:6311) +SilphCo11Text_62509: TX_FAR _SilphCoPresidentText db "@" -ReceivedSilphCoMasterBallText: ; 62316 (18:6316) +SilphCo11Text_6250e: TX_FAR _ReceivedSilphCoMasterBallText - db $11, "@" + TX_SFX_KEY_ITEM + db "@" -SilphCo10Text_6231c: ; 6231c (18:631c) +SilphCo11Text_62514: TX_FAR _SilphCo10Text_6231c db "@" -SilphCoMasterBallNoRoomText: ; 62321 (18:6321) +SilphCo11Text_62519: TX_FAR _SilphCoMasterBallNoRoomText db "@" -SilphCo11Text2: ; 62326 (18:6326) +SilphCo11Text2: TX_FAR _SilphCo11Text2 db "@" -SilphCo11Text3: ; 6232b (18:632b) +SilphCo11Text3: TX_FAR _SilphCo11Text3 db "@" -SilphCo10Text_62330: ; 62330 (18:6330) +SilphCo10Text_62528: TX_FAR _SilphCo10Text_62330 db "@" -SilphCo11Text6: ; 62335 (18:6335) +SilphCo11Text7: TX_FAR _SilphCo10Text_62335 db "@" -SilphCo11Text4: ; 6233a (18:633a) +SilphCo11Text5: TX_ASM ld hl, SilphCo11TrainerHeader0 call TalkToTrainer jp TextScriptEnd -SilphCo11BattleText1: ; 62344 (18:6344) - TX_FAR _SilphCo11BattleText1 - db "@" - -SilphCo11EndBattleText1: ; 62349 (18:6349) - TX_FAR _SilphCo11EndBattleText1 - db "@" - -SilphCo11AfterBattleText1: ; 6234e (18:634e) - TX_FAR _SilphCo11AfterBattleText1 - db "@" - -SilphCo11Text5: ; 62353 (18:6353) - TX_ASM - ld hl, SilphCo11TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo11BattleText2: ; 6235d (18:635d) +SilphCo11Trainer1BattleText: TX_FAR _SilphCo11BattleText2 db "@" -SilphCo11EndBattleText2: ; 62362 (18:6362) +SilphCo11Trainer1EndBattleText: TX_FAR _SilphCo11EndBattleText2 db "@" -SilphCo11AfterBattleText2: ; 62367 (18:6367) +SilphCo11Trainer1AfterBattleText: TX_FAR _SilphCo11AfterBattleText2 db "@" - -SilphCo10Text_6236c: ; 6236c (18:636c) - TX_ASM - ld hl, SilphCo10Text_6237b - call PrintText - ld a, PORYGON - call DisplayPokedex - jp TextScriptEnd - -SilphCo10Text_6237b: ; 6237b (18:637b) - TX_FAR _SilphCo10Text_6237b - db "@" diff --git a/scripts/silphco11_2.asm b/scripts/silphco11_2.asm index 22e19a02..419efe24 100755 --- a/scripts/silphco11_2.asm +++ b/scripts/silphco11_2.asm @@ -70,7 +70,7 @@ MissableObjects_f25ce db HS_SILPH_CO_10F_1 db HS_SILPH_CO_10F_2 db HS_SILPH_CO_11F_1 + db HS_SILPH_CO_11F_JAMES db HS_SILPH_CO_11F_2 db HS_SILPH_CO_11F_JESSIE - db HS_SILPH_CO_11F_JAMES db $ff \ No newline at end of file -- cgit v1.2.3 From 63123f9ad3fa18057811c29c7e3542ebf683d219 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 3 Jun 2016 23:25:35 -0400 Subject: Remaining maps in bank 1D (and the whole ROM) --- data/mapObjects/unknowndungeon1.asm | 9 +++++---- data/map_header_banks.asm | 10 +++++----- data/map_header_pointers.asm | 10 +++++----- main.asm | 27 ++++++++++++++++++++++++--- scripts/unknowndungeon1.asm | 1 + text/maps/agatha.asm | 2 +- text/maps/bruno.asm | 2 +- 7 files changed, 42 insertions(+), 19 deletions(-) diff --git a/data/mapObjects/unknowndungeon1.asm b/data/mapObjects/unknowndungeon1.asm index c55711b4..0635e9a7 100755 --- a/data/mapObjects/unknowndungeon1.asm +++ b/data/mapObjects/unknowndungeon1.asm @@ -14,10 +14,11 @@ UnknownDungeon1Object: ; 0x74d15 (size=97) db $0 ; signs - db $3 ; objects - object SPRITE_BALL, $7, $d, STAY, NONE, $1, FULL_RESTORE - object SPRITE_BALL, $13, $3, STAY, NONE, $2, MAX_ELIXER - object SPRITE_BALL, $5, $0, STAY, NONE, $3, NUGGET + db $4 ; objects + object SPRITE_BALL, $1d, $10, STAY, NONE, $1, RARE_CANDY + object SPRITE_BALL, $7, $b, STAY, NONE, $2, MAX_ELIXER + object SPRITE_BALL, $1d, $9, STAY, NONE, $3, MAX_REVIVE + object SPRITE_BALL, $12, $3, STAY, NONE, $4, ULTRA_BALL ; warp-to EVENT_DISP UNKNOWN_DUNGEON_1_WIDTH, $11, $18 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 01d33040..eef36242 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -228,9 +228,9 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(SafariZoneRestHouse4_h) db BANK(UnknownDungeon2_h) db BANK(UnknownDungeon3_h) - db $1d ; db BANK(UnknownDungeon1_h) + db BANK(UnknownDungeon1_h) db BANK(NameRater_h) - db $1d ; db BANK(CeruleanHouse2_h) + db BANK(CeruleanHouse2_h) db $01 ; unused db BANK(RockTunnel2_h) db BANK(SilphCo9_h) @@ -245,7 +245,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $11 ; unused db $11 ; unused db $11 ; unused - db $1d ; db BANK(Lorelei_h) - db $1d ; db BANK(Bruno_h) - db $1d ; db BANK(Agatha_h) + db BANK(Lorelei_h) + db BANK(Bruno_h) + db BANK(Agatha_h) db BANK(BeachHouse_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 259ab1bd..730038f3 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -228,9 +228,9 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw SafariZoneRestHouse4_h dw UnknownDungeon2_h dw UnknownDungeon3_h - dw $453d ; dw UnknownDungeon1_h + dw UnknownDungeon1_h dw NameRater_h - dw $4643 ; dw CeruleanHouse2_h + dw CeruleanHouse2_h dw Route16Gate_h ; unused dw RockTunnel2_h dw SilphCo9_h @@ -245,7 +245,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw SilphCo2_h ; unused dw SilphCo2_h ; unused dw SilphCo2_h ; unused - dw $59ef ; dw Lorelei_h - dw $5b4a ; dw Bruno_h - dw $5ca1 ; dw Agatha_h ;247 + dw Lorelei_h + dw Bruno_h + dw Agatha_h ;247 dw BeachHouse_h diff --git a/main.asm b/main.asm index 40549f9d..18c401aa 100755 --- a/main.asm +++ b/main.asm @@ -1876,7 +1876,7 @@ CinnabarMartBlocks: INCBIN "maps/pewtermart.blk" FuchsiaHouse1Blocks: INCBIN "maps/fuchsiahouse1.blk" FuchsiaPokecenterBlocks: CinnabarPokecenterBlocks: INCBIN "maps/fuchsiapokecenter.blk" - dr $7404c,$7405c +CeruleanHouse2Blocks: INCBIN "maps/ceruleanhouse2.blk" INCLUDE "engine/items/itemfinder.asm" INCLUDE "scripts/ceruleancity2.asm" @@ -1890,7 +1890,14 @@ INCLUDE "data/mapHeaders/pewtermart.asm" INCLUDE "scripts/pewtermart.asm" INCLUDE "data/mapObjects/pewtermart.asm" - dr $7453d,$74726 +INCLUDE "data/mapHeaders/unknowndungeon1.asm" +INCLUDE "scripts/unknowndungeon1.asm" +INCLUDE "data/mapObjects/unknowndungeon1.asm" +UnknownDungeon1Blocks: INCBIN "maps/unknowndungeon1.blk" + +INCLUDE "data/mapHeaders/ceruleanhouse2.asm" +INCLUDE "scripts/ceruleanhouse2.asm" +INCLUDE "data/mapObjects/ceruleanhouse2.asm" INCLUDE "engine/menu/vending_machine.asm" @@ -1982,7 +1989,21 @@ INCLUDE "data/mapHeaders/gary.asm" INCLUDE "scripts/gary.asm" INCLUDE "data/mapObjects/gary.asm" GaryBlocks: INCBIN "maps/gary.blk" - dr $759ef,$75dfe + +INCLUDE "data/mapHeaders/lorelei.asm" +INCLUDE "scripts/lorelei.asm" +INCLUDE "data/mapObjects/lorelei.asm" +LoreleiBlocks: INCBIN "maps/lorelei.blk" + +INCLUDE "data/mapHeaders/bruno.asm" +INCLUDE "scripts/bruno.asm" +INCLUDE "data/mapObjects/bruno.asm" +BrunoBlocks: INCBIN "maps/bruno.blk" + +INCLUDE "data/mapHeaders/agatha.asm" +INCLUDE "scripts/agatha.asm" +INCLUDE "data/mapObjects/agatha.asm" +AgathaBlocks: INCBIN "maps/agatha.blk" INCLUDE "engine/menu/league_pc.asm" diff --git a/scripts/unknowndungeon1.asm b/scripts/unknowndungeon1.asm index 696ddafa..9951dc52 100755 --- a/scripts/unknowndungeon1.asm +++ b/scripts/unknowndungeon1.asm @@ -5,3 +5,4 @@ UnknownDungeon1TextPointers: ; 74d0f (1d:4d0f) dw PickUpItemText dw PickUpItemText dw PickUpItemText + dw PickUpItemText diff --git a/text/maps/agatha.asm b/text/maps/agatha.asm index 7d1b97bb..95b455c8 100644 --- a/text/maps/agatha.asm +++ b/text/maps/agatha.asm @@ -38,7 +38,7 @@ _AgathaAfterBattleText:: cont "along now, child!" done -_AgathaText2:: +_AgathaDontRunAwayText:: text "Someone's voice:" line "Don't run away!" done diff --git a/text/maps/bruno.asm b/text/maps/bruno.asm index dea3d201..ddcbdb59 100644 --- a/text/maps/bruno.asm +++ b/text/maps/bruno.asm @@ -31,7 +31,7 @@ _BrunoAfterBattleText:: cont "challenge!" done -_UnnamedText_763d2:: +_BrunoDontRunAwayText:: text "Someone's voice:" line "Don't run away!" done -- cgit v1.2.3 From 7445441edfb298f40cc186976f3721f4e1be81bd Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 09:03:51 -0400 Subject: Pikachu pics; town map entries --- data/town_map_entries.asm | 1 + engine/bank3c.asm | 8 +-- engine/printer.asm | 31 +++++++++++- engine/town_map.asm | 12 ++--- gfx/pikachu/unknown_e4000.png | Bin 0 -> 313 bytes gfx/pikachu/unknown_e40cc.png | Bin 0 -> 143 bytes gfx/pikachu/unknown_e411c.png | Bin 0 -> 296 bytes gfx/pikachu/unknown_e41d2.png | Bin 0 -> 210 bytes gfx/pikachu/unknown_e4272.png | Bin 0 -> 283 bytes gfx/pikachu/unknown_e4323.png | Bin 0 -> 127 bytes gfx/pikachu/unknown_e4383.png | Bin 0 -> 305 bytes gfx/pikachu/unknown_e444b.png | Bin 0 -> 299 bytes gfx/pikachu/unknown_e458b.png | Bin 0 -> 285 bytes gfx/pikachu/unknown_e463b.png | Bin 0 -> 113 bytes gfx/pikachu/unknown_e467b.png | Bin 0 -> 292 bytes gfx/pikachu/unknown_e472e.png | Bin 0 -> 122 bytes gfx/pikachu/unknown_e476e.png | Bin 0 -> 329 bytes gfx/pikachu/unknown_e4841.png | Bin 0 -> 297 bytes gfx/pikachu/unknown_e49d1.png | Bin 0 -> 308 bytes gfx/pikachu/unknown_e4a99.png | Bin 0 -> 199 bytes gfx/pikachu/unknown_e4b39.png | Bin 0 -> 279 bytes gfx/pikachu/unknown_e4bde.png | Bin 0 -> 152 bytes gfx/pikachu/unknown_e4c3e.png | Bin 0 -> 256 bytes gfx/pikachu/unknown_e4ce0.png | Bin 0 -> 302 bytes gfx/pikachu/unknown_e4e70.png | Bin 0 -> 304 bytes gfx/pikachu/unknown_e5000.png | Bin 0 -> 285 bytes gfx/pikachu/unknown_e50af.png | Bin 0 -> 279 bytes gfx/pikachu/unknown_e523f.png | Bin 0 -> 299 bytes gfx/pikachu/unknown_e52fe.png | Bin 0 -> 294 bytes gfx/pikachu/unknown_e548e.png | Bin 0 -> 293 bytes gfx/pikachu/unknown_e5541.png | Bin 0 -> 292 bytes gfx/pikachu/unknown_e56d1.png | Bin 0 -> 317 bytes gfx/pikachu/unknown_e5794.png | Bin 0 -> 333 bytes gfx/pikachu/unknown_e5924.png | Bin 0 -> 316 bytes gfx/pikachu/unknown_e59ed.png | Bin 0 -> 308 bytes gfx/pikachu/unknown_e5b7d.png | Bin 0 -> 325 bytes gfx/pikachu/unknown_e5c4d.png | Bin 0 -> 321 bytes gfx/pikachu/unknown_e5ddd.png | Bin 0 -> 286 bytes gfx/pikachu/unknown_e5e90.png | Bin 0 -> 281 bytes gfx/pikachu/unknown_e6020.png | Bin 0 -> 283 bytes gfx/pikachu/unknown_e61b0.png | Bin 0 -> 300 bytes gfx/pikachu/unknown_e6340.png | Bin 0 -> 303 bytes gfx/pikachu/unknown_e63f7.png | Bin 0 -> 313 bytes gfx/pikachu/unknown_e6587.png | Bin 0 -> 287 bytes gfx/pikachu/unknown_e6646.png | Bin 0 -> 340 bytes gfx/pikachu/unknown_e67d6.png | Bin 0 -> 177 bytes gfx/pikachu/unknown_e682f.png | Bin 0 -> 259 bytes gfx/pikachu/unknown_e69bf.png | Bin 0 -> 317 bytes gfx/pikachu/unknown_e6b4f.png | Bin 0 -> 281 bytes gfx/pikachu/unknown_e6cdf.png | Bin 0 -> 254 bytes gfx/pikachu/unknown_e6e6f.png | Bin 0 -> 226 bytes gfx/pikachu/unknown_e6fff.png | Bin 0 -> 235 bytes gfx/pikachu/unknown_e718f.png | Bin 0 -> 288 bytes gfx/pikachu/unknown_e731f.png | Bin 0 -> 285 bytes gfx/pikachu/unknown_e74af.png | Bin 0 -> 239 bytes gfx/pikachu/unknown_e763f.png | Bin 0 -> 259 bytes gfx/pikachu/unknown_e77cf.png | Bin 0 -> 251 bytes gfx/pikachu/unknown_e7863.png | Bin 0 -> 297 bytes gfx/pikachu/unknown_e79f3.png | Bin 0 -> 347 bytes gfx/pikachu/unknown_e7b83.png | Bin 0 -> 259 bytes gfx/pikachu/unknown_e7d13.png | Bin 0 -> 281 bytes gfx/pikachu/unknown_f0abf.png | Bin 0 -> 270 bytes gfx/pikachu/unknown_f0b64.png | Bin 0 -> 314 bytes gfx/pikachu/unknown_f0cf4.png | Bin 0 -> 243 bytes gfx/pikachu/unknown_f0d82.png | Bin 0 -> 230 bytes macros.asm | 4 +- main.asm | 114 +++++++++++++++++++++--------------------- text/map_names.asm | 2 +- 68 files changed, 100 insertions(+), 72 deletions(-) create mode 100644 gfx/pikachu/unknown_e4000.png create mode 100644 gfx/pikachu/unknown_e40cc.png create mode 100644 gfx/pikachu/unknown_e411c.png create mode 100644 gfx/pikachu/unknown_e41d2.png create mode 100644 gfx/pikachu/unknown_e4272.png create mode 100644 gfx/pikachu/unknown_e4323.png create mode 100644 gfx/pikachu/unknown_e4383.png create mode 100644 gfx/pikachu/unknown_e444b.png create mode 100644 gfx/pikachu/unknown_e458b.png create mode 100644 gfx/pikachu/unknown_e463b.png create mode 100644 gfx/pikachu/unknown_e467b.png create mode 100644 gfx/pikachu/unknown_e472e.png create mode 100644 gfx/pikachu/unknown_e476e.png create mode 100644 gfx/pikachu/unknown_e4841.png create mode 100644 gfx/pikachu/unknown_e49d1.png create mode 100644 gfx/pikachu/unknown_e4a99.png create mode 100644 gfx/pikachu/unknown_e4b39.png create mode 100644 gfx/pikachu/unknown_e4bde.png create mode 100644 gfx/pikachu/unknown_e4c3e.png create mode 100644 gfx/pikachu/unknown_e4ce0.png create mode 100644 gfx/pikachu/unknown_e4e70.png create mode 100644 gfx/pikachu/unknown_e5000.png create mode 100644 gfx/pikachu/unknown_e50af.png create mode 100644 gfx/pikachu/unknown_e523f.png create mode 100644 gfx/pikachu/unknown_e52fe.png create mode 100644 gfx/pikachu/unknown_e548e.png create mode 100644 gfx/pikachu/unknown_e5541.png create mode 100644 gfx/pikachu/unknown_e56d1.png create mode 100644 gfx/pikachu/unknown_e5794.png create mode 100644 gfx/pikachu/unknown_e5924.png create mode 100644 gfx/pikachu/unknown_e59ed.png create mode 100644 gfx/pikachu/unknown_e5b7d.png create mode 100644 gfx/pikachu/unknown_e5c4d.png create mode 100644 gfx/pikachu/unknown_e5ddd.png create mode 100644 gfx/pikachu/unknown_e5e90.png create mode 100644 gfx/pikachu/unknown_e6020.png create mode 100644 gfx/pikachu/unknown_e61b0.png create mode 100644 gfx/pikachu/unknown_e6340.png create mode 100644 gfx/pikachu/unknown_e63f7.png create mode 100644 gfx/pikachu/unknown_e6587.png create mode 100644 gfx/pikachu/unknown_e6646.png create mode 100644 gfx/pikachu/unknown_e67d6.png create mode 100644 gfx/pikachu/unknown_e682f.png create mode 100644 gfx/pikachu/unknown_e69bf.png create mode 100644 gfx/pikachu/unknown_e6b4f.png create mode 100644 gfx/pikachu/unknown_e6cdf.png create mode 100644 gfx/pikachu/unknown_e6e6f.png create mode 100644 gfx/pikachu/unknown_e6fff.png create mode 100644 gfx/pikachu/unknown_e718f.png create mode 100644 gfx/pikachu/unknown_e731f.png create mode 100644 gfx/pikachu/unknown_e74af.png create mode 100644 gfx/pikachu/unknown_e763f.png create mode 100644 gfx/pikachu/unknown_e77cf.png create mode 100644 gfx/pikachu/unknown_e7863.png create mode 100644 gfx/pikachu/unknown_e79f3.png create mode 100644 gfx/pikachu/unknown_e7b83.png create mode 100644 gfx/pikachu/unknown_e7d13.png create mode 100644 gfx/pikachu/unknown_f0abf.png create mode 100644 gfx/pikachu/unknown_f0b64.png create mode 100644 gfx/pikachu/unknown_f0cf4.png create mode 100644 gfx/pikachu/unknown_f0d82.png diff --git a/data/town_map_entries.asm b/data/town_map_entries.asm index 865f14d8..5223f435 100755 --- a/data/town_map_entries.asm +++ b/data/town_map_entries.asm @@ -98,4 +98,5 @@ InternalMapEntries: ; 7140b (1c:540b) IMAP ROCK_TUNNEL_2, $E,$3,RockTunnelName IMAP SILPH_CO_ELEVATOR, $A,$5,SilphCoName IMAP AGATHAS_ROOM, $0,$2,PokemonLeagueName + IMAP BEACH_HOUSE, $6,$F,Route19Name db $FF diff --git a/engine/bank3c.asm b/engine/bank3c.asm index e7ac2a4e..44382257 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -322,13 +322,13 @@ Func_f0a82: ; f0a82 ret Pic_f0abf: ; f0abf (3c:4abf) - dr $f0abf, $f0b64 +INCBIN "gfx/pikachu/unknown_f0abf.pic" GFX_f0b64: ; f0b64 (3c:4b64) - dr $f0b64, $f0cf4 +INCBIN "gfx/pikachu/unknown_f0b64.2bpp" Pic_f0cf4: ; f0cf4 (3c:4cf4) - dr $f0cf4, $f0d82 +INCBIN "gfx/pikachu/unknown_f0cf4.pic" GFX_f0d82: ; f0d82 (3c:4d82) - dr $f0d82, $f0f12 +INCBIN "gfx/pikachu/unknown_f0d82.2bpp" PokecenterChanseyText: ld hl, NurseChanseyText diff --git a/engine/printer.asm b/engine/printer.asm index 95f70087..d2e5c6e3 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -1162,8 +1162,35 @@ Func_e8f51: ; e8f51 (3a:4f51) ld [wcae0], a ret -Func_e8f82: ; e8f82 (3a:4f82) - dr $e8f82,$e8fb8 +Func_e8f82: + ld a, [wcae0] + and a + ret z + push af + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 0, 5 + lb bc, 10, 18 + call TextBoxBorder + pop af + ld e, a + ld d, $0 + ld hl, Table_e8fca + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + coord hl, 1, 7 + call PlaceString + coord hl, 2, 15 + ld de, String_e8fb8 + call PlaceString + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + xor a + ld [wcae0], a + ret String_e8fb8: db "Press B to Cancel@" diff --git a/engine/town_map.asm b/engine/town_map.asm index aff126ee..2d4f0023 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -588,14 +588,14 @@ LoadTownMapEntry: ; 7137a (1c:537a) ld l, a ret -ExternalMapEntries: ; 7139c (1c:539c) - dr $7139c,$7140b -InternalMapEntries: ; 7140b (1c:540b) - dr $7140b,$7174b +; ExternalMapEntries: ; 7139c (1c:539c) + ; dr $7139c,$7140b +; InternalMapEntries: ; 7140b (1c:540b) + ; dr $7140b,$7174b -;INCLUDE "data/town_map_entries.asm" +INCLUDE "data/town_map_entries.asm" -;INCLUDE "text/map_names.asm" ; TODO: relabel addresses +INCLUDE "text/map_names.asm" ; TODO: relabel addresses MonNestIcon: ; 7174b (1c:574b) INCBIN "gfx/mon_nest_icon.1bpp" diff --git a/gfx/pikachu/unknown_e4000.png b/gfx/pikachu/unknown_e4000.png new file mode 100644 index 00000000..75a54919 Binary files /dev/null and b/gfx/pikachu/unknown_e4000.png differ diff --git a/gfx/pikachu/unknown_e40cc.png b/gfx/pikachu/unknown_e40cc.png new file mode 100644 index 00000000..adce99ad Binary files /dev/null and b/gfx/pikachu/unknown_e40cc.png differ diff --git a/gfx/pikachu/unknown_e411c.png b/gfx/pikachu/unknown_e411c.png new file mode 100644 index 00000000..40e3d336 Binary files /dev/null and b/gfx/pikachu/unknown_e411c.png differ diff --git a/gfx/pikachu/unknown_e41d2.png b/gfx/pikachu/unknown_e41d2.png new file mode 100644 index 00000000..34d71c02 Binary files /dev/null and b/gfx/pikachu/unknown_e41d2.png differ diff --git a/gfx/pikachu/unknown_e4272.png b/gfx/pikachu/unknown_e4272.png new file mode 100644 index 00000000..8b23b56e Binary files /dev/null and b/gfx/pikachu/unknown_e4272.png differ diff --git a/gfx/pikachu/unknown_e4323.png b/gfx/pikachu/unknown_e4323.png new file mode 100644 index 00000000..6d8d5c22 Binary files /dev/null and b/gfx/pikachu/unknown_e4323.png differ diff --git a/gfx/pikachu/unknown_e4383.png b/gfx/pikachu/unknown_e4383.png new file mode 100644 index 00000000..5ac60dc3 Binary files /dev/null and b/gfx/pikachu/unknown_e4383.png differ diff --git a/gfx/pikachu/unknown_e444b.png b/gfx/pikachu/unknown_e444b.png new file mode 100644 index 00000000..d0240c72 Binary files /dev/null and b/gfx/pikachu/unknown_e444b.png differ diff --git a/gfx/pikachu/unknown_e458b.png b/gfx/pikachu/unknown_e458b.png new file mode 100644 index 00000000..e374a571 Binary files /dev/null and b/gfx/pikachu/unknown_e458b.png differ diff --git a/gfx/pikachu/unknown_e463b.png b/gfx/pikachu/unknown_e463b.png new file mode 100644 index 00000000..2e31d6f6 Binary files /dev/null and b/gfx/pikachu/unknown_e463b.png differ diff --git a/gfx/pikachu/unknown_e467b.png b/gfx/pikachu/unknown_e467b.png new file mode 100644 index 00000000..d088d590 Binary files /dev/null and b/gfx/pikachu/unknown_e467b.png differ diff --git a/gfx/pikachu/unknown_e472e.png b/gfx/pikachu/unknown_e472e.png new file mode 100644 index 00000000..1a1ac334 Binary files /dev/null and b/gfx/pikachu/unknown_e472e.png differ diff --git a/gfx/pikachu/unknown_e476e.png b/gfx/pikachu/unknown_e476e.png new file mode 100644 index 00000000..2ca64b68 Binary files /dev/null and b/gfx/pikachu/unknown_e476e.png differ diff --git a/gfx/pikachu/unknown_e4841.png b/gfx/pikachu/unknown_e4841.png new file mode 100644 index 00000000..f3425637 Binary files /dev/null and b/gfx/pikachu/unknown_e4841.png differ diff --git a/gfx/pikachu/unknown_e49d1.png b/gfx/pikachu/unknown_e49d1.png new file mode 100644 index 00000000..1414cd6e Binary files /dev/null and b/gfx/pikachu/unknown_e49d1.png differ diff --git a/gfx/pikachu/unknown_e4a99.png b/gfx/pikachu/unknown_e4a99.png new file mode 100644 index 00000000..e97998c1 Binary files /dev/null and b/gfx/pikachu/unknown_e4a99.png differ diff --git a/gfx/pikachu/unknown_e4b39.png b/gfx/pikachu/unknown_e4b39.png new file mode 100644 index 00000000..948c46fe Binary files /dev/null and b/gfx/pikachu/unknown_e4b39.png differ diff --git a/gfx/pikachu/unknown_e4bde.png b/gfx/pikachu/unknown_e4bde.png new file mode 100644 index 00000000..18209284 Binary files /dev/null and b/gfx/pikachu/unknown_e4bde.png differ diff --git a/gfx/pikachu/unknown_e4c3e.png b/gfx/pikachu/unknown_e4c3e.png new file mode 100644 index 00000000..698c15e8 Binary files /dev/null and b/gfx/pikachu/unknown_e4c3e.png differ diff --git a/gfx/pikachu/unknown_e4ce0.png b/gfx/pikachu/unknown_e4ce0.png new file mode 100644 index 00000000..68a6832b Binary files /dev/null and b/gfx/pikachu/unknown_e4ce0.png differ diff --git a/gfx/pikachu/unknown_e4e70.png b/gfx/pikachu/unknown_e4e70.png new file mode 100644 index 00000000..ee849b32 Binary files /dev/null and b/gfx/pikachu/unknown_e4e70.png differ diff --git a/gfx/pikachu/unknown_e5000.png b/gfx/pikachu/unknown_e5000.png new file mode 100644 index 00000000..9b2685e4 Binary files /dev/null and b/gfx/pikachu/unknown_e5000.png differ diff --git a/gfx/pikachu/unknown_e50af.png b/gfx/pikachu/unknown_e50af.png new file mode 100644 index 00000000..04acf34f Binary files /dev/null and b/gfx/pikachu/unknown_e50af.png differ diff --git a/gfx/pikachu/unknown_e523f.png b/gfx/pikachu/unknown_e523f.png new file mode 100644 index 00000000..810c752a Binary files /dev/null and b/gfx/pikachu/unknown_e523f.png differ diff --git a/gfx/pikachu/unknown_e52fe.png b/gfx/pikachu/unknown_e52fe.png new file mode 100644 index 00000000..7a33deec Binary files /dev/null and b/gfx/pikachu/unknown_e52fe.png differ diff --git a/gfx/pikachu/unknown_e548e.png b/gfx/pikachu/unknown_e548e.png new file mode 100644 index 00000000..442025a2 Binary files /dev/null and b/gfx/pikachu/unknown_e548e.png differ diff --git a/gfx/pikachu/unknown_e5541.png b/gfx/pikachu/unknown_e5541.png new file mode 100644 index 00000000..889fa5f6 Binary files /dev/null and b/gfx/pikachu/unknown_e5541.png differ diff --git a/gfx/pikachu/unknown_e56d1.png b/gfx/pikachu/unknown_e56d1.png new file mode 100644 index 00000000..85f96a92 Binary files /dev/null and b/gfx/pikachu/unknown_e56d1.png differ diff --git a/gfx/pikachu/unknown_e5794.png b/gfx/pikachu/unknown_e5794.png new file mode 100644 index 00000000..4926e791 Binary files /dev/null and b/gfx/pikachu/unknown_e5794.png differ diff --git a/gfx/pikachu/unknown_e5924.png b/gfx/pikachu/unknown_e5924.png new file mode 100644 index 00000000..b4f15591 Binary files /dev/null and b/gfx/pikachu/unknown_e5924.png differ diff --git a/gfx/pikachu/unknown_e59ed.png b/gfx/pikachu/unknown_e59ed.png new file mode 100644 index 00000000..971075ab Binary files /dev/null and b/gfx/pikachu/unknown_e59ed.png differ diff --git a/gfx/pikachu/unknown_e5b7d.png b/gfx/pikachu/unknown_e5b7d.png new file mode 100644 index 00000000..2b141191 Binary files /dev/null and b/gfx/pikachu/unknown_e5b7d.png differ diff --git a/gfx/pikachu/unknown_e5c4d.png b/gfx/pikachu/unknown_e5c4d.png new file mode 100644 index 00000000..07f70a39 Binary files /dev/null and b/gfx/pikachu/unknown_e5c4d.png differ diff --git a/gfx/pikachu/unknown_e5ddd.png b/gfx/pikachu/unknown_e5ddd.png new file mode 100644 index 00000000..e95e11ba Binary files /dev/null and b/gfx/pikachu/unknown_e5ddd.png differ diff --git a/gfx/pikachu/unknown_e5e90.png b/gfx/pikachu/unknown_e5e90.png new file mode 100644 index 00000000..8e896836 Binary files /dev/null and b/gfx/pikachu/unknown_e5e90.png differ diff --git a/gfx/pikachu/unknown_e6020.png b/gfx/pikachu/unknown_e6020.png new file mode 100644 index 00000000..7b938b8d Binary files /dev/null and b/gfx/pikachu/unknown_e6020.png differ diff --git a/gfx/pikachu/unknown_e61b0.png b/gfx/pikachu/unknown_e61b0.png new file mode 100644 index 00000000..d0260da7 Binary files /dev/null and b/gfx/pikachu/unknown_e61b0.png differ diff --git a/gfx/pikachu/unknown_e6340.png b/gfx/pikachu/unknown_e6340.png new file mode 100644 index 00000000..1bb0b1d9 Binary files /dev/null and b/gfx/pikachu/unknown_e6340.png differ diff --git a/gfx/pikachu/unknown_e63f7.png b/gfx/pikachu/unknown_e63f7.png new file mode 100644 index 00000000..71ed5a1f Binary files /dev/null and b/gfx/pikachu/unknown_e63f7.png differ diff --git a/gfx/pikachu/unknown_e6587.png b/gfx/pikachu/unknown_e6587.png new file mode 100644 index 00000000..0ec65607 Binary files /dev/null and b/gfx/pikachu/unknown_e6587.png differ diff --git a/gfx/pikachu/unknown_e6646.png b/gfx/pikachu/unknown_e6646.png new file mode 100644 index 00000000..c45de678 Binary files /dev/null and b/gfx/pikachu/unknown_e6646.png differ diff --git a/gfx/pikachu/unknown_e67d6.png b/gfx/pikachu/unknown_e67d6.png new file mode 100644 index 00000000..ee5bdacf Binary files /dev/null and b/gfx/pikachu/unknown_e67d6.png differ diff --git a/gfx/pikachu/unknown_e682f.png b/gfx/pikachu/unknown_e682f.png new file mode 100644 index 00000000..d0f522dc Binary files /dev/null and b/gfx/pikachu/unknown_e682f.png differ diff --git a/gfx/pikachu/unknown_e69bf.png b/gfx/pikachu/unknown_e69bf.png new file mode 100644 index 00000000..ce8de250 Binary files /dev/null and b/gfx/pikachu/unknown_e69bf.png differ diff --git a/gfx/pikachu/unknown_e6b4f.png b/gfx/pikachu/unknown_e6b4f.png new file mode 100644 index 00000000..4ea34714 Binary files /dev/null and b/gfx/pikachu/unknown_e6b4f.png differ diff --git a/gfx/pikachu/unknown_e6cdf.png b/gfx/pikachu/unknown_e6cdf.png new file mode 100644 index 00000000..f0f96237 Binary files /dev/null and b/gfx/pikachu/unknown_e6cdf.png differ diff --git a/gfx/pikachu/unknown_e6e6f.png b/gfx/pikachu/unknown_e6e6f.png new file mode 100644 index 00000000..608af942 Binary files /dev/null and b/gfx/pikachu/unknown_e6e6f.png differ diff --git a/gfx/pikachu/unknown_e6fff.png b/gfx/pikachu/unknown_e6fff.png new file mode 100644 index 00000000..a722794a Binary files /dev/null and b/gfx/pikachu/unknown_e6fff.png differ diff --git a/gfx/pikachu/unknown_e718f.png b/gfx/pikachu/unknown_e718f.png new file mode 100644 index 00000000..1276764c Binary files /dev/null and b/gfx/pikachu/unknown_e718f.png differ diff --git a/gfx/pikachu/unknown_e731f.png b/gfx/pikachu/unknown_e731f.png new file mode 100644 index 00000000..2d6d6bdb Binary files /dev/null and b/gfx/pikachu/unknown_e731f.png differ diff --git a/gfx/pikachu/unknown_e74af.png b/gfx/pikachu/unknown_e74af.png new file mode 100644 index 00000000..0aa1592b Binary files /dev/null and b/gfx/pikachu/unknown_e74af.png differ diff --git a/gfx/pikachu/unknown_e763f.png b/gfx/pikachu/unknown_e763f.png new file mode 100644 index 00000000..72f9ef29 Binary files /dev/null and b/gfx/pikachu/unknown_e763f.png differ diff --git a/gfx/pikachu/unknown_e77cf.png b/gfx/pikachu/unknown_e77cf.png new file mode 100644 index 00000000..ad94af7a Binary files /dev/null and b/gfx/pikachu/unknown_e77cf.png differ diff --git a/gfx/pikachu/unknown_e7863.png b/gfx/pikachu/unknown_e7863.png new file mode 100644 index 00000000..cd02d18d Binary files /dev/null and b/gfx/pikachu/unknown_e7863.png differ diff --git a/gfx/pikachu/unknown_e79f3.png b/gfx/pikachu/unknown_e79f3.png new file mode 100644 index 00000000..07b8230d Binary files /dev/null and b/gfx/pikachu/unknown_e79f3.png differ diff --git a/gfx/pikachu/unknown_e7b83.png b/gfx/pikachu/unknown_e7b83.png new file mode 100644 index 00000000..8a835dfb Binary files /dev/null and b/gfx/pikachu/unknown_e7b83.png differ diff --git a/gfx/pikachu/unknown_e7d13.png b/gfx/pikachu/unknown_e7d13.png new file mode 100644 index 00000000..3204f702 Binary files /dev/null and b/gfx/pikachu/unknown_e7d13.png differ diff --git a/gfx/pikachu/unknown_f0abf.png b/gfx/pikachu/unknown_f0abf.png new file mode 100644 index 00000000..dd553a8a Binary files /dev/null and b/gfx/pikachu/unknown_f0abf.png differ diff --git a/gfx/pikachu/unknown_f0b64.png b/gfx/pikachu/unknown_f0b64.png new file mode 100644 index 00000000..6b0424a8 Binary files /dev/null and b/gfx/pikachu/unknown_f0b64.png differ diff --git a/gfx/pikachu/unknown_f0cf4.png b/gfx/pikachu/unknown_f0cf4.png new file mode 100644 index 00000000..a4a4e5f4 Binary files /dev/null and b/gfx/pikachu/unknown_f0cf4.png differ diff --git a/gfx/pikachu/unknown_f0d82.png b/gfx/pikachu/unknown_f0d82.png new file mode 100644 index 00000000..1af4b770 Binary files /dev/null and b/gfx/pikachu/unknown_f0d82.png differ diff --git a/macros.asm b/macros.asm index 6e1ebc9d..b0c38140 100644 --- a/macros.asm +++ b/macros.asm @@ -239,7 +239,7 @@ EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer ; nybble: y-coordinate ; nybble: x-coordinate ; word : pointer to map name - db (\1 + (\2 << 4)) + dn \2, \1 dw \3 ENDM @@ -251,7 +251,7 @@ IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer ; nybble: x-coordinate ; word : pointer to map name db \1 + 1 - db \2 + \3 << 4 + dn \3, \2 dw \4 ENDM diff --git a/main.asm b/main.asm index 18c401aa..e765cd79 100755 --- a/main.asm +++ b/main.asm @@ -2036,119 +2036,119 @@ SECTION "bank30",ROMX,BANK[$30] SECTION "bank39",ROMX,BANK[$39] Pic_e4000: ; e4000 - dr $e4000, $e40cc +INCBIN "gfx/pikachu/unknown_e4000.pic" GFX_e40cc: ; e40cc - dr $e40cc, $e411c +INCBIN "gfx/pikachu/unknown_e40cc.2bpp" Pic_e411c: ; e411c - dr $e411c, $e41d2 +INCBIN "gfx/pikachu/unknown_e411c.pic" GFX_e41d2: ; e41d2 - dr $e41d2, $e4272 +INCBIN "gfx/pikachu/unknown_e41d2.2bpp" Pic_e4272: ; e4272 - dr $e4272, $e4323 +INCBIN "gfx/pikachu/unknown_e4272.pic" GFX_e4323: ; e4323 - dr $e4323, $e4383 +INCBIN "gfx/pikachu/unknown_e4323.2bpp" Pic_e4383: ; e4383 - dr $e4383, $e444b +INCBIN "gfx/pikachu/unknown_e4383.pic" GFX_e444b: ; e444b - dr $e444b, $e458b +INCBIN "gfx/pikachu/unknown_e444b.2bpp" Pic_e458b: ; e458b - dr $e458b, $e463b +INCBIN "gfx/pikachu/unknown_e458b.pic" GFX_e463b: ; e463b - dr $e463b, $e467b +INCBIN "gfx/pikachu/unknown_e463b.2bpp" Pic_e467b: ; e467b - dr $e467b, $e472e +INCBIN "gfx/pikachu/unknown_e467b.pic" GFX_e472e: ; e472e - dr $e472e, $e476e +INCBIN "gfx/pikachu/unknown_e472e.2bpp" Pic_e476e: ; e476e - dr $e476e, $e4841 +INCBIN "gfx/pikachu/unknown_e476e.pic" GFX_e4841: ; e4841 - dr $e4841, $e49d1 +INCBIN "gfx/pikachu/unknown_e4841.2bpp" Pic_e49d1: ; e49d1 - dr $e49d1, $e4a99 +INCBIN "gfx/pikachu/unknown_e49d1.pic" GFX_e4a99: ; e4a99 - dr $e4a99, $e4b39 +INCBIN "gfx/pikachu/unknown_e4a99.2bpp" Pic_e4b39: ; e4b39 - dr $e4b39, $e4bde +INCBIN "gfx/pikachu/unknown_e4b39.pic" GFX_e4bde: ; e4bde - dr $e4bde, $e4c3e +INCBIN "gfx/pikachu/unknown_e4bde.2bpp" Pic_e4c3e: ; e4c3e - dr $e4c3e, $e4ce0 +INCBIN "gfx/pikachu/unknown_e4c3e.pic" GFX_e4ce0: ; e4ce0 - dr $e4ce0, $e4e70 +INCBIN "gfx/pikachu/unknown_e4ce0.2bpp" GFX_e4e70: ; e4e70 - dr $e4e70, $e5000 +INCBIN "gfx/pikachu/unknown_e4e70.2bpp" Pic_e5000: ; e5000 - dr $e5000, $e50af +INCBIN "gfx/pikachu/unknown_e5000.pic" GFX_e50af: ; e50af - dr $e50af, $e523f +INCBIN "gfx/pikachu/unknown_e50af.2bpp" Pic_e523f: ; e523f - dr $e523f, $e52fe +INCBIN "gfx/pikachu/unknown_e523f.pic" GFX_e52fe: ; e52fe - dr $e52fe, $e548e +INCBIN "gfx/pikachu/unknown_e52fe.2bpp" Pic_e548e: ; e548e - dr $e548e, $e5541 +INCBIN "gfx/pikachu/unknown_e548e.pic" GFX_e5541: ; e5541 - dr $e5541, $e56d1 +INCBIN "gfx/pikachu/unknown_e5541.2bpp" Pic_e56d1: ; e56d1 - dr $e56d1, $e5794 +INCBIN "gfx/pikachu/unknown_e56d1.pic" GFX_e5794: ; e5794 - dr $e5794, $e5924 +INCBIN "gfx/pikachu/unknown_e5794.2bpp" Pic_e5924: ; e5924 - dr $e5924, $e59ed +INCBIN "gfx/pikachu/unknown_e5924.pic" GFX_e59ed: ; e59ed - dr $e59ed, $e5b7d +INCBIN "gfx/pikachu/unknown_e59ed.2bpp" Pic_e5b7d: ; e5b7d - dr $e5b7d, $e5c4d +INCBIN "gfx/pikachu/unknown_e5b7d.pic" GFX_e5c4d: ; e5c4d - dr $e5c4d, $e5ddd +INCBIN "gfx/pikachu/unknown_e5c4d.2bpp" Pic_e5ddd: ; e5ddd - dr $e5ddd, $e5e90 +INCBIN "gfx/pikachu/unknown_e5ddd.pic" GFX_e5e90: ; e5e90 - dr $e5e90, $e6020 +INCBIN "gfx/pikachu/unknown_e5e90.2bpp" GFX_e6020: ; e6020 - dr $e6020, $e61b0 +INCBIN "gfx/pikachu/unknown_e6020.2bpp" GFX_e61b0: ; e61b0 - dr $e61b0, $e6340 +INCBIN "gfx/pikachu/unknown_e61b0.2bpp" Pic_e6340: ; e6340 - dr $e6340, $e63f7 +INCBIN "gfx/pikachu/unknown_e6340.pic" GFX_e63f7: ; e63f7 - dr $e63f7, $e6587 +INCBIN "gfx/pikachu/unknown_e63f7.2bpp" Pic_e6587: ; e6587 - dr $e6587, $e6646 +INCBIN "gfx/pikachu/unknown_e6587.pic" GFX_e6646: ; e6646 - dr $e6646, $e67d6 +INCBIN "gfx/pikachu/unknown_e6646.2bpp" Pic_e67d6: ; e67d6 - dr $e67d6, $e682f +INCBIN "gfx/pikachu/unknown_e67d6.pic" GFX_e682f: ; e682f - dr $e682f, $e69bf +INCBIN "gfx/pikachu/unknown_e682f.2bpp" GFX_e69bf: ; e69bf - dr $e69bf, $e6b4f +INCBIN "gfx/pikachu/unknown_e69bf.2bpp" GFX_e6b4f: ; e6b4f - dr $e6b4f, $e6cdf +INCBIN "gfx/pikachu/unknown_e6b4f.2bpp" GFX_e6cdf: ; e6cdf - dr $e6cdf, $e6e6f +INCBIN "gfx/pikachu/unknown_e6cdf.2bpp" GFX_e6e6f: ; e6e6f - dr $e6e6f, $e6fff +INCBIN "gfx/pikachu/unknown_e6e6f.2bpp" GFX_e6fff: ; e6fff - dr $e6fff, $e718f +INCBIN "gfx/pikachu/unknown_e6fff.2bpp" GFX_e718f: ; e718f - dr $e718f, $e731f +INCBIN "gfx/pikachu/unknown_e718f.2bpp" GFX_e731f: ; e731f - dr $e731f, $e74af +INCBIN "gfx/pikachu/unknown_e731f.2bpp" GFX_e74af: ; e74af - dr $e74af, $e763f +INCBIN "gfx/pikachu/unknown_e74af.2bpp" GFX_e763f: ; e763f - dr $e763f, $e77cf +INCBIN "gfx/pikachu/unknown_e763f.2bpp" Pic_e77cf: ; e77cf - dr $e77cf, $e7863 +INCBIN "gfx/pikachu/unknown_e77cf.pic" GFX_e7863: ; e7863 - dr $e7863, $e79f3 +INCBIN "gfx/pikachu/unknown_e7863.2bpp" GFX_e79f3: ; e79f3 - dr $e79f3, $e7b83 +INCBIN "gfx/pikachu/unknown_e79f3.2bpp" GFX_e7b83: ; e7b83 - dr $e7b83, $e7d13 +INCBIN "gfx/pikachu/unknown_e7b83.2bpp" GFX_e7d13: ; e7d13 - dr $e7d13, $e7ea3 +INCBIN "gfx/pikachu/unknown_e7d13.2bpp" SECTION "bank3A",ROMX,BANK[$3A] INCLUDE "text/monster_names.asm" diff --git a/text/map_names.asm b/text/map_names.asm index dd8592be..0338cba3 100755 --- a/text/map_names.asm +++ b/text/map_names.asm @@ -98,7 +98,7 @@ RocketHQName: ; 7167a (1c:567a) SilphCoName: ; 71684 (1c:5684) db "SILPH CO.@" PokemonMansionName: ; 7168e (1c:568e) - db $4a," MANSION@" + db " MANSION@" SafariZoneName: ; 71698 (1c:5698) db "SAFARI ZONE@" CeruleanCaveName: ; 716a4 (1c:56a4) -- cgit v1.2.3 From b3b63892be8bf37f6b83335bd44f5654e1bd9220 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 10:01:53 -0400 Subject: Resolve `dr` blocks in main.asm --- engine/bank30.bin | Bin 0 -> 16384 bytes main.asm | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 engine/bank30.bin diff --git a/engine/bank30.bin b/engine/bank30.bin new file mode 100644 index 00000000..6309c149 Binary files /dev/null and b/engine/bank30.bin differ diff --git a/main.asm b/main.asm index e765cd79..946b67ad 100755 --- a/main.asm +++ b/main.asm @@ -1817,7 +1817,16 @@ Plateau_GFX: INCBIN "gfx/tilesets/plateau.t10.2bpp" Plateau_Block: INCBIN "gfx/blocksets/plateau.bst" SECTION "bank1A",ROMX,BANK[$1A] - dr $68000,$68040 +Unknown_68000: + db $00, $00, $00, $f3, $db, $f3, $db, $f3 + db $00, $00, $00, $00, $69, $6b, $6b, $39 + db $00, $00, $00, $00, $c0, $40, $80, $c0 + db $00, $00, $00, $cc, $cc, $cd, $79, $30 + db $00, $00, $00, $00, $ef, $ac, $cc, $ec + db $00, $00, $00, $01, $3c, $71, $1d, $79 + db $00, $00, $00, $80, $1c, $b6, $b6, $9c + db $00, $00, $00, $00, $e0, $d0, $d0, $d0 + Dojo_GFX: Gym_GFX: INCBIN "gfx/tilesets/gym.2bpp" Dojo_Block: @@ -2032,7 +2041,8 @@ INCLUDE "engine/bg_map_attributes.asm" SECTION "bank30",ROMX,BANK[$30] - dr $c0000,$c4000 +; This whole bank is garbage data. +INCBIN "engine/bank30.bin" SECTION "bank39",ROMX,BANK[$39] Pic_e4000: ; e4000 -- cgit v1.2.3 From 8345c40dcf3d10b9b09acc50bd01754b9d18d3e5 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 10:18:03 -0400 Subject: Resolve incbinned sgb border --- data/sgb_border.asm | 94 ++++++++++++++++++++++++++++++++++++--------- gfx/tilemaps/sgbborder.map | Bin 1792 -> 1792 bytes 2 files changed, 76 insertions(+), 18 deletions(-) diff --git a/data/sgb_border.asm b/data/sgb_border.asm index 401a55e9..694f97b6 100755 --- a/data/sgb_border.asm +++ b/data/sgb_border.asm @@ -1,29 +1,87 @@ BorderPalettes: ; 72c39 (1c:6c39) - dr $72c39,$734b9 - ;INCBIN "gfx/tilemaps/sgbborder.map" + INCBIN "gfx/tilemaps/sgbborder.map" - ;ds $100 + ds $100 - ;RGB 30,29,29 ; PAL_SGB1 - ;RGB 25,22,25 - ;RGB 25,17,21 - ;RGB 24,14,12 + RGB 24, 6, 6 + RGB 31, 25, 9 + RGB 25, 10, 10 + RGB 0, 0, 0 - ;ds $18 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 - ;RGB 30,29,29 ; PAL_SGB2 - ;RGB 22,31,16 - ;RGB 27,20,6 - ;RGB 15,15,15 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 - ;ds $18 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 - ;RGB 30,29,29 ; PAL_SGB3 - ;RGB 31,31,17 - ;RGB 18,21,29 - ;RGB 15,15,15 + RGB 18, 24, 18 + RGB 25, 10, 10 + RGB 15, 25, 15 + RGB 0, 0, 0 - ;ds $18 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 18, 6, 31 + RGB 31, 25, 9 + RGB 15, 25, 15 + RGB 0, 0, 0 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 12, 31, 6 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 + RGB 31, 31, 25 SGBBorderGraphics: ; 734b9 (1c:74b9) INCBIN "gfx/pokemon_yellow.t6.2bpp" diff --git a/gfx/tilemaps/sgbborder.map b/gfx/tilemaps/sgbborder.map index 4077ed8e..9c97c339 100644 Binary files a/gfx/tilemaps/sgbborder.map and b/gfx/tilemaps/sgbborder.map differ -- cgit v1.2.3 From 097ac11e1a7c6ec0861a707375f4ff5ddb9d3fad Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 14:39:37 -0400 Subject: Chunk of bank 3e --- engine/bank3e.asm | 676 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 672 insertions(+), 4 deletions(-) diff --git a/engine/bank3e.asm b/engine/bank3e.asm index af7cc074..ec7fa569 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -1,5 +1,652 @@ -Func_f8000: ; f8000 (3e:4000) - dr $f8000,$f8bcb +Func_f8000: + call Func_f9254 + call DelayFrame + call DelayFrame + call DelayFrame + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + ld a, [wUpdateSpritesEnabled] + push af + ld a, $ff + ld [wUpdateSpritesEnabled], a + ld a, [rIE] + push af + xor a + ld [rIF], a + ld a, $f + ld [rIE], a + ld a, $8 + ld [rSTAT], a + ld a, [$ffbd] + push af + ld a, $98 + ld [$ffbd], a + call Func_f8fb3 + call Func_f807a + xor a + ld [rBGP], a + ld [rOBP0], a + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + call Func_fbb5a + call ClearSprites + xor a + ld [hLCDCPointer], a + ld [hSCX], a + ld [hSCY], a + ld a, $90 + ld [hWY], a + call DelayFrame + pop af + ld [$ffbd], a + xor a + ld [rIF], a + pop af + ld [rIE], a + xor a + ld [rSTAT], a + call RunDefaultPaletteCommand + call Func_0f16 + call PlayDefaultMusic + call GBPalNormal + pop af + ld [wUpdateSpritesEnabled], a + pop af + ld [hTilesetType], a + ret + +Func_f807a: + call Func_f8116 + call DelayFrame + ld b, $e + call RunPaletteCommand +.asm_f8085 + ld a, [$c5d1] + bit 7, a + ret nz + call Func_f923f + call Func_f80ac + ret nz + call Func_f8282 + ld a, $3c + ld [$c5bd], a + call Func_fbb65 + call Func_f8848 + call Func_f80a8 + call Func_f80c4 + jr .asm_f8085 + +Func_f80a8: + call DelayFrame + ret + +Func_f80ac: + ld hl, wPreventBlackout + bit 1, [hl] + ret z + ld a, [hJoyPressed] + and $4 + ret + ld a, [hJoyPressed] + and $8 + ret z + ld hl, $c5e2 + ld a, [hl] + xor $1 + ld [hl], a + ret + +Func_f80c4: + ld a, [$c634] + and a + ret z + ld hl, wChannelNoteDelayCounters + ld a, $1 + cp [hl] + ret nz + inc hl + cp [hl] + ret nz + inc hl + cp [hl] + ret nz + ld a, [$c5e3] + ld e, a + ld a, [$c5e4] + and $3 + ld d, a + sla e + rl d + ld e, d + ld d, $0 + ld hl, Unkn_f80f5 + add hl, de + add hl, de + ld a, [hli] + ld [$c0e9], a + ld a, [hl] + ld [wMusicTempo], a + ret + +Unkn_f80f5: + dw $75 + dw $6d + dw $65 + dw $5d + dw $55 + +Func_f80ff: + ld hl, wChannelNoteDelayCounters + ld a, $1 + cp [hl] + ret nz + inc hl + cp [hl] + ret nz + inc hl + cp [hl] + ret nz + ld a, $75 + ld [$c0e9], a + xor a + ld [wMusicTempo], a + ret + +Func_f8116: + call Func_f9279 + call ClearSprites + call DisableLCD + ld hl, wSerialEnemyMonsPatchList + ld bc, $67 + xor a + call FillMemory + ld hl, $c700 + ld bc, $200 + xor a + call FillMemory + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call Func_fbb5a + ld hl, $4f14 + ld de, $9000 + ld bc, $500 + ld a, $20 + call FarCopyData + ld hl, $5324 + ld de, $8000 + ld bc, $1000 + ld a, $20 + call FarCopyData + ld a, $d3 + ld [$c5c0], a + ld a, $53 + ld [$c5c1], a + ld a, $fa + ld [$c5c4], a + ld a, $53 + ld [$c5c5], a + ld a, $7 + ld [$c5c6], a + ld a, $55 + ld [$c5c7], a + ld a, $5 + ld [$c5c2], a + ld a, $54 + ld [$c5c3], a + ld hl, $9800 + ld bc, $800 + ld a, $0 + call FillMemory + ld hl, $98c0 + ld bc, $180 + ld a, $b + call FillMemory + ld a, $1 + ld de, $7458 + call Func_fbb93 + ld a, $74 + ld [$c5ea], a + call Func_f9223 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7e + ld [hWY], a + ld a, $42 + ld [hLCDCPointer], a + ld a, $40 + ld [$c5e3], a + xor a + ld [$c5e4], a + xor a + ld [$c5d6], a + ld a, $60 + ld [$c5d7], a + ld hl, $c61a + ld bc, $14 + ld a, $74 + call FillMemory + call Func_f81ff + call Func_f8256 + ld a, $e3 + ld [rLCDC], a + call Func_f81e9 + ld a, $e4 + ld [rOBP0], a + ld a, $e0 + ld [rOBP1], a + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ret + +Func_f81e9: + ld a, [wOnSGB] + and a + jr nz, .asm_f81f7 + ld a, $d0 + ld [rBGP], a + call UpdateGBCPal_BGP + ret + +.asm_f81f7 + ld a, $e4 + ld [rBGP], a + call UpdateGBCPal_BGP + ret + +Func_f81ff: + ld hl, wSpriteDataEnd + ld de, Unkn_f8249 + ld b, $97 + ld c, $80 + ld a, $4 + call Func_f8233 + ld de, Unkn_f8248 + ld b, $96 + ld c, $50 + ld a, $1 + call Func_f8233 + ld de, Unkn_f824d + ld b, $14 + ld c, $20 + ld a, $5 + call Func_f8233 + ld de, Unkn_f8252 + ld b, $20 + ld c, $80 + ld a, $4 + call Func_f8233 + ret + +Func_f8233: +.asm_f8233 + push af + ld [hl], b + inc hl + ld [hl], c + inc hl + ld a, [de] + ld [hl], a + inc hl + ld [hl], $0 + inc hl + ld a, c + add $8 + ld c, a + inc de + pop af + dec a + jr nz, .asm_f8233 + ret + +Unkn_f8248: + db $fe + +Unkn_f8249: + db $d0 + db $d0 + db $d0 + db $d0 + +Unkn_f824d: + db $ec + db $ed + db $ed + db $ee + db $ef + +Unkn_f8252: + db $ec + db $ed + db $ee + db $ef + +Func_f8256: + ld de, $9c21 + ld hl, Unkn_f8279 + ld c, $9 +.asm_f825e + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_f825e + ld hl, $9c01 + ld [hl], $15 + ld hl, $9c02 + ld [hl], $16 + ld hl, $9c2c + ld [hl], $1b + ld hl, $9c2d + ld [hl], $1c + ret + +Unkn_f8279: + db $17 + db $18 + db $19 + db $19 + db $19 + db $19 + db $19 + db $19 + db $19 + +Func_f8282: + ld a, [$c5d1] + ld e, a + ld d, $0 + ld hl, Jumptable_f8291 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_f8291: + dw Func_f82ab + dw Func_f82bd + dw Func_f8324 + dw Func_f835c + dw Func_f838c + dw Func_f8399 + dw Func_f83aa + dw Func_f83bb + dw Func_f83cc + dw Func_f83e3 + dw Func_f8406 + dw Func_f840f + dw Func_f841d + +Func_f82ab: + ld a, $2 + ld de, Unkn_f88e0 + call Func_fbb93 + ld hl, $c5d1 + inc [hl] + ld a, $1 + ld [$c634], a + ret + +Func_f82bd: + ld a, [$c5e5] + cp $18 + jr nc, .asm_f82e8 + ld hl, $c5d6 + ld a, [hli] + or [hl] + and a + jr z, .asm_f82f6 + call Random + ld [$c5d5], a + call Func_f9210 + call Func_f88ae + call Func_f886b + call Func_f8cb0 + call Func_f844c + call Func_f88e4 + call Func_f88fd + ret + +.asm_f82e8 + ld hl, $c5d1 + inc [hl] + xor a + ld [$c634], a + ld a, $c0 + ld [$c632], a + ret + +.asm_f82f6 + ld a, $1 +Func_f82f8: + ld [$c630], a + ld a, $c + ld [$c5d1], a +Func_f8300: + ld a, $80 + ld [$c631], a + ld a, $b + ld de, $8858 + call Func_fbb93 + ld hl, $7 + add hl, bc + ld [hl], $80 + ld hl, $b + add hl, bc + ld [hl], $80 + ld hl, $c + add hl, bc + ld [hl], $30 + xor a + ld [$c634], a + ret + +Func_f8324: + call Func_f8440 + jr c, .asm_f833d + xor a + ld [$c5d5], a + call Func_f9210 + call Func_f88ae + call Func_f886b + call Func_f8c97 + call Func_f80ff + ret + +.asm_f833d + ld hl, $c5d1 + inc [hl] + ld a, $90 + ld [hSCX], a + ld a, $72 + ld [$c5d3], a + ld a, $4 + ld [$c5d2], a + xor a + ld [hLCDCPointer], a + ld [$c617], a + ld [$c618], a + ld [$c619], a + ret + +Func_f835c: + ld a, [hSCX] + and a + jr z, .asm_f837b + call Func_f9210 + call Func_f88ae + call Func_f886b + ld a, [hSCX] + dec a + dec a + dec a + dec a + ld [hSCX], a + ld a, $e0 + ld [$c62e], a + call Func_f8cc7 + ret + +.asm_f837b + xor a + ld [$c5e3], a + ld [$c5e4], a + ld hl, $c5d1 + inc [hl] + ld a, $5 + ld [$c5d2], a + ret + +Func_f838c: + call Func_f891e + ld a, $20 + ld [$c632], a + ld hl, $c5d1 + inc [hl] + ret + +Func_f8399: + call Func_f8440 + ret nc + call Func_f8a92 + ld a, $40 + ld [$c632], a + ld hl, $c5d1 + inc [hl] + ret + +Func_f83aa: + call Func_f8440 + ret nc + call Func_f8ae4 + ld a, $40 + ld [$c632], a + ld hl, $c5d1 + inc [hl] + ret + +Func_f83bb: + call Func_f8440 + ret nc + call Func_f8b7a + ld a, $40 + ld [$c632], a + ld hl, $c5d1 + inc [hl] + ret + +Func_f83cc: + call Func_f8440 + ret nc + call Func_f8aa9 + push af + call Func_f8b5d + pop af + ret nc + ld a, $40 + ld [$c632], a + ld hl, $c5d1 + inc [hl] + ret + +Func_f83e3: + call Func_f8440 + ret nc + call Func_f8afb + push af + call Func_f8b5d + pop af + ret nc + ld a, $80 + ld [$c632], a + ld hl, $c5d1 + inc [hl] + call Func_f8b92 + ret nc + call Func_f8a7c +Func_f83ff: + ld a, $6 + ld [$c5d2], a + ret + +Func_f8406: + call Func_f8440 +Func_f8408: + ret nc + ld hl, $c5d1 + inc [hl] + ret + +Func_f840f: + call Func_f9210 + ld a, [hJoyPressed] + and $1 + ret z + ld hl, $c5d1 + set 7, [hl] + ret + +Func_f841d: + call Func_f9210 + call Func_f88ae + call Func_f886b + call Func_f8cb0 + call Func_f80ff + ld hl, $c631 + ld a, [hl] + and a + jr z, .asm_f8435 + dec [hl] + ret + +.asm_f8435 + ld a, [hJoyPressed] + and $1 + ret z + ld hl, $c5d1 + set 7, [hl] + ret + +Func_f8440: + dr $f8440,$f844c +Func_f844c: + dr $f844c,$f8848 +Func_f8848: + dr $f8848,$f886b +Func_f886b: + dr $f886b,$f88ae +Func_f88ae: + dr $f88ae,$f88e0 +Unkn_f88e0: + dr $f88e0,$f88e4 +Func_f88e4: + dr $f88e4,$f88fd +Func_f88fd: + dr $f88fd,$f891e +Func_f891e: + dr $f891e,$f8a7c +Func_f8a7c: + dr $f8a7c,$f8a92 +Func_f8a92: + dr $f8a92,$f8aa9 +Func_f8aa9: + dr $f8aa9,$f8ae4 +Func_f8ae4: + dr $f8ae4,$f8afb +Func_f8afb: + dr $f8afb,$f8b5d +Func_f8b5d: + dr $f8b5d,$f8b7a +Func_f8b7a: + dr $f8b7a,$f8b92 +Func_f8b92: + dr $f8b92,$f8bcb Func_f8bcb: ; f8bcb (3e:4bcb) push de @@ -10,7 +657,26 @@ Func_f8bcb: ; f8bcb (3e:4bcb) ret Func_f8bdf: ; f8bdf (3e:4bdf) - dr $f8bdf,$f982d + dr $f8bdf,$f8c97 +Func_f8c97: + dr $f8c97,$f8cb0 + +Func_f8cb0: + dr $f8cb0,$f8cc7 +Func_f8cc7: + dr $f8cc7,$f8fb3 +Func_f8fb3: + dr $f8fb3,$f9210 +Func_f9210: + dr $f9210,$f9223 +Func_f9223: + dr $f9223,$f923f +Func_f923f: + dr $f923f,$f9254 +Func_f9254: + dr $f9254,$f9279 +Func_f9279: + dr $f9279,$f982d PlayIntroScene: ; f982d (3e:582d) dr $f982d,$fa35a @@ -24,4 +690,6 @@ Func_fbb5a: ; fbb5a (3e:7b5a) ret Func_fbb65: ; fbb65 (3e:7b65) - dr $fbb65,$fbd76 \ No newline at end of file + dr $fbb65,$fbb93 +Func_fbb93: + dr $fbb93,$fbd76 \ No newline at end of file -- cgit v1.2.3 From 3ad79a6bec51fdd0dc5dff5d6332e5be71145f7b Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 15:19:40 -0400 Subject: Another chunk of bank 3e --- engine/bank3e.asm | 1110 ++++++++++++++++++++++++++++++++++++++++++++++++- gfx/unknown_f8946.map | 1 + 2 files changed, 1089 insertions(+), 22 deletions(-) create mode 100644 gfx/unknown_f8946.map diff --git a/engine/bank3e.asm b/engine/bank3e.asm index ec7fa569..1b3afa11 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -385,7 +385,7 @@ Jumptable_f8291: Func_f82ab: ld a, $2 - ld de, Unkn_f88e0 + ld de, $48e0 call Func_fbb93 ld hl, $c5d1 inc [hl] @@ -614,39 +614,1091 @@ Func_f841d: ret Func_f8440: - dr $f8440,$f844c + ld hl, $c632 + ld a, [hl] + and a + jr z, .asm_f844a + dec [hl] + and a + ret + +.asm_f844a + scf + ret + Func_f844c: - dr $f844c,$f8848 + ld a, [$c5e6] + ld h, a + ld a, [$c5e7] + ld l, a + ld a, [$c5e3] + ld e, a + ld a, [$c5e4] + ld d, a + add hl, de + ld a, h + ld [$c5e6], a + ld a, l + ld [$c5e7], a + ret nc + ld hl, $c5e5 + inc [hl] + ld hl, $c311 + dec [hl] + dec [hl] + ret + ld a, [$c5d2] + ld e, a + ld d, $0 + ld hl, Jumptable_f847f + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_f847f: + dw Func_f848d + dw Func_f84e2 + dw Func_f8516 + dw Func_f8545 + dw Func_f8561 + dw Func_f856d + dw Func_f8579 + +Func_f848d: + ld a, [$c630] + and a + jr nz, .asm_f84d2 + call Func_f87b5 + ld a, [$c5ea] + ld hl, $5 + add hl, bc + ld [hl], a + call Func_f871e + jr c, .asm_f84aa + call Func_f8742 + call Func_f86b8 + ret + +.asm_f84aa + call Func_f8742 + ld a, $1 + ld [$c5d2], a + xor a + ld hl, $c + add hl, bc + ld [hl], a + ld hl, $d + add hl, bc + ld [hl], a + ld hl, $e + add hl, bc + ld [hl], a + ld [$c5d9], a + ld [$c62f], a + xor a + ld [$c02d], a + ld a, $91 + call PlaySound + ret + +.asm_f84d2 + xor a + ld [$c5e3], a + ld [$c5e4], a + ld a, $4 + ld [$c5d2], a + call Func_f8742 + ret + +Func_f84e2: + call Func_f8598 + call Func_f928c + ret nc + call Func_f8606 + jr c, .asm_f84fd + call Func_f8bed + ld hl, $c + add hl, bc + ld [hl], $0 + ld a, $2 + ld [$c5d2], a + ret + +.asm_f84fd + ld a, $3 + ld [$c5d2], a + ld a, $60 + ld [$c5e1], a + ld a, $10 + call Func_fbcd4 + xor a + ld [$c02d], a + ld a, $93 + call PlaySound + ret + +Func_f8516: + ld hl, $c + add hl, bc + ld a, [hl] + cp $20 + jr nc, .asm_f8539 + inc [hl] + inc [hl] + inc [hl] + inc [hl] + ld d, $4 + call Func_f9362 + ld hl, $7 + add hl, bc + ld [hl], a + call Func_f87b5 + ld a, [$c5ea] + ld hl, $5 + add hl, bc + ld [hl], a + ret + +.asm_f8539 + ld hl, $7 + add hl, bc + ld [hl], $0 + ld a, $0 + ld [$c5d2], a + ret + +Func_f8545: + ld hl, $c5e1 + ld a, [hl] + and a + jr z, .asm_f8556 + dec [hl] + ld a, [$c5ea] + ld hl, $5 + add hl, bc + ld [hl], a + ret + +.asm_f8556 + ld a, $0 + ld [$c5d2], a + ld a, $4 + call Func_fbcd4 + ret + +Func_f8561: + ld a, [$c5ea] + ld hl, $5 + add hl, bc + ld [hl], a + call Func_f8742 + ret + +Func_f856d: + ld a, $f + call Func_fbcd4 + ld hl, $c + add hl, bc + ld [hl], $0 + ret + +Func_f8579: + ld hl, $c + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + and $3f + cp $20 + jr c, .asm_f8591 + ld d, $10 + call Func_f9362 + ld hl, $7 + add hl, bc + ld [hl], a + ret + +.asm_f8591 + ld hl, $7 + add hl, bc + ld [hl], $0 + ret + +Func_f8598: + ld de, hJoy5 + ld a, [de] + and $20 + jr nz, .asm_f85a6 + ld a, [de] + and $10 + jr nz, .asm_f85cc + ret + +.asm_f85a6 + ld hl, $e + add hl, bc + ld [hl], $0 + ld hl, $d + add hl, bc + ld a, [hl] + inc [hl] + cp $b + jr c, .asm_f85be + call Func_f85f2 + ld hl, $c62f + set 0, [hl] +.asm_f85be + ld hl, $1 + add hl, bc + ld a, [hl] + cp $e + jr nc, .asm_f85c9 + inc [hl] + ret + +.asm_f85c9 + ld [hl], $1 + ret + +.asm_f85cc + ld hl, $d + add hl, bc + ld [hl], $0 + ld hl, $e + add hl, bc + ld a, [hl] + inc [hl] + cp $d + jr c, .asm_f85e4 + call Func_f85f2 + ld hl, $c62f + set 1, [hl] +.asm_f85e4 + ld hl, $1 + add hl, bc + ld a, [hl] + cp $1 + jr z, .asm_f85ef + dec [hl] + ret + +.asm_f85ef + ld [hl], $e + ret + +Func_f85f2: + call Func_f8bdf + xor a + ld hl, $d + add hl, bc + ld [hl], a + ld hl, $e + add hl, bc + ld [hl], a + ld a, $92 + call PlaySound + ret + +Func_f8606: + ld hl, $1 + add hl, bc + ld a, [$c5ef] + cp $6 + jr z, .asm_f863d + cp $14 + jr z, .asm_f867b + cp $12 + jr z, .asm_f867b + cp $7 + jr z, .asm_f865c + ld a, [hl] + cp $1 + jp z, .asm_f86ad + cp $2 + jr z, .asm_f869a + cp $3 + jr z, .asm_f869f + cp $4 + jr z, .asm_f86a2 + cp $5 + jr z, .asm_f869f + cp $6 + jr z, .asm_f869a + cp $7 + jr z, .asm_f86ad + jr .asm_f86ad + +.asm_f863d + ld a, [hl] + cp $1 + jr z, .asm_f86ad + cp $2 + jr z, .asm_f86ad + cp $3 + jr z, .asm_f86ad + cp $4 + jr z, .asm_f869a + cp $5 + jr z, .asm_f869f + cp $6 + jr z, .asm_f86a2 + cp $7 + jr z, .asm_f869f + jr .asm_f86ad + +.asm_f865c + ld a, [hl] + cp $1 + jr z, .asm_f869f + cp $2 + jr z, .asm_f86a2 + cp $3 + jr z, .asm_f869f + cp $4 + jr z, .asm_f869a + cp $5 + jr z, .asm_f86ad + cp $6 + jr z, .asm_f86ad + cp $7 + jr z, .asm_f86ad + jr .asm_f86ad + +.asm_f867b + ld a, [hl] + cp $1 + jr z, .asm_f86ad + cp $2 + jr z, .asm_f869a + cp $3 + jr z, .asm_f869f + cp $4 + jr z, .asm_f86a2 + cp $5 + jr z, .asm_f86a2 + cp $6 + jr z, .asm_f869f + cp $7 + jr z, .asm_f869a + jr .asm_f86ad + +.asm_f869a + call Func_f86f7 + jr .asm_f86a2 + +.asm_f869f + call Func_f86d0 +.asm_f86a2 + xor a + ld [$c02d], a + ld a, $95 + call PlaySound + and a + ret + +.asm_f86ad + ld a, $40 + ld [$c5e3], a + xor a + ld [$c5e4], a + scf + ret + +Func_f86b8: + ld a, [$c5e4] + cp $2 + ret nc + ld h, a + ld a, [$c5e3] + ld l, a + ld de, $2 + add hl, de + ld a, h + ld [$c5e4], a + ld a, l + ld [$c5e3], a + ret + +Func_f86d0: + ld a, [$c5e4] + and a + jr nz, .asm_f86e2 + ld a, [$c5e3] + cp $40 + jr nc, .asm_f86e2 + xor a + ld [$c5e3], a + ret + +.asm_f86e2 + ld a, [$c5e4] + ld h, a + ld a, [$c5e3] + ld l, a + ld de, $ffc0 + add hl, de + ld a, h + ld [$c5e4], a + ld a, l + ld [$c5e3], a + ret + +Func_f86f7: + ld a, [$c5e4] + and a + jr nz, .asm_f8709 + ld a, [$c5e3] + cp $80 + jr nc, .asm_f8709 + xor a + ld [$c5e3], a + ret + +.asm_f8709 + ld a, [$c5e4] + ld h, a + ld a, [$c5e3] + ld l, a + ld de, $ff80 + add hl, de + ld a, h + ld [$c5e4], a + ld a, l + ld [$c5e3], a + ret + +Func_f871e: + ld a, [hSCX] + and $7 + cp $3 + jr c, .asm_f8740 + cp $5 + jr nc, .asm_f8740 + ld a, [$c5ef] + cp $14 + jr nz, .asm_f8740 + call Func_f87a8 + cp $a + jr c, .asm_f8740 + ld [$c5ec], a + call Func_f9284 + scf + ret + +.asm_f8740 + and a + ret + +Func_f8742: + ld a, [hSCX] + and $7 + cp $3 + ret c + cp $5 + ret nc + ld a, [$c5ef] + cp $6 + jr z, .asm_f8766 + cp $14 + jr z, .asm_f8766 + cp $7 + jr z, .asm_f876a + call Func_f8778 + ld a, $4 + ld hl, $1 + add hl, bc + ld [hl], a + ret + +.asm_f8766 + ld a, $6 + jr .asm_f876c + +.asm_f876a + ld a, $2 +.asm_f876c + ld e, a + ld a, [$c5de] + dec a + add e + ld hl, $1 + add hl, bc + ld [hl], a + ret + +Func_f8778: + ld hl, $c5e0 + ld a, [hl] + inc [hl] + and $7 + ret nz + ld a, [$c5df] + and a + jr z, .asm_f8796 + ld a, [$c5de] + and a + jr z, .asm_f8791 + dec a + ld [$c5de], a + ret + +.asm_f8791 + xor a + ld [$c5df], a + ret + +.asm_f8796 + ld a, [$c5de] + cp $2 + jr z, .asm_f87a2 + inc a + ld [$c5de], a + ret + +.asm_f87a2 + ld a, $1 + ld [$c5df], a + ret + +Func_f87a8: + ld a, [$c5e3] + ld l, a + ld a, [$c5e4] + ld h, a + add hl, hl + add hl, hl + add hl, hl + ld a, h + ret + +Func_f87b5: + ld hl, $c5eb + ld a, [hl] + inc [hl] + and $3 + ret nz + call Func_f87ce + ld d, a + ld hl, $4 + add hl, bc + ld e, [hl] + ld a, $a + push bc + call Func_fbb93 + pop bc + ret + +Func_f87ce: + ld a, [hSCX] + and $8 + jr nz, .asm_f87d9 + ld hl, $c622 + jr .asm_f87dc + +.asm_f87d9 + ld hl, $c623 +.asm_f87dc + ld a, [$c5f0] + cp $6 + jr z, .asm_f87ed + cp $14 + jr z, .asm_f87ed + cp $7 + jr z, .asm_f87f5 + ld a, [hl] + ret + +.asm_f87ed + ld a, [hSCX] + and $7 + ld e, a + ld a, [hl] + sub e + ret + +.asm_f87f5 + ld a, [hSCX] + and $7 + add [hl] + ret + ld hl, $4 + add hl, bc + ld a, [hl] + cp $58 + ret z + add $4 + ld [hl], a + ret + call Func_fbbe8 + ret + ld hl, $b + add hl, bc + ld a, [hl] + and a + ret z + dec [hl] + dec [hl] + ld d, a + ld hl, $c + add hl, bc + ld a, [hl] + inc [hl] + call Func_f9362 + cp $80 + jr nc, .asm_f8825 + xor $ff + inc a +.asm_f8825 + ld hl, $7 + add hl, bc + ld [hl], a + ret + ld hl, $b + add hl, bc + ld a, [hl] + inc [hl] + and $1 + ret z + ld hl, $4 + add hl, bc + ld a, [hl] + cp $c0 + jr z, .asm_f883f + inc [hl] + ret + +.asm_f883f + ld a, $1 + ld [$c633], a + call Func_fbbe8 + ret + Func_f8848: - dr $f8848,$f886b + ld a, [$c635] + ld e, a + ld d, $0 + ld a, [$c5e3] + ld l, a + ld a, [$c5e4] + ld h, a + add hl, de + ld a, l + ld [$c635], a + ld d, h + ld hl, $c315 + ld e, $9 +.asm_f8861 + ld a, [hl] + add d + ld [hli], a + inc hl + inc hl + inc hl + dec e + jr nz, .asm_f8861 + ret + Func_f886b: - dr $f886b,$f88ae + ld a, [$c5ef] + ld a, [hSCX] + add $48 + ld e, a + srl e + srl e + srl e + ld d, $0 + ld hl, $9800 + add hl, de + ld a, [$c5ea] + srl a + srl a + srl a + ld c, a +.asm_f8889 + ld a, c + and a + jr z, .asm_f889a + dec c + ld de, $20 + add hl, de + ld a, h + and $3 + or $98 + ld h, a + jr .asm_f8889 + +.asm_f889a + ld de, $c5ef + ld a, e + ld [H_VBCOPYDEST], a + ld a, d + ld [$ffca], a + ld a, l + ld [H_VBCOPYSRC], a + ld a, h + ld [$ffc8], a + ld a, $1 + ld [H_VBCOPYSIZE], a + ret + Func_f88ae: - dr $f88ae,$f88e0 -Unkn_f88e0: - dr $f88e0,$f88e4 + ld a, [hSCX] + and $8 + jr nz, .asm_f88b9 + ld hl, $c621 + jr .asm_f88bc + +.asm_f88b9 + ld hl, $c622 +.asm_f88bc + ld a, [$c5ef] + cp $6 + jr z, .asm_f88d0 + cp $14 + jr z, .asm_f88d0 + cp $7 + jr z, .asm_f88db + ld a, [hl] + ld [$c5ea], a + ret + +.asm_f88d0 + ld a, [hSCX] + and $7 + ld e, a + ld a, [hl] + sub e + ld [$c5ea], a + ret + +.asm_f88db + ld a, [hSCX] + and $7 + add [hl] + ld [$c5ea], a + ret + Func_f88e4: - dr $f88e4,$f88fd + ld hl, $c5d6 + ld e, $99 + call Func_f88f0 + ret nc + inc hl + ld e, $99 +Func_f88f0: + ld a, [hl] + and a + jr z, .asm_f88fa + sub $1 + daa + ld [hl], a + and a + ret + +.asm_f88fa + ld [hl], e + scf + ret + Func_f88fd: - dr $f88fd,$f891e + ld de, $c5d7 + ld hl, $c302 + ld a, [de] + call Func_f890b + ld hl, $c30a + ld a, [de] +Func_f890b: + ld c, a + swap a + and $f + add $d0 + ld [hli], a + inc hl + inc hl + inc hl + ld a, c + and $f + add $d0 + ld [hl], a + dec de + ret + Func_f891e: - dr $f891e,$f8a7c + ld hl, wTileMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call FillMemory + ld hl, Tilemap_f8946 + coord de, 0, 6 + ld bc, Tilemap_f8946End - Tilemap_f8946 + call CopyData + call Func_f8a0e + ld hl, $c315 + ld bc, $24 + xor a + call FillMemory + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ret + +Tilemap_f8946: +INCBIN "gfx/unknown_f8946.map" +Tilemap_f8946End: + +Func_f8a0e: + coord hl, 1, 1 + lb de, $3b, $3c + ld a, $40 + call Func_f8a72 + coord hl, 1, 2 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 3 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 4 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 5 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 6 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 7 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 8 + lb de, $3f, $3f + ld a, $ff + call Func_f8a72 + coord hl, 1, 9 + lb de, $3d, $3e + ld a, $40 + call Func_f8a72 + ret + +Func_f8a72: + ld [hl], d + inc hl + ld c, $10 +.asm_f8a76 + ld [hli], a + dec c + jr nz, .asm_f8a76 + ld [hl], e + ret + Func_f8a7c: - dr $f8a7c,$f8a92 + ld hl, Tilemap_f8a89 + coord de, 6, 8 + ld bc, $9 + call CopyData + ret + +Tilemap_f8a89: + db $20,$2e,$2f,$30,$31,$2c,$32,$23,$33 + Func_f8a92: - dr $f8a92,$f8aa9 + ld hl, Tilemap_f8aa2 + coord de, 2, 2 + ld bc, $7 + call CopyData + call Func_f8aca + ret + +Tilemap_f8aa2: + db $20,$21,$ff,$22,$23,$24,$25 + Func_f8aa9: - dr $f8aa9,$f8ae4 + ld c, $63 +.asm_f8aab + push bc + ld hl, $c5d6 + ld a, [hli] + or [hl] + and a + jr z, .asm_f8ac7 + call Func_f88e4 + ld e, $1 +.asm_f8ab9 + call Func_f8b42 + pop bc + dec c + jr nz, .asm_f8aab +.asm_f8abf + ld a, $90 + call PlaySound +.asm_f8ac5 + and a + ret + +.asm_f8ac7 + pop bc + scf + ret + +Func_f8aca: + coord hl, 10, 2 + ld de, $c5d7 + ld a, [de] + call Func_f9350 + inc hl + ld a, [de] + call Func_f9350 + inc hl + inc hl + ld [hl], $21 + inc hl + ld [hl], $25 + inc hl + ld [hl], $26 + ret + Func_f8ae4: - dr $f8ae4,$f8afb + ld hl, Tilemap_f8af4 + coord de, 2, 4 + ld bc, $7 + call CopyData + call Func_f8b25 + ret + +Tilemap_f8af4: + db $27,$28,$29,$2a,$23,$26,$26 + Func_f8afb: - dr $f8afb,$f8b5d + ld c, $63 +.asm_f8afd + push bc + ld hl, $c5da + ld a, [hli] + ld e, a + or [hl] + jr z, .asm_f8b22 + ld d, [hl] + ld a, e + sub $1 + daa + ld e, a + ld a, d + sbc $0 + daa + ld [hld], a + ld [hl], e + ld e, $1 + call Func_f8b42 + pop bc + dec c + jr nz, .asm_f8afd + ld a, $90 + call PlaySound +.asm_f8b20 + and a + ret + +.asm_f8b22 + pop bc + scf + ret + +Func_f8b25: + ld a, [$c5db] + coord hl, 10, 4 + call Func_f9350 + ld a, [$c5da] + coord hl, 12, 4 + call Func_f9350 + inc hl + inc hl + ld [hl], $21 + inc hl + ld [hl], $25 + inc hl + ld [hl], $26 + ret + +Func_f8b42: + ld a, [$c5dc] + add e + daa + ld [$c5dc], a + ld a, [$c5dd] + adc $0 + daa + ld [$c5dd], a + ret nc + ld a, $99 + ld [$c5dc], a + ld [$c5dd], a + ret + Func_f8b5d: - dr $f8b5d,$f8b7a + ld a, [$c5dd] + coord hl, 10, 6 + call Func_f9350 + ld a, [$c5dc] + coord hl, 12, 6 + call Func_f9350 + inc hl + inc hl + ld [hl], $21 + inc hl + ld [hl], $25 + inc hl + ld [hl], $26 + ret + Func_f8b7a: - dr $f8b7a,$f8b92 + ld hl, Tilemap_f8b8d + coord de, 2, 6 + ld bc, $5 + call CopyData + call Func_f8b25 + call Func_f8b5d + ret + +Tilemap_f8b8d: + db $2b,$2c,$25,$28,$2d + Func_f8b92: - dr $f8b92,$f8bcb + ld hl, wd496 + ld a, [$c5dd] + cp [hl] + jr c, .asm_f8ba6 + jr nz, .asm_f8bb0 + dec hl + ld a, [$c5dc] + cp [hl] + jr c, .asm_f8ba6 + jr nz, .asm_f8bb0 +.asm_f8ba6 + call WaitForSoundToFinish + ld e, $1b + call Func_f8bcb + and a + ret + +.asm_f8bb0 + ld a, [$c5dc] + ld [wd495], a + ld a, [$c5dd] + ld [wd496], a + call WaitForSoundToFinish + ld e, $21 + call Func_f8bcb + ld a, $96 + call PlaySound + scf + ret Func_f8bcb: ; f8bcb (3e:4bcb) push de @@ -657,7 +1709,9 @@ Func_f8bcb: ; f8bcb (3e:4bcb) ret Func_f8bdf: ; f8bdf (3e:4bdf) - dr $f8bdf,$f8c97 + dr $f8bdf,$f8bed +Func_f8bed: + dr $f8bed,$f8c97 Func_f8c97: dr $f8c97,$f8cb0 @@ -676,7 +1730,15 @@ Func_f923f: Func_f9254: dr $f9254,$f9279 Func_f9279: - dr $f9279,$f982d + dr $f9279,$f9284 +Func_f9284: + dr $f9284,$f928c +Func_f928c: + dr $f928c,$f9350 +Func_f9350: + dr $f9350,$f9362 +Func_f9362: + dr $f9362,$f982d PlayIntroScene: ; f982d (3e:582d) dr $f982d,$fa35a @@ -692,4 +1754,8 @@ Func_fbb5a: ; fbb5a (3e:7b5a) Func_fbb65: ; fbb65 (3e:7b65) dr $fbb65,$fbb93 Func_fbb93: - dr $fbb93,$fbd76 \ No newline at end of file + dr $fbb93,$fbbe8 +Func_fbbe8: + dr $fbbe8,$fbcd4 +Func_fbcd4: + dr $fbcd4,$fbd76 diff --git a/gfx/unknown_f8946.map b/gfx/unknown_f8946.map new file mode 100644 index 00000000..a89a52b8 --- /dev/null +++ b/gfx/unknown_f8946.map @@ -0,0 +1 @@ +           \ No newline at end of file -- cgit v1.2.3 From 1a2754c10076c1d57b58c2cbd4c460deb7c410f9 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 15:41:52 -0400 Subject: Chunk 3 of bank 3e --- engine/bank3e.asm | 642 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 635 insertions(+), 7 deletions(-) diff --git a/engine/bank3e.asm b/engine/bank3e.asm index 1b3afa11..c57081ea 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -1708,17 +1708,582 @@ Func_f8bcb: ; f8bcb (3e:4bcb) callab PlayPikachuSoundClip ret -Func_f8bdf: ; f8bdf (3e:4bdf) - dr $f8bdf,$f8bed +Func_f8bdf: + ld a, [$c5d9] + inc a + cp $4 + jr c, .asm_f8be9 + ld a, $3 +.asm_f8be9 + ld [$c5d9], a + ret + Func_f8bed: - dr $f8bed,$f8c97 + ld a, [$c5d9] + and a + ret z + ld a, [$c62f] + and $3 + cp $3 + jr z, .asm_f8c2b + ld a, [$c5d9] + ld d, a + ld e, $1 + ld a, $0 +.asm_f8c03 + add e + sla e + dec d + jr nz, .asm_f8c03 +.asm_f8c09 + push af + ld e, $50 + call Func_f8c7c + pop af + dec a + jr nz, .asm_f8c09 + ld hl, $5 + add hl, bc + ld a, [hl] + sub $10 + ld d, a + ld hl, $4 + add hl, bc + ld e, [hl] + ld a, [$c5d9] + add $3 + push bc + call Func_fbb93 + pop bc + ret + +.asm_f8c2b + ld a, [$c5d9] + cp $3 + jr c, .asm_f8c53 + ld a, $a +.asm_f8c34 + push af + ld e, $50 + call Func_f8c7c + pop af + dec a + jr nz, .asm_f8c34 + ld hl, $5 + add hl, bc + ld a, [hl] + sub $10 + ld d, a + ld hl, $4 + add hl, bc + ld e, [hl] + ld a, $9 + push bc + call Func_fbb93 + pop bc + ret + +.asm_f8c53 + ld e, $50 + call Func_f8c7c + ld e, $50 + call Func_f8c7c + ld e, $50 + call Func_f8c7c + ld e, $30 + call Func_f8c7c + ld hl, $5 + add hl, bc + ld a, [hl] + sub $10 + ld d, a + ld hl, $4 + add hl, bc + ld e, [hl] + ld a, $8 + push bc + call Func_fbb93 + pop bc + ret + +Func_f8c7c: + ld a, [$c5da] + add e + daa + ld [$c5da], a + ld a, [$c5db] + adc $0 + daa + ld [$c5db], a + ret nc + ld a, $99 + ld [$c5da], a + ld [$c5db], a + ret + Func_f8c97: - dr $f8c97,$f8cb0 + ld a, $a0 + ld [$c62e], a + ld a, [hSCX] + ld h, a + ld a, [$c617] + ld l, a + ld de, $900 + add hl, de + ld a, l + ld [$c617], a + ld a, h + ld [hSCX], a + jr Func_f8cc7 Func_f8cb0: - dr $f8cb0,$f8cc7 + ld a, $a0 + ld [$c62e], a + ld a, [hSCX] + ld h, a + ld a, [$c617] + ld l, a + ld de, $180 + add hl, de + ld a, l + ld [$c617], a + ld a, h + ld [hSCX], a Func_f8cc7: - dr $f8cc7,$f8fb3 + ld hl, $c618 + ld a, [hSCX] + cp [hl] + ret z + ld [hl], a + and $f0 + ld hl, $c619 + cp [hl] + ret z + ld [hl], a + call Func_f8d44 + ld a, b + ld [$c5e8], a + ld a, c + ld [$c5e9], a + push de + ld hl, $c61a + ld de, $c61c + ld c, $12 +.asm_f8ceb + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_f8ceb + ld a, [$c5e8] + ld [hli], a + ld a, [$c5e9] + ld [hl], a + pop de + ld hl, wRedrawRowOrColumnSrcTiles + ld c, $8 +.asm_f8cff + ld a, [de] + call Func_f8d28 + inc de + dec c + jr nz, .asm_f8cff + ld a, [$c62e] + ld e, a + ld a, [hSCX] + add e + and $f0 + srl a + srl a + srl a + ld e, a + ld d, $0 + ld hl, $9800 + add hl, de + ld a, l + ld [hRedrawRowOrColumnDest], a + ld a, h + ld [$ffd2], a + ld a, $1 + ld [hRedrawRowOrColumnMode], a + ret + +Func_f8d28: + push de + push hl + ld l, a + ld h, $0 + ld de, Unkn_f96e5 + add hl, hl + add hl, hl + add hl, de + ld e, l + ld d, h + pop hl + ld a, [de] + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + ld a, [de] + inc de + ld [hli], a + pop de + ret + +Func_f8d44: + ld a, [$c5d3] + ld e, a + ld d, $0 + ld hl, Jumptable_f8d53 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_f8d53: + dw Func_f8e4b + dw Func_f8f28 + dw Func_f8f31 + dw Func_f8f3a + dw Func_f8f43 + dw Func_f8e7d + dw Func_f8f4c + dw Func_f8f55 + dw Func_f8f5e + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8ec5 + dw Func_f8ece + dw Func_f8ed7 + dw Func_f8ee0 + dw Func_f8ee9 + dw Func_f8ef2 + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8efb + dw Func_f8f04 + dw Func_f8f0d + dw Func_f8f16 + dw Func_f8f1f + dw Func_f8efb + dw Func_f8f04 + dw Func_f8f0d + dw Func_f8f16 + dw Func_f8f1f + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8f28 + dw Func_f8f31 + dw Func_f8f3a + dw Func_f8f43 + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8f4c + dw Func_f8f55 + dw Func_f8f5e + dw Func_f8f4c + dw Func_f8f55 + dw Func_f8f5e + dw Func_f8f4c + dw Func_f8f55 + dw Func_f8f5e + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8f67 + dw Func_f8f70 + dw Func_f8efb + dw Func_f8f04 + dw Func_f8f0d + dw Func_f8f16 + dw Func_f8f1f + dw Func_f8f67 + dw Func_f8f70 + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8ec5 + dw Func_f8ece + dw Func_f8ed7 + dw Func_f8ee0 + dw Func_f8ee9 + dw Func_f8ef2 + dw Func_f8e7d + dw Func_f8f67 + dw Func_f8f70 + dw Func_f8f67 + dw Func_f8f70 + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8efb + dw Func_f8f04 + dw Func_f8f0d + dw Func_f8f16 + dw Func_f8f1f + dw Func_f8f28 + dw Func_f8f31 + dw Func_f8f3a + dw Func_f8f43 + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8e7d + dw Func_f8f94 + dw Func_f8e86 + dw Func_f8e8f + dw Func_f8e98 + dw Func_f8ea1 + dw Func_f8eaa + dw Func_f8eb3 + dw Func_f8ebc + dw Func_f8f9d + dw Func_f8e7d + dw Func_f8f79 + dw Func_f8f82 + dw Func_f8f82 + dw Func_f8f82 + dw Func_f8f82 + dw Func_f8f82 + dw Func_f8f82 + dw Func_f8f82 + dw Func_f8f8b + +Func_f8e4b: + ld a, [$c5e5] + cp $16 + jr c, .asm_f8e5a + jr z, .asm_f8e56 + jr nc, .asm_f8e6e +.asm_f8e56 + ld a, $6a + jr .asm_f8e6b + +.asm_f8e5a + ld a, [$c5d5] + and a + jr z, .asm_f8e6e + dec a + and $7 + ld e, a + ld d, $0 + ld hl, Unkn_f8e75 + add hl, de + ld a, [hl] +.asm_f8e6b + ld [$c5d3], a +.asm_f8e6e + lb bc, $74, $74 + ld de, Unkn_f973d + ret + +Unkn_f8e75: + db $01,$0e,$1a,$29,$32,$40,$4d,$5c + +Func_f8e7d: + lb bc, $74, $74 + ld de, Unkn_f973d + jp Func_f8fa9 + +Func_f8e86: + lb bc, $74, $6c + ld de, Unkn_f9745 + jp Func_f8fa9 + +Func_f8e8f: + lb bc, $64, $5c + ld de, Unkn_f974d + jp Func_f8fa9 + +Func_f8e98: + lb bc, $54, $4c + ld de, Unkn_f9755 + jp Func_f8fa9 + +Func_f8ea1: + lb bc, $44, $44 + ld de, Unkn_f975d + jp Func_f8fa9 + +Func_f8eaa: + lb bc, $44, $4c + ld de, Unkn_f9765 + jp Func_f8fa9 + +Func_f8eb3: + lb bc, $54, $5c + ld de, Unkn_f976d + jp Func_f8fa9 + +Func_f8ebc: + lb bc, $64, $6c + ld de, Unkn_f9775 + jp Func_f8fa9 + +Func_f8ec5: + lb bc, $74, $6c + ld de, Unkn_f977d + jp Func_f8fa9 + +Func_f8ece: + lb bc, $64, $5c + ld de, Unkn_f9785 + jp Func_f8fa9 + +Func_f8ed7: + lb bc, $54, $4c + ld de, Unkn_f978d + jp Func_f8fa9 + +Func_f8ee0: + lb bc, $4c, $4c + ld de, Unkn_f9795 + jp Func_f8fa9 + +Func_f8ee9: + lb bc, $54, $5c + ld de, Unkn_f979d + jp Func_f8fa9 + +Func_f8ef2: + lb bc, $64, $6c + ld de, Unkn_f97a5 + jp Func_f8fa9 + +Func_f8efb: + lb bc, $74, $6c + ld de, Unkn_f97ad + jp Func_f8fa9 + +Func_f8f04: + lb bc, $64, $5c + ld de, Unkn_f97b5 + jp Func_f8fa9 + +Func_f8f0d: + lb bc, $54, $54 + ld de, Unkn_f97bd + jp Func_f8fa9 + +Func_f8f16: + lb bc, $54, $5c + ld de, Unkn_f97c5 + jp Func_f8fa9 + +Func_f8f1f: + lb bc, $64, $6c + ld de, Unkn_f97cd + jp Func_f8fa9 + +Func_f8f28: + lb bc, $74, $6c + ld de, Unkn_f97d5 + jp Func_f8fa9 + +Func_f8f31: + lb bc, $64, $5c + ld de, Unkn_f97dd + jp Func_f8fa9 + +Func_f8f3a: + lb bc, $5c, $5c + ld de, Unkn_f97e5 + jp Func_f8fa9 + +Func_f8f43: + lb bc, $64, $6c + ld de, Unkn_f97ed + jp Func_f8fa9 + +Func_f8f4c: + lb bc, $74, $6c + ld de, Unkn_f97f5 + jp Func_f8fa9 + +Func_f8f55: + lb bc, $64, $64 + ld de, Unkn_f97fd + jp Func_f8fa9 + +Func_f8f5e: + lb bc, $64, $6c + ld de, Unkn_f9805 + jp Func_f8fa9 + +Func_f8f67: + lb bc, $74, $6c + ld de, Unkn_f980d + jp Func_f8fa9 + +Func_f8f70: + lb bc, $6c, $6c + ld de, Unkn_f9815 + jp Func_f8fa9 + +Func_f8f79: + lb bc, $74, $74 + ld de, Unkn_f981d + jp Func_f8fa9 + +Func_f8f82: + lb bc, $74, $74 + ld de, Unkn_f9825 + jp Func_f8fa9 + +Func_f8f8b: + lb bc, $74, $74 + ld de, Unkn_f9825 + jp Func_f8fae + +Func_f8f94: + lb bc, $74, $74 + ld de, Unkn_f973d + jp Func_f8fae + +Func_f8f9d: + lb bc, $74, $74 + ld de, Unkn_f973d + ret + +Func_f8fa4: + inc a + ld [$c5d3], a + ret + +Func_f8fa9: + ld hl, $c5d3 + inc [hl] + ret + +Func_f8fae: + xor a + ld [$c5d3], a + ret + Func_f8fb3: dr $f8fb3,$f9210 Func_f9210: @@ -1738,7 +2303,70 @@ Func_f928c: Func_f9350: dr $f9350,$f9362 Func_f9362: - dr $f9362,$f982d + dr $f9362,$f96e5 + +Unkn_f96e5: + dr $f96e5,$f973d +Unkn_f973d: + dr $f973d,$f9745 +Unkn_f9745: + dr $f9745,$f974d +Unkn_f974d: + dr $f974d,$f9755 +Unkn_f9755: + dr $f9755,$f975d +Unkn_f975d: + dr $f975d,$f9765 +Unkn_f9765: + dr $f9765,$f976d +Unkn_f976d: + dr $f976d,$f9775 +Unkn_f9775: + dr $f9775,$f977d +Unkn_f977d: + dr $f977d,$f9785 +Unkn_f9785: + dr $f9785,$f978d +Unkn_f978d: + dr $f978d,$f9795 +Unkn_f9795: + dr $f9795,$f979d +Unkn_f979d: + dr $f979d,$f97a5 +Unkn_f97a5: + dr $f97a5,$f97ad +Unkn_f97ad: + dr $f97ad,$f97b5 +Unkn_f97b5: + dr $f97b5,$f97bd +Unkn_f97bd: + dr $f97bd,$f97c5 +Unkn_f97c5: + dr $f97c5,$f97cd +Unkn_f97cd: + dr $f97cd,$f97d5 +Unkn_f97d5: + dr $f97d5,$f97dd +Unkn_f97dd: + dr $f97dd,$f97e5 +Unkn_f97e5: + dr $f97e5,$f97ed +Unkn_f97ed: + dr $f97ed,$f97f5 +Unkn_f97f5: + dr $f97f5,$f97fd +Unkn_f97fd: + dr $f97fd,$f9805 +Unkn_f9805: + dr $f9805,$f980d +Unkn_f980d: + dr $f980d,$f9815 +Unkn_f9815: + dr $f9815,$f981d +Unkn_f981d: + dr $f981d,$f9825 +Unkn_f9825: + dr $f9825,$f982d PlayIntroScene: ; f982d (3e:582d) dr $f982d,$fa35a -- cgit v1.2.3 From 01265ec416faa50d450d527466a0f816f4f48e25 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 16:10:05 -0400 Subject: Chunk 4 of bank 3e --- engine/bank3e.asm | 448 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 437 insertions(+), 11 deletions(-) diff --git a/engine/bank3e.asm b/engine/bank3e.asm index c57081ea..5652d560 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -2285,25 +2285,450 @@ Func_f8fae: ret Func_f8fb3: - dr $f8fb3,$f9210 + call Func_f9279 + call ClearSprites + call DisableLCD + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call Func_fbb5a + ld hl, $6324 + ld de, $8800 + ld bc, $900 + ld a, $20 + call FarCopyData + ld a, $d3 + ld [$c5c0], a + ld a, $53 + ld [$c5c1], a + ld a, $fa + ld [$c5c4], a + ld a, $53 + ld [$c5c5], a + ld a, $7 + ld [$c5c6], a + ld a, $55 + ld [$c5c7], a + ld a, $5 + ld [$c5c2], a + ld a, $54 + ld [$c5c3], a + ld a, $c + ld de, $7458 + call Func_fbb93 + call Func_f9053 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $90 + ld [hWY], a + ld b, $f + call RunPaletteCommand + ld a, $e3 + ld [rLCDC], a + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call DelayFrame + call DelayFrame + call DelayFrame + call Func_f81e9 + ld a, $e4 + ld [rOBP0], a + ld a, $e0 + ld [rOBP1], a + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + call DelayFrame + ld a, $99 + ld c, $20 + call PlayMusic + xor a + ld [$c633], a +.asm_f9041 + ld a, [$c633] + and a + ret nz + ld a, $0 + ld [$c5bd], a + call Func_fbb65 + call DelayFrame + jr .asm_f9041 + +Func_f9053: + ld hl, wTileMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $ff + call FillMemory + ld hl, Unkn_f90bc + coord de, 0, 6 + ld bc, 12 * SCREEN_WIDTH + call CopyData + ld de, Unkn_f91c8 + coord hl, 4, 0 + lb bc, 6, 12 + call Func_f9098 + coord hl, 3, 7 + lb bc, 3, 15 + call Func_f90aa + ld hl, Unkn_f91ac + coord de, 3, 7 + ld bc, 15 + call CopyData + ld hl, Unkn_f91bb + coord de, 4, 9 + ld bc, 13 + call CopyData + ret + +Func_f9098: +.asm_f9098 + push bc + push hl +.asm_f909a + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_f909a + ld bc, $14 + pop hl + add hl, bc + pop bc + dec b + jr nz, .asm_f9098 + ret + +Func_f90aa: +.asm_f90aa + push bc + push hl +.asm_f90ac + ld [hl], $ff + inc hl + dec c + jr nz, .asm_f90ac + pop hl + ld bc, $14 + add hl, bc + pop bc + dec b + jr nz, .asm_f90aa + ret + +Unkn_f90bc: + dr $f90bc,$f91ac +Unkn_f91ac: + dr $f91ac,$f91bb +Unkn_f91bb: + dr $f91bb,$f91c8 +Unkn_f91c8: + dr $f91c8,$f9210 + Func_f9210: - dr $f9210,$f9223 + ld hl, $c710 + ld de, $c711 + ld c, $80 + ld a, [hl] + push af +.asm_f921a + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_f921a + pop af + ld [hl], a + ret + Func_f9223: - dr $f9223,$f923f + ld hl, $c700 + ld bc, $100 + ld de, $0 +.asm_f922c + ld a, e + and $1f + ld e, a + push hl + ld hl, Unkn_f96c5 + add hl, de + ld a, [hl] + pop hl + ld [hli], a + inc e + dec bc + ld a, c + or b + jr nz, .asm_f922c + ret + Func_f923f: - dr $f923f,$f9254 + call Joypad + ld a, [H_FRAMECOUNTER] + and a + jr nz, .asm_f9250 + ld a, [hJoyHeld] + ld [hJoy5], a + ld a, $2 + ld [H_FRAMECOUNTER], a + ret + +.asm_f9250 + xor a + ld [hJoy5], a + ret + Func_f9254: - dr $f9254,$f9279 + xor a + ld [rBGP], a + ld [rOBP0], a + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ret + ld a, $e4 + ld [rBGP], a + ld [rOBP0], a + ld a, $e0 + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ret + Func_f9279: - dr $f9279,$f9284 + ld hl, wTileMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call FillMemory + ret + Func_f9284: - dr $f9284,$f928c + xor a + ld [$c5ed], a + ld [$c5ee], a + ret + Func_f928c: - dr $f928c,$f9350 + ld a, [$c5ed] + and a + jr nz, .asm_f92e4 + ld a, [$c5ec] + ld d, a + ld a, [$c5ee] + or d + jr z, .asm_f92dd + ld a, [$c5ee] + ld e, a + ld hl, $ff80 + add hl, de + ld a, l + ld [$c5ee], a + ld a, h + ld [$c5ec], a + ld e, a + ld d, $0 + call Func_f9340 + ld e, l + ld d, h + ld a, $4 + call Func_f9340 + ld a, l + xor $ff + inc a + ld l, a + ld a, h + xor $ff + ld h, a + push hl + ld hl, $5 + add hl, bc + ld d, [hl] + ld hl, $c + add hl, bc + ld e, [hl] + pop hl + add hl, de + ld e, l + ld d, h + ld hl, $5 + add hl, bc + ld [hl], d + ld hl, $c + add hl, bc + ld [hl], e + and a + ret + +.asm_f92dd + ld a, $1 + ld [$c5ed], a + and a + ret + +.asm_f92e4 + ld a, [$c5ea] + ld e, a + ld hl, $5 + add hl, bc + ld a, [hl] + cp $90 + jr nc, .asm_f92f4 + cp e + jr nc, .asm_f9330 +.asm_f92f4 + ld a, [$c5ec] + ld d, a + ld a, [$c5ee] + ld e, a + ld hl, $80 + add hl, de + ld a, l + ld [$c5ee], a + ld a, h + ld [$c5ec], a + ld e, a + ld d, $0 + call Func_f9340 + ld e, l + ld d, h + ld a, $4 + call Func_f9340 + push hl + ld hl, $5 + add hl, bc + ld d, [hl] + ld hl, $c + add hl, bc + ld e, [hl] + pop hl + add hl, de + ld e, l + ld d, h + ld hl, $5 + add hl, bc + ld [hl], d + ld hl, $c + add hl, bc + ld [hl], e + and a + ret + +.asm_f9330 + ld hl, $5 + add hl, bc + ld a, [$c5ea] + ld [hl], a + ld hl, $c + add hl, bc + ld [hl], $0 + scf + ret + +Func_f9340: + ld hl, $0 +.asm_f9343 + srl a + jr nc, .asm_f9348 + add hl, de +.asm_f9348 + sla e + rl d + and a + jr nz, .asm_f9343 + ret + Func_f9350: - dr $f9350,$f9362 -Func_f9362: - dr $f9362,$f96e5 + ld c, a + swap a + and $f + add $d0 + ld [hli], a + ld a, c + and $f + add $d0 + ld [hl], a + dec de + ret + +Func_f9360: ; cosine + add $10 +Func_f9362: ; sine + and $3f + cp $20 + jr nc, .asm_f936d + call Func_f9377 + ld a, h + ret + +.asm_f936d + and $1f + call Func_f9377 + ld a, h + xor $ff + inc a + ret + +Func_f9377: + ld e, a + ld a, d + ld d, $0 + ld hl, Unkn_f9393 + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0 +.asm_f9386 + srl a + jr nc, .asm_f938b + add hl, de +.asm_f938b + sla e + rl d + and a + jr nz, .asm_f9386 + ret + +Unkn_f9393: + sine_wave $100 + +Unkn_f93d3: + dr $f93d3,$f96c5 + +Unkn_f96c5: + db 0 + db 0 + db 0 + db 1 + db 1 + db 1 + db 1 + db 2 + db 2 + db 2 + db 1 + db 1 + db 1 + db 1 + db 0 + db 0 + db 0 + db 0 + db 0 + db -1 + db -1 + db -1 + db -1 + db -2 + db -2 + db -2 + db -1 + db -1 + db -1 + db -1 + db 0 + db 0 Unkn_f96e5: dr $f96e5,$f973d @@ -2367,6 +2792,7 @@ Unkn_f981d: dr $f981d,$f9825 Unkn_f9825: dr $f9825,$f982d + PlayIntroScene: ; f982d (3e:582d) dr $f982d,$fa35a -- cgit v1.2.3 From dd87a456d03c491c8c984e5228a0f0fbb5d5d2f2 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 16:31:45 -0400 Subject: Identify the previously-unknown GFX in bank 1A --- gfx/blueversion.png | Bin 0 -> 116 bytes main.asm | 10 +--------- 2 files changed, 1 insertion(+), 9 deletions(-) create mode 100644 gfx/blueversion.png diff --git a/gfx/blueversion.png b/gfx/blueversion.png new file mode 100644 index 00000000..a9c87be8 Binary files /dev/null and b/gfx/blueversion.png differ diff --git a/main.asm b/main.asm index 946b67ad..cc67186d 100755 --- a/main.asm +++ b/main.asm @@ -1817,15 +1817,7 @@ Plateau_GFX: INCBIN "gfx/tilesets/plateau.t10.2bpp" Plateau_Block: INCBIN "gfx/blocksets/plateau.bst" SECTION "bank1A",ROMX,BANK[$1A] -Unknown_68000: - db $00, $00, $00, $f3, $db, $f3, $db, $f3 - db $00, $00, $00, $00, $69, $6b, $6b, $39 - db $00, $00, $00, $00, $c0, $40, $80, $c0 - db $00, $00, $00, $cc, $cc, $cd, $79, $30 - db $00, $00, $00, $00, $ef, $ac, $cc, $ec - db $00, $00, $00, $01, $3c, $71, $1d, $79 - db $00, $00, $00, $80, $1c, $b6, $b6, $9c - db $00, $00, $00, $00, $e0, $d0, $d0, $d0 +Unknown_68000: INCBIN "gfx/blueversion.1bpp" Dojo_GFX: Gym_GFX: INCBIN "gfx/tilesets/gym.2bpp" -- cgit v1.2.3 From adb15e03aa8a82dd2be32758a508cfd738bba1f1 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 4 Jun 2016 20:17:53 -0400 Subject: Finish disassembling the functions in bank 3e --- engine/bank3e.asm | 1451 ++++++++++++++++++++++++++++++++++++++++++++++++++++- home/audio.asm | 1 + 2 files changed, 1437 insertions(+), 15 deletions(-) diff --git a/engine/bank3e.asm b/engine/bank3e.asm index 5652d560..20a98772 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -91,6 +91,8 @@ Func_f80ac: ld a, [hJoyPressed] and $4 ret + +Func_f80b7: ld a, [hJoyPressed] and $8 ret z @@ -647,6 +649,8 @@ Func_f844c: dec [hl] dec [hl] ret + +Func_f8470 ld a, [$c5d2] ld e, a ld d, $0 @@ -1224,6 +1228,8 @@ Func_f87ce: and $7 add [hl] ret + +Func_f87fb: ld hl, $4 add hl, bc ld a, [hl] @@ -1232,8 +1238,12 @@ Func_f87ce: add $4 ld [hl], a ret + +Func_f8807: call Func_fbbe8 ret + +Func_f880b: ld hl, $b add hl, bc ld a, [hl] @@ -1256,6 +1266,8 @@ Func_f87ce: add hl, bc ld [hl], a ret + +Func_f882b: ld hl, $b add hl, bc ld a, [hl] @@ -2485,6 +2497,8 @@ Func_f9254: call UpdateGBCPal_OBP0 call UpdateGBCPal_OBP1 ret + +Func_f9265: ld a, $e4 ld [rBGP], a ld [rOBP0], a @@ -2793,23 +2807,1430 @@ Unkn_f981d: Unkn_f9825: dr $f9825,$f982d -PlayIntroScene: ; f982d (3e:582d) - dr $f982d,$fa35a +PlayIntroScene: + ld a, [rIE] + push af + xor a + ld [rIF], a + ld a, $f + ld [rIE], a + ld a, $8 + ld [rSTAT], a + call Func_f9f0d + call DelayFrame +.asm_f9841 + ld a, [$c634] + bit 7, a + jr nz, .asm_f986e + call JoypadLowSensitivity + ld a, [hJoyPressed] + and $b + jr nz, .asm_f986e + call Func_f98fc + ld a, $0 + ld [$c5bd], a + call Func_fbb65 + ld a, [$c634] + cp $7 + call z, Func_f98a2 + cp $b + call z, Func_f98cb + call DelayFrame + jr .asm_f9841 -YellowIntroGraphics: INCBIN "gfx/yellow_intro.2bpp" +.asm_f986e + call Func_f9fc9 + xor a + ld [hLCDCPointer], a + call DelayFrame + xor a + ld [rIF], a + pop af + ld [rIE], a + ld a, $90 + ld [hWY], a + call Func_fbb5a + ld hl, wTileMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + xor a + call Func_f9fb3 + call Func_f9fbe + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call DelayFrame + call DelayFrame + call DelayFrame + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ret -Func_fbb5a: ; fbb5a (3e:7b5a) - ld hl, wTileMapBackup - ld bc, 10 * SCREEN_WIDTH +Func_f98a2: + ld a, [$c323] + or $1 + ld [$c323], a + ld a, [$c33b] + or $1 + ld [$c33b], a + ld a, [$c343] + or $1 + ld [$c343], a +Func_f98b8: + ld a, [$c34b] + or $1 + ld [$c34b], a + ld a, [$c34f] + or $1 + ld [$c34f], a + ret + +Func_f98cb: + ld a, [$c34b] + or $1 + ld [$c34b], a + ld a, [$c34f] + or $1 + ld [$c34f], a + ld a, [$c353] + or $1 + ld [$c353], a + ld a, [$c367] + or $1 + ld [$c367], a + ld a, [$c36b] + or $1 + ld [$c36b], a + ld a, [$c373] + or $1 + ld [$c373], a + ret + +Func_f98fc: + ld a, [$c634] + ld hl, Jumptable_f9906 + call Func_fa06e + jp [hl] + +Jumptable_f9906: + dw Func_f992f + dw Func_f995f + dw Func_f996a + dw Func_f9a08 + dw Func_f9a1e + dw Func_f9a60 + dw Func_f9a6b + dw Func_f9ab1 + dw Func_f9ad8 + dw Func_f9af9 + dw Func_f9b04 + dw Func_f9bf6 + dw Func_f9cac + dw Func_f9d12 + dw Func_f9d22 + dw Func_f9d8f + dw Func_f9dbf + dw Func_f9e12 + +Func_f992a: + ld hl, $c634 + inc [hl] + ret + +Func_f992f: xor a - call FillMemory + ld [hLCDCPointer], a + ld de, $5858 + ld a, $1 + call Func_f9e1d + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $90 + ld [hWY], a + ld a, $e4 + ld [rBGP], a + ld [rOBP0], a + ld a, $c4 + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ld a, $82 + ld [$c635], a + call Func_f992a ret -Func_fbb65: ; fbb65 (3e:7b65) - dr $fbb65,$fbb93 -Func_fbb93: - dr $fbb93,$fbbe8 -Func_fbbe8: - dr $fbbe8,$fbcd4 -Func_fbcd4: - dr $fbcd4,$fbd76 +Func_f995f: + call Func_f9e41 + ret nc + call Func_f9e29 + call Func_f992a + ret + +Func_f996a: + call Func_f9e80 + ld c, $8 + call UpdateMusicCTimes + xor a + ld [hLCDCPointer], a + ld hl, $9800 + ld bc, $400 + xor a + call Func_f9fb3 + call Func_f9996 + ld de, $58b8 + ld a, $4 + call Func_f99d2 + ld a, $1 + call Func_f9e9a + call Func_f9e35 + call Func_f992a + ret + +Func_f9996: + ld hl, $98d4 + ld de, $20 + ld b, $6 + ld a, $90 +.asm_f99a0 + ld c, $6 + push af + push hl +.asm_f99a4 + ld [hli], a + inc a + dec c + jr nz, .asm_f99a4 + pop hl + add hl, de + pop af + add $10 + dec b + jr nz, .asm_f99a0 + ld a, [hGBC] + and a + jr z, .asm_f99d1 + ld hl, $98d4 + ld de, $20 + ld b, $6 + ld a, $1 + ld [rVBK], a +.asm_f99c2 + ld c, $6 + push hl +.asm_f99c5 + ld [hli], a + dec c + jr nz, .asm_f99c5 + pop hl + add hl, de + dec b + jr nz, .asm_f99c2 + xor a + ld [rVBK], a +.asm_f99d1 + ret + +Func_f99d2: + ld hl, Unkn_f99f0 + ld a, $8 +.asm_f99d7 + push af + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [hli] + push hl + push af + ld a, $8 + call Func_fbb93 + pop af + ld hl, $b + add hl, bc + ld [hl], a + pop hl + pop af + dec a + jr nz, .asm_f99d7 + ret + +Unkn_f99f0: + dr $f99f0,$f9a08 + +Func_f9a08: + call Func_f9e41 + jr c, .asm_f9a17 + ld a, [hSCX] + cp $68 + ret z + add $4 + ld [hSCX], a + ret + +.asm_f9a17 + call Func_fbbef + call Func_f992a + ret + +Func_f9a1e: + call Func_f9e80 + ld c, $5 + call UpdateMusicCTimes + ld a, [hGBC] + and a + jr z, .asm_f9a47 + ld hl, $98d4 + ld de, $20 + ld b, $6 + ld a, $1 + ld [rVBK], a + xor a +.asm_f9a38 + ld c, $6 + push hl +.asm_f9a3b + ld [hli], a + dec c + jr nz, .asm_f9a3b + pop hl + add hl, de + dec b + jr nz, .asm_f9a38 + xor a + ld [rVBK], a +.asm_f9a47 + xor a + ld [hLCDCPointer], a + call Func_f9e5f + ld de, $5858 + ld a, $2 + call Func_f9e1d + xor a + call Func_f9e9a + call Func_f9e35 + call Func_f992a + ret + +Func_f9a60: + call Func_f9e41 + ret nc + call Func_f9e29 + call Func_f992a + ret + +Func_f9a6b: + call Func_f9e80 + ld c, $5 + call UpdateMusicCTimes + ld a, $42 + ld [hLCDCPointer], a + call Func_f9ec4 + ld hl, $9800 + ld bc, $60 + xor a + call Func_f9fb3 + ld hl, $9860 + ld c, $10 + ld a, $20 +.asm_f9a8b + ld [hli], a + inc a + ld [hli], a + dec a + dec c + jr nz, .asm_f9a8b + ld hl, $9880 + ld bc, $300 + ld a, $10 + call Func_f9fb3 + ld de, $40f8 + ld a, $5 + call Func_f9e1d + ld a, $1 + call Func_f9e9a + call Func_f9e3b + call Func_f992a + ret + +Func_f9ab1: + call Func_f9e41 + jr c, .asm_f9ad1 + ld hl, hSCX + inc [hl] + inc [hl] + ld hl, $c800 + ld de, $c801 + ld a, [hl] + push af + ld c, $ff +.asm_f9ac5 + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_f9ac5 + pop af + ld [hl], a + call Func_f9ef8 + ret + +.asm_f9ad1 + call Func_f9e29 + call Func_f992a + ret + +Func_f9ad8: + call Func_f9e80 + ld c, $5 + call UpdateMusicCTimes + xor a + ld [hLCDCPointer], a + call Func_f9e5f + ld de, $5858 + ld a, $3 + call Func_f9e1d + xor a + call Func_f9e9a + call Func_f9e35 + call Func_f992a + ret + +Func_f9af9: + call Func_f9e41 + ret nc + call Func_f9e29 + call Func_f992a + ret + +Func_f9b04: + call Func_f9e80 + ld c, $5 + call UpdateMusicCTimes + xor a + ld [hLCDCPointer], a + ld hl, $9800 + ld bc, $400 + xor a + call Func_f9fb3 + ld hl, $9800 + ld bc, $100 + ld a, $2 + call Func_f9fb3 + ld hl, $9900 + ld de, Unkn_f9b6e + ld bc, $614 + call Func_f9b5c + ld hl, $988c + lb de, $5b, $e6 + ld bc, $304 + call Func_f9b5c + ld hl, $98e3 + lb de, $5b, $f2 + ld bc, $202 + call Func_f9b5c + ld de, $9858 + ld a, $6 + call Func_f9e1d + ld a, $1 + call Func_f9e9a + call Func_f9e35 + call Func_f992a + ret + +Func_f9b5c: + push bc + push hl +.asm_f9b5e + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_f9b5e + pop hl + ld bc, $20 + add hl, bc + pop bc + dec b + jr nz, Func_f9b5c + ret + +Unkn_f9b6e: + dr $f9b6e,$f9bf6 + +Func_f9bf6: + call Func_f9e41 + jr c, .asm_f9c25 + ld a, [$c635] + and $7 + ret nz + ld a, [$c635] + and $8 + sla a + sla a + sla a + ld e, a + ld d, $0 + ld hl, Unkn_f9c2c + add hl, de + ld a, l + ld [H_VBCOPYSRC], a + ld a, h + ld [$ffc8], a +.asm_f9c19 + xor a + ld [H_VBCOPYDEST], a + ld a, $96 + ld [$ffca], a + ld a, $4 + ld [H_VBCOPYSIZE], a + ret + +.asm_f9c25 + call Func_f9e29 + call Func_f992a + ret + +Unkn_f9c2c: + dr $f9c2c,$f9cac + +Func_f9cac: + call Func_f9e80 + ld c, $5 + call UpdateMusicCTimes + xor a + ld [hLCDCPointer], a + ld hl, $9800 + ld bc, $80 + ld a, $1 + call Func_f9fb3 + ld hl, $9880 + ld bc, $140 + xor a + call Func_f9fb3 + ld hl, $99c0 + ld bc, $80 + ld a, $1 + call Func_f9fb3 + ld hl, $98c5 + ld de, $20 + ld a, $4 + ld b, $8 +.asm_f9ce1 + ld c, $c + push hl +.asm_f9ce4 + ld [hli], a + inc a + dec c + jr nz, .asm_f9ce4 + pop hl + add hl, de + add $4 + dec b + jr nz, .asm_f9ce1 + ld hl, $98c4 + ld [hl], $3 + ld hl, $98e4 + ld [hl], $74 + ld hl, $99a5 + ld [hl], $0 + lb de, $60, $58 + ld a, $9 + call Func_f9e1d + xor a + call Func_f9e9a + call Func_f9e35 + call Func_f992a + ret + +Func_f9d12: + call Func_f9e41 + ret nc + lb de, $68, $58 + ld a, $a + call Func_fbb93 + call Func_f992a + ret + +Func_f9d22: + ld de, Unkn_f9dd6 + call Func_f9e4d + jr c, .asm_f9d3c + ld [rBGP], a + ld [rOBP0], a + and $f0 + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ret + +.asm_f9d3c + call Func_fbbef + call Func_f9fbe + ld hl, wTileMap + ld bc, $50 + ld a, $1 + call Func_f9fb3 + coord hl, 0, 4 + ld bc, CopyVideoDataAlternate + xor a + call Func_f9fb3 + coord hl, 0, 14 + ld bc, $50 + ld a, $1 + call Func_f9fb3 + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call DelayFrame + call DelayFrame + call DelayFrame + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld a, $e4 + ld [rOBP0], a + ld [rBGP], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + ld de, $5858 + ld a, $7 + call Func_f9e1d + call Func_f992a + ld a, $28 + ld [$c635], a + ret + +Func_f9d8f: + call Func_f9e41 + jr c, .asm_f9dad + ld a, [$c635] + and $3 + ret nz + ld a, [rOBP0] + xor $ff + ld [rOBP0], a + ld a, [rBGP] + xor $3 + ld [rBGP], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + ret + +.asm_f9dad + xor a + ld [hLCDCPointer], a + ld a, $e4 + ld [rBGP], a + ld [rOBP0], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call Func_f992a +Func_f9dbf: + lb de, $5e, $0a + call Func_f9e4d + jr c, .asm_f9dd2 + ld [rOBP0], a + ld [rBGP], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + ret + +.asm_f9dd2 + call Func_f992a + ret + +Unkn_f9dd6: + dr $f9dd6,$f9e12 + +Func_f9e12: + ld c, $40 + call DelayFrames + ld hl, $c634 + set 7, [hl] + ret + +Func_f9e1d: + call Func_fbb93 + ld a, c + ld [$c636], a + ld a, b + ld [$c637], a + ret + +Func_f9e29: + ld a, [$c636] + ld c, a + ld a, [$c637] + ld b, a + call Func_fbbe8 + ret + +Func_f9e35: + ld a, $80 + ld [$c635], a + ret + +Func_f9e3b: + ld a, $58 + ld [$c635], a + ret + +Func_f9e41: + ld hl, $c635 + ld a, [hl] + and a + jr z, .asm_f9e4b + dec [hl] + and a + ret + +.asm_f9e4b + scf + ret + +Func_f9e4d: + ld hl, $c635 + ld a, [hl] + inc [hl] + ld l, a + ld h, $0 + add hl, de + ld a, [hl] + cp $ff + jr z, .asm_f9e5d + and a + ret + +.asm_f9e5d + scf + ret + +Func_f9e5f: + ld hl, $9800 + ld bc, $80 + ld a, $1 + call Func_f9fb3 + ld hl, $9880 + ld bc, $140 + xor a + call Func_f9fb3 + ld hl, $99c0 + ld bc, $80 + ld a, $1 + call Func_f9fb3 + ret + +Func_f9e80: + xor a + ld [rBGP], a + ld [rOBP0], a + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + call DelayFrame + call DelayFrame + call DisableLCD + ret + +Func_f9e9a: + ld e, a + callab Func_720ad + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $90 + ld [hWY], a + ld a, $e3 + ld [rLCDC], a + ld a, $e4 + ld [rBGP], a + ld [rOBP0], a + ld a, $e0 + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ret + +Func_f9ec4: + ld de, $c800 + ld a, $8 +.asm_f9ec9 + push af + ld hl, Unkn_f9ed8 + ld bc, $20 + call Func_f9faa + pop af + dec a + jr nz, .asm_f9ec9 + ret + +Unkn_f9ed8: + dr $f9ed8,$f9ef8 + +Func_f9ef8: + ld a, $10 + ld [H_VBCOPYSRC], a + ld a, $c8 + ld [$ffc8], a + ld a, $10 + ld [H_VBCOPYDEST], a + ld a, $c7 + ld [$ffca], a + ld a, $7 + ld [H_VBCOPYSIZE], a + ret + +Func_f9f0d: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld [hSCX], a + ld [hSCY], a + ld [H_AUTOBGTRANSFERDEST], a + ld a, $98 + ld [$ffbd], a + call Func_f9f9e + ld hl, wTileMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $1 + call Func_f9fb3 + coord hl, 0, 4 + ld bc, CopyVideoDataAlternate + xor a + call Func_f9fb3 + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call DelayFrame + call DelayFrame + call DelayFrame + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld de, $6b5a + ld hl, $8000 + ld bc, $3eff + call CopyVideoData + ld de, $635a + ld hl, $9000 + ld bc, $3e80 + call CopyVideoData + call Func_fbb5a + call Func_f9f75 + ld b, $8 + call RunPaletteCommand + xor a + ld hl, $c634 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, MUSIC_INTRO_BATTLE + ld c, BANK(Music_IntroBattle) + call PlayMusic + ret + +Func_f9f75: + ld a, Unkn_f9fda % $100 + ld [$c5c0], a + ld a, Unkn_f9fda / $100 + ld [$c5c1], a + ld a, Unkn_f9ffb % $100 + ld [$c5c4], a + ld a, Unkn_f9ffb / $100 + ld [$c5c5], a + ld a, Unkn_fa13d % $100 + ld [$c5c6], a + ld a, Unkn_fa13d / $100 + ld [$c5c7], a + ld a, Unkn_fa0ea % $100 + ld [$c5c2], a + ld a, Unkn_fa0ea / $100 + ld [$c5c3], a + ret + +Func_f9f9e: + ld hl, wTileMap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $7f + call Func_f9fb3 + ret + +Func_f9faa: + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, Func_f9faa + ret + +Func_f9fb3: + push de + ld e, a +.asm_f9fb5 + ld a, e + ld [hli], a + dec bc + ld a, c + or b + jr nz, .asm_f9fb5 + pop de + ret + +Func_f9fbe: + ld hl, wSpriteDataEnd + ld bc, $a0 + xor a + call Func_f9fb3 + ret + +Func_f9fc9: + xor a + ld [rBGP], a + ld [rOBP0], a + ld [rOBP1], a + call UpdateGBCPal_BGP + call UpdateGBCPal_OBP0 + call UpdateGBCPal_OBP1 + ret + +Unkn_f9fda: + dr $f9fda,$f9ffb +Unkn_f9ffb: + dr $f9ffb,$fa008 + +Func_fa008: + ld hl, $4 + add hl, bc + ld a, [hl] + cp $58 + ret z + sub $4 + ld [hl], a + ret + +Func_fa014: + ld hl, $4 + add hl, bc + ld a, [hl] + cp $58 + jr z, .asm_fa020 + add $4 + ld [hl], a +.asm_fa020 + ld hl, $5 + add hl, bc + cp $58 + ret z + add $1 + ld [hl], a + ret + +Func_fa02b: + ld hl, $b + add hl, bc + ld e, [hl] + ld d, $0 + ld hl, Jumptable_fa03b + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_fa03b: + dw Func_fa03f + dw Func_fa051 + +Func_fa03f: + ld hl, $5 + add hl, bc + ld a, [hl] + cp $58 + jr z, .asm_fa04c + sub $2 + ld [hl], a + ret + +.asm_fa04c + ld hl, $b + add hl, bc + inc [hl] +Func_fa051: + ld hl, $c + add hl, bc + ld a, [hl] + inc [hl] + ld d, $8 + call Func_fa079 + ld hl, $7 + add hl, bc + ld [hl], a + ret + +Func_fa062: + ld hl, $b + add hl, bc + ld a, [hl] + ld hl, $4 + add hl, bc + add [hl] + ld [hl], a + ret + +Func_fa06e: + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret + +Func_fa077: ; cosine + add $10 +Func_fa079: + and $3f + cp $20 + jr nc, .asm_fa084 + call Func_fa08e + ld a, h + ret + +.asm_fa084 + and $1f + call Func_fa08e + ld a, h + xor $ff + inc a + ret + +Func_fa08e: + ld e, a + ld a, d + ld d, $0 + ld hl, Unkn_fa0aa + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0 +.asm_fa09d + srl a + jr nc, .asm_fa0a2 + add hl, de +.asm_fa0a2 + sla e + rl d + and a + jr nz, .asm_fa09d + ret + +Unkn_fa0aa: + sine_wave $100 + +Unkn_fa0ea: + dr $fa0ea,$fa13d + +Unkn_fa13d: + dr $fa13d,$fa35a + +YellowIntroGraphics: INCBIN "gfx/yellow_intro.2bpp" + +Func_fbb5a: ; fbb5a (3e:7b5a) + ld hl, wTileMapBackup + ld bc, 10 * SCREEN_WIDTH + xor a + call FillMemory + ret + +Func_fbb65: + ld hl, $c51c + ld e, $a +.asm_fbb6a + ld a, [hl] + and a + jr z, .asm_fbb7c + ld c, l + ld b, h + push hl + push de + call Func_fbd61 + call Func_fbbfe + pop de + pop hl + jr c, .asm_fbb92 +.asm_fbb7c + ld bc, $10 + add hl, bc + dec e + jr nz, .asm_fbb6a + ld a, [$c5bd] + ld l, a + ld h, $c3 +.asm_fbb89 + ld a, l + cp $a0 + jr nc, .asm_fbb92 + xor a + ld [hli], a + jr .asm_fbb89 + +.asm_fbb92 + ret + +Func_fbb93: + push de + push af + ld hl, $c51c + ld e, $a +.asm_fbb9a + ld a, [hl] + and a + jr z, .asm_fbba9 + ld bc, $10 + add hl, bc + dec e + jr nz, .asm_fbb9a + pop af + pop de + scf + ret + +.asm_fbba9 + pop af + ld c, l + ld b, h + ld hl, $c5bc + inc [hl] + ld e, a + ld d, $0 + ld a, [$c5c0] + ld l, a + ld a, [$c5c1] + ld h, a + add hl, de + add hl, de + add hl, de + ld e, l + ld d, h + ld hl, $0 + add hl, bc + ld a, [$c5bc] + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + xor a + ld [hli], a + pop de + ld hl, $4 + add hl, bc + ld a, e + ld [hli], a + ld a, d + ld [hli], a + xor a + ld [hli], a + ld [hli], a + xor a + ld [hli], a + ld [hli], a + dec a + ld [hli], a + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ret + +Func_fbbe8: + ld hl, $0 + add hl, bc + ld [hl], $0 + ret + +Func_fbbef: + ld hl, $c51c + ld e, $a +.asm_fbbf4 + ld [hl], $0 + ld bc, $10 + add hl, bc + dec e + jr nz, .asm_fbbf4 + ret + +Func_fbbfe: + xor a + ld [$c5c8], a + ld hl, $3 + add hl, bc + ld a, [hli] + ld [$c5c9], a + ld a, [hli] + ld [$c5ca], a + ld a, [hli] + ld [$c5cb], a + ld a, [hli] + ld [$c5cc], a + ld a, [hl] + ld [$c5cd], a + call Func_fbcec + cp $fd + jr z, .asm_fbc8d + cp $fc + jr z, .asm_fbc8a + call Func_fbcc5 + ld a, [$c5c9] + add [hl] + ld [$c5c9], a + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + push bc + ld a, [$c5bd] + ld e, a + ld d, $c3 + ld a, [hli] + ld c, a +.asm_fbc3c + ld a, [$c5cb] + ld b, a + ld a, [$c5cd] + add b + ld b, a + ld a, [$c5ce] + add b + ld b, a + call Func_fbc92 + add b + ld [de], a + inc hl + inc de + ld a, [$c5ca] + ld b, a + ld a, [$c5cc] + add b + ld b, a + ld a, [$c5cf] + add b + ld b, a + call Func_fbca2 + add b + ld [de], a + inc hl + inc de + ld a, [$c5c9] + add [hl] + ld [de], a + inc hl + inc de + call Func_fbcb2 + ld b, a + ld a, [$c634] + cp $7 + ld a, b + jr z, .asm_fbc7a + ld [de], a +.asm_fbc7a + inc hl + inc de + ld a, e + ld [$c5bd], a + cp $a0 + jr nc, .asm_fbc8f + dec c + jr nz, .asm_fbc3c + pop bc + jr .asm_fbc8d + +.asm_fbc8a + call Func_fbbe8 +.asm_fbc8d + and a + ret + +.asm_fbc8f + pop bc + scf + ret + +Func_fbc92: + push hl + ld a, [hl] + ld hl, $c5c8 + bit 6, [hl] + jr z, .asm_fbca0 + add $8 + xor $ff + inc a +.asm_fbca0 + pop hl + ret + +Func_fbca2: + push hl + ld a, [hl] + ld hl, $c5c8 + bit 5, [hl] + jr z, .asm_fbcb0 + add $8 + xor $ff + inc a +.asm_fbcb0 + pop hl + ret + +Func_fbcb2: + ld a, [$c5c8] + ld b, a + ld a, [hl] + xor b + and $e0 + ld b, a + ld a, [hl] + and $10 + or b + bit 4, a + ret z + or $4 + ret + +Func_fbcc5: + ld e, a + ld d, $0 + ld a, [$c5c6] + ld l, a + ld a, [$c5c7] + ld h, a + add hl, de + add hl, de + add hl, de + ret + +Func_fbcd4: + ld hl, $1 + add hl, bc + ld [hl], a + ld hl, $8 + add hl, bc + ld [hl], $0 + ld hl, $9 + add hl, bc + ld [hl], $0 + ld hl, $a + add hl, bc + ld [hl], $ff + ret + +Func_fbcec: + ld hl, $8 + add hl, bc + ld a, [hl] + and a + jr z, .asm_fbcfc + dec [hl] + call Func_fbd43 + ld a, [hli] + push af + jr .asm_fbd1d + +.asm_fbcfc + ld hl, $a + add hl, bc + inc [hl] + call Func_fbd43 + ld a, [hli] + cp $fe + jr z, .asm_fbd35 + cp $ff + jr z, .asm_fbd27 + push af + ld a, [hl] + push hl + and $3f + ld hl, $9 + add hl, bc + add [hl] + ld hl, $8 + add hl, bc + ld [hl], a + pop hl +.asm_fbd1d + ld a, [hl] + and $c0 + srl a + ld [$c5c8], a + pop af + ret + +.asm_fbd27 + xor a + ld hl, $8 + add hl, bc + ld [hl], a + ld hl, $a + add hl, bc + dec [hl] + dec [hl] + jr Func_fbcec + +.asm_fbd35 + xor a + ld hl, $8 + add hl, bc + ld [hl], a + dec a + ld hl, $a + add hl, bc + ld [hl], a + jr Func_fbcec + +Func_fbd43: + ld hl, $1 + add hl, bc + ld e, [hl] + ld d, $0 + ld a, [$c5c2] + ld l, a + ld a, [$c5c3] + ld h, a + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $a + add hl, bc + ld l, [hl] + ld h, $0 + add hl, hl + add hl, de + ret + +Func_fbd61: + ld hl, $2 + add hl, bc + ld e, [hl] + ld d, $0 + ld a, [$c5c4] + ld l, a + ld a, [$c5c5] + ld h, a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] diff --git a/home/audio.asm b/home/audio.asm index f1daa4f1..69e81dd8 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -88,6 +88,7 @@ CheckForNoBikingMusicMap:: ; 21c8 (0:21c8) UpdateMusic6Times:: ; 21e3 (0:21e3) ld c, $6 +UpdateMusicCTimes:: .loop push bc push hl -- cgit v1.2.3 From 19451bf77a89ec19b5ed16d1a94503aa1dff9c1e Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 5 Jun 2016 09:27:07 -0400 Subject: No more `dr` --- engine/bank3e.asm | 471 +++++++++++++++++++++++++++++++++++++++----------- gfx/unknown_f90bc.map | Bin 0 -> 240 bytes gfx/unknown_f91ac.map | 1 + gfx/unknown_f91bb.map | 2 + gfx/unknown_f91c8.map | 1 + gfx/unknown_f91d7.bin | 1 + gfx/unknown_f93d3.bin | Bin 0 -> 754 bytes gfx/unknown_f9b6e.map | Bin 0 -> 120 bytes gfx/unknown_f9be6.map | 1 + gfx/unknown_f9bf2.map | 1 + gfx/unknown_f9c2c.png | Bin 0 -> 120 bytes gfx/unknown_f9c6c.png | Bin 0 -> 117 bytes 12 files changed, 379 insertions(+), 99 deletions(-) create mode 100644 gfx/unknown_f90bc.map create mode 100644 gfx/unknown_f91ac.map create mode 100644 gfx/unknown_f91bb.map create mode 100644 gfx/unknown_f91c8.map create mode 100644 gfx/unknown_f91d7.bin create mode 100644 gfx/unknown_f93d3.bin create mode 100644 gfx/unknown_f9b6e.map create mode 100644 gfx/unknown_f9be6.map create mode 100644 gfx/unknown_f9bf2.map create mode 100644 gfx/unknown_f9c2c.png create mode 100644 gfx/unknown_f9c6c.png diff --git a/engine/bank3e.asm b/engine/bank3e.asm index 20a98772..c866b452 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -208,7 +208,7 @@ Func_f8116: ld a, $b call FillMemory ld a, $1 - ld de, $7458 + lb de, $74, $58 call Func_fbb93 ld a, $74 ld [$c5ea], a @@ -387,7 +387,7 @@ Jumptable_f8291: Func_f82ab: ld a, $2 - ld de, $48e0 + lb de, $48, $e0 call Func_fbb93 ld hl, $c5d1 inc [hl] @@ -434,7 +434,7 @@ Func_f8300: ld a, $80 ld [$c631], a ld a, $b - ld de, $8858 + lb de, $88, $58 call Func_fbb93 ld hl, $7 add hl, bc @@ -1347,11 +1347,11 @@ Func_f886b: ld a, e ld [H_VBCOPYDEST], a ld a, d - ld [$ffca], a + ld [H_VBCOPYDEST + 1], a ld a, l ld [H_VBCOPYSRC], a ld a, h - ld [$ffc8], a + ld [H_VBCOPYSRC + 1], a ld a, $1 ld [H_VBCOPYSIZE], a ret @@ -2325,7 +2325,7 @@ Func_f8fb3: ld a, $54 ld [$c5c3], a ld a, $c - ld de, $7458 + lb de, $74, $58 call Func_fbb93 call Func_f9053 xor a @@ -2370,70 +2370,68 @@ Func_f9053: ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $ff call FillMemory - ld hl, Unkn_f90bc + ld hl, Tilemap_f90bc coord de, 0, 6 ld bc, 12 * SCREEN_WIDTH call CopyData - ld de, Unkn_f91c8 + ld de, Tilemap_f91c8 coord hl, 4, 0 lb bc, 6, 12 - call Func_f9098 + call .CopyBox coord hl, 3, 7 lb bc, 3, 15 - call Func_f90aa - ld hl, Unkn_f91ac + call .FillBoxWithFF + ld hl, Tilemap_f91ac coord de, 3, 7 ld bc, 15 call CopyData - ld hl, Unkn_f91bb + ld hl, Tilemap_f91bb coord de, 4, 9 ld bc, 13 call CopyData ret -Func_f9098: -.asm_f9098 +.CopyBox: +.copy_row push bc push hl -.asm_f909a +.copy_col ld a, [de] inc de ld [hli], a dec c - jr nz, .asm_f909a - ld bc, $14 + jr nz, .copy_col + ld bc, SCREEN_WIDTH pop hl add hl, bc pop bc dec b - jr nz, .asm_f9098 + jr nz, .copy_row ret -Func_f90aa: -.asm_f90aa +.FillBoxWithFF: +.fill_row push bc push hl -.asm_f90ac +.fill_col ld [hl], $ff inc hl dec c - jr nz, .asm_f90ac + jr nz, .fill_col pop hl - ld bc, $14 + ld bc, SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_f90aa + jr nz, .fill_row ret -Unkn_f90bc: - dr $f90bc,$f91ac -Unkn_f91ac: - dr $f91ac,$f91bb -Unkn_f91bb: - dr $f91bb,$f91c8 -Unkn_f91c8: - dr $f91c8,$f9210 +Tilemap_f90bc: INCBIN "gfx/unknown_f90bc.map" +Tilemap_f91ac: INCBIN "gfx/unknown_f91ac.map" +Tilemap_f91bb: INCBIN "gfx/unknown_f91bb.map" +Tilemap_f91c8: INCBIN "gfx/unknown_f91c8.map" + +Unkn_f91d7: INCBIN "gfx/unknown_f91d7.bin" Func_f9210: ld hl, $c710 @@ -2707,8 +2705,7 @@ Func_f9377: Unkn_f9393: sine_wave $100 -Unkn_f93d3: - dr $f93d3,$f96c5 +Unkn_f93d3: INCBIN "gfx/unknown_f93d3.bin" Unkn_f96c5: db 0 @@ -2745,67 +2742,89 @@ Unkn_f96c5: db 0 Unkn_f96e5: - dr $f96e5,$f973d + db $00, $00, $00, $00 + db $0b, $0b, $0b, $0b + db $0b, $02, $02, $06 + db $03, $0b, $07, $03 + db $06, $06, $06, $06 + db $07, $07, $07, $07 + db $06, $04, $04, $08 + db $05, $07, $08, $05 + db $0b, $0b, $11, $12 + db $0b, $0b, $13, $03 + db $14, $12, $04, $08 + db $13, $07, $08, $05 + db $06, $14, $06, $14 + db $13, $07, $13, $07 + db $08, $08, $08, $08 + db $14, $12, $14, $12 + db $0b, $11, $02, $14 + db $06, $14, $06, $14 + db $0c, $0c, $0d, $0d + db $0d, $0d, $0d, $0d + db $0e, $0f, $10, $0b + db $12, $13, $12, $13 + Unkn_f973d: - dr $f973d,$f9745 + db $00, $00, $00, $01, $01, $01, $01, $01 Unkn_f9745: - dr $f9745,$f974d + db $00, $00, $00, $01, $01, $02, $04, $06 Unkn_f974d: - dr $f974d,$f9755 + db $00, $00, $00, $01, $02, $04, $06, $0e Unkn_f9755: - dr $f9755,$f975d + db $00, $00, $00, $10, $11, $06, $0e, $0e Unkn_f975d: - dr $f975d,$f9765 + db $00, $00, $00, $15, $15, $0e, $0e, $0e Unkn_f9765: - dr $f9765,$f976d + db $00, $00, $00, $03, $05, $07, $0e, $0e Unkn_f976d: - dr $f976d,$f9775 + db $00, $00, $00, $01, $03, $05, $07, $0e Unkn_f9775: - dr $f9775,$f977d + db $00, $00, $00, $01, $01, $03, $05, $07 Unkn_f977d: - dr $f977d,$f9785 + db $00, $00, $00, $01, $01, $02, $04, $06 Unkn_f9785: - dr $f9785,$f978d + db $00, $00, $00, $01, $02, $04, $06, $0e Unkn_f978d: - dr $f978d,$f9795 + db $00, $00, $00, $08, $0f, $0a, $0e, $0e Unkn_f9795: - dr $f9795,$f979d + db $00, $00, $00, $09, $0d, $0b, $0e, $0e Unkn_f979d: - dr $f979d,$f97a5 + db $00, $00, $00, $01, $03, $05, $07, $0e Unkn_f97a5: - dr $f97a5,$f97ad + db $00, $00, $00, $01, $01, $03, $05, $07 Unkn_f97ad: - dr $f97ad,$f97b5 + db $00, $00, $00, $01, $01, $02, $04, $06 Unkn_f97b5: - dr $f97b5,$f97bd + db $00, $00, $00, $01, $10, $11, $06, $0e Unkn_f97bd: - dr $f97bd,$f97c5 + db $00, $00, $00, $01, $15, $15, $0e, $0e Unkn_f97c5: - dr $f97c5,$f97cd + db $00, $00, $00, $01, $03, $05, $07, $0e Unkn_f97cd: - dr $f97cd,$f97d5 + db $00, $00, $00, $01, $01, $03, $05, $07 Unkn_f97d5: - dr $f97d5,$f97dd + db $00, $00, $00, $01, $01, $02, $04, $06 Unkn_f97dd: - dr $f97dd,$f97e5 + db $00, $00, $00, $01, $08, $0f, $0a, $0e Unkn_f97e5: - dr $f97e5,$f97ed + db $00, $00, $00, $01, $09, $0d, $0b, $0e Unkn_f97ed: - dr $f97ed,$f97f5 + db $00, $00, $00, $01, $01, $03, $05, $07 Unkn_f97f5: - dr $f97f5,$f97fd + db $00, $00, $00, $01, $01, $10, $11, $06 Unkn_f97fd: - dr $f97fd,$f9805 + db $00, $00, $00, $01, $01, $15, $15, $0e Unkn_f9805: - dr $f9805,$f980d + db $00, $00, $00, $01, $01, $03, $05, $07 Unkn_f980d: - dr $f980d,$f9815 + db $00, $00, $00, $01, $01, $08, $0f, $0a Unkn_f9815: - dr $f9815,$f981d + db $00, $00, $00, $01, $01, $09, $0d, $0b Unkn_f981d: - dr $f981d,$f9825 + db $00, $00, $00, $14, $14, $14, $14, $14 Unkn_f9825: - dr $f9825,$f982d + db $00, $00, $00, $12, $13, $13, $13, $13 PlayIntroScene: ld a, [rIE] @@ -3055,7 +3074,14 @@ Func_f99d2: ret Unkn_f99f0: - dr $f99f0,$f9a08 + db $d0, $20, $02 + db $f0, $30, $04 + db $d0, $40, $06 + db $c0, $50, $08 + db $e0, $60, $08 + db $c0, $70, $06 + db $e0, $80, $04 + db $f0, $90, $02 Func_f9a08: call Func_f9e41 @@ -3218,16 +3244,16 @@ Func_f9b04: call Func_f9fb3 ld hl, $9900 ld de, Unkn_f9b6e - ld bc, $614 - call Func_f9b5c + lb bc, 6, 20 + call .FillBGMapBox ld hl, $988c - lb de, $5b, $e6 - ld bc, $304 - call Func_f9b5c + ld de, Unkn_f9be6 + lb bc, 3, 4 + call .FillBGMapBox ld hl, $98e3 - lb de, $5b, $f2 - ld bc, $202 - call Func_f9b5c + ld de, Unkn_f9bf2 + lb bc, 2, 2 + call .FillBGMapBox ld de, $9858 ld a, $6 call Func_f9e1d @@ -3237,25 +3263,27 @@ Func_f9b04: call Func_f992a ret -Func_f9b5c: +.FillBGMapBox: +.fill_row push bc push hl -.asm_f9b5e +.fill_col ld a, [de] inc de ld [hli], a dec c - jr nz, .asm_f9b5e + jr nz, .fill_col pop hl ld bc, $20 add hl, bc pop bc dec b - jr nz, Func_f9b5c + jr nz, .fill_row ret -Unkn_f9b6e: - dr $f9b6e,$f9bf6 +Unkn_f9b6e: INCBIN "gfx/unknown_f9b6e.map" +Unkn_f9be6: INCBIN "gfx/unknown_f9be6.map" +Unkn_f9bf2: INCBIN "gfx/unknown_f9bf2.map" Func_f9bf6: call Func_f9e41 @@ -3270,17 +3298,16 @@ Func_f9bf6: sla a ld e, a ld d, $0 - ld hl, Unkn_f9c2c + ld hl, GFX_f9c2c add hl, de ld a, l ld [H_VBCOPYSRC], a ld a, h - ld [$ffc8], a -.asm_f9c19 + ld [H_VBCOPYSRC + 1], a xor a ld [H_VBCOPYDEST], a ld a, $96 - ld [$ffca], a + ld [H_VBCOPYDEST + 1], a ld a, $4 ld [H_VBCOPYSIZE], a ret @@ -3290,8 +3317,8 @@ Func_f9bf6: call Func_f992a ret -Unkn_f9c2c: - dr $f9c2c,$f9cac +GFX_f9c2c: INCBIN "gfx/unknown_f9c2c.2bpp" +GFX_f9c6c: INCBIN "gfx/unknown_f9c6c.2bpp" ; indirectly referenced Func_f9cac: call Func_f9e80 @@ -3426,7 +3453,7 @@ Func_f9d8f: call UpdateGBCPal_OBP0 call Func_f992a Func_f9dbf: - lb de, $5e, $0a + ld de, Unkn_f9e0a call Func_f9e4d jr c, .asm_f9dd2 ld [rOBP0], a @@ -3440,10 +3467,26 @@ Func_f9dbf: ret Unkn_f9dd6: - dr $f9dd6,$f9e12 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $e4 + db $e4, $c0, $c0, $ff + +Unkn_f9e0a: + db $e4, $90, $90, $40 + db $40, $00, $00, $ff Func_f9e12: - ld c, $40 + ld c, 64 call DelayFrames ld hl, $c634 set 7, [hl] @@ -3567,17 +3610,20 @@ Func_f9ec4: ret Unkn_f9ed8: - dr $f9ed8,$f9ef8 + db 0, 0, 1, 2, 2, 3, 3, 3 + db 4, 3, 3, 3, 2, 2, 1, 0 + db 0, 0, -1, -2, -2, -3, -3, -3 + db -4, -3, -3, -3, -2, -2, -1, 0 Func_f9ef8: ld a, $10 ld [H_VBCOPYSRC], a ld a, $c8 - ld [$ffc8], a + ld [H_VBCOPYSRC + 1], a ld a, $10 ld [H_VBCOPYDEST], a ld a, $c7 - ld [$ffca], a + ld [H_VBCOPYDEST + 1], a ld a, $7 ld [H_VBCOPYSIZE], a ret @@ -3634,9 +3680,9 @@ Func_f9f75: ld [$c5c0], a ld a, Unkn_f9fda / $100 ld [$c5c1], a - ld a, Unkn_f9ffb % $100 + ld a, Jumptable_f9ffb % $100 ld [$c5c4], a - ld a, Unkn_f9ffb / $100 + ld a, Jumptable_f9ffb / $100 ld [$c5c5], a ld a, Unkn_fa13d % $100 ld [$c5c6], a @@ -3696,9 +3742,28 @@ Func_f9fc9: ret Unkn_f9fda: - dr $f9fda,$f9ffb -Unkn_f9ffb: - dr $f9ffb,$fa008 + db $00, $00, $00 + db $01, $01, $00 + db $02, $01, $00 + db $03, $01, $00 + db $04, $02, $00 + db $05, $03, $00 + db $06, $04, $00 + db $07, $01, $00 + db $08, $05, $00 + db $09, $01, $00 + db $0a, $01, $00 + +Jumptable_f9ffb: + dw Func_fa007 + dw Func_fa007 + dw Func_fa008 + dw Func_fa014 + dw Func_fa02b + dw Func_fa062 + +Func_fa007: + ret Func_fa008: ld hl, $4 @@ -3834,10 +3899,218 @@ Unkn_fa0aa: sine_wave $100 Unkn_fa0ea: - dr $fa0ea,$fa13d + dw Unkn_fa100 + dw Unkn_fa103 + dw Unkn_fa10a + dw Unkn_fa111 + dw Unkn_fa118 + dw Unkn_fa11b + dw Unkn_fa11e + dw Unkn_fa121 + dw Unkn_fa124 + dw Unkn_fa127 + dw Unkn_fa138 + +Unkn_fa100: + db $00,$20 + db $ff +Unkn_fa103: + db $01,$04, $02,$04, $03,$04 + db $fe +Unkn_fa10a: + db $04,$04, $05,$04, $06,$04 + db $fe +Unkn_fa111: + db $07,$04, $08,$04, $09,$04 + db $fe +Unkn_fa118: + db $0a,$20 + db $ff +Unkn_fa11b: + db $0b,$20 + db $ff +Unkn_fa11e: + db $0c,$20 + db $ff +Unkn_fa121: + db $0d,$20 + db $ff +Unkn_fa124: + db $0e,$20 + db $ff +Unkn_fa127: + db $0f,$1f, $11,$02, $0f,$02, $11,$02, $0f,$1f, $11,$02, $0f,$17, $10,$20 + db $ff +Unkn_fa138: + db $12,$04, $13,$04 + db $fe Unkn_fa13d: - dr $fa13d,$fa35a + dbw $00, Unkn_fa179 + dbw $96, Unkn_fa17e + dbw $98, Unkn_fa17e + dbw $9a, Unkn_fa17e + dbw $0c, Unkn_fa18f + dbw $0e, Unkn_fa18f + dbw $3c, Unkn_fa18f + dbw $60, Unkn_fa1b0 + dbw $70, Unkn_fa1b0 + dbw $80, Unkn_fa1b0 + dbw $90, Unkn_fa201 + dbw $00, Unkn_fa201 + dbw $06, Unkn_fa201 + dbw $c6, Unkn_fa292 + dbw $6d, Unkn_fa2f7 + dbw $f0, Unkn_fa308 + dbw $f4, Unkn_fa308 + dbw $f8, Unkn_fa308 + dbw $9c, Unkn_fa329 + dbw $ec, Unkn_fa329 + +Unkn_fa179: + db 1 + db $fc, $fc, $00, $00 +Unkn_fa17e: + db 4 + db $f8, $f8, $00, $00 + db $f8, $00, $01, $00 + db $00, $f8, $10, $00 + db $00, $00, $11, $00 + +Unkn_fa18f: + db 8 + db $f0, $f8, $00, $00 + db $f0, $00, $01, $00 + db $f8, $f8, $10, $00 + db $f8, $00, $11, $00 + db $00, $f8, $20, $00 + db $00, $00, $20, $20 + db $08, $f8, $21, $00 + db $08, $00, $21, $20 + +Unkn_fa1b0: + db 20 + db $e8, $f8, $00, $00 + db $e8, $00, $01, $00 + db $f0, $f8, $02, $00 + db $f0, $00, $03, $00 + db $f8, $f0, $04, $00 + db $f8, $f8, $05, $00 + db $f8, $00, $06, $00 + db $f8, $08, $04, $20 + db $00, $f0, $07, $00 + db $00, $f8, $08, $00 + db $00, $00, $08, $20 + db $00, $08, $07, $20 + db $08, $f0, $09, $00 + db $08, $f8, $0a, $00 + db $08, $00, $0a, $20 + db $08, $08, $09, $20 + db $10, $f0, $0b, $00 + db $10, $f8, $0c, $00 + db $10, $00, $0c, $20 + db $10, $08, $0b, $20 + +Unkn_fa201: + db 36 + db $e8, $e8, $00, $00 + db $e8, $f0, $01, $00 + db $e8, $f8, $02, $00 + db $e8, $00, $03, $00 + db $e8, $08, $04, $00 + db $e8, $10, $05, $00 + db $f0, $e8, $10, $00 + db $f0, $f0, $11, $00 + db $f0, $f8, $12, $00 + db $f0, $00, $13, $00 + db $f0, $08, $14, $00 + db $f0, $10, $15, $00 + db $f8, $e8, $20, $00 + db $f8, $f0, $21, $00 + db $f8, $f8, $22, $00 + db $f8, $00, $23, $00 + db $f8, $08, $24, $00 + db $f8, $10, $25, $00 + db $00, $e8, $30, $00 + db $00, $f0, $31, $00 + db $00, $f8, $32, $00 + db $00, $00, $33, $00 + db $00, $08, $34, $00 + db $00, $10, $35, $00 + db $08, $e8, $40, $00 + db $08, $f0, $41, $00 + db $08, $f8, $42, $00 + db $08, $00, $43, $00 + db $08, $08, $44, $00 + db $08, $10, $45, $00 + db $10, $e8, $50, $00 + db $10, $f0, $51, $00 + db $10, $f8, $52, $00 + db $10, $00, $53, $00 + db $10, $08, $54, $00 + db $10, $10, $55, $00 + +Unkn_fa292: + db 25 + db $ec, $f0, $00, $00 + db $ec, $f8, $01, $00 + db $ec, $00, $02, $00 + db $ec, $08, $03, $00 + db $ec, $10, $04, $00 + db $f4, $f0, $05, $00 + db $f4, $f8, $06, $00 + db $f4, $00, $07, $00 + db $f4, $08, $08, $00 + db $f4, $10, $09, $00 + db $fc, $f0, $10, $00 + db $fc, $f8, $11, $00 + db $fc, $00, $12, $00 + db $fc, $08, $13, $00 + db $fc, $10, $14, $00 + db $04, $f0, $15, $00 + db $04, $f8, $16, $00 + db $04, $00, $17, $00 + db $04, $08, $18, $00 + db $04, $10, $19, $00 + db $0c, $f0, $20, $00 + db $0c, $f8, $21, $00 + db $0c, $00, $22, $00 + db $0c, $08, $23, $00 + db $0c, $10, $24, $00 + +Unkn_fa2f7: + db 4 + db $fc, $f0, $00, $00 + db $fc, $f8, $01, $00 + db $fc, $00, $01, $20 + db $fc, $08, $00, $20 + +Unkn_fa308: + db 8 + db $f8, $e8, $00, $10 + db $f8, $f0, $01, $10 + db $00, $e8, $02, $10 + db $00, $f0, $03, $10 + db $f8, $08, $01, $30 + db $f8, $10, $00, $30 + db $00, $08, $03, $30 + db $00, $10, $02, $30 + +Unkn_fa329: + db 12 + db $f8, $d8, $00, $10 + db $f8, $e0, $01, $10 + db $f8, $e8, $02, $10 + db $00, $d8, $10, $10 + db $00, $e0, $11, $10 + db $00, $e8, $12, $10 + db $f8, $10, $02, $30 + db $f8, $18, $01, $30 + db $f8, $20, $00, $30 + db $00, $10, $12, $30 + db $00, $18, $11, $30 + db $00, $20, $10, $30 + YellowIntroGraphics: INCBIN "gfx/yellow_intro.2bpp" diff --git a/gfx/unknown_f90bc.map b/gfx/unknown_f90bc.map new file mode 100644 index 00000000..98b8ba51 Binary files /dev/null and b/gfx/unknown_f90bc.map differ diff --git a/gfx/unknown_f91ac.map b/gfx/unknown_f91ac.map new file mode 100644 index 00000000..8a1f06b7 --- /dev/null +++ b/gfx/unknown_f91ac.map @@ -0,0 +1 @@ +íîïÿðñòóôõöÿ÷øù \ No newline at end of file diff --git a/gfx/unknown_f91bb.map b/gfx/unknown_f91bb.map new file mode 100644 index 00000000..6d8ebb43 --- /dev/null +++ b/gfx/unknown_f91bb.map @@ -0,0 +1,2 @@ +úûÿüýþÿ +ÿ \ No newline at end of file diff --git a/gfx/unknown_f91c8.map b/gfx/unknown_f91c8.map new file mode 100644 index 00000000..75affe81 --- /dev/null +++ b/gfx/unknown_f91c8.map @@ -0,0 +1 @@ +¶·¸¹ÿÿÿºÿÿÿÿ»¼½ \ No newline at end of file diff --git a/gfx/unknown_f91d7.bin b/gfx/unknown_f91d7.bin new file mode 100644 index 00000000..1f493443 --- /dev/null +++ b/gfx/unknown_f91d7.bin @@ -0,0 +1 @@ +¾¿ÀÁÂÃÄÅÿÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÿÿÿÝÞßàáâãäÿÿÿÿåæçèéêëìÿÿ \ No newline at end of file diff --git a/gfx/unknown_f93d3.bin b/gfx/unknown_f93d3.bin new file mode 100644 index 00000000..435aeab5 Binary files /dev/null and b/gfx/unknown_f93d3.bin differ diff --git a/gfx/unknown_f9b6e.map b/gfx/unknown_f9b6e.map new file mode 100644 index 00000000..3ce924dc Binary files /dev/null and b/gfx/unknown_f9b6e.map differ diff --git a/gfx/unknown_f9be6.map b/gfx/unknown_f9be6.map new file mode 100644 index 00000000..18560135 --- /dev/null +++ b/gfx/unknown_f9be6.map @@ -0,0 +1 @@ +0123@ABCPQRS \ No newline at end of file diff --git a/gfx/unknown_f9bf2.map b/gfx/unknown_f9bf2.map new file mode 100644 index 00000000..e587b7ce --- /dev/null +++ b/gfx/unknown_f9bf2.map @@ -0,0 +1 @@ +"# \ No newline at end of file diff --git a/gfx/unknown_f9c2c.png b/gfx/unknown_f9c2c.png new file mode 100644 index 00000000..b5c68424 Binary files /dev/null and b/gfx/unknown_f9c2c.png differ diff --git a/gfx/unknown_f9c6c.png b/gfx/unknown_f9c6c.png new file mode 100644 index 00000000..3725d6cc Binary files /dev/null and b/gfx/unknown_f9c6c.png differ -- cgit v1.2.3 From ac43a7c06bfd87424ea7b514850b6cc252d5cb12 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 5 Jun 2016 11:15:15 -0400 Subject: Resolve some WRAM addresses --- engine/bank3e.asm | 76 +++++++++++++++++++++++++++---------------------------- wram.asm | 8 +++++- 2 files changed, 45 insertions(+), 39 deletions(-) diff --git a/engine/bank3e.asm b/engine/bank3e.asm index c866b452..6faeff94 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -129,7 +129,7 @@ Func_f80c4: add hl, de add hl, de ld a, [hli] - ld [$c0e9], a + ld [wMusicTempo + 1], a ld a, [hl] ld [wMusicTempo], a ret @@ -153,7 +153,7 @@ Func_f80ff: cp [hl] ret nz ld a, $75 - ld [$c0e9], a + ld [wMusicTempo + 1], a xor a ld [wMusicTempo], a ret @@ -645,7 +645,7 @@ Func_f844c: ret nc ld hl, $c5e5 inc [hl] - ld hl, $c311 + ld hl, wOAMBuffer + 4 * 4 + 1 dec [hl] dec [hl] ret @@ -703,7 +703,7 @@ Func_f848d: ld [$c5d9], a ld [$c62f], a xor a - ld [$c02d], a + ld [wChannelSoundIDs + CH7], a ld a, $91 call PlaySound ret @@ -739,7 +739,7 @@ Func_f84e2: ld a, $10 call Func_fbcd4 xor a - ld [$c02d], a + ld [wChannelSoundIDs + CH7], a ld a, $93 call PlaySound ret @@ -997,7 +997,7 @@ Func_f8606: call Func_f86d0 .asm_f86a2 xor a - ld [$c02d], a + ld [wChannelSoundIDs + CH7], a ld a, $95 call PlaySound and a @@ -1300,7 +1300,7 @@ Func_f8848: ld a, l ld [$c635], a ld d, h - ld hl, $c315 + ld hl, wOAMBuffer + 5 * 4 + 1 ld e, $9 .asm_f8861 ld a, [hl] @@ -1417,10 +1417,10 @@ Func_f88f0: Func_f88fd: ld de, $c5d7 - ld hl, $c302 + ld hl, wOAMBuffer + 0 * 4 + 2 ld a, [de] call Func_f890b - ld hl, $c30a + ld hl, wOAMBuffer + 2 * 4 + 2 ld a, [de] Func_f890b: ld c, a @@ -1448,7 +1448,7 @@ Func_f891e: ld bc, Tilemap_f8946End - Tilemap_f8946 call CopyData call Func_f8a0e - ld hl, $c315 + ld hl, wOAMBuffer + 5 * 4 + 1 ld bc, $24 xor a call FillMemory @@ -2884,43 +2884,43 @@ PlayIntroScene: ret Func_f98a2: - ld a, [$c323] + ld a, [wOAMBuffer + 8 * 4 + 3] or $1 - ld [$c323], a - ld a, [$c33b] + ld [wOAMBuffer + 8 * 4 + 3], a + ld a, [wOAMBuffer + 14 * 4 + 3] or $1 - ld [$c33b], a - ld a, [$c343] + ld [wOAMBuffer + 14 * 4 + 3], a + ld a, [wOAMBuffer + 16 * 4 + 3] or $1 - ld [$c343], a + ld [wOAMBuffer + 16 * 4 + 3], a Func_f98b8: - ld a, [$c34b] + ld a, [wOAMBuffer + 18 * 4 + 3] or $1 - ld [$c34b], a - ld a, [$c34f] + ld [wOAMBuffer + 18 * 4 + 3], a + ld a, [wOAMBuffer + 19 * 4 + 3] or $1 - ld [$c34f], a + ld [wOAMBuffer + 19 * 4 + 3], a ret Func_f98cb: - ld a, [$c34b] + ld a, [wOAMBuffer + 18 * 4 + 3] or $1 - ld [$c34b], a - ld a, [$c34f] + ld [wOAMBuffer + 18 * 4 + 3], a + ld a, [wOAMBuffer + 19 * 4 + 3] or $1 - ld [$c34f], a - ld a, [$c353] + ld [wOAMBuffer + 19 * 4 + 3], a + ld a, [wOAMBuffer + 20 * 4 + 3] or $1 - ld [$c353], a - ld a, [$c367] + ld [wOAMBuffer + 20 * 4 + 3], a + ld a, [wOAMBuffer + 25 * 4 + 3] or $1 - ld [$c367], a - ld a, [$c36b] + ld [wOAMBuffer + 25 * 4 + 3], a + ld a, [wOAMBuffer + 26 * 4 + 3] or $1 - ld [$c36b], a - ld a, [$c373] + ld [wOAMBuffer + 26 * 4 + 3], a + ld a, [wOAMBuffer + 28 * 4 + 3] or $1 - ld [$c373], a + ld [wOAMBuffer + 28 * 4 + 3], a ret Func_f98fc: @@ -2957,7 +2957,7 @@ Func_f992a: Func_f992f: xor a ld [hLCDCPointer], a - ld de, $5858 + lb de, $58, $58 ld a, $1 call Func_f9e1d xor a @@ -3128,7 +3128,7 @@ Func_f9a1e: xor a ld [hLCDCPointer], a call Func_f9e5f - ld de, $5858 + lb de, $58, $58 ld a, $2 call Func_f9e1d xor a @@ -3169,7 +3169,7 @@ Func_f9a6b: ld bc, $300 ld a, $10 call Func_f9fb3 - ld de, $40f8 + lb de, $40, $f8 ld a, $5 call Func_f9e1d ld a, $1 @@ -3212,7 +3212,7 @@ Func_f9ad8: xor a ld [hLCDCPointer], a call Func_f9e5f - ld de, $5858 + lb de, $58, $58 ld a, $3 call Func_f9e1d xor a @@ -3254,7 +3254,7 @@ Func_f9b04: ld de, Unkn_f9bf2 lb bc, 2, 2 call .FillBGMapBox - ld de, $9858 + lb de, $98, $58 ld a, $6 call Func_f9e1d ld a, $1 @@ -3419,7 +3419,7 @@ Func_f9d22: ld [rBGP], a call UpdateGBCPal_BGP call UpdateGBCPal_OBP0 - ld de, $5858 + lb de, $58, $58 ld a, $7 call Func_f9e1d call Func_f992a diff --git a/wram.asm b/wram.asm index 70d973c7..43112abf 100755 --- a/wram.asm +++ b/wram.asm @@ -287,7 +287,13 @@ wSerialEnemyMonsPatchList:: ; c5d0 wTempPic:: wOverworldMap:: ; c6e8 ; ds 1300 - ds $290 + ds $18 +wc700:: ; c700 + ds $10 +wc710:: ; c710 + ds $f0 +wc800:: ; c800 + ds $178 wPrinterTileBuffer:: ; c978 ds SCREEN_HEIGHT * SCREEN_WIDTH -- cgit v1.2.3 From 8c0c3ff9ee932b47324ea0cf9e07893ff14e71b3 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 5 Jun 2016 12:25:11 -0400 Subject: Resolve WRAM addresses and bank 3e unknowns --- audio.asm | 4 +- engine/bank3e.asm | 936 +++++++++++++++++++++++++++++++++----------------- gfx/unknown_f91c8.map | 2 +- gfx/unknown_f91d7.bin | 1 - gfx/unknown_f93d3.bin | Bin 754 -> 0 bytes wram.asm | 133 ++++++- 6 files changed, 750 insertions(+), 326 deletions(-) delete mode 100644 gfx/unknown_f91d7.bin delete mode 100644 gfx/unknown_f93d3.bin diff --git a/audio.asm b/audio.asm index dd9badea..23badb6b 100644 --- a/audio.asm +++ b/audio.asm @@ -666,7 +666,7 @@ INCLUDE "audio/engine_3.asm" SECTION "Audio Engine 4", ROMX, BANK[AUDIO_4] -SurfingPikachu1Graphics: INCBIN "gfx/surfing_pikachu_1.t4.2bpp" +SurfingPikachu1Graphics:: INCBIN "gfx/surfing_pikachu_1.t4.2bpp" INCLUDE "audio/engine_4.asm" @@ -1061,4 +1061,4 @@ PikachuCry40_End: PikachuCry42:: ; e2976 (38:6976) dw (PikachuCry42_End - PikachuCry42) - 2 ; length of pcm data INCBIN "audio/pikachu_cries/pikachu_cry_42.pcm" -PikachuCry42_End: \ No newline at end of file +PikachuCry42_End: diff --git a/engine/bank3e.asm b/engine/bank3e.asm index 6faeff94..c46e24bc 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -65,7 +65,7 @@ Func_f807a: ld b, $e call RunPaletteCommand .asm_f8085 - ld a, [$c5d1] + ld a, [wc5d1] bit 7, a ret nz call Func_f923f @@ -73,7 +73,7 @@ Func_f807a: ret nz call Func_f8282 ld a, $3c - ld [$c5bd], a + ld [wc5bd], a call Func_fbb65 call Func_f8848 call Func_f80a8 @@ -96,14 +96,14 @@ Func_f80b7: ld a, [hJoyPressed] and $8 ret z - ld hl, $c5e2 + ld hl, wc5e2 ld a, [hl] xor $1 ld [hl], a ret Func_f80c4: - ld a, [$c634] + ld a, [wc634] and a ret z ld hl, wChannelNoteDelayCounters @@ -116,9 +116,9 @@ Func_f80c4: inc hl cp [hl] ret nz - ld a, [$c5e3] + ld a, [wc5e3] ld e, a - ld a, [$c5e4] + ld a, [wc5e3 + 1] and $3 ld d, a sla e @@ -166,39 +166,42 @@ Func_f8116: ld bc, $67 xor a call FillMemory - ld hl, $c700 + ld hl, wc700 ld bc, $200 xor a call FillMemory xor a ld [H_AUTOBGTRANSFERENABLED], a call Func_fbb5a - ld hl, $4f14 + + ld hl, SurfingPikachu1Graphics ld de, $9000 ld bc, $500 - ld a, $20 + ld a, BANK(SurfingPikachu1Graphics) call FarCopyData - ld hl, $5324 + + ld hl, SurfingPikachu1Graphics + $410 ld de, $8000 ld bc, $1000 - ld a, $20 + ld a, BANK(SurfingPikachu1Graphics) call FarCopyData - ld a, $d3 - ld [$c5c0], a - ld a, $53 - ld [$c5c1], a - ld a, $fa - ld [$c5c4], a - ld a, $53 - ld [$c5c5], a - ld a, $7 - ld [$c5c6], a - ld a, $55 - ld [$c5c7], a - ld a, $5 - ld [$c5c2], a - ld a, $54 - ld [$c5c3], a + + ld a, Unkn_f93d3 % $100 + ld [wc5c0], a + ld a, Unkn_f93d3 / $100 + ld [wc5c0 + 1], a + ld a, Unkn_f93fa % $100 + ld [wc5c4], a + ld a, Unkn_f93fa / $100 + ld [wc5c4 + 1], a + ld a, Unkn_f9507 % $100 + ld [wc5c6], a + ld a, Unkn_f9507 / $100 + ld [wc5c6 + 1], a + ld a, Unkn_f9405 % $100 + ld [wc5c2], a + ld a, Unkn_f9405 / $100 + ld [wc5c2 + 1], a ld hl, $9800 ld bc, $800 ld a, $0 @@ -211,7 +214,7 @@ Func_f8116: lb de, $74, $58 call Func_fbb93 ld a, $74 - ld [$c5ea], a + ld [wc5ea], a call Func_f9223 xor a ld [hSCX], a @@ -221,14 +224,14 @@ Func_f8116: ld a, $42 ld [hLCDCPointer], a ld a, $40 - ld [$c5e3], a + ld [wc5e3], a xor a - ld [$c5e4], a + ld [wc5e3 + 1], a xor a - ld [$c5d6], a + ld [wc5d6], a ld a, $60 - ld [$c5d7], a - ld hl, $c61a + ld [wc5d7], a + ld hl, wc61a ld bc, $14 ld a, $74 call FillMemory @@ -359,7 +362,7 @@ Unkn_f8279: db $19 Func_f8282: - ld a, [$c5d1] + ld a, [wc5d1] ld e, a ld d, $0 ld hl, Jumptable_f8291 @@ -389,23 +392,23 @@ Func_f82ab: ld a, $2 lb de, $48, $e0 call Func_fbb93 - ld hl, $c5d1 + ld hl, wc5d1 inc [hl] ld a, $1 - ld [$c634], a + ld [wc634], a ret Func_f82bd: - ld a, [$c5e5] + ld a, [wc5e5] cp $18 jr nc, .asm_f82e8 - ld hl, $c5d6 + ld hl, wc5d6 ld a, [hli] or [hl] and a jr z, .asm_f82f6 call Random - ld [$c5d5], a + ld [wc5d5], a call Func_f9210 call Func_f88ae call Func_f886b @@ -416,23 +419,23 @@ Func_f82bd: ret .asm_f82e8 - ld hl, $c5d1 + ld hl, wc5d1 inc [hl] xor a - ld [$c634], a + ld [wc634], a ld a, $c0 - ld [$c632], a + ld [wc632], a ret .asm_f82f6 ld a, $1 Func_f82f8: - ld [$c630], a + ld [wc630], a ld a, $c - ld [$c5d1], a + ld [wc5d1], a Func_f8300: ld a, $80 - ld [$c631], a + ld [wc631], a ld a, $b lb de, $88, $58 call Func_fbb93 @@ -446,14 +449,14 @@ Func_f8300: add hl, bc ld [hl], $30 xor a - ld [$c634], a + ld [wc634], a ret Func_f8324: call Func_f8440 jr c, .asm_f833d xor a - ld [$c5d5], a + ld [wc5d5], a call Func_f9210 call Func_f88ae call Func_f886b @@ -462,19 +465,19 @@ Func_f8324: ret .asm_f833d - ld hl, $c5d1 + ld hl, wc5d1 inc [hl] ld a, $90 ld [hSCX], a ld a, $72 - ld [$c5d3], a + ld [wc5d3], a ld a, $4 - ld [$c5d2], a + ld [wc5d2], a xor a ld [hLCDCPointer], a - ld [$c617], a - ld [$c618], a - ld [$c619], a + ld [wc617], a + ld [wc618], a + ld [wc619], a ret Func_f835c: @@ -491,25 +494,25 @@ Func_f835c: dec a ld [hSCX], a ld a, $e0 - ld [$c62e], a + ld [wc62e], a call Func_f8cc7 ret .asm_f837b xor a - ld [$c5e3], a - ld [$c5e4], a - ld hl, $c5d1 + ld [wc5e3], a + ld [wc5e3 + 1], a + ld hl, wc5d1 inc [hl] ld a, $5 - ld [$c5d2], a + ld [wc5d2], a ret Func_f838c: call Func_f891e ld a, $20 - ld [$c632], a - ld hl, $c5d1 + ld [wc632], a + ld hl, wc5d1 inc [hl] ret @@ -518,8 +521,8 @@ Func_f8399: ret nc call Func_f8a92 ld a, $40 - ld [$c632], a - ld hl, $c5d1 + ld [wc632], a + ld hl, wc5d1 inc [hl] ret @@ -528,8 +531,8 @@ Func_f83aa: ret nc call Func_f8ae4 ld a, $40 - ld [$c632], a - ld hl, $c5d1 + ld [wc632], a + ld hl, wc5d1 inc [hl] ret @@ -538,8 +541,8 @@ Func_f83bb: ret nc call Func_f8b7a ld a, $40 - ld [$c632], a - ld hl, $c5d1 + ld [wc632], a + ld hl, wc5d1 inc [hl] ret @@ -552,8 +555,8 @@ Func_f83cc: pop af ret nc ld a, $40 - ld [$c632], a - ld hl, $c5d1 + ld [wc632], a + ld hl, wc5d1 inc [hl] ret @@ -566,22 +569,22 @@ Func_f83e3: pop af ret nc ld a, $80 - ld [$c632], a - ld hl, $c5d1 + ld [wc632], a + ld hl, wc5d1 inc [hl] call Func_f8b92 ret nc call Func_f8a7c Func_f83ff: ld a, $6 - ld [$c5d2], a + ld [wc5d2], a ret Func_f8406: call Func_f8440 Func_f8408: ret nc - ld hl, $c5d1 + ld hl, wc5d1 inc [hl] ret @@ -590,7 +593,7 @@ Func_f840f: ld a, [hJoyPressed] and $1 ret z - ld hl, $c5d1 + ld hl, wc5d1 set 7, [hl] ret @@ -600,7 +603,7 @@ Func_f841d: call Func_f886b call Func_f8cb0 call Func_f80ff - ld hl, $c631 + ld hl, wc631 ld a, [hl] and a jr z, .asm_f8435 @@ -611,12 +614,12 @@ Func_f841d: ld a, [hJoyPressed] and $1 ret z - ld hl, $c5d1 + ld hl, wc5d1 set 7, [hl] ret Func_f8440: - ld hl, $c632 + ld hl, wc632 ld a, [hl] and a jr z, .asm_f844a @@ -629,21 +632,21 @@ Func_f8440: ret Func_f844c: - ld a, [$c5e6] + ld a, [wc5e6] ld h, a - ld a, [$c5e7] + ld a, [wc5e7] ld l, a - ld a, [$c5e3] + ld a, [wc5e3] ld e, a - ld a, [$c5e4] + ld a, [wc5e3 + 1] ld d, a add hl, de ld a, h - ld [$c5e6], a + ld [wc5e6], a ld a, l - ld [$c5e7], a + ld [wc5e7], a ret nc - ld hl, $c5e5 + ld hl, wc5e5 inc [hl] ld hl, wOAMBuffer + 4 * 4 + 1 dec [hl] @@ -651,7 +654,7 @@ Func_f844c: ret Func_f8470 - ld a, [$c5d2] + ld a, [wc5d2] ld e, a ld d, $0 ld hl, Jumptable_f847f @@ -672,11 +675,11 @@ Jumptable_f847f: dw Func_f8579 Func_f848d: - ld a, [$c630] + ld a, [wc630] and a jr nz, .asm_f84d2 call Func_f87b5 - ld a, [$c5ea] + ld a, [wc5ea] ld hl, $5 add hl, bc ld [hl], a @@ -689,7 +692,7 @@ Func_f848d: .asm_f84aa call Func_f8742 ld a, $1 - ld [$c5d2], a + ld [wc5d2], a xor a ld hl, $c add hl, bc @@ -700,8 +703,8 @@ Func_f848d: ld hl, $e add hl, bc ld [hl], a - ld [$c5d9], a - ld [$c62f], a + ld [wc5d9], a + ld [wc62f], a xor a ld [wChannelSoundIDs + CH7], a ld a, $91 @@ -710,10 +713,10 @@ Func_f848d: .asm_f84d2 xor a - ld [$c5e3], a - ld [$c5e4], a + ld [wc5e3], a + ld [wc5e3 + 1], a ld a, $4 - ld [$c5d2], a + ld [wc5d2], a call Func_f8742 ret @@ -728,14 +731,14 @@ Func_f84e2: add hl, bc ld [hl], $0 ld a, $2 - ld [$c5d2], a + ld [wc5d2], a ret .asm_f84fd ld a, $3 - ld [$c5d2], a + ld [wc5d2], a ld a, $60 - ld [$c5e1], a + ld [wc5e1], a ld a, $10 call Func_fbcd4 xor a @@ -760,7 +763,7 @@ Func_f8516: add hl, bc ld [hl], a call Func_f87b5 - ld a, [$c5ea] + ld a, [wc5ea] ld hl, $5 add hl, bc ld [hl], a @@ -771,16 +774,16 @@ Func_f8516: add hl, bc ld [hl], $0 ld a, $0 - ld [$c5d2], a + ld [wc5d2], a ret Func_f8545: - ld hl, $c5e1 + ld hl, wc5e1 ld a, [hl] and a jr z, .asm_f8556 dec [hl] - ld a, [$c5ea] + ld a, [wc5ea] ld hl, $5 add hl, bc ld [hl], a @@ -788,13 +791,13 @@ Func_f8545: .asm_f8556 ld a, $0 - ld [$c5d2], a + ld [wc5d2], a ld a, $4 call Func_fbcd4 ret Func_f8561: - ld a, [$c5ea] + ld a, [wc5ea] ld hl, $5 add hl, bc ld [hl], a @@ -852,7 +855,7 @@ Func_f8598: cp $b jr c, .asm_f85be call Func_f85f2 - ld hl, $c62f + ld hl, wc62f set 0, [hl] .asm_f85be ld hl, $1 @@ -878,7 +881,7 @@ Func_f8598: cp $d jr c, .asm_f85e4 call Func_f85f2 - ld hl, $c62f + ld hl, wc62f set 1, [hl] .asm_f85e4 ld hl, $1 @@ -909,7 +912,7 @@ Func_f85f2: Func_f8606: ld hl, $1 add hl, bc - ld a, [$c5ef] + ld a, [wc5ef] cp $6 jr z, .asm_f863d cp $14 @@ -1005,73 +1008,73 @@ Func_f8606: .asm_f86ad ld a, $40 - ld [$c5e3], a + ld [wc5e3], a xor a - ld [$c5e4], a + ld [wc5e3 + 1], a scf ret Func_f86b8: - ld a, [$c5e4] + ld a, [wc5e3 + 1] cp $2 ret nc ld h, a - ld a, [$c5e3] + ld a, [wc5e3] ld l, a ld de, $2 add hl, de ld a, h - ld [$c5e4], a + ld [wc5e3 + 1], a ld a, l - ld [$c5e3], a + ld [wc5e3], a ret Func_f86d0: - ld a, [$c5e4] + ld a, [wc5e3 + 1] and a jr nz, .asm_f86e2 - ld a, [$c5e3] + ld a, [wc5e3] cp $40 jr nc, .asm_f86e2 xor a - ld [$c5e3], a + ld [wc5e3], a ret .asm_f86e2 - ld a, [$c5e4] + ld a, [wc5e3 + 1] ld h, a - ld a, [$c5e3] + ld a, [wc5e3] ld l, a ld de, $ffc0 add hl, de ld a, h - ld [$c5e4], a + ld [wc5e3 + 1], a ld a, l - ld [$c5e3], a + ld [wc5e3], a ret Func_f86f7: - ld a, [$c5e4] + ld a, [wc5e3 + 1] and a jr nz, .asm_f8709 - ld a, [$c5e3] + ld a, [wc5e3] cp $80 jr nc, .asm_f8709 xor a - ld [$c5e3], a + ld [wc5e3], a ret .asm_f8709 - ld a, [$c5e4] + ld a, [wc5e3 + 1] ld h, a - ld a, [$c5e3] + ld a, [wc5e3] ld l, a ld de, $ff80 add hl, de ld a, h - ld [$c5e4], a + ld [wc5e3 + 1], a ld a, l - ld [$c5e3], a + ld [wc5e3], a ret Func_f871e: @@ -1081,13 +1084,13 @@ Func_f871e: jr c, .asm_f8740 cp $5 jr nc, .asm_f8740 - ld a, [$c5ef] + ld a, [wc5ef] cp $14 jr nz, .asm_f8740 call Func_f87a8 cp $a jr c, .asm_f8740 - ld [$c5ec], a + ld [wc5ec], a call Func_f9284 scf ret @@ -1103,7 +1106,7 @@ Func_f8742: ret c cp $5 ret nc - ld a, [$c5ef] + ld a, [wc5ef] cp $6 jr z, .asm_f8766 cp $14 @@ -1125,7 +1128,7 @@ Func_f8742: ld a, $2 .asm_f876c ld e, a - ld a, [$c5de] + ld a, [wc5de] dec a add e ld hl, $1 @@ -1134,43 +1137,43 @@ Func_f8742: ret Func_f8778: - ld hl, $c5e0 + ld hl, wc5e0 ld a, [hl] inc [hl] and $7 ret nz - ld a, [$c5df] + ld a, [wc5df] and a jr z, .asm_f8796 - ld a, [$c5de] + ld a, [wc5de] and a jr z, .asm_f8791 dec a - ld [$c5de], a + ld [wc5de], a ret .asm_f8791 xor a - ld [$c5df], a + ld [wc5df], a ret .asm_f8796 - ld a, [$c5de] + ld a, [wc5de] cp $2 jr z, .asm_f87a2 inc a - ld [$c5de], a + ld [wc5de], a ret .asm_f87a2 ld a, $1 - ld [$c5df], a + ld [wc5df], a ret Func_f87a8: - ld a, [$c5e3] + ld a, [wc5e3] ld l, a - ld a, [$c5e4] + ld a, [wc5e3 + 1] ld h, a add hl, hl add hl, hl @@ -1179,7 +1182,7 @@ Func_f87a8: ret Func_f87b5: - ld hl, $c5eb + ld hl, wc5eb ld a, [hl] inc [hl] and $3 @@ -1199,13 +1202,13 @@ Func_f87ce: ld a, [hSCX] and $8 jr nz, .asm_f87d9 - ld hl, $c622 + ld hl, wc622 jr .asm_f87dc .asm_f87d9 - ld hl, $c623 + ld hl, wc623 .asm_f87dc - ld a, [$c5f0] + ld a, [wc5f0] cp $6 jr z, .asm_f87ed cp $14 @@ -1284,21 +1287,21 @@ Func_f882b: .asm_f883f ld a, $1 - ld [$c633], a + ld [wc633], a call Func_fbbe8 ret Func_f8848: - ld a, [$c635] + ld a, [wc635] ld e, a ld d, $0 - ld a, [$c5e3] + ld a, [wc5e3] ld l, a - ld a, [$c5e4] + ld a, [wc5e3 + 1] ld h, a add hl, de ld a, l - ld [$c635], a + ld [wc635], a ld d, h ld hl, wOAMBuffer + 5 * 4 + 1 ld e, $9 @@ -1314,7 +1317,7 @@ Func_f8848: ret Func_f886b: - ld a, [$c5ef] + ld a, [wc5ef] ld a, [hSCX] add $48 ld e, a @@ -1324,7 +1327,7 @@ Func_f886b: ld d, $0 ld hl, $9800 add hl, de - ld a, [$c5ea] + ld a, [wc5ea] srl a srl a srl a @@ -1343,7 +1346,7 @@ Func_f886b: jr .asm_f8889 .asm_f889a - ld de, $c5ef + ld de, wc5ef ld a, e ld [H_VBCOPYDEST], a ld a, d @@ -1360,13 +1363,13 @@ Func_f88ae: ld a, [hSCX] and $8 jr nz, .asm_f88b9 - ld hl, $c621 + ld hl, wc621 jr .asm_f88bc .asm_f88b9 - ld hl, $c622 + ld hl, wc622 .asm_f88bc - ld a, [$c5ef] + ld a, [wc5ef] cp $6 jr z, .asm_f88d0 cp $14 @@ -1374,7 +1377,7 @@ Func_f88ae: cp $7 jr z, .asm_f88db ld a, [hl] - ld [$c5ea], a + ld [wc5ea], a ret .asm_f88d0 @@ -1383,18 +1386,18 @@ Func_f88ae: ld e, a ld a, [hl] sub e - ld [$c5ea], a + ld [wc5ea], a ret .asm_f88db ld a, [hSCX] and $7 add [hl] - ld [$c5ea], a + ld [wc5ea], a ret Func_f88e4: - ld hl, $c5d6 + ld hl, wc5d6 ld e, $99 call Func_f88f0 ret nc @@ -1416,7 +1419,7 @@ Func_f88f0: ret Func_f88fd: - ld de, $c5d7 + ld de, wc5d7 ld hl, wOAMBuffer + 0 * 4 + 2 ld a, [de] call Func_f890b @@ -1535,7 +1538,7 @@ Func_f8aa9: ld c, $63 .asm_f8aab push bc - ld hl, $c5d6 + ld hl, wc5d6 ld a, [hli] or [hl] and a @@ -1561,7 +1564,7 @@ Func_f8aa9: Func_f8aca: coord hl, 10, 2 - ld de, $c5d7 + ld de, wc5d7 ld a, [de] call Func_f9350 inc hl @@ -1591,7 +1594,7 @@ Func_f8afb: ld c, $63 .asm_f8afd push bc - ld hl, $c5da + ld hl, wc5da ld a, [hli] ld e, a or [hl] @@ -1623,10 +1626,10 @@ Func_f8afb: ret Func_f8b25: - ld a, [$c5db] + ld a, [wc5db] coord hl, 10, 4 call Func_f9350 - ld a, [$c5da] + ld a, [wc5da] coord hl, 12, 4 call Func_f9350 inc hl @@ -1639,25 +1642,25 @@ Func_f8b25: ret Func_f8b42: - ld a, [$c5dc] + ld a, [wc5dc] add e daa - ld [$c5dc], a - ld a, [$c5dd] + ld [wc5dc], a + ld a, [wc5dd] adc $0 daa - ld [$c5dd], a + ld [wc5dd], a ret nc ld a, $99 - ld [$c5dc], a - ld [$c5dd], a + ld [wc5dc], a + ld [wc5dd], a ret Func_f8b5d: - ld a, [$c5dd] + ld a, [wc5dd] coord hl, 10, 6 call Func_f9350 - ld a, [$c5dc] + ld a, [wc5dc] coord hl, 12, 6 call Func_f9350 inc hl @@ -1683,12 +1686,12 @@ Tilemap_f8b8d: Func_f8b92: ld hl, wd496 - ld a, [$c5dd] + ld a, [wc5dd] cp [hl] jr c, .asm_f8ba6 jr nz, .asm_f8bb0 dec hl - ld a, [$c5dc] + ld a, [wc5dc] cp [hl] jr c, .asm_f8ba6 jr nz, .asm_f8bb0 @@ -1700,9 +1703,9 @@ Func_f8b92: ret .asm_f8bb0 - ld a, [$c5dc] + ld a, [wc5dc] ld [wd495], a - ld a, [$c5dd] + ld a, [wc5dd] ld [wd496], a call WaitForSoundToFinish ld e, $21 @@ -1721,24 +1724,24 @@ Func_f8bcb: ; f8bcb (3e:4bcb) ret Func_f8bdf: - ld a, [$c5d9] + ld a, [wc5d9] inc a cp $4 jr c, .asm_f8be9 ld a, $3 .asm_f8be9 - ld [$c5d9], a + ld [wc5d9], a ret Func_f8bed: - ld a, [$c5d9] + ld a, [wc5d9] and a ret z - ld a, [$c62f] + ld a, [wc62f] and $3 cp $3 jr z, .asm_f8c2b - ld a, [$c5d9] + ld a, [wc5d9] ld d, a ld e, $1 ld a, $0 @@ -1762,7 +1765,7 @@ Func_f8bed: ld hl, $4 add hl, bc ld e, [hl] - ld a, [$c5d9] + ld a, [wc5d9] add $3 push bc call Func_fbb93 @@ -1770,7 +1773,7 @@ Func_f8bed: ret .asm_f8c2b - ld a, [$c5d9] + ld a, [wc5d9] cp $3 jr c, .asm_f8c53 ld a, $a @@ -1819,67 +1822,67 @@ Func_f8bed: ret Func_f8c7c: - ld a, [$c5da] + ld a, [wc5da] add e daa - ld [$c5da], a - ld a, [$c5db] + ld [wc5da], a + ld a, [wc5db] adc $0 daa - ld [$c5db], a + ld [wc5db], a ret nc ld a, $99 - ld [$c5da], a - ld [$c5db], a + ld [wc5da], a + ld [wc5db], a ret Func_f8c97: ld a, $a0 - ld [$c62e], a + ld [wc62e], a ld a, [hSCX] ld h, a - ld a, [$c617] + ld a, [wc617] ld l, a ld de, $900 add hl, de ld a, l - ld [$c617], a + ld [wc617], a ld a, h ld [hSCX], a jr Func_f8cc7 Func_f8cb0: ld a, $a0 - ld [$c62e], a + ld [wc62e], a ld a, [hSCX] ld h, a - ld a, [$c617] + ld a, [wc617] ld l, a ld de, $180 add hl, de ld a, l - ld [$c617], a + ld [wc617], a ld a, h ld [hSCX], a Func_f8cc7: - ld hl, $c618 + ld hl, wc618 ld a, [hSCX] cp [hl] ret z ld [hl], a and $f0 - ld hl, $c619 + ld hl, wc619 cp [hl] ret z ld [hl], a call Func_f8d44 ld a, b - ld [$c5e8], a + ld [wc5e8], a ld a, c - ld [$c5e9], a + ld [wc5e9], a push de - ld hl, $c61a - ld de, $c61c + ld hl, wc61a + ld de, wc61c ld c, $12 .asm_f8ceb ld a, [de] @@ -1887,9 +1890,9 @@ Func_f8cc7: ld [hli], a dec c jr nz, .asm_f8ceb - ld a, [$c5e8] + ld a, [wc5e8] ld [hli], a - ld a, [$c5e9] + ld a, [wc5e9] ld [hl], a pop de ld hl, wRedrawRowOrColumnSrcTiles @@ -1900,7 +1903,7 @@ Func_f8cc7: inc de dec c jr nz, .asm_f8cff - ld a, [$c62e] + ld a, [wc62e] ld e, a ld a, [hSCX] add e @@ -1948,7 +1951,7 @@ Func_f8d28: ret Func_f8d44: - ld a, [$c5d3] + ld a, [wc5d3] ld e, a ld d, $0 ld hl, Jumptable_f8d53 @@ -2086,7 +2089,7 @@ Jumptable_f8d53: dw Func_f8f8b Func_f8e4b: - ld a, [$c5e5] + ld a, [wc5e5] cp $16 jr c, .asm_f8e5a jr z, .asm_f8e56 @@ -2096,7 +2099,7 @@ Func_f8e4b: jr .asm_f8e6b .asm_f8e5a - ld a, [$c5d5] + ld a, [wc5d5] and a jr z, .asm_f8e6e dec a @@ -2107,7 +2110,7 @@ Func_f8e4b: add hl, de ld a, [hl] .asm_f8e6b - ld [$c5d3], a + ld [wc5d3], a .asm_f8e6e lb bc, $74, $74 ld de, Unkn_f973d @@ -2283,17 +2286,17 @@ Func_f8f9d: Func_f8fa4: inc a - ld [$c5d3], a + ld [wc5d3], a ret Func_f8fa9: - ld hl, $c5d3 + ld hl, wc5d3 inc [hl] ret Func_f8fae: xor a - ld [$c5d3], a + ld [wc5d3], a ret Func_f8fb3: @@ -2308,22 +2311,22 @@ Func_f8fb3: ld bc, $900 ld a, $20 call FarCopyData - ld a, $d3 - ld [$c5c0], a - ld a, $53 - ld [$c5c1], a - ld a, $fa - ld [$c5c4], a - ld a, $53 - ld [$c5c5], a - ld a, $7 - ld [$c5c6], a - ld a, $55 - ld [$c5c7], a - ld a, $5 - ld [$c5c2], a - ld a, $54 - ld [$c5c3], a + ld a, Unkn_f93d3 % $100 + ld [wc5c0], a + ld a, Unkn_f93d3 / $100 + ld [wc5c0 + 1], a + ld a, Unkn_f93fa % $100 + ld [wc5c4], a + ld a, Unkn_f93fa / $100 + ld [wc5c4 + 1], a + ld a, Unkn_f9507 % $100 + ld [wc5c6], a + ld a, Unkn_f9507 / $100 + ld [wc5c6 + 1], a + ld a, Unkn_f9405 % $100 + ld [wc5c2], a + ld a, Unkn_f9405 / $100 + ld [wc5c2 + 1], a ld a, $c lb de, $74, $58 call Func_fbb93 @@ -2354,13 +2357,13 @@ Func_f8fb3: ld c, $20 call PlayMusic xor a - ld [$c633], a + ld [wc633], a .asm_f9041 - ld a, [$c633] + ld a, [wc633] and a ret nz ld a, $0 - ld [$c5bd], a + ld [wc5bd], a call Func_fbb65 call DelayFrame jr .asm_f9041 @@ -2431,11 +2434,9 @@ Tilemap_f91ac: INCBIN "gfx/unknown_f91ac.map" Tilemap_f91bb: INCBIN "gfx/unknown_f91bb.map" Tilemap_f91c8: INCBIN "gfx/unknown_f91c8.map" -Unkn_f91d7: INCBIN "gfx/unknown_f91d7.bin" - Func_f9210: - ld hl, $c710 - ld de, $c711 + ld hl, wc710 + ld de, wc710 + 1 ld c, $80 ld a, [hl] push af @@ -2450,7 +2451,7 @@ Func_f9210: ret Func_f9223: - ld hl, $c700 + ld hl, wc700 ld bc, $100 ld de, $0 .asm_f922c @@ -2516,27 +2517,27 @@ Func_f9279: Func_f9284: xor a - ld [$c5ed], a - ld [$c5ee], a + ld [wc5ed], a + ld [wc5ee], a ret Func_f928c: - ld a, [$c5ed] + ld a, [wc5ed] and a jr nz, .asm_f92e4 - ld a, [$c5ec] + ld a, [wc5ec] ld d, a - ld a, [$c5ee] + ld a, [wc5ee] or d jr z, .asm_f92dd - ld a, [$c5ee] + ld a, [wc5ee] ld e, a ld hl, $ff80 add hl, de ld a, l - ld [$c5ee], a + ld [wc5ee], a ld a, h - ld [$c5ec], a + ld [wc5ec], a ld e, a ld d, $0 call Func_f9340 @@ -2573,12 +2574,12 @@ Func_f928c: .asm_f92dd ld a, $1 - ld [$c5ed], a + ld [wc5ed], a and a ret .asm_f92e4 - ld a, [$c5ea] + ld a, [wc5ea] ld e, a ld hl, $5 add hl, bc @@ -2588,16 +2589,16 @@ Func_f928c: cp e jr nc, .asm_f9330 .asm_f92f4 - ld a, [$c5ec] + ld a, [wc5ec] ld d, a - ld a, [$c5ee] + ld a, [wc5ee] ld e, a ld hl, $80 add hl, de ld a, l - ld [$c5ee], a + ld [wc5ee], a ld a, h - ld [$c5ec], a + ld [wc5ec], a ld e, a ld d, $0 call Func_f9340 @@ -2628,7 +2629,7 @@ Func_f928c: .asm_f9330 ld hl, $5 add hl, bc - ld a, [$c5ea] + ld a, [wc5ea] ld [hl], a ld hl, $c add hl, bc @@ -2705,8 +2706,307 @@ Func_f9377: Unkn_f9393: sine_wave $100 -Unkn_f93d3: INCBIN "gfx/unknown_f93d3.bin" - +Unkn_f93d3: + db $00, $00, $00 + db $04, $01, $00 + db $11, $02, $00 + db $12, $02, $00 + db $15, $00, $00 + db $16, $00, $00 + db $17, $00, $00 + db $18, $00, $00 + db $19, $00, $00 + db $1a, $00, $00 + db $14, $00, $00 + db $13, $03, $00 + db $1b, $04, $00 + +Unkn_f93fa: + dw Func_f9404 + dw Func_f8470 + dw Func_f87fb + dw Func_f880b + dw Func_f882b + +Func_f9404: + ret + +Unkn_f9405: + dw Unkn_f943d + dw Unkn_f9440 + dw Unkn_f9445 + dw Unkn_f944a + dw Unkn_f944f + dw Unkn_f9454 + dw Unkn_f9459 + dw Unkn_f945e + dw Unkn_f9463 + dw Unkn_f9468 + dw Unkn_f946d + dw Unkn_f9472 + dw Unkn_f9477 + dw Unkn_f947c + dw Unkn_f9481 + dw Unkn_f9486 + dw Unkn_f948b + dw Unkn_f9494 + dw Unkn_f9499 + dw Unkn_f949e + dw Unkn_f94fb + dw Unkn_f94a1 + dw Unkn_f94b0 + dw Unkn_f94bf + dw Unkn_f94ce + dw Unkn_f94dd + dw Unkn_f94ec + dw Unkn_f94fe + +Unkn_f943d: + db $00,$20 + db $ff +Unkn_f9440: + db $01,$08, $02,$08 + db $fe +Unkn_f9445: + db $03,$08, $04,$08 + db $fe +Unkn_f944a: + db $05,$08, $06,$08 + db $fe +Unkn_f944f: + db $07,$08, $08,$08 + db $fe +Unkn_f9454: + db $09,$08, $0a,$08 + db $fe +Unkn_f9459: + db $0b,$08, $0c,$08 + db $fe +Unkn_f945e: + db $0d,$08, $0e,$08 + db $fe +Unkn_f9463: + db $01,$c8, $02,$c8 + db $fe +Unkn_f9468: + db $03,$c8, $04,$c8 + db $fe +Unkn_f946d: + db $05,$c8, $06,$c8 + db $fe +Unkn_f9472: + db $07,$c8, $08,$c8 + db $fe +Unkn_f9477: + db $09,$c8, $0a,$c8 + db $fe +Unkn_f947c: + db $0b,$c8, $0c,$c8 + db $fe +Unkn_f9481: + db $0d,$c8, $0e,$c8 + db $fe +Unkn_f9486: + db $11,$07, $12,$07 + db $fe +Unkn_f948b: + db $13,$02, $14,$02, $fd,$08, $15,$02 + db $ff +Unkn_f9494: + db $16,$20, $16,$20 + db $fc +Unkn_f9499: + db $17,$20, $17,$20 + db $fc +Unkn_f949e: + db $18,$20 + db $ff +Unkn_f94a1: + db $1a,$04, $fd,$01, $1a,$03, $fd,$01, $1a,$02, $fd,$01, $1a,$01 + db $fc +Unkn_f94b0: + db $1b,$04, $fd,$01, $1b,$03, $fd,$01, $1b,$02, $fd,$01, $1b,$01 + db $fc +Unkn_f94bf: + db $1c,$04, $fd,$01, $1c,$03, $fd,$01, $1c,$02, $fd,$01, $1c,$01 + db $fc +Unkn_f94ce: + db $1d,$04, $fd,$01, $1d,$03, $fd,$01, $1d,$02, $fd,$01, $1d,$01 + db $fc +Unkn_f94dd: + db $1e,$04, $fd,$01, $1e,$03, $fd,$01, $1e,$02, $fd,$01, $1e,$01 + db $fc +Unkn_f94ec: + db $1f,$04, $fd,$01, $1f,$03, $fd,$01, $1f,$02, $fd,$01, $1f,$01 + db $fc +Unkn_f94fb: + db $19,$01 + db $fc +Unkn_f94fe: + db $20,$07, $21,$07, $22,$07, $23,$07 + db $fe + +Unkn_f9507: + dbw $00, Unkn_f9573 + dbw $00, Unkn_f9578 + dbw $36, Unkn_f9578 + dbw $03, Unkn_f9578 + dbw $39, Unkn_f9578 + dbw $06, Unkn_f9578 + dbw $3c, Unkn_f9578 + dbw $09, Unkn_f9578 + dbw $60, Unkn_f9578 + dbw $0c, Unkn_f9578 + dbw $63, Unkn_f9578 + dbw $30, Unkn_f9578 + dbw $66, Unkn_f9578 + dbw $33, Unkn_f9578 + dbw $69, Unkn_f9578 + dbw $6c, Unkn_f9578 + dbw $9c, Unkn_f9578 + dbw $a0, Unkn_f9578 + dbw $a3, Unkn_f9578 + dbw $a7, Unkn_f95db + dbw $a8, Unkn_f95f4 + dbw $98, Unkn_f9625 + dbw $e0, Unkn_f959d + dbw $e6, Unkn_f959d + dbw $ca, Unkn_f959d + dbw $a7, Unkn_f95ce + dbw $00, Unkn_f9632 + dbw $00, Unkn_f963f + dbw $00, Unkn_f9650 + dbw $00, Unkn_f9661 + dbw $00, Unkn_f9672 + dbw $00, Unkn_f9683 + dbw $80, Unkn_f9694 + dbw $84, Unkn_f9694 + dbw $88, Unkn_f9694 + dbw $8c, Unkn_f9694 + +Unkn_f9573: + db 1 + db $fc, $fc, $00, $00 + +Unkn_f9578: + db 9 + db $f4, $f4, $00, $00 + db $f4, $fc, $01, $00 + db $f4, $04, $02, $00 + db $fc, $f4, $10, $00 + db $fc, $fc, $11, $00 + db $fc, $04, $12, $00 + db $04, $f4, $20, $00 + db $04, $fc, $21, $00 + db $04, $04, $22, $00 + +Unkn_f959d: + db 12 + db $f8, $e8, $00, $00 + db $f8, $f0, $01, $00 + db $f8, $f8, $02, $00 + db $f8, $00, $03, $00 + db $f8, $08, $04, $00 + db $f8, $10, $05, $00 + db $00, $e8, $10, $00 + db $00, $f0, $11, $00 + db $00, $f8, $12, $00 + db $00, $00, $13, $00 + db $00, $08, $14, $00 + db $00, $10, $15, $00 + +Unkn_f95ce: + db 3 + db $fc, $0b, $00, $10 + db $04, $03, $0f, $10 + db $04, $0b, $10, $10 + +Unkn_f95db: + db 6 + db $fc, $f0, $00, $30 + db $fc, $08, $00, $10 + db $04, $f0, $10, $30 + db $04, $f8, $0f, $30 + db $04, $00, $0f, $10 + db $04, $08, $10, $10 + +Unkn_f95f4: + db 12 + db $f4, $f0, $00, $10 + db $f4, $f8, $01, $10 + db $f4, $00, $01, $30 + db $f4, $08, $00, $30 + db $fc, $f0, $10, $10 + db $fc, $f8, $11, $10 + db $fc, $00, $11, $30 + db $fc, $08, $10, $30 + db $04, $f0, $20, $10 + db $04, $f8, $21, $10 + db $04, $00, $21, $30 + db $04, $08, $20, $30 + +Unkn_f9625: + db 3 + db $04, $f4, $00, $00 + db $04, $fc, $01, $00 + db $04, $04, $02, $00 + +Unkn_f9632: + db 3 + db $fc, $f4, $bf, $00 + db $fc, $fc, $d5, $00 + db $fc, $04, $d0, $00 + +Unkn_f963f: + db 4 + db $fc, $f0, $bf, $00 + db $fc, $f8, $d1, $00 + db $fc, $00, $d5, $00 + db $fc, $08, $d0, $00 + +Unkn_f9650: + db 4 + db $fc, $f0, $bf, $00 + db $fc, $f8, $d3, $00 + db $fc, $00, $d5, $00 + db $fc, $08, $d0, $00 + +Unkn_f9661: + db 4 + db $fc, $f0, $bf, $00 + db $fc, $f8, $d7, $00 + db $fc, $00, $d5, $00 + db $fc, $08, $d0, $00 + +Unkn_f9672: + db 4 + db $fc, $f0, $bf, $00 + db $fc, $f8, $d1, $00 + db $fc, $00, $d8, $00 + db $fc, $08, $d0, $00 + +Unkn_f9683: + db 4 + db $fc, $f0, $bf, $00 + db $fc, $f8, $d5, $00 + db $fc, $00, $d0, $00 + db $fc, $08, $d0, $00 + +Unkn_f9694: + db 12 + db $f4, $f0, $03, $20 + db $f4, $f8, $02, $20 + db $f4, $00, $01, $20 + db $f4, $08, $00, $20 + db $fc, $f0, $13, $20 + db $fc, $f8, $12, $20 + db $fc, $00, $11, $20 + db $fc, $08, $10, $20 + db $04, $f0, $23, $20 + db $04, $f8, $22, $20 + db $04, $00, $21, $20 + db $04, $08, $20, $20 + Unkn_f96c5: db 0 db 0 @@ -2838,7 +3138,7 @@ PlayIntroScene: call Func_f9f0d call DelayFrame .asm_f9841 - ld a, [$c634] + ld a, [wc634] bit 7, a jr nz, .asm_f986e call JoypadLowSensitivity @@ -2847,9 +3147,9 @@ PlayIntroScene: jr nz, .asm_f986e call Func_f98fc ld a, $0 - ld [$c5bd], a + ld [wc5bd], a call Func_fbb65 - ld a, [$c634] + ld a, [wc634] cp $7 call z, Func_f98a2 cp $b @@ -2924,7 +3224,7 @@ Func_f98cb: ret Func_f98fc: - ld a, [$c634] + ld a, [wc634] ld hl, Jumptable_f9906 call Func_fa06e jp [hl] @@ -2950,7 +3250,7 @@ Jumptable_f9906: dw Func_f9e12 Func_f992a: - ld hl, $c634 + ld hl, wc634 inc [hl] ret @@ -2974,7 +3274,7 @@ Func_f992f: call UpdateGBCPal_OBP0 call UpdateGBCPal_OBP1 ld a, $82 - ld [$c635], a + ld [wc635], a call Func_f992a ret @@ -3184,8 +3484,8 @@ Func_f9ab1: ld hl, hSCX inc [hl] inc [hl] - ld hl, $c800 - ld de, $c801 + ld hl, wc800 + ld de, wc800 + 1 ld a, [hl] push af ld c, $ff @@ -3288,10 +3588,10 @@ Unkn_f9bf2: INCBIN "gfx/unknown_f9bf2.map" Func_f9bf6: call Func_f9e41 jr c, .asm_f9c25 - ld a, [$c635] + ld a, [wc635] and $7 ret nz - ld a, [$c635] + ld a, [wc635] and $8 sla a sla a @@ -3424,13 +3724,13 @@ Func_f9d22: call Func_f9e1d call Func_f992a ld a, $28 - ld [$c635], a + ld [wc635], a ret Func_f9d8f: call Func_f9e41 jr c, .asm_f9dad - ld a, [$c635] + ld a, [wc635] and $3 ret nz ld a, [rOBP0] @@ -3488,38 +3788,38 @@ Unkn_f9e0a: Func_f9e12: ld c, 64 call DelayFrames - ld hl, $c634 + ld hl, wc634 set 7, [hl] ret Func_f9e1d: call Func_fbb93 ld a, c - ld [$c636], a + ld [wc636], a ld a, b - ld [$c637], a + ld [wc636 + 1], a ret Func_f9e29: - ld a, [$c636] + ld a, [wc636] ld c, a - ld a, [$c637] + ld a, [wc636 + 1] ld b, a call Func_fbbe8 ret Func_f9e35: ld a, $80 - ld [$c635], a + ld [wc635], a ret Func_f9e3b: ld a, $58 - ld [$c635], a + ld [wc635], a ret Func_f9e41: - ld hl, $c635 + ld hl, wc635 ld a, [hl] and a jr z, .asm_f9e4b @@ -3532,7 +3832,7 @@ Func_f9e41: ret Func_f9e4d: - ld hl, $c635 + ld hl, wc635 ld a, [hl] inc [hl] ld l, a @@ -3597,7 +3897,7 @@ Func_f9e9a: ret Func_f9ec4: - ld de, $c800 + ld de, wc800 ld a, $8 .asm_f9ec9 push af @@ -3665,7 +3965,7 @@ Func_f9f0d: ld b, $8 call RunPaletteCommand xor a - ld hl, $c634 + ld hl, wc634 ld [hli], a ld [hli], a ld [hli], a @@ -3677,21 +3977,21 @@ Func_f9f0d: Func_f9f75: ld a, Unkn_f9fda % $100 - ld [$c5c0], a + ld [wc5c0], a ld a, Unkn_f9fda / $100 - ld [$c5c1], a + ld [wc5c0 + 1], a ld a, Jumptable_f9ffb % $100 - ld [$c5c4], a + ld [wc5c4], a ld a, Jumptable_f9ffb / $100 - ld [$c5c5], a + ld [wc5c4 + 1], a ld a, Unkn_fa13d % $100 - ld [$c5c6], a + ld [wc5c6], a ld a, Unkn_fa13d / $100 - ld [$c5c7], a + ld [wc5c6 + 1], a ld a, Unkn_fa0ea % $100 - ld [$c5c2], a + ld [wc5c2], a ld a, Unkn_fa0ea / $100 - ld [$c5c3], a + ld [wc5c2 + 1], a ret Func_f9f9e: @@ -4122,7 +4422,7 @@ Func_fbb5a: ; fbb5a (3e:7b5a) ret Func_fbb65: - ld hl, $c51c + ld hl, wc51c ld e, $a .asm_fbb6a ld a, [hl] @@ -4142,7 +4442,7 @@ Func_fbb65: add hl, bc dec e jr nz, .asm_fbb6a - ld a, [$c5bd] + ld a, [wc5bd] ld l, a ld h, $c3 .asm_fbb89 @@ -4159,7 +4459,7 @@ Func_fbb65: Func_fbb93: push de push af - ld hl, $c51c + ld hl, wc51c ld e, $a .asm_fbb9a ld a, [hl] @@ -4178,13 +4478,13 @@ Func_fbb93: pop af ld c, l ld b, h - ld hl, $c5bc + ld hl, wc5bc inc [hl] ld e, a ld d, $0 - ld a, [$c5c0] + ld a, [wc5c0] ld l, a - ld a, [$c5c1] + ld a, [wc5c0 + 1] ld h, a add hl, de add hl, de @@ -4193,7 +4493,7 @@ Func_fbb93: ld d, h ld hl, $0 add hl, bc - ld a, [$c5bc] + ld a, [wc5bc] ld [hli], a ld a, [de] ld [hli], a @@ -4233,7 +4533,7 @@ Func_fbbe8: ret Func_fbbef: - ld hl, $c51c + ld hl, wc51c ld e, $a .asm_fbbf4 ld [hl], $0 @@ -4245,45 +4545,45 @@ Func_fbbef: Func_fbbfe: xor a - ld [$c5c8], a + ld [wc5c8], a ld hl, $3 add hl, bc ld a, [hli] - ld [$c5c9], a + ld [wc5c9], a ld a, [hli] - ld [$c5ca], a + ld [wc5ca], a ld a, [hli] - ld [$c5cb], a + ld [wc5cb], a ld a, [hli] - ld [$c5cc], a + ld [wc5cc], a ld a, [hl] - ld [$c5cd], a + ld [wc5cd], a call Func_fbcec cp $fd jr z, .asm_fbc8d cp $fc jr z, .asm_fbc8a call Func_fbcc5 - ld a, [$c5c9] + ld a, [wc5c9] add [hl] - ld [$c5c9], a + ld [wc5c9], a inc hl ld a, [hli] ld h, [hl] ld l, a push bc - ld a, [$c5bd] + ld a, [wc5bd] ld e, a ld d, $c3 ld a, [hli] ld c, a .asm_fbc3c - ld a, [$c5cb] + ld a, [wc5cb] ld b, a - ld a, [$c5cd] + ld a, [wc5cd] add b ld b, a - ld a, [$c5ce] + ld a, [wc5ce] add b ld b, a call Func_fbc92 @@ -4291,12 +4591,12 @@ Func_fbbfe: ld [de], a inc hl inc de - ld a, [$c5ca] + ld a, [wc5ca] ld b, a - ld a, [$c5cc] + ld a, [wc5cc] add b ld b, a - ld a, [$c5cf] + ld a, [wc5cf] add b ld b, a call Func_fbca2 @@ -4304,14 +4604,14 @@ Func_fbbfe: ld [de], a inc hl inc de - ld a, [$c5c9] + ld a, [wc5c9] add [hl] ld [de], a inc hl inc de call Func_fbcb2 ld b, a - ld a, [$c634] + ld a, [wc634] cp $7 ld a, b jr z, .asm_fbc7a @@ -4320,7 +4620,7 @@ Func_fbbfe: inc hl inc de ld a, e - ld [$c5bd], a + ld [wc5bd], a cp $a0 jr nc, .asm_fbc8f dec c @@ -4342,7 +4642,7 @@ Func_fbbfe: Func_fbc92: push hl ld a, [hl] - ld hl, $c5c8 + ld hl, wc5c8 bit 6, [hl] jr z, .asm_fbca0 add $8 @@ -4355,7 +4655,7 @@ Func_fbc92: Func_fbca2: push hl ld a, [hl] - ld hl, $c5c8 + ld hl, wc5c8 bit 5, [hl] jr z, .asm_fbcb0 add $8 @@ -4366,7 +4666,7 @@ Func_fbca2: ret Func_fbcb2: - ld a, [$c5c8] + ld a, [wc5c8] ld b, a ld a, [hl] xor b @@ -4383,9 +4683,9 @@ Func_fbcb2: Func_fbcc5: ld e, a ld d, $0 - ld a, [$c5c6] + ld a, [wc5c6] ld l, a - ld a, [$c5c7] + ld a, [wc5c6 + 1] ld h, a add hl, de add hl, de @@ -4444,7 +4744,7 @@ Func_fbcec: ld a, [hl] and $c0 srl a - ld [$c5c8], a + ld [wc5c8], a pop af ret @@ -4475,9 +4775,9 @@ Func_fbd43: add hl, bc ld e, [hl] ld d, $0 - ld a, [$c5c2] + ld a, [wc5c2] ld l, a - ld a, [$c5c3] + ld a, [wc5c2 + 1] ld h, a add hl, de add hl, de @@ -4497,9 +4797,9 @@ Func_fbd61: add hl, bc ld e, [hl] ld d, $0 - ld a, [$c5c4] + ld a, [wc5c4] ld l, a - ld a, [$c5c5] + ld a, [wc5c4 + 1] ld h, a add hl, de add hl, de diff --git a/gfx/unknown_f91c8.map b/gfx/unknown_f91c8.map index 75affe81..20d18de5 100644 --- a/gfx/unknown_f91c8.map +++ b/gfx/unknown_f91c8.map @@ -1 +1 @@ -¶·¸¹ÿÿÿºÿÿÿÿ»¼½ \ No newline at end of file +¶·¸¹ÿÿÿºÿÿÿÿ»¼½¾¿ÀÁÂÃÄÅÿÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÿÿÿÝÞßàáâãäÿÿÿÿåæçèéêëìÿÿ \ No newline at end of file diff --git a/gfx/unknown_f91d7.bin b/gfx/unknown_f91d7.bin deleted file mode 100644 index 1f493443..00000000 --- a/gfx/unknown_f91d7.bin +++ /dev/null @@ -1 +0,0 @@ -¾¿ÀÁÂÃÄÅÿÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÿÿÿÝÞßàáâãäÿÿÿÿåæçèéêëìÿÿ \ No newline at end of file diff --git a/gfx/unknown_f93d3.bin b/gfx/unknown_f93d3.bin deleted file mode 100644 index 435aeab5..00000000 Binary files a/gfx/unknown_f93d3.bin and /dev/null differ diff --git a/wram.asm b/wram.asm index 43112abf..3d6ab940 100755 --- a/wram.asm +++ b/wram.asm @@ -266,7 +266,7 @@ wOAMBuffer:: ; c300 wTileMap:: ; c3a0 ; buffer for tiles that are visible on screen (20 columns by 18 rows) - ds 20 * 18 + ds SCREEN_HEIGHT * SCREEN_WIDTH wSerialPartyMonsPatchList:: ; c508 ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer @@ -275,13 +275,138 @@ wTileMapBackup:: ; c508 ; buffer for temporarily saving and restoring current screen's tiles ; (e.g. if menus are drawn on top) ; ds 20 * 18 - - ds 200 + ds 20 +wc51c:: ; c51c + ds 160 +wc5bc:: ; c5bc + ds 1 +wc5bd:: ; c5bd + ds 3 +wc5c0:: ; c5c0 + dw +wc5c2:: ; c5c2 + dw +wc5c4:: ; c5c4 + dw +wc5c6:: ; c5c6 + dw +wc5c8:: ; c5c8 + ds 1 +wc5c9:: ; c5c9 + ds 1 +wc5ca:: ; c5ca + ds 1 +wc5cb:: ; c5cb + ds 1 +wc5cc:: ; c5cc + ds 1 +wc5cd:: ; c5cd + ds 1 +wc5ce:: ; c5ce + ds 1 +wc5cf:: ; c5cf + ds 1 wSerialEnemyMonsPatchList:: ; c5d0 ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer - ds 200 + ds 1 +wc5d1:: ; c5d1 + ds 1 +wc5d2:: ; c5d2 + ds 1 +wc5d3:: ; c5d3 + ds 2 +wc5d5:: ; c5d5 + ds 1 +wc5d6:: ; c5d6 + ds 1 +wc5d7:: ; c5d7 + ds 2 +wc5d9:: ; c5d9 + ds 1 +wc5da:: ; c5da + ds 1 +wc5db:: ; c5db + ds 1 +wc5dc:: ; c5dc + ds 1 +wc5dd:: ; c5dd + ds 1 +wc5de:: ; c5de + ds 1 +wc5df:: ; c5df + ds 1 +wc5e0:: ; c5e0 + ds 1 +wc5e1:: ; c5e1 + ds 1 +wc5e2:: ; c5e2 + ds 1 +wc5e3:: ; c5e3 + ds 2 +wc5e5:: ; c5e5 + ds 1 +wc5e6:: ; c5e6 + ds 1 +wc5e7:: ; c5e7 + ds 1 +wc5e8:: ; c5e8 + ds 1 +wc5e9:: ; c5e9 + ds 1 +wc5ea:: ; c5ea + ds 1 +wc5eb:: ; c5eb + ds 1 +wc5ec:: ; c5ec + ds 1 +wc5ed:: ; c5ed + ds 1 +wc5ee:: ; c5ee + ds 1 +wc5ef:: ; c5ef + ds 1 +wc5f0:: ; c5f0 + ds 39 +wc617:: ; c617 + ds 1 +wc618:: ; c618 + ds 1 +wc619:: ; c619 + ds 1 +wc61a:: ; c61a + ds 2 +wc61c:: ; c61c + ds 5 +wc621:: ; c621 + ds 1 +wc622:: ; c622 + ds 1 +wc623:: ; c623 + ds 11 +wc62e:: ; c62e + ds 1 +wc62f:: ; c62f + ds 1 +wc630:: ; c630 + ds 1 +wc631:: ; c631 + ds 1 +wc632:: ; c632 + ds 1 +wc633:: ; c633 + ds 1 +wc634:: ; c634 + ds 1 +wc635:: ; c635 + ds 1 +wc636:: ; c636 + ds 2 + +; c638 + ds 96 +; c698 ds 80 wTempPic:: -- cgit v1.2.3 From e123bdf9784f752bda939a9040b6cc39e0ce014e Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 5 Jun 2016 12:42:34 -0400 Subject: Resolve HRAM labels in Bank 3E --- engine/bank3e.asm | 58 +++++++++++++------------------------------------ scripts/beach_house.asm | 2 +- 2 files changed, 16 insertions(+), 44 deletions(-) diff --git a/engine/bank3e.asm b/engine/bank3e.asm index c46e24bc..44fdee42 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -1,5 +1,5 @@ -Func_f8000: - call Func_f9254 +SurfingPikachuMinigame: + call SurfingPikachuMinigame_BlankPals call DelayFrame call DelayFrame call DelayFrame @@ -19,10 +19,10 @@ Func_f8000: ld [rIE], a ld a, $8 ld [rSTAT], a - ld a, [$ffbd] + ld a, [H_AUTOBGTRANSFERDEST + 1] push af ld a, $98 - ld [$ffbd], a + ld [H_AUTOBGTRANSFERDEST + 1], a call Func_f8fb3 call Func_f807a xor a @@ -42,7 +42,7 @@ Func_f8000: ld [hWY], a call DelayFrame pop af - ld [$ffbd], a + ld [H_AUTOBGTRANSFERDEST + 1], a xor a ld [rIF], a pop af @@ -64,7 +64,7 @@ Func_f807a: call DelayFrame ld b, $e call RunPaletteCommand -.asm_f8085 +.loop ld a, [wc5d1] bit 7, a ret nz @@ -78,7 +78,7 @@ Func_f807a: call Func_f8848 call Func_f80a8 call Func_f80c4 - jr .asm_f8085 + jr .loop Func_f80a8: call DelayFrame @@ -1918,7 +1918,7 @@ Func_f8cc7: ld a, l ld [hRedrawRowOrColumnDest], a ld a, h - ld [$ffd2], a + ld [hRedrawRowOrColumnDest + 1], a ld a, $1 ld [hRedrawRowOrColumnMode], a ret @@ -2487,7 +2487,7 @@ Func_f923f: ld [hJoy5], a ret -Func_f9254: +SurfingPikachuMinigame_BlankPals: xor a ld [rBGP], a ld [rOBP0], a @@ -2497,7 +2497,7 @@ Func_f9254: call UpdateGBCPal_OBP1 ret -Func_f9265: +SurfingPikachuMinigame_NormalPals: ld a, $e4 ld [rBGP], a ld [rOBP0], a @@ -3008,38 +3008,10 @@ Unkn_f9694: db $04, $08, $20, $20 Unkn_f96c5: - db 0 - db 0 - db 0 - db 1 - db 1 - db 1 - db 1 - db 2 - db 2 - db 2 - db 1 - db 1 - db 1 - db 1 - db 0 - db 0 - db 0 - db 0 - db 0 - db -1 - db -1 - db -1 - db -1 - db -2 - db -2 - db -2 - db -1 - db -1 - db -1 - db -1 - db 0 - db 0 + db 0, 0, 0, 1, 1, 1, 1, 2 + db 2, 2, 1, 1, 1, 1, 0, 0 + db 0, 0, 0, -1, -1, -1, -1, -2 + db -2, -2, -1, -1, -1, -1, 0, 0 Unkn_f96e5: db $00, $00, $00, $00 @@ -3935,7 +3907,7 @@ Func_f9f0d: ld [hSCY], a ld [H_AUTOBGTRANSFERDEST], a ld a, $98 - ld [$ffbd], a + ld [H_AUTOBGTRANSFERDEST + 1], a call Func_f9f9e ld hl, wTileMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT diff --git a/scripts/beach_house.asm b/scripts/beach_house.asm index 6d53b7ce..fb0d78f2 100644 --- a/scripts/beach_house.asm +++ b/scripts/beach_house.asm @@ -35,7 +35,7 @@ SurfinDudeText: jr nz, .asm_f226b ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - callba Func_f8000 + callba SurfingPikachuMinigame ld hl, wPreventBlackout set 1, [hl] jr .done -- cgit v1.2.3 From 2f0305d80a0f64c093eabceb434a2fd0c122caa2 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 5 Jun 2016 14:54:57 -0400 Subject: This looks like Gen 2's object animation engine --- constants/oam_constants.asm | 15 + engine/animated_objects_3e.asm | 394 ++++++++++++++++++++ engine/bank3e.asm | 801 +++++++++++++---------------------------- wram.asm | 42 ++- 4 files changed, 693 insertions(+), 559 deletions(-) create mode 100755 engine/animated_objects_3e.asm diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm index ddf95648..8e855fc9 100755 --- a/constants/oam_constants.asm +++ b/constants/oam_constants.asm @@ -7,3 +7,18 @@ OAMFLAG_VFLIPPED EQU %00100000 ; OAM flag flips the sprite vertically. ; OAM attribute flags OAM_HFLIP EQU %00100000 ; horizontal flip OAM_VFLIP EQU %01000000 ; vertical flip + +frame: MACRO + db \1 +x = \2 +REPT _NARG +- 2 +x = x | (\3 << 1) + shift +endr + db x + endm + +delanim EQUS "db $fc" +dorepeat EQUS "db $fd," +dorestart EQUS "db $fe" +endanim EQUS "db $ff" diff --git a/engine/animated_objects_3e.asm b/engine/animated_objects_3e.asm new file mode 100755 index 00000000..9d21ff8b --- /dev/null +++ b/engine/animated_objects_3e.asm @@ -0,0 +1,394 @@ +ClearObjectAnimationBuffers: ; fbb5a (3e:7b5a) + ld hl, wAnimatedObjectsData + ld bc, wAnimatedObjectsDataEnd - wAnimatedObjectsData + xor a + call FillMemory + ret + +RunObjectAnimations: + ld hl, wAnimatedObjectDataStructs + ld e, 10 +.loop + ld a, [hl] + and a + jr z, .next + ld c, l + ld b, h + push hl + push de + call ExecuteCurrentAnimatedObjectCallback + call UpdateCurrentAnimatedObjectFrame + pop de + pop hl + jr c, .quit +.next + ld bc, $10 + add hl, bc + dec e + jr nz, .loop + ld a, [wCurrentAnimatedObjectOAMBufferOffset] + ld l, a + ld h, wOAMBuffer / $100 +.deinit_unused_oam_loop + ld a, l + cp wOAMBufferEnd % $100 + jr nc, .quit + xor a + ld [hli], a + jr .deinit_unused_oam_loop + +.quit + ret + +SpawnAnimatedObject: + push de + push af + ld hl, wAnimatedObjectDataStructs + ld e, 10 +.loop + ld a, [hl] + and a + jr z, .init + ld bc, $10 + add hl, bc + dec e + jr nz, .loop + pop af + pop de + scf + ret + +.init + pop af + ld c, l + ld b, h + ld hl, wNumLoadedAnimatedObjects + inc [hl] + ld e, a + ld d, $0 + ld a, [wAnimatedObjectSpawnStateDataPointer] + ld l, a + ld a, [wAnimatedObjectSpawnStateDataPointer + 1] + ld h, a + add hl, de + add hl, de + add hl, de + ld e, l + ld d, h + ld hl, $0 + add hl, bc + ld a, [wNumLoadedAnimatedObjects] + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + xor a + ld [hli], a + pop de + ld hl, $4 + add hl, bc + ld a, e + ld [hli], a + ld a, d + ld [hli], a + xor a + ld [hli], a + ld [hli], a + xor a + ld [hli], a + ld [hli], a + dec a + ld [hli], a + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ret + +MaskCurrentAnimatedObjectStruct: + ld hl, $0 + add hl, bc + ld [hl], $0 + ret + +MaskAllAnimatedObjectStructs: + ld hl, wAnimatedObjectDataStructs + ld e, 10 +.loop + ld [hl], $0 + ld bc, $10 + add hl, bc + dec e + jr nz, .loop + ret + +UpdateCurrentAnimatedObjectFrame: + xor a + ld [wCurAnimatedObjectOAMAttributes], a + ld hl, $3 + add hl, bc + ld a, [hli] + ld [wCurrentAnimatedObjectVTileOffset], a + ld a, [hli] + ld [wCurrentAnimatedObjectXCoord], a + ld a, [hli] + ld [wCurrentAnimatedObjectYCoord], a + ld a, [hli] + ld [wCurrentAnimatedObjectXOffset], a + ld a, [hl] + ld [wCurrentAnimatedObjectYOffset], a + call UpdateDurationTimerAndFrameStateForCurrentAnimatedObject + cp $fd + jr z, .finish + cp $fc + jr z, .delete_animation + call GetCurrentAnimatedObjectOAMDataPointer + ld a, [wCurrentAnimatedObjectVTileOffset] + add [hl] + ld [wCurrentAnimatedObjectVTileOffset], a + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + push bc + ld a, [wCurrentAnimatedObjectOAMBufferOffset] + ld e, a + ld d, wOAMBuffer / $100 + ld a, [hli] + ld c, a +.loop + ld a, [wCurrentAnimatedObjectYCoord] + ld b, a + ld a, [wCurrentAnimatedObjectYOffset] + add b + ld b, a + ld a, [wAnimatedObjectGlobalYOffset] + add b + ld b, a + call GetCurrentAnimatedObjectTileYCoordinate + add b + ld [de], a + inc hl + inc de + ld a, [wCurrentAnimatedObjectXCoord] + ld b, a + ld a, [wCurrentAnimatedObjectXOffset] + add b + ld b, a + ld a, [wAnimatedObjectGlobalXOffset] + add b + ld b, a + call GetCurrentAnimatedObjectTileXCoordinate + add b + ld [de], a + inc hl + inc de + ld a, [wCurrentAnimatedObjectVTileOffset] + add [hl] + ld [de], a + inc hl + inc de + call SetCurrentAnimatedObjectOAMAttributes + ld b, a + ld a, [wc634] + cp $7 + ld a, b + jr z, .skip_load + ld [de], a +.skip_load + inc hl + inc de + ld a, e + ld [wCurrentAnimatedObjectOAMBufferOffset], a + cp wOAMBufferEnd % $100 + jr nc, .oam_is_full + dec c + jr nz, .loop + pop bc + jr .finish + +.delete_animation + call MaskCurrentAnimatedObjectStruct +.finish + and a + ret + +.oam_is_full + pop bc + scf + ret + +GetCurrentAnimatedObjectTileYCoordinate: + push hl + ld a, [hl] + ld hl, wCurAnimatedObjectOAMAttributes + bit 6, [hl] + jr z, .no_flip + add $8 + xor $ff + inc a +.no_flip + pop hl + ret + +GetCurrentAnimatedObjectTileXCoordinate: + push hl + ld a, [hl] + ld hl, wCurAnimatedObjectOAMAttributes + bit 5, [hl] + jr z, .no_flip + add $8 + xor $ff + inc a +.no_flip + pop hl + ret + +SetCurrentAnimatedObjectOAMAttributes: + ld a, [wCurAnimatedObjectOAMAttributes] + ld b, a + ld a, [hl] + xor b + and $e0 + ld b, a + ld a, [hl] + and $10 + or b + bit 4, a + ret z + or $4 + ret + +GetCurrentAnimatedObjectOAMDataPointer: + ld e, a + ld d, $0 + ld a, [wAnimatedObjectOAMDataPointer] + ld l, a + ld a, [wAnimatedObjectOAMDataPointer + 1] + ld h, a + add hl, de + add hl, de + add hl, de + ret + +SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters: + ld hl, $1 + add hl, bc + ld [hl], a + ld hl, $8 + add hl, bc + ld [hl], $0 + ld hl, $9 + add hl, bc + ld [hl], $0 + ld hl, $a + add hl, bc + ld [hl], $ff + ret + +UpdateDurationTimerAndFrameStateForCurrentAnimatedObject: +.loop + ld hl, $8 + add hl, bc + ld a, [hl] + and a + jr z, .next_frame + dec [hl] + call GetPointerToCurrentAnimatedObjectFrameScript + ld a, [hli] + push af + jr .finish + +.next_frame + ld hl, $a + add hl, bc + inc [hl] + call GetPointerToCurrentAnimatedObjectFrameScript + ld a, [hli] + cp $fe + jr z, .restart_anim + cp $ff + jr z, .hold_last_frame_state + push af + ld a, [hl] + push hl + and $3f + ld hl, $9 + add hl, bc + add [hl] + ld hl, $8 + add hl, bc + ld [hl], a + pop hl +.finish + ld a, [hl] + and $c0 + srl a + ld [wCurAnimatedObjectOAMAttributes], a + pop af + ret + +.hold_last_frame_state + xor a + ld hl, $8 + add hl, bc + ld [hl], a + ld hl, $a + add hl, bc + dec [hl] + dec [hl] + jr .loop + +.restart_anim + xor a + ld hl, $8 + add hl, bc + ld [hl], a + dec a + ld hl, $a + add hl, bc + ld [hl], a + jr .loop + +GetPointerToCurrentAnimatedObjectFrameScript: + ld hl, $1 + add hl, bc + ld e, [hl] + ld d, $0 + ld a, [wAnimatedObjectFramesDataPointer] + ld l, a + ld a, [wAnimatedObjectFramesDataPointer + 1] + ld h, a + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $a + add hl, bc + ld l, [hl] + ld h, $0 + add hl, hl + add hl, de + ret + +ExecuteCurrentAnimatedObjectCallback: + ld hl, $2 + add hl, bc + ld e, [hl] + ld d, $0 + ld a, [wAnimatedObjectJumptablePointer] + ld l, a + ld a, [wAnimatedObjectJumptablePointer + 1] + ld h, a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] diff --git a/engine/bank3e.asm b/engine/bank3e.asm index 44fdee42..023f9b20 100644 --- a/engine/bank3e.asm +++ b/engine/bank3e.asm @@ -32,7 +32,7 @@ SurfingPikachuMinigame: call UpdateGBCPal_BGP call UpdateGBCPal_OBP0 call UpdateGBCPal_OBP1 - call Func_fbb5a + call ClearObjectAnimationBuffers call ClearSprites xor a ld [hLCDCPointer], a @@ -73,8 +73,8 @@ Func_f807a: ret nz call Func_f8282 ld a, $3c - ld [wc5bd], a - call Func_fbb65 + ld [wCurrentAnimatedObjectOAMBufferOffset], a + call RunObjectAnimations call Func_f8848 call Func_f80a8 call Func_f80c4 @@ -172,7 +172,7 @@ Func_f8116: call FillMemory xor a ld [H_AUTOBGTRANSFERENABLED], a - call Func_fbb5a + call ClearObjectAnimationBuffers ld hl, SurfingPikachu1Graphics ld de, $9000 @@ -187,22 +187,22 @@ Func_f8116: call FarCopyData ld a, Unkn_f93d3 % $100 - ld [wc5c0], a + ld [wAnimatedObjectSpawnStateDataPointer], a ld a, Unkn_f93d3 / $100 - ld [wc5c0 + 1], a - ld a, Unkn_f93fa % $100 - ld [wc5c4], a - ld a, Unkn_f93fa / $100 - ld [wc5c4 + 1], a + ld [wAnimatedObjectSpawnStateDataPointer + 1], a + ld a, Jumptable_f93fa % $100 + ld [wAnimatedObjectJumptablePointer], a + ld a, Jumptable_f93fa / $100 + ld [wAnimatedObjectJumptablePointer + 1], a ld a, Unkn_f9507 % $100 - ld [wc5c6], a + ld [wAnimatedObjectOAMDataPointer], a ld a, Unkn_f9507 / $100 - ld [wc5c6 + 1], a + ld [wAnimatedObjectOAMDataPointer + 1], a ld a, Unkn_f9405 % $100 - ld [wc5c2], a + ld [wAnimatedObjectFramesDataPointer], a ld a, Unkn_f9405 / $100 - ld [wc5c2 + 1], a - ld hl, $9800 + ld [wAnimatedObjectFramesDataPointer + 1], a + ld hl, vBGMap0 ld bc, $800 ld a, $0 call FillMemory @@ -212,7 +212,7 @@ Func_f8116: call FillMemory ld a, $1 lb de, $74, $58 - call Func_fbb93 + call SpawnAnimatedObject ld a, $74 ld [wc5ea], a call Func_f9223 @@ -391,7 +391,7 @@ Jumptable_f8291: Func_f82ab: ld a, $2 lb de, $48, $e0 - call Func_fbb93 + call SpawnAnimatedObject ld hl, wc5d1 inc [hl] ld a, $1 @@ -438,7 +438,7 @@ Func_f8300: ld [wc631], a ld a, $b lb de, $88, $58 - call Func_fbb93 + call SpawnAnimatedObject ld hl, $7 add hl, bc ld [hl], $80 @@ -740,7 +740,7 @@ Func_f84e2: ld a, $60 ld [wc5e1], a ld a, $10 - call Func_fbcd4 + call SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters xor a ld [wChannelSoundIDs + CH7], a ld a, $93 @@ -793,7 +793,7 @@ Func_f8545: ld a, $0 ld [wc5d2], a ld a, $4 - call Func_fbcd4 + call SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters ret Func_f8561: @@ -806,7 +806,7 @@ Func_f8561: Func_f856d: ld a, $f - call Func_fbcd4 + call SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters ld hl, $c add hl, bc ld [hl], $0 @@ -1194,7 +1194,7 @@ Func_f87b5: ld e, [hl] ld a, $a push bc - call Func_fbb93 + call SpawnAnimatedObject pop bc ret @@ -1243,7 +1243,7 @@ Func_f87fb: ret Func_f8807: - call Func_fbbe8 + call MaskCurrentAnimatedObjectStruct ret Func_f880b: @@ -1288,7 +1288,7 @@ Func_f882b: .asm_f883f ld a, $1 ld [wc633], a - call Func_fbbe8 + call MaskCurrentAnimatedObjectStruct ret Func_f8848: @@ -1325,7 +1325,7 @@ Func_f886b: srl e srl e ld d, $0 - ld hl, $9800 + ld hl, vBGMap0 add hl, de ld a, [wc5ea] srl a @@ -1768,7 +1768,7 @@ Func_f8bed: ld a, [wc5d9] add $3 push bc - call Func_fbb93 + call SpawnAnimatedObject pop bc ret @@ -1794,7 +1794,7 @@ Func_f8bed: ld e, [hl] ld a, $9 push bc - call Func_fbb93 + call SpawnAnimatedObject pop bc ret @@ -1817,7 +1817,7 @@ Func_f8bed: ld e, [hl] ld a, $8 push bc - call Func_fbb93 + call SpawnAnimatedObject pop bc ret @@ -1913,7 +1913,7 @@ Func_f8cc7: srl a ld e, a ld d, $0 - ld hl, $9800 + ld hl, vBGMap0 add hl, de ld a, l ld [hRedrawRowOrColumnDest], a @@ -2305,31 +2305,31 @@ Func_f8fb3: call DisableLCD xor a ld [H_AUTOBGTRANSFERENABLED], a - call Func_fbb5a + call ClearObjectAnimationBuffers ld hl, $6324 ld de, $8800 ld bc, $900 ld a, $20 call FarCopyData ld a, Unkn_f93d3 % $100 - ld [wc5c0], a + ld [wAnimatedObjectSpawnStateDataPointer], a ld a, Unkn_f93d3 / $100 - ld [wc5c0 + 1], a - ld a, Unkn_f93fa % $100 - ld [wc5c4], a - ld a, Unkn_f93fa / $100 - ld [wc5c4 + 1], a + ld [wAnimatedObjectSpawnStateDataPointer + 1], a + ld a, Jumptable_f93fa % $100 + ld [wAnimatedObjectJumptablePointer], a + ld a, Jumptable_f93fa / $100 + ld [wAnimatedObjectJumptablePointer + 1], a ld a, Unkn_f9507 % $100 - ld [wc5c6], a + ld [wAnimatedObjectOAMDataPointer], a ld a, Unkn_f9507 / $100 - ld [wc5c6 + 1], a + ld [wAnimatedObjectOAMDataPointer + 1], a ld a, Unkn_f9405 % $100 - ld [wc5c2], a + ld [wAnimatedObjectFramesDataPointer], a ld a, Unkn_f9405 / $100 - ld [wc5c2 + 1], a + ld [wAnimatedObjectFramesDataPointer + 1], a ld a, $c lb de, $74, $58 - call Func_fbb93 + call SpawnAnimatedObject call Func_f9053 xor a ld [hSCX], a @@ -2363,8 +2363,8 @@ Func_f8fb3: and a ret nz ld a, $0 - ld [wc5bd], a - call Func_fbb65 + ld [wCurrentAnimatedObjectOAMBufferOffset], a + call RunObjectAnimations call DelayFrame jr .asm_f9041 @@ -2721,7 +2721,7 @@ Unkn_f93d3: db $13, $03, $00 db $1b, $04, $00 -Unkn_f93fa: +Jumptable_f93fa: dw Func_f9404 dw Func_f8470 dw Func_f87fb @@ -2762,89 +2762,175 @@ Unkn_f9405: dw Unkn_f94fe Unkn_f943d: - db $00,$20 - db $ff + frame $00, 32 + endanim + Unkn_f9440: - db $01,$08, $02,$08 - db $fe + frame $01, 8 + frame $02, 8 + dorestart + Unkn_f9445: - db $03,$08, $04,$08 - db $fe + frame $03, 8 + frame $04, 8 + dorestart + Unkn_f944a: - db $05,$08, $06,$08 - db $fe + frame $05, 8 + frame $06, 8 + dorestart + Unkn_f944f: - db $07,$08, $08,$08 - db $fe + frame $07, 8 + frame $08, 8 + dorestart + Unkn_f9454: - db $09,$08, $0a,$08 - db $fe + frame $09, 8 + frame $0a, 8 + dorestart + Unkn_f9459: - db $0b,$08, $0c,$08 - db $fe + frame $0b, 8 + frame $0c, 8 + dorestart + Unkn_f945e: - db $0d,$08, $0e,$08 - db $fe + frame $0d, 8 + frame $0e, 8 + dorestart + Unkn_f9463: - db $01,$c8, $02,$c8 - db $fe + frame $01, 8, OAM_HFLIP, OAM_VFLIP + frame $02, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f9468: - db $03,$c8, $04,$c8 - db $fe + frame $03, 8, OAM_HFLIP, OAM_VFLIP + frame $04, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f946d: - db $05,$c8, $06,$c8 - db $fe + frame $05, 8, OAM_HFLIP, OAM_VFLIP + frame $06, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f9472: - db $07,$c8, $08,$c8 - db $fe + frame $07, 8, OAM_HFLIP, OAM_VFLIP + frame $08, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f9477: - db $09,$c8, $0a,$c8 - db $fe + frame $09, 8, OAM_HFLIP, OAM_VFLIP + frame $0a, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f947c: - db $0b,$c8, $0c,$c8 - db $fe + frame $0b, 8, OAM_HFLIP, OAM_VFLIP + frame $0c, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f9481: - db $0d,$c8, $0e,$c8 - db $fe + frame $0d, 8, OAM_HFLIP, OAM_VFLIP + frame $0e, 8, OAM_HFLIP, OAM_VFLIP + dorestart + Unkn_f9486: - db $11,$07, $12,$07 - db $fe + frame $11, 7 + frame $12, 7 + dorestart + Unkn_f948b: - db $13,$02, $14,$02, $fd,$08, $15,$02 - db $ff + frame $13, 2 + frame $14, 2 + dorepeat 8 + frame $15, 2 + endanim + Unkn_f9494: - db $16,$20, $16,$20 - db $fc + frame $16, 32 + frame $16, 32 + delanim + Unkn_f9499: - db $17,$20, $17,$20 - db $fc + frame $17, 32 + frame $17, 32 + delanim + Unkn_f949e: - db $18,$20 - db $ff + frame $18, 32 + endanim + Unkn_f94a1: - db $1a,$04, $fd,$01, $1a,$03, $fd,$01, $1a,$02, $fd,$01, $1a,$01 - db $fc + frame $1a, 4 + dorepeat 1 + frame $1a, 3 + dorepeat 1 + frame $1a, 2 + dorepeat 1 + frame $1a, 1 + delanim + Unkn_f94b0: - db $1b,$04, $fd,$01, $1b,$03, $fd,$01, $1b,$02, $fd,$01, $1b,$01 - db $fc + frame $1b, 4 + dorepeat 1 + frame $1b, 3 + dorepeat 1 + frame $1b, 2 + dorepeat 1 + frame $1b, 1 + delanim + Unkn_f94bf: - db $1c,$04, $fd,$01, $1c,$03, $fd,$01, $1c,$02, $fd,$01, $1c,$01 - db $fc + frame $1c, 4 + dorepeat 1 + frame $1c, 3 + dorepeat 1 + frame $1c, 2 + dorepeat 1 + frame $1c, 1 + delanim + Unkn_f94ce: - db $1d,$04, $fd,$01, $1d,$03, $fd,$01, $1d,$02, $fd,$01, $1d,$01 - db $fc + frame $1d, 4 + dorepeat 1 + frame $1d, 3 + dorepeat 1 + frame $1d, 2 + dorepeat 1 + frame $1d, 1 + delanim + Unkn_f94dd: - db $1e,$04, $fd,$01, $1e,$03, $fd,$01, $1e,$02, $fd,$01, $1e,$01 - db $fc + frame $1e, 4 + dorepeat 1 + frame $1e, 3 + dorepeat 1 + frame $1e, 2 + dorepeat 1 + frame $1e, 1 + delanim + Unkn_f94ec: - db $1f,$04, $fd,$01, $1f,$03, $fd,$01, $1f,$02, $fd,$01, $1f,$01 - db $fc + frame $1f, 4 + dorepeat 1 + frame $1f, 3 + dorepeat 1 + frame $1f, 2 + dorepeat 1 + frame $1f, 1 + delanim + Unkn_f94fb: - db $19,$01 - db $fc + frame $19, 1 + delanim + Unkn_f94fe: - db $20,$07, $21,$07, $22,$07, $23,$07 - db $fe + frame $20, 7 + frame $21, 7 + frame $22, 7 + frame $23, 7 + dorestart Unkn_f9507: dbw $00, Unkn_f9573 @@ -3119,8 +3205,8 @@ PlayIntroScene: jr nz, .asm_f986e call Func_f98fc ld a, $0 - ld [wc5bd], a - call Func_fbb65 + ld [wCurrentAnimatedObjectOAMBufferOffset], a + call RunObjectAnimations ld a, [wc634] cp $7 call z, Func_f98a2 @@ -3140,7 +3226,7 @@ PlayIntroScene: ld [rIE], a ld a, $90 ld [hWY], a - call Func_fbb5a + call ClearObjectAnimationBuffers ld hl, wTileMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT xor a @@ -3263,13 +3349,13 @@ Func_f996a: call UpdateMusicCTimes xor a ld [hLCDCPointer], a - ld hl, $9800 + ld hl, vBGMap0 ld bc, $400 xor a call Func_f9fb3 call Func_f9996 - ld de, $58b8 - ld a, $4 + lb de, $58, $b8 ; overloaded + ld a, $4 ; overloaded call Func_f99d2 ld a, $1 call Func_f9e9a @@ -3334,7 +3420,7 @@ Func_f99d2: push hl push af ld a, $8 - call Func_fbb93 + call SpawnAnimatedObject pop af ld hl, $b add hl, bc @@ -3366,7 +3452,7 @@ Func_f9a08: ret .asm_f9a17 - call Func_fbbef + call MaskAllAnimatedObjectStructs call Func_f992a ret @@ -3423,7 +3509,7 @@ Func_f9a6b: ld a, $42 ld [hLCDCPointer], a call Func_f9ec4 - ld hl, $9800 + ld hl, vBGMap0 ld bc, $60 xor a call Func_f9fb3 @@ -3506,11 +3592,11 @@ Func_f9b04: call UpdateMusicCTimes xor a ld [hLCDCPointer], a - ld hl, $9800 + ld hl, vBGMap0 ld bc, $400 xor a call Func_f9fb3 - ld hl, $9800 + ld hl, vBGMap0 ld bc, $100 ld a, $2 call Func_f9fb3 @@ -3598,7 +3684,7 @@ Func_f9cac: call UpdateMusicCTimes xor a ld [hLCDCPointer], a - ld hl, $9800 + ld hl, vBGMap0 ld bc, $80 ld a, $1 call Func_f9fb3 @@ -3647,7 +3733,7 @@ Func_f9d12: ret nc lb de, $68, $58 ld a, $a - call Func_fbb93 + call SpawnAnimatedObject call Func_f992a ret @@ -3665,7 +3751,7 @@ Func_f9d22: ret .asm_f9d3c - call Func_fbbef + call MaskAllAnimatedObjectStructs call Func_f9fbe ld hl, wTileMap ld bc, $50 @@ -3765,7 +3851,7 @@ Func_f9e12: ret Func_f9e1d: - call Func_fbb93 + call SpawnAnimatedObject ld a, c ld [wc636], a ld a, b @@ -3777,7 +3863,7 @@ Func_f9e29: ld c, a ld a, [wc636 + 1] ld b, a - call Func_fbbe8 + call MaskCurrentAnimatedObjectStruct ret Func_f9e35: @@ -3821,7 +3907,7 @@ Func_f9e4d: ret Func_f9e5f: - ld hl, $9800 + ld hl, vBGMap0 ld bc, $80 ld a, $1 call Func_f9fb3 @@ -3932,7 +4018,7 @@ Func_f9f0d: ld hl, $9000 ld bc, $3e80 call CopyVideoData - call Func_fbb5a + call ClearObjectAnimationBuffers call Func_f9f75 ld b, $8 call RunPaletteCommand @@ -3949,21 +4035,21 @@ Func_f9f0d: Func_f9f75: ld a, Unkn_f9fda % $100 - ld [wc5c0], a + ld [wAnimatedObjectSpawnStateDataPointer], a ld a, Unkn_f9fda / $100 - ld [wc5c0 + 1], a + ld [wAnimatedObjectSpawnStateDataPointer + 1], a ld a, Jumptable_f9ffb % $100 - ld [wc5c4], a + ld [wAnimatedObjectJumptablePointer], a ld a, Jumptable_f9ffb / $100 - ld [wc5c4 + 1], a + ld [wAnimatedObjectJumptablePointer + 1], a ld a, Unkn_fa13d % $100 - ld [wc5c6], a + ld [wAnimatedObjectOAMDataPointer], a ld a, Unkn_fa13d / $100 - ld [wc5c6 + 1], a + ld [wAnimatedObjectOAMDataPointer + 1], a ld a, Unkn_fa0ea % $100 - ld [wc5c2], a + ld [wAnimatedObjectFramesDataPointer], a ld a, Unkn_fa0ea / $100 - ld [wc5c2 + 1], a + ld [wAnimatedObjectFramesDataPointer + 1], a ret Func_f9f9e: @@ -4184,38 +4270,62 @@ Unkn_fa0ea: dw Unkn_fa138 Unkn_fa100: - db $00,$20 - db $ff + frame $00, 32 + endanim + Unkn_fa103: - db $01,$04, $02,$04, $03,$04 - db $fe + frame $01, 4 + frame $02, 4 + frame $03, 4 + dorestart + Unkn_fa10a: - db $04,$04, $05,$04, $06,$04 - db $fe + frame $04, 4 + frame $05, 4 + frame $06, 4 + dorestart + Unkn_fa111: - db $07,$04, $08,$04, $09,$04 - db $fe + frame $07, 4 + frame $08, 4 + frame $09, 4 + dorestart + Unkn_fa118: - db $0a,$20 - db $ff + frame $0a, 32 + endanim + Unkn_fa11b: - db $0b,$20 - db $ff + frame $0b, 32 + endanim + Unkn_fa11e: - db $0c,$20 - db $ff + frame $0c, 32 + endanim + Unkn_fa121: - db $0d,$20 - db $ff + frame $0d, 32 + endanim + Unkn_fa124: - db $0e,$20 - db $ff + frame $0e, 32 + endanim + Unkn_fa127: - db $0f,$1f, $11,$02, $0f,$02, $11,$02, $0f,$1f, $11,$02, $0f,$17, $10,$20 - db $ff + frame $0f, 31 + frame $11, 2 + frame $0f, 2 + frame $11, 2 + frame $0f, 31 + frame $11, 2 + frame $0f, 23 + frame $10, 32 + endanim + Unkn_fa138: - db $12,$04, $13,$04 - db $fe + frame $12, 4 + frame $13, 4 + dorestart Unkn_fa13d: dbw $00, Unkn_fa179 @@ -4383,399 +4493,6 @@ Unkn_fa329: db $00, $18, $11, $30 db $00, $20, $10, $30 - YellowIntroGraphics: INCBIN "gfx/yellow_intro.2bpp" -Func_fbb5a: ; fbb5a (3e:7b5a) - ld hl, wTileMapBackup - ld bc, 10 * SCREEN_WIDTH - xor a - call FillMemory - ret - -Func_fbb65: - ld hl, wc51c - ld e, $a -.asm_fbb6a - ld a, [hl] - and a - jr z, .asm_fbb7c - ld c, l - ld b, h - push hl - push de - call Func_fbd61 - call Func_fbbfe - pop de - pop hl - jr c, .asm_fbb92 -.asm_fbb7c - ld bc, $10 - add hl, bc - dec e - jr nz, .asm_fbb6a - ld a, [wc5bd] - ld l, a - ld h, $c3 -.asm_fbb89 - ld a, l - cp $a0 - jr nc, .asm_fbb92 - xor a - ld [hli], a - jr .asm_fbb89 - -.asm_fbb92 - ret - -Func_fbb93: - push de - push af - ld hl, wc51c - ld e, $a -.asm_fbb9a - ld a, [hl] - and a - jr z, .asm_fbba9 - ld bc, $10 - add hl, bc - dec e - jr nz, .asm_fbb9a - pop af - pop de - scf - ret - -.asm_fbba9 - pop af - ld c, l - ld b, h - ld hl, wc5bc - inc [hl] - ld e, a - ld d, $0 - ld a, [wc5c0] - ld l, a - ld a, [wc5c0 + 1] - ld h, a - add hl, de - add hl, de - add hl, de - ld e, l - ld d, h - ld hl, $0 - add hl, bc - ld a, [wc5bc] - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - xor a - ld [hli], a - pop de - ld hl, $4 - add hl, bc - ld a, e - ld [hli], a - ld a, d - ld [hli], a - xor a - ld [hli], a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - dec a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ret - -Func_fbbe8: - ld hl, $0 - add hl, bc - ld [hl], $0 - ret - -Func_fbbef: - ld hl, wc51c - ld e, $a -.asm_fbbf4 - ld [hl], $0 - ld bc, $10 - add hl, bc - dec e - jr nz, .asm_fbbf4 - ret - -Func_fbbfe: - xor a - ld [wc5c8], a - ld hl, $3 - add hl, bc - ld a, [hli] - ld [wc5c9], a - ld a, [hli] - ld [wc5ca], a - ld a, [hli] - ld [wc5cb], a - ld a, [hli] - ld [wc5cc], a - ld a, [hl] - ld [wc5cd], a - call Func_fbcec - cp $fd - jr z, .asm_fbc8d - cp $fc - jr z, .asm_fbc8a - call Func_fbcc5 - ld a, [wc5c9] - add [hl] - ld [wc5c9], a - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - push bc - ld a, [wc5bd] - ld e, a - ld d, $c3 - ld a, [hli] - ld c, a -.asm_fbc3c - ld a, [wc5cb] - ld b, a - ld a, [wc5cd] - add b - ld b, a - ld a, [wc5ce] - add b - ld b, a - call Func_fbc92 - add b - ld [de], a - inc hl - inc de - ld a, [wc5ca] - ld b, a - ld a, [wc5cc] - add b - ld b, a - ld a, [wc5cf] - add b - ld b, a - call Func_fbca2 - add b - ld [de], a - inc hl - inc de - ld a, [wc5c9] - add [hl] - ld [de], a - inc hl - inc de - call Func_fbcb2 - ld b, a - ld a, [wc634] - cp $7 - ld a, b - jr z, .asm_fbc7a - ld [de], a -.asm_fbc7a - inc hl - inc de - ld a, e - ld [wc5bd], a - cp $a0 - jr nc, .asm_fbc8f - dec c - jr nz, .asm_fbc3c - pop bc - jr .asm_fbc8d - -.asm_fbc8a - call Func_fbbe8 -.asm_fbc8d - and a - ret - -.asm_fbc8f - pop bc - scf - ret - -Func_fbc92: - push hl - ld a, [hl] - ld hl, wc5c8 - bit 6, [hl] - jr z, .asm_fbca0 - add $8 - xor $ff - inc a -.asm_fbca0 - pop hl - ret - -Func_fbca2: - push hl - ld a, [hl] - ld hl, wc5c8 - bit 5, [hl] - jr z, .asm_fbcb0 - add $8 - xor $ff - inc a -.asm_fbcb0 - pop hl - ret - -Func_fbcb2: - ld a, [wc5c8] - ld b, a - ld a, [hl] - xor b - and $e0 - ld b, a - ld a, [hl] - and $10 - or b - bit 4, a - ret z - or $4 - ret - -Func_fbcc5: - ld e, a - ld d, $0 - ld a, [wc5c6] - ld l, a - ld a, [wc5c6 + 1] - ld h, a - add hl, de - add hl, de - add hl, de - ret - -Func_fbcd4: - ld hl, $1 - add hl, bc - ld [hl], a - ld hl, $8 - add hl, bc - ld [hl], $0 - ld hl, $9 - add hl, bc - ld [hl], $0 - ld hl, $a - add hl, bc - ld [hl], $ff - ret - -Func_fbcec: - ld hl, $8 - add hl, bc - ld a, [hl] - and a - jr z, .asm_fbcfc - dec [hl] - call Func_fbd43 - ld a, [hli] - push af - jr .asm_fbd1d - -.asm_fbcfc - ld hl, $a - add hl, bc - inc [hl] - call Func_fbd43 - ld a, [hli] - cp $fe - jr z, .asm_fbd35 - cp $ff - jr z, .asm_fbd27 - push af - ld a, [hl] - push hl - and $3f - ld hl, $9 - add hl, bc - add [hl] - ld hl, $8 - add hl, bc - ld [hl], a - pop hl -.asm_fbd1d - ld a, [hl] - and $c0 - srl a - ld [wc5c8], a - pop af - ret - -.asm_fbd27 - xor a - ld hl, $8 - add hl, bc - ld [hl], a - ld hl, $a - add hl, bc - dec [hl] - dec [hl] - jr Func_fbcec - -.asm_fbd35 - xor a - ld hl, $8 - add hl, bc - ld [hl], a - dec a - ld hl, $a - add hl, bc - ld [hl], a - jr Func_fbcec - -Func_fbd43: - ld hl, $1 - add hl, bc - ld e, [hl] - ld d, $0 - ld a, [wc5c2] - ld l, a - ld a, [wc5c2 + 1] - ld h, a - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $a - add hl, bc - ld l, [hl] - ld h, $0 - add hl, hl - add hl, de - ret - -Func_fbd61: - ld hl, $2 - add hl, bc - ld e, [hl] - ld d, $0 - ld a, [wc5c4] - ld l, a - ld a, [wc5c4 + 1] - ld h, a - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] +INCLUDE "engine/animated_objects_3e.asm" diff --git a/wram.asm b/wram.asm index 3d6ab940..be995089 100755 --- a/wram.asm +++ b/wram.asm @@ -263,6 +263,7 @@ SECTION "OAM Buffer", WRAM0[$c300] wOAMBuffer:: ; c300 ; buffer for OAM data. Copied to OAM by DMA ds 4 * 40 +wOAMBufferEnd:: wTileMap:: ; c3a0 ; buffer for tiles that are visible on screen (20 columns by 18 rows) @@ -275,37 +276,44 @@ wTileMapBackup:: ; c508 ; buffer for temporarily saving and restoring current screen's tiles ; (e.g. if menus are drawn on top) ; ds 20 * 18 - ds 20 -wc51c:: ; c51c - ds 160 -wc5bc:: ; c5bc + +wAnimatedObjectsData:: +; Used by functions in BANK 3E +; This looks similar to the address structure for Gen 2 OAM animations. + +wAnimatedObjectStartTileOffsets:: + ds 10 * 2 +wAnimatedObjectDataStructs:: ; c51c + ds 10 * $10 +wNumLoadedAnimatedObjects:: ; c5bc ds 1 -wc5bd:: ; c5bd +wCurrentAnimatedObjectOAMBufferOffset:: ; c5bd ds 3 -wc5c0:: ; c5c0 +wAnimatedObjectSpawnStateDataPointer:: ; c5c0 dw -wc5c2:: ; c5c2 +wAnimatedObjectFramesDataPointer:: ; c5c2 dw -wc5c4:: ; c5c4 +wAnimatedObjectJumptablePointer:: ; c5c4 dw -wc5c6:: ; c5c6 +wAnimatedObjectOAMDataPointer:: ; c5c6 dw -wc5c8:: ; c5c8 +wCurAnimatedObjectOAMAttributes:: ; c5c8 ds 1 -wc5c9:: ; c5c9 +wCurrentAnimatedObjectVTileOffset:: ; c5c9 ds 1 -wc5ca:: ; c5ca +wCurrentAnimatedObjectXCoord:: ; c5ca ds 1 -wc5cb:: ; c5cb +wCurrentAnimatedObjectYCoord:: ; c5cb ds 1 -wc5cc:: ; c5cc +wCurrentAnimatedObjectXOffset:: ; c5cc ds 1 -wc5cd:: ; c5cd +wCurrentAnimatedObjectYOffset:: ; c5cd ds 1 -wc5ce:: ; c5ce +wAnimatedObjectGlobalYOffset:: ; c5ce ds 1 -wc5cf:: ; c5cf +wAnimatedObjectGlobalXOffset:: ; c5cf ds 1 +wAnimatedObjectsDataEnd:: wSerialEnemyMonsPatchList:: ; c5d0 ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer -- cgit v1.2.3