summaryrefslogtreecommitdiff
path: root/engine/events
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-05-25 05:25:43 -0400
committerentrpntr <entrpntr@gmail.com>2020-05-25 17:04:16 -0400
commit14f6ddbe3c61dc0b395bc295403ceef9d7ef6b2e (patch)
treee5377a053beeae4ac5d719f2974c3b9f3a67855f /engine/events
parentf84274fb73db48c998e5c811559388ebab6419ce (diff)
Finish disassembling banks 7 and 8.
Diffstat (limited to 'engine/events')
-rw-r--r--engine/events/catch_tutorial.asm81
1 files changed, 81 insertions, 0 deletions
diff --git a/engine/events/catch_tutorial.asm b/engine/events/catch_tutorial.asm
new file mode 100644
index 00000000..5c12a02f
--- /dev/null
+++ b/engine/events/catch_tutorial.asm
@@ -0,0 +1,81 @@
+CatchTutorial::
+ ld a, [wBattleType]
+ dec a
+ ld c, a
+ ld hl, .dw
+ ld b, 0
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+.dw
+ dw .DudeTutorial
+ dw .DudeTutorial
+ dw .DudeTutorial
+
+.DudeTutorial:
+; Back up your name to your Mom's name.
+ ld hl, wPlayerName
+ ld de, wMomsName
+ ld bc, NAME_LENGTH
+ call CopyBytes
+; Copy Dude's name to your name
+ ld hl, .Dude
+ ld de, wPlayerName
+ ld bc, NAME_LENGTH
+ call CopyBytes
+
+ call .LoadDudeData
+
+ xor a
+ ldh [hJoyDown], a
+ ldh [hJoyPressed], a
+ ld a, [wOptions]
+ push af
+ and $ff ^ TEXT_DELAY_MASK
+ add TEXT_DELAY_MED
+ ld [wOptions], a
+ ld hl, .AutoInput
+ ld a, BANK(.AutoInput)
+ call StartAutoInput
+ callfar StartBattle
+ call StopAutoInput
+ pop af
+
+ ld [wOptions], a
+ ld hl, wMomsName
+ ld de, wPlayerName
+ ld bc, NAME_LENGTH
+ call CopyBytes
+ ret
+
+.LoadDudeData:
+ ld hl, wDudeNumItems
+ ld [hl], 1
+ inc hl
+ ld [hl], POTION
+ inc hl
+ ld [hl], 1
+ inc hl
+ ld [hl], -1
+ ld hl, wDudeNumKeyItems
+ ld [hl], 0
+ inc hl
+ ld [hl], -1
+ ld hl, wDudeNumBalls
+ ld a, 1
+ ld [hli], a
+ ld a, POKE_BALL
+ ld [hli], a
+ ld [hli], a
+ ld [hl], -1
+ ret
+
+.Dude:
+ db "DUDE@"
+
+.AutoInput:
+ db NO_INPUT, $ff ; end