summaryrefslogtreecommitdiff
path: root/scripts/viridiancity.asm
diff options
context:
space:
mode:
authorU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
committerU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
commit24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch)
tree07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/viridiancity.asm
parent4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff)
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/viridiancity.asm')
-rwxr-xr-xscripts/viridiancity.asm333
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 "@"