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/cinnabargym.asm | |
parent | 4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff) |
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/cinnabargym.asm')
-rwxr-xr-x | scripts/cinnabargym.asm | 483 |
1 files changed, 483 insertions, 0 deletions
diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm new file mode 100755 index 00000000..1d66a1bf --- /dev/null +++ b/scripts/cinnabargym.asm @@ -0,0 +1,483 @@ +CinnabarGymScript: ; 7574a (1d:574a) + call CinnabarGymScript_75759 + call EnableAutoTextBoxDrawing + ld hl, CinnabarGymScriptPointers + ld a, [W_CINNABARGYMCURSCRIPT] + jp CallFunctionInTable + +CinnabarGymScript_75759: ; 75759 (1d:5759) + ld hl, $D126 + bit 6, [hl] + res 6, [hl] + push hl + call nz, CinnabarGymScript_75772 + pop hl + bit 5, [hl] + res 5, [hl] + call nz, Func_3ead + ld hl, $D79B + res 7, [hl] + ret +CinnabarGymScript_75772: ; 75772 (1d:5772) + ld hl, Gym7CityName + ld de, Gym7LeaderName + jp LoadGymLeaderAndCityName + +Gym7CityName: ; 7577b (1d:577b) + db "CINNABAR ISLAND@" +Gym7LeaderName: ; 7578b (1d:578b) + db "BLAINE@" + +CinnabarGymScript_75792: ; 75792 (1d:5792) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ld [$da38], a + ret + +CinnabarGymScript_757a0: ; 757a0 (1d:57a0) + ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld [wTrainerHeaderFlagBit], a + ret + +CinnabarGymScriptPointers: ; 757a6 (1d:57a6) + dw CinnabarGymScript0 + dw CinnabarGymScript1 + dw CinnabarGymScript2 + dw CinnabarGymScript3 + +CinnabarGymScript0: ; 757ae (1d:57ae) + ld a, [$da38] + and a + ret z + ld [$ff8c], a + cp $4 + jr nz, .asm_757c3 ; 0x757b7 $a + ld a, $4 + ld [$d528], a + ld de, MovementData_757d7 + jr .asm_757cb ; 0x757c1 $8 +.asm_757c3 + ld de, MovementData_757da + ld a, $1 + ld [$d528], a +.asm_757cb + call MoveSprite + ld a, $1 + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +MovementData_757d7: ; 757d7 (1d:57d7) + db $80,$40,$FF + +MovementData_757da: ; 757da (1d:57da) + db $80,$FF + +CinnabarGymScript1: ; 757dc (1d:57dc) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, [$da38] + ld [wTrainerHeaderFlagBit], a + ld [$ff8c], a + jp DisplayTextID + +CinnabarGymScript_757f1: ; 757f1 (1d:57f1) + ld a, $10 + jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) + +CinnabarGymScript2: ; 757f6 (1d:57f6) + ld a, [$d057] + cp $ff + jp z, CinnabarGymScript_75792 + ld a, [wTrainerHeaderFlagBit] + ld [$ffdb], a + ld c, a + ld b, $2 + ld hl, $d79a + call CinnabarGymScript_757f1 + ld a, c + and a + jr nz, .asm_7581b ; 0x7580e $b + call WaitForSoundToFinish + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + call WaitForSoundToFinish +.asm_7581b + ld a, [wTrainerHeaderFlagBit] + ld [$ffdb], a + ld c, a + ld b, $1 + ld hl, $d79a + call CinnabarGymScript_757f1 + ld a, [wTrainerHeaderFlagBit] + sub $2 + ld c, a + ld b, $1 + ld hl, $d79c + call CinnabarGymScript_757f1 + call Func_3ead + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [$da38], a + ld a, $0 + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CinnabarGymScript3: ; 7584a (1d:584a) + ld a, [$d057] + cp $ff + jp z, CinnabarGymScript_75792 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a +CinnabarGymScript3_75857: ; 75857 (1d:5857) + ld a, $a + ld [$ff8c], a + call DisplayTextID + ld hl, $d79a + set 1, [hl] + ld bc, (TM_38 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $b + ld [$ff8c], a + call DisplayTextID + ld hl, $d79a + set 0, [hl] + jr .asm_75880 ; 0x75877 $7 +.BagFull + ld a, $c + ld [$ff8c], a + call DisplayTextID +.asm_75880 + ld hl, W_OBTAINEDBADGES + set 6, [hl] + ld hl, $d72a + set 6, [hl] + + ; deactivate gym trainers + ld a, [$d79a] + or %11111100 + ld [$d79a], a + ld hl, $d79b + set 0, [hl] + + ld hl, $d126 + set 5, [hl] + + jp CinnabarGymScript_75792 + +CinnabarGymTextPointers: ; 7589f (1d:589f) + dw CinnabarGymText1 + dw CinnabarGymText2 + dw CinnabarGymText3 + dw CinnabarGymText4 + dw CinnabarGymText5 + dw CinnabarGymText6 + dw CinnabarGymText7 + dw CinnabarGymText8 + dw CinnabarGymText9 + dw BlaineBadgeText + dw ReceivedTM38Text + dw TM38NoRoomText + +CinnabarGymScript_758b7: ; 758b7 (1d:58b7) + ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld a, [$cf13] + cp $1 + jr z, .asm_758d4 + ld a, $2 + jr .asm_758d6 +.asm_758d4 + ld a, $3 +.asm_758d6 + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jp TextScriptEnd + +CinnabarGymText1: ; 758df (1d:58df) + db $8 + ld a, [$d79a] + bit 1, a + jr z, .asm_d9332 ; 0x758e5 $16 + bit 0, a + jr nz, .asm_3012f ; 0x758e9 $9 + call z, CinnabarGymScript3_75857 + call DisableWaitingAfterTextDisplay + jp TextScriptEnd +.asm_3012f ; 0x758f4 + ld hl, BlaineFireBlastText + call PrintText + jp TextScriptEnd +.asm_d9332 ; 0x758fd + ld hl, BlaineBattleText + call PrintText + ld hl, BlaineEndBattleText + ld de, BlaineEndBattleText + call PreBattleSaveRegisters + ld a, $7 + ld [$d05c], a + jp CinnabarGymScript_758b7 + +BlaineBattleText: ; 75914 (1d:5914) + TX_FAR _BlaineBattleText + db "@" + +BlaineEndBattleText: ; 75919 (1d:5919) + TX_FAR _BlaineEndBattleText + db $11 + db $d + db "@" + +BlaineFireBlastText: ; 75920 (1d:5920) + TX_FAR _BlaineFireBlastText + db "@" + +BlaineBadgeText: ; 75925 (1d:5925) + TX_FAR _BlaineBadgeText + db "@" + +ReceivedTM38Text: ; 7592a (1d:592a) + TX_FAR _ReceivedTM38Text + db $0B + TX_FAR _TM38ExplanationText + db "@" + +TM38NoRoomText: ; 75934 (1d:5934) + TX_FAR _TM38NoRoomText + db "@" + +CinnabarGymText2: ; 75939 (1d:5939) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 2, a + jr nz, .asm_46bb4 ; 0x75942 + ld hl, CinnabarGymText_7595f + call PrintText + ld hl, CinnabarGymText_75964 + ld de, CinnabarGymText_75964 ; $5964 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_46bb4 ; 0x75956 + ld hl, CinnabarGymText_75969 + call PrintText + jp TextScriptEnd + +CinnabarGymText_7595f: ; 7595f (1d:595f) + TX_FAR _CinnabarGymText_7595f + db "@" + +CinnabarGymText_75964: ; 75964 (1d:5964) + TX_FAR _CinnabarGymText_75964 + db "@" + +CinnabarGymText_75969: ; 75969 (1d:5969) + TX_FAR _CinnabarGymText_75969 + db "@" + +CinnabarGymText3: ; 7596e (1d:596e) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 3, a + jr nz, .asm_4b406 ; 0x75977 + ld hl, CinnabarGymText_75994 + call PrintText + ld hl, CinnabarGymText_75999 + ld de, CinnabarGymText_75999 ; $5999 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_4b406 ; 0x7598b + ld hl, CinnabarGymText_7599e + call PrintText + jp TextScriptEnd + +CinnabarGymText_75994: ; 75994 (1d:5994) + TX_FAR _CinnabarGymText_75994 + db "@" + +CinnabarGymText_75999: ; 75999 (1d:5999) + TX_FAR _CinnabarGymText_75999 + db "@" + +CinnabarGymText_7599e: ; 7599e (1d:599e) + TX_FAR _CinnabarGymText_7599e + db "@" + +CinnabarGymText4: ; 759a3 (1d:59a3) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 4, a + jr nz, .asm_c0673 ; 0x759ac + ld hl, CinnabarGymText_759c9 + call PrintText + ld hl, CinnabarGymText_759ce + ld de, CinnabarGymText_759ce ; $59ce XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_c0673 ; 0x759c0 + ld hl, CinnabarGymText_759d3 + call PrintText + jp TextScriptEnd + +CinnabarGymText_759c9: ; 759c9 (1d:59c9) + TX_FAR _CinnabarGymText_759c9 + db "@" + +CinnabarGymText_759ce: ; 759ce (1d:59ce) + TX_FAR _CinnabarGymText_759ce + db "@" + +CinnabarGymText_759d3: ; 759d3 (1d:59d3) + TX_FAR _CinnabarGymText_759d3 + db "@" + +CinnabarGymText5: ; 759d8 (1d:59d8) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 5, a + jr nz, .asm_5cfd7 ; 0x759e1 + ld hl, CinnabarGymText_759fe + call PrintText + ld hl, CinnabarGymText_75a03 + ld de, CinnabarGymText_75a03 ; $5a03 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_5cfd7 ; 0x759f5 + ld hl, CinnabarGymText_75a08 + call PrintText + jp TextScriptEnd + +CinnabarGymText_759fe: ; 759fe (1d:59fe) + TX_FAR _CinnabarGymText_759fe + db "@" + +CinnabarGymText_75a03: ; 75a03 (1d:5a03) + TX_FAR _CinnabarGymText_75a03 + db "@" + +CinnabarGymText_75a08: ; 75a08 (1d:5a08) + TX_FAR _CinnabarGymText_75a08 + db "@" + +CinnabarGymText6: ; 75a0d (1d:5a0d) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 6, a + jr nz, .asm_776b4 ; 0x75a16 + ld hl, CinnabarGymText_75a33 + call PrintText + ld hl, CinnabarGymText_75a38 + ld de, CinnabarGymText_75a38 + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_776b4 ; 0x75a2a + ld hl, CinnabarGymText_75a3d + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a33: ; 75a33 (1d:5a33) + TX_FAR _CinnabarGymText_75a33 + db "@" + +CinnabarGymText_75a38: ; 75a38 (1d:5a38) + TX_FAR _CinnabarGymText_75a38 + db "@" + +CinnabarGymText_75a3d: ; 75a3d (1d:5a3d) + TX_FAR _CinnabarGymText_75a3d + db "@" + +CinnabarGymText7: ; 75a42 (1d:5a42) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 7, a + jr nz, .asm_2f755 ; 0x75a4b + ld hl, CinnabarGymText_75a68 + call PrintText + ld hl, CinnabarGymText_75a6d + ld de, CinnabarGymText_75a6d + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_2f755 ; 0x75a5f + ld hl, CinnabarGymText_75a72 + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a68: ; 75a68 (1d:5a68) + TX_FAR _CinnabarGymText_75a68 + db "@" + +CinnabarGymText_75a6d: ; 75a6d (1d:5a6d) + TX_FAR _CinnabarGymText_75a6d + db "@" + +CinnabarGymText_75a72: ; 75a72 (1d:5a72) + TX_FAR _CinnabarGymText_75a72 + db "@" + +CinnabarGymText8: ; 75a77 (1d:5a77) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79b] + bit 0, a + jr nz, .asm_d87be ; 0x75a80 + ld hl, CinnabarGymText_75a9d + call PrintText + ld hl, CinnabarGymText_75aa2 + ld de, CinnabarGymText_75aa2 ; $5aa2 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_d87be ; 0x75a94 + ld hl, CinnabarGymText_75aa7 + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a9d: ; 75a9d (1d:5a9d) + TX_FAR _CinnabarGymText_75a9d + db "@" + +CinnabarGymText_75aa2: ; 75aa2 (1d:5aa2) + TX_FAR _CinnabarGymText_75aa2 + db "@" + +CinnabarGymText_75aa7: ; 75aa7 (1d:5aa7) + TX_FAR _CinnabarGymText_75aa7 + db "@" + +CinnabarGymText9: ; 75aac (1d:5aac) + db $08 ; asm + ld a, [$d79a] + bit 1, a + jr nz, .asm_627d9 ; 0x75ab2 + ld hl, CinnabarGymText_75ac2 + jr .asm_0b11d ; 0x75ab7 +.asm_627d9 ; 0x75ab9 + ld hl, CinnabarGymText_75ac7 +.asm_0b11d ; 0x75abc + call PrintText + jp TextScriptEnd + +CinnabarGymText_75ac2: ; 75ac2 (1d:5ac2) + TX_FAR _CinnabarGymText_75ac2 + db "@" + +CinnabarGymText_75ac7: ; 75ac7 (1d:5ac7) + TX_FAR _CinnabarGymText_75ac7 + db "@" |