mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
More animations including cutting grass
This commit is contained in:
parent
6b33a8d155
commit
ffbf2c0f5d
@ -270,8 +270,8 @@ NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
|
||||
const SPRITE_ANIM_INDEX_13
|
||||
const SPRITE_ANIM_INDEX_14
|
||||
const SPRITE_ANIM_INDEX_15
|
||||
const SPRITE_ANIM_INDEX_16
|
||||
const SPRITE_ANIM_INDEX_17
|
||||
const SPRITE_ANIM_INDEX_LEAF
|
||||
const SPRITE_ANIM_INDEX_CUT_TREE
|
||||
const SPRITE_ANIM_INDEX_18
|
||||
const SPRITE_ANIM_INDEX_19
|
||||
const SPRITE_ANIM_INDEX_1A
|
||||
|
@ -24,7 +24,7 @@ LAST_TALKED EQU -2
|
||||
const VAR_XCOORD ; 12
|
||||
const VAR_YCOORD ; 13
|
||||
const VAR_SPECIALPHONECALL ; 14
|
||||
const VAR_15 ; 15
|
||||
const VAR_BT_WIN_STREAK ; 15
|
||||
const VAR_KURT_APRICORNS ; 16
|
||||
const VAR_CALLERID ; 17
|
||||
const VAR_BLUECARDBALANCE ; 18
|
||||
|
@ -347,3 +347,21 @@ MAX_OUTDOOR_SPRITES EQU 23
|
||||
const FACING_1D
|
||||
const FACING_1E
|
||||
const FACING_1F
|
||||
|
||||
const_def
|
||||
const SPRITEANIMSTRUCT_INDEX
|
||||
const SPRITEANIMSTRUCT_01
|
||||
const SPRITEANIMSTRUCT_ANIM_SEQ_ID
|
||||
const SPRITEANIMSTRUCT_TILE_ID
|
||||
const SPRITEANIMSTRUCT_XCOORD
|
||||
const SPRITEANIMSTRUCT_YCOORD
|
||||
const SPRITEANIMSTRUCT_XOFFSET
|
||||
const SPRITEANIMSTRUCT_YOFFSET
|
||||
const SPRITEANIMSTRUCT_DURATION
|
||||
const SPRITEANIMSTRUCT_09
|
||||
const SPRITEANIMSTRUCT_FRAME
|
||||
const SPRITEANIMSTRUCT_0B
|
||||
const SPRITEANIMSTRUCT_0C
|
||||
const SPRITEANIMSTRUCT_0D
|
||||
const SPRITEANIMSTRUCT_0E
|
||||
const SPRITEANIMSTRUCT_0F
|
||||
|
@ -823,16 +823,16 @@ Function173b3: ; 173b3 (5:73b3)
|
||||
push bc
|
||||
ld a, SPRITE_ANIM_INDEX_1C
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SpriteAnim1TileID - SpriteAnim1
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
pop de
|
||||
ld a, e
|
||||
ld hl, SpriteAnim1Sprite01 - SpriteAnim1
|
||||
ld hl, SPRITEANIMSTRUCT_01
|
||||
add hl, bc
|
||||
add [hl]
|
||||
ld [hl], a
|
||||
ld hl, SpriteAnim1Sprite0b - SpriteAnim1
|
||||
ld hl, SPRITEANIMSTRUCT_0B
|
||||
add hl, bc
|
||||
ld [hl], d
|
||||
pop hl
|
||||
|
@ -76,7 +76,7 @@ PredefPointers:: ; 856b
|
||||
add_predef PrintType
|
||||
add_predef PrintMonTypes
|
||||
add_predef GetUnownLetter
|
||||
add_predef Functioncbcdd
|
||||
add_predef LoadPoisonBGPals
|
||||
add_predef Predef2F
|
||||
add_predef Function9853 ; $30
|
||||
add_predef Predef_LoadSGBLayout
|
||||
|
@ -25,7 +25,7 @@ PlaySpriteAnimations: ; 8cf69
|
||||
|
||||
ld a, $0
|
||||
ld [wc3b5], a
|
||||
call Function8cf7a
|
||||
call DoNextFrameForAllSprites
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
@ -34,7 +34,7 @@ PlaySpriteAnimations: ; 8cf69
|
||||
ret
|
||||
; 8cf7a
|
||||
|
||||
Function8cf7a: ; 8cf7a
|
||||
DoNextFrameForAllSprites: ; 8cf7a
|
||||
ld hl, wSpriteAnimationStructs
|
||||
ld e, 10 ; There are 10 structs here.
|
||||
|
||||
@ -241,7 +241,7 @@ Function8d04c: ; 8d04c
|
||||
jr z, .done
|
||||
cp -4
|
||||
jr z, .almost
|
||||
call Function8d1a2 ; read from a pointer table
|
||||
call Function8d1a2 ; OAM?
|
||||
ld a, [wc3ba]
|
||||
add [hl]
|
||||
ld [wc3ba], a
|
||||
@ -416,40 +416,40 @@ Function8d120:: ; 8d120
|
||||
|
||||
Function8d132: ; 8d132
|
||||
.loop
|
||||
ld hl, $8
|
||||
ld hl, SPRITEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .ok
|
||||
jr z, .done ; finished the current sequence
|
||||
dec [hl]
|
||||
call Function8d189
|
||||
call Function8d189 ; load pointer from Unknown_8d6e6
|
||||
ld a, [hli]
|
||||
push af
|
||||
jr .skip
|
||||
jr .okay
|
||||
|
||||
.ok
|
||||
ld hl, $a
|
||||
.done
|
||||
ld hl, SPRITEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
inc [hl]
|
||||
call Function8d189
|
||||
call Function8d189 ; load pointer from Unknown_8d6e6
|
||||
ld a, [hli]
|
||||
cp $fe
|
||||
jr z, .minus_2
|
||||
cp $ff
|
||||
jr z, .minus_1
|
||||
|
||||
push af
|
||||
ld a, [hl]
|
||||
push hl
|
||||
and $3f
|
||||
ld hl, $9
|
||||
ld hl, SPRITEANIMSTRUCT_09
|
||||
add hl, bc
|
||||
add [hl]
|
||||
ld hl, $8
|
||||
ld hl, SPRITEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop hl
|
||||
|
||||
.skip
|
||||
.okay
|
||||
ld a, [hl]
|
||||
and $c0
|
||||
srl a
|
||||
@ -459,10 +459,11 @@ Function8d132: ; 8d132
|
||||
|
||||
.minus_1
|
||||
xor a
|
||||
ld hl, $8
|
||||
ld hl, SPRITEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, $a
|
||||
|
||||
ld hl, SPRITEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
rept 2
|
||||
dec [hl]
|
||||
@ -471,20 +472,22 @@ endr
|
||||
|
||||
.minus_2
|
||||
xor a
|
||||
ld hl, $8
|
||||
ld hl, SPRITEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
|
||||
dec a
|
||||
ld hl, $a
|
||||
ld hl, SPRITEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
jr .loop
|
||||
; 8d189
|
||||
|
||||
Function8d189: ; 8d189
|
||||
; Get the [bc+10]th entry in the data table
|
||||
; indexed at [bc+1] in Unknown_8d6e6
|
||||
ld hl, $1
|
||||
; Get the data for the current frame for the current animation sequence
|
||||
|
||||
; Unknown_8d6e6 + 2 * SpriteAnim[SPRITEANIMSTRUCT_01] + 3 * SpriteAnim[SPRITEANIMSTRUCT_FRAME]
|
||||
ld hl, SPRITEANIMSTRUCT_01
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
@ -495,7 +498,7 @@ endr
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
ld hl, $a
|
||||
ld hl, SPRITEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld l, [hl]
|
||||
ld h, 0
|
||||
@ -1406,72 +1409,72 @@ endr
|
||||
; 8d6e6 (23:56e6)
|
||||
|
||||
Unknown_8d6e6: ; 8d6e6
|
||||
dw Unknown_8d76a
|
||||
dw Unknown_8d76d
|
||||
dw Unknown_8d772
|
||||
dw Unknown_8d777
|
||||
dw Unknown_8d77c
|
||||
dw Unknown_8d781
|
||||
dw Unknown_8d786
|
||||
dw Unknown_8d7a6
|
||||
dw Unknown_8d7ab
|
||||
dw Unknown_8d7b0
|
||||
dw Unknown_8d7b5
|
||||
dw Unknown_8d7d4
|
||||
dw Unknown_8d7d9
|
||||
dw Unknown_8d7e2
|
||||
dw Unknown_8d7eb
|
||||
dw Unknown_8d7f4
|
||||
dw Unknown_8d7ff
|
||||
dw Unknown_8d78b
|
||||
dw Unknown_8d802
|
||||
dw Unknown_8d805
|
||||
dw Unknown_8d808
|
||||
dw Unknown_8d811
|
||||
dw Unknown_8d818
|
||||
dw Unknown_8d81d
|
||||
dw Unknown_8d822
|
||||
dw Unknown_8d825
|
||||
dw Unknown_8d82c
|
||||
dw Unknown_8d82f
|
||||
dw Unknown_8d861
|
||||
dw Unknown_8d864
|
||||
dw Unknown_8d867
|
||||
dw Unknown_8d874
|
||||
dw Unknown_8d877
|
||||
dw Unknown_8d87a
|
||||
dw Unknown_8d87d
|
||||
dw Unknown_8d880
|
||||
dw Unknown_8d883
|
||||
dw Unknown_8d890
|
||||
dw Unknown_8d899
|
||||
dw Unknown_8d89c
|
||||
dw Unknown_8d89f
|
||||
dw Unknown_8d8a2
|
||||
dw Unknown_8d8a5
|
||||
dw Unknown_8d8a8
|
||||
dw Unknown_8d8ab
|
||||
dw Unknown_8d794
|
||||
dw Unknown_8d79d
|
||||
dw Unknown_8d8ae
|
||||
dw Unknown_8d8cd
|
||||
dw Unknown_8d8ec
|
||||
dw Unknown_8d8f1
|
||||
dw Unknown_8d8f4
|
||||
dw Unknown_8d8f7
|
||||
dw Unknown_8d8fe
|
||||
dw Unknown_8d907
|
||||
dw Unknown_8d90c
|
||||
dw Unknown_8d913
|
||||
dw Unknown_8d916
|
||||
dw Unknown_8d91d
|
||||
dw Unknown_8d924
|
||||
dw Unknown_8d92b
|
||||
dw Unknown_8d932
|
||||
dw Unknown_8d93d
|
||||
dw Unknown_8d940
|
||||
dw Unknown_8d943
|
||||
dw Unknown_8d948
|
||||
dw Unknown_8d76a ; 00
|
||||
dw Unknown_8d76d ; 01
|
||||
dw Unknown_8d772 ; 02
|
||||
dw Unknown_8d777 ; 03
|
||||
dw Unknown_8d77c ; 04
|
||||
dw Unknown_8d781 ; 05
|
||||
dw Unknown_8d786 ; 06
|
||||
dw Unknown_8d7a6 ; 07
|
||||
dw Unknown_8d7ab ; 08
|
||||
dw Unknown_8d7b0 ; 09
|
||||
dw Unknown_8d7b5 ; 0a
|
||||
dw Unknown_8d7d4 ; 0b
|
||||
dw Unknown_8d7d9 ; 0c
|
||||
dw Unknown_8d7e2 ; 0d
|
||||
dw Unknown_8d7eb ; 0e
|
||||
dw Unknown_8d7f4 ; 0f
|
||||
dw Unknown_8d7ff ; 10
|
||||
dw Unknown_8d78b ; 11
|
||||
dw Unknown_8d802 ; 12
|
||||
dw Unknown_8d805 ; 13
|
||||
dw Unknown_8d808 ; 14
|
||||
dw Unknown_8d811 ; 15
|
||||
dw Unknown_8d818 ; 16
|
||||
dw Unknown_8d81d ; 17
|
||||
dw Unknown_8d822 ; 18
|
||||
dw Unknown_8d825 ; 19
|
||||
dw Unknown_8d82c ; 1a
|
||||
dw Unknown_8d82f ; 1b
|
||||
dw Unknown_8d861 ; 1c
|
||||
dw Unknown_8d864 ; 1d
|
||||
dw Unknown_8d867 ; 1e
|
||||
dw Unknown_8d874 ; 1f
|
||||
dw Unknown_8d877 ; 20
|
||||
dw Unknown_8d87a ; 21
|
||||
dw Unknown_8d87d ; 22
|
||||
dw Unknown_8d880 ; 23
|
||||
dw Unknown_8d883 ; 24
|
||||
dw Unknown_8d890 ; 25
|
||||
dw Unknown_8d899 ; 26
|
||||
dw Unknown_8d89c ; 27
|
||||
dw Unknown_8d89f ; 28
|
||||
dw Unknown_8d8a2 ; 29
|
||||
dw Unknown_8d8a5 ; 2a
|
||||
dw Unknown_8d8a8 ; 2b
|
||||
dw Unknown_8d8ab ; 2c
|
||||
dw Unknown_8d794 ; 2d
|
||||
dw Unknown_8d79d ; 2e
|
||||
dw Unknown_8d8ae ; 2f
|
||||
dw Unknown_8d8cd ; 30
|
||||
dw Unknown_8d8ec ; 31
|
||||
dw Unknown_8d8f1 ; 32
|
||||
dw Unknown_8d8f4 ; 33
|
||||
dw Unknown_8d8f7 ; 34
|
||||
dw Unknown_8d8fe ; 35
|
||||
dw Unknown_8d907 ; 36
|
||||
dw Unknown_8d90c ; 37
|
||||
dw Unknown_8d913 ; 38
|
||||
dw Unknown_8d916 ; 39
|
||||
dw Unknown_8d91d ; 3a
|
||||
dw Unknown_8d924 ; 3b
|
||||
dw Unknown_8d92b ; 3c
|
||||
dw Unknown_8d932 ; 3d
|
||||
dw Unknown_8d93d ; 3e
|
||||
dw Unknown_8d940 ; 3f
|
||||
dw Unknown_8d943 ; 40
|
||||
dw Unknown_8d948 ; 41
|
||||
; 8d76a
|
||||
|
||||
Unknown_8d76a: dw $2000
|
||||
|
@ -118,7 +118,7 @@ endr
|
||||
rept 4
|
||||
ld [hli], a
|
||||
endr
|
||||
ld hl, wdc58
|
||||
ld hl, wKenjiBreakTimer
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .RestartKenjiBreakCountdown
|
||||
@ -137,7 +137,7 @@ Special_SampleKenjiBreakCountdown: ; 11485
|
||||
call Random
|
||||
and 3
|
||||
add 3
|
||||
ld [wdc58], a
|
||||
ld [wKenjiBreakTimer], a
|
||||
ret
|
||||
; 11490
|
||||
|
||||
|
@ -38,34 +38,34 @@ endr
|
||||
; $00: copy [de] to StringBuffer2
|
||||
; $40: return address in de
|
||||
; $80: call function
|
||||
dwb StringBuffer2, RETVAR_STRBUF2
|
||||
dwb PartyCount, RETVAR_STRBUF2
|
||||
dwb .BattleResult, RETVAR_EXECUTE
|
||||
dwb BattleType, RETVAR_ADDR_DE
|
||||
dwb TimeOfDay, RETVAR_STRBUF2
|
||||
dwb .CountCaughtMons, RETVAR_EXECUTE
|
||||
dwb .CountSeenMons, RETVAR_EXECUTE
|
||||
dwb .CountBadges, RETVAR_EXECUTE
|
||||
dwb PlayerState, RETVAR_ADDR_DE
|
||||
dwb .PlayerFacing, RETVAR_EXECUTE
|
||||
dwb hHours, RETVAR_STRBUF2
|
||||
dwb .DayOfWeek, RETVAR_EXECUTE
|
||||
dwb MapGroup, RETVAR_STRBUF2
|
||||
dwb MapNumber, RETVAR_STRBUF2
|
||||
dwb .UnownCaught, RETVAR_EXECUTE
|
||||
dwb wPermission, RETVAR_STRBUF2
|
||||
dwb .BoxFreeSpace, RETVAR_EXECUTE
|
||||
dwb wBugContestMinsRemaining, RETVAR_STRBUF2
|
||||
dwb XCoord, RETVAR_STRBUF2
|
||||
dwb YCoord, RETVAR_STRBUF2
|
||||
dwb wSpecialPhoneCallID, RETVAR_STRBUF2
|
||||
dwb wcf64, RETVAR_STRBUF2
|
||||
dwb wKurtApricornQuantity, RETVAR_STRBUF2
|
||||
dwb wCurrentCaller, RETVAR_ADDR_DE
|
||||
dwb wBlueCardBalance, RETVAR_ADDR_DE
|
||||
dwb wBuenasPassword, RETVAR_ADDR_DE
|
||||
dwb wdc58, RETVAR_STRBUF2
|
||||
dwb NULL, RETVAR_STRBUF2
|
||||
dwb StringBuffer2, RETVAR_STRBUF2
|
||||
dwb PartyCount, RETVAR_STRBUF2
|
||||
dwb .BattleResult, RETVAR_EXECUTE
|
||||
dwb BattleType, RETVAR_ADDR_DE
|
||||
dwb TimeOfDay, RETVAR_STRBUF2
|
||||
dwb .CountCaughtMons, RETVAR_EXECUTE
|
||||
dwb .CountSeenMons, RETVAR_EXECUTE
|
||||
dwb .CountBadges, RETVAR_EXECUTE
|
||||
dwb PlayerState, RETVAR_ADDR_DE
|
||||
dwb .PlayerFacing, RETVAR_EXECUTE
|
||||
dwb hHours, RETVAR_STRBUF2
|
||||
dwb .DayOfWeek, RETVAR_EXECUTE
|
||||
dwb MapGroup, RETVAR_STRBUF2
|
||||
dwb MapNumber, RETVAR_STRBUF2
|
||||
dwb .UnownCaught, RETVAR_EXECUTE
|
||||
dwb wPermission, RETVAR_STRBUF2
|
||||
dwb .BoxFreeSpace, RETVAR_EXECUTE
|
||||
dwb wBugContestMinsRemaining, RETVAR_STRBUF2
|
||||
dwb XCoord, RETVAR_STRBUF2
|
||||
dwb YCoord, RETVAR_STRBUF2
|
||||
dwb wSpecialPhoneCallID, RETVAR_STRBUF2
|
||||
dwb wNrOfBeatenBattleTowerTrainers, RETVAR_STRBUF2
|
||||
dwb wKurtApricornQuantity, RETVAR_STRBUF2
|
||||
dwb wCurrentCaller, RETVAR_ADDR_DE
|
||||
dwb wBlueCardBalance, RETVAR_ADDR_DE
|
||||
dwb wBuenasPassword, RETVAR_ADDR_DE
|
||||
dwb wKenjiBreakTimer, RETVAR_STRBUF2
|
||||
dwb NULL, RETVAR_STRBUF2
|
||||
; 806c5
|
||||
|
||||
.CountCaughtMons: ; 806c5
|
||||
|
@ -31,7 +31,7 @@ Special_CelebiShrineEvent: ; 4989a
|
||||
push de
|
||||
ld a, $90
|
||||
ld [wc3b5], a
|
||||
callba Function8cf7a
|
||||
callba DoNextFrameForAllSprites
|
||||
call Function49935
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
|
@ -29,7 +29,7 @@ ShakeHeadbuttTree: ; 8c80a
|
||||
ld hl, VTiles1 tile $04
|
||||
lb bc, BANK(HeadbuttTreeGFX), 8
|
||||
call Request2bpp
|
||||
call Function8cad3
|
||||
call Cut_Headbutt_GetPixelFacing
|
||||
ld a, SPRITE_ANIM_INDEX_1B
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
@ -37,7 +37,7 @@ ShakeHeadbuttTree: ; 8c80a
|
||||
ld [hl], $84
|
||||
ld a, $90
|
||||
ld [wc3b5], a
|
||||
callba Function8cf7a
|
||||
callba DoNextFrameForAllSprites
|
||||
call GetHeadbuttTreeRelativeLocation
|
||||
ld a, $20
|
||||
ld [wcf64], a
|
||||
@ -52,7 +52,7 @@ ShakeHeadbuttTree: ; 8c80a
|
||||
dec [hl]
|
||||
ld a, $90
|
||||
ld [wc3b5], a
|
||||
callba Function8cf7a
|
||||
callba DoNextFrameForAllSprites
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
@ -62,8 +62,8 @@ ShakeHeadbuttTree: ; 8c80a
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
callba Function8cf53
|
||||
ld hl, Sprites + $90
|
||||
ld bc, $10
|
||||
ld hl, Sprites + 36 * 4
|
||||
ld bc, SpritesEnd - (Sprites + 36 * 4)
|
||||
xor a
|
||||
call ByteFill
|
||||
ld de, Font
|
||||
@ -126,7 +126,7 @@ OWCutAnimation: ; 8c940
|
||||
jr nz, .finish
|
||||
ld a, $90
|
||||
ld [wc3b5], a
|
||||
callab Function8cf7a
|
||||
callab DoNextFrameForAllSprites
|
||||
call OWCutJumptable
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
@ -172,96 +172,100 @@ endr
|
||||
|
||||
|
||||
.jumptable: ; 8ca1b (23:4a1b)
|
||||
dw Function8ca23
|
||||
dw Function8ca3c
|
||||
dw Function8ca5c
|
||||
dw Function8ca64
|
||||
dw Cut_SpawnAnimateTree
|
||||
dw Cut_SpawnAnimateLeaves
|
||||
dw Cut_StartWaiting
|
||||
dw Cut_WaitAnimSFX
|
||||
|
||||
|
||||
Function8ca23: ; 8ca23 (23:4a23)
|
||||
call Function8cad3
|
||||
ld a, SPRITE_ANIM_INDEX_17 ; leaf
|
||||
Cut_SpawnAnimateTree: ; 8ca23 (23:4a23)
|
||||
call Cut_Headbutt_GetPixelFacing
|
||||
ld a, SPRITE_ANIM_INDEX_CUT_TREE ; cut tree
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld a, $20
|
||||
ld a, 32
|
||||
ld [wcf64], a
|
||||
; Cut_StartWaiting
|
||||
ld hl, wJumptableIndex
|
||||
rept 2
|
||||
inc [hl]
|
||||
endr
|
||||
ret
|
||||
|
||||
Function8ca3c: ; 8ca3c (23:4a3c)
|
||||
call Function8ca8e
|
||||
Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c)
|
||||
call Cut_GetLeafSpawnCoords
|
||||
xor a
|
||||
call Function8ca73
|
||||
call Cut_SpawnLeaf
|
||||
ld a, $10
|
||||
call Function8ca73
|
||||
call Cut_SpawnLeaf
|
||||
ld a, $20
|
||||
call Function8ca73
|
||||
call Cut_SpawnLeaf
|
||||
ld a, $30
|
||||
call Function8ca73
|
||||
ld a, $20
|
||||
call Cut_SpawnLeaf
|
||||
ld a, 32 ; frames
|
||||
ld [wcf64], a
|
||||
; Cut_StartWaiting
|
||||
ld hl, wJumptableIndex
|
||||
inc [hl]
|
||||
ret
|
||||
|
||||
Function8ca5c: ; 8ca5c (23:4a5c)
|
||||
Cut_StartWaiting: ; 8ca5c (23:4a5c)
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a
|
||||
; Cut_WaitAnimSFX
|
||||
ld hl, wJumptableIndex
|
||||
inc [hl]
|
||||
|
||||
Function8ca64: ; 8ca64 (23:4a64)
|
||||
Cut_WaitAnimSFX: ; 8ca64 (23:4a64)
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_8ca6d
|
||||
jr z, .finished
|
||||
dec [hl]
|
||||
ret
|
||||
.asm_8ca6d
|
||||
|
||||
.finished
|
||||
ld hl, wJumptableIndex
|
||||
set 7, [hl]
|
||||
ret
|
||||
|
||||
Function8ca73: ; 8ca73 (23:4a73)
|
||||
Cut_SpawnLeaf: ; 8ca73 (23:4a73)
|
||||
push de
|
||||
push af
|
||||
ld a, SPRITE_ANIM_INDEX_16 ; fly takeoff
|
||||
ld a, SPRITE_ANIM_INDEX_LEAF ; leaf
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $80
|
||||
ld hl, $e
|
||||
ld hl, SPRITEANIMSTRUCT_0E
|
||||
add hl, bc
|
||||
ld [hl], $4
|
||||
pop af
|
||||
ld hl, $c
|
||||
ld hl, SPRITEANIMSTRUCT_0C
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop de
|
||||
ret
|
||||
|
||||
Function8ca8e: ; 8ca8e (23:4a8e)
|
||||
Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e)
|
||||
ld de, 0
|
||||
ld a, [wd197]
|
||||
ld a, [wMetatileStandingX]
|
||||
bit 0, a
|
||||
jr z, .asm_8ca9a
|
||||
jr z, .left_side
|
||||
set 0, e
|
||||
.asm_8ca9a
|
||||
ld a, [wd196]
|
||||
.left_side
|
||||
ld a, [wMetatileStandingY]
|
||||
bit 0, a
|
||||
jr z, .asm_8caa3
|
||||
jr z, .top_side
|
||||
set 1, e
|
||||
.asm_8caa3
|
||||
.top_side
|
||||
ld a, [PlayerDirection]
|
||||
and $c
|
||||
and %00001100
|
||||
add e
|
||||
ld e, a
|
||||
ld hl, Unknown_8cab3
|
||||
ld hl, .Coords
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
@ -271,32 +275,35 @@ endr
|
||||
ret
|
||||
; 8cab3 (23:4ab3)
|
||||
|
||||
Unknown_8cab3: ; 8cab3
|
||||
db $58, $60
|
||||
db $48, $60
|
||||
db $58, $70
|
||||
db $48, $70
|
||||
db $58, $40
|
||||
db $48, $40
|
||||
db $58, $50
|
||||
db $48, $50
|
||||
db $38, $60
|
||||
db $48, $60
|
||||
db $38, $50
|
||||
db $48, $50
|
||||
db $58, $60
|
||||
db $68, $60
|
||||
db $58, $50
|
||||
db $68, $50
|
||||
.Coords: ; 8cab3
|
||||
dbpixel 11, 12 ; facing down, top left
|
||||
dbpixel 9, 12 ; facing down, top right
|
||||
dbpixel 11, 14 ; facing down, bottom left
|
||||
dbpixel 9, 14 ; facing down, bottom right
|
||||
|
||||
dbpixel 11, 8 ; facing up, top left
|
||||
dbpixel 9, 8 ; facing up, top right
|
||||
dbpixel 11, 10 ; facing up, bottom left
|
||||
dbpixel 9, 10 ; facing up, bottom right
|
||||
|
||||
dbpixel 7, 12 ; facing left, top left
|
||||
dbpixel 9, 12 ; facing left, top right
|
||||
dbpixel 7, 10 ; facing left, bottom left
|
||||
dbpixel 9, 10 ; facing left, bottom right
|
||||
|
||||
dbpixel 11, 12 ; facing right, top left
|
||||
dbpixel 13, 12 ; facing right, top right
|
||||
dbpixel 11, 10 ; facing right, bottom left
|
||||
dbpixel 13, 10 ; facing right, bottom right
|
||||
; 8cad3
|
||||
|
||||
Function8cad3: ; 8cad3 (23:4ad3)
|
||||
Cut_Headbutt_GetPixelFacing: ; 8cad3 (23:4ad3)
|
||||
ld a, [PlayerDirection]
|
||||
and $c
|
||||
and %00001100
|
||||
srl a
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, Unknown_8cae5
|
||||
ld hl, .Coords
|
||||
add hl, de
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
@ -304,9 +311,159 @@ Function8cad3: ; 8cad3 (23:4ad3)
|
||||
ret
|
||||
; 8cae5 (23:4ae5)
|
||||
|
||||
Unknown_8cae5: ; 8cae5
|
||||
db $50, $68
|
||||
db $50, $48
|
||||
db $40, $58
|
||||
db $60, $58
|
||||
.Coords: ; 8cae5
|
||||
dbpixel 10, 13
|
||||
dbpixel 10, 9
|
||||
dbpixel 8, 11
|
||||
dbpixel 12, 11
|
||||
; 8caed
|
||||
|
||||
|
||||
FlyFromAnim: ; 8caed
|
||||
call DelayFrame
|
||||
ld a, [VramState]
|
||||
push af
|
||||
xor a
|
||||
ld [VramState], a
|
||||
call Function8cb9b
|
||||
depixel 10, 10, 4, 0
|
||||
ld a, SPRITE_ANIM_INDEX_0A
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
|
||||
add hl, bc
|
||||
ld [hl], $16
|
||||
ld a, $80
|
||||
ld [wcf64], a
|
||||
.loop
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr nz, .exit
|
||||
ld a, $0
|
||||
ld [wc3b5], a
|
||||
callab DoNextFrameForAllSprites
|
||||
call Function8cbc8
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
.exit
|
||||
pop af
|
||||
ld [VramState], a
|
||||
ret
|
||||
; 8cb33
|
||||
|
||||
FlyToAnim: ; 8cb33
|
||||
call DelayFrame
|
||||
ld a, [VramState]
|
||||
push af
|
||||
xor a
|
||||
ld [VramState], a
|
||||
call Function8cb9b
|
||||
depixel 31, 10, 4, 0
|
||||
ld a, SPRITE_ANIM_INDEX_0A
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
|
||||
add hl, bc
|
||||
ld [hl], $18
|
||||
ld hl, SPRITEANIMSTRUCT_0F
|
||||
add hl, bc
|
||||
ld [hl], $58
|
||||
ld a, $40
|
||||
ld [wcf64], a
|
||||
.loop
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr nz, .exit
|
||||
ld a, $0
|
||||
ld [wc3b5], a
|
||||
callab DoNextFrameForAllSprites
|
||||
call Function8cbc8
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
.exit
|
||||
pop af
|
||||
ld [VramState], a
|
||||
call Function8cb82
|
||||
ret
|
||||
|
||||
Function8cb82: ; 8cb82 (23:4b82)
|
||||
ld hl, Sprites + 2 ; Tile ID
|
||||
xor a
|
||||
ld c, $4
|
||||
.loop
|
||||
ld [hli], a
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
inc a
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ld hl, Sprites + 4 * 4
|
||||
ld bc, SpritesEnd - (Sprites + 4 * 4)
|
||||
xor a
|
||||
call ByteFill
|
||||
ret
|
||||
|
||||
Function8cb9b: ; 8cb9b (23:4b9b)
|
||||
callab Function8cf53
|
||||
ld de, CutGrassGFX
|
||||
ld hl, VTiles1 tile $00
|
||||
lb bc, BANK(CutGrassGFX), 4
|
||||
call Request2bpp
|
||||
ld a, [CurPartyMon]
|
||||
ld hl, PartySpecies
|
||||
ld e, a
|
||||
ld d, 0
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [wd265], a
|
||||
ld e, $84
|
||||
callba Function8e9bc
|
||||
xor a
|
||||
ld [wJumptableIndex], a
|
||||
ret
|
||||
|
||||
Function8cbc8: ; 8cbc8 (23:4bc8)
|
||||
call Function8cbe6
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .exit
|
||||
dec [hl]
|
||||
cp $40
|
||||
ret c
|
||||
and $7
|
||||
ret nz
|
||||
ld de, SFX_FLY
|
||||
call PlaySFX
|
||||
ret
|
||||
|
||||
.exit
|
||||
ld hl, wJumptableIndex
|
||||
set 7, [hl]
|
||||
ret
|
||||
|
||||
Function8cbe6: ; 8cbe6 (23:4be6)
|
||||
ld hl, wcf65
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
and $7
|
||||
ret nz
|
||||
ld a, [hl]
|
||||
and $18
|
||||
sla a
|
||||
add $40
|
||||
ld d, a
|
||||
ld e, $0
|
||||
ld a, SPRITE_ANIM_INDEX_18 ; fly land
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $80
|
||||
ret
|
||||
|
@ -104,7 +104,7 @@ DoPoisonStep:: ; 505da
|
||||
ld de, SFX_POISON
|
||||
call PlaySFX
|
||||
ld b, $2
|
||||
predef Functioncbcdd
|
||||
predef LoadPoisonBGPals
|
||||
call DelayFrame
|
||||
ret
|
||||
; 50669
|
||||
|
10
macros.asm
10
macros.asm
@ -218,10 +218,18 @@ if _NARG == 5
|
||||
else
|
||||
lb \1, \2 * 8, \3 * 8
|
||||
endc
|
||||
endm
|
||||
endm
|
||||
|
||||
depixel EQUS "ldpixel de,"
|
||||
|
||||
dbpixel: MACRO
|
||||
if _NARG == 4
|
||||
db \1 * 8 + \3, \2 * 8 + \4
|
||||
else
|
||||
db \1 * 8, \2 * 8
|
||||
endc
|
||||
endm
|
||||
|
||||
bgcoord: MACRO
|
||||
IF _NARG == 4
|
||||
ld \1, \3 * $20 + \2 + \4
|
||||
|
174
main.asm
174
main.asm
@ -3440,13 +3440,13 @@ FlyFunction: ; ca3b
|
||||
reloadmappart
|
||||
callasm HideSprites
|
||||
special UpdateTimePals
|
||||
callasm Function8caed
|
||||
callasm FlyFromAnim
|
||||
farscall Script_AbortBugContest
|
||||
special WarpToSpawnPoint
|
||||
callasm DelayLoadingNewSprites
|
||||
writecode VAR_MOVEMENT, PLAYER_NORMAL
|
||||
newloadmap MAPSETUP_FLY
|
||||
callasm Function8cb33
|
||||
callasm FlyToAnim
|
||||
special WaitSFX
|
||||
callasm .ReturnFromFly
|
||||
end
|
||||
@ -21429,153 +21429,6 @@ Function8c7c9: ; unreferenced
|
||||
; 8c7d4
|
||||
|
||||
INCLUDE "event/field_moves.asm"
|
||||
|
||||
Function8caed: ; 8caed
|
||||
call DelayFrame
|
||||
ld a, [VramState]
|
||||
push af
|
||||
xor a
|
||||
ld [VramState], a
|
||||
call Function8cb9b
|
||||
depixel 10, 10, 4, 0
|
||||
ld a, SPRITE_ANIM_INDEX_0A
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], $16
|
||||
ld a, $80
|
||||
ld [wcf64], a
|
||||
.asm_8cb14
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr nz, .asm_8cb2e
|
||||
ld a, $0
|
||||
ld [wc3b5], a
|
||||
callab Function8cf7a
|
||||
call Function8cbc8
|
||||
call DelayFrame
|
||||
jr .asm_8cb14
|
||||
.asm_8cb2e
|
||||
pop af
|
||||
ld [VramState], a
|
||||
ret
|
||||
; 8cb33
|
||||
|
||||
Function8cb33: ; 8cb33
|
||||
call DelayFrame
|
||||
ld a, [VramState]
|
||||
push af
|
||||
xor a
|
||||
ld [VramState], a
|
||||
call Function8cb9b
|
||||
depixel 31, 10, 4, 0
|
||||
ld a, SPRITE_ANIM_INDEX_0A
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], $18
|
||||
ld hl, $f
|
||||
add hl, bc
|
||||
ld [hl], $58
|
||||
ld a, $40
|
||||
ld [wcf64], a
|
||||
.asm_8cb60
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr nz, .asm_8cb7a
|
||||
ld a, $0
|
||||
ld [wc3b5], a
|
||||
callab Function8cf7a
|
||||
call Function8cbc8
|
||||
call DelayFrame
|
||||
jr .asm_8cb60
|
||||
.asm_8cb7a
|
||||
pop af
|
||||
ld [VramState], a
|
||||
call Function8cb82
|
||||
ret
|
||||
|
||||
Function8cb82: ; 8cb82 (23:4b82)
|
||||
ld hl, Sprites + 2
|
||||
xor a
|
||||
ld c, $4
|
||||
.asm_8cb88
|
||||
ld [hli], a
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
inc a
|
||||
dec c
|
||||
jr nz, .asm_8cb88
|
||||
ld hl, Sprites + $10
|
||||
ld bc, $90
|
||||
xor a
|
||||
call ByteFill
|
||||
ret
|
||||
|
||||
Function8cb9b: ; 8cb9b (23:4b9b)
|
||||
callab Function8cf53
|
||||
ld de, CutGrassGFX
|
||||
ld hl, VTiles1 tile $00
|
||||
lb bc, BANK(CutGrassGFX), 4
|
||||
call Request2bpp
|
||||
ld a, [CurPartyMon]
|
||||
ld hl, PartySpecies
|
||||
ld e, a
|
||||
ld d, 0
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [wd265], a
|
||||
ld e, $84
|
||||
callba Function8e9bc
|
||||
xor a
|
||||
ld [wJumptableIndex], a
|
||||
ret
|
||||
|
||||
Function8cbc8: ; 8cbc8 (23:4bc8)
|
||||
call Function8cbe6
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_8cbe0
|
||||
dec [hl]
|
||||
cp $40
|
||||
ret c
|
||||
and $7
|
||||
ret nz
|
||||
ld de, SFX_FLY
|
||||
call PlaySFX
|
||||
ret
|
||||
.asm_8cbe0
|
||||
ld hl, wJumptableIndex
|
||||
set 7, [hl]
|
||||
ret
|
||||
|
||||
Function8cbe6: ; 8cbe6 (23:4be6)
|
||||
ld hl, wcf65
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
and $7
|
||||
ret nz
|
||||
ld a, [hl]
|
||||
and $18
|
||||
sla a
|
||||
add $40
|
||||
ld d, a
|
||||
ld e, $0
|
||||
ld a, SPRITE_ANIM_INDEX_18 ; fly land
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], $80
|
||||
ret
|
||||
|
||||
INCLUDE "event/magnet_train.asm"
|
||||
|
||||
Function8cf4f: ; 8cf4f
|
||||
@ -21694,47 +21547,47 @@ INCLUDE "battle/bg_effects.asm"
|
||||
|
||||
INCLUDE "battle/anims.asm"
|
||||
|
||||
Functioncbcdd: ; cbcdd
|
||||
call Functioncbce5
|
||||
LoadPoisonBGPals: ; cbcdd
|
||||
call .LoadPals
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
ret nz
|
||||
ret
|
||||
; cbce5
|
||||
|
||||
Functioncbce5: ; cbce5
|
||||
.LoadPals: ; cbce5
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
jr nz, .asm_cbd06
|
||||
jr nz, .cgb
|
||||
ld a, [TimeOfDayPal]
|
||||
and $3
|
||||
cp $3
|
||||
ld a, $0
|
||||
jr z, .asm_cbcf7
|
||||
jr z, .convert_pals
|
||||
ld a, $aa
|
||||
|
||||
.asm_cbcf7
|
||||
.convert_pals
|
||||
call DmgToCgbBGPals
|
||||
ld c, 4
|
||||
call DelayFrames
|
||||
callba _UpdateTimePals
|
||||
ret
|
||||
|
||||
.asm_cbd06
|
||||
.cgb
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $5
|
||||
ld [rSVBK], a
|
||||
ld hl, BGPals
|
||||
ld c, $20
|
||||
.asm_cbd12
|
||||
.loop
|
||||
; RGB 31, 21, 28
|
||||
ld a, $bc
|
||||
ld a, (palred 31 + palgreen 21 + palblue 28) % $100
|
||||
ld [hli], a
|
||||
ld a, $7e
|
||||
ld a, (palred 31 + palgreen 21 + palblue 28) / $100
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .asm_cbd12
|
||||
jr nz, .loop
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ld a, $1
|
||||
@ -21939,6 +21792,7 @@ INCLUDE "tilesets/data_6.asm"
|
||||
SECTION "bank38", ROMX, BANK[$38]
|
||||
|
||||
Functione0000: ; e0000
|
||||
; something to do with Unown printer
|
||||
push de
|
||||
xor a
|
||||
call GetSRAMBank
|
||||
|
@ -5886,7 +5886,7 @@ Function11ac51: ; 11ac51
|
||||
call Function11ad6e
|
||||
ld a, $78
|
||||
ld [wc3b5], a
|
||||
callba Function8cf7a
|
||||
callba DoNextFrameForAllSprites
|
||||
callba ReloadMapPart
|
||||
jr .asm_11ac82
|
||||
|
||||
|
4
wram.asm
4
wram.asm
@ -1885,7 +1885,9 @@ wd191:: ds 1
|
||||
wd192:: ds 1
|
||||
wd193:: ds 1
|
||||
wd194:: dw
|
||||
wMetatileStandingY::
|
||||
wd196:: ds 1
|
||||
wMetatileStandingX::
|
||||
wd197:: ds 1
|
||||
wSecondMapHeaderBank:: ds 1
|
||||
wTileset:: ds 1
|
||||
@ -2772,7 +2774,7 @@ wBlueCardBalance:: ds 1
|
||||
wDailyRematchFlags:: ds 4
|
||||
wDailyPhoneItemFlags:: ds 4
|
||||
wDailyPhoneTimeOfDayFlags:: ds 4
|
||||
wdc58:: ds 2
|
||||
wKenjiBreakTimer:: ds 2 ; Kenji
|
||||
wdc5a:: ds 1
|
||||
wdc5b:: ds 1
|
||||
wdc5c:: ds 3
|
||||
|
Loading…
Reference in New Issue
Block a user