summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluckytyphlosion <alan.rj.huang@gmail.com>2015-05-24 15:04:40 -0400
committerluckytyphlosion <alan.rj.huang@gmail.com>2015-05-24 15:04:40 -0400
commitd79888b81ad2adb022ecfc438ecc432dfaeb28cb (patch)
tree91e85b3c129bbfcd3ed7bf7ce815a42edc78a038
parentb7e34ecc401032ee14d998fd545a302d6b430010 (diff)
Bank 3c and 3f stuff.
-rw-r--r--yellow/bank3c/main.asm12
-rw-r--r--yellow/bank3f/main.asm145
2 files changed, 153 insertions, 4 deletions
diff --git a/yellow/bank3c/main.asm b/yellow/bank3c/main.asm
index 751471d7..7e3d2068 100644
--- a/yellow/bank3c/main.asm
+++ b/yellow/bank3c/main.asm
@@ -74,8 +74,18 @@ Func_f02da:: ; f02da (3c:42da)
Pointer_f02fa:: ; f02fa (3c:42fa)
db $cf,$d0,$d1,$d2,$d3,$d4
db $d5,$e9,$ea,$eb,$d6,$d7
- ; a lot more raw data here that I have no idea what it might mean
+ db $d8,$a5,$a6,$87,$c7,$ca
+ db $c6,$6c,$c2,$71,$f5,$f6
+ db $f7,$ff
+SECTION "bank3C",ROMX[$4314],BANK[$3C]
+
+BeachHouse_GFX:: ; f0314 (3c:4314)
+ INCBIN "gfx/tilesets/beachhouse.2bpp"
+
+BeachHouse_Block::
+ INCBIN "gfx/blocksets/beachhouse.bst"
+
SECTION "bank3c",ROMX[$4a55],BANK[$3c]
Func_f0a55:: ; f0a55 (3c:4a55)
ld hl,Pointer_f0a76 ; 3c:4a76
diff --git a/yellow/bank3f/main.asm b/yellow/bank3f/main.asm
index f9cc0ad9..cf822e4c 100644
--- a/yellow/bank3f/main.asm
+++ b/yellow/bank3f/main.asm
@@ -1,9 +1,148 @@
-; asm to be added
+SECTION "bank3f",ROMX,BANK[$3f]
-Func_fc4dd:: ; fc4dd (3f:44dd)
+INCLUDE "yellow/bank3f/data/map_songs.asm"
+INCLUDE "yellow/bank3f/data/map_header_pointers.asm"
+INCLUDE "yellow/bank3f/data/map_header_banks.asm"
-Func_fc5fa:: ; fc5fa (3f:45fa)
+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
+ ld [hl],$ff
+ push hl
+ ld hl,wd472
+ set 5,[hl]
+ pop hl
+ ret
+
Func_fc65b:: ; fc65b (3f:465b)
Func_fc69a:: ; fc69a (3f:469a)