summaryrefslogtreecommitdiff
path: root/yellow/bank3f/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'yellow/bank3f/main.asm')
-rw-r--r--yellow/bank3f/main.asm480
1 files changed, 240 insertions, 240 deletions
diff --git a/yellow/bank3f/main.asm b/yellow/bank3f/main.asm
index 06fc81bb..c9662acd 100644
--- a/yellow/bank3f/main.asm
+++ b/yellow/bank3f/main.asm
@@ -1,240 +1,240 @@
-INCLUDE "yellow/bank3f/data/map_songs.asm"
-INCLUDE "yellow/bank3f/data/map_header_pointers.asm"
-INCLUDE "yellow/bank3f/data/map_header_banks.asm"
-
-Func_fc4dd:: ; fc4dd (3f:44dd)
-; possibly to test if pika should be out?
- ld a,[wd430]
- bit 5,a
- jr nz,.asm_fc4f8 ; 3f:44f8
- ld a,[wd430]
- bit 7,a
- jr nz,.asm_fc4f8
- call Func_fcdb8
- jr nc,.asm_fc4f8
- ld a,[wWalkBikeSurfState]
- and a
- jr nz,.asm_fc4f8
- scf
- ret
-.asm_fc4f8
- and a
- ret
-
-Func_fc5fa:: ; fc5fa (3f:44fa)
- ld hl,wd430
- bit 4,[hl]
- res 4,[hl]
- jr nz,.asm_fc515
- call Func_1542
- call Func_fc523
- ld a,$ff
- ld [wSpriteStateData1 + $f2],a
- call Func_fcb84
- call Func_fc5bc
- ret
-
-.asm_fc515
- call Func_fc53f
- xor a
- ld [wd431],a
- ld a,[wSpriteStateData1 + $9]
- ld [wSpriteStateData1 + $f9],a
- ret
-
-Func_fc523:: ; fc523 (3f:4523)
- ld hl,wSpriteStateData1 + $f0
- call Func_fc52c
- ld hl,wSpriteStateData2 + $f0
-Func_fc52c:: ; fc52c (3f:4523)
- ld bc,$10
- xor a
- call FillMemory
- ret
-
-Func_fc534:: ; fc534 (3f:4534)
- call Func_fc53f
- call Func_fc5bc
- xor a
- ld [wd431],a
- ret
-
-Func_fc53f:: ; fc53f (3f:453f)
- ld bc,wSpriteStateData1 + $10
- ld a,[W_YCOORD]
- add $4
- ld e,a
- ld a,[W_XCOORD]
- add $4
- ld d,a
- ld a,[wd431]
- and a
- jr z,.asm_fc5aa
- cp $1
- jr z,.asm_fc59e
- cp $2
- jr z,.asm_fc584
- cp $3
- jr z,.asm_fc5aa
- cp $4
- jr z,.asm_fc5a4
- cp $5
- jr z,.asm_fc5a7
- cp $6
- jr z,.asm_fc5a1
- cp $7
- jr z,.asm_fc572
- jr .asm_fc59e
-
-.asm_fc572
- ld a,[wSpriteStateData1 + $9]
- and a ; SPRITE_FACING_DOWN
- jr z,.asm_fc5a4
- cp SPRITE_FACING_UP
- jr z,.asm_fc5a7
- cp SPRITE_FACING_LEFT
- jr z,.asm_fc5a1
- cp SPRITE_FACING_RIGHT
- jr z,.asm_fc59e
-.asm_fc584
- ld a,[wSpriteStateData1 + $9]
- and a
- jr nz,.asm_fc58d
- dec e
- jr .asm_fc5aa
-.asm_fc58d
- cp SPRITE_FACING_UP
- jr nz,.asm_fc594
- inc e
- jr .asm_fc5aa
-.asm_fc594
- cp SPRITE_FACING_LEFT
- jr nz,.asm_fc59b
- inc d
- jr .asm_fc5aa
-.asm_fc59b
- dec d
- jr .asm_fc5aa
-.asm_fc59e
- inc d
- jr .asm_fc5aa
-.asm_fc5a1
- dec d
- jr .asm_fc5aa
-.asm_fc5a4
- inc e
- jr .asm_fc5aa
-.asm_fc5a7
- dec e
- jr .asm_fc5aa ; useless jr
-.asm_fc5aa
- ld hl,$104
- add hl,bc
- ld [hl],e
- inc hl
- ld [hl],d
- inc hl
-Func_fc4b2:: ; fc4b2 (3f:44b2)
- ld [hl],$fe
- push hl
- ld hl,wd472
- set 5,[hl]
- pop hl
- ret
-
-Func_fc5bc:: ; fc5bc (3f:45bc)
- ld a,$49
- ld [wSpriteStateData1 + $f0],a
- ld a,$ff
- ld [wSpriteStateData1 + $f2],a
- ld a,[wd431]
- and a
- jr z,.asm_fc5e4
- cp $1
- jr z,.asm_fc5e4
- cp $3
- jr z,.asm_fc5eb
- cp $4
- jr z,.asm_fc5e4
- cp $6
- jr z,.asm_fc5e4
- cp $7
- jr z,.asm_fc5f1
- call Func_fc4b2
- ret
-
-.asm_fc5e4
- ld a,[wSpriteStateData1 + $9]
- ld [wSpriteStateData1 + $f9],a
- ret
-.asm_fc5eb
- ld a,$0
- ld [wSpriteStateData1 + $f9],a
- ret
-.asm_fc5f1
- ld a,[wSpriteStateData1 + $9]
- xor $4
- ld [wSpriteStateData1 + $f9],a
- ret
-
-Func_fc5fa:: ; fc5fa (3f:45fa)
- ld a,[W_CURMAP]
- cp OAKS_LAB
- jr z,.asm_fc63d
- cp ROUTE_22_GATE
- jr z,.asm_fc62d
- cp MT_MOON_2
- jr z,.asm_fc635
- cp ROCK_TUNNEL_1
- jr z,.asm_fc645
- ld a,[W_CURMAP]
- ld hl,Pointer_fc64b
- call Func_1568 ; similar to IsInArray, but not the same
- jr c,.asm_fc639
- ld a,[W_CURMAP]
- ld hl,Pointer_fc653
- call Func_1568
- jr nc,.asm_fc641
- ld a,[wSpriteStateData1 + $9]
- and a
- jr nz,.asm_fc641
- ld a,$3
- jr .asm_fc647
-
-.asm_fc62d
- ld a,[wSpriteStateData1 + $9]
- and a
- jr z,.asm_fc645
- jr .asm_fc641
-.asm_fc635
- ld a,$3
- jr .asm_fc647
-.asm_fc639
- ld a,$4
- jr .asm_fc647
-.asm_fc63d
- ld a,$6
- jr .asm_fc647
-.asm_fc641
- ld a,$1
- jr .asm_fc647
-.asm_fc645
- ld a,$3
-.asm_fc647
- ld [wd431],a
- ret
-
-Pointer_fc64b:: ; fc64b (3f:464b)
- db $c2,$4c,$4f,$ba,$be,$b8,$54,$ff
-
-Pointer_fc653:: ; fc653 (3f:4653)
- db $2f,$e6,$3e,$5e,$80,$31,$a4,$ff
-
-Func_fc65b:: ; fc65b (3f:465b)
- ld a,[W_CURMAP]
-
-Func_fc69a:: ; fc69a (3f:469a)
-
-Func_fcc08:: ; fcc08 (3f:4c08)
-
-Func_fcf0c:: ; fcf0c (3f:4f0c)
+INCLUDE "yellow/bank3f/data/map_songs.asm"
+INCLUDE "yellow/bank3f/data/map_header_pointers.asm"
+INCLUDE "yellow/bank3f/data/map_header_banks.asm"
+
+Func_fc4dd:: ; fc4dd (3f:44dd)
+; possibly to test if pika should be out?
+ ld a,[wd430]
+ bit 5,a
+ jr nz,.asm_fc4f8 ; 3f:44f8
+ ld a,[wd430]
+ bit 7,a
+ jr nz,.asm_fc4f8
+ call Func_fcdb8
+ jr nc,.asm_fc4f8
+ ld a,[wWalkBikeSurfState]
+ and a
+ jr nz,.asm_fc4f8
+ scf
+ ret
+.asm_fc4f8
+ and a
+ ret
+
+Func_fc5fa:: ; fc5fa (3f:44fa)
+ ld hl,wd430
+ bit 4,[hl]
+ res 4,[hl]
+ jr nz,.asm_fc515
+ call Func_1542
+ call Func_fc523
+ ld a,$ff
+ ld [wSpriteStateData1 + $f2],a
+ call Func_fcb84
+ call Func_fc5bc
+ ret
+
+.asm_fc515
+ call Func_fc53f
+ xor a
+ ld [wd431],a
+ ld a,[wSpriteStateData1 + $9]
+ ld [wSpriteStateData1 + $f9],a
+ ret
+
+Func_fc523:: ; fc523 (3f:4523)
+ ld hl,wSpriteStateData1 + $f0
+ call Func_fc52c
+ ld hl,wSpriteStateData2 + $f0
+Func_fc52c:: ; fc52c (3f:4523)
+ ld bc,$10
+ xor a
+ call FillMemory
+ ret
+
+Func_fc534:: ; fc534 (3f:4534)
+ call Func_fc53f
+ call Func_fc5bc
+ xor a
+ ld [wd431],a
+ ret
+
+Func_fc53f:: ; fc53f (3f:453f)
+ ld bc,wSpriteStateData1 + $10
+ ld a,[W_YCOORD]
+ add $4
+ ld e,a
+ ld a,[W_XCOORD]
+ add $4
+ ld d,a
+ ld a,[wd431]
+ and a
+ jr z,.asm_fc5aa
+ cp $1
+ jr z,.asm_fc59e
+ cp $2
+ jr z,.asm_fc584
+ cp $3
+ jr z,.asm_fc5aa
+ cp $4
+ jr z,.asm_fc5a4
+ cp $5
+ jr z,.asm_fc5a7
+ cp $6
+ jr z,.asm_fc5a1
+ cp $7
+ jr z,.asm_fc572
+ jr .asm_fc59e
+
+.asm_fc572
+ ld a,[wSpriteStateData1 + $9]
+ and a ; SPRITE_FACING_DOWN
+ jr z,.asm_fc5a4
+ cp SPRITE_FACING_UP
+ jr z,.asm_fc5a7
+ cp SPRITE_FACING_LEFT
+ jr z,.asm_fc5a1
+ cp SPRITE_FACING_RIGHT
+ jr z,.asm_fc59e
+.asm_fc584
+ ld a,[wSpriteStateData1 + $9]
+ and a
+ jr nz,.asm_fc58d
+ dec e
+ jr .asm_fc5aa
+.asm_fc58d
+ cp SPRITE_FACING_UP
+ jr nz,.asm_fc594
+ inc e
+ jr .asm_fc5aa
+.asm_fc594
+ cp SPRITE_FACING_LEFT
+ jr nz,.asm_fc59b
+ inc d
+ jr .asm_fc5aa
+.asm_fc59b
+ dec d
+ jr .asm_fc5aa
+.asm_fc59e
+ inc d
+ jr .asm_fc5aa
+.asm_fc5a1
+ dec d
+ jr .asm_fc5aa
+.asm_fc5a4
+ inc e
+ jr .asm_fc5aa
+.asm_fc5a7
+ dec e
+ jr .asm_fc5aa ; useless jr
+.asm_fc5aa
+ ld hl,$104
+ add hl,bc
+ ld [hl],e
+ inc hl
+ ld [hl],d
+ inc hl
+Func_fc4b2:: ; fc4b2 (3f:44b2)
+ ld [hl],$fe
+ push hl
+ ld hl,wd472
+ set 5,[hl]
+ pop hl
+ ret
+
+Func_fc5bc:: ; fc5bc (3f:45bc)
+ ld a,$49
+ ld [wSpriteStateData1 + $f0],a
+ ld a,$ff
+ ld [wSpriteStateData1 + $f2],a
+ ld a,[wd431]
+ and a
+ jr z,.asm_fc5e4
+ cp $1
+ jr z,.asm_fc5e4
+ cp $3
+ jr z,.asm_fc5eb
+ cp $4
+ jr z,.asm_fc5e4
+ cp $6
+ jr z,.asm_fc5e4
+ cp $7
+ jr z,.asm_fc5f1
+ call Func_fc4b2
+ ret
+
+.asm_fc5e4
+ ld a,[wSpriteStateData1 + $9]
+ ld [wSpriteStateData1 + $f9],a
+ ret
+.asm_fc5eb
+ ld a,$0
+ ld [wSpriteStateData1 + $f9],a
+ ret
+.asm_fc5f1
+ ld a,[wSpriteStateData1 + $9]
+ xor $4
+ ld [wSpriteStateData1 + $f9],a
+ ret
+
+Func_fc5fa:: ; fc5fa (3f:45fa)
+ ld a,[W_CURMAP]
+ cp OAKS_LAB
+ jr z,.asm_fc63d
+ cp ROUTE_22_GATE
+ jr z,.asm_fc62d
+ cp MT_MOON_2
+ jr z,.asm_fc635
+ cp ROCK_TUNNEL_1
+ jr z,.asm_fc645
+ ld a,[W_CURMAP]
+ ld hl,Pointer_fc64b
+ call Func_1568 ; similar to IsInArray, but not the same
+ jr c,.asm_fc639
+ ld a,[W_CURMAP]
+ ld hl,Pointer_fc653
+ call Func_1568
+ jr nc,.asm_fc641
+ ld a,[wSpriteStateData1 + $9]
+ and a
+ jr nz,.asm_fc641
+ ld a,$3
+ jr .asm_fc647
+
+.asm_fc62d
+ ld a,[wSpriteStateData1 + $9]
+ and a
+ jr z,.asm_fc645
+ jr .asm_fc641
+.asm_fc635
+ ld a,$3
+ jr .asm_fc647
+.asm_fc639
+ ld a,$4
+ jr .asm_fc647
+.asm_fc63d
+ ld a,$6
+ jr .asm_fc647
+.asm_fc641
+ ld a,$1
+ jr .asm_fc647
+.asm_fc645
+ ld a,$3
+.asm_fc647
+ ld [wd431],a
+ ret
+
+Pointer_fc64b:: ; fc64b (3f:464b)
+ db $c2,$4c,$4f,$ba,$be,$b8,$54,$ff
+
+Pointer_fc653:: ; fc653 (3f:4653)
+ db $2f,$e6,$3e,$5e,$80,$31,$a4,$ff
+
+Func_fc65b:: ; fc65b (3f:465b)
+ ld a,[W_CURMAP]
+
+Func_fc69a:: ; fc69a (3f:469a)
+
+Func_fcc08:: ; fcc08 (3f:4c08)
+
+Func_fcf0c:: ; fcf0c (3f:4f0c)