From d79888b81ad2adb022ecfc438ecc432dfaeb28cb Mon Sep 17 00:00:00 2001 From: luckytyphlosion Date: Sun, 24 May 2015 15:04:40 -0400 Subject: Bank 3c and 3f stuff. --- yellow/bank3c/main.asm | 12 +++- yellow/bank3f/main.asm | 145 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 153 insertions(+), 4 deletions(-) (limited to 'yellow') 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) -- cgit v1.3.1-sl0p