diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-05-18 14:19:10 -0400 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-05-18 14:19:10 -0400 |
commit | 24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch) | |
tree | 07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/viridiancity.asm | |
parent | 4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff) |
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/viridiancity.asm')
-rwxr-xr-x | scripts/viridiancity.asm | 333 |
1 files changed, 333 insertions, 0 deletions
diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm new file mode 100755 index 00000000..4bb04ba7 --- /dev/null +++ b/scripts/viridiancity.asm @@ -0,0 +1,333 @@ +ViridianCityScript: ; 18ff1 (6:4ff1) + 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) + ld a, [$d74c] + bit 0, a + ret nz + ld a, [W_OBTAINEDBADGES] + cp %01111111 + jr nz, .asm_1901e ; 0x19016 $6 + ld hl, $d74c + set 0, [hl] + ret +.asm_1901e + ld a, [W_YCOORD] + cp $8 + ret nz + ld a, [W_XCOORD] + cp $20 + ret nz + ld a, $e + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + call ViridianCityScript_190cf + ld a, $3 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript_1903d: ; 1903d (6:503d) + ld a, [$d74b] + bit 5, a + ret nz + ld a, [W_YCOORD] + cp $9 + ret nz + ld a, [W_XCOORD] + cp $13 + ret nz + ld a, $5 + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + call ViridianCityScript_190cf + ld a, $3 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript1: ; 19062 (6:5062) + ld a, [$c134] + ld [$ffeb], a + ld a, [$c136] + ld [$ffec], a + ld a, [$c234] + ld [$ffed], a + ld a, [$c235] + ld [$ffee], a + xor a + ld [wListScrollOffset], a + + ; set up battle for Old Man + ld a, $1 + ld [W_BATTLETYPE], a + ld a, 5 + ld [W_CURENEMYLVL], a + ld a, WEEDLE + ld [W_CUROPPONENT], a + ld a, $2 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript2: ; 1908f (6:508f) + ld a, [$ffeb] + ld [$c134], a + ld a, [$ffec] + ld [$c136], a + ld a, [$ffed] + ld [$c234], a + ld a, [$ffee] + ld [$c235], a + call UpdateSprites + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $f + ld [$ff8c], a + call DisplayTextID + xor a + ld [W_BATTLETYPE], a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript3: ; 190c1 (6:50c1) + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, 0 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript_190cf: ; 190cf (6:50cf) + call Func_3486 + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + xor a + ld [$c109], a + ld [wJoypadForbiddenButtonsMask], 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) + db $08 ; asm + ld a, [W_OBTAINEDBADGES] + cp %01111111 + ld hl, ViridianCityText_19127 + jr z, .asm_ae9fe ; 0x19110 + ld a, [$d751] + bit 1, a + jr nz, .asm_ae9fe ; 0x19117 + ld hl, ViridianCityText_19122 +.asm_ae9fe ; 0x1911c + 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) + db $08 ; asm + ld hl, ViridianCityText_1914d + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_6dfea ; 0x1913a + ld hl, ViridianCityText_19157 + call PrintText + jr .asm_d611f ; 0x19142 +.asm_6dfea ; 0x19144 + ld hl, ViridianCityText_19152 + call PrintText +.asm_d611f ; 0x1914a + 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) + db $08 ; asm + ld a, [$d74b] + bit 5, a + jr nz, .asm_83894 ; 0x19162 + ld hl, ViridianCityText_19175 + call PrintText + jr .asm_700a6 ; 0x1916a +.asm_83894 ; 0x1916c + ld hl, ViridianCityText_1917a + call PrintText +.asm_700a6 ; 0x19172 + 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) + db $08 ; 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) + db $08 ; asm + ld a, [$d74c] + bit 1, a + jr nz, .asm_4e5a0 ; 0x1919c + ld hl, ViridianCityText_191ca + call PrintText + ld bc, (TM_42 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM42Text + call PrintText + ld hl, $d74c + set 1, [hl] + jr .asm_3c73c ; 0x191b7 +.BagFull + ld hl, TM42NoRoomText + call PrintText + jr .asm_3c73c ; 0x191bf +.asm_4e5a0 ; 0x191c1 + ld hl, TM42Explanation + call PrintText +.asm_3c73c ; 0x191c7 + 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) + db $08 ; asm + ld hl, ViridianCityText_1920a + call PrintText + ld c, $2 + call DelayFrames + call YesNoChoice + ld a, [$cc26] + and a + jr z, .asm_42f68 ; 0x191f2 + ld hl, ViridianCityText_1920f + call PrintText + ld a, $1 + ld [W_VIRIDIANCITYCURSCRIPT], a + jr .asm_2413a ; 0x191ff +.asm_42f68 ; 0x19201 + ld hl, ViridianCityText_19214 + call PrintText +.asm_2413a ; 0x19207 + 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 "@" |