More work on animations

This commit is contained in:
PikalaxALT 2015-12-04 08:46:11 -05:00
parent 2f14f3a669
commit 5b94d54a6c
24 changed files with 908 additions and 795 deletions

View File

@ -5339,7 +5339,7 @@ BattleMenuPKMN_Loop:
call Function3d329
jr c, .Cancel
.loop
callba Function8ea4a
callba FreezeMonIcons
call .GetMenu
jr c, .PressedB
call Function1bee
@ -5674,7 +5674,7 @@ MoveSelectionScreen: ; 3e4bc
ld [MenuSelection2], a
ld a, $1
ld [wcfaa], a
ld a, [wd0eb]
ld a, [wNumMoves]
inc a
ld [wcfa3], a
ld a, $1
@ -5812,7 +5812,7 @@ MoveSelectionScreen: ; 3e4bc
ld a, [MenuSelection2]
and a
jp nz, .menu_loop
ld a, [wd0eb]
ld a, [wNumMoves]
inc a
ld [MenuSelection2], a
jp .menu_loop
@ -5821,7 +5821,7 @@ MoveSelectionScreen: ; 3e4bc
.pressed_down ; 3e62e
ld a, [MenuSelection2]
ld b, a
ld a, [wd0eb]
ld a, [wNumMoves]
rept 2
inc a
endr

View File

@ -358,7 +358,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITEANIMSTRUCT_XOFFSET
const SPRITEANIMSTRUCT_YOFFSET
const SPRITEANIMSTRUCT_DURATION
const SPRITEANIMSTRUCT_09
const SPRITEANIMSTRUCT_DURATIONOFFSET
const SPRITEANIMSTRUCT_FRAME
const SPRITEANIMSTRUCT_0B
const SPRITEANIMSTRUCT_0C

View File

@ -67,7 +67,7 @@ Unknown_8d6e6: ; 8d6e6
dw Unknown_8d948 ; 41
; 8d76a
Unknown_8d76a: db $00, $20
Unknown_8d76a: db $00, $20 ; lowest 6 bits of second byte are duration, upper two bits are flags
db -1
Unknown_8d76d: db $00, $08
db $01, $08
@ -1569,3 +1569,4 @@ Unknown_8e706: ; Broken 2bpp pointers
dbbw $10, $39, $672a ; 16-tile 2bpp at 39:672a (empty data)
dbbw $10, $24, $672a ; 16-tile 2bpp at 24:672a (inside Function926f7)
dbbw $10, $21, $672a ; 16-tile 2bpp at 21:672a (inside Function8671c)
; 8e72a (23:672a)

View File

@ -34,7 +34,7 @@ _ComposeMailMessage: ; 11e75 (mail?)
ld a, BANK(.MailIcon)
call FarCopyBytes
xor a
ld hl, wc300
ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a
@ -43,7 +43,7 @@ _ComposeMailMessage: ; 11e75 (mail?)
ld a, SPRITE_ANIM_INDEX_00
call _InitSpriteAnimStruct
ld hl, $2
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], $0
call .InitCharset
@ -67,6 +67,7 @@ _ComposeMailMessage: ; 11e75 (mail?)
add hl, de
ld [hl], $4e
ret
; 11ef4 (4:5ef4)
.MailIcon: ; 11ef4
@ -77,6 +78,7 @@ INCBIN "gfx/icon/mail2.2bpp"
ld a, $21
ld [wc6d3], a
ret
; 11f7a (4:5f7a)
.Dummy: ; dummied out
@ -128,6 +130,7 @@ INCBIN "gfx/icon/mail2.2bpp"
call DelayFrame
and a
ret
.exit_mail
callab ClearSpriteAnims
call ClearSprites
@ -179,10 +182,10 @@ endr
ld [wc6d5], a
ld a, b
ld [wc6d6], a
ld hl, $1
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld a, [hl]
ld hl, $e
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld [hl], a
ld hl, wJumptableIndex
@ -232,10 +235,10 @@ endr
ld c, [hl]
inc hl
ld b, [hl]
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $9
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $5
ret
@ -268,44 +271,47 @@ endr
ld de, MailEntry_Uppercase
call .PlaceMailCharset
ret
.switch_to_lowercase
ld de, MailEntry_Lowercase
call .PlaceMailCharset
ret
; called from engine/sprite_anims.asm
Function120c1: ; 120c1 (4:60c1)
call Function1210c
ld hl, SpriteAnim1Sprite0d - SpriteAnim1
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
ld e, a
swap e
ld hl, SpriteAnim1YOffset - SpriteAnim1
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
cp $5
ld de, Unknown_120f8
ld a, $0
ld a, 0
jr nz, .asm_120df
ld de, Unknown_12102
ld a, $1
ld a, 1
.asm_120df
ld hl, SpriteAnim1Sprite0e - SpriteAnim1
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
add [hl]
ld hl, SpriteAnim1Sprite01 - SpriteAnim1
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld [hl], a
ld hl, SpriteAnim1Sprite0c - SpriteAnim1
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld l, [hl]
ld h, SpriteAnim1Index - SpriteAnim1
ld h, 0
add hl, de
ld a, [hl]
ld hl, SpriteAnim1XOffset - SpriteAnim1
ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret
; 120f8 (4:60f8)
Unknown_120f8: ; 120f8
@ -329,20 +335,23 @@ Function1210c: ; 1210c (4:610c)
and D_RIGHT
jr nz, .right
ret
.right
call Function1218b
and a
jr nz, .asm_12138
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $9
jr nc, .asm_12135
inc [hl]
ret
.asm_12135
ld [hl], $0
ret
.asm_12138
cp $3
jr nz, .asm_1213d
@ -351,24 +360,27 @@ Function1210c: ; 1210c (4:610c)
ld e, a
add a
add e
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
.left
call Function1218b
and a
jr nz, .asm_12159
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
jr z, .asm_12156
dec [hl]
ret
.asm_12156
ld [hl], $9
ret
.asm_12159
cp $1
jr nz, .asm_1215f
@ -380,29 +392,33 @@ endr
ld e, a
add a
add e
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
.down
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $5
jr nc, .asm_12175
inc [hl]
ret
.asm_12175
ld [hl], $0
ret
.up
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and a
jr z, .asm_12182
dec [hl]
ret
.asm_12182
ld [hl], $5
ret
@ -414,12 +430,12 @@ Function12185: ; 12185 (4:6185)
ld b, [hl]
Function1218b: ; 1218b (4:618b)
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $5
jr nz, .asm_121aa
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $3
@ -428,12 +444,15 @@ Function1218b: ; 1218b (4:618b)
jr c, .asm_121a7
ld a, $3
ret
.asm_121a4
ld a, $1
ret
.asm_121a7
ld a, $2
ret
.asm_121aa
xor a
ret

View File

@ -213,7 +213,7 @@ PlaceGameFreakPresents_3: ; e46dd
GameFreakLogoJumper: ; e46ed (39:46ed)
ld hl, $b
ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
ld e, [hl]
ld d, 0
@ -234,19 +234,19 @@ GameFreakLogoScenes: ; e46fd (39:46fd)
dw GameFreakLogoScene5
GameFreakLogoScene1: ; e4707 (39:4707)
ld hl, $b
ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
ret
GameFreakLogoScene2: ; e470d (39:470d)
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
jr z, .asm_e4747
ld d, a
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and $3f
@ -256,16 +256,16 @@ GameFreakLogoScene2: ; e470d (39:470d)
.asm_e4723
ld e, a
callba Functionce765
ld hl, $7
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
dec [hl]
and $1f
ret nz
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
sub $30
@ -273,11 +273,12 @@ GameFreakLogoScene2: ; e470d (39:470d)
ld de, SFX_DITTO_BOUNCE
call PlaySFX
ret
.asm_e4747
ld hl, $b
ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_POP_UP
@ -285,18 +286,19 @@ GameFreakLogoScene2: ; e470d (39:470d)
ret
GameFreakLogoScene3: ; e4759 (39:4759)
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $20
jr nc, .asm_e4764
inc [hl]
ret
.asm_e4764
ld hl, $b
ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_TRANSFORM
@ -304,7 +306,7 @@ GameFreakLogoScene3: ; e4759 (39:4759)
ret
GameFreakLogoScene4: ; e4776 (39:4776)
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $40
@ -331,12 +333,12 @@ endr
ld a, $1
ld [hCGBPalUpdate], a
ret
.asm_e47a3
ld hl, $b
ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
call PlaceGameFreakPresents_AdvanceIndex
GameFreakLogoScene5: ; e47ab (39:47ab)
ret
; e47ac (39:47ac)
@ -810,7 +812,7 @@ IntroScene8: ; e4bd3 (39:4bd3)
.finish
ld de, SFX_INTRO_SUICUNE_2
call PlaySFX
callba Function8d03d
callba DeinitializeAllSprites
call NextIntroScene
ret
@ -1101,7 +1103,7 @@ IntroScene14: ; e4dfa (39:4dfa)
ret
.asm_e4e2c
callba Function8d03d
callba DeinitializeAllSprites
ret
.asm_e4e33
@ -1313,7 +1315,7 @@ IntroScene19: ; e4f7e (39:4f7e)
ld a, $90
ld [hWY], a
callba ClearSpriteAnims
ld hl, wc300
ld hl, wSpriteAnimDict
xor a
ld [hli], a
ld [hl], $7f
@ -1394,7 +1396,7 @@ IntroScene22: ; e5072 (39:5072)
jr nc, .done
ret
.done
callba Function8d03d
callba DeinitializeAllSprites
call NextIntroScene
ret

View File

@ -450,9 +450,9 @@ ConfirmContinue: ; 5e34
call DelayFrame
call GetJoypad
ld hl, hJoyPressed
bit 0, [hl]
bit A_BUTTON_F, [hl]
jr nz, .PressA
bit 1, [hl]
bit B_BUTTON_F, [hl]
jr z, .loop
scf
ret
@ -1336,7 +1336,7 @@ Function639b: ; unreferenced
and $3
ret nz
ld bc, SpriteAnim10
ld hl, SpriteAnim10FrameIndex - SpriteAnim10
ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc ; over-the-top compicated way to load wc3ae into hl
ld l, [hl]
ld h, 0

View File

@ -150,7 +150,7 @@ ForgetMove: ; 65d3
ld [wcfa1], a
ld a, $6
ld [wcfa2], a
ld a, [wd0eb]
ld a, [wNumMoves]
inc a
ld [wcfa3], a
ld a, $1

450
engine/mon_icons.asm Executable file
View File

@ -0,0 +1,450 @@
LoadOverworldMonIcon: ; 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
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; 8e854
.jumptable: ; 8e854 (23:6854)
dw Function8e8d5 ; init
dw Function8e961
dw Function8e97d
dw Function8e99a
dw Function8e898
dw Function8e8b1
dw Function8e862
Function8e862: ; 8e862 (23:6862)
call InitPartyMenuIcon
call Function8e86c
call SetPartyMonIconAnimSpeed
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
; jr .asm_8e892
.asm_8e890
ld a, $4
.asm_8e892
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld [hl], a
ret
Function8e898: ; 8e898 (23:6898)
call Function8e8d5
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld a, $0
ld [hl], a
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, 9 * 8
ld [hl], a
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, 9 * 8
ld [hl], a
ret
Function8e8b1: ; 8e8b1 (23:68b1)
call InitPartyMenuIcon
call SetPartyMonIconAnimSpeed
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld a, $0
ld [hl], a
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, 3 * 8
ld [hl], a
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, 12 * 8
ld [hl], a
ld a, c
ld [wc608], a
ld a, b
ld [wc608 + 1], a
ret
Function8e8d5: ; 8e8d5 (23:68d5)
call InitPartyMenuIcon
call .SpawnItemIcon
call SetPartyMonIconAnimSpeed
ret
.SpawnItemIcon: ; 8e8df (23:68df)
push bc
ld a, [hObjectStructIndexBuffer]
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
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, .mail
ld a, $3
jr .okay
.mail
ld a, $2
.okay
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld [hl], a
ret
InitPartyMenuIcon: ; 8e908 (23:6908)
ld a, [wCurIconTile]
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 GetMemIconGFX
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, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], a
ret
SetPartyMonIconAnimSpeed: ; 8e936 (23:6936)
push bc
ld a, [hObjectStructIndexBuffer]
ld b, a
call .getspeed
ld a, b
pop bc
ld hl, SPRITEANIMSTRUCT_DURATIONOFFSET
add hl, bc
ld [hl], a
rlca
rlca
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], a
ret
.getspeed: ; 8e94c (23:694c)
callba PlacePartymonHPBar
call GetHPPal
ld e, d
ld d, 0
ld hl, .speeds
add hl, de
ld b, [hl]
ret
; 8e95e (23:695e)
.speeds: ; 8e95e
db $00, $40, $80
; 8e961
Function8e961: ; 8e961 (23:6961)
ld a, [wd265]
call ReadMonMenuIcon
ld [CurIcon], a
xor a
call GetIconGFX
depixel 4, 4, 4, 0
ld a, SPRITE_ANIM_INDEX_00
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
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, 3 * 8 + 2
ld e, 4 * 8 + 4
ld a, SPRITE_ANIM_INDEX_00
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_00
ret
Function8e99a: ; 8e99a (23:699a)
ld a, [wd265]
call ReadMonMenuIcon
ld [CurIcon], a
ld a, $62
ld [wCurIconTile], a
call GetMemIconGFX
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
FlyFunction_GetMonIcon: ; 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)
GetMonIcon2: ; 8e9cc
; unreferenced
push de
ld a, [wd265]
call ReadMonMenuIcon
ld [CurIcon], a
pop de
call GetIcon_de
ret
; 8e9db
GetMemIconGFX: ; 8e9db (23:69db)
ld a, [wCurIconTile]
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, [wCurIconTile]
add 10
ld [wCurIconTile], 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
FreezeMonIcons: ; 8ea4a
ld hl, wSpriteAnimationStructs
ld e, PARTY_LENGTH
ld a, [MenuSelection2]
ld d, a
.loop
ld a, [hl]
and a
jr z, .next
cp d
jr z, .loadwithtwo
ld a, SPRITE_ANIM_SEQ_00
jr .ok
.loadwithtwo
ld a, SPRITE_ANIM_SEQ_02
.ok
push hl
ld c, l
ld b, h
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], a
pop hl
.next
ld bc, $10
add hl, bc
dec e
jr nz, .loop
ret
; 8ea71
UnfreezeMonIcons: ; 8ea71
ld hl, wSpriteAnimationStructs
ld e, PARTY_LENGTH
.loop
ld a, [hl]
and a
jr z, .next
push hl
ld c, l
ld b, h
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_01
pop hl
.next
ld bc, $10
add hl, bc
dec e
jr nz, .loop
ret
; 8ea8c (23:6a8c)
HoldSwitchmonIcon: ; 8ea8c
ld hl, wSpriteAnimationStructs
ld e, PARTY_LENGTH
ld a, [wSwitchMon]
ld d, a
.loop
ld a, [hl]
and a
jr z, .next
cp d
jr z, .is_switchmon
ld a, SPRITE_ANIM_SEQ_03
jr .join_back
.is_switchmon
ld a, SPRITE_ANIM_SEQ_02
.join_back
push hl
ld c, l
ld b, h
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], a
pop hl
.next
ld bc, $10
add hl, bc
dec e
jr nz, .loop
ret
INCLUDE "menu/mon_icons.asm"

View File

@ -176,7 +176,7 @@ Function117f5: ; 117f5 (4:57f5)
depixel 4, 4, 4, 0
ld a, SPRITE_ANIM_INDEX_0A
call _InitSpriteAnimStruct
ld hl, $1
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld [hl], $0
hlcoord 5, 2
@ -411,10 +411,10 @@ Function1197b: ; 1197b (4:597b)
ld [wc6d5], a
ld a, b
ld [wc6d6], a
ld hl, $1
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld a, [hl]
ld hl, $e
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld [hl], a
ld hl, wJumptableIndex
@ -454,10 +454,10 @@ Function119a1: ; 119a1 (4:59a1)
ld c, [hl]
inc hl
ld b, [hl]
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $8
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $4
call Function1189c
@ -497,7 +497,7 @@ Function11a0b: ; 11a0b (4:5a0b)
ld b, [hl]
Function11a11: ; 11a11 (4:5a11)
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
push bc
@ -509,7 +509,7 @@ Function11a11: ; 11a11 (4:5a11)
cp b
pop bc
jr nz, .asm_11a39
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $3
@ -530,12 +530,12 @@ Function11a11: ; 11a11 (4:5a11)
Function11a3b: ; 11a3b (4:5a3b)
call Function11a8b
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
ld e, a
swap e
ld hl, $7
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
ld d, $4
@ -550,19 +550,19 @@ Function11a3b: ; 11a3b (4:5a3b)
ld de, Unknown_11a82
ld a, $1
.asm_11a60
ld hl, $e
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
add [hl]
ld hl, $1
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld [hl], a
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld l, [hl]
ld h, $0
add hl, de
ld a, [hl]
ld hl, $6
ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret
@ -593,7 +593,7 @@ Function11a8b: ; 11a8b (4:5a8b)
call Function11a11
and a
jr nz, .asm_11ab7
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $8
@ -611,7 +611,7 @@ Function11a8b: ; 11a8b (4:5a8b)
ld e, a
add a
add e
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
@ -619,7 +619,7 @@ Function11a8b: ; 11a8b (4:5a8b)
call Function11a11
and a
jr nz, .asm_11ad8
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
@ -640,12 +640,12 @@ endr
ld e, a
add a
add e
ld hl, $c
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
.down
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
call Function1189c
@ -663,7 +663,7 @@ endr
ld [hl], $0
ret
.up
ld hl, $d
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and a
@ -826,10 +826,10 @@ Function11c11: ; 11c11 (4:5c11)
ld c, [hl]
inc hl
ld b, [hl]
ld hl, $6
ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
ld hl, $4
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
sub $8
@ -837,10 +837,10 @@ Function11c11: ; 11c11 (4:5c11)
srl a
srl a
ld e, a
ld hl, $7
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
ld hl, $5
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
add [hl]
sub $10

View File

@ -266,7 +266,7 @@ GetMonSprite: ; 14259
and a
jr z, .NoBreedmon
callba Function8e82b
callba LoadOverworldMonIcon
ld l, 1
ld h, 0

View File

@ -1425,12 +1425,13 @@ INCBIN "gfx/unknown/0915db.tilemap.rle"
_UpdateRadioStation: ; 9163e (24:563e)
jr UpdateRadioStation
Function91640: ; 91640 (24:5640)
; called from engine/sprite_anims.asm
AnimateTuningKnob: ; 91640 (24:5640)
push bc
call .TuningKnob
pop bc
ld a, [wRadioTuningKnob]
ld hl, $6
ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret

View File

@ -65,7 +65,7 @@ PredefPointers:: ; 856b
add_predef ListMoves ; $20
add_predef PlaceNonFaintStatus
add_predef Function50cdb
add_predef Function50c50
add_predef ListMovePP
add_predef GetGender
add_predef StatsScreenInit
add_predef DrawPlayerHP

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -685,7 +685,7 @@ PartyMonItemName: ; 12a6c
CancelPokemonAction: ; 12a79
callba InitPartyMenuWithCancel
callba Function8ea71
callba UnfreezeMonIcons
ld a, 1
ret
; 12a88
@ -748,7 +748,7 @@ SwitchPartyMons: ; 12aec
inc a
ld [wSwitchMon], a
callba Function8ea8c
callba HoldSwitchmonIcon
callba InitPartyMenuNoCancel
ld a, 4
@ -1457,13 +1457,13 @@ MonMenu_SweetScent: ; 12f50
ret
; 12f5b
Function12f5b: ; 12f5b
ChooseMoveToDelete: ; 12f5b
ld hl, Options
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
call LoadFontsBattleExtra
call Function12f73
call .asm_12f73
pop bc
ld a, b
ld [Options], a
@ -1473,36 +1473,36 @@ Function12f5b: ; 12f5b
ret
; 12f73
Function12f73: ; 12f73
.asm_12f73: ; 12f73
call SetUpMoveScreenBG
ld de, Unknown_12fb2
call InitMenu3
call Function131ef
call SetUpMoveList
ld hl, wcfa5
set 6, [hl]
jr Function12f93
jr .asm_12f93
Function12f86: ; 12f86
.asm_12f86: ; 12f86
call Function1bd3
bit 1, a
jp nz, Function12f9f
jp nz, .asm_12f9f
bit 0, a
jp nz, Function12f9c
jp nz, .asm_12f9c
Function12f93: ; 12f93
.asm_12f93: ; 12f93
call PrepareToPlaceMoveData
call PlaceMoveData
jp Function12f86
jp .asm_12f86
; 12f9c
Function12f9c: ; 12f9c
.asm_12f9c: ; 12f9c
and a
jr Function12fa0
jr .asm_12fa0
Function12f9f: ; 12f9f
.asm_12f9f: ; 12f9f
scf
Function12fa0: ; 12fa0
.asm_12fa0: ; 12fa0
push af
xor a
ld [wSwitchMon], a
@ -1545,7 +1545,7 @@ MoveScreenLoop: ; 12fd5
ld de, Unknown_13163
call InitMenu3
.loop
call Function131ef
call SetUpMoveList
ld hl, wcfa5
set 6, [hl]
jr .skip_joy
@ -1802,7 +1802,7 @@ SetUpMoveScreenBG: ; 13172
jp ClearBox
; 131ef
Function131ef: ; 131ef
SetUpMoveList: ; 131ef
xor a
ld [hBGMapMode], a
ld [wMoveSwapBuffer], a
@ -1817,10 +1817,10 @@ Function131ef: ; 131ef
hlcoord 2, 3
predef ListMoves
hlcoord 10, 4
predef Function50c50
predef ListMovePP
call WaitBGMap
call SetPalettes
ld a, [wd0eb]
ld a, [wNumMoves]
inc a
ld [wcfa3], a
hlcoord 0, 11

View File

@ -697,7 +697,7 @@ Function4e147: ; 4e147 (13:6147)
hlcoord 12, 11
ld a, $28
ld [Buffer1], a
predef Function50c50
predef ListMovePP
ret
Function4e189: ; 4e189 (13:6189)

View File

@ -325,7 +325,7 @@ FlyFromAnim: ; 8caed
push af
xor a
ld [VramState], a
call Function8cb9b
call FlyFunction_InitGFX
depixel 10, 10, 4, 0
ld a, SPRITE_ANIM_INDEX_0A
call _InitSpriteAnimStruct
@ -334,7 +334,7 @@ FlyFromAnim: ; 8caed
ld [hl], $84
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], $16
ld [hl], SPRITE_ANIM_SEQ_16
ld a, $80
ld [wcf64], a
.loop
@ -360,7 +360,7 @@ FlyToAnim: ; 8cb33
push af
xor a
ld [VramState], a
call Function8cb9b
call FlyFunction_InitGFX
depixel 31, 10, 4, 0
ld a, SPRITE_ANIM_INDEX_0A
call _InitSpriteAnimStruct
@ -410,7 +410,7 @@ endr
call ByteFill
ret
Function8cb9b: ; 8cb9b (23:4b9b)
FlyFunction_InitGFX: ; 8cb9b (23:4b9b)
callab ClearSpriteAnims
ld de, CutGrassGFX
ld hl, VTiles1 tile $00
@ -424,7 +424,7 @@ Function8cb9b: ; 8cb9b (23:4b9b)
ld a, [hl]
ld [wd265], a
ld e, $84
callba Function8e9bc
callba FlyFunction_GetMonIcon
xor a
ld [wJumptableIndex], a
ret

View File

@ -20,7 +20,7 @@ MoveDeletion:
ld hl, UnknownText_0x2c5ea
call PrintText
call LoadStandardMenuDataHeader
callba Function12f5b
callba ChooseMoveToDelete
push af
call Function2b74
pop af

View File

@ -2019,13 +2019,13 @@ Function3b0c:: ; 3b0c
_InitSpriteAnimStruct:: ; 3b2a
ld [wc3b8], a
ld [wSpriteAnimIDBuffer], a
ld a, [hROMBank]
push af
ld a, BANK(InitSpriteAnimStruct)
rst Bankswitch
ld a, [wc3b8]
ld a, [wSpriteAnimIDBuffer]
call InitSpriteAnimStruct
@ -2038,13 +2038,13 @@ _InitSpriteAnimStruct:: ; 3b2a
Function3b3c:: ; 3b3c
ld [wc3b8], a
ld [wSpriteAnimIDBuffer], a
ld a, [hROMBank]
push af
ld a, BANK(Function8d120)
rst Bankswitch
ld a, [wc3b8]
ld a, [wSpriteAnimIDBuffer]
call Function8d120

View File

@ -10731,7 +10731,7 @@ MonSubmenu: ; 24d19
xor a
ld [hBGMapMode], a
call GetMonSubmenuItems
callba Function8ea4a
callba FreezeMonIcons
ld hl, .MenuDataHeader
call LoadMenuDataHeader
call .GetTopCoord
@ -15428,13 +15428,13 @@ MobileCheckOwnMonAnywhere: ; 4a843
ld hl, PartyMon1Species
ld bc, PartyMonOT
.asm_4a851
call Function4a8dc
call .CheckMatch
ret c
push bc
ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc
pop bc
call Function4a91e
call .CopyName
dec d
jr nz, .asm_4a851
ld a, BANK(sBoxCount)
@ -15446,7 +15446,7 @@ MobileCheckOwnMonAnywhere: ; 4a843
ld hl, sBoxMon1Species
ld bc, sBoxMonOT
.asm_4a873
call Function4a8dc
call .CheckMatch
jr nc, .asm_4a87c
call CloseSRAM
ret
@ -15456,7 +15456,7 @@ MobileCheckOwnMonAnywhere: ; 4a843
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
pop bc
call Function4a91e
call .CopyName
dec d
jr nz, .asm_4a873
@ -15468,7 +15468,7 @@ MobileCheckOwnMonAnywhere: ; 4a843
and $f
cp c
jr z, .asm_4a8d1
ld hl, BoxAddressTable2
ld hl, .BoxAddrs
ld b, 0
rept 3
add hl, bc
@ -15496,7 +15496,7 @@ endr
pop hl
ld d, a
.asm_4a8ba
call Function4a8dc
call .CheckMatch
jr nc, .asm_4a8c4
pop bc
call CloseSRAM
@ -15507,7 +15507,7 @@ endr
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
pop bc
call Function4a91e
call .CopyName
dec d
jr nz, .asm_4a8ba
pop bc
@ -15522,7 +15522,7 @@ endr
ret
; 4a8dc
Function4a8dc: ; 4a8dc
.CheckMatch: ; 4a8dc
push bc
push hl
push de
@ -15549,7 +15549,7 @@ Function4a8dc: ; 4a8dc
ret
; 4a8f4
BoxAddressTable2: ; 4a8f4
.BoxAddrs: ; 4a8f4
dba sBox1
dba sBox2
dba sBox3
@ -15566,7 +15566,7 @@ BoxAddressTable2: ; 4a8f4
dba sBox14
; 4a91e
Function4a91e: ; 4a91e
.CopyName: ; 4a91e
push hl
ld hl, NAME_LENGTH
add hl, bc
@ -15600,6 +15600,7 @@ FindItemInPCOrBag: ; 4a927
ret
; 4a94e
; mobile battle selection
Function4a94e: ; 4a94e
call FadeToMenu
ld a, -1
@ -16102,7 +16103,7 @@ Function4ac58: ; 4ac58
lb bc, 2, 18
hlcoord 1, 15
call ClearBox
callba Function8ea4a
callba FreezeMonIcons
ld hl, MenuDataHeader_0x4aca2
call LoadMenuDataHeader
ld hl, wd019
@ -16422,7 +16423,7 @@ SECTION "bank13", ROMX, BANK[$13]
SwapTextboxPalettes:: ; 4c000
hlcoord 0, 0
decoord 0, 0, AttrMap
ld b, $12
ld b, SCREEN_HEIGHT
.loop
push bc
ld c, SCREEN_WIDTH
@ -18868,27 +18869,27 @@ GetGender: ; 50bdd
ret
; 50c50
Function50c50: ; 50c50
ld a, [wd0eb]
ListMovePP: ; 50c50
ld a, [wNumMoves]
inc a
ld c, a
ld a, $4
ld a, NUM_MOVES
sub c
ld b, a
push hl
ld a, [Buffer1]
ld e, a
ld d, $0
ld a, $3e
call Function50cc9
ld a, $3e ; P
call .load_loop
ld a, b
and a
jr z, .asm_50c6f
jr z, .skip
ld c, a
ld a, $e3
call Function50cc9
ld a, "-"
call .load_loop
.asm_50c6f
.skip
pop hl
rept 3
inc hl
@ -18897,10 +18898,10 @@ endr
ld e, l
ld hl, TempMonMoves
ld b, 0
.asm_50c7a
.loop
ld a, [hli]
and a
jr z, .asm_50cc8
jr z, .done
push bc
push hl
push de
@ -18927,7 +18928,7 @@ endr
ld de, StringBuffer1 + 4
lb bc, 1, 2
call PrintNum
ld a, $f3
ld a, "/"
ld [hli], a
ld de, wd265
lb bc, 1, 2
@ -18944,19 +18945,18 @@ endr
inc b
ld a, b
cp NUM_MOVES
jr nz, .asm_50c7a
jr nz, .loop
.asm_50cc8
.done
ret
; 50cc9
Function50cc9: ; 50cc9
.asm_50cc9
.load_loop: ; 50cc9
ld [hli], a
ld [hld], a
add hl, de
dec c
jr nz, .asm_50cc9
jr nz, .load_loop
ret
; 50cd0
@ -19097,7 +19097,7 @@ ListMoves: ; 50d6f
call PlaceString
pop bc
ld a, b
ld [wd0eb], a
ld [wNumMoves], a
inc b
pop hl
push bc
@ -21435,9 +21435,9 @@ Function8cf4f: ; 8cf4f
ret
; 8cf53
INCLUDE "engine/sprites.asm"
INCLUDE "engine/mon_icons.asm"
SECTION "bank24", ROMX, BANK[$24]

Some files were not shown because too many files have changed in this diff Show More