mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-11-20 03:45:33 +13:00
Add the boulder checking code in Seafoam Islands.
hg-commit-id: e6031dbbcc5b
This commit is contained in:
parent
fd27fd7b6b
commit
4bbef145e0
74
main.asm
74
main.asm
|
|
@ -6714,6 +6714,9 @@ ArePlayerCoordsInArray: ; 0x34bf
|
||||||
ld b,a
|
ld b,a
|
||||||
ld a,[W_XCOORD]
|
ld a,[W_XCOORD]
|
||||||
ld c,a
|
ld c,a
|
||||||
|
; fallthrough
|
||||||
|
|
||||||
|
CheckCoords: ; 0x34c7
|
||||||
xor a
|
xor a
|
||||||
ld [$cd3d],a
|
ld [$cd3d],a
|
||||||
.loop\@
|
.loop\@
|
||||||
|
|
@ -6740,7 +6743,32 @@ ArePlayerCoordsInArray: ; 0x34bf
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$34E4,$3541-$34E4
|
; tests if a boulder's coordinates are in a specified array
|
||||||
|
; INPUT:
|
||||||
|
; hl = address of array
|
||||||
|
; ff8c = which boulder to check? XXX
|
||||||
|
; OUTPUT:
|
||||||
|
; [$cd3d] = if there is match, the matching array index
|
||||||
|
; sets carry if the coordinates are in the array, clears carry if not
|
||||||
|
CheckBoulderCoords: ; 0x34e4
|
||||||
|
push hl
|
||||||
|
ld hl, $c204
|
||||||
|
ld a, [$ff00+$8c]
|
||||||
|
swap a
|
||||||
|
ld d, $0
|
||||||
|
ld e, a
|
||||||
|
add hl, de
|
||||||
|
ld a, [hli]
|
||||||
|
sub $4 ; because sprite coordinates are offset by 4
|
||||||
|
ld b, a
|
||||||
|
ld a, [hl]
|
||||||
|
sub $4 ; because sprite coordinates are offset by 4
|
||||||
|
ld c, a
|
||||||
|
pop hl
|
||||||
|
jp CheckCoords
|
||||||
|
; 0x34fc
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc",$34fc,$3541-$34fc
|
||||||
|
|
||||||
Function3541: ; 3541
|
Function3541: ; 3541
|
||||||
; XXX what do these three functions do
|
; XXX what do these three functions do
|
||||||
|
|
@ -45338,8 +45366,8 @@ SeafoamIslands1Script: ; 0x447e9
|
||||||
bit 7, [hl]
|
bit 7, [hl]
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
jr z, .asm_4483b ; 0x447f8 $41
|
jr z, .asm_4483b ; 0x447f8 $41
|
||||||
ld hl, Data44846
|
ld hl, Seafoam1HolesCoords
|
||||||
call $34e4
|
call CheckBoulderCoords
|
||||||
ret nc
|
ret nc
|
||||||
ld hl, $d7e8
|
ld hl, $d7e8
|
||||||
ld a, [$cd3d]
|
ld a, [$cd3d]
|
||||||
|
|
@ -45369,11 +45397,11 @@ SeafoamIslands1Script: ; 0x447e9
|
||||||
.asm_4483b
|
.asm_4483b
|
||||||
ld a, $9f
|
ld a, $9f
|
||||||
ld [$d71d], a
|
ld [$d71d], a
|
||||||
ld hl, Data44846
|
ld hl, Seafoam1HolesCoords
|
||||||
jp $6981
|
jp $6981
|
||||||
; 0x44846
|
; 0x44846
|
||||||
|
|
||||||
Data44846: ; 0x44846
|
Seafoam1HolesCoords: ; 0x44846
|
||||||
db $06,$11
|
db $06,$11
|
||||||
db $06,$18
|
db $06,$18
|
||||||
db $ff
|
db $ff
|
||||||
|
|
@ -47287,8 +47315,8 @@ SeafoamIslands2Script: ; 0x46315
|
||||||
bit 7, [hl]
|
bit 7, [hl]
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
jr z, .asm_46362 ; 0x4631f $41
|
jr z, .asm_46362 ; 0x4631f $41
|
||||||
ld hl, SeafoamIslands2Script_Unknown4636d
|
ld hl, Seafoam2HolesCoords
|
||||||
call $34e4
|
call CheckBoulderCoords
|
||||||
ret nc
|
ret nc
|
||||||
ld hl, $d87f
|
ld hl, $d87f
|
||||||
ld a, [$cd3d]
|
ld a, [$cd3d]
|
||||||
|
|
@ -47318,12 +47346,14 @@ SeafoamIslands2Script: ; 0x46315
|
||||||
.asm_46362
|
.asm_46362
|
||||||
ld a, $a0
|
ld a, $a0
|
||||||
ld [$d71d], a
|
ld [$d71d], a
|
||||||
ld hl, SeafoamIslands2Script_Unknown4636d
|
ld hl, Seafoam2HolesCoords
|
||||||
jp $6981
|
jp $6981
|
||||||
; 0x4636d
|
; 0x4636d
|
||||||
|
|
||||||
SeafoamIslands2Script_Unknown4636d: ; 0x4636d
|
Seafoam2HolesCoords: ; 0x4636d
|
||||||
INCBIN "baserom.gbc",$4636d,$5
|
db $06,$12
|
||||||
|
db $06,$17
|
||||||
|
db $ff
|
||||||
|
|
||||||
SeafoamIslands2Texts: ; 0x46372
|
SeafoamIslands2Texts: ; 0x46372
|
||||||
dw BoulderText, BoulderText
|
dw BoulderText, BoulderText
|
||||||
|
|
@ -47372,8 +47402,8 @@ SeafoamIslands3Script: ; 0x46451
|
||||||
bit 7, [hl]
|
bit 7, [hl]
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
jr z, .asm_4649e ; 0x4645b $41
|
jr z, .asm_4649e ; 0x4645b $41
|
||||||
ld hl, SeafoamIslands3Script_Unknown464a9
|
ld hl, Seafoam3HolesCoords
|
||||||
call $34e4
|
call CheckBoulderCoords
|
||||||
ret nc
|
ret nc
|
||||||
ld hl, $d880
|
ld hl, $d880
|
||||||
ld a, [$cd3d]
|
ld a, [$cd3d]
|
||||||
|
|
@ -47403,12 +47433,14 @@ SeafoamIslands3Script: ; 0x46451
|
||||||
.asm_4649e
|
.asm_4649e
|
||||||
ld a, $a1
|
ld a, $a1
|
||||||
ld [$d71d], a
|
ld [$d71d], a
|
||||||
ld hl, SeafoamIslands3Script_Unknown464a9
|
ld hl, Seafoam3HolesCoords
|
||||||
jp $6981
|
jp $6981
|
||||||
; 0x464a9
|
; 0x464a9
|
||||||
|
|
||||||
SeafoamIslands3Script_Unknown464a9: ; 0x464a9
|
Seafoam3HolesCoords: ; 0x464a9
|
||||||
INCBIN "baserom.gbc",$464a9,$5
|
db $06,$13
|
||||||
|
db $06,$16
|
||||||
|
db $ff
|
||||||
|
|
||||||
SeafoamIslands3Texts: ; 0x464ae
|
SeafoamIslands3Texts: ; 0x464ae
|
||||||
dw BoulderText, BoulderText
|
dw BoulderText, BoulderText
|
||||||
|
|
@ -47457,8 +47489,8 @@ SeafoamIslands4Script: ; 0x4658d
|
||||||
bit 7, [hl]
|
bit 7, [hl]
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
jr z, .asm_465dc ; 0x46597 $43
|
jr z, .asm_465dc ; 0x46597 $43
|
||||||
ld hl, Data465f6
|
ld hl, Seafoam4HolesCoords
|
||||||
call $34e4
|
call CheckBoulderCoords
|
||||||
ret nc
|
ret nc
|
||||||
ld hl, $d881
|
ld hl, $d881
|
||||||
ld a, [$cd3d]
|
ld a, [$cd3d]
|
||||||
|
|
@ -47489,7 +47521,7 @@ SeafoamIslands4Script: ; 0x4658d
|
||||||
.asm_465dc
|
.asm_465dc
|
||||||
ld a, $a2
|
ld a, $a2
|
||||||
ld [$d71d], a
|
ld [$d71d], a
|
||||||
ld hl, Data465f6
|
ld hl, Seafoam4HolesCoords
|
||||||
call $6981
|
call $6981
|
||||||
ld a, [$d732]
|
ld a, [$d732]
|
||||||
bit 4, a
|
bit 4, a
|
||||||
|
|
@ -47500,8 +47532,10 @@ SeafoamIslands4Script: ; 0x4658d
|
||||||
jp $3d97
|
jp $3d97
|
||||||
; 0x465f6
|
; 0x465f6
|
||||||
|
|
||||||
Data465f6: ; 0x465f6
|
Seafoam4HolesCoords: ; 0x465f6
|
||||||
INCBIN "baserom.gbc",$465f6,$465fb - $465f6
|
db $10,$03
|
||||||
|
db $10,$06
|
||||||
|
db $ff
|
||||||
|
|
||||||
SeafoamIslands4Scripts: ; 0x465fb
|
SeafoamIslands4Scripts: ; 0x465fb
|
||||||
dw SeafoamIslands4Script0, SeafoamIslands4Script1, SeafoamIslands4Script2, SeafoamIslands4Script3
|
dw SeafoamIslands4Script0, SeafoamIslands4Script1, SeafoamIslands4Script2, SeafoamIslands4Script3
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue