mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-01-23 09:16:20 -08:00
Split up anim objects into several files
This commit is contained in:
parent
41618f9e98
commit
2a2222476a
@ -1,649 +1,9 @@
|
||||
; Objects used in battle animations.
|
||||
|
||||
QueueBattleAnimation: ; cc9a1 (33:49a1)
|
||||
ld hl, ActiveAnimObjects
|
||||
ld e, 10
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .done
|
||||
ld bc, BATTLEANIMSTRUCT_LENGTH
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .loop
|
||||
scf
|
||||
ret
|
||||
|
||||
.done
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, wNumActiveBattleAnims
|
||||
inc [hl]
|
||||
call InitBattleAnimation
|
||||
ret
|
||||
|
||||
DeinitBattleAnimation: ; cc9bd
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
; cc9c4
|
||||
|
||||
InitBattleAnimation: ; cc9c4 (33:49c4)
|
||||
ld a, [wBattleAnimTemp0]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, BattleAnimObjects
|
||||
rept 6
|
||||
add hl, de
|
||||
endr
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld a, [wNumActiveBattleAnims]
|
||||
ld [hli], a ; Index
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; 01
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; 02
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; Frameset ID
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; Function
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; 05
|
||||
ld a, [de]
|
||||
call GetBattleAnimTileOffset
|
||||
ld [hli], a ; Tile ID
|
||||
ld a, [wBattleAnimTemp1]
|
||||
ld [hli], a ; X Coord
|
||||
ld a, [wBattleAnimTemp2]
|
||||
ld [hli], a ; Y Coord
|
||||
xor a
|
||||
ld [hli], a ; X Offset
|
||||
ld [hli], a ; Y Offset
|
||||
ld a, [wBattleAnimTemp3]
|
||||
ld [hli], a ; 0b
|
||||
xor a
|
||||
ld [hli], a ; 0c
|
||||
dec a
|
||||
ld [hli], a ; 0d
|
||||
xor a
|
||||
ld [hli], a ; 0e
|
||||
ld [hli], a ; 0f
|
||||
ld [hl], a ; 10
|
||||
ret
|
||||
|
||||
BattleAnimOAMUpdate: ; cca09
|
||||
call InitBattleAnimBuffer
|
||||
call GetBattleAnimFrame
|
||||
cp -3
|
||||
jp z, .done
|
||||
cp -4
|
||||
jp z, .delete
|
||||
push af
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
ld a, [wBattleAnimTemp7]
|
||||
xor [hl]
|
||||
and $e0
|
||||
ld [hl], a
|
||||
pop af
|
||||
push bc
|
||||
call GetBattleAnimOAMPointer
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add [hl]
|
||||
ld [wBattleAnimTempTileID], a
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [wBattleAnimOAMPointerLo]
|
||||
ld e, a
|
||||
ld d, Sprites / $100
|
||||
.loop
|
||||
ld a, [wBattleAnimTempYCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempYOffset]
|
||||
add b
|
||||
ld b, a
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit 6, [hl]
|
||||
jr z, .no_yflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
|
||||
.no_yflip
|
||||
pop hl
|
||||
add b
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempXCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempXOffset]
|
||||
add b
|
||||
ld b, a
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit 5, [hl]
|
||||
jr z, .no_xflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
|
||||
.no_xflip
|
||||
pop hl
|
||||
add b
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add $31
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempOAMFlags]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
xor b
|
||||
and $e0
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
and $10
|
||||
or b
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempPalette]
|
||||
and $f
|
||||
or b
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, e
|
||||
ld [wBattleAnimOAMPointerLo], a
|
||||
cp $a0
|
||||
jr nc, .exit_set_carry
|
||||
dec c
|
||||
jr nz, .loop
|
||||
pop bc
|
||||
jr .done
|
||||
|
||||
.delete
|
||||
call DeinitBattleAnimation
|
||||
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
|
||||
.exit_set_carry
|
||||
pop bc
|
||||
scf
|
||||
ret
|
||||
|
||||
; ccaaa
|
||||
|
||||
InitBattleAnimBuffer: ; ccaaa
|
||||
ld hl, BATTLEANIMSTRUCT_01
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and %10000000
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
xor a
|
||||
ld [wBattleAnimTemp7], a
|
||||
ld hl, BATTLEANIMSTRUCT_PALETTE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempPalette], a
|
||||
ld hl, BATTLEANIMSTRUCT_02
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTemp1], a
|
||||
ld hl, BATTLEANIMSTRUCT_TILEID
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempTileID], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYOffset], a
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
ret z
|
||||
ld hl, BATTLEANIMSTRUCT_01
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
bit 0, [hl]
|
||||
ret z
|
||||
ld hl, BATTLEANIMSTRUCT_XCOORD
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, (-10 * 8) + 4
|
||||
sub d
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, [wBattleAnimTemp1]
|
||||
cp $ff
|
||||
jr nz, .check_kinesis_softboiled_milkdrink
|
||||
ld a, 5 * 8
|
||||
add d
|
||||
jr .done
|
||||
|
||||
.check_kinesis_softboiled_milkdrink
|
||||
sub d
|
||||
push af
|
||||
ld a, [FXAnimIDHi]
|
||||
or a
|
||||
jr nz, .no_sub
|
||||
ld a, [FXAnimIDLo]
|
||||
cp KINESIS
|
||||
jr z, .kinesis
|
||||
cp SOFTBOILED
|
||||
jr z, .softboiled
|
||||
cp MILK_DRINK
|
||||
jr nz, .no_sub
|
||||
.kinesis
|
||||
.softboiled
|
||||
.milk_drink
|
||||
pop af
|
||||
sub 1 * 8
|
||||
jr .done
|
||||
|
||||
.no_sub
|
||||
pop af
|
||||
.done
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
xor $ff
|
||||
inc a
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ret
|
||||
|
||||
; ccb31
|
||||
|
||||
GetBattleAnimTileOffset: ; ccb31 (33:4b31)
|
||||
push hl
|
||||
push bc
|
||||
ld hl, wBattleAnimTileDict
|
||||
ld b, a
|
||||
ld c, 10 / 2
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr z, .load
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .loop
|
||||
xor a
|
||||
jr .done
|
||||
|
||||
.load
|
||||
ld a, [hl]
|
||||
.done
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
_ExecuteBGEffects: ; ccb48
|
||||
callab ExecuteBGEffects
|
||||
ret
|
||||
|
||||
; ccb4f
|
||||
|
||||
_QueueBGEffect: ; ccb4f (33:4b4f)
|
||||
callab QueueBGEffect
|
||||
ret
|
||||
|
||||
; ccb56 (33:4b56)
|
||||
|
||||
BattleAnimObjects: ; ccb56
|
||||
battleanimobj: MACRO
|
||||
; ??, ??, frameset, function, ??, tile offset
|
||||
db \1, \2, \3, \4, \5, \6
|
||||
endm
|
||||
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_00
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_01
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_02
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_03
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_04
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_05
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_06
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, $02, $01 ; ANIM_OBJ_07
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_08
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_09
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, $02, $01 ; ANIM_OBJ_0A
|
||||
battleanimobj $01, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, $04, $03 ; ANIM_OBJ_0B
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, $04, $03 ; ANIM_OBJ_0C
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, $04, $03 ; ANIM_OBJ_0D
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, $04, $03 ; ANIM_OBJ_0E
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, $04, $03 ; ANIM_OBJ_0F
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, $04, $03 ; ANIM_OBJ_BURNED
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, $06, $0a ; ANIM_OBJ_11
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, $06, $0a ; ANIM_OBJ_12
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, $06, $0a ; ANIM_OBJ_13
|
||||
battleanimobj $21, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_0B, $05, $06 ; ANIM_OBJ_14
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, $04, $0b ; ANIM_OBJ_POKE_BALL
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, $04, $0b ; ANIM_OBJ_16
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08 ; ANIM_OBJ_17
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08 ; ANIM_OBJ_18
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, $02, $0c ; ANIM_OBJ_19
|
||||
battleanimobj $01, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, $02, $0c ; ANIM_OBJ_1A
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07 ; ANIM_OBJ_1B
|
||||
battleanimobj $01, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07 ; ANIM_OBJ_1C
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, $07, $09 ; ANIM_OBJ_1D
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, $07, $09 ; ANIM_OBJ_1E
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, $07, $09 ; ANIM_OBJ_1F
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, $06, $21 ; ANIM_OBJ_20
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, $06, $0d ; ANIM_OBJ_21
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, $06, $0d ; ANIM_OBJ_22
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, $02, $0e ; ANIM_OBJ_23
|
||||
battleanimobj $61, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, $06, $04 ; ANIM_OBJ_24
|
||||
battleanimobj $01, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, $06, $04 ; ANIM_OBJ_25
|
||||
battleanimobj $01, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, $05, $0f ; ANIM_OBJ_26
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, $03, $10 ; ANIM_OBJ_27
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10 ; ANIM_OBJ_28
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, $06, $0a ; ANIM_OBJ_29
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, $06, $0a ; ANIM_OBJ_FROZEN
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, $07, $11 ; ANIM_OBJ_2B
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, $03, $0d ; ANIM_OBJ_2C
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, $03, $05 ; ANIM_OBJ_2D
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, $03, $05 ; ANIM_OBJ_2E
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, $03, $05 ; ANIM_OBJ_2F
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, $03, $05 ; ANIM_OBJ_30
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05 ; ANIM_OBJ_31
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08 ; ANIM_OBJ_32
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, $03, $05 ; ANIM_OBJ_33
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, $02, $08 ; ANIM_OBJ_34
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, $02, $02 ; ANIM_OBJ_35
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, $02, $02 ; ANIM_OBJ_36
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_37
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_38
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_39
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_3A
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_3B
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, $05, $12 ; ANIM_OBJ_3C
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, $05, $12 ; ANIM_OBJ_3D
|
||||
battleanimobj $21, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, $02, $13 ; ANIM_OBJ_GUST
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, $02, $14 ; ANIM_OBJ_3F
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, $02, $14 ; ANIM_OBJ_40
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, $02, $14 ; ANIM_OBJ_41
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, $02, $14 ; ANIM_OBJ_42
|
||||
battleanimobj $21, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, $02, $14 ; ANIM_OBJ_43
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, $03, $11 ; ANIM_OBJ_44
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, $05, $12 ; ANIM_OBJ_45
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, $02, $15 ; ANIM_OBJ_46
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, $03, $11 ; ANIM_OBJ_47
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, $05, $16 ; ANIM_OBJ_48
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, $05, $16 ; ANIM_OBJ_49
|
||||
battleanimobj $21, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_20, $05, $06 ; ANIM_OBJ_4A
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, $02, $0e ; ANIM_OBJ_4B
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, $02, $17 ; ANIM_OBJ_4C
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, $03, $11 ; ANIM_OBJ_4D
|
||||
battleanimobj $61, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, $03, $10 ; ANIM_OBJ_4E
|
||||
battleanimobj $61, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10 ; ANIM_OBJ_4F
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $03, $18 ; ANIM_OBJ_50
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $02, $18 ; ANIM_OBJ_51
|
||||
battleanimobj $21, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, $03, $19 ; ANIM_OBJ_CHICK
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, $02, $19 ; ANIM_OBJ_53
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, $02, $19 ; ANIM_OBJ_54
|
||||
battleanimobj $01, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, $02, $0c ; ANIM_OBJ_SKULL
|
||||
battleanimobj $21, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, $07, $1a ; ANIM_OBJ_56
|
||||
battleanimobj $21, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, $07, $1a ; ANIM_OBJ_57
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, $02, $1a ; ANIM_OBJ_58
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, $03, $19 ; ANIM_OBJ_PARALYZED
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, $02, $1b ; ANIM_OBJ_5A
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_29, $02, $1c ; ANIM_OBJ_5B
|
||||
battleanimobj $21, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_29, $02, $1c ; ANIM_OBJ_5C
|
||||
battleanimobj $21, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_29, $02, $1c ; ANIM_OBJ_5D
|
||||
battleanimobj $21, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_2A, $02, $1c ; ANIM_OBJ_5E
|
||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_2B, $02, $1d ; ANIM_OBJ_5F
|
||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, $02, $1d ; ANIM_OBJ_60
|
||||
battleanimobj $01, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, $04, $1e ; ANIM_OBJ_61
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, $02, $15 ; ANIM_OBJ_62
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, $07, $19 ; ANIM_OBJ_63
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, $02, $14 ; ANIM_OBJ_64
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, $02, $11 ; ANIM_OBJ_65
|
||||
battleanimobj $01, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_2A, $04, $23 ; ANIM_OBJ_66
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, $02, $1f ; ANIM_OBJ_67
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, $02, $1f ; ANIM_OBJ_68
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, $02, $1f ; ANIM_OBJ_69
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, $03, $23 ; ANIM_OBJ_6A
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, $02, $1f ; ANIM_OBJ_6B
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 ; ANIM_OBJ_6C
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 ; ANIM_OBJ_6D
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20 ; ANIM_OBJ_6E
|
||||
battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04 ; ANIM_OBJ_6F
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, $02, $18 ; ANIM_OBJ_70
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, $06, $0d ; ANIM_OBJ_71
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, $03, $12 ; ANIM_OBJ_72
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, $02, $08 ; ANIM_OBJ_73
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, $02, $1c ; ANIM_OBJ_74
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, $02, $15 ; ANIM_OBJ_75
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, $02, $14 ; ANIM_OBJ_76
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, $02, $11 ; ANIM_OBJ_77
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, $02, $22 ; ANIM_OBJ_78
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, $02, $22 ; ANIM_OBJ_79
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, $02, $1f ; ANIM_OBJ_7A
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, $03, $11 ; ANIM_OBJ_7B
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, $03, $05 ; ANIM_OBJ_7C
|
||||
battleanimobj $a1, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, $06, $13 ; ANIM_OBJ_7D
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, $04, $23 ; ANIM_OBJ_HEART
|
||||
battleanimobj $01, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, $04, $03 ; ANIM_OBJ_7F
|
||||
battleanimobj $01, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, $04, $03 ; ANIM_OBJ_80
|
||||
battleanimobj $21, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_29, $02, $1f ; ANIM_OBJ_81
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, $02, $1f ; ANIM_OBJ_82
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, $02, $1f ; ANIM_OBJ_83
|
||||
battleanimobj $21, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, $03, $1f ; ANIM_OBJ_84
|
||||
battleanimobj $01, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, $02, $0e ; ANIM_OBJ_85
|
||||
battleanimobj $21, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, $04, $1f ; ANIM_OBJ_86
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, $02, $1f ; ANIM_OBJ_87
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, $02, $1f ; ANIM_OBJ_88
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, $02, $1f ; ANIM_OBJ_89
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, $03, $23 ; ANIM_OBJ_8A
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, $02, $19 ; ANIM_OBJ_8B
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, $02, $15 ; ANIM_OBJ_8C
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19 ; ANIM_OBJ_8D
|
||||
battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f ; ANIM_OBJ_8E
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, $02, $0a ; ANIM_OBJ_8F
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, $04, $03 ; ANIM_OBJ_90
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, $02, $08 ; ANIM_OBJ_91
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, $02, $1b ; ANIM_OBJ_92
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, $04, $23 ; ANIM_OBJ_93
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, $02, $25 ; ANIM_OBJ_94
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, $02, $25 ; ANIM_OBJ_95
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, $02, $25 ; ANIM_OBJ_96
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, $06, $25 ; ANIM_OBJ_97
|
||||
battleanimobj $61, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, $05, $23 ; ANIM_OBJ_98
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, $02, $23 ; ANIM_OBJ_99
|
||||
battleanimobj $21, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, $03, $23 ; ANIM_OBJ_9A
|
||||
battleanimobj $21, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, $02, $25 ; ANIM_OBJ_9B
|
||||
battleanimobj $21, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, $03, $24 ; ANIM_OBJ_9C
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, $02, $24 ; ANIM_OBJ_9D
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, $03, $24 ; ANIM_OBJ_9E
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, $04, $12 ; ANIM_OBJ_9F
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_A0
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, $02, $02 ; ANIM_OBJ_A1
|
||||
battleanimobj $21, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, $07, $0f ; ANIM_OBJ_A2
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, $03, $05 ; ANIM_OBJ_A3
|
||||
battleanimobj $21, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, $02, $25 ; ANIM_OBJ_A4
|
||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23 ; ANIM_OBJ_A5
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e ; ANIM_OBJ_A6
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, $02, $24 ; ANIM_OBJ_A7
|
||||
battleanimobj $21, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, $02, $13 ; ANIM_OBJ_A8
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, $02, $13 ; ANIM_OBJ_A9
|
||||
battleanimobj $01, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01 ; ANIM_OBJ_AA
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, $02, $0e ; ANIM_OBJ_AB
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, $06, $17 ; ANIM_OBJ_AC
|
||||
battleanimobj $01, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, $02, $01 ; ANIM_OBJ_AD
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, $03, $11 ; ANIM_OBJ_AE
|
||||
battleanimobj $21, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, $02, $04 ; ANIM_OBJ_AF
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, $04, $1c ; ANIM_OBJ_B0
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, $02, $19 ; ANIM_OBJ_B1
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, $07, $09 ; ANIM_OBJ_B2
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, $03, $27 ; ANIM_OBJ_B3
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, $06, $15 ; ANIM_OBJ_B4
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, $07, $09 ; ANIM_OBJ_B5
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, $04, $1e ; ANIM_OBJ_FLOWER
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, $04, $1f ; ANIM_OBJ_COTTON
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, $00, $28 ; ANIM_OBJ_B8
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, $01, $29 ; ANIM_OBJ_B9
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, $00, $28 ; ANIM_OBJ_BA
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, $01, $29 ; ANIM_OBJ_BB
|
||||
; ccfbe
|
||||
|
||||
INCLUDE "battle/objects/engine.asm"
|
||||
INCLUDE "battle/objects/data.asm"
|
||||
INCLUDE "battle/objects/functions.asm"
|
||||
|
||||
ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
|
||||
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], 0
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld [hl], -1
|
||||
ret
|
||||
|
||||
GetBattleAnimFrame: ; ce7d1
|
||||
.loop
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .next_frame
|
||||
dec [hl]
|
||||
call .GetPointer
|
||||
ld a, [hli]
|
||||
push af
|
||||
jr .okay
|
||||
|
||||
.next_frame
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
inc [hl]
|
||||
call .GetPointer
|
||||
ld a, [hli]
|
||||
cp -2
|
||||
jr z, .restart
|
||||
cp -1
|
||||
jr z, .repeat_last
|
||||
push af
|
||||
ld a, [hl]
|
||||
push hl
|
||||
and $3f
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop hl
|
||||
|
||||
.okay
|
||||
ld a, [hl]
|
||||
and $c0
|
||||
srl a
|
||||
ld [wBattleAnimTemp7], a
|
||||
pop af
|
||||
ret
|
||||
|
||||
.repeat_last
|
||||
xor a
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
dec [hl]
|
||||
dec [hl]
|
||||
jr .loop
|
||||
|
||||
.restart
|
||||
xor a
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
dec a
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
jr .loop
|
||||
|
||||
; ce823
|
||||
|
||||
.GetPointer: ; ce823
|
||||
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
ld hl, BattleAnimFrameData
|
||||
add hl, de
|
||||
add hl, de
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld l, [hl]
|
||||
ld h, $0
|
||||
add hl, hl
|
||||
add hl, de
|
||||
ret
|
||||
|
||||
; ce83c
|
||||
|
||||
GetBattleAnimOAMPointer: ; ce83c
|
||||
ld l, a
|
||||
ld h, 0
|
||||
ld de, BattleAnimOAMData
|
||||
add hl, hl
|
||||
add hl, hl
|
||||
add hl, de
|
||||
ret
|
||||
|
||||
; ce846
|
||||
|
||||
LoadBattleAnimObj: ; ce846 (33:6846)
|
||||
push hl
|
||||
ld l, a
|
||||
ld h, 0
|
||||
add hl, hl
|
||||
add hl, hl
|
||||
ld de, AnimObjGFX
|
||||
add hl, de
|
||||
ld c, [hl]
|
||||
inc hl
|
||||
ld b, [hl]
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
pop de
|
||||
push bc
|
||||
call DecompressRequest2bpp
|
||||
pop bc
|
||||
ret
|
||||
|
||||
; ce85e (33:685e)
|
||||
|
||||
INCLUDE "battle/objects/library.asm"
|
||||
INCLUDE "battle/objects/framesets.asm"
|
||||
INCLUDE "battle/objects/oam.asm"
|
||||
INCLUDE "battle/objects/gfx_headers.asm"
|
||||
|
@ -174,8 +174,6 @@ BattleBGEffect_FlashInverted: ; c80eb (32:40eb)
|
||||
ld de, .inverted
|
||||
jp BattleBGEffect_FlashContinue
|
||||
|
||||
; c80f1 (32:40f1)
|
||||
|
||||
.inverted
|
||||
db %11100100 ; 3210
|
||||
db %00011011 ; 0123
|
||||
@ -185,8 +183,6 @@ BattleBGEffect_FlashWhite: ; c80f3 (32:40f3)
|
||||
ld de, .white
|
||||
jp BattleBGEffect_FlashContinue
|
||||
|
||||
; c80f9 (32:40f9)
|
||||
|
||||
.white
|
||||
db %11100100 ; 3210
|
||||
db %00000000 ; 0000
|
||||
@ -295,12 +291,8 @@ BattleBGEffect_06: ; c8171 (32:4171)
|
||||
ld [wOBP0], a
|
||||
ret
|
||||
|
||||
; c8185 (32:4185)
|
||||
|
||||
.PalsCGB
|
||||
db $e4, $90, $fe
|
||||
; c8188
|
||||
|
||||
.PalsSGB
|
||||
db $f0, $c0, $fe
|
||||
; c818b
|
||||
@ -318,12 +310,8 @@ BattleBGEffect_07: ; c818b (32:418b)
|
||||
ld [wOBP0], a
|
||||
ret
|
||||
|
||||
; c819f (32:419f)
|
||||
|
||||
.PalsCGB
|
||||
db $e4, $d8, $fe
|
||||
; c81a2
|
||||
|
||||
.PalsSGB
|
||||
db $f0, $cc, $fe
|
||||
; c81a5
|
||||
@ -334,8 +322,6 @@ BattleBGEffect_08: ; c81a5 (32:41a5)
|
||||
ld [wBGP], a
|
||||
ret
|
||||
|
||||
; c81af (32:41af)
|
||||
|
||||
.Pals
|
||||
db $1b, $63, $87, $fe
|
||||
; c81b3
|
||||
@ -399,13 +385,9 @@ BattleBGEffect_ShowMon: ; c81ea (32:41ea)
|
||||
call BattleBGEffect_RunPicResizeScript
|
||||
ret
|
||||
|
||||
; c820c (32:420c)
|
||||
|
||||
.PlayerData
|
||||
db 0, $31, 0
|
||||
db -1
|
||||
; c8210
|
||||
|
||||
.EnemyData
|
||||
db 3, $00, 3
|
||||
db -1
|
||||
@ -668,15 +650,11 @@ BattleBGEffect_EnterMon: ; c837b (32:437b)
|
||||
call BattleBGEffect_RunPicResizeScript
|
||||
ret
|
||||
|
||||
; c8394 (32:4394)
|
||||
|
||||
.PlayerData
|
||||
db 2, $31, 2
|
||||
db 1, $31, 1
|
||||
db 0, $31, 0
|
||||
db -1
|
||||
; c839e
|
||||
|
||||
.EnemyData
|
||||
db 5, $00, 5
|
||||
db 4, $00, 4
|
||||
@ -700,8 +678,6 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
|
||||
call BattleBGEffect_RunPicResizeScript
|
||||
ret
|
||||
|
||||
; c83c1 (32:43c1)
|
||||
|
||||
.PlayerData
|
||||
db 0, $31, 0
|
||||
db -2, $66, 0
|
||||
@ -711,8 +687,6 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
|
||||
db -2, $22, 2
|
||||
db -3, $00, 0
|
||||
db -1
|
||||
; c83d7
|
||||
|
||||
.EnemyData
|
||||
db 3, $00, 3
|
||||
db -2, $77, 3
|
||||
@ -1650,12 +1624,12 @@ BattleBGEffect_2f: ; c8919 (32:4919)
|
||||
BattleBGEffect_26: ; c892a (32:492a)
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc8933
|
||||
dw Functionc894a
|
||||
dw Functionc8960
|
||||
dw .zero
|
||||
dw .one
|
||||
dw .two
|
||||
|
||||
|
||||
Functionc8933: ; c8933 (32:4933)
|
||||
.zero
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_ClearLYOverrides
|
||||
ld a, $43
|
||||
@ -1668,7 +1642,7 @@ Functionc8933: ; c8933 (32:4933)
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
Functionc894a: ; c894a (32:494a)
|
||||
.one
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -1682,19 +1656,19 @@ Functionc894a: ; c894a (32:494a)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Functionc8960: ; c8960 (32:4960)
|
||||
.two
|
||||
call BattleAnim_ResetLCDStatCustom
|
||||
ret
|
||||
|
||||
BattleBGEffect_2c: ; c8964 (32:4964)
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc896d
|
||||
dw Functionc8985
|
||||
dw Functionc89b1
|
||||
dw .zero
|
||||
dw .one
|
||||
dw .two
|
||||
|
||||
|
||||
Functionc896d: ; c896d (32:496d)
|
||||
.zero
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_ClearLYOverrides
|
||||
ld a, $43
|
||||
@ -1709,7 +1683,7 @@ Functionc896d: ; c896d (32:496d)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Functionc8985: ; c8985 (32:4985)
|
||||
.one
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -1737,26 +1711,26 @@ Functionc8985: ; c8985 (32:4985)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Functionc89b1: ; c89b1 (32:49b1)
|
||||
.two
|
||||
call BattleAnim_ResetLCDStatCustom
|
||||
ret
|
||||
|
||||
BattleBGEffect_28: ; c89b5 (32:49b5)
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc89be
|
||||
dw Functionc89ca
|
||||
dw Functionc89da
|
||||
dw .zero
|
||||
dw .one
|
||||
dw .two
|
||||
|
||||
|
||||
Functionc89be: ; c89be (32:49be)
|
||||
.zero
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_ClearLYOverrides
|
||||
ld a, $43
|
||||
call Functionc8ede
|
||||
ret
|
||||
|
||||
Functionc89ca: ; c89ca (32:49ca)
|
||||
.one
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -1768,19 +1742,19 @@ Functionc89ca: ; c89ca (32:49ca)
|
||||
call Functionc8f2e
|
||||
ret
|
||||
|
||||
Functionc89da: ; c89da (32:49da)
|
||||
.two
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_c89ea
|
||||
jr z, .reset
|
||||
dec [hl]
|
||||
ld d, a
|
||||
ld e, 4
|
||||
call Functionc8f2e
|
||||
ret
|
||||
|
||||
.asm_c89ea
|
||||
.reset
|
||||
call BattleAnim_ResetLCDStatCustom
|
||||
ret
|
||||
|
||||
@ -1949,11 +1923,11 @@ endr
|
||||
BattleBGEffect_2b: ; c8acc (32:4acc)
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc8ad3
|
||||
dw Functionc8ae5
|
||||
dw .zero
|
||||
dw .one
|
||||
|
||||
|
||||
Functionc8ad3: ; c8ad3 (32:4ad3)
|
||||
.zero
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_ClearLYOverrides
|
||||
ld a, $43
|
||||
@ -1963,7 +1937,7 @@ Functionc8ad3: ; c8ad3 (32:4ad3)
|
||||
ld [hl], $40
|
||||
ret
|
||||
|
||||
Functionc8ae5: ; c8ae5 (32:4ae5)
|
||||
.one
|
||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -1986,15 +1960,15 @@ Functionc8ae5: ; c8ae5 (32:4ae5)
|
||||
BattleBGEffect_1c: ; c8b00 (32:4b00)
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
jr nz, asm_c8b7a
|
||||
jr nz, .cgb
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc8b0e
|
||||
dw Functionc8b22
|
||||
dw Functionc8b60
|
||||
dw .zero
|
||||
dw .one
|
||||
dw .two
|
||||
|
||||
|
||||
Functionc8b0e: ; c8b0e (32:4b0e)
|
||||
.zero
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
ld a, $e4
|
||||
call BattleBGEffects_SetLYOverrides
|
||||
@ -2006,7 +1980,7 @@ Functionc8b0e: ; c8b0e (32:4b0e)
|
||||
ld [hLCDStatCustom + 2], a
|
||||
ret
|
||||
|
||||
Functionc8b22: ; c8b22 (32:4b22)
|
||||
.one
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -2023,74 +1997,68 @@ Functionc8b22: ; c8b22 (32:4b22)
|
||||
ld d, $0
|
||||
push bc
|
||||
call BGEffect_CheckBattleTurn
|
||||
jr nz, .asm_c8b4d
|
||||
ld hl, Unknown_c8bd8
|
||||
jr nz, .player
|
||||
ld hl, .CGB_DMGEnemyData
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld [wOBP1], a
|
||||
ld d, a
|
||||
ld e, [hl]
|
||||
ld bc, $2f30
|
||||
jr .asm_c8b5b
|
||||
lb bc, $2f, $30
|
||||
jr .okay
|
||||
|
||||
.asm_c8b4d
|
||||
ld hl, Unknown_c8be0
|
||||
.player
|
||||
ld hl, .DMG_PlayerData
|
||||
add hl, de
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [wOBP1], a
|
||||
ld e, a
|
||||
ld bc, $3728
|
||||
.asm_c8b5b
|
||||
call Functionc8b6c
|
||||
lb bc, $37, $28
|
||||
.okay
|
||||
call .DMG_LYOverrideLoads
|
||||
pop bc
|
||||
ret
|
||||
|
||||
Functionc8b60: ; c8b60 (32:4b60)
|
||||
.two
|
||||
call Functionc8f19
|
||||
ld a, $e4
|
||||
ld [wBGP], a
|
||||
ld [wOBP1], a
|
||||
ret
|
||||
|
||||
Functionc8b6c: ; c8b6c (32:4b6c)
|
||||
.DMG_LYOverrideLoads
|
||||
ld hl, LYOverridesBackup
|
||||
.asm_c8b6f
|
||||
.loop1
|
||||
ld [hl], d
|
||||
inc hl
|
||||
dec b
|
||||
jr nz, .asm_c8b6f
|
||||
.asm_c8b74
|
||||
jr nz, .loop1
|
||||
.loop2
|
||||
ld [hl], e
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .asm_c8b74
|
||||
jr nz, .loop2
|
||||
ret
|
||||
|
||||
asm_c8b7a: ; c8b7a (32:4b7a)
|
||||
ld de, Jumptable_c8b81
|
||||
.cgb
|
||||
ld de, .Jumptable
|
||||
call BatttleBGEffects_GetNamedJumptablePointer
|
||||
jp [hl]
|
||||
|
||||
; c8b81 (32:4b81)
|
||||
|
||||
Jumptable_c8b81: ; c8b81
|
||||
dw Functionc8b87
|
||||
dw Functionc8b91
|
||||
dw Functionc8bca
|
||||
; c8b87
|
||||
|
||||
Functionc8b87: ; c8b87
|
||||
.Jumptable
|
||||
dw .cgb_zero
|
||||
dw .cgb_one
|
||||
dw .cgb_two
|
||||
.cgb_zero
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
; c8b91
|
||||
|
||||
Functionc8b91: ; c8b91
|
||||
.cgb_one
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -2106,48 +2074,42 @@ Functionc8b91: ; c8b91
|
||||
ld e, a
|
||||
ld d, 0
|
||||
call BGEffect_CheckBattleTurn
|
||||
jr nz, .asm_c8bbb
|
||||
ld hl, Unknown_c8bd8
|
||||
jr nz, .player_2
|
||||
ld hl, .CGB_DMGEnemyData
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
push hl
|
||||
call Functionc8e7f
|
||||
call BGEffects_LoadBGPal1_OBPal0
|
||||
pop hl
|
||||
ld a, [hl]
|
||||
call Functionc8e52
|
||||
call BGEffects_LoadBGPal0_OBPal1
|
||||
ret
|
||||
|
||||
.asm_c8bbb
|
||||
ld hl, Unknown_c8bd8
|
||||
.player_2
|
||||
ld hl, .CGB_DMGEnemyData
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
push hl
|
||||
call Functionc8e52
|
||||
call BGEffects_LoadBGPal0_OBPal1
|
||||
pop hl
|
||||
ld a, [hl]
|
||||
call Functionc8e7f
|
||||
call BGEffects_LoadBGPal1_OBPal0
|
||||
ret
|
||||
|
||||
; c8bca
|
||||
|
||||
Functionc8bca: ; c8bca
|
||||
.cgb_two
|
||||
ld a, $e4
|
||||
call Functionc8e52
|
||||
call BGEffects_LoadBGPal0_OBPal1
|
||||
ld a, $e4
|
||||
call Functionc8e7f
|
||||
call BGEffects_LoadBGPal1_OBPal0
|
||||
call EndBattleBGEffect
|
||||
ret
|
||||
|
||||
; c8bd8
|
||||
|
||||
Unknown_c8bd8: ; c8bd8
|
||||
.CGB_DMGEnemyData
|
||||
db $e4, $e4
|
||||
db $f8, $90
|
||||
db $fc, $40
|
||||
db $f8, $90
|
||||
; c8be0
|
||||
|
||||
Unknown_c8be0: ; c8be0
|
||||
.DMG_PlayerData
|
||||
db $e4, $e4
|
||||
db $90, $f8
|
||||
db $40, $fc
|
||||
@ -2155,112 +2117,94 @@ Unknown_c8be0: ; c8be0
|
||||
; c8be8
|
||||
|
||||
BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
|
||||
ld de, Unknown_c8bef
|
||||
call Functionc8d77
|
||||
ld de, .FlashPals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8bef (32:4bef)
|
||||
|
||||
Unknown_c8bef: ; c8bef
|
||||
.FlashPals
|
||||
db $e4, $6c, $fe
|
||||
; c8bf2
|
||||
|
||||
BattleBGEffect_16: ; c8bf2 (32:4bf2)
|
||||
ld de, Unknown_c8bf9
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8bf9 (32:4bf9)
|
||||
|
||||
Unknown_c8bf9: ; c8bf9
|
||||
.Pals
|
||||
db $e4, $90, $40, $ff
|
||||
; c8bfd
|
||||
|
||||
BattleBGEffect_17: ; c8bfd (32:4bfd)
|
||||
ld de, Unknown_c8c04
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c04 (32:4c04)
|
||||
|
||||
Unknown_c8c04: ; c8c04
|
||||
.Pals
|
||||
db $e4, $f8, $fc, $ff
|
||||
; c8c08
|
||||
|
||||
BattleBGEffect_18: ; c8c08 (32:4c08)
|
||||
ld de, Unknown_c8c0f
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c0f (32:4c0f)
|
||||
|
||||
Unknown_c8c0f: ; c8c0f
|
||||
.Pals
|
||||
db $e4, $90, $40, $90, $fe
|
||||
; c8c14
|
||||
|
||||
BattleBGEffect_19: ; c8c14 (32:4c14)
|
||||
ld de, Unknown_c8c1b
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c1b (32:4c1b)
|
||||
|
||||
Unknown_c8c1b: ; c8c1b
|
||||
.Pals
|
||||
db $e4, $f8, $fc, $f8, $fe
|
||||
; c8c20
|
||||
|
||||
BattleBGEffect_1a: ; c8c20 (32:4c20)
|
||||
ld de, Unknown_c8c27
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c27 (32:4c27)
|
||||
|
||||
Unknown_c8c27: ; c8c27
|
||||
.Pals
|
||||
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
|
||||
; c8c30
|
||||
|
||||
BattleBGEffect_1b: ; c8c30 (32:4c30)
|
||||
ld de, Unknown_c8c37
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c37 (32:4c37)
|
||||
|
||||
Unknown_c8c37:
|
||||
.Pals
|
||||
db $e4, $fc, $e4, $00, $fe
|
||||
; c8c3c
|
||||
|
||||
BattleBGEffect_1d: ; c8c3c (32:4c3c)
|
||||
ld de, Unknown_c8c43
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c43 (32:4c43)
|
||||
|
||||
Unknown_c8c43:
|
||||
.Pals
|
||||
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
|
||||
; c8c55
|
||||
|
||||
BattleBGEffect_1e: ; c8c55 (32:4c55)
|
||||
ld de, Unknown_c8c5c
|
||||
call Functionc8d77
|
||||
ld de, .Pals
|
||||
call BGEffect_RapidCyclePals
|
||||
ret
|
||||
|
||||
; c8c5c (32:4c5c)
|
||||
|
||||
Unknown_c8c5c:
|
||||
.Pals
|
||||
db $00, $40, $90, $e4, $ff
|
||||
; c8c61
|
||||
|
||||
BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc8c68
|
||||
dw Functionc8c85
|
||||
dw .zero
|
||||
dw .one
|
||||
|
||||
|
||||
Functionc8c68: ; c8c68 (32:4c68)
|
||||
.zero: ; c8c68 (32:4c68)
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_ClearLYOverrides
|
||||
ld a, $43
|
||||
@ -2276,12 +2220,12 @@ Functionc8c68: ; c8c68 (32:4c68)
|
||||
ld [hl], $20
|
||||
ret
|
||||
|
||||
Functionc8c85: ; c8c85 (32:4c85)
|
||||
.one: ; c8c85 (32:4c85)
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_c8c9e
|
||||
jr z, .finish
|
||||
dec [hl]
|
||||
and $1
|
||||
ret nz
|
||||
@ -2294,19 +2238,19 @@ Functionc8c85: ; c8c85 (32:4c85)
|
||||
call Functionc900b
|
||||
ret
|
||||
|
||||
.asm_c8c9e
|
||||
.finish
|
||||
call BattleAnim_ResetLCDStatCustom
|
||||
ret
|
||||
|
||||
BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
|
||||
call BattleBGEffects_AnonJumptable
|
||||
.anon_jumptable
|
||||
dw Functionc8cab
|
||||
dw Functionc8cc3
|
||||
dw Functionc8cdd
|
||||
dw .zero
|
||||
dw .one
|
||||
dw .two
|
||||
|
||||
|
||||
Functionc8cab: ; c8cab (32:4cab)
|
||||
.zero: ; c8cab (32:4cab)
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_ClearLYOverrides
|
||||
ld a, $43
|
||||
@ -2320,12 +2264,12 @@ Functionc8cab: ; c8cab (32:4cab)
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
Functionc8cc3: ; c8cc3 (32:4cc3)
|
||||
.one: ; c8cc3 (32:4cc3)
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $40
|
||||
jr nc, Functionc8cdd
|
||||
jr nc, .two
|
||||
ld d, $6
|
||||
call BattleBGEffects_Sine
|
||||
call Functionc900b
|
||||
@ -2336,40 +2280,40 @@ Functionc8cc3: ; c8cc3 (32:4cc3)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Functionc8cdd: ; c8cdd (32:4cdd)
|
||||
.two: ; c8cdd (32:4cdd)
|
||||
call BattleAnim_ResetLCDStatCustom
|
||||
ret
|
||||
|
||||
BattleBGEffect_2e: ; c8ce1 (32:4ce1)
|
||||
call Functionc8d0b
|
||||
jr c, .asm_c8cea
|
||||
jr c, .xor_a
|
||||
bit 7, a
|
||||
jr z, .asm_c8ceb
|
||||
.asm_c8cea
|
||||
jr z, .okay
|
||||
.xor_a
|
||||
xor a
|
||||
.asm_c8ceb
|
||||
.okay
|
||||
push af
|
||||
call DelayFrame
|
||||
pop af
|
||||
ld [hSCY], a
|
||||
xor $ff
|
||||
inc a
|
||||
ld [OTPartyMon3SpclAtk], a
|
||||
ld [AnimObject01_YOffset], a
|
||||
ret
|
||||
|
||||
BattleBGEffect_1f: ; c8cf9 (32:4cf9)
|
||||
call Functionc8d0b
|
||||
jr nc, .asm_c8cff
|
||||
jr nc, .skip
|
||||
xor a
|
||||
.asm_c8cff
|
||||
.skip
|
||||
ld [hSCX], a
|
||||
ret
|
||||
|
||||
BattleBGEffect_20: ; c8d02 (32:4d02)
|
||||
call Functionc8d0b
|
||||
jr nc, .asm_c8d08
|
||||
jr nc, .skip
|
||||
xor a
|
||||
.asm_c8d08
|
||||
.skip
|
||||
ld [hSCY], a
|
||||
ret
|
||||
|
||||
@ -2378,18 +2322,18 @@ Functionc8d0b: ; c8d0b (32:4d0b)
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr nz, .asm_c8d18
|
||||
jr nz, .okay
|
||||
call EndBattleBGEffect
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_c8d18
|
||||
.okay
|
||||
dec [hl]
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and $f
|
||||
jr z, .asm_c8d2a
|
||||
jr z, .every_16_frames
|
||||
dec [hl]
|
||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||
add hl, bc
|
||||
@ -2397,7 +2341,7 @@ Functionc8d0b: ; c8d0b (32:4d0b)
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_c8d2a
|
||||
.every_16_frames
|
||||
ld a, [hl]
|
||||
swap a
|
||||
or [hl]
|
||||
@ -2416,7 +2360,7 @@ BattleBGEffect_35: ; c8d3a (32:4d3a)
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $40
|
||||
jr nc, .asm_c8d53
|
||||
jr nc, .finish
|
||||
ld d, $6
|
||||
call BattleBGEffects_Sine
|
||||
ld [hSCX], a
|
||||
@ -2427,7 +2371,7 @@ BattleBGEffect_35: ; c8d3a (32:4d3a)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
.asm_c8d53
|
||||
.finish
|
||||
xor a
|
||||
ld [hSCX], a
|
||||
ret
|
||||
@ -2437,7 +2381,7 @@ Functionc8d57: ; c8d57 (32:4d57)
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_c8d69
|
||||
jr z, .zero
|
||||
|
||||
dec [hl]
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
@ -2446,7 +2390,7 @@ Functionc8d57: ; c8d57 (32:4d57)
|
||||
call Functionc8eb2
|
||||
ret
|
||||
|
||||
.asm_c8d69
|
||||
.zero
|
||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -2456,23 +2400,23 @@ Functionc8d57: ; c8d57 (32:4d57)
|
||||
call Functionc8eac
|
||||
ret
|
||||
|
||||
Functionc8d77: ; c8d77 (32:4d77)
|
||||
BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
||||
ld a, [hCGB]
|
||||
and a
|
||||
jr nz, asm_c8dd4
|
||||
jr nz, .cgb
|
||||
push de
|
||||
ld de, Jumptable_c8d85
|
||||
ld de, .Jumptable_DMG
|
||||
call BatttleBGEffects_GetNamedJumptablePointer
|
||||
pop de
|
||||
jp [hl]
|
||||
|
||||
Jumptable_c8d85: ; c8d85 (32:4d85)
|
||||
dw Functionc8d8b
|
||||
dw Functionc8daa
|
||||
dw Functionc8dc9
|
||||
.Jumptable_DMG
|
||||
dw .zero_dmg
|
||||
dw .one_dmg
|
||||
dw .two_dmg
|
||||
|
||||
|
||||
Functionc8d8b: ; c8d8b (32:4d8b)
|
||||
.zero_dmg: ; c8d8b (32:4d8b)
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
ld a, $e4
|
||||
call BattleBGEffects_SetLYOverrides
|
||||
@ -2490,59 +2434,59 @@ Functionc8d8b: ; c8d8b (32:4d8b)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Functionc8daa: ; c8daa (32:4daa)
|
||||
.one_dmg: ; c8daa (32:4daa)
|
||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and $f
|
||||
jr z, .asm_c8db5
|
||||
jr z, .okay_1_dmg
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
.asm_c8db5
|
||||
.okay_1_dmg
|
||||
ld a, [hl]
|
||||
swap a
|
||||
or [hl]
|
||||
ld [hl], a
|
||||
call Functionc8eac
|
||||
jr c, .asm_c8dc3
|
||||
jr c, .okay_2_dmg
|
||||
call Functionc900b
|
||||
ret
|
||||
|
||||
.asm_c8dc3
|
||||
.okay_2_dmg
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
Functionc8dc9: ; c8dc9 (32:4dc9)
|
||||
.two_dmg: ; c8dc9 (32:4dc9)
|
||||
call Functionc8f19
|
||||
ld a, $e4
|
||||
ld [rBGP], a
|
||||
call EndBattleBGEffect
|
||||
ret
|
||||
|
||||
asm_c8dd4: ; c8dd4 (32:4dd4)
|
||||
.cgb
|
||||
push de
|
||||
ld de, Jumptable_c8ddd
|
||||
ld de, .Jumptable_CGB
|
||||
call BatttleBGEffects_GetNamedJumptablePointer
|
||||
pop de
|
||||
jp [hl]
|
||||
|
||||
Jumptable_c8ddd: ; c8ddd (32:4ddd)
|
||||
dw Functionc8de7
|
||||
dw Functionc8e02
|
||||
dw Functionc8e21
|
||||
dw Functionc8e2a
|
||||
dw Functionc8e49
|
||||
.Jumptable_CGB: ; c8ddd (32:4ddd)
|
||||
dw .zero_cgb
|
||||
dw .one_cgb
|
||||
dw .two_cgb
|
||||
dw .three_cgb
|
||||
dw .four_cgb
|
||||
|
||||
|
||||
Functionc8de7: ; c8de7 (32:4de7)
|
||||
.zero_cgb: ; c8de7 (32:4de7)
|
||||
call BGEffect_CheckBattleTurn
|
||||
jr nz, .asm_c8df2
|
||||
jr nz, .player_turn_cgb
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
.asm_c8df2
|
||||
.player_turn_cgb
|
||||
call BattleBGEffects_IncrementJumptable
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
@ -2553,69 +2497,69 @@ Functionc8de7: ; c8de7 (32:4de7)
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Functionc8e02: ; c8e02 (32:4e02)
|
||||
.one_cgb: ; c8e02 (32:4e02)
|
||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and $f
|
||||
jr z, .asm_c8e0d
|
||||
jr z, .okay_1_cgb
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
.asm_c8e0d
|
||||
.okay_1_cgb
|
||||
ld a, [hl]
|
||||
swap a
|
||||
or [hl]
|
||||
ld [hl], a
|
||||
call Functionc8eac
|
||||
jr c, .asm_c8e1b
|
||||
call Functionc8e52
|
||||
jr c, .okay_2_cgb
|
||||
call BGEffects_LoadBGPal0_OBPal1
|
||||
ret
|
||||
|
||||
.asm_c8e1b
|
||||
.okay_2_cgb
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
Functionc8e21: ; c8e21 (32:4e21)
|
||||
.two_cgb: ; c8e21 (32:4e21)
|
||||
ld a, $e4
|
||||
call Functionc8e52
|
||||
call BGEffects_LoadBGPal0_OBPal1
|
||||
call EndBattleBGEffect
|
||||
ret
|
||||
|
||||
Functionc8e2a: ; c8e2a (32:4e2a)
|
||||
.three_cgb: ; c8e2a (32:4e2a)
|
||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and $f
|
||||
jr z, .asm_c8e35
|
||||
jr z, .okay_3_cgb
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
.asm_c8e35
|
||||
.okay_3_cgb
|
||||
ld a, [hl]
|
||||
swap a
|
||||
or [hl]
|
||||
ld [hl], a
|
||||
call Functionc8eac
|
||||
jr c, .asm_c8e43
|
||||
call Functionc8e7f
|
||||
jr c, .okay_4_cgb
|
||||
call BGEffects_LoadBGPal1_OBPal0
|
||||
ret
|
||||
|
||||
.asm_c8e43
|
||||
.okay_4_cgb
|
||||
ld hl, BG_EFFECT_STRUCT_03
|
||||
add hl, bc
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
Functionc8e49: ; c8e49 (32:4e49)
|
||||
.four_cgb: ; c8e49 (32:4e49)
|
||||
ld a, $e4
|
||||
call Functionc8e7f
|
||||
call BGEffects_LoadBGPal1_OBPal0
|
||||
call EndBattleBGEffect
|
||||
ret
|
||||
|
||||
Functionc8e52: ; c8e52 (32:4e52)
|
||||
BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
|
||||
ld h, a
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
@ -2642,7 +2586,7 @@ Functionc8e52: ; c8e52 (32:4e52)
|
||||
ld [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
Functionc8e7f: ; c8e7f (32:4e7f)
|
||||
BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f)
|
||||
ld h, a
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
|
573
battle/objects/data.asm
Executable file
573
battle/objects/data.asm
Executable file
@ -0,0 +1,573 @@
|
||||
BattleAnimObjects: ; ccb56
|
||||
battleanimobj: MACRO
|
||||
|
||||
; ??, ??, frameset, function, ??, tile offset
|
||||
db \1, \2, \3, \4, \5, \6
|
||||
endm
|
||||
|
||||
|
||||
; ANIM_OBJ_00
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_01
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_02
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_03
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_04
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_05
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_06
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_07
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, $02, $01
|
||||
|
||||
; ANIM_OBJ_08
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_09
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_0A
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, $02, $01
|
||||
|
||||
; ANIM_OBJ_0B
|
||||
battleanimobj $01, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, $04, $03
|
||||
|
||||
; ANIM_OBJ_0C
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, $04, $03
|
||||
|
||||
; ANIM_OBJ_0D
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, $04, $03
|
||||
|
||||
; ANIM_OBJ_0E
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, $04, $03
|
||||
|
||||
; ANIM_OBJ_0F
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, $04, $03
|
||||
|
||||
; ANIM_OBJ_BURNED
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, $04, $03
|
||||
|
||||
; ANIM_OBJ_11
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, $06, $0a
|
||||
|
||||
; ANIM_OBJ_12
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, $06, $0a
|
||||
|
||||
; ANIM_OBJ_13
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, $06, $0a
|
||||
|
||||
; ANIM_OBJ_14
|
||||
battleanimobj $21, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_0B, $05, $06
|
||||
|
||||
; ANIM_OBJ_POKE_BALL
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, $04, $0b
|
||||
|
||||
; ANIM_OBJ_16
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, $04, $0b
|
||||
|
||||
; ANIM_OBJ_17
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08
|
||||
|
||||
; ANIM_OBJ_18
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08
|
||||
|
||||
; ANIM_OBJ_19
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, $02, $0c
|
||||
|
||||
; ANIM_OBJ_1A
|
||||
battleanimobj $01, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, $02, $0c
|
||||
|
||||
; ANIM_OBJ_1B
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07
|
||||
|
||||
; ANIM_OBJ_1C
|
||||
battleanimobj $01, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07
|
||||
|
||||
; ANIM_OBJ_1D
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, $07, $09
|
||||
|
||||
; ANIM_OBJ_1E
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, $07, $09
|
||||
|
||||
; ANIM_OBJ_1F
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, $07, $09
|
||||
|
||||
; ANIM_OBJ_20
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, $06, $21
|
||||
|
||||
; ANIM_OBJ_21
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, $06, $0d
|
||||
|
||||
; ANIM_OBJ_22
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, $06, $0d
|
||||
|
||||
; ANIM_OBJ_23
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, $02, $0e
|
||||
|
||||
; ANIM_OBJ_24
|
||||
battleanimobj $61, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, $06, $04
|
||||
|
||||
; ANIM_OBJ_25
|
||||
battleanimobj $01, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, $06, $04
|
||||
|
||||
; ANIM_OBJ_26
|
||||
battleanimobj $01, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, $05, $0f
|
||||
|
||||
; ANIM_OBJ_27
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, $03, $10
|
||||
|
||||
; ANIM_OBJ_28
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10
|
||||
|
||||
; ANIM_OBJ_29
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, $06, $0a
|
||||
|
||||
; ANIM_OBJ_FROZEN
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, $06, $0a
|
||||
|
||||
; ANIM_OBJ_2B
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, $07, $11
|
||||
|
||||
; ANIM_OBJ_2C
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, $03, $0d
|
||||
|
||||
; ANIM_OBJ_2D
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, $03, $05
|
||||
|
||||
; ANIM_OBJ_2E
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, $03, $05
|
||||
|
||||
; ANIM_OBJ_2F
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, $03, $05
|
||||
|
||||
; ANIM_OBJ_30
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, $03, $05
|
||||
|
||||
; ANIM_OBJ_31
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05
|
||||
|
||||
; ANIM_OBJ_32
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08
|
||||
|
||||
; ANIM_OBJ_33
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, $03, $05
|
||||
|
||||
; ANIM_OBJ_34
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, $02, $08
|
||||
|
||||
; ANIM_OBJ_35
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, $02, $02
|
||||
|
||||
; ANIM_OBJ_36
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, $02, $02
|
||||
|
||||
; ANIM_OBJ_37
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_38
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_39
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_3A
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_3B
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_3C
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, $05, $12
|
||||
|
||||
; ANIM_OBJ_3D
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, $05, $12
|
||||
|
||||
; ANIM_OBJ_GUST
|
||||
battleanimobj $21, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, $02, $13
|
||||
|
||||
; ANIM_OBJ_3F
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, $02, $14
|
||||
|
||||
; ANIM_OBJ_40
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, $02, $14
|
||||
|
||||
; ANIM_OBJ_41
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, $02, $14
|
||||
|
||||
; ANIM_OBJ_42
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, $02, $14
|
||||
|
||||
; ANIM_OBJ_43
|
||||
battleanimobj $21, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, $02, $14
|
||||
|
||||
; ANIM_OBJ_44
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, $03, $11
|
||||
|
||||
; ANIM_OBJ_45
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, $05, $12
|
||||
|
||||
; ANIM_OBJ_46
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, $02, $15
|
||||
|
||||
; ANIM_OBJ_47
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, $03, $11
|
||||
|
||||
; ANIM_OBJ_48
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, $05, $16
|
||||
|
||||
; ANIM_OBJ_49
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, $05, $16
|
||||
|
||||
; ANIM_OBJ_4A
|
||||
battleanimobj $21, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_20, $05, $06
|
||||
|
||||
; ANIM_OBJ_4B
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, $02, $0e
|
||||
|
||||
; ANIM_OBJ_4C
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, $02, $17
|
||||
|
||||
; ANIM_OBJ_4D
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, $03, $11
|
||||
|
||||
; ANIM_OBJ_4E
|
||||
battleanimobj $61, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, $03, $10
|
||||
|
||||
; ANIM_OBJ_4F
|
||||
battleanimobj $61, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10
|
||||
|
||||
; ANIM_OBJ_50
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $03, $18
|
||||
|
||||
; ANIM_OBJ_51
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $02, $18
|
||||
|
||||
; ANIM_OBJ_CHICK
|
||||
battleanimobj $21, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, $03, $19
|
||||
|
||||
; ANIM_OBJ_53
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, $02, $19
|
||||
|
||||
; ANIM_OBJ_54
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, $02, $19
|
||||
|
||||
; ANIM_OBJ_SKULL
|
||||
battleanimobj $01, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, $02, $0c
|
||||
|
||||
; ANIM_OBJ_56
|
||||
battleanimobj $21, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, $07, $1a
|
||||
|
||||
; ANIM_OBJ_57
|
||||
battleanimobj $21, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, $07, $1a
|
||||
|
||||
; ANIM_OBJ_58
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, $02, $1a
|
||||
|
||||
; ANIM_OBJ_PARALYZED
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, $03, $19
|
||||
|
||||
; ANIM_OBJ_5A
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, $02, $1b
|
||||
|
||||
; ANIM_OBJ_5B
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_29, $02, $1c
|
||||
|
||||
; ANIM_OBJ_5C
|
||||
battleanimobj $21, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_29, $02, $1c
|
||||
|
||||
; ANIM_OBJ_5D
|
||||
battleanimobj $21, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_29, $02, $1c
|
||||
|
||||
; ANIM_OBJ_5E
|
||||
battleanimobj $21, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_2A, $02, $1c
|
||||
|
||||
; ANIM_OBJ_5F
|
||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_2B, $02, $1d
|
||||
|
||||
; ANIM_OBJ_60
|
||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, $02, $1d
|
||||
|
||||
; ANIM_OBJ_61
|
||||
battleanimobj $01, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, $04, $1e
|
||||
|
||||
; ANIM_OBJ_62
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, $02, $15
|
||||
|
||||
; ANIM_OBJ_63
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, $07, $19
|
||||
|
||||
; ANIM_OBJ_64
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, $02, $14
|
||||
|
||||
; ANIM_OBJ_65
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, $02, $11
|
||||
|
||||
; ANIM_OBJ_66
|
||||
battleanimobj $01, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_2A, $04, $23
|
||||
|
||||
; ANIM_OBJ_67
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, $02, $1f
|
||||
|
||||
; ANIM_OBJ_68
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, $02, $1f
|
||||
|
||||
; ANIM_OBJ_69
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, $02, $1f
|
||||
|
||||
; ANIM_OBJ_6A
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, $03, $23
|
||||
|
||||
; ANIM_OBJ_6B
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, $02, $1f
|
||||
|
||||
; ANIM_OBJ_6C
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11
|
||||
|
||||
; ANIM_OBJ_6D
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11
|
||||
|
||||
; ANIM_OBJ_6E
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20
|
||||
|
||||
; ANIM_OBJ_6F
|
||||
battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04
|
||||
|
||||
; ANIM_OBJ_70
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, $02, $18
|
||||
|
||||
; ANIM_OBJ_71
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, $06, $0d
|
||||
|
||||
; ANIM_OBJ_72
|
||||
battleanimobj $01, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, $03, $12
|
||||
|
||||
; ANIM_OBJ_73
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, $02, $08
|
||||
|
||||
; ANIM_OBJ_74
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, $02, $1c
|
||||
|
||||
; ANIM_OBJ_75
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, $02, $15
|
||||
|
||||
; ANIM_OBJ_76
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, $02, $14
|
||||
|
||||
; ANIM_OBJ_77
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, $02, $11
|
||||
|
||||
; ANIM_OBJ_78
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, $02, $22
|
||||
|
||||
; ANIM_OBJ_79
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, $02, $22
|
||||
|
||||
; ANIM_OBJ_7A
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, $02, $1f
|
||||
|
||||
; ANIM_OBJ_7B
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, $03, $11
|
||||
|
||||
; ANIM_OBJ_7C
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, $03, $05
|
||||
|
||||
; ANIM_OBJ_7D
|
||||
battleanimobj $a1, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, $06, $13
|
||||
|
||||
; ANIM_OBJ_HEART
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, $04, $23
|
||||
|
||||
; ANIM_OBJ_7F
|
||||
battleanimobj $01, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, $04, $03
|
||||
|
||||
; ANIM_OBJ_80
|
||||
battleanimobj $01, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, $04, $03
|
||||
|
||||
; ANIM_OBJ_81
|
||||
battleanimobj $21, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_29, $02, $1f
|
||||
|
||||
; ANIM_OBJ_82
|
||||
battleanimobj $21, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, $02, $1f
|
||||
|
||||
; ANIM_OBJ_83
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, $02, $1f
|
||||
|
||||
; ANIM_OBJ_84
|
||||
battleanimobj $21, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, $03, $1f
|
||||
|
||||
; ANIM_OBJ_85
|
||||
battleanimobj $01, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, $02, $0e
|
||||
|
||||
; ANIM_OBJ_86
|
||||
battleanimobj $21, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, $04, $1f
|
||||
|
||||
; ANIM_OBJ_87
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, $02, $1f
|
||||
|
||||
; ANIM_OBJ_88
|
||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, $02, $1f
|
||||
|
||||
; ANIM_OBJ_89
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, $02, $1f
|
||||
|
||||
; ANIM_OBJ_8A
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, $03, $23
|
||||
|
||||
; ANIM_OBJ_8B
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, $02, $19
|
||||
|
||||
; ANIM_OBJ_8C
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, $02, $15
|
||||
|
||||
; ANIM_OBJ_8D
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19
|
||||
|
||||
; ANIM_OBJ_8E
|
||||
battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f
|
||||
|
||||
; ANIM_OBJ_8F
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, $02, $0a
|
||||
|
||||
; ANIM_OBJ_90
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, $04, $03
|
||||
|
||||
; ANIM_OBJ_91
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, $02, $08
|
||||
|
||||
; ANIM_OBJ_92
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, $02, $1b
|
||||
|
||||
; ANIM_OBJ_93
|
||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, $04, $23
|
||||
|
||||
; ANIM_OBJ_94
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, $02, $25
|
||||
|
||||
; ANIM_OBJ_95
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, $02, $25
|
||||
|
||||
; ANIM_OBJ_96
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, $02, $25
|
||||
|
||||
; ANIM_OBJ_97
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, $06, $25
|
||||
|
||||
; ANIM_OBJ_98
|
||||
battleanimobj $61, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, $05, $23
|
||||
|
||||
; ANIM_OBJ_99
|
||||
battleanimobj $21, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, $02, $23
|
||||
|
||||
; ANIM_OBJ_9A
|
||||
battleanimobj $21, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, $03, $23
|
||||
|
||||
; ANIM_OBJ_9B
|
||||
battleanimobj $21, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, $02, $25
|
||||
|
||||
; ANIM_OBJ_9C
|
||||
battleanimobj $21, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, $03, $24
|
||||
|
||||
; ANIM_OBJ_9D
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, $02, $24
|
||||
|
||||
; ANIM_OBJ_9E
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, $03, $24
|
||||
|
||||
; ANIM_OBJ_9F
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, $04, $12
|
||||
|
||||
; ANIM_OBJ_A0
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_A1
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, $02, $02
|
||||
|
||||
; ANIM_OBJ_A2
|
||||
battleanimobj $21, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, $07, $0f
|
||||
|
||||
; ANIM_OBJ_A3
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, $03, $05
|
||||
|
||||
; ANIM_OBJ_A4
|
||||
battleanimobj $21, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, $02, $25
|
||||
|
||||
; ANIM_OBJ_A5
|
||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23
|
||||
|
||||
; ANIM_OBJ_A6
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e
|
||||
|
||||
; ANIM_OBJ_A7
|
||||
battleanimobj $01, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, $02, $24
|
||||
|
||||
; ANIM_OBJ_A8
|
||||
battleanimobj $21, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, $02, $13
|
||||
|
||||
; ANIM_OBJ_A9
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, $02, $13
|
||||
|
||||
; ANIM_OBJ_AA
|
||||
battleanimobj $01, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01
|
||||
|
||||
; ANIM_OBJ_AB
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, $02, $0e
|
||||
|
||||
; ANIM_OBJ_AC
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, $06, $17
|
||||
|
||||
; ANIM_OBJ_AD
|
||||
battleanimobj $01, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, $02, $01
|
||||
|
||||
; ANIM_OBJ_AE
|
||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, $03, $11
|
||||
|
||||
; ANIM_OBJ_AF
|
||||
battleanimobj $21, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, $02, $04
|
||||
|
||||
; ANIM_OBJ_B0
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, $04, $1c
|
||||
|
||||
; ANIM_OBJ_B1
|
||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, $02, $19
|
||||
|
||||
; ANIM_OBJ_B2
|
||||
battleanimobj $01, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, $07, $09
|
||||
|
||||
; ANIM_OBJ_B3
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, $03, $27
|
||||
|
||||
; ANIM_OBJ_B4
|
||||
battleanimobj $61, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, $06, $15
|
||||
|
||||
; ANIM_OBJ_B5
|
||||
battleanimobj $21, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, $07, $09
|
||||
|
||||
; ANIM_OBJ_FLOWER
|
||||
battleanimobj $01, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, $04, $1e
|
||||
|
||||
; ANIM_OBJ_COTTON
|
||||
battleanimobj $01, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, $04, $1f
|
||||
|
||||
; ANIM_OBJ_B8
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, $00, $28
|
||||
|
||||
; ANIM_OBJ_B9
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, $01, $29
|
||||
|
||||
; ANIM_OBJ_BA
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, $00, $28
|
||||
|
||||
; ANIM_OBJ_BB
|
||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, $01, $29
|
||||
|
||||
; ccfbe
|
314
battle/objects/engine.asm
Executable file
314
battle/objects/engine.asm
Executable file
@ -0,0 +1,314 @@
|
||||
QueueBattleAnimation: ; cc9a1 (33:49a1)
|
||||
ld hl, ActiveAnimObjects
|
||||
ld e, 10
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .done
|
||||
ld bc, BATTLEANIMSTRUCT_LENGTH
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .loop
|
||||
scf
|
||||
ret
|
||||
|
||||
.done
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, wNumActiveBattleAnims
|
||||
inc [hl]
|
||||
call InitBattleAnimation
|
||||
ret
|
||||
|
||||
DeinitBattleAnimation: ; cc9bd
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
; cc9c4
|
||||
|
||||
InitBattleAnimation: ; cc9c4 (33:49c4)
|
||||
ld a, [wBattleAnimTemp0]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, BattleAnimObjects
|
||||
rept 6
|
||||
add hl, de
|
||||
endr
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld a, [wNumActiveBattleAnims]
|
||||
ld [hli], a ; Index
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; 01
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; 02
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; Frameset ID
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; Function
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; 05
|
||||
ld a, [de]
|
||||
call GetBattleAnimTileOffset
|
||||
ld [hli], a ; Tile ID
|
||||
ld a, [wBattleAnimTemp1]
|
||||
ld [hli], a ; X Coord
|
||||
ld a, [wBattleAnimTemp2]
|
||||
ld [hli], a ; Y Coord
|
||||
xor a
|
||||
ld [hli], a ; X Offset
|
||||
ld [hli], a ; Y Offset
|
||||
ld a, [wBattleAnimTemp3]
|
||||
ld [hli], a ; 0b
|
||||
xor a
|
||||
ld [hli], a ; 0c
|
||||
dec a
|
||||
ld [hli], a ; 0d
|
||||
xor a
|
||||
ld [hli], a ; 0e
|
||||
ld [hli], a ; 0f
|
||||
ld [hl], a ; 10
|
||||
ret
|
||||
|
||||
BattleAnimOAMUpdate: ; cca09
|
||||
call InitBattleAnimBuffer
|
||||
call GetBattleAnimFrame
|
||||
cp -3
|
||||
jp z, .done
|
||||
cp -4
|
||||
jp z, .delete
|
||||
push af
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
ld a, [wBattleAnimTemp7]
|
||||
xor [hl]
|
||||
and $e0
|
||||
ld [hl], a
|
||||
pop af
|
||||
push bc
|
||||
call GetBattleAnimOAMPointer
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add [hl]
|
||||
ld [wBattleAnimTempTileID], a
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [wBattleAnimOAMPointerLo]
|
||||
ld e, a
|
||||
ld d, Sprites / $100
|
||||
.loop
|
||||
ld a, [wBattleAnimTempYCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempYOffset]
|
||||
add b
|
||||
ld b, a
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit 6, [hl]
|
||||
jr z, .no_yflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
|
||||
.no_yflip
|
||||
pop hl
|
||||
add b
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempXCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempXOffset]
|
||||
add b
|
||||
ld b, a
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit 5, [hl]
|
||||
jr z, .no_xflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
|
||||
.no_xflip
|
||||
pop hl
|
||||
add b
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add $31
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempOAMFlags]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
xor b
|
||||
and $e0
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
and $10
|
||||
or b
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempPalette]
|
||||
and $f
|
||||
or b
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
ld a, e
|
||||
ld [wBattleAnimOAMPointerLo], a
|
||||
cp $a0
|
||||
jr nc, .exit_set_carry
|
||||
dec c
|
||||
jr nz, .loop
|
||||
pop bc
|
||||
jr .done
|
||||
|
||||
.delete
|
||||
call DeinitBattleAnimation
|
||||
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
|
||||
.exit_set_carry
|
||||
pop bc
|
||||
scf
|
||||
ret
|
||||
|
||||
; ccaaa
|
||||
|
||||
InitBattleAnimBuffer: ; ccaaa
|
||||
ld hl, BATTLEANIMSTRUCT_01
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and %10000000
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
xor a
|
||||
ld [wBattleAnimTemp7], a
|
||||
ld hl, BATTLEANIMSTRUCT_PALETTE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempPalette], a
|
||||
ld hl, BATTLEANIMSTRUCT_02
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTemp1], a
|
||||
ld hl, BATTLEANIMSTRUCT_TILEID
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempTileID], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYOffset], a
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
ret z
|
||||
ld hl, BATTLEANIMSTRUCT_01
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
bit 0, [hl]
|
||||
ret z
|
||||
ld hl, BATTLEANIMSTRUCT_XCOORD
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, (-10 * 8) + 4
|
||||
sub d
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, [wBattleAnimTemp1]
|
||||
cp $ff
|
||||
jr nz, .check_kinesis_softboiled_milkdrink
|
||||
ld a, 5 * 8
|
||||
add d
|
||||
jr .done
|
||||
|
||||
.check_kinesis_softboiled_milkdrink
|
||||
sub d
|
||||
push af
|
||||
ld a, [FXAnimIDHi]
|
||||
or a
|
||||
jr nz, .no_sub
|
||||
ld a, [FXAnimIDLo]
|
||||
cp KINESIS
|
||||
jr z, .kinesis
|
||||
cp SOFTBOILED
|
||||
jr z, .softboiled
|
||||
cp MILK_DRINK
|
||||
jr nz, .no_sub
|
||||
.kinesis
|
||||
.softboiled
|
||||
.milk_drink
|
||||
pop af
|
||||
sub 1 * 8
|
||||
jr .done
|
||||
|
||||
.no_sub
|
||||
pop af
|
||||
.done
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
xor $ff
|
||||
inc a
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ret
|
||||
|
||||
; ccb31
|
||||
|
||||
GetBattleAnimTileOffset: ; ccb31 (33:4b31)
|
||||
push hl
|
||||
push bc
|
||||
ld hl, wBattleAnimTileDict
|
||||
ld b, a
|
||||
ld c, 10 / 2
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr z, .load
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .loop
|
||||
xor a
|
||||
jr .done
|
||||
|
||||
.load
|
||||
ld a, [hl]
|
||||
.done
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
_ExecuteBGEffects: ; ccb48
|
||||
callab ExecuteBGEffects
|
||||
ret
|
||||
|
||||
; ccb4f
|
||||
|
||||
_QueueBGEffect: ; ccb4f (33:4b4f)
|
||||
callab QueueBGEffect
|
||||
ret
|
||||
|
||||
; ccb56 (33:4b56)
|
130
battle/objects/library.asm
Executable file
130
battle/objects/library.asm
Executable file
@ -0,0 +1,130 @@
|
||||
ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
|
||||
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], 0
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld [hl], -1
|
||||
ret
|
||||
|
||||
GetBattleAnimFrame: ; ce7d1
|
||||
.loop
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .next_frame
|
||||
dec [hl]
|
||||
call .GetPointer
|
||||
ld a, [hli]
|
||||
push af
|
||||
jr .okay
|
||||
|
||||
.next_frame
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
inc [hl]
|
||||
call .GetPointer
|
||||
ld a, [hli]
|
||||
cp -2
|
||||
jr z, .restart
|
||||
cp -1
|
||||
jr z, .repeat_last
|
||||
push af
|
||||
ld a, [hl]
|
||||
push hl
|
||||
and $3f
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop hl
|
||||
|
||||
.okay
|
||||
ld a, [hl]
|
||||
and $c0
|
||||
srl a
|
||||
ld [wBattleAnimTemp7], a
|
||||
pop af
|
||||
ret
|
||||
|
||||
.repeat_last
|
||||
xor a
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
dec [hl]
|
||||
dec [hl]
|
||||
jr .loop
|
||||
|
||||
.restart
|
||||
xor a
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
dec a
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
jr .loop
|
||||
|
||||
; ce823
|
||||
|
||||
.GetPointer: ; ce823
|
||||
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
ld hl, BattleAnimFrameData
|
||||
add hl, de
|
||||
add hl, de
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
ld hl, BATTLEANIMSTRUCT_FRAME
|
||||
add hl, bc
|
||||
ld l, [hl]
|
||||
ld h, $0
|
||||
add hl, hl
|
||||
add hl, de
|
||||
ret
|
||||
|
||||
; ce83c
|
||||
|
||||
GetBattleAnimOAMPointer: ; ce83c
|
||||
ld l, a
|
||||
ld h, 0
|
||||
ld de, BattleAnimOAMData
|
||||
add hl, hl
|
||||
add hl, hl
|
||||
add hl, de
|
||||
ret
|
||||
|
||||
; ce846
|
||||
|
||||
LoadBattleAnimObj: ; ce846 (33:6846)
|
||||
push hl
|
||||
ld l, a
|
||||
ld h, 0
|
||||
add hl, hl
|
||||
add hl, hl
|
||||
ld de, AnimObjGFX
|
||||
add hl, de
|
||||
ld c, [hl]
|
||||
inc hl
|
||||
ld b, [hl]
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
pop de
|
||||
push bc
|
||||
call DecompressRequest2bpp
|
||||
pop bc
|
||||
ret
|
||||
|
||||
; ce85e (33:685e)
|
@ -1,9 +1,3 @@
|
||||
wPlaceBallsDirection EQU $d003
|
||||
wTrainerHUDTiles EQU $d004
|
||||
wPlaceBallsX EQU $cfc4
|
||||
wPlaceBallsY EQU $cfc5
|
||||
GLOBAL wPlaceBallsDirection, wTrainerHUDTiles, wPlaceBallsX, wPlaceBallsY
|
||||
|
||||
BattleStart_TrainerHuds: ; 2c000
|
||||
ld a, $e4
|
||||
ld [rOBP0], a
|
||||
|
@ -1,9 +1,5 @@
|
||||
INCLUDE "includes.asm"
|
||||
|
||||
wCreditsBorderFrame EQU $cf64
|
||||
wCreditsBorderMon EQU $cf65
|
||||
wCreditsLYOverride EQU $cf66
|
||||
|
||||
SECTION "Credits", ROMX, BANK[CREDITS]
|
||||
|
||||
const_def
|
||||
|
@ -1,6 +1,3 @@
|
||||
wCurrPocket EQU $cf65
|
||||
|
||||
|
||||
Pack: ; 10000
|
||||
ld hl, Options
|
||||
set NO_TEXT_SCROLL, [hl]
|
||||
|
13
wram.asm
13
wram.asm
@ -1532,14 +1532,18 @@ wMomBankDigitCursorPosition::
|
||||
wIntroSceneFrameCounter::
|
||||
wHoldingUnownPuzzlePiece::
|
||||
wCardFlipCursorY::
|
||||
wCreditsBorderFrame::
|
||||
wcf64:: ds 1
|
||||
IF !DEF(CRYSTAL11)
|
||||
wPokedexStatus::
|
||||
ENDC
|
||||
wCreditsBorderMon::
|
||||
wTitleScreenTimerLo::
|
||||
wUnownPuzzleCursorPosition::
|
||||
wCardFlipCursorX::
|
||||
wCurrPocket::
|
||||
wcf65:: ds 1
|
||||
wCreditsLYOverride::
|
||||
wTitleScreenTimerHi::
|
||||
wUnownPuzzleHeldPiece::
|
||||
wCardFlipWhichCard::
|
||||
@ -1679,8 +1683,11 @@ FXAnimID::
|
||||
FXAnimIDLo:: ; cfc2
|
||||
ds 1
|
||||
FXAnimIDHi:: ; cfc3
|
||||
ds 3
|
||||
|
||||
ds 1
|
||||
wPlaceBallsX:: ; cfc4
|
||||
ds 1
|
||||
wPlaceBallsY:: ; cfc5
|
||||
ds 1
|
||||
TileAnimationTimer:: ; cfc6
|
||||
ds 1
|
||||
|
||||
@ -1795,11 +1802,13 @@ LuckyNumberDigit2Buffer::
|
||||
PhoneCallerLo::
|
||||
wNextRadioLine::
|
||||
wMovementBufferPerson::
|
||||
wPlaceBallsDirection::
|
||||
ds 1
|
||||
wd004::
|
||||
LuckyNumberDigit3Buffer::
|
||||
PhoneCallerHi::
|
||||
wRadioTextDelay::
|
||||
wTrainerHUDTiles::
|
||||
ds 1
|
||||
wd005::
|
||||
LuckyNumberDigit4Buffer::
|
||||
|
Loading…
x
Reference in New Issue
Block a user