diff options
author | pikalaxalt <PikalaxALT@gmail.com> | 2016-05-26 15:46:46 -0400 |
---|---|---|
committer | pikalaxalt <PikalaxALT@gmail.com> | 2016-05-26 15:46:46 -0400 |
commit | b53be53ba38ccae62b450e48b2501bea43000ddd (patch) | |
tree | 85fa6d79d95d0e31f99a9daffdfcbd81241e5eb9 | |
parent | 25cadbde5bcbdc39ee294bb419fb0e30de3b1411 (diff) |
Phase 1 of viridian city script disassembly
-rwxr-xr-x | data/mapObjects/viridiancity.asm | 15 | ||||
-rwxr-xr-x | main.asm | 20 | ||||
-rwxr-xr-x | scripts/viridiancity.asm | 361 |
3 files changed, 61 insertions, 335 deletions
diff --git a/data/mapObjects/viridiancity.asm b/data/mapObjects/viridiancity.asm index a2d2815f..79b177f4 100755 --- a/data/mapObjects/viridiancity.asm +++ b/data/mapObjects/viridiancity.asm @@ -9,14 +9,14 @@ ViridianCityObject: ; 0x18384 (size=104) db $7, $20, $0, VIRIDIAN_GYM db $6 ; signs - db $11, $11, $8 ; ViridianCityText8 - db $1, $13, $9 ; ViridianCityText9 - db $1d, $15, $a ; ViridianCityText10 - db $13, $1e, $b ; MartSignText - db $19, $18, $c ; PokeCenterSignText - db $7, $1b, $d ; ViridianCityText13 + db $11, $11, $9 ; ViridianCityText8 + db $1, $13, $a ; ViridianCityText9 + db $1d, $15, $b ; ViridianCityText10 + db $13, $1e, $c ; MartSignText + db $19, $18, $d ; PokeCenterSignText + db $7, $1b, $e ; ViridianCityText13 - db $7 ; objects + db $8 ; objects object SPRITE_BUG_CATCHER, $d, $14, WALK, $0, $1 ; person object SPRITE_GAMBLER, $1e, $8, STAY, NONE, $2 ; person object SPRITE_BUG_CATCHER, $1e, $19, WALK, $0, $3 ; person @@ -24,6 +24,7 @@ ViridianCityObject: ; 0x18384 (size=104) object SPRITE_LYING_OLD_MAN, $12, $9, STAY, NONE, $5 ; person object SPRITE_FISHER2, $6, $17, STAY, DOWN, $6 ; person object SPRITE_GAMBLER, $11, $5, WALK, $2, $7 ; person + object SPRITE_GAMBLER, $12, $9, STAY, NONE, $8 ; warp-to EVENT_DISP VIRIDIAN_CITY_WIDTH, $19, $17 ; VIRIDIAN_POKECENTER @@ -236,13 +236,13 @@ INCLUDE "data/mapHeaders/celadoncity.asm" INCLUDE "data/mapObjects/celadoncity.asm" CeladonCityBlocks: INCBIN "maps/celadoncity.blk" - dr $182a1,$183f2 ; headers, objects, blocks + dr $182a1,$18357 ; headers, objects, blocks ; INCLUDE "data/mapHeaders/pallettown.asm" ; INCLUDE "data/mapObjects/pallettown.asm" ; PalletTownBlocks: INCBIN "maps/pallettown.blk" -; INCLUDE "data/mapHeaders/viridiancity.asm" -; INCLUDE "data/mapObjects/viridiancity.asm" +INCLUDE "data/mapHeaders/viridiancity.asm" +INCLUDE "data/mapObjects/viridiancity.asm" ViridianCityBlocks: INCBIN "maps/viridiancity.blk" INCLUDE "data/mapHeaders/pewtercity.asm" @@ -262,10 +262,10 @@ CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk" ; 18836 ; INCLUDE "data/mapObjects/fuchsiacity.asm" ; FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk" - dr $18dee,$192f5 ; map scripts + dr $18dee,$1902a ; map scripts ; INCLUDE "scripts/pallettown.asm" -; INCLUDE "scripts/viridiancity.asm" +INCLUDE "scripts/viridiancity.asm" INCLUDE "scripts/pewtercity.asm" INCLUDE "scripts/ceruleancity.asm" @@ -284,7 +284,10 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank07",ROMX,BANK[$07] - dr $1c000,$1c21e ; headers, objects, blocks + dr $1c000,$1c0fc ; headers, objects, blocks +Route1Blocks: ; 1c0fc +INCBIN "maps/route1.blk" + dr $1c1b0,$1c21e ; headers, objects, blocks INCLUDE "engine/clear_save.asm" INCLUDE "engine/predefs7.asm" @@ -771,7 +774,10 @@ INCBIN "maps/colosseum.blk" SECTION "bank14",ROMX,BANK[$14] - dr $50000,$506ed + dr $50000,$5003d +Route22Blocks: +INCBIN "maps/route22.blk" + dr $500f1,$506ed Route24Blocks: ; 506ed (14:46ed) INCBIN "maps/route24.blk" dr $507a1,$509aa diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm index ece2c4a1..54aaa03e 100755 --- a/scripts/viridiancity.asm +++ b/scripts/viridiancity.asm @@ -1,326 +1,45 @@ -ViridianCityScript: ; 18ff1 (6:4ff1) +ViridianCityScript: ; 1902a (6:502a) call EnableAutoTextBoxDrawing ld hl, ViridianCityScriptPointers ld a, [W_VIRIDIANCITYCURSCRIPT] - jp CallFunctionInTable - -ViridianCityScriptPointers: ; 18ffd (6:4ffd) - dw ViridianCityScript0 - dw ViridianCityScript1 - dw ViridianCityScript2 - dw ViridianCityScript3 - -ViridianCityScript0: ; 19005 (6:5005) - call ViridianCityScript_1900b - jp ViridianCityScript_1903d - -ViridianCityScript_1900b: ; 1900b (6:500b) - CheckEvent EVENT_VIRIDIAN_GYM_OPEN - ret nz - ld a, [wObtainedBadges] - cp %01111111 - jr nz, .asm_1901e - SetEvent EVENT_VIRIDIAN_GYM_OPEN - ret -.asm_1901e - ld a, [wYCoord] - cp $8 - ret nz - ld a, [wXCoord] - cp $20 - ret nz - ld a, $e - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - call ViridianCityScript_190cf - ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript_1903d: ; 1903d (6:503d) - CheckEvent EVENT_GOT_POKEDEX - ret nz - ld a, [wYCoord] - cp $9 - ret nz - ld a, [wXCoord] - cp $13 - ret nz - ld a, $5 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - call ViridianCityScript_190cf - ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript1: ; 19062 (6:5062) - ld a, [wSpriteStateData1 + $34] - ld [$ffeb], a - ld a, [wSpriteStateData1 + $36] - ld [$ffec], a - ld a, [wSpriteStateData2 + $34] - ld [$ffed], a - ld a, [wSpriteStateData2 + $35] - ld [$ffee], a - xor a - ld [wListScrollOffset], a - - ; set up battle for Old Man - ld a, $1 - ld [wBattleType], a - ld a, 5 - ld [wCurEnemyLVL], a - ld a, WEEDLE - ld [wCurOpponent], a - ld a, $2 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript2: ; 1908f (6:508f) - ld a, [$ffeb] - ld [wSpriteStateData1 + $34], a - ld a, [$ffec] - ld [wSpriteStateData1 + $36], a - ld a, [$ffed] - ld [wSpriteStateData2 + $34], a - ld a, [$ffee] - ld [wSpriteStateData2 + $35], a - call UpdateSprites - call Delay3 - xor a - ld [wJoyIgnore], a - ld a, $f - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wBattleType], a - ld [wJoyIgnore], a - ld a, $0 - ld [W_VIRIDIANCITYCURSCRIPT], a + call JumpTable ret -ViridianCityScript3: ; 190c1 (6:50c1) - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - ld a, 0 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript_190cf: ; 190cf (6:50cf) - call StartSimulatingJoypadStates - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - xor a - ld [wSpriteStateData1 + 9], a - ld [wJoyIgnore], a - ret - -ViridianCityTextPointers: ; 190e4 (6:50e4) - dw ViridianCityText1 - dw ViridianCityText2 - dw ViridianCityText3 - dw ViridianCityText4 - dw ViridianCityText5 - dw ViridianCityText6 - dw ViridianCityText7 - dw ViridianCityText8 - dw ViridianCityText9 - dw ViridianCityText10 - dw MartSignText - dw PokeCenterSignText - dw ViridianCityText13 - dw ViridianCityText14 - dw ViridianCityText15 - -ViridianCityText1: ; 19102 (6:5102) - TX_FAR _ViridianCityText1 - db "@" - -ViridianCityText2: ; 19107 (6:5107) - TX_ASM - ld a, [wObtainedBadges] - cp %01111111 - ld hl, ViridianCityText_19127 - jr z, .asm_ae9fe - CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr nz, .asm_ae9fe - ld hl, ViridianCityText_19122 -.asm_ae9fe - call PrintText - jp TextScriptEnd - -ViridianCityText_19122: ; 19122 (6:5122) - TX_FAR _ViridianCityText_19122 - db "@" - -ViridianCityText_19127: ; 19127 (6:5127) - TX_FAR _ViridianCityText_19127 - db "@" - -ViridianCityText3: ; 1912c (6:512c) - TX_ASM - ld hl, ViridianCityText_1914d - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_6dfea - ld hl, ViridianCityText_19157 - call PrintText - jr .asm_d611f -.asm_6dfea - ld hl, ViridianCityText_19152 - call PrintText -.asm_d611f - jp TextScriptEnd - -ViridianCityText_1914d: ; 1914d (6:514d) - TX_FAR _ViridianCityText_1914d - db "@" - -ViridianCityText_19152: ; 19152 (6:5152) - TX_FAR _ViridianCityText_19152 - db "@" - -ViridianCityText_19157: ; 19157 (6:5157) - TX_FAR _ViridianCityText_19157 - db "@" - -ViridianCityText4: ; 1915c (6:515c) - TX_ASM - CheckEvent EVENT_GOT_POKEDEX - jr nz, .asm_83894 - ld hl, ViridianCityText_19175 - call PrintText - jr .asm_700a6 -.asm_83894 - ld hl, ViridianCityText_1917a - call PrintText -.asm_700a6 - jp TextScriptEnd - -ViridianCityText_19175: ; 19175 (6:5175) - TX_FAR _ViridianCityText_19175 - db "@" - -ViridianCityText_1917a: ; 1917a (6:517a) - TX_FAR _ViridianCityText_1917a - db "@" - -ViridianCityText5: ; 1917f (6:517f) - TX_ASM - ld hl, ViridianCityText_19191 - call PrintText - call ViridianCityScript_190cf - ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a - jp TextScriptEnd - -ViridianCityText_19191: ; 19191 (6:5191) - TX_FAR _ViridianCityText_19191 - db "@" - -ViridianCityText6: ; 19196 (6:5196) - TX_ASM - CheckEvent EVENT_GOT_TM42 - jr nz, .asm_4e5a0 - ld hl, ViridianCityText_191ca - call PrintText - lb bc, TM_42, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM42Text - call PrintText - SetEvent EVENT_GOT_TM42 - jr .asm_3c73c -.BagFull - ld hl, TM42NoRoomText - call PrintText - jr .asm_3c73c -.asm_4e5a0 - ld hl, TM42Explanation - call PrintText -.asm_3c73c - jp TextScriptEnd - -ViridianCityText_191ca: ; 191ca (6:51ca) - TX_FAR _ViridianCityText_191ca - db "@" - -ReceivedTM42Text: ; 191cf (6:51cf) - TX_FAR _ReceivedTM42Text - db $10, "@" - -TM42Explanation: ; 191d5 (6:51d5) - TX_FAR _TM42Explanation - db "@" - -TM42NoRoomText: ; 191da (6:51da) - TX_FAR _TM42NoRoomText - db "@" - -ViridianCityText7: ; 191df (6:51df) - TX_ASM - ld hl, ViridianCityText_1920a - call PrintText - ld c, 2 - call DelayFrames - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr z, .asm_42f68 - ld hl, ViridianCityText_1920f - call PrintText - ld a, $1 - ld [W_VIRIDIANCITYCURSCRIPT], a - jr .asm_2413a -.asm_42f68 - ld hl, ViridianCityText_19214 - call PrintText -.asm_2413a - jp TextScriptEnd - -ViridianCityText_1920a: ; 1920a (6:520a) - TX_FAR _ViridianCityText_1920a - db "@" - -ViridianCityText_1920f: ; 1920f (6:520f) - TX_FAR _ViridianCityText_1920f - db "@" - -ViridianCityText_19214: ; 19214 (6:5214) - TX_FAR _ViridianCityText_19214 - db "@" - -ViridianCityText15: ; 19219 (6:5219) - TX_FAR _ViridianCityText_19219 - db "@" - -ViridianCityText8: ; 1921e (6:521e) - TX_FAR _ViridianCityText8 - db "@" - -ViridianCityText9: ; 19223 (6:5223) - TX_FAR _ViridianCityText9 - db "@" - -ViridianCityText10: ; 19228 (6:5228) - TX_FAR _ViridianCityText10 - db "@" - -ViridianCityText13: ; 1922d (6:522d) - TX_FAR _ViridianCityText13 - db "@" - -ViridianCityText14: ; 19232 (6:5232) - TX_FAR _ViridianCityText14 - db "@" +ViridianCityScriptPointers: ; 19037 (6:5037) + dw ViridianCityScript0 ; 1904d + dw ViridianCityScript1 ; 19054 + dw ViridianCityScript2 ; 19057 + dw ViridianCityScript3 ; 190ca + dw ViridianCityScript4 ; 19104 + dw ViridianCityScript5 ; 1913f + dw ViridianCityScript6 ; 1909d + dw ViridianCityScript7 ; 19191 + dw ViridianCityScript8 ; 191a7 + dw ViridianCityScript9 ; 191cf + dw ViridianCityScript10 ; 191f9 + +ViridianCityScript0: + dr $1904d,$19054 +ViridianCityScript1: ; 19054 + dr $19054,$19057 +ViridianCityScript2: ; 19057 + dr $19057,$1909d +ViridianCityScript6: ; 1909d + dr $1909d,$190ca +ViridianCityScript3: ; 190ca + dr $190ca,$19104 +ViridianCityScript4: ; 19104 + dr $19104,$1913f +ViridianCityScript5: ; 1913f + dr $1913f,$19191 +ViridianCityScript7: ; 19191 + dr $19191,$191a7 +ViridianCityScript8: ; 191a7 + dr $191a7,$191cf +ViridianCityScript9: ; 191cf + dr $191cf,$191f9 +ViridianCityScript10: ; 191f9 + dr $191f9,$19213 + +ViridianCityTextPointers: + dr $19213,$192f5 |