main.asm is now under 30k lines
This commit is contained in:
@@ -174,7 +174,7 @@ endr
|
||||
; Look up the third field from the table in the wc300 array (10x2).
|
||||
; Take the value and load it in
|
||||
ld a, [de]
|
||||
call LookUpInwDict_c300
|
||||
call LookUpInwSpriteAnimDict
|
||||
ld [hli], a
|
||||
pop de
|
||||
; Set hl to field 4. Kinda pointless, because we're presumably already here.
|
||||
@@ -374,11 +374,11 @@ Function8d0ec: ; 8d0ec
|
||||
ret
|
||||
; 8d109
|
||||
|
||||
LookUpInwDict_c300: ; 8d109
|
||||
; a = wDict_c300[a] if a in wDict_c300 else 0
|
||||
LookUpInwSpriteAnimDict: ; 8d109
|
||||
; a = wSpriteAnimDict[a] if a in wSpriteAnimDict else 0
|
||||
push hl
|
||||
push bc
|
||||
ld hl, wDict_c300
|
||||
ld hl, wSpriteAnimDict
|
||||
ld b, a
|
||||
ld c, 10
|
||||
.loop
|
||||
@@ -2885,3 +2885,540 @@ endr
|
||||
|
||||
Unknown_8e75d: ; 8e75d
|
||||
sine_wave $100
|
||||
|
||||
|
||||
Function8e79d: ; 8e79d
|
||||
ld a, [hSGB]
|
||||
ld de, GFX_8e7f4
|
||||
and a
|
||||
jr z, .asm_8e7a8
|
||||
ld de, GFX_8e804
|
||||
|
||||
.asm_8e7a8
|
||||
ld hl, VTiles0
|
||||
lb bc, BANK(GFX_8e7f4), 1
|
||||
call Request2bpp
|
||||
ld c, $8
|
||||
ld d, $0
|
||||
.asm_8e7b5
|
||||
push bc
|
||||
call Function8e7c6
|
||||
call DelayFrame
|
||||
pop bc
|
||||
rept 2
|
||||
inc d
|
||||
endr
|
||||
dec c
|
||||
jr nz, .asm_8e7b5
|
||||
call ClearSprites
|
||||
ret
|
||||
; 8e7c6
|
||||
|
||||
Function8e7c6: ; 8e7c6
|
||||
ld hl, Sprites
|
||||
ld c, $8
|
||||
.asm_8e7cb
|
||||
ld a, c
|
||||
and a
|
||||
ret z
|
||||
dec c
|
||||
ld a, c
|
||||
sla a
|
||||
sla a
|
||||
sla a
|
||||
push af
|
||||
push de
|
||||
push hl
|
||||
call Function8e72c
|
||||
pop hl
|
||||
pop de
|
||||
add $68
|
||||
ld [hli], a
|
||||
pop af
|
||||
push de
|
||||
push hl
|
||||
call Function8e72a
|
||||
pop hl
|
||||
pop de
|
||||
add $54
|
||||
ld [hli], a
|
||||
ld a, $0
|
||||
ld [hli], a
|
||||
ld a, $6
|
||||
ld [hli], a
|
||||
jr .asm_8e7cb
|
||||
; 8e7f4
|
||||
|
||||
GFX_8e7f4: ; 8e7f4
|
||||
INCBIN "gfx/unknown/08e7f4.2bpp"
|
||||
GFX_8e804: ; 8e804
|
||||
INCBIN "gfx/unknown/08e804.2bpp"
|
||||
|
||||
ClearSpriteAnims: ; 8e814
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
ld hl, wSpriteAnimDict
|
||||
ld bc, wSpriteAnimsEnd - wSpriteAnimDict
|
||||
.loop
|
||||
ld [hl], $0
|
||||
inc hl
|
||||
dec bc
|
||||
ld a, c
|
||||
or b
|
||||
jr nz, .loop
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 8e82b
|
||||
|
||||
Function8e82b: ; 8e82b
|
||||
ld a, e
|
||||
call ReadMonMenuIcon
|
||||
ld l, a
|
||||
ld h, 0
|
||||
add hl, hl
|
||||
ld de, IconPointers
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld d, [hl]
|
||||
ld b, BANK(Icons)
|
||||
ld c, 8
|
||||
ret
|
||||
; 8e83f
|
||||
|
||||
Function8e83f: ; 8e83f
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
call Function8e849
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 8e849
|
||||
|
||||
Function8e849: ; 8e849
|
||||
ld d, 0
|
||||
ld hl, Jumptable_8e854
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
jp [hl]
|
||||
; 8e854
|
||||
|
||||
|
||||
Jumptable_8e854: ; 8e854 (23:6854)
|
||||
dw Function8e8d5
|
||||
dw Function8e961
|
||||
dw Function8e97d
|
||||
dw Function8e99a
|
||||
dw Function8e898
|
||||
dw Function8e8b1
|
||||
dw Function8e862
|
||||
|
||||
|
||||
Function8e862: ; 8e862 (23:6862)
|
||||
call Function8e908
|
||||
call Function8e86c
|
||||
call Function8e936
|
||||
ret
|
||||
|
||||
Function8e86c: ; 8e86c (23:686c)
|
||||
push bc
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, PartyMon1Item
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
pop bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_8e890
|
||||
push hl
|
||||
push bc
|
||||
ld d, a
|
||||
callab ItemIsMail
|
||||
pop bc
|
||||
pop hl
|
||||
jr c, .asm_8e88e
|
||||
ld a, $6
|
||||
jr .asm_8e892
|
||||
.asm_8e88e
|
||||
ld a, $5
|
||||
.asm_8e890
|
||||
ld a, $4
|
||||
.asm_8e892
|
||||
ld hl, $1
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Function8e898: ; 8e898 (23:6898)
|
||||
call Function8e8d5
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld a, $0
|
||||
ld [hl], a
|
||||
ld hl, $4
|
||||
add hl, bc
|
||||
ld a, $48
|
||||
ld [hl], a
|
||||
ld hl, $5
|
||||
add hl, bc
|
||||
ld a, $48
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Function8e8b1: ; 8e8b1 (23:68b1)
|
||||
call Function8e908
|
||||
call Function8e936
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld a, $0
|
||||
ld [hl], a
|
||||
ld hl, $4
|
||||
add hl, bc
|
||||
ld a, $18
|
||||
ld [hl], a
|
||||
ld hl, $5
|
||||
add hl, bc
|
||||
ld a, $60
|
||||
ld [hl], a
|
||||
ld a, c
|
||||
ld [wc608], a
|
||||
ld a, b
|
||||
ld [wc608 + 1], a
|
||||
ret
|
||||
|
||||
Function8e8d5: ; 8e8d5 (23:68d5)
|
||||
call Function8e908
|
||||
call Function8e8df
|
||||
call Function8e936
|
||||
ret
|
||||
|
||||
Function8e8df: ; 8e8df (23:68df)
|
||||
push bc
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, PartyMon1Item
|
||||
ld bc, $30
|
||||
call AddNTimes
|
||||
pop bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
ret z
|
||||
push hl
|
||||
push bc
|
||||
ld d, a
|
||||
callab ItemIsMail
|
||||
pop bc
|
||||
pop hl
|
||||
jr c, .asm_8e900
|
||||
ld a, $3
|
||||
jr .asm_8e902
|
||||
.asm_8e900
|
||||
ld a, $2
|
||||
.asm_8e902
|
||||
ld hl, $1
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Function8e908: ; 8e908 (23:6908)
|
||||
ld a, [wc3b7]
|
||||
push af
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, PartySpecies
|
||||
ld e, a
|
||||
ld d, $0
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
call Function8e9db
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
; y coord
|
||||
rept 4
|
||||
add a
|
||||
endr
|
||||
add $1c
|
||||
ld d, a
|
||||
; x coord
|
||||
ld e, $10
|
||||
; type is partymon icon
|
||||
ld a, SPRITE_ANIM_INDEX_00
|
||||
call InitSpriteAnimStruct
|
||||
pop af
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Function8e936: ; 8e936 (23:6936)
|
||||
push bc
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld b, a
|
||||
call Function8e94c
|
||||
ld a, b
|
||||
pop bc
|
||||
ld hl, $9
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
rlca
|
||||
rlca
|
||||
ld hl, $d
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Function8e94c: ; 8e94c (23:694c)
|
||||
callba PlacePartymonHPBar
|
||||
call GetHPPal
|
||||
ld e, d
|
||||
ld d, 0
|
||||
ld hl, Unknown_8e95e
|
||||
add hl, de
|
||||
ld b, [hl]
|
||||
ret
|
||||
; 8e95e (23:695e)
|
||||
|
||||
Unknown_8e95e: ; 8e95e
|
||||
db $00, $40, $80
|
||||
; 8e961
|
||||
|
||||
Function8e961: ; 8e961 (23:6961)
|
||||
ld a, [wd265]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
xor a
|
||||
call GetIconGFX
|
||||
lb de, $24, $20
|
||||
ld a, SPRITE_ANIM_INDEX_00
|
||||
call InitSpriteAnimStruct
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
Function8e97d: ; 8e97d (23:697d)
|
||||
ld a, [wd265]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
xor a
|
||||
call GetIconGFX
|
||||
ld d, $1a
|
||||
ld e, $24
|
||||
ld a, SPRITE_ANIM_INDEX_00
|
||||
call InitSpriteAnimStruct
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
Function8e99a: ; 8e99a (23:699a)
|
||||
ld a, [wd265]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
ld a, $62
|
||||
ld [wc3b7], a
|
||||
call Function8e9db
|
||||
ret
|
||||
|
||||
GetSpeciesIcon: ; 8e9ac
|
||||
; Load species icon into VRAM at tile a
|
||||
push de
|
||||
ld a, [wd265]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
pop de
|
||||
ld a, e
|
||||
call GetIconGFX
|
||||
ret
|
||||
; 8e9bc
|
||||
|
||||
|
||||
Function8e9bc: ; 8e9bc (23:69bc)
|
||||
push de
|
||||
ld a, [wd265]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
pop de
|
||||
ld a, e
|
||||
call GetIcon_a
|
||||
ret
|
||||
; 8e9cc (23:69cc)
|
||||
|
||||
Function8e9cc: ; 8e9cc
|
||||
push de
|
||||
ld a, [wd265]
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
pop de
|
||||
call GetIcon_de
|
||||
ret
|
||||
; 8e9db
|
||||
|
||||
Function8e9db: ; 8e9db (23:69db)
|
||||
ld a, [wc3b7]
|
||||
|
||||
GetIconGFX: ; 8e9de
|
||||
call GetIcon_a
|
||||
ld de, $80 ; 8 tiles
|
||||
add hl, de
|
||||
ld de, HeldItemIcons
|
||||
lb bc, BANK(HeldItemIcons), 2
|
||||
call GetGFXUnlessMobile
|
||||
ld a, [wc3b7]
|
||||
add 10
|
||||
ld [wc3b7], a
|
||||
ret
|
||||
|
||||
HeldItemIcons:
|
||||
INCBIN "gfx/icon/mail.2bpp"
|
||||
INCBIN "gfx/icon/item.2bpp"
|
||||
; 8ea17
|
||||
|
||||
GetIcon_de: ; 8ea17
|
||||
; Load icon graphics into VRAM starting from tile de.
|
||||
ld l, e
|
||||
ld h, d
|
||||
jr GetIcon
|
||||
|
||||
GetIcon_a: ; 8ea1b
|
||||
; Load icon graphics into VRAM starting from tile a.
|
||||
ld l, a
|
||||
ld h, 0
|
||||
|
||||
GetIcon: ; 8ea1e
|
||||
; Load icon graphics into VRAM starting from tile hl.
|
||||
|
||||
; One tile is 16 bytes long.
|
||||
rept 4
|
||||
add hl, hl
|
||||
endr
|
||||
|
||||
ld de, VTiles0
|
||||
add hl, de
|
||||
push hl
|
||||
|
||||
; The icons are contiguous, in order and of the same
|
||||
; size, so the pointer table is somewhat redundant.
|
||||
ld a, [CurIcon]
|
||||
push hl
|
||||
ld l, a
|
||||
ld h, 0
|
||||
add hl, hl
|
||||
ld de, IconPointers
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld d, [hl]
|
||||
pop hl
|
||||
|
||||
lb bc, BANK(Icons), 8
|
||||
call GetGFXUnlessMobile
|
||||
|
||||
pop hl
|
||||
ret
|
||||
; 8ea3f
|
||||
|
||||
GetGFXUnlessMobile: ; 8ea3f
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
jp nz, Request2bpp
|
||||
jp Get2bpp_2
|
||||
; 8ea4a
|
||||
|
||||
Function8ea4a: ; 8ea4a
|
||||
ld hl, wSpriteAnimationStructs
|
||||
ld e, $6
|
||||
ld a, [MenuSelection2]
|
||||
ld d, a
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .next
|
||||
cp d
|
||||
jr z, .loadwithtwo
|
||||
ld a, $0
|
||||
jr .ok
|
||||
|
||||
.loadwithtwo
|
||||
ld a, $2
|
||||
|
||||
.ok
|
||||
push hl
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop hl
|
||||
|
||||
.next
|
||||
ld bc, $10
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 8ea71
|
||||
|
||||
Function8ea71: ; 8ea71
|
||||
ld hl, wSpriteAnimationStructs
|
||||
ld e, $6
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .zero
|
||||
push hl
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], $1
|
||||
pop hl
|
||||
.zero
|
||||
ld bc, $10
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 8ea8c (23:6a8c)
|
||||
|
||||
Function8ea8c: ; 8ea8c
|
||||
ld hl, wSpriteAnimationStructs
|
||||
ld e, $6
|
||||
ld a, [wd0e3]
|
||||
ld d, a
|
||||
.asm_8ea95
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_8eaab
|
||||
cp d
|
||||
jr z, .asm_8eaa0
|
||||
ld a, $3
|
||||
jr .asm_8eaa2
|
||||
.asm_8eaa0
|
||||
ld a, $2
|
||||
.asm_8eaa2
|
||||
push hl
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop hl
|
||||
.asm_8eaab
|
||||
ld bc, $10
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .asm_8ea95
|
||||
ret
|
||||
|
||||
INCLUDE "menu/mon_icons.asm"
|
||||
|
Reference in New Issue
Block a user